From 48cb07c9096250374d8d9288452195cd9b90ce16 Mon Sep 17 00:00:00 2001 From: Craig Tiller Date: Wed, 15 Jul 2015 16:16:15 -0700 Subject: Client connectivity API Initial plumbing work; needs tests and more client_channel implementation. --- tools/doxygen/Doxyfile.core.internal | 1 + 1 file changed, 1 insertion(+) (limited to 'tools/doxygen') diff --git a/tools/doxygen/Doxyfile.core.internal b/tools/doxygen/Doxyfile.core.internal index a658f1af82..a0c9bf36bb 100644 --- a/tools/doxygen/Doxyfile.core.internal +++ b/tools/doxygen/Doxyfile.core.internal @@ -975,6 +975,7 @@ src/core/surface/call.c \ src/core/surface/call_details.c \ src/core/surface/call_log_batch.c \ src/core/surface/channel.c \ +src/core/surface/channel_connectivity.c \ src/core/surface/channel_create.c \ src/core/surface/completion_queue.c \ src/core/surface/event_string.c \ -- cgit v1.2.3 From 635899d0624e5e304d79bf7f02027f9d040cbfaa Mon Sep 17 00:00:00 2001 From: Alistair Veitch Date: Fri, 17 Jul 2015 16:02:24 -0700 Subject: rebuild makefile --- BUILD | 6 ++++++ Makefile | 2 ++ gRPC.podspec | 7 +++++-- tools/doxygen/Doxyfile.core.internal | 2 ++ tools/run_tests/sources_and_headers.json | 6 ++++++ vsprojects/grpc/grpc.vcxproj | 3 +++ vsprojects/grpc/grpc.vcxproj.filters | 6 ++++++ vsprojects/grpc_unsecure/grpc_unsecure.vcxproj | 3 +++ vsprojects/grpc_unsecure/grpc_unsecure.vcxproj.filters | 6 ++++++ 9 files changed, 39 insertions(+), 2 deletions(-) (limited to 'tools/doxygen') diff --git a/BUILD b/BUILD index d75bd4205f..bdcef1e20b 100644 --- a/BUILD +++ b/BUILD @@ -243,6 +243,7 @@ cc_library( "src/core/transport/transport.h", "src/core/transport/transport_impl.h", "src/core/census/context.h", + "src/core/census/resource_id.h", "src/core/httpcli/format_request.c", "src/core/httpcli/httpcli.c", "src/core/httpcli/httpcli_security_connector.c", @@ -377,6 +378,7 @@ cc_library( "src/core/transport/transport_op_string.c", "src/core/census/context.c", "src/core/census/initialize.c", + "src/core/census/record_stat.c", ], hdrs = [ "include/grpc/grpc_security.h", @@ -497,6 +499,7 @@ cc_library( "src/core/transport/transport.h", "src/core/transport/transport_impl.h", "src/core/census/context.h", + "src/core/census/resource_id.h", "src/core/surface/init_unsecure.c", "src/core/census/grpc_context.c", "src/core/channel/channel_args.c", @@ -608,6 +611,7 @@ cc_library( "src/core/transport/transport_op_string.c", "src/core/census/context.c", "src/core/census/initialize.c", + "src/core/census/record_stat.c", ], hdrs = [ "include/grpc/byte_buffer.h", @@ -1080,6 +1084,7 @@ objc_library( "src/core/transport/transport_op_string.c", "src/core/census/context.c", "src/core/census/initialize.c", + "src/core/census/record_stat.c", ], hdrs = [ "include/grpc/grpc_security.h", @@ -1202,6 +1207,7 @@ objc_library( "src/core/transport/transport.h", "src/core/transport/transport_impl.h", "src/core/census/context.h", + "src/core/census/resource_id.h", ], includes = [ "include", diff --git a/Makefile b/Makefile index 57ab6fed15..c7afefd07d 100644 --- a/Makefile +++ b/Makefile @@ -3375,6 +3375,7 @@ LIBGRPC_SRC = \ src/core/transport/transport_op_string.c \ src/core/census/context.c \ src/core/census/initialize.c \ + src/core/census/record_stat.c \ PUBLIC_HEADERS_C += \ include/grpc/grpc_security.h \ @@ -3636,6 +3637,7 @@ LIBGRPC_UNSECURE_SRC = \ src/core/transport/transport_op_string.c \ src/core/census/context.c \ src/core/census/initialize.c \ + src/core/census/record_stat.c \ PUBLIC_HEADERS_C += \ include/grpc/byte_buffer.h \ diff --git a/gRPC.podspec b/gRPC.podspec index f678819b96..5d2459b289 100644 --- a/gRPC.podspec +++ b/gRPC.podspec @@ -245,6 +245,7 @@ Pod::Spec.new do |s| 'src/core/transport/transport.h', 'src/core/transport/transport_impl.h', 'src/core/census/context.h', + 'src/core/census/resource_id.h', 'grpc/grpc_security.h', 'grpc/byte_buffer.h', 'grpc/byte_buffer_reader.h', @@ -385,7 +386,8 @@ Pod::Spec.new do |s| 'src/core/transport/transport.c', 'src/core/transport/transport_op_string.c', 'src/core/census/context.c', - 'src/core/census/initialize.c' + 'src/core/census/initialize.c', + 'src/core/census/record_stat.c' ss.private_header_files = 'src/core/support/env.h', 'src/core/support/file.h', @@ -505,7 +507,8 @@ Pod::Spec.new do |s| 'src/core/transport/stream_op.h', 'src/core/transport/transport.h', 'src/core/transport/transport_impl.h', - 'src/core/census/context.h' + 'src/core/census/context.h', + 'src/core/census/resource_id.h' ss.header_mappings_dir = '.' diff --git a/tools/doxygen/Doxyfile.core.internal b/tools/doxygen/Doxyfile.core.internal index f11df21388..dd65c6cdbd 100644 --- a/tools/doxygen/Doxyfile.core.internal +++ b/tools/doxygen/Doxyfile.core.internal @@ -880,6 +880,7 @@ src/core/transport/stream_op.h \ src/core/transport/transport.h \ src/core/transport/transport_impl.h \ src/core/census/context.h \ +src/core/census/resource_id.h \ src/core/httpcli/format_request.c \ src/core/httpcli/httpcli.c \ src/core/httpcli/httpcli_security_connector.c \ @@ -1014,6 +1015,7 @@ src/core/transport/transport.c \ src/core/transport/transport_op_string.c \ src/core/census/context.c \ src/core/census/initialize.c \ +src/core/census/record_stat.c \ include/grpc/support/alloc.h \ include/grpc/support/atm.h \ include/grpc/support/atm_gcc_atomic.h \ diff --git a/tools/run_tests/sources_and_headers.json b/tools/run_tests/sources_and_headers.json index 0493e06f58..07fb85d9d0 100644 --- a/tools/run_tests/sources_and_headers.json +++ b/tools/run_tests/sources_and_headers.json @@ -8716,6 +8716,7 @@ "include/grpc/status.h", "src/core/census/context.h", "src/core/census/grpc_context.h", + "src/core/census/resource_id.h", "src/core/channel/census_filter.h", "src/core/channel/channel_args.h", "src/core/channel/channel_stack.h", @@ -8843,6 +8844,8 @@ "src/core/census/grpc_context.c", "src/core/census/grpc_context.h", "src/core/census/initialize.c", + "src/core/census/record_stat.c", + "src/core/census/resource_id.h", "src/core/channel/census_filter.h", "src/core/channel/channel_args.c", "src/core/channel/channel_args.h", @@ -9169,6 +9172,7 @@ "include/grpc/status.h", "src/core/census/context.h", "src/core/census/grpc_context.h", + "src/core/census/resource_id.h", "src/core/channel/census_filter.h", "src/core/channel/channel_args.h", "src/core/channel/channel_stack.h", @@ -9278,6 +9282,8 @@ "src/core/census/grpc_context.c", "src/core/census/grpc_context.h", "src/core/census/initialize.c", + "src/core/census/record_stat.c", + "src/core/census/resource_id.h", "src/core/channel/census_filter.h", "src/core/channel/channel_args.c", "src/core/channel/channel_args.h", diff --git a/vsprojects/grpc/grpc.vcxproj b/vsprojects/grpc/grpc.vcxproj index 16744b181b..679bc33754 100644 --- a/vsprojects/grpc/grpc.vcxproj +++ b/vsprojects/grpc/grpc.vcxproj @@ -269,6 +269,7 @@ + @@ -539,6 +540,8 @@ + + diff --git a/vsprojects/grpc/grpc.vcxproj.filters b/vsprojects/grpc/grpc.vcxproj.filters index de9f20521c..d139a2e330 100644 --- a/vsprojects/grpc/grpc.vcxproj.filters +++ b/vsprojects/grpc/grpc.vcxproj.filters @@ -403,6 +403,9 @@ src\core\census + + src\core\census + @@ -767,6 +770,9 @@ src\core\census + + src\core\census + diff --git a/vsprojects/grpc_unsecure/grpc_unsecure.vcxproj b/vsprojects/grpc_unsecure/grpc_unsecure.vcxproj index 02c791f995..4cea37e7aa 100644 --- a/vsprojects/grpc_unsecure/grpc_unsecure.vcxproj +++ b/vsprojects/grpc_unsecure/grpc_unsecure.vcxproj @@ -250,6 +250,7 @@ + @@ -474,6 +475,8 @@ + + diff --git a/vsprojects/grpc_unsecure/grpc_unsecure.vcxproj.filters b/vsprojects/grpc_unsecure/grpc_unsecure.vcxproj.filters index 333a71f564..e51f0e7c50 100644 --- a/vsprojects/grpc_unsecure/grpc_unsecure.vcxproj.filters +++ b/vsprojects/grpc_unsecure/grpc_unsecure.vcxproj.filters @@ -334,6 +334,9 @@ src\core\census + + src\core\census + @@ -644,6 +647,9 @@ src\core\census + + src\core\census + -- cgit v1.2.3 From 698d00c60e91ebf8acf993cf6602d74c0032b5dc Mon Sep 17 00:00:00 2001 From: Craig Tiller Date: Mon, 20 Jul 2015 12:32:58 -0700 Subject: Add ipv4:, ipv6: schemes --- BUILD | 12 +- Makefile | 4 +- build.json | 4 +- gRPC.podspec | 6 +- include/grpc/support/host_port.h | 6 +- src/core/client_config/README.md | 4 + .../client_config/resolvers/sockaddr_resolver.c | 297 +++++++++++++++++++++ .../client_config/resolvers/sockaddr_resolver.h | 50 ++++ .../client_config/resolvers/unix_resolver_posix.c | 195 -------------- .../client_config/resolvers/unix_resolver_posix.h | 44 --- src/core/support/host_port.c | 10 +- src/core/surface/init.c | 7 +- test/core/end2end/dualstack_socket_test.c | 18 +- tools/doxygen/Doxyfile.core.internal | 4 +- tools/run_tests/sources_and_headers.json | 12 +- vsprojects/grpc/grpc.vcxproj | 4 +- vsprojects/grpc/grpc.vcxproj.filters | 4 +- vsprojects/grpc_unsecure/grpc_unsecure.vcxproj | 4 +- .../grpc_unsecure/grpc_unsecure.vcxproj.filters | 4 +- 19 files changed, 410 insertions(+), 279 deletions(-) create mode 100644 src/core/client_config/resolvers/sockaddr_resolver.c create mode 100644 src/core/client_config/resolvers/sockaddr_resolver.h delete mode 100644 src/core/client_config/resolvers/unix_resolver_posix.c delete mode 100644 src/core/client_config/resolvers/unix_resolver_posix.h (limited to 'tools/doxygen') diff --git a/BUILD b/BUILD index e116d4584b..fefb1d9544 100644 --- a/BUILD +++ b/BUILD @@ -168,7 +168,7 @@ cc_library( "src/core/client_config/resolver_factory.h", "src/core/client_config/resolver_registry.h", "src/core/client_config/resolvers/dns_resolver.h", - "src/core/client_config/resolvers/unix_resolver_posix.h", + "src/core/client_config/resolvers/sockaddr_resolver.h", "src/core/client_config/subchannel.h", "src/core/client_config/subchannel_factory.h", "src/core/client_config/uri_parser.h", @@ -287,7 +287,7 @@ cc_library( "src/core/client_config/resolver_factory.c", "src/core/client_config/resolver_registry.c", "src/core/client_config/resolvers/dns_resolver.c", - "src/core/client_config/resolvers/unix_resolver_posix.c", + "src/core/client_config/resolvers/sockaddr_resolver.c", "src/core/client_config/subchannel.c", "src/core/client_config/subchannel_factory.c", "src/core/client_config/uri_parser.c", @@ -424,7 +424,7 @@ cc_library( "src/core/client_config/resolver_factory.h", "src/core/client_config/resolver_registry.h", "src/core/client_config/resolvers/dns_resolver.h", - "src/core/client_config/resolvers/unix_resolver_posix.h", + "src/core/client_config/resolvers/sockaddr_resolver.h", "src/core/client_config/subchannel.h", "src/core/client_config/subchannel_factory.h", "src/core/client_config/uri_parser.h", @@ -520,7 +520,7 @@ cc_library( "src/core/client_config/resolver_factory.c", "src/core/client_config/resolver_registry.c", "src/core/client_config/resolvers/dns_resolver.c", - "src/core/client_config/resolvers/unix_resolver_posix.c", + "src/core/client_config/resolvers/sockaddr_resolver.c", "src/core/client_config/subchannel.c", "src/core/client_config/subchannel_factory.c", "src/core/client_config/uri_parser.c", @@ -998,7 +998,7 @@ objc_library( "src/core/client_config/resolver_factory.c", "src/core/client_config/resolver_registry.c", "src/core/client_config/resolvers/dns_resolver.c", - "src/core/client_config/resolvers/unix_resolver_posix.c", + "src/core/client_config/resolvers/sockaddr_resolver.c", "src/core/client_config/subchannel.c", "src/core/client_config/subchannel_factory.c", "src/core/client_config/uri_parser.c", @@ -1137,7 +1137,7 @@ objc_library( "src/core/client_config/resolver_factory.h", "src/core/client_config/resolver_registry.h", "src/core/client_config/resolvers/dns_resolver.h", - "src/core/client_config/resolvers/unix_resolver_posix.h", + "src/core/client_config/resolvers/sockaddr_resolver.h", "src/core/client_config/subchannel.h", "src/core/client_config/subchannel_factory.h", "src/core/client_config/uri_parser.h", diff --git a/Makefile b/Makefile index 4756b75fdf..5117cbbc31 100644 --- a/Makefile +++ b/Makefile @@ -3517,7 +3517,7 @@ LIBGRPC_SRC = \ src/core/client_config/resolver_factory.c \ src/core/client_config/resolver_registry.c \ src/core/client_config/resolvers/dns_resolver.c \ - src/core/client_config/resolvers/unix_resolver_posix.c \ + src/core/client_config/resolvers/sockaddr_resolver.c \ src/core/client_config/subchannel.c \ src/core/client_config/subchannel_factory.c \ src/core/client_config/uri_parser.c \ @@ -3781,7 +3781,7 @@ LIBGRPC_UNSECURE_SRC = \ src/core/client_config/resolver_factory.c \ src/core/client_config/resolver_registry.c \ src/core/client_config/resolvers/dns_resolver.c \ - src/core/client_config/resolvers/unix_resolver_posix.c \ + src/core/client_config/resolvers/sockaddr_resolver.c \ src/core/client_config/subchannel.c \ src/core/client_config/subchannel_factory.c \ src/core/client_config/uri_parser.c \ diff --git a/build.json b/build.json index 2755703e1c..783fa800e9 100644 --- a/build.json +++ b/build.json @@ -129,7 +129,7 @@ "src/core/client_config/resolver_factory.h", "src/core/client_config/resolver_registry.h", "src/core/client_config/resolvers/dns_resolver.h", - "src/core/client_config/resolvers/unix_resolver_posix.h", + "src/core/client_config/resolvers/sockaddr_resolver.h", "src/core/client_config/subchannel.h", "src/core/client_config/subchannel_factory.h", "src/core/client_config/uri_parser.h", @@ -225,7 +225,7 @@ "src/core/client_config/resolver_factory.c", "src/core/client_config/resolver_registry.c", "src/core/client_config/resolvers/dns_resolver.c", - "src/core/client_config/resolvers/unix_resolver_posix.c", + "src/core/client_config/resolvers/sockaddr_resolver.c", "src/core/client_config/subchannel.c", "src/core/client_config/subchannel_factory.c", "src/core/client_config/uri_parser.c", diff --git a/gRPC.podspec b/gRPC.podspec index 28d9ac4c53..56e6628831 100644 --- a/gRPC.podspec +++ b/gRPC.podspec @@ -170,7 +170,7 @@ Pod::Spec.new do |s| 'src/core/client_config/resolver_factory.h', 'src/core/client_config/resolver_registry.h', 'src/core/client_config/resolvers/dns_resolver.h', - 'src/core/client_config/resolvers/unix_resolver_posix.h', + 'src/core/client_config/resolvers/sockaddr_resolver.h', 'src/core/client_config/subchannel.h', 'src/core/client_config/subchannel_factory.h', 'src/core/client_config/uri_parser.h', @@ -296,7 +296,7 @@ Pod::Spec.new do |s| 'src/core/client_config/resolver_factory.c', 'src/core/client_config/resolver_registry.c', 'src/core/client_config/resolvers/dns_resolver.c', - 'src/core/client_config/resolvers/unix_resolver_posix.c', + 'src/core/client_config/resolvers/sockaddr_resolver.c', 'src/core/client_config/subchannel.c', 'src/core/client_config/subchannel_factory.c', 'src/core/client_config/uri_parser.c', @@ -434,7 +434,7 @@ Pod::Spec.new do |s| 'src/core/client_config/resolver_factory.h', 'src/core/client_config/resolver_registry.h', 'src/core/client_config/resolvers/dns_resolver.h', - 'src/core/client_config/resolvers/unix_resolver_posix.h', + 'src/core/client_config/resolvers/sockaddr_resolver.h', 'src/core/client_config/subchannel.h', 'src/core/client_config/subchannel_factory.h', 'src/core/client_config/uri_parser.h', diff --git a/include/grpc/support/host_port.h b/include/grpc/support/host_port.h index 3cc2f498e8..30267ab1df 100644 --- a/include/grpc/support/host_port.h +++ b/include/grpc/support/host_port.h @@ -52,8 +52,10 @@ int gpr_join_host_port(char **out, const char *host, int port); /* Given a name in the form "host:port" or "[ho:st]:port", split into hostname and port number, into newly allocated strings, which must later be - destroyed using gpr_free(). */ -void gpr_split_host_port(const char *name, char **host, char **port); + destroyed using gpr_free(). + Return 1 on success, 0 on failure. Guarantees *host and *port == NULL on + failure. */ +int gpr_split_host_port(const char *name, char **host, char **port); #ifdef __cplusplus } diff --git a/src/core/client_config/README.md b/src/core/client_config/README.md index d0700cfb13..fff7a5af5b 100644 --- a/src/core/client_config/README.md +++ b/src/core/client_config/README.md @@ -60,3 +60,7 @@ unix:path - the unix scheme is used to create and connect to unix domain sockets - the authority must be empty, and the path represents the absolute or relative path to the desired socket + +ipv4:host:port - a pre-resolved ipv4 dotted decimal address/port combination + +ipv6:[host]:port - a pre-resolved ipv6 address/port combination diff --git a/src/core/client_config/resolvers/sockaddr_resolver.c b/src/core/client_config/resolvers/sockaddr_resolver.c new file mode 100644 index 0000000000..d42f8b1798 --- /dev/null +++ b/src/core/client_config/resolvers/sockaddr_resolver.c @@ -0,0 +1,297 @@ +/* + * + * Copyright 2015, Google Inc. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following disclaimer + * in the documentation and/or other materials provided with the + * distribution. + * * Neither the name of Google Inc. nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + */ + +#include + +#include "src/core/client_config/resolvers/sockaddr_resolver.h" + +#include +#include +#include + +#include +#include +#include + +#include "src/core/client_config/lb_policies/pick_first.h" +#include "src/core/iomgr/resolve_address.h" +#include "src/core/support/string.h" + +typedef struct { + /** base class: must be first */ + grpc_resolver base; + /** refcount */ + gpr_refcount refs; + /** subchannel factory */ + grpc_subchannel_factory *subchannel_factory; + /** load balancing policy factory */ + grpc_lb_policy *(*lb_policy_factory)(grpc_subchannel **subchannels, + size_t num_subchannels); + + /** the address that we've 'resolved' */ + struct sockaddr_storage addr; + int addr_len; + + /** mutex guarding the rest of the state */ + gpr_mu mu; + /** have we published? */ + int published; + /** pending next completion, or NULL */ + grpc_iomgr_closure *next_completion; + /** target config address for next completion */ + grpc_client_config **target_config; +} sockaddr_resolver; + +static void sockaddr_destroy(grpc_resolver *r); + +static void sockaddr_maybe_finish_next_locked(sockaddr_resolver *r); + +static void sockaddr_shutdown(grpc_resolver *r); +static void sockaddr_channel_saw_error(grpc_resolver *r, + struct sockaddr *failing_address, + int failing_address_len); +static void sockaddr_next(grpc_resolver *r, grpc_client_config **target_config, + grpc_iomgr_closure *on_complete); + +static const grpc_resolver_vtable sockaddr_resolver_vtable = { + sockaddr_destroy, sockaddr_shutdown, sockaddr_channel_saw_error, + sockaddr_next}; + +static void sockaddr_shutdown(grpc_resolver *resolver) { + sockaddr_resolver *r = (sockaddr_resolver *)resolver; + gpr_mu_lock(&r->mu); + if (r->next_completion != NULL) { + *r->target_config = NULL; + /* TODO(ctiller): add delayed callback */ + grpc_iomgr_add_callback(r->next_completion); + r->next_completion = NULL; + } + gpr_mu_unlock(&r->mu); +} + +static void sockaddr_channel_saw_error(grpc_resolver *resolver, + struct sockaddr *sa, int len) {} + +static void sockaddr_next(grpc_resolver *resolver, + grpc_client_config **target_config, + grpc_iomgr_closure *on_complete) { + sockaddr_resolver *r = (sockaddr_resolver *)resolver; + gpr_mu_lock(&r->mu); + GPR_ASSERT(!r->next_completion); + r->next_completion = on_complete; + r->target_config = target_config; + sockaddr_maybe_finish_next_locked(r); + gpr_mu_unlock(&r->mu); +} + +static void sockaddr_maybe_finish_next_locked(sockaddr_resolver *r) { + grpc_client_config *cfg; + grpc_lb_policy *lb_policy; + grpc_subchannel *subchannel; + grpc_subchannel_args args; + + if (r->next_completion != NULL && !r->published) { + cfg = grpc_client_config_create(); + memset(&args, 0, sizeof(args)); + args.addr = (struct sockaddr *)&r->addr; + args.addr_len = r->addr_len; + subchannel = + grpc_subchannel_factory_create_subchannel(r->subchannel_factory, &args); + lb_policy = r->lb_policy_factory(&subchannel, 1); + grpc_client_config_set_lb_policy(cfg, lb_policy); + GRPC_LB_POLICY_UNREF(lb_policy, "unix"); + r->published = 1; + *r->target_config = cfg; + grpc_iomgr_add_callback(r->next_completion); + r->next_completion = NULL; + } +} + +static void sockaddr_destroy(grpc_resolver *gr) { + sockaddr_resolver *r = (sockaddr_resolver *)gr; + gpr_mu_destroy(&r->mu); + grpc_subchannel_factory_unref(r->subchannel_factory); + gpr_free(r); +} + +#ifdef GPR_POSIX_SOCKET +static int parse_unix(grpc_uri *uri, struct sockaddr_storage *addr, int *len) { + struct sockaddr_un *un = (struct sockaddr_un *)addr; + + un->sun_family = AF_UNIX; + strcpy(un->sun_path, uri->path); + *len = strlen(un->sun_path) + sizeof(un->sun_family) + 1; + + return 1; +} +#endif + +static int parse_ipv4(grpc_uri *uri, struct sockaddr_storage *addr, int *len) { + const char *host_port = uri->path; + char *host; + char *port; + int port_num; + int result = 0; + struct sockaddr_in *in = (struct sockaddr_in *)addr; + + if (*host_port == '/') ++host_port; + if (!gpr_split_host_port(host_port, &host, &port)) { + return 0; + } + + memset(in, 0, sizeof(*in)); + *len = sizeof(*in); + in->sin_family = AF_INET; + if (inet_aton(host, &in->sin_addr) == 0) { + gpr_log(GPR_ERROR, "invalid ipv4 address: '%s'", host); + goto done; + } + + if (port != NULL) { + if (sscanf(port, "%d", &port_num) != 1 || port_num < 0 || + port_num > 65535) { + gpr_log(GPR_ERROR, "invalid ipv4 port: '%s'", port); + goto done; + } + in->sin_port = htons(port_num); + } else { + gpr_log(GPR_ERROR, "no port given for ipv4 scheme"); + goto done; + } + + result = 1; +done: + gpr_free(host); + gpr_free(port); + return result; +} + +static int parse_ipv6(grpc_uri *uri, struct sockaddr_storage *addr, int *len) { + const char *host_port = uri->path; + char *host; + char *port; + int port_num; + int result = 0; + struct sockaddr_in6 *in6 = (struct sockaddr_in6 *)addr; + + if (*host_port == '/') ++host_port; + if (!gpr_split_host_port(host_port, &host, &port)) { + return 0; + } + + memset(in6, 0, sizeof(*in6)); + *len = sizeof(*in6); + in6->sin6_family = AF_INET6; + if (inet_pton(AF_INET6, host, &in6->sin6_addr) == 0) { + gpr_log(GPR_ERROR, "invalid ipv6 address: '%s'", host); + goto done; + } + + if (port != NULL) { + if (sscanf(port, "%d", &port_num) != 1 || port_num < 0 || + port_num > 65535) { + gpr_log(GPR_ERROR, "invalid ipv6 port: '%s'", port); + goto done; + } + in6->sin6_port = htons(port_num); + } else { + gpr_log(GPR_ERROR, "no port given for ipv6 scheme"); + goto done; + } + + result = 1; +done: + gpr_free(host); + gpr_free(port); + return result; +} + +static grpc_resolver *sockaddr_create( + grpc_uri *uri, + grpc_lb_policy *(*lb_policy_factory)(grpc_subchannel **subchannels, + size_t num_subchannels), + grpc_subchannel_factory *subchannel_factory, + int parse(grpc_uri *uri, struct sockaddr_storage *dst, int *len)) { + sockaddr_resolver *r; + + if (0 != strcmp(uri->authority, "")) { + gpr_log(GPR_ERROR, "authority based uri's not supported"); + return NULL; + } + + r = gpr_malloc(sizeof(sockaddr_resolver)); + memset(r, 0, sizeof(*r)); + if (!parse(uri, &r->addr, &r->addr_len)) { + gpr_free(r); + return NULL; + } + + gpr_ref_init(&r->refs, 1); + gpr_mu_init(&r->mu); + grpc_resolver_init(&r->base, &sockaddr_resolver_vtable); + r->subchannel_factory = subchannel_factory; + r->lb_policy_factory = lb_policy_factory; + + grpc_subchannel_factory_ref(subchannel_factory); + return &r->base; +} + +/* + * FACTORY + */ + +static void sockaddr_factory_ref(grpc_resolver_factory *factory) {} + +static void sockaddr_factory_unref(grpc_resolver_factory *factory) {} + +#define DECL_FACTORY(name) \ + static grpc_resolver *name##_factory_create_resolver( \ + grpc_resolver_factory *factory, grpc_uri *uri, \ + grpc_subchannel_factory *subchannel_factory) { \ + return sockaddr_create(uri, grpc_create_pick_first_lb_policy, \ + subchannel_factory, parse_##name); \ + } \ + static const grpc_resolver_factory_vtable name##_factory_vtable = { \ + sockaddr_factory_ref, sockaddr_factory_unref, \ + name##_factory_create_resolver}; \ + static grpc_resolver_factory name##_resolver_factory = { \ + &name##_factory_vtable}; \ + grpc_resolver_factory *grpc_##name##_resolver_factory_create() { \ + return &name##_resolver_factory; \ + } + +#ifdef GPR_POSIX_SOCKET +DECL_FACTORY(unix) +#endif +DECL_FACTORY(ipv4) +DECL_FACTORY(ipv6) diff --git a/src/core/client_config/resolvers/sockaddr_resolver.h b/src/core/client_config/resolvers/sockaddr_resolver.h new file mode 100644 index 0000000000..1b7a18f9c2 --- /dev/null +++ b/src/core/client_config/resolvers/sockaddr_resolver.h @@ -0,0 +1,50 @@ +/* + * + * Copyright 2015, Google Inc. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following disclaimer + * in the documentation and/or other materials provided with the + * distribution. + * * Neither the name of Google Inc. nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + */ + +#ifndef GRPC_INTERNAL_CORE_CLIENT_CONFIG_RESOLVERS_UNIX_RESOLVER_H +#define GRPC_INTERNAL_CORE_CLIENT_CONFIG_RESOLVERS_UNIX_RESOLVER_H + +#include + +#include "src/core/client_config/resolver_factory.h" + +grpc_resolver_factory *grpc_ipv4_resolver_factory_create(void); + +grpc_resolver_factory *grpc_ipv6_resolver_factory_create(void); + +#ifdef GPR_POSIX_SOCKET +/** Create a unix resolver factory */ +grpc_resolver_factory *grpc_unix_resolver_factory_create(void); +#endif + +#endif /* GRPC_INTERNAL_CORE_CLIENT_CONFIG_RESOLVERS_UNIX_RESOLVER_H */ diff --git a/src/core/client_config/resolvers/unix_resolver_posix.c b/src/core/client_config/resolvers/unix_resolver_posix.c deleted file mode 100644 index be515d2689..0000000000 --- a/src/core/client_config/resolvers/unix_resolver_posix.c +++ /dev/null @@ -1,195 +0,0 @@ -/* - * - * Copyright 2015, Google Inc. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are - * met: - * - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above - * copyright notice, this list of conditions and the following disclaimer - * in the documentation and/or other materials provided with the - * distribution. - * * Neither the name of Google Inc. nor the names of its - * contributors may be used to endorse or promote products derived from - * this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - */ - -#include -#ifdef GPR_POSIX_SOCKET - -#include "src/core/client_config/resolvers/unix_resolver_posix.h" - -#include -#include - -#include -#include - -#include "src/core/client_config/lb_policies/pick_first.h" -#include "src/core/iomgr/resolve_address.h" -#include "src/core/support/string.h" - -typedef struct { - /** base class: must be first */ - grpc_resolver base; - /** refcount */ - gpr_refcount refs; - /** subchannel factory */ - grpc_subchannel_factory *subchannel_factory; - /** load balancing policy factory */ - grpc_lb_policy *(*lb_policy_factory)(grpc_subchannel **subchannels, - size_t num_subchannels); - - /** the address that we've 'resolved' */ - struct sockaddr_un addr; - int addr_len; - - /** mutex guarding the rest of the state */ - gpr_mu mu; - /** have we published? */ - int published; - /** pending next completion, or NULL */ - grpc_iomgr_closure *next_completion; - /** target config address for next completion */ - grpc_client_config **target_config; -} unix_resolver; - -static void unix_destroy(grpc_resolver *r); - -static void unix_maybe_finish_next_locked(unix_resolver *r); - -static void unix_shutdown(grpc_resolver *r); -static void unix_channel_saw_error(grpc_resolver *r, - struct sockaddr *failing_address, - int failing_address_len); -static void unix_next(grpc_resolver *r, grpc_client_config **target_config, - grpc_iomgr_closure *on_complete); - -static const grpc_resolver_vtable unix_resolver_vtable = { - unix_destroy, unix_shutdown, unix_channel_saw_error, unix_next}; - -static void unix_shutdown(grpc_resolver *resolver) { - unix_resolver *r = (unix_resolver *)resolver; - gpr_mu_lock(&r->mu); - if (r->next_completion != NULL) { - *r->target_config = NULL; - /* TODO(ctiller): add delayed callback */ - grpc_iomgr_add_callback(r->next_completion); - r->next_completion = NULL; - } - gpr_mu_unlock(&r->mu); -} - -static void unix_channel_saw_error(grpc_resolver *resolver, struct sockaddr *sa, - int len) {} - -static void unix_next(grpc_resolver *resolver, - grpc_client_config **target_config, - grpc_iomgr_closure *on_complete) { - unix_resolver *r = (unix_resolver *)resolver; - gpr_mu_lock(&r->mu); - GPR_ASSERT(!r->next_completion); - r->next_completion = on_complete; - r->target_config = target_config; - unix_maybe_finish_next_locked(r); - gpr_mu_unlock(&r->mu); -} - -static void unix_maybe_finish_next_locked(unix_resolver *r) { - grpc_client_config *cfg; - grpc_lb_policy *lb_policy; - grpc_subchannel *subchannel; - grpc_subchannel_args args; - - if (r->next_completion != NULL && !r->published) { - cfg = grpc_client_config_create(); - memset(&args, 0, sizeof(args)); - args.addr = (struct sockaddr *)&r->addr; - args.addr_len = r->addr_len; - subchannel = - grpc_subchannel_factory_create_subchannel(r->subchannel_factory, &args); - lb_policy = r->lb_policy_factory(&subchannel, 1); - grpc_client_config_set_lb_policy(cfg, lb_policy); - GRPC_LB_POLICY_UNREF(lb_policy, "unix"); - r->published = 1; - *r->target_config = cfg; - grpc_iomgr_add_callback(r->next_completion); - r->next_completion = NULL; - } -} - -static void unix_destroy(grpc_resolver *gr) { - unix_resolver *r = (unix_resolver *)gr; - gpr_mu_destroy(&r->mu); - grpc_subchannel_factory_unref(r->subchannel_factory); - gpr_free(r); -} - -static grpc_resolver *unix_create( - grpc_uri *uri, - grpc_lb_policy *(*lb_policy_factory)(grpc_subchannel **subchannels, - size_t num_subchannels), - grpc_subchannel_factory *subchannel_factory) { - unix_resolver *r; - - if (0 != strcmp(uri->authority, "")) { - gpr_log(GPR_ERROR, "authority based uri's not supported"); - return NULL; - } - - r = gpr_malloc(sizeof(unix_resolver)); - memset(r, 0, sizeof(*r)); - gpr_ref_init(&r->refs, 1); - gpr_mu_init(&r->mu); - grpc_resolver_init(&r->base, &unix_resolver_vtable); - r->subchannel_factory = subchannel_factory; - r->lb_policy_factory = lb_policy_factory; - - r->addr.sun_family = AF_UNIX; - strcpy(r->addr.sun_path, uri->path); - r->addr_len = strlen(r->addr.sun_path) + sizeof(r->addr.sun_family) + 1; - - grpc_subchannel_factory_ref(subchannel_factory); - return &r->base; -} - -/* - * FACTORY - */ - -static void unix_factory_ref(grpc_resolver_factory *factory) {} - -static void unix_factory_unref(grpc_resolver_factory *factory) {} - -static grpc_resolver *unix_factory_create_resolver( - grpc_resolver_factory *factory, grpc_uri *uri, - grpc_subchannel_factory *subchannel_factory) { - return unix_create(uri, grpc_create_pick_first_lb_policy, subchannel_factory); -} - -static const grpc_resolver_factory_vtable unix_factory_vtable = { - unix_factory_ref, unix_factory_unref, unix_factory_create_resolver}; -static grpc_resolver_factory unix_resolver_factory = {&unix_factory_vtable}; - -grpc_resolver_factory *grpc_unix_resolver_factory_create() { - return &unix_resolver_factory; -} - -#endif diff --git a/src/core/client_config/resolvers/unix_resolver_posix.h b/src/core/client_config/resolvers/unix_resolver_posix.h deleted file mode 100644 index 57ace59e21..0000000000 --- a/src/core/client_config/resolvers/unix_resolver_posix.h +++ /dev/null @@ -1,44 +0,0 @@ -/* - * - * Copyright 2015, Google Inc. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are - * met: - * - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above - * copyright notice, this list of conditions and the following disclaimer - * in the documentation and/or other materials provided with the - * distribution. - * * Neither the name of Google Inc. nor the names of its - * contributors may be used to endorse or promote products derived from - * this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - */ - -#ifndef GRPC_INTERNAL_CORE_CLIENT_CONFIG_RESOLVERS_UNIX_RESOLVER_H -#define GRPC_INTERNAL_CORE_CLIENT_CONFIG_RESOLVERS_UNIX_RESOLVER_H - -#include - -#include "src/core/client_config/resolver_factory.h" - -/** Create a unix resolver factory */ -grpc_resolver_factory *grpc_unix_resolver_factory_create(void); - -#endif /* GRPC_INTERNAL_CORE_CLIENT_CONFIG_RESOLVERS_UNIX_RESOLVER_H */ diff --git a/src/core/support/host_port.c b/src/core/support/host_port.c index 0906ebc2a3..a28f04df9c 100644 --- a/src/core/support/host_port.c +++ b/src/core/support/host_port.c @@ -50,7 +50,7 @@ int gpr_join_host_port(char **out, const char *host, int port) { } } -void gpr_split_host_port(const char *name, char **host, char **port) { +int gpr_split_host_port(const char *name, char **host, char **port) { const char *host_start; size_t host_len; const char *port_start; @@ -63,7 +63,7 @@ void gpr_split_host_port(const char *name, char **host, char **port) { const char *rbracket = strchr(name, ']'); if (rbracket == NULL) { /* Unmatched [ */ - return; + return 0; } if (rbracket[1] == '\0') { /* ] */ @@ -73,14 +73,14 @@ void gpr_split_host_port(const char *name, char **host, char **port) { port_start = rbracket + 2; } else { /* ] */ - return; + return 0; } host_start = name + 1; host_len = (size_t)(rbracket - host_start); if (memchr(host_start, ':', host_len) == NULL) { /* Require all bracketed hosts to contain a colon, because a hostname or IPv4 address should never use brackets. */ - return; + return 0; } } else { const char *colon = strchr(name, ':'); @@ -105,4 +105,6 @@ void gpr_split_host_port(const char *name, char **host, char **port) { if (port_start != NULL) { *port = gpr_strdup(port_start); } + + return 1; } diff --git a/src/core/surface/init.c b/src/core/surface/init.c index 04e27d30ac..5cba479317 100644 --- a/src/core/surface/init.c +++ b/src/core/surface/init.c @@ -39,6 +39,7 @@ #include "src/core/channel/channel_stack.h" #include "src/core/client_config/resolver_registry.h" #include "src/core/client_config/resolvers/dns_resolver.h" +#include "src/core/client_config/resolvers/sockaddr_resolver.h" #include "src/core/debug/trace.h" #include "src/core/iomgr/iomgr.h" #include "src/core/profiling/timers.h" @@ -47,10 +48,6 @@ #include "src/core/surface/surface_trace.h" #include "src/core/transport/chttp2_transport.h" -#ifdef GPR_POSIX_SOCKET -#include "src/core/client_config/resolvers/unix_resolver_posix.h" -#endif - static gpr_once g_basic_init = GPR_ONCE_INIT; static gpr_mu g_init_mu; static int g_initializations; @@ -68,6 +65,8 @@ void grpc_init(void) { gpr_time_init(); grpc_resolver_registry_init("dns:///"); grpc_register_resolver_type("dns", grpc_dns_resolver_factory_create()); + grpc_register_resolver_type("ipv4", grpc_ipv4_resolver_factory_create()); + grpc_register_resolver_type("ipv6", grpc_ipv6_resolver_factory_create()); #ifdef GPR_POSIX_SOCKET grpc_register_resolver_type("unix", grpc_unix_resolver_factory_create()); #endif diff --git a/test/core/end2end/dualstack_socket_test.c b/test/core/end2end/dualstack_socket_test.c index 7d3568c22e..790758918f 100644 --- a/test/core/end2end/dualstack_socket_test.c +++ b/test/core/end2end/dualstack_socket_test.c @@ -37,6 +37,7 @@ #include #include #include +#include #include "test/core/end2end/cq_verifier.h" #include "test/core/util/port.h" #include "test/core/util/test_config.h" @@ -105,7 +106,12 @@ void test_connect(const char *server_host, const char *client_host, int port, cqv = cq_verifier_create(cq); /* Create client. */ - gpr_join_host_port(&client_hostport, client_host, port); + if (client_host[0] == 'i') { + /* for ipv4:/ipv6: addresses, just concatenate the port */ + gpr_asprintf(&client_hostport, "%s:%d", client_host, port); + } else { + gpr_join_host_port(&client_hostport, client_host, port); + } client = grpc_channel_create(client_hostport, NULL); gpr_log(GPR_INFO, "Testing with server=%s client=%s (expecting %s)", @@ -233,21 +239,31 @@ int main(int argc, char **argv) { /* :: and 0.0.0.0 are handled identically. */ test_connect("::", "127.0.0.1", 0, 1); test_connect("::", "::ffff:127.0.0.1", 0, 1); + test_connect("::", "ipv4:127.0.0.1", 0, 1); + test_connect("::", "ipv6:[::ffff:127.0.0.1]", 0, 1); test_connect("::", "localhost", 0, 1); test_connect("0.0.0.0", "127.0.0.1", 0, 1); test_connect("0.0.0.0", "::ffff:127.0.0.1", 0, 1); + test_connect("0.0.0.0", "ipv4:127.0.0.1", 0, 1); + test_connect("0.0.0.0", "ipv6:[::ffff:127.0.0.1]", 0, 1); test_connect("0.0.0.0", "localhost", 0, 1); if (do_ipv6) { test_connect("::", "::1", 0, 1); test_connect("0.0.0.0", "::1", 0, 1); + test_connect("::", "ipv6:[::1]", 0, 1); + test_connect("0.0.0.0", "ipv6:[::1]", 0, 1); } /* These only work when the families agree. */ test_connect("127.0.0.1", "127.0.0.1", 0, 1); + test_connect("127.0.0.1", "ipv4:127.0.0.1", 0, 1); if (do_ipv6) { test_connect("::1", "::1", 0, 1); test_connect("::1", "127.0.0.1", 0, 0); test_connect("127.0.0.1", "::1", 0, 0); + test_connect("::1", "ipv6:[::1]", 0, 1); + test_connect("::1", "ipv4:127.0.0.1", 0, 0); + test_connect("127.0.0.1", "ipv6:[::1]", 0, 0); } } diff --git a/tools/doxygen/Doxyfile.core.internal b/tools/doxygen/Doxyfile.core.internal index 31ad56a97c..bcbb8522ac 100644 --- a/tools/doxygen/Doxyfile.core.internal +++ b/tools/doxygen/Doxyfile.core.internal @@ -803,7 +803,7 @@ src/core/client_config/resolver.h \ src/core/client_config/resolver_factory.h \ src/core/client_config/resolver_registry.h \ src/core/client_config/resolvers/dns_resolver.h \ -src/core/client_config/resolvers/unix_resolver_posix.h \ +src/core/client_config/resolvers/sockaddr_resolver.h \ src/core/client_config/subchannel.h \ src/core/client_config/subchannel_factory.h \ src/core/client_config/uri_parser.h \ @@ -922,7 +922,7 @@ src/core/client_config/resolver.c \ src/core/client_config/resolver_factory.c \ src/core/client_config/resolver_registry.c \ src/core/client_config/resolvers/dns_resolver.c \ -src/core/client_config/resolvers/unix_resolver_posix.c \ +src/core/client_config/resolvers/sockaddr_resolver.c \ src/core/client_config/subchannel.c \ src/core/client_config/subchannel_factory.c \ src/core/client_config/uri_parser.c \ diff --git a/tools/run_tests/sources_and_headers.json b/tools/run_tests/sources_and_headers.json index abddaab699..1d02f8bea5 100644 --- a/tools/run_tests/sources_and_headers.json +++ b/tools/run_tests/sources_and_headers.json @@ -9867,7 +9867,7 @@ "src/core/client_config/resolver_factory.h", "src/core/client_config/resolver_registry.h", "src/core/client_config/resolvers/dns_resolver.h", - "src/core/client_config/resolvers/unix_resolver_posix.h", + "src/core/client_config/resolvers/sockaddr_resolver.h", "src/core/client_config/subchannel.h", "src/core/client_config/subchannel_factory.h", "src/core/client_config/uri_parser.h", @@ -10011,8 +10011,8 @@ "src/core/client_config/resolver_registry.h", "src/core/client_config/resolvers/dns_resolver.c", "src/core/client_config/resolvers/dns_resolver.h", - "src/core/client_config/resolvers/unix_resolver_posix.c", - "src/core/client_config/resolvers/unix_resolver_posix.h", + "src/core/client_config/resolvers/sockaddr_resolver.c", + "src/core/client_config/resolvers/sockaddr_resolver.h", "src/core/client_config/subchannel.c", "src/core/client_config/subchannel.h", "src/core/client_config/subchannel_factory.c", @@ -10329,7 +10329,7 @@ "src/core/client_config/resolver_factory.h", "src/core/client_config/resolver_registry.h", "src/core/client_config/resolvers/dns_resolver.h", - "src/core/client_config/resolvers/unix_resolver_posix.h", + "src/core/client_config/resolvers/sockaddr_resolver.h", "src/core/client_config/subchannel.h", "src/core/client_config/subchannel_factory.h", "src/core/client_config/uri_parser.h", @@ -10455,8 +10455,8 @@ "src/core/client_config/resolver_registry.h", "src/core/client_config/resolvers/dns_resolver.c", "src/core/client_config/resolvers/dns_resolver.h", - "src/core/client_config/resolvers/unix_resolver_posix.c", - "src/core/client_config/resolvers/unix_resolver_posix.h", + "src/core/client_config/resolvers/sockaddr_resolver.c", + "src/core/client_config/resolvers/sockaddr_resolver.h", "src/core/client_config/subchannel.c", "src/core/client_config/subchannel.h", "src/core/client_config/subchannel_factory.c", diff --git a/vsprojects/grpc/grpc.vcxproj b/vsprojects/grpc/grpc.vcxproj index 6f929a72c7..c92e69d699 100644 --- a/vsprojects/grpc/grpc.vcxproj +++ b/vsprojects/grpc/grpc.vcxproj @@ -192,7 +192,7 @@ - + @@ -354,7 +354,7 @@ - + diff --git a/vsprojects/grpc/grpc.vcxproj.filters b/vsprojects/grpc/grpc.vcxproj.filters index 0c388222c2..b5dbf3df9d 100644 --- a/vsprojects/grpc/grpc.vcxproj.filters +++ b/vsprojects/grpc/grpc.vcxproj.filters @@ -124,7 +124,7 @@ src\core\client_config\resolvers - + src\core\client_config\resolvers @@ -539,7 +539,7 @@ src\core\client_config\resolvers - + src\core\client_config\resolvers diff --git a/vsprojects/grpc_unsecure/grpc_unsecure.vcxproj b/vsprojects/grpc_unsecure/grpc_unsecure.vcxproj index 753f3424b3..0039ddd034 100644 --- a/vsprojects/grpc_unsecure/grpc_unsecure.vcxproj +++ b/vsprojects/grpc_unsecure/grpc_unsecure.vcxproj @@ -173,7 +173,7 @@ - + @@ -289,7 +289,7 @@ - + diff --git a/vsprojects/grpc_unsecure/grpc_unsecure.vcxproj.filters b/vsprojects/grpc_unsecure/grpc_unsecure.vcxproj.filters index 1b312cca51..cf04cb9ac7 100644 --- a/vsprojects/grpc_unsecure/grpc_unsecure.vcxproj.filters +++ b/vsprojects/grpc_unsecure/grpc_unsecure.vcxproj.filters @@ -55,7 +55,7 @@ src\core\client_config\resolvers - + src\core\client_config\resolvers @@ -416,7 +416,7 @@ src\core\client_config\resolvers - + src\core\client_config\resolvers -- cgit v1.2.3 From b46f3f400e4966f89737c376f7eb39b9511e375b Mon Sep 17 00:00:00 2001 From: Alistair Veitch Date: Mon, 20 Jul 2015 13:34:10 -0700 Subject: fix build --- BUILD | 6 +++--- gRPC.podspec | 4 ++-- tools/doxygen/Doxyfile.core.internal | 2 +- tools/run_tests/sources_and_headers.json | 8 ++++---- vsprojects/grpc/grpc.vcxproj | 2 +- vsprojects/grpc/grpc.vcxproj.filters | 2 +- vsprojects/grpc_unsecure/grpc_unsecure.vcxproj | 2 +- vsprojects/grpc_unsecure/grpc_unsecure.vcxproj.filters | 2 +- 8 files changed, 14 insertions(+), 14 deletions(-) (limited to 'tools/doxygen') diff --git a/BUILD b/BUILD index bdcef1e20b..336074a9d8 100644 --- a/BUILD +++ b/BUILD @@ -243,7 +243,7 @@ cc_library( "src/core/transport/transport.h", "src/core/transport/transport_impl.h", "src/core/census/context.h", - "src/core/census/resource_id.h", + "src/core/census/rpc_stat_id.h", "src/core/httpcli/format_request.c", "src/core/httpcli/httpcli.c", "src/core/httpcli/httpcli_security_connector.c", @@ -499,7 +499,7 @@ cc_library( "src/core/transport/transport.h", "src/core/transport/transport_impl.h", "src/core/census/context.h", - "src/core/census/resource_id.h", + "src/core/census/rpc_stat_id.h", "src/core/surface/init_unsecure.c", "src/core/census/grpc_context.c", "src/core/channel/channel_args.c", @@ -1207,7 +1207,7 @@ objc_library( "src/core/transport/transport.h", "src/core/transport/transport_impl.h", "src/core/census/context.h", - "src/core/census/resource_id.h", + "src/core/census/rpc_stat_id.h", ], includes = [ "include", diff --git a/gRPC.podspec b/gRPC.podspec index 5d2459b289..4f9364d92b 100644 --- a/gRPC.podspec +++ b/gRPC.podspec @@ -245,7 +245,7 @@ Pod::Spec.new do |s| 'src/core/transport/transport.h', 'src/core/transport/transport_impl.h', 'src/core/census/context.h', - 'src/core/census/resource_id.h', + 'src/core/census/rpc_stat_id.h', 'grpc/grpc_security.h', 'grpc/byte_buffer.h', 'grpc/byte_buffer_reader.h', @@ -508,7 +508,7 @@ Pod::Spec.new do |s| 'src/core/transport/transport.h', 'src/core/transport/transport_impl.h', 'src/core/census/context.h', - 'src/core/census/resource_id.h' + 'src/core/census/rpc_stat_id.h' ss.header_mappings_dir = '.' diff --git a/tools/doxygen/Doxyfile.core.internal b/tools/doxygen/Doxyfile.core.internal index dd65c6cdbd..b126fe28e6 100644 --- a/tools/doxygen/Doxyfile.core.internal +++ b/tools/doxygen/Doxyfile.core.internal @@ -880,7 +880,7 @@ src/core/transport/stream_op.h \ src/core/transport/transport.h \ src/core/transport/transport_impl.h \ src/core/census/context.h \ -src/core/census/resource_id.h \ +src/core/census/rpc_stat_id.h \ src/core/httpcli/format_request.c \ src/core/httpcli/httpcli.c \ src/core/httpcli/httpcli_security_connector.c \ diff --git a/tools/run_tests/sources_and_headers.json b/tools/run_tests/sources_and_headers.json index 07fb85d9d0..c06ff14202 100644 --- a/tools/run_tests/sources_and_headers.json +++ b/tools/run_tests/sources_and_headers.json @@ -8716,7 +8716,7 @@ "include/grpc/status.h", "src/core/census/context.h", "src/core/census/grpc_context.h", - "src/core/census/resource_id.h", + "src/core/census/rpc_stat_id.h", "src/core/channel/census_filter.h", "src/core/channel/channel_args.h", "src/core/channel/channel_stack.h", @@ -8845,7 +8845,7 @@ "src/core/census/grpc_context.h", "src/core/census/initialize.c", "src/core/census/record_stat.c", - "src/core/census/resource_id.h", + "src/core/census/rpc_stat_id.h", "src/core/channel/census_filter.h", "src/core/channel/channel_args.c", "src/core/channel/channel_args.h", @@ -9172,7 +9172,7 @@ "include/grpc/status.h", "src/core/census/context.h", "src/core/census/grpc_context.h", - "src/core/census/resource_id.h", + "src/core/census/rpc_stat_id.h", "src/core/channel/census_filter.h", "src/core/channel/channel_args.h", "src/core/channel/channel_stack.h", @@ -9283,7 +9283,7 @@ "src/core/census/grpc_context.h", "src/core/census/initialize.c", "src/core/census/record_stat.c", - "src/core/census/resource_id.h", + "src/core/census/rpc_stat_id.h", "src/core/channel/census_filter.h", "src/core/channel/channel_args.c", "src/core/channel/channel_args.h", diff --git a/vsprojects/grpc/grpc.vcxproj b/vsprojects/grpc/grpc.vcxproj index 679bc33754..7998acd606 100644 --- a/vsprojects/grpc/grpc.vcxproj +++ b/vsprojects/grpc/grpc.vcxproj @@ -269,7 +269,7 @@ - + diff --git a/vsprojects/grpc/grpc.vcxproj.filters b/vsprojects/grpc/grpc.vcxproj.filters index d139a2e330..2b96dcc5d3 100644 --- a/vsprojects/grpc/grpc.vcxproj.filters +++ b/vsprojects/grpc/grpc.vcxproj.filters @@ -770,7 +770,7 @@ src\core\census - + src\core\census diff --git a/vsprojects/grpc_unsecure/grpc_unsecure.vcxproj b/vsprojects/grpc_unsecure/grpc_unsecure.vcxproj index 4cea37e7aa..86413fd407 100644 --- a/vsprojects/grpc_unsecure/grpc_unsecure.vcxproj +++ b/vsprojects/grpc_unsecure/grpc_unsecure.vcxproj @@ -250,7 +250,7 @@ - + diff --git a/vsprojects/grpc_unsecure/grpc_unsecure.vcxproj.filters b/vsprojects/grpc_unsecure/grpc_unsecure.vcxproj.filters index e51f0e7c50..d24e0772df 100644 --- a/vsprojects/grpc_unsecure/grpc_unsecure.vcxproj.filters +++ b/vsprojects/grpc_unsecure/grpc_unsecure.vcxproj.filters @@ -647,7 +647,7 @@ src\core\census - + src\core\census -- cgit v1.2.3 From b28456b1e46085bd35b6389b03e6d4de8866bdaf Mon Sep 17 00:00:00 2001 From: vjpai Date: Thu, 23 Jul 2015 14:17:10 -0700 Subject: Add dynamic thread pool and initial port of test --- BUILD | 4 + Makefile | 49 +++++++- build.json | 17 +++ include/grpc++/dynamic_thread_pool.h | 81 +++++++++++++ src/cpp/server/dynamic_thread_pool.cc | 130 +++++++++++++++++++++ test/cpp/server/dynamic_thread_pool_test.cc | 77 ++++++++++++ tools/doxygen/Doxyfile.c++ | 1 + tools/doxygen/Doxyfile.c++.internal | 2 + tools/run_tests/sources_and_headers.json | 21 ++++ tools/run_tests/tests.json | 9 ++ vsprojects/grpc++/grpc++.vcxproj | 3 + vsprojects/grpc++/grpc++.vcxproj.filters | 6 + vsprojects/grpc++_unsecure/grpc++_unsecure.vcxproj | 3 + .../grpc++_unsecure.vcxproj.filters | 6 + 14 files changed, 408 insertions(+), 1 deletion(-) create mode 100644 include/grpc++/dynamic_thread_pool.h create mode 100644 src/cpp/server/dynamic_thread_pool.cc create mode 100644 test/cpp/server/dynamic_thread_pool_test.cc (limited to 'tools/doxygen') diff --git a/BUILD b/BUILD index e116d4584b..dee119cbfe 100644 --- a/BUILD +++ b/BUILD @@ -661,6 +661,7 @@ cc_library( "src/cpp/proto/proto_utils.cc", "src/cpp/server/async_generic_service.cc", "src/cpp/server/create_default_thread_pool.cc", + "src/cpp/server/dynamic_thread_pool.cc", "src/cpp/server/fixed_size_thread_pool.cc", "src/cpp/server/insecure_server_credentials.cc", "src/cpp/server/server.cc", @@ -686,6 +687,7 @@ cc_library( "include/grpc++/config_protobuf.h", "include/grpc++/create_channel.h", "include/grpc++/credentials.h", + "include/grpc++/dynamic_thread_pool.h", "include/grpc++/fixed_size_thread_pool.h", "include/grpc++/generic_stub.h", "include/grpc++/impl/call.h", @@ -746,6 +748,7 @@ cc_library( "src/cpp/proto/proto_utils.cc", "src/cpp/server/async_generic_service.cc", "src/cpp/server/create_default_thread_pool.cc", + "src/cpp/server/dynamic_thread_pool.cc", "src/cpp/server/fixed_size_thread_pool.cc", "src/cpp/server/insecure_server_credentials.cc", "src/cpp/server/server.cc", @@ -771,6 +774,7 @@ cc_library( "include/grpc++/config_protobuf.h", "include/grpc++/create_channel.h", "include/grpc++/credentials.h", + "include/grpc++/dynamic_thread_pool.h", "include/grpc++/fixed_size_thread_pool.h", "include/grpc++/generic_stub.h", "include/grpc++/impl/call.h", diff --git a/Makefile b/Makefile index 2ae0cd052d..315740d3eb 100644 --- a/Makefile +++ b/Makefile @@ -851,6 +851,7 @@ credentials_test: $(BINDIR)/$(CONFIG)/credentials_test cxx_byte_buffer_test: $(BINDIR)/$(CONFIG)/cxx_byte_buffer_test cxx_slice_test: $(BINDIR)/$(CONFIG)/cxx_slice_test cxx_time_test: $(BINDIR)/$(CONFIG)/cxx_time_test +dynamic_thread_pool_test: $(BINDIR)/$(CONFIG)/dynamic_thread_pool_test end2end_test: $(BINDIR)/$(CONFIG)/end2end_test fixed_size_thread_pool_test: $(BINDIR)/$(CONFIG)/fixed_size_thread_pool_test generic_end2end_test: $(BINDIR)/$(CONFIG)/generic_end2end_test @@ -1532,7 +1533,7 @@ buildtests: buildtests_c buildtests_cxx buildtests_c: privatelibs_c $(BINDIR)/$(CONFIG)/alarm_heap_test $(BINDIR)/$(CONFIG)/alarm_list_test $(BINDIR)/$(CONFIG)/alarm_test $(BINDIR)/$(CONFIG)/alpn_test $(BINDIR)/$(CONFIG)/bin_encoder_test $(BINDIR)/$(CONFIG)/chttp2_status_conversion_test $(BINDIR)/$(CONFIG)/chttp2_stream_encoder_test $(BINDIR)/$(CONFIG)/chttp2_stream_map_test $(BINDIR)/$(CONFIG)/dualstack_socket_test $(BINDIR)/$(CONFIG)/fd_conservation_posix_test $(BINDIR)/$(CONFIG)/fd_posix_test $(BINDIR)/$(CONFIG)/fling_client $(BINDIR)/$(CONFIG)/fling_server $(BINDIR)/$(CONFIG)/fling_stream_test $(BINDIR)/$(CONFIG)/fling_test $(BINDIR)/$(CONFIG)/gpr_cancellable_test $(BINDIR)/$(CONFIG)/gpr_cmdline_test $(BINDIR)/$(CONFIG)/gpr_env_test $(BINDIR)/$(CONFIG)/gpr_file_test $(BINDIR)/$(CONFIG)/gpr_histogram_test $(BINDIR)/$(CONFIG)/gpr_host_port_test $(BINDIR)/$(CONFIG)/gpr_log_test $(BINDIR)/$(CONFIG)/gpr_slice_buffer_test $(BINDIR)/$(CONFIG)/gpr_slice_test $(BINDIR)/$(CONFIG)/gpr_stack_lockfree_test $(BINDIR)/$(CONFIG)/gpr_string_test $(BINDIR)/$(CONFIG)/gpr_sync_test $(BINDIR)/$(CONFIG)/gpr_thd_test $(BINDIR)/$(CONFIG)/gpr_time_test $(BINDIR)/$(CONFIG)/gpr_tls_test $(BINDIR)/$(CONFIG)/gpr_useful_test $(BINDIR)/$(CONFIG)/grpc_auth_context_test $(BINDIR)/$(CONFIG)/grpc_base64_test $(BINDIR)/$(CONFIG)/grpc_byte_buffer_reader_test $(BINDIR)/$(CONFIG)/grpc_channel_stack_test $(BINDIR)/$(CONFIG)/grpc_completion_queue_test $(BINDIR)/$(CONFIG)/grpc_credentials_test $(BINDIR)/$(CONFIG)/grpc_json_token_test $(BINDIR)/$(CONFIG)/grpc_jwt_verifier_test $(BINDIR)/$(CONFIG)/grpc_security_connector_test $(BINDIR)/$(CONFIG)/grpc_stream_op_test $(BINDIR)/$(CONFIG)/hpack_parser_test $(BINDIR)/$(CONFIG)/hpack_table_test $(BINDIR)/$(CONFIG)/httpcli_format_request_test $(BINDIR)/$(CONFIG)/httpcli_parser_test $(BINDIR)/$(CONFIG)/httpcli_test $(BINDIR)/$(CONFIG)/json_rewrite $(BINDIR)/$(CONFIG)/json_rewrite_test $(BINDIR)/$(CONFIG)/json_test $(BINDIR)/$(CONFIG)/lame_client_test $(BINDIR)/$(CONFIG)/message_compress_test $(BINDIR)/$(CONFIG)/multi_init_test $(BINDIR)/$(CONFIG)/multiple_server_queues_test $(BINDIR)/$(CONFIG)/murmur_hash_test $(BINDIR)/$(CONFIG)/no_server_test $(BINDIR)/$(CONFIG)/poll_kick_posix_test $(BINDIR)/$(CONFIG)/resolve_address_test $(BINDIR)/$(CONFIG)/secure_endpoint_test $(BINDIR)/$(CONFIG)/sockaddr_utils_test $(BINDIR)/$(CONFIG)/tcp_client_posix_test $(BINDIR)/$(CONFIG)/tcp_posix_test $(BINDIR)/$(CONFIG)/tcp_server_posix_test $(BINDIR)/$(CONFIG)/time_averaged_stats_test $(BINDIR)/$(CONFIG)/timeout_encoding_test $(BINDIR)/$(CONFIG)/timers_test $(BINDIR)/$(CONFIG)/transport_metadata_test $(BINDIR)/$(CONFIG)/transport_security_test $(BINDIR)/$(CONFIG)/uri_parser_test $(BINDIR)/$(CONFIG)/chttp2_fake_security_bad_hostname_test $(BINDIR)/$(CONFIG)/chttp2_fake_security_cancel_after_accept_test $(BINDIR)/$(CONFIG)/chttp2_fake_security_cancel_after_accept_and_writes_closed_test $(BINDIR)/$(CONFIG)/chttp2_fake_security_cancel_after_invoke_test $(BINDIR)/$(CONFIG)/chttp2_fake_security_cancel_before_invoke_test $(BINDIR)/$(CONFIG)/chttp2_fake_security_cancel_in_a_vacuum_test $(BINDIR)/$(CONFIG)/chttp2_fake_security_census_simple_request_test $(BINDIR)/$(CONFIG)/chttp2_fake_security_disappearing_server_test $(BINDIR)/$(CONFIG)/chttp2_fake_security_early_server_shutdown_finishes_inflight_calls_test $(BINDIR)/$(CONFIG)/chttp2_fake_security_early_server_shutdown_finishes_tags_test $(BINDIR)/$(CONFIG)/chttp2_fake_security_empty_batch_test $(BINDIR)/$(CONFIG)/chttp2_fake_security_graceful_server_shutdown_test $(BINDIR)/$(CONFIG)/chttp2_fake_security_invoke_large_request_test $(BINDIR)/$(CONFIG)/chttp2_fake_security_max_concurrent_streams_test $(BINDIR)/$(CONFIG)/chttp2_fake_security_max_message_length_test $(BINDIR)/$(CONFIG)/chttp2_fake_security_no_op_test $(BINDIR)/$(CONFIG)/chttp2_fake_security_ping_pong_streaming_test $(BINDIR)/$(CONFIG)/chttp2_fake_security_registered_call_test $(BINDIR)/$(CONFIG)/chttp2_fake_security_request_response_with_binary_metadata_and_payload_test $(BINDIR)/$(CONFIG)/chttp2_fake_security_request_response_with_metadata_and_payload_test $(BINDIR)/$(CONFIG)/chttp2_fake_security_request_response_with_payload_test $(BINDIR)/$(CONFIG)/chttp2_fake_security_request_response_with_payload_and_call_creds_test $(BINDIR)/$(CONFIG)/chttp2_fake_security_request_response_with_trailing_metadata_and_payload_test $(BINDIR)/$(CONFIG)/chttp2_fake_security_request_with_compressed_payload_test $(BINDIR)/$(CONFIG)/chttp2_fake_security_request_with_flags_test $(BINDIR)/$(CONFIG)/chttp2_fake_security_request_with_large_metadata_test $(BINDIR)/$(CONFIG)/chttp2_fake_security_request_with_payload_test $(BINDIR)/$(CONFIG)/chttp2_fake_security_server_finishes_request_test $(BINDIR)/$(CONFIG)/chttp2_fake_security_simple_delayed_request_test $(BINDIR)/$(CONFIG)/chttp2_fake_security_simple_request_test $(BINDIR)/$(CONFIG)/chttp2_fake_security_simple_request_with_high_initial_sequence_number_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_bad_hostname_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_cancel_after_accept_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_cancel_after_accept_and_writes_closed_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_cancel_after_invoke_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_cancel_before_invoke_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_cancel_in_a_vacuum_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_census_simple_request_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_disappearing_server_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_early_server_shutdown_finishes_inflight_calls_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_early_server_shutdown_finishes_tags_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_empty_batch_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_graceful_server_shutdown_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_invoke_large_request_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_max_concurrent_streams_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_max_message_length_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_no_op_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_ping_pong_streaming_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_registered_call_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_request_response_with_binary_metadata_and_payload_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_request_response_with_metadata_and_payload_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_request_response_with_payload_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_request_response_with_payload_and_call_creds_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_request_response_with_trailing_metadata_and_payload_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_request_with_compressed_payload_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_request_with_flags_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_request_with_large_metadata_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_request_with_payload_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_server_finishes_request_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_simple_delayed_request_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_simple_request_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_simple_request_with_high_initial_sequence_number_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_bad_hostname_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_cancel_after_accept_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_cancel_after_accept_and_writes_closed_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_cancel_after_invoke_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_cancel_before_invoke_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_cancel_in_a_vacuum_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_census_simple_request_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_disappearing_server_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_early_server_shutdown_finishes_inflight_calls_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_early_server_shutdown_finishes_tags_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_empty_batch_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_graceful_server_shutdown_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_invoke_large_request_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_max_concurrent_streams_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_max_message_length_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_no_op_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_ping_pong_streaming_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_registered_call_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_request_response_with_binary_metadata_and_payload_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_request_response_with_metadata_and_payload_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_request_response_with_payload_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_request_response_with_payload_and_call_creds_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_request_response_with_trailing_metadata_and_payload_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_request_with_compressed_payload_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_request_with_flags_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_request_with_large_metadata_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_request_with_payload_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_server_finishes_request_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_simple_delayed_request_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_simple_request_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_simple_request_with_high_initial_sequence_number_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_bad_hostname_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_cancel_after_accept_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_cancel_after_accept_and_writes_closed_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_cancel_after_invoke_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_cancel_before_invoke_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_cancel_in_a_vacuum_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_census_simple_request_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_disappearing_server_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_early_server_shutdown_finishes_inflight_calls_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_early_server_shutdown_finishes_tags_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_empty_batch_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_graceful_server_shutdown_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_invoke_large_request_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_max_concurrent_streams_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_max_message_length_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_no_op_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_ping_pong_streaming_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_registered_call_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_request_response_with_binary_metadata_and_payload_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_request_response_with_metadata_and_payload_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_request_response_with_payload_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_request_response_with_payload_and_call_creds_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_request_response_with_trailing_metadata_and_payload_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_request_with_compressed_payload_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_request_with_flags_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_request_with_large_metadata_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_request_with_payload_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_server_finishes_request_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_simple_delayed_request_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_simple_request_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_simple_request_with_high_initial_sequence_number_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_bad_hostname_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_cancel_after_accept_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_cancel_after_accept_and_writes_closed_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_cancel_after_invoke_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_cancel_before_invoke_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_cancel_in_a_vacuum_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_census_simple_request_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_disappearing_server_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_early_server_shutdown_finishes_inflight_calls_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_early_server_shutdown_finishes_tags_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_empty_batch_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_graceful_server_shutdown_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_invoke_large_request_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_max_concurrent_streams_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_max_message_length_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_no_op_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_ping_pong_streaming_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_registered_call_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_request_response_with_binary_metadata_and_payload_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_request_response_with_metadata_and_payload_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_request_response_with_payload_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_request_response_with_payload_and_call_creds_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_request_response_with_trailing_metadata_and_payload_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_request_with_compressed_payload_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_request_with_flags_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_request_with_large_metadata_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_request_with_payload_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_server_finishes_request_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_simple_delayed_request_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_simple_request_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_simple_request_with_high_initial_sequence_number_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_bad_hostname_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_cancel_after_accept_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_cancel_after_accept_and_writes_closed_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_cancel_after_invoke_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_cancel_before_invoke_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_cancel_in_a_vacuum_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_census_simple_request_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_disappearing_server_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_early_server_shutdown_finishes_inflight_calls_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_early_server_shutdown_finishes_tags_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_empty_batch_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_graceful_server_shutdown_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_invoke_large_request_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_max_concurrent_streams_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_max_message_length_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_no_op_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_ping_pong_streaming_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_registered_call_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_request_response_with_binary_metadata_and_payload_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_request_response_with_metadata_and_payload_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_request_response_with_payload_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_request_response_with_payload_and_call_creds_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_request_response_with_trailing_metadata_and_payload_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_request_with_compressed_payload_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_request_with_flags_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_request_with_large_metadata_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_request_with_payload_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_server_finishes_request_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_simple_delayed_request_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_simple_request_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_simple_request_with_high_initial_sequence_number_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_bad_hostname_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_cancel_after_accept_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_cancel_after_accept_and_writes_closed_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_cancel_after_invoke_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_cancel_before_invoke_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_cancel_in_a_vacuum_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_census_simple_request_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_disappearing_server_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_early_server_shutdown_finishes_inflight_calls_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_early_server_shutdown_finishes_tags_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_empty_batch_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_graceful_server_shutdown_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_invoke_large_request_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_max_concurrent_streams_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_max_message_length_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_no_op_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_ping_pong_streaming_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_registered_call_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_request_response_with_binary_metadata_and_payload_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_request_response_with_metadata_and_payload_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_request_response_with_payload_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_request_response_with_payload_and_call_creds_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_request_response_with_trailing_metadata_and_payload_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_request_with_compressed_payload_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_request_with_flags_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_request_with_large_metadata_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_request_with_payload_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_server_finishes_request_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_simple_delayed_request_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_simple_request_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_simple_request_with_high_initial_sequence_number_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_bad_hostname_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_cancel_after_accept_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_cancel_after_accept_and_writes_closed_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_cancel_after_invoke_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_cancel_before_invoke_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_cancel_in_a_vacuum_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_census_simple_request_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_disappearing_server_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_early_server_shutdown_finishes_inflight_calls_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_early_server_shutdown_finishes_tags_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_empty_batch_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_graceful_server_shutdown_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_invoke_large_request_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_max_concurrent_streams_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_max_message_length_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_no_op_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_ping_pong_streaming_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_registered_call_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_binary_metadata_and_payload_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_metadata_and_payload_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_payload_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_payload_and_call_creds_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_trailing_metadata_and_payload_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_request_with_compressed_payload_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_request_with_flags_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_request_with_large_metadata_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_request_with_payload_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_server_finishes_request_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_simple_delayed_request_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_simple_request_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_simple_request_with_high_initial_sequence_number_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_bad_hostname_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_cancel_after_accept_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_cancel_after_accept_and_writes_closed_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_cancel_after_invoke_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_cancel_before_invoke_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_cancel_in_a_vacuum_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_census_simple_request_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_disappearing_server_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_early_server_shutdown_finishes_inflight_calls_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_early_server_shutdown_finishes_tags_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_empty_batch_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_graceful_server_shutdown_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_invoke_large_request_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_max_concurrent_streams_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_max_message_length_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_no_op_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_ping_pong_streaming_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_registered_call_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_request_response_with_binary_metadata_and_payload_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_request_response_with_metadata_and_payload_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_request_response_with_payload_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_request_response_with_payload_and_call_creds_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_request_response_with_trailing_metadata_and_payload_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_request_with_compressed_payload_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_request_with_flags_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_request_with_large_metadata_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_request_with_payload_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_server_finishes_request_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_simple_delayed_request_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_simple_request_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_simple_request_with_high_initial_sequence_number_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_bad_hostname_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_cancel_after_accept_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_cancel_after_accept_and_writes_closed_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_cancel_after_invoke_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_cancel_before_invoke_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_cancel_in_a_vacuum_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_census_simple_request_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_disappearing_server_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_early_server_shutdown_finishes_inflight_calls_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_early_server_shutdown_finishes_tags_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_empty_batch_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_graceful_server_shutdown_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_invoke_large_request_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_max_concurrent_streams_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_max_message_length_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_no_op_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_ping_pong_streaming_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_registered_call_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_request_response_with_binary_metadata_and_payload_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_request_response_with_metadata_and_payload_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_request_response_with_payload_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_request_response_with_payload_and_call_creds_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_request_response_with_trailing_metadata_and_payload_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_request_with_compressed_payload_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_request_with_flags_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_request_with_large_metadata_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_request_with_payload_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_server_finishes_request_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_simple_delayed_request_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_simple_request_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_simple_request_with_high_initial_sequence_number_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_bad_hostname_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_cancel_after_accept_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_cancel_after_accept_and_writes_closed_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_cancel_after_invoke_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_cancel_before_invoke_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_cancel_in_a_vacuum_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_census_simple_request_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_disappearing_server_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_early_server_shutdown_finishes_inflight_calls_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_early_server_shutdown_finishes_tags_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_empty_batch_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_graceful_server_shutdown_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_invoke_large_request_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_max_concurrent_streams_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_max_message_length_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_no_op_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_ping_pong_streaming_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_registered_call_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_request_response_with_binary_metadata_and_payload_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_request_response_with_metadata_and_payload_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_request_response_with_payload_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_request_response_with_payload_and_call_creds_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_request_response_with_trailing_metadata_and_payload_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_request_with_compressed_payload_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_request_with_flags_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_request_with_large_metadata_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_request_with_payload_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_server_finishes_request_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_simple_delayed_request_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_simple_request_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_simple_request_with_high_initial_sequence_number_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_bad_hostname_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_cancel_after_accept_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_cancel_after_accept_and_writes_closed_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_cancel_after_invoke_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_cancel_before_invoke_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_cancel_in_a_vacuum_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_census_simple_request_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_disappearing_server_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_early_server_shutdown_finishes_inflight_calls_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_early_server_shutdown_finishes_tags_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_empty_batch_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_graceful_server_shutdown_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_invoke_large_request_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_max_concurrent_streams_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_max_message_length_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_no_op_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_ping_pong_streaming_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_registered_call_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_request_response_with_binary_metadata_and_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_request_response_with_metadata_and_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_request_response_with_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_request_response_with_trailing_metadata_and_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_request_with_compressed_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_request_with_flags_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_request_with_large_metadata_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_request_with_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_server_finishes_request_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_simple_delayed_request_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_simple_request_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_simple_request_with_high_initial_sequence_number_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_bad_hostname_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_cancel_after_accept_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_cancel_after_accept_and_writes_closed_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_cancel_after_invoke_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_cancel_before_invoke_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_cancel_in_a_vacuum_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_census_simple_request_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_disappearing_server_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_early_server_shutdown_finishes_inflight_calls_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_early_server_shutdown_finishes_tags_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_empty_batch_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_graceful_server_shutdown_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_invoke_large_request_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_max_concurrent_streams_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_max_message_length_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_no_op_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_ping_pong_streaming_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_registered_call_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_request_response_with_binary_metadata_and_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_request_response_with_metadata_and_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_request_response_with_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_request_response_with_trailing_metadata_and_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_request_with_compressed_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_request_with_flags_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_request_with_large_metadata_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_request_with_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_server_finishes_request_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_simple_delayed_request_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_simple_request_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_simple_request_with_high_initial_sequence_number_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_bad_hostname_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_cancel_after_accept_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_cancel_after_accept_and_writes_closed_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_cancel_after_invoke_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_cancel_before_invoke_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_cancel_in_a_vacuum_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_census_simple_request_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_disappearing_server_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_early_server_shutdown_finishes_inflight_calls_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_early_server_shutdown_finishes_tags_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_empty_batch_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_graceful_server_shutdown_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_invoke_large_request_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_max_concurrent_streams_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_max_message_length_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_no_op_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_ping_pong_streaming_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_registered_call_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_request_response_with_binary_metadata_and_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_request_response_with_metadata_and_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_request_response_with_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_request_response_with_trailing_metadata_and_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_request_with_compressed_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_request_with_flags_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_request_with_large_metadata_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_request_with_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_server_finishes_request_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_simple_delayed_request_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_simple_request_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_simple_request_with_high_initial_sequence_number_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_bad_hostname_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_cancel_after_accept_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_cancel_after_accept_and_writes_closed_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_cancel_after_invoke_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_cancel_before_invoke_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_cancel_in_a_vacuum_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_census_simple_request_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_disappearing_server_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_early_server_shutdown_finishes_inflight_calls_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_early_server_shutdown_finishes_tags_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_empty_batch_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_graceful_server_shutdown_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_invoke_large_request_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_max_concurrent_streams_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_max_message_length_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_no_op_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_ping_pong_streaming_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_registered_call_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_request_response_with_binary_metadata_and_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_request_response_with_metadata_and_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_request_response_with_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_request_response_with_trailing_metadata_and_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_request_with_compressed_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_request_with_flags_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_request_with_large_metadata_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_request_with_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_server_finishes_request_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_simple_delayed_request_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_simple_request_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_simple_request_with_high_initial_sequence_number_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_bad_hostname_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_cancel_after_accept_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_cancel_after_accept_and_writes_closed_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_cancel_after_invoke_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_cancel_before_invoke_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_cancel_in_a_vacuum_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_census_simple_request_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_disappearing_server_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_early_server_shutdown_finishes_inflight_calls_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_early_server_shutdown_finishes_tags_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_empty_batch_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_graceful_server_shutdown_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_invoke_large_request_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_max_concurrent_streams_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_max_message_length_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_no_op_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_ping_pong_streaming_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_registered_call_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_request_response_with_binary_metadata_and_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_request_response_with_metadata_and_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_request_response_with_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_request_response_with_trailing_metadata_and_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_request_with_compressed_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_request_with_flags_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_request_with_large_metadata_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_request_with_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_server_finishes_request_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_simple_delayed_request_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_simple_request_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_simple_request_with_high_initial_sequence_number_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_bad_hostname_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_cancel_after_accept_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_cancel_after_accept_and_writes_closed_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_cancel_after_invoke_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_cancel_before_invoke_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_cancel_in_a_vacuum_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_census_simple_request_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_disappearing_server_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_early_server_shutdown_finishes_inflight_calls_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_early_server_shutdown_finishes_tags_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_empty_batch_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_graceful_server_shutdown_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_invoke_large_request_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_max_concurrent_streams_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_max_message_length_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_no_op_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_ping_pong_streaming_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_registered_call_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_request_response_with_binary_metadata_and_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_request_response_with_metadata_and_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_request_response_with_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_request_response_with_trailing_metadata_and_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_request_with_compressed_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_request_with_flags_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_request_with_large_metadata_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_request_with_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_server_finishes_request_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_simple_delayed_request_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_simple_request_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_simple_request_with_high_initial_sequence_number_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_bad_hostname_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_cancel_after_accept_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_cancel_after_accept_and_writes_closed_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_cancel_after_invoke_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_cancel_before_invoke_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_cancel_in_a_vacuum_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_census_simple_request_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_disappearing_server_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_early_server_shutdown_finishes_inflight_calls_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_early_server_shutdown_finishes_tags_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_empty_batch_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_graceful_server_shutdown_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_invoke_large_request_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_max_concurrent_streams_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_max_message_length_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_no_op_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_ping_pong_streaming_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_registered_call_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_request_response_with_binary_metadata_and_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_request_response_with_metadata_and_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_request_response_with_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_request_response_with_trailing_metadata_and_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_request_with_compressed_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_request_with_flags_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_request_with_large_metadata_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_request_with_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_server_finishes_request_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_simple_delayed_request_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_simple_request_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_simple_request_with_high_initial_sequence_number_unsecure_test $(BINDIR)/$(CONFIG)/connection_prefix_bad_client_test $(BINDIR)/$(CONFIG)/initial_settings_frame_bad_client_test -buildtests_cxx: privatelibs_cxx $(BINDIR)/$(CONFIG)/async_end2end_test $(BINDIR)/$(CONFIG)/async_streaming_ping_pong_test $(BINDIR)/$(CONFIG)/async_unary_ping_pong_test $(BINDIR)/$(CONFIG)/auth_property_iterator_test $(BINDIR)/$(CONFIG)/channel_arguments_test $(BINDIR)/$(CONFIG)/cli_call_test $(BINDIR)/$(CONFIG)/client_crash_test $(BINDIR)/$(CONFIG)/client_crash_test_server $(BINDIR)/$(CONFIG)/credentials_test $(BINDIR)/$(CONFIG)/cxx_byte_buffer_test $(BINDIR)/$(CONFIG)/cxx_slice_test $(BINDIR)/$(CONFIG)/cxx_time_test $(BINDIR)/$(CONFIG)/end2end_test $(BINDIR)/$(CONFIG)/fixed_size_thread_pool_test $(BINDIR)/$(CONFIG)/generic_end2end_test $(BINDIR)/$(CONFIG)/grpc_cli $(BINDIR)/$(CONFIG)/interop_client $(BINDIR)/$(CONFIG)/interop_server $(BINDIR)/$(CONFIG)/interop_test $(BINDIR)/$(CONFIG)/mock_test $(BINDIR)/$(CONFIG)/qps_interarrival_test $(BINDIR)/$(CONFIG)/qps_openloop_test $(BINDIR)/$(CONFIG)/qps_test $(BINDIR)/$(CONFIG)/secure_auth_context_test $(BINDIR)/$(CONFIG)/server_crash_test $(BINDIR)/$(CONFIG)/server_crash_test_client $(BINDIR)/$(CONFIG)/status_test $(BINDIR)/$(CONFIG)/sync_streaming_ping_pong_test $(BINDIR)/$(CONFIG)/sync_unary_ping_pong_test $(BINDIR)/$(CONFIG)/thread_stress_test +buildtests_cxx: privatelibs_cxx $(BINDIR)/$(CONFIG)/async_end2end_test $(BINDIR)/$(CONFIG)/async_streaming_ping_pong_test $(BINDIR)/$(CONFIG)/async_unary_ping_pong_test $(BINDIR)/$(CONFIG)/auth_property_iterator_test $(BINDIR)/$(CONFIG)/channel_arguments_test $(BINDIR)/$(CONFIG)/cli_call_test $(BINDIR)/$(CONFIG)/client_crash_test $(BINDIR)/$(CONFIG)/client_crash_test_server $(BINDIR)/$(CONFIG)/credentials_test $(BINDIR)/$(CONFIG)/cxx_byte_buffer_test $(BINDIR)/$(CONFIG)/cxx_slice_test $(BINDIR)/$(CONFIG)/cxx_time_test $(BINDIR)/$(CONFIG)/dynamic_thread_pool_test $(BINDIR)/$(CONFIG)/end2end_test $(BINDIR)/$(CONFIG)/fixed_size_thread_pool_test $(BINDIR)/$(CONFIG)/generic_end2end_test $(BINDIR)/$(CONFIG)/grpc_cli $(BINDIR)/$(CONFIG)/interop_client $(BINDIR)/$(CONFIG)/interop_server $(BINDIR)/$(CONFIG)/interop_test $(BINDIR)/$(CONFIG)/mock_test $(BINDIR)/$(CONFIG)/qps_interarrival_test $(BINDIR)/$(CONFIG)/qps_openloop_test $(BINDIR)/$(CONFIG)/qps_test $(BINDIR)/$(CONFIG)/secure_auth_context_test $(BINDIR)/$(CONFIG)/server_crash_test $(BINDIR)/$(CONFIG)/server_crash_test_client $(BINDIR)/$(CONFIG)/status_test $(BINDIR)/$(CONFIG)/sync_streaming_ping_pong_test $(BINDIR)/$(CONFIG)/sync_unary_ping_pong_test $(BINDIR)/$(CONFIG)/thread_stress_test test: test_c test_cxx @@ -2803,6 +2804,8 @@ test_cxx: buildtests_cxx $(Q) $(BINDIR)/$(CONFIG)/cxx_slice_test || ( echo test cxx_slice_test failed ; exit 1 ) $(E) "[RUN] Testing cxx_time_test" $(Q) $(BINDIR)/$(CONFIG)/cxx_time_test || ( echo test cxx_time_test failed ; exit 1 ) + $(E) "[RUN] Testing dynamic_thread_pool_test" + $(Q) $(BINDIR)/$(CONFIG)/dynamic_thread_pool_test || ( echo test dynamic_thread_pool_test failed ; exit 1 ) $(E) "[RUN] Testing end2end_test" $(Q) $(BINDIR)/$(CONFIG)/end2end_test || ( echo test end2end_test failed ; exit 1 ) $(E) "[RUN] Testing fixed_size_thread_pool_test" @@ -3941,6 +3944,7 @@ LIBGRPC++_SRC = \ src/cpp/proto/proto_utils.cc \ src/cpp/server/async_generic_service.cc \ src/cpp/server/create_default_thread_pool.cc \ + src/cpp/server/dynamic_thread_pool.cc \ src/cpp/server/fixed_size_thread_pool.cc \ src/cpp/server/insecure_server_credentials.cc \ src/cpp/server/server.cc \ @@ -3966,6 +3970,7 @@ PUBLIC_HEADERS_CXX += \ include/grpc++/config_protobuf.h \ include/grpc++/create_channel.h \ include/grpc++/credentials.h \ + include/grpc++/dynamic_thread_pool.h \ include/grpc++/fixed_size_thread_pool.h \ include/grpc++/generic_stub.h \ include/grpc++/impl/call.h \ @@ -4184,6 +4189,7 @@ LIBGRPC++_UNSECURE_SRC = \ src/cpp/proto/proto_utils.cc \ src/cpp/server/async_generic_service.cc \ src/cpp/server/create_default_thread_pool.cc \ + src/cpp/server/dynamic_thread_pool.cc \ src/cpp/server/fixed_size_thread_pool.cc \ src/cpp/server/insecure_server_credentials.cc \ src/cpp/server/server.cc \ @@ -4209,6 +4215,7 @@ PUBLIC_HEADERS_CXX += \ include/grpc++/config_protobuf.h \ include/grpc++/create_channel.h \ include/grpc++/credentials.h \ + include/grpc++/dynamic_thread_pool.h \ include/grpc++/fixed_size_thread_pool.h \ include/grpc++/generic_stub.h \ include/grpc++/impl/call.h \ @@ -8447,6 +8454,46 @@ endif endif +DYNAMIC_THREAD_POOL_TEST_SRC = \ + test/cpp/server/dynamic_thread_pool_test.cc \ + +DYNAMIC_THREAD_POOL_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(DYNAMIC_THREAD_POOL_TEST_SRC)))) +ifeq ($(NO_SECURE),true) + +# You can't build secure targets if you don't have OpenSSL. + +$(BINDIR)/$(CONFIG)/dynamic_thread_pool_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)/dynamic_thread_pool_test: protobuf_dep_error + +else + +$(BINDIR)/$(CONFIG)/dynamic_thread_pool_test: $(PROTOBUF_DEP) $(DYNAMIC_THREAD_POOL_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) $(DYNAMIC_THREAD_POOL_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)/dynamic_thread_pool_test + +endif + +endif + +$(OBJDIR)/$(CONFIG)/test/cpp/server/dynamic_thread_pool_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_dynamic_thread_pool_test: $(DYNAMIC_THREAD_POOL_TEST_OBJS:.o=.dep) + +ifneq ($(NO_SECURE),true) +ifneq ($(NO_DEPS),true) +-include $(DYNAMIC_THREAD_POOL_TEST_OBJS:.o=.dep) +endif +endif + + END2END_TEST_SRC = \ test/cpp/end2end/end2end_test.cc \ diff --git a/build.json b/build.json index 2755703e1c..a7cc013f2e 100644 --- a/build.json +++ b/build.json @@ -41,6 +41,7 @@ "include/grpc++/config_protobuf.h", "include/grpc++/create_channel.h", "include/grpc++/credentials.h", + "include/grpc++/dynamic_thread_pool.h", "include/grpc++/fixed_size_thread_pool.h", "include/grpc++/generic_stub.h", "include/grpc++/impl/call.h", @@ -88,6 +89,7 @@ "src/cpp/proto/proto_utils.cc", "src/cpp/server/async_generic_service.cc", "src/cpp/server/create_default_thread_pool.cc", + "src/cpp/server/dynamic_thread_pool.cc", "src/cpp/server/fixed_size_thread_pool.cc", "src/cpp/server/insecure_server_credentials.cc", "src/cpp/server/server.cc", @@ -2044,6 +2046,21 @@ "gpr" ] }, + { + "name": "dynamic_thread_pool_test", + "build": "test", + "language": "c++", + "src": [ + "test/cpp/server/dynamic_thread_pool_test.cc" + ], + "deps": [ + "grpc_test_util", + "grpc++", + "grpc", + "gpr_test_util", + "gpr" + ] + }, { "name": "end2end_test", "build": "test", diff --git a/include/grpc++/dynamic_thread_pool.h b/include/grpc++/dynamic_thread_pool.h new file mode 100644 index 0000000000..7519a47726 --- /dev/null +++ b/include/grpc++/dynamic_thread_pool.h @@ -0,0 +1,81 @@ +/* + * + * Copyright 2015, Google Inc. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following disclaimer + * in the documentation and/or other materials provided with the + * distribution. + * * Neither the name of Google Inc. nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + */ + +#ifndef GRPCXX_DYNAMIC_THREAD_POOL_H +#define GRPCXX_DYNAMIC_THREAD_POOL_H + +#include + +#include +#include +#include + +#include +#include + +namespace grpc { + +class DynamicThreadPool GRPC_FINAL : public ThreadPoolInterface { + public: + explicit DynamicThreadPool(int reserve_threads); + ~DynamicThreadPool(); + + void Add(const std::function& callback) GRPC_OVERRIDE; + + private: + class DynamicThread { + public: + DynamicThread(DynamicThreadPool *pool); + ~DynamicThread(); + private: + DynamicThreadPool *pool_; + std::unique_ptr thd_; + void ThreadFunc(); + }; + grpc::mutex mu_; + grpc::condition_variable cv_; + bool shutdown_; + std::queue> callbacks_; + int reserve_threads_; + int nthreads_; + int threads_waiting_; + std::list live_threads_; + std::list dead_threads_; + + void ThreadFunc(); + static void ReapThreads(std::list* tlist); +}; + +} // namespace grpc + +#endif // GRPCXX_DYNAMIC_THREAD_POOL_H diff --git a/src/cpp/server/dynamic_thread_pool.cc b/src/cpp/server/dynamic_thread_pool.cc new file mode 100644 index 0000000000..bc0d16f170 --- /dev/null +++ b/src/cpp/server/dynamic_thread_pool.cc @@ -0,0 +1,130 @@ +/* + * + * Copyright 2015, Google Inc. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following disclaimer + * in the documentation and/or other materials provided with the + * distribution. + * * Neither the name of Google Inc. nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + */ + +#include +#include +#include + +namespace grpc { +DynamicThreadPool::DynamicThread::DynamicThread(DynamicThreadPool *pool): + pool_(pool), + thd_(new grpc::thread(&DynamicThreadPool::DynamicThread::ThreadFunc, this)) { +} +DynamicThreadPool::DynamicThread::~DynamicThread() { + thd_->join(); + thd_.reset(); +} + +void DynamicThreadPool::DynamicThread::ThreadFunc() { + pool_->ThreadFunc(); + // Now that we have killed ourselves, we should reduce the thread count + grpc::unique_lock lock(pool_->mu_); + pool_->nthreads_--; + // Move ourselves from live list to dead list + for (auto t = pool_->live_threads_.begin(); t != pool_->live_threads_.end(); + t++) { + if ((*t) == this) { + t = pool_->live_threads_.erase(t); + pool_->dead_threads_.push_back(this); + } + } +} + +void DynamicThreadPool::ThreadFunc() { + for (;;) { + // Wait until work is available or we are shutting down. + grpc::unique_lock lock(mu_); + if (!shutdown_ && callbacks_.empty()) { + // If there are too many threads waiting, then quit this thread + if (threads_waiting_ == reserve_threads_) { + break; + } + threads_waiting_++; + cv_.wait(lock); + threads_waiting_--; + } + // Drain callbacks before considering shutdown to ensure all work + // gets completed. + if (!callbacks_.empty()) { + auto cb = callbacks_.front(); + callbacks_.pop(); + lock.unlock(); + cb(); + } else if (shutdown_) { + break; + } + } +} + +DynamicThreadPool::DynamicThreadPool(int reserve_threads) : + shutdown_(false), reserve_threads_(reserve_threads), threads_waiting_(0) { + for (int i = 0; i < reserve_threads_; i++) { + grpc::lock_guard lock(mu_); + nthreads_++; + live_threads_.push_back(new DynamicThread(this)); + } +} + +void DynamicThreadPool::ReapThreads(std::list* tlist) { + for (auto t = tlist->begin(); t != tlist->end(); t++) { + delete *t; + t = tlist->erase(t); + } +} + +DynamicThreadPool::~DynamicThreadPool() { + { + grpc::lock_guard lock(mu_); + shutdown_ = true; + cv_.notify_all(); + } + ReapThreads(&live_threads_); + ReapThreads(&dead_threads_); +} + +void DynamicThreadPool::Add(const std::function& callback) { + grpc::lock_guard lock(mu_); + if (threads_waiting_ == 0) { + // Kick off a new thread + nthreads_++; + live_threads_.push_back(new DynamicThread(this)); + } + callbacks_.push(callback); + cv_.notify_one(); + // Also use this chance to harvest dead threads + if (!dead_threads_.empty()) { + ReapThreads(&dead_threads_); + } +} + +} // namespace grpc diff --git a/test/cpp/server/dynamic_thread_pool_test.cc b/test/cpp/server/dynamic_thread_pool_test.cc new file mode 100644 index 0000000000..615b547077 --- /dev/null +++ b/test/cpp/server/dynamic_thread_pool_test.cc @@ -0,0 +1,77 @@ +/* + * + * Copyright 2015, Google Inc. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following disclaimer + * in the documentation and/or other materials provided with the + * distribution. + * * Neither the name of Google Inc. nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + */ + +#include +#include +#include + +#include +#include + +namespace grpc { + +class DynamicThreadPoolTest : public ::testing::Test { + public: + DynamicThreadPoolTest() : thread_pool_(4) {} + + protected: + DynamicThreadPool thread_pool_; +}; + +void Callback(std::mutex* mu, std::condition_variable* cv, bool* done) { + std::unique_lock lock(*mu); + *done = true; + cv->notify_all(); +} + +TEST_F(DynamicThreadPoolTest, Add) { + std::mutex mu; + std::condition_variable cv; + bool done = false; + std::function callback = std::bind(Callback, &mu, &cv, &done); + thread_pool_.Add(callback); + + // Wait for the callback to finish. + std::unique_lock lock(mu); + while (!done) { + cv.wait(lock); + } +} + +} // namespace grpc + +int main(int argc, char** argv) { + ::testing::InitGoogleTest(&argc, argv); + int result = RUN_ALL_TESTS(); + return result; +} diff --git a/tools/doxygen/Doxyfile.c++ b/tools/doxygen/Doxyfile.c++ index 4bdd8babde..785779beb5 100644 --- a/tools/doxygen/Doxyfile.c++ +++ b/tools/doxygen/Doxyfile.c++ @@ -773,6 +773,7 @@ include/grpc++/config.h \ include/grpc++/config_protobuf.h \ include/grpc++/create_channel.h \ include/grpc++/credentials.h \ +include/grpc++/dynamic_thread_pool.h \ include/grpc++/fixed_size_thread_pool.h \ include/grpc++/generic_stub.h \ include/grpc++/impl/call.h \ diff --git a/tools/doxygen/Doxyfile.c++.internal b/tools/doxygen/Doxyfile.c++.internal index 1c73ca6294..5cf6168388 100644 --- a/tools/doxygen/Doxyfile.c++.internal +++ b/tools/doxygen/Doxyfile.c++.internal @@ -773,6 +773,7 @@ include/grpc++/config.h \ include/grpc++/config_protobuf.h \ include/grpc++/create_channel.h \ include/grpc++/credentials.h \ +include/grpc++/dynamic_thread_pool.h \ include/grpc++/fixed_size_thread_pool.h \ include/grpc++/generic_stub.h \ include/grpc++/impl/call.h \ @@ -825,6 +826,7 @@ src/cpp/common/rpc_method.cc \ src/cpp/proto/proto_utils.cc \ src/cpp/server/async_generic_service.cc \ src/cpp/server/create_default_thread_pool.cc \ +src/cpp/server/dynamic_thread_pool.cc \ src/cpp/server/fixed_size_thread_pool.cc \ src/cpp/server/insecure_server_credentials.cc \ src/cpp/server/server.cc \ diff --git a/tools/run_tests/sources_and_headers.json b/tools/run_tests/sources_and_headers.json index abddaab699..021602928a 100644 --- a/tools/run_tests/sources_and_headers.json +++ b/tools/run_tests/sources_and_headers.json @@ -1181,6 +1181,21 @@ "test/cpp/util/time_test.cc" ] }, + { + "deps": [ + "gpr", + "gpr_test_util", + "grpc", + "grpc++", + "grpc_test_util" + ], + "headers": [], + "language": "c++", + "name": "dynamic_thread_pool_test", + "src": [ + "test/cpp/server/dynamic_thread_pool_test.cc" + ] + }, { "deps": [ "gpr", @@ -10646,6 +10661,7 @@ "include/grpc++/config_protobuf.h", "include/grpc++/create_channel.h", "include/grpc++/credentials.h", + "include/grpc++/dynamic_thread_pool.h", "include/grpc++/fixed_size_thread_pool.h", "include/grpc++/generic_stub.h", "include/grpc++/impl/call.h", @@ -10695,6 +10711,7 @@ "include/grpc++/config_protobuf.h", "include/grpc++/create_channel.h", "include/grpc++/credentials.h", + "include/grpc++/dynamic_thread_pool.h", "include/grpc++/fixed_size_thread_pool.h", "include/grpc++/generic_stub.h", "include/grpc++/impl/call.h", @@ -10745,6 +10762,7 @@ "src/cpp/proto/proto_utils.cc", "src/cpp/server/async_generic_service.cc", "src/cpp/server/create_default_thread_pool.cc", + "src/cpp/server/dynamic_thread_pool.cc", "src/cpp/server/fixed_size_thread_pool.cc", "src/cpp/server/insecure_server_credentials.cc", "src/cpp/server/secure_server_credentials.cc", @@ -10820,6 +10838,7 @@ "include/grpc++/config_protobuf.h", "include/grpc++/create_channel.h", "include/grpc++/credentials.h", + "include/grpc++/dynamic_thread_pool.h", "include/grpc++/fixed_size_thread_pool.h", "include/grpc++/generic_stub.h", "include/grpc++/impl/call.h", @@ -10866,6 +10885,7 @@ "include/grpc++/config_protobuf.h", "include/grpc++/create_channel.h", "include/grpc++/credentials.h", + "include/grpc++/dynamic_thread_pool.h", "include/grpc++/fixed_size_thread_pool.h", "include/grpc++/generic_stub.h", "include/grpc++/impl/call.h", @@ -10910,6 +10930,7 @@ "src/cpp/proto/proto_utils.cc", "src/cpp/server/async_generic_service.cc", "src/cpp/server/create_default_thread_pool.cc", + "src/cpp/server/dynamic_thread_pool.cc", "src/cpp/server/fixed_size_thread_pool.cc", "src/cpp/server/insecure_server_credentials.cc", "src/cpp/server/server.cc", diff --git a/tools/run_tests/tests.json b/tools/run_tests/tests.json index 98ef004c4b..b8a074534f 100644 --- a/tools/run_tests/tests.json +++ b/tools/run_tests/tests.json @@ -675,6 +675,15 @@ "posix" ] }, + { + "flaky": false, + "language": "c++", + "name": "dynamic_thread_pool_test", + "platforms": [ + "windows", + "posix" + ] + }, { "flaky": false, "language": "c++", diff --git a/vsprojects/grpc++/grpc++.vcxproj b/vsprojects/grpc++/grpc++.vcxproj index 2d13bf046b..51b91c6434 100644 --- a/vsprojects/grpc++/grpc++.vcxproj +++ b/vsprojects/grpc++/grpc++.vcxproj @@ -159,6 +159,7 @@ + @@ -235,6 +236,8 @@ + + diff --git a/vsprojects/grpc++/grpc++.vcxproj.filters b/vsprojects/grpc++/grpc++.vcxproj.filters index c5d8db57ae..85b743a8fb 100644 --- a/vsprojects/grpc++/grpc++.vcxproj.filters +++ b/vsprojects/grpc++/grpc++.vcxproj.filters @@ -61,6 +61,9 @@ src\cpp\server + + src\cpp\server + src\cpp\server @@ -132,6 +135,9 @@ include\grpc++ + + include\grpc++ + include\grpc++ diff --git a/vsprojects/grpc++_unsecure/grpc++_unsecure.vcxproj b/vsprojects/grpc++_unsecure/grpc++_unsecure.vcxproj index f03715b353..6886bbc2a0 100644 --- a/vsprojects/grpc++_unsecure/grpc++_unsecure.vcxproj +++ b/vsprojects/grpc++_unsecure/grpc++_unsecure.vcxproj @@ -159,6 +159,7 @@ + @@ -222,6 +223,8 @@ + + diff --git a/vsprojects/grpc++_unsecure/grpc++_unsecure.vcxproj.filters b/vsprojects/grpc++_unsecure/grpc++_unsecure.vcxproj.filters index 8f7f3bcd5e..7f109a2557 100644 --- a/vsprojects/grpc++_unsecure/grpc++_unsecure.vcxproj.filters +++ b/vsprojects/grpc++_unsecure/grpc++_unsecure.vcxproj.filters @@ -46,6 +46,9 @@ src\cpp\server + + src\cpp\server + src\cpp\server @@ -117,6 +120,9 @@ include\grpc++ + + include\grpc++ + include\grpc++ -- cgit v1.2.3 From 5ddbb9d405c01564b935e9ab81ae2833124e0b12 Mon Sep 17 00:00:00 2001 From: Craig Tiller Date: Wed, 29 Jul 2015 15:58:11 -0700 Subject: Allow specific pollers to be woken Currently, if two threads call grpc_completion_queue_pluck on the same completion queue for different tags, there is a 50% chance that we deliver the completion wakeup to the wrong poller - forcing the correct poller to wait until its polling times out before it can return an event up to the application. This change tweaks our polling interfaces so that we can indeed wake a specific poller. Nothing has been performance tuned yet. It's definitely sub-optimal in a number of places. Wakeup file-descriptors should be recycled. We should have a path that avoids calling poll() followed by epoll(). We can probably live without it right at the second though. This code will fail on Windows at least (I'll do that port when I'm in the office and have a Windows machine). --- BUILD | 6 - Makefile | 36 +---- build.json | 19 --- gRPC.podspec | 3 - src/core/iomgr/fd_posix.c | 18 ++- src/core/iomgr/fd_posix.h | 9 +- src/core/iomgr/pollset.h | 23 ++- src/core/iomgr/pollset_kick_posix.c | 168 --------------------- src/core/iomgr/pollset_kick_posix.h | 93 ------------ src/core/iomgr/pollset_multipoller_with_epoll.c | 102 +++++++------ .../iomgr/pollset_multipoller_with_poll_posix.c | 123 ++++++--------- src/core/iomgr/pollset_posix.c | 145 +++++++++++------- src/core/iomgr/pollset_posix.h | 29 ++-- src/core/iomgr/wakeup_fd_eventfd.c | 8 +- src/core/iomgr/wakeup_fd_pipe.c | 12 +- src/core/iomgr/wakeup_fd_posix.c | 10 +- src/core/iomgr/wakeup_fd_posix.h | 20 +-- src/core/security/google_default_credentials.c | 6 +- src/core/surface/completion_queue.c | 60 ++++++-- src/core/surface/completion_queue.h | 2 - test/core/httpcli/httpcli_test.c | 8 +- test/core/iomgr/endpoint_tests.c | 21 +-- test/core/iomgr/fd_posix_test.c | 20 ++- test/core/iomgr/poll_kick_posix_test.c | 130 ---------------- test/core/iomgr/tcp_client_posix_test.c | 11 +- test/core/iomgr/tcp_posix_test.c | 17 ++- test/core/iomgr/tcp_server_posix_test.c | 5 +- test/core/security/oauth2_utils.c | 9 +- .../security/print_google_default_creds_token.c | 9 +- test/core/security/verify_jwt.c | 9 +- tools/doxygen/Doxyfile.core.internal | 2 - tools/run_tests/sources_and_headers.json | 20 --- tools/run_tests/tests.json | 8 - vsprojects/grpc/grpc.vcxproj | 3 - vsprojects/grpc/grpc.vcxproj.filters | 6 - vsprojects/grpc_unsecure/grpc_unsecure.vcxproj | 3 - .../grpc_unsecure/grpc_unsecure.vcxproj.filters | 6 - 37 files changed, 384 insertions(+), 795 deletions(-) delete mode 100644 src/core/iomgr/pollset_kick_posix.c delete mode 100644 src/core/iomgr/pollset_kick_posix.h delete mode 100644 test/core/iomgr/poll_kick_posix_test.c (limited to 'tools/doxygen') diff --git a/BUILD b/BUILD index eba3882a9d..d9282f4269 100644 --- a/BUILD +++ b/BUILD @@ -185,7 +185,6 @@ cc_library( "src/core/iomgr/iomgr_internal.h", "src/core/iomgr/iomgr_posix.h", "src/core/iomgr/pollset.h", - "src/core/iomgr/pollset_kick_posix.h", "src/core/iomgr/pollset_posix.h", "src/core/iomgr/pollset_set.h", "src/core/iomgr/pollset_set_posix.h", @@ -305,7 +304,6 @@ cc_library( "src/core/iomgr/iomgr.c", "src/core/iomgr/iomgr_posix.c", "src/core/iomgr/iomgr_windows.c", - "src/core/iomgr/pollset_kick_posix.c", "src/core/iomgr/pollset_multipoller_with_epoll.c", "src/core/iomgr/pollset_multipoller_with_poll_posix.c", "src/core/iomgr/pollset_posix.c", @@ -444,7 +442,6 @@ cc_library( "src/core/iomgr/iomgr_internal.h", "src/core/iomgr/iomgr_posix.h", "src/core/iomgr/pollset.h", - "src/core/iomgr/pollset_kick_posix.h", "src/core/iomgr/pollset_posix.h", "src/core/iomgr/pollset_set.h", "src/core/iomgr/pollset_set_posix.h", @@ -541,7 +538,6 @@ cc_library( "src/core/iomgr/iomgr.c", "src/core/iomgr/iomgr_posix.c", "src/core/iomgr/iomgr_windows.c", - "src/core/iomgr/pollset_kick_posix.c", "src/core/iomgr/pollset_multipoller_with_epoll.c", "src/core/iomgr/pollset_multipoller_with_poll_posix.c", "src/core/iomgr/pollset_posix.c", @@ -1025,7 +1021,6 @@ objc_library( "src/core/iomgr/iomgr.c", "src/core/iomgr/iomgr_posix.c", "src/core/iomgr/iomgr_windows.c", - "src/core/iomgr/pollset_kick_posix.c", "src/core/iomgr/pollset_multipoller_with_epoll.c", "src/core/iomgr/pollset_multipoller_with_poll_posix.c", "src/core/iomgr/pollset_posix.c", @@ -1166,7 +1161,6 @@ objc_library( "src/core/iomgr/iomgr_internal.h", "src/core/iomgr/iomgr_posix.h", "src/core/iomgr/pollset.h", - "src/core/iomgr/pollset_kick_posix.h", "src/core/iomgr/pollset_posix.h", "src/core/iomgr/pollset_set.h", "src/core/iomgr/pollset_set_posix.h", diff --git a/Makefile b/Makefile index 0a8b5cfaf0..7921bf838c 100644 --- a/Makefile +++ b/Makefile @@ -826,7 +826,6 @@ multi_init_test: $(BINDIR)/$(CONFIG)/multi_init_test multiple_server_queues_test: $(BINDIR)/$(CONFIG)/multiple_server_queues_test murmur_hash_test: $(BINDIR)/$(CONFIG)/murmur_hash_test no_server_test: $(BINDIR)/$(CONFIG)/no_server_test -poll_kick_posix_test: $(BINDIR)/$(CONFIG)/poll_kick_posix_test resolve_address_test: $(BINDIR)/$(CONFIG)/resolve_address_test secure_endpoint_test: $(BINDIR)/$(CONFIG)/secure_endpoint_test sockaddr_utils_test: $(BINDIR)/$(CONFIG)/sockaddr_utils_test @@ -1594,7 +1593,7 @@ privatelibs_cxx: $(LIBDIR)/$(CONFIG)/libgrpc++_test_config.a $(LIBDIR)/$(CONFIG buildtests: buildtests_c buildtests_cxx -buildtests_c: privatelibs_c $(BINDIR)/$(CONFIG)/alarm_heap_test $(BINDIR)/$(CONFIG)/alarm_list_test $(BINDIR)/$(CONFIG)/alarm_test $(BINDIR)/$(CONFIG)/alpn_test $(BINDIR)/$(CONFIG)/bin_encoder_test $(BINDIR)/$(CONFIG)/chttp2_status_conversion_test $(BINDIR)/$(CONFIG)/chttp2_stream_encoder_test $(BINDIR)/$(CONFIG)/chttp2_stream_map_test $(BINDIR)/$(CONFIG)/dualstack_socket_test $(BINDIR)/$(CONFIG)/fd_conservation_posix_test $(BINDIR)/$(CONFIG)/fd_posix_test $(BINDIR)/$(CONFIG)/fling_client $(BINDIR)/$(CONFIG)/fling_server $(BINDIR)/$(CONFIG)/fling_stream_test $(BINDIR)/$(CONFIG)/fling_test $(BINDIR)/$(CONFIG)/gpr_cancellable_test $(BINDIR)/$(CONFIG)/gpr_cmdline_test $(BINDIR)/$(CONFIG)/gpr_env_test $(BINDIR)/$(CONFIG)/gpr_file_test $(BINDIR)/$(CONFIG)/gpr_histogram_test $(BINDIR)/$(CONFIG)/gpr_host_port_test $(BINDIR)/$(CONFIG)/gpr_log_test $(BINDIR)/$(CONFIG)/gpr_slice_buffer_test $(BINDIR)/$(CONFIG)/gpr_slice_test $(BINDIR)/$(CONFIG)/gpr_stack_lockfree_test $(BINDIR)/$(CONFIG)/gpr_string_test $(BINDIR)/$(CONFIG)/gpr_sync_test $(BINDIR)/$(CONFIG)/gpr_thd_test $(BINDIR)/$(CONFIG)/gpr_time_test $(BINDIR)/$(CONFIG)/gpr_tls_test $(BINDIR)/$(CONFIG)/gpr_useful_test $(BINDIR)/$(CONFIG)/grpc_auth_context_test $(BINDIR)/$(CONFIG)/grpc_base64_test $(BINDIR)/$(CONFIG)/grpc_byte_buffer_reader_test $(BINDIR)/$(CONFIG)/grpc_channel_stack_test $(BINDIR)/$(CONFIG)/grpc_completion_queue_test $(BINDIR)/$(CONFIG)/grpc_credentials_test $(BINDIR)/$(CONFIG)/grpc_json_token_test $(BINDIR)/$(CONFIG)/grpc_jwt_verifier_test $(BINDIR)/$(CONFIG)/grpc_security_connector_test $(BINDIR)/$(CONFIG)/grpc_stream_op_test $(BINDIR)/$(CONFIG)/hpack_parser_test $(BINDIR)/$(CONFIG)/hpack_table_test $(BINDIR)/$(CONFIG)/httpcli_format_request_test $(BINDIR)/$(CONFIG)/httpcli_parser_test $(BINDIR)/$(CONFIG)/httpcli_test $(BINDIR)/$(CONFIG)/json_rewrite $(BINDIR)/$(CONFIG)/json_rewrite_test $(BINDIR)/$(CONFIG)/json_test $(BINDIR)/$(CONFIG)/lame_client_test $(BINDIR)/$(CONFIG)/message_compress_test $(BINDIR)/$(CONFIG)/multi_init_test $(BINDIR)/$(CONFIG)/multiple_server_queues_test $(BINDIR)/$(CONFIG)/murmur_hash_test $(BINDIR)/$(CONFIG)/no_server_test $(BINDIR)/$(CONFIG)/poll_kick_posix_test $(BINDIR)/$(CONFIG)/resolve_address_test $(BINDIR)/$(CONFIG)/secure_endpoint_test $(BINDIR)/$(CONFIG)/sockaddr_utils_test $(BINDIR)/$(CONFIG)/tcp_client_posix_test $(BINDIR)/$(CONFIG)/tcp_posix_test $(BINDIR)/$(CONFIG)/tcp_server_posix_test $(BINDIR)/$(CONFIG)/time_averaged_stats_test $(BINDIR)/$(CONFIG)/timeout_encoding_test $(BINDIR)/$(CONFIG)/timers_test $(BINDIR)/$(CONFIG)/transport_metadata_test $(BINDIR)/$(CONFIG)/transport_security_test $(BINDIR)/$(CONFIG)/uri_parser_test $(BINDIR)/$(CONFIG)/chttp2_fake_security_bad_hostname_test $(BINDIR)/$(CONFIG)/chttp2_fake_security_cancel_after_accept_test $(BINDIR)/$(CONFIG)/chttp2_fake_security_cancel_after_accept_and_writes_closed_test $(BINDIR)/$(CONFIG)/chttp2_fake_security_cancel_after_invoke_test $(BINDIR)/$(CONFIG)/chttp2_fake_security_cancel_before_invoke_test $(BINDIR)/$(CONFIG)/chttp2_fake_security_cancel_in_a_vacuum_test $(BINDIR)/$(CONFIG)/chttp2_fake_security_census_simple_request_test $(BINDIR)/$(CONFIG)/chttp2_fake_security_channel_connectivity_test $(BINDIR)/$(CONFIG)/chttp2_fake_security_disappearing_server_test $(BINDIR)/$(CONFIG)/chttp2_fake_security_early_server_shutdown_finishes_inflight_calls_test $(BINDIR)/$(CONFIG)/chttp2_fake_security_early_server_shutdown_finishes_tags_test $(BINDIR)/$(CONFIG)/chttp2_fake_security_empty_batch_test $(BINDIR)/$(CONFIG)/chttp2_fake_security_graceful_server_shutdown_test $(BINDIR)/$(CONFIG)/chttp2_fake_security_invoke_large_request_test $(BINDIR)/$(CONFIG)/chttp2_fake_security_max_concurrent_streams_test $(BINDIR)/$(CONFIG)/chttp2_fake_security_max_message_length_test $(BINDIR)/$(CONFIG)/chttp2_fake_security_no_op_test $(BINDIR)/$(CONFIG)/chttp2_fake_security_ping_pong_streaming_test $(BINDIR)/$(CONFIG)/chttp2_fake_security_registered_call_test $(BINDIR)/$(CONFIG)/chttp2_fake_security_request_response_with_binary_metadata_and_payload_test $(BINDIR)/$(CONFIG)/chttp2_fake_security_request_response_with_metadata_and_payload_test $(BINDIR)/$(CONFIG)/chttp2_fake_security_request_response_with_payload_test $(BINDIR)/$(CONFIG)/chttp2_fake_security_request_response_with_payload_and_call_creds_test $(BINDIR)/$(CONFIG)/chttp2_fake_security_request_response_with_trailing_metadata_and_payload_test $(BINDIR)/$(CONFIG)/chttp2_fake_security_request_with_compressed_payload_test $(BINDIR)/$(CONFIG)/chttp2_fake_security_request_with_flags_test $(BINDIR)/$(CONFIG)/chttp2_fake_security_request_with_large_metadata_test $(BINDIR)/$(CONFIG)/chttp2_fake_security_request_with_payload_test $(BINDIR)/$(CONFIG)/chttp2_fake_security_server_finishes_request_test $(BINDIR)/$(CONFIG)/chttp2_fake_security_simple_delayed_request_test $(BINDIR)/$(CONFIG)/chttp2_fake_security_simple_request_test $(BINDIR)/$(CONFIG)/chttp2_fake_security_simple_request_with_high_initial_sequence_number_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_bad_hostname_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_cancel_after_accept_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_cancel_after_accept_and_writes_closed_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_cancel_after_invoke_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_cancel_before_invoke_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_cancel_in_a_vacuum_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_census_simple_request_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_channel_connectivity_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_disappearing_server_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_early_server_shutdown_finishes_inflight_calls_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_early_server_shutdown_finishes_tags_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_empty_batch_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_graceful_server_shutdown_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_invoke_large_request_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_max_concurrent_streams_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_max_message_length_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_no_op_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_ping_pong_streaming_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_registered_call_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_request_response_with_binary_metadata_and_payload_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_request_response_with_metadata_and_payload_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_request_response_with_payload_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_request_response_with_payload_and_call_creds_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_request_response_with_trailing_metadata_and_payload_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_request_with_compressed_payload_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_request_with_flags_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_request_with_large_metadata_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_request_with_payload_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_server_finishes_request_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_simple_delayed_request_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_simple_request_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_simple_request_with_high_initial_sequence_number_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_bad_hostname_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_cancel_after_accept_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_cancel_after_accept_and_writes_closed_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_cancel_after_invoke_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_cancel_before_invoke_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_cancel_in_a_vacuum_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_census_simple_request_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_channel_connectivity_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_disappearing_server_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_early_server_shutdown_finishes_inflight_calls_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_early_server_shutdown_finishes_tags_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_empty_batch_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_graceful_server_shutdown_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_invoke_large_request_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_max_concurrent_streams_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_max_message_length_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_no_op_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_ping_pong_streaming_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_registered_call_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_request_response_with_binary_metadata_and_payload_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_request_response_with_metadata_and_payload_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_request_response_with_payload_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_request_response_with_payload_and_call_creds_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_request_response_with_trailing_metadata_and_payload_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_request_with_compressed_payload_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_request_with_flags_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_request_with_large_metadata_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_request_with_payload_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_server_finishes_request_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_simple_delayed_request_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_simple_request_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_simple_request_with_high_initial_sequence_number_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_bad_hostname_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_cancel_after_accept_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_cancel_after_accept_and_writes_closed_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_cancel_after_invoke_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_cancel_before_invoke_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_cancel_in_a_vacuum_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_census_simple_request_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_channel_connectivity_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_disappearing_server_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_early_server_shutdown_finishes_inflight_calls_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_early_server_shutdown_finishes_tags_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_empty_batch_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_graceful_server_shutdown_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_invoke_large_request_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_max_concurrent_streams_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_max_message_length_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_no_op_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_ping_pong_streaming_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_registered_call_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_request_response_with_binary_metadata_and_payload_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_request_response_with_metadata_and_payload_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_request_response_with_payload_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_request_response_with_payload_and_call_creds_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_request_response_with_trailing_metadata_and_payload_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_request_with_compressed_payload_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_request_with_flags_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_request_with_large_metadata_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_request_with_payload_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_server_finishes_request_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_simple_delayed_request_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_simple_request_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_simple_request_with_high_initial_sequence_number_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_bad_hostname_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_cancel_after_accept_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_cancel_after_accept_and_writes_closed_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_cancel_after_invoke_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_cancel_before_invoke_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_cancel_in_a_vacuum_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_census_simple_request_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_channel_connectivity_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_disappearing_server_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_early_server_shutdown_finishes_inflight_calls_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_early_server_shutdown_finishes_tags_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_empty_batch_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_graceful_server_shutdown_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_invoke_large_request_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_max_concurrent_streams_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_max_message_length_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_no_op_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_ping_pong_streaming_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_registered_call_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_request_response_with_binary_metadata_and_payload_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_request_response_with_metadata_and_payload_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_request_response_with_payload_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_request_response_with_payload_and_call_creds_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_request_response_with_trailing_metadata_and_payload_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_request_with_compressed_payload_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_request_with_flags_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_request_with_large_metadata_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_request_with_payload_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_server_finishes_request_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_simple_delayed_request_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_simple_request_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_simple_request_with_high_initial_sequence_number_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_bad_hostname_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_cancel_after_accept_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_cancel_after_accept_and_writes_closed_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_cancel_after_invoke_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_cancel_before_invoke_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_cancel_in_a_vacuum_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_census_simple_request_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_channel_connectivity_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_disappearing_server_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_early_server_shutdown_finishes_inflight_calls_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_early_server_shutdown_finishes_tags_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_empty_batch_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_graceful_server_shutdown_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_invoke_large_request_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_max_concurrent_streams_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_max_message_length_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_no_op_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_ping_pong_streaming_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_registered_call_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_request_response_with_binary_metadata_and_payload_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_request_response_with_metadata_and_payload_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_request_response_with_payload_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_request_response_with_payload_and_call_creds_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_request_response_with_trailing_metadata_and_payload_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_request_with_compressed_payload_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_request_with_flags_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_request_with_large_metadata_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_request_with_payload_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_server_finishes_request_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_simple_delayed_request_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_simple_request_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_simple_request_with_high_initial_sequence_number_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_bad_hostname_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_cancel_after_accept_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_cancel_after_accept_and_writes_closed_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_cancel_after_invoke_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_cancel_before_invoke_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_cancel_in_a_vacuum_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_census_simple_request_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_channel_connectivity_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_disappearing_server_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_early_server_shutdown_finishes_inflight_calls_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_early_server_shutdown_finishes_tags_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_empty_batch_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_graceful_server_shutdown_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_invoke_large_request_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_max_concurrent_streams_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_max_message_length_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_no_op_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_ping_pong_streaming_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_registered_call_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_request_response_with_binary_metadata_and_payload_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_request_response_with_metadata_and_payload_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_request_response_with_payload_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_request_response_with_payload_and_call_creds_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_request_response_with_trailing_metadata_and_payload_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_request_with_compressed_payload_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_request_with_flags_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_request_with_large_metadata_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_request_with_payload_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_server_finishes_request_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_simple_delayed_request_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_simple_request_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_simple_request_with_high_initial_sequence_number_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_bad_hostname_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_cancel_after_accept_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_cancel_after_accept_and_writes_closed_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_cancel_after_invoke_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_cancel_before_invoke_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_cancel_in_a_vacuum_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_census_simple_request_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_channel_connectivity_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_disappearing_server_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_early_server_shutdown_finishes_inflight_calls_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_early_server_shutdown_finishes_tags_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_empty_batch_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_graceful_server_shutdown_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_invoke_large_request_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_max_concurrent_streams_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_max_message_length_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_no_op_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_ping_pong_streaming_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_registered_call_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_request_response_with_binary_metadata_and_payload_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_request_response_with_metadata_and_payload_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_request_response_with_payload_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_request_response_with_payload_and_call_creds_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_request_response_with_trailing_metadata_and_payload_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_request_with_compressed_payload_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_request_with_flags_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_request_with_large_metadata_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_request_with_payload_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_server_finishes_request_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_simple_delayed_request_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_simple_request_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_simple_request_with_high_initial_sequence_number_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_bad_hostname_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_cancel_after_accept_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_cancel_after_accept_and_writes_closed_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_cancel_after_invoke_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_cancel_before_invoke_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_cancel_in_a_vacuum_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_census_simple_request_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_channel_connectivity_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_disappearing_server_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_early_server_shutdown_finishes_inflight_calls_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_early_server_shutdown_finishes_tags_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_empty_batch_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_graceful_server_shutdown_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_invoke_large_request_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_max_concurrent_streams_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_max_message_length_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_no_op_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_ping_pong_streaming_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_registered_call_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_binary_metadata_and_payload_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_metadata_and_payload_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_payload_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_payload_and_call_creds_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_trailing_metadata_and_payload_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_request_with_compressed_payload_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_request_with_flags_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_request_with_large_metadata_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_request_with_payload_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_server_finishes_request_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_simple_delayed_request_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_simple_request_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_simple_request_with_high_initial_sequence_number_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_bad_hostname_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_cancel_after_accept_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_cancel_after_accept_and_writes_closed_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_cancel_after_invoke_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_cancel_before_invoke_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_cancel_in_a_vacuum_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_census_simple_request_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_early_server_shutdown_finishes_inflight_calls_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_early_server_shutdown_finishes_tags_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_empty_batch_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_graceful_server_shutdown_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_invoke_large_request_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_max_concurrent_streams_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_max_message_length_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_no_op_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_ping_pong_streaming_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_registered_call_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_request_response_with_binary_metadata_and_payload_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_request_response_with_metadata_and_payload_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_request_response_with_payload_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_request_response_with_payload_and_call_creds_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_request_response_with_trailing_metadata_and_payload_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_request_with_compressed_payload_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_request_with_flags_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_request_with_large_metadata_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_request_with_payload_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_server_finishes_request_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_simple_request_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_simple_request_with_high_initial_sequence_number_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_bad_hostname_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_cancel_after_accept_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_cancel_after_accept_and_writes_closed_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_cancel_after_invoke_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_cancel_before_invoke_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_cancel_in_a_vacuum_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_census_simple_request_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_early_server_shutdown_finishes_inflight_calls_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_early_server_shutdown_finishes_tags_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_empty_batch_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_graceful_server_shutdown_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_invoke_large_request_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_max_concurrent_streams_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_max_message_length_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_no_op_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_ping_pong_streaming_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_registered_call_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_request_response_with_binary_metadata_and_payload_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_request_response_with_metadata_and_payload_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_request_response_with_payload_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_request_response_with_payload_and_call_creds_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_request_response_with_trailing_metadata_and_payload_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_request_with_compressed_payload_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_request_with_flags_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_request_with_large_metadata_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_request_with_payload_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_server_finishes_request_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_simple_request_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_simple_request_with_high_initial_sequence_number_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_bad_hostname_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_cancel_after_accept_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_cancel_after_accept_and_writes_closed_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_cancel_after_invoke_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_cancel_before_invoke_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_cancel_in_a_vacuum_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_census_simple_request_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_early_server_shutdown_finishes_inflight_calls_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_early_server_shutdown_finishes_tags_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_empty_batch_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_graceful_server_shutdown_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_invoke_large_request_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_max_concurrent_streams_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_max_message_length_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_no_op_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_ping_pong_streaming_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_registered_call_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_request_response_with_binary_metadata_and_payload_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_request_response_with_metadata_and_payload_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_request_response_with_payload_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_request_response_with_payload_and_call_creds_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_request_response_with_trailing_metadata_and_payload_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_request_with_compressed_payload_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_request_with_flags_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_request_with_large_metadata_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_request_with_payload_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_server_finishes_request_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_simple_request_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_simple_request_with_high_initial_sequence_number_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_bad_hostname_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_cancel_after_accept_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_cancel_after_accept_and_writes_closed_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_cancel_after_invoke_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_cancel_before_invoke_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_cancel_in_a_vacuum_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_census_simple_request_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_channel_connectivity_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_disappearing_server_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_early_server_shutdown_finishes_inflight_calls_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_early_server_shutdown_finishes_tags_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_empty_batch_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_graceful_server_shutdown_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_invoke_large_request_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_max_concurrent_streams_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_max_message_length_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_no_op_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_ping_pong_streaming_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_registered_call_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_request_response_with_binary_metadata_and_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_request_response_with_metadata_and_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_request_response_with_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_request_response_with_trailing_metadata_and_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_request_with_compressed_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_request_with_flags_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_request_with_large_metadata_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_request_with_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_server_finishes_request_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_simple_delayed_request_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_simple_request_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_simple_request_with_high_initial_sequence_number_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_bad_hostname_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_cancel_after_accept_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_cancel_after_accept_and_writes_closed_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_cancel_after_invoke_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_cancel_before_invoke_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_cancel_in_a_vacuum_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_census_simple_request_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_channel_connectivity_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_disappearing_server_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_early_server_shutdown_finishes_inflight_calls_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_early_server_shutdown_finishes_tags_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_empty_batch_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_graceful_server_shutdown_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_invoke_large_request_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_max_concurrent_streams_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_max_message_length_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_no_op_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_ping_pong_streaming_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_registered_call_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_request_response_with_binary_metadata_and_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_request_response_with_metadata_and_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_request_response_with_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_request_response_with_trailing_metadata_and_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_request_with_compressed_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_request_with_flags_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_request_with_large_metadata_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_request_with_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_server_finishes_request_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_simple_delayed_request_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_simple_request_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_simple_request_with_high_initial_sequence_number_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_bad_hostname_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_cancel_after_accept_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_cancel_after_accept_and_writes_closed_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_cancel_after_invoke_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_cancel_before_invoke_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_cancel_in_a_vacuum_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_census_simple_request_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_channel_connectivity_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_disappearing_server_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_early_server_shutdown_finishes_inflight_calls_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_early_server_shutdown_finishes_tags_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_empty_batch_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_graceful_server_shutdown_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_invoke_large_request_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_max_concurrent_streams_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_max_message_length_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_no_op_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_ping_pong_streaming_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_registered_call_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_request_response_with_binary_metadata_and_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_request_response_with_metadata_and_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_request_response_with_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_request_response_with_trailing_metadata_and_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_request_with_compressed_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_request_with_flags_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_request_with_large_metadata_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_request_with_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_server_finishes_request_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_simple_delayed_request_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_simple_request_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_simple_request_with_high_initial_sequence_number_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_bad_hostname_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_cancel_after_accept_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_cancel_after_accept_and_writes_closed_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_cancel_after_invoke_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_cancel_before_invoke_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_cancel_in_a_vacuum_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_census_simple_request_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_channel_connectivity_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_disappearing_server_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_early_server_shutdown_finishes_inflight_calls_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_early_server_shutdown_finishes_tags_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_empty_batch_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_graceful_server_shutdown_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_invoke_large_request_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_max_concurrent_streams_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_max_message_length_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_no_op_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_ping_pong_streaming_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_registered_call_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_request_response_with_binary_metadata_and_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_request_response_with_metadata_and_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_request_response_with_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_request_response_with_trailing_metadata_and_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_request_with_compressed_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_request_with_flags_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_request_with_large_metadata_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_request_with_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_server_finishes_request_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_simple_delayed_request_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_simple_request_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_simple_request_with_high_initial_sequence_number_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_bad_hostname_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_cancel_after_accept_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_cancel_after_accept_and_writes_closed_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_cancel_after_invoke_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_cancel_before_invoke_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_cancel_in_a_vacuum_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_census_simple_request_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_channel_connectivity_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_disappearing_server_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_early_server_shutdown_finishes_inflight_calls_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_early_server_shutdown_finishes_tags_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_empty_batch_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_graceful_server_shutdown_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_invoke_large_request_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_max_concurrent_streams_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_max_message_length_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_no_op_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_ping_pong_streaming_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_registered_call_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_request_response_with_binary_metadata_and_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_request_response_with_metadata_and_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_request_response_with_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_request_response_with_trailing_metadata_and_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_request_with_compressed_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_request_with_flags_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_request_with_large_metadata_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_request_with_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_server_finishes_request_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_simple_delayed_request_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_simple_request_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_simple_request_with_high_initial_sequence_number_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_bad_hostname_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_cancel_after_accept_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_cancel_after_accept_and_writes_closed_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_cancel_after_invoke_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_cancel_before_invoke_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_cancel_in_a_vacuum_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_census_simple_request_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_early_server_shutdown_finishes_inflight_calls_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_early_server_shutdown_finishes_tags_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_empty_batch_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_graceful_server_shutdown_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_invoke_large_request_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_max_concurrent_streams_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_max_message_length_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_no_op_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_ping_pong_streaming_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_registered_call_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_request_response_with_binary_metadata_and_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_request_response_with_metadata_and_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_request_response_with_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_request_response_with_trailing_metadata_and_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_request_with_compressed_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_request_with_flags_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_request_with_large_metadata_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_request_with_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_server_finishes_request_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_simple_request_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_simple_request_with_high_initial_sequence_number_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_bad_hostname_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_cancel_after_accept_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_cancel_after_accept_and_writes_closed_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_cancel_after_invoke_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_cancel_before_invoke_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_cancel_in_a_vacuum_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_census_simple_request_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_early_server_shutdown_finishes_inflight_calls_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_early_server_shutdown_finishes_tags_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_empty_batch_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_graceful_server_shutdown_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_invoke_large_request_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_max_concurrent_streams_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_max_message_length_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_no_op_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_ping_pong_streaming_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_registered_call_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_request_response_with_binary_metadata_and_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_request_response_with_metadata_and_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_request_response_with_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_request_response_with_trailing_metadata_and_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_request_with_compressed_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_request_with_flags_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_request_with_large_metadata_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_request_with_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_server_finishes_request_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_simple_request_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_simple_request_with_high_initial_sequence_number_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_bad_hostname_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_cancel_after_accept_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_cancel_after_accept_and_writes_closed_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_cancel_after_invoke_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_cancel_before_invoke_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_cancel_in_a_vacuum_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_census_simple_request_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_early_server_shutdown_finishes_inflight_calls_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_early_server_shutdown_finishes_tags_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_empty_batch_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_graceful_server_shutdown_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_invoke_large_request_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_max_concurrent_streams_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_max_message_length_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_no_op_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_ping_pong_streaming_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_registered_call_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_request_response_with_binary_metadata_and_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_request_response_with_metadata_and_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_request_response_with_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_request_response_with_trailing_metadata_and_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_request_with_compressed_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_request_with_flags_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_request_with_large_metadata_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_request_with_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_server_finishes_request_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_simple_request_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_simple_request_with_high_initial_sequence_number_unsecure_test $(BINDIR)/$(CONFIG)/connection_prefix_bad_client_test $(BINDIR)/$(CONFIG)/initial_settings_frame_bad_client_test +buildtests_c: privatelibs_c $(BINDIR)/$(CONFIG)/alarm_heap_test $(BINDIR)/$(CONFIG)/alarm_list_test $(BINDIR)/$(CONFIG)/alarm_test $(BINDIR)/$(CONFIG)/alpn_test $(BINDIR)/$(CONFIG)/bin_encoder_test $(BINDIR)/$(CONFIG)/chttp2_status_conversion_test $(BINDIR)/$(CONFIG)/chttp2_stream_encoder_test $(BINDIR)/$(CONFIG)/chttp2_stream_map_test $(BINDIR)/$(CONFIG)/dualstack_socket_test $(BINDIR)/$(CONFIG)/fd_conservation_posix_test $(BINDIR)/$(CONFIG)/fd_posix_test $(BINDIR)/$(CONFIG)/fling_client $(BINDIR)/$(CONFIG)/fling_server $(BINDIR)/$(CONFIG)/fling_stream_test $(BINDIR)/$(CONFIG)/fling_test $(BINDIR)/$(CONFIG)/gpr_cancellable_test $(BINDIR)/$(CONFIG)/gpr_cmdline_test $(BINDIR)/$(CONFIG)/gpr_env_test $(BINDIR)/$(CONFIG)/gpr_file_test $(BINDIR)/$(CONFIG)/gpr_histogram_test $(BINDIR)/$(CONFIG)/gpr_host_port_test $(BINDIR)/$(CONFIG)/gpr_log_test $(BINDIR)/$(CONFIG)/gpr_slice_buffer_test $(BINDIR)/$(CONFIG)/gpr_slice_test $(BINDIR)/$(CONFIG)/gpr_stack_lockfree_test $(BINDIR)/$(CONFIG)/gpr_string_test $(BINDIR)/$(CONFIG)/gpr_sync_test $(BINDIR)/$(CONFIG)/gpr_thd_test $(BINDIR)/$(CONFIG)/gpr_time_test $(BINDIR)/$(CONFIG)/gpr_tls_test $(BINDIR)/$(CONFIG)/gpr_useful_test $(BINDIR)/$(CONFIG)/grpc_auth_context_test $(BINDIR)/$(CONFIG)/grpc_base64_test $(BINDIR)/$(CONFIG)/grpc_byte_buffer_reader_test $(BINDIR)/$(CONFIG)/grpc_channel_stack_test $(BINDIR)/$(CONFIG)/grpc_completion_queue_test $(BINDIR)/$(CONFIG)/grpc_credentials_test $(BINDIR)/$(CONFIG)/grpc_json_token_test $(BINDIR)/$(CONFIG)/grpc_jwt_verifier_test $(BINDIR)/$(CONFIG)/grpc_security_connector_test $(BINDIR)/$(CONFIG)/grpc_stream_op_test $(BINDIR)/$(CONFIG)/hpack_parser_test $(BINDIR)/$(CONFIG)/hpack_table_test $(BINDIR)/$(CONFIG)/httpcli_format_request_test $(BINDIR)/$(CONFIG)/httpcli_parser_test $(BINDIR)/$(CONFIG)/httpcli_test $(BINDIR)/$(CONFIG)/json_rewrite $(BINDIR)/$(CONFIG)/json_rewrite_test $(BINDIR)/$(CONFIG)/json_test $(BINDIR)/$(CONFIG)/lame_client_test $(BINDIR)/$(CONFIG)/message_compress_test $(BINDIR)/$(CONFIG)/multi_init_test $(BINDIR)/$(CONFIG)/multiple_server_queues_test $(BINDIR)/$(CONFIG)/murmur_hash_test $(BINDIR)/$(CONFIG)/no_server_test $(BINDIR)/$(CONFIG)/resolve_address_test $(BINDIR)/$(CONFIG)/secure_endpoint_test $(BINDIR)/$(CONFIG)/sockaddr_utils_test $(BINDIR)/$(CONFIG)/tcp_client_posix_test $(BINDIR)/$(CONFIG)/tcp_posix_test $(BINDIR)/$(CONFIG)/tcp_server_posix_test $(BINDIR)/$(CONFIG)/time_averaged_stats_test $(BINDIR)/$(CONFIG)/timeout_encoding_test $(BINDIR)/$(CONFIG)/timers_test $(BINDIR)/$(CONFIG)/transport_metadata_test $(BINDIR)/$(CONFIG)/transport_security_test $(BINDIR)/$(CONFIG)/uri_parser_test $(BINDIR)/$(CONFIG)/chttp2_fake_security_bad_hostname_test $(BINDIR)/$(CONFIG)/chttp2_fake_security_cancel_after_accept_test $(BINDIR)/$(CONFIG)/chttp2_fake_security_cancel_after_accept_and_writes_closed_test $(BINDIR)/$(CONFIG)/chttp2_fake_security_cancel_after_invoke_test $(BINDIR)/$(CONFIG)/chttp2_fake_security_cancel_before_invoke_test $(BINDIR)/$(CONFIG)/chttp2_fake_security_cancel_in_a_vacuum_test $(BINDIR)/$(CONFIG)/chttp2_fake_security_census_simple_request_test $(BINDIR)/$(CONFIG)/chttp2_fake_security_channel_connectivity_test $(BINDIR)/$(CONFIG)/chttp2_fake_security_disappearing_server_test $(BINDIR)/$(CONFIG)/chttp2_fake_security_early_server_shutdown_finishes_inflight_calls_test $(BINDIR)/$(CONFIG)/chttp2_fake_security_early_server_shutdown_finishes_tags_test $(BINDIR)/$(CONFIG)/chttp2_fake_security_empty_batch_test $(BINDIR)/$(CONFIG)/chttp2_fake_security_graceful_server_shutdown_test $(BINDIR)/$(CONFIG)/chttp2_fake_security_invoke_large_request_test $(BINDIR)/$(CONFIG)/chttp2_fake_security_max_concurrent_streams_test $(BINDIR)/$(CONFIG)/chttp2_fake_security_max_message_length_test $(BINDIR)/$(CONFIG)/chttp2_fake_security_no_op_test $(BINDIR)/$(CONFIG)/chttp2_fake_security_ping_pong_streaming_test $(BINDIR)/$(CONFIG)/chttp2_fake_security_registered_call_test $(BINDIR)/$(CONFIG)/chttp2_fake_security_request_response_with_binary_metadata_and_payload_test $(BINDIR)/$(CONFIG)/chttp2_fake_security_request_response_with_metadata_and_payload_test $(BINDIR)/$(CONFIG)/chttp2_fake_security_request_response_with_payload_test $(BINDIR)/$(CONFIG)/chttp2_fake_security_request_response_with_payload_and_call_creds_test $(BINDIR)/$(CONFIG)/chttp2_fake_security_request_response_with_trailing_metadata_and_payload_test $(BINDIR)/$(CONFIG)/chttp2_fake_security_request_with_compressed_payload_test $(BINDIR)/$(CONFIG)/chttp2_fake_security_request_with_flags_test $(BINDIR)/$(CONFIG)/chttp2_fake_security_request_with_large_metadata_test $(BINDIR)/$(CONFIG)/chttp2_fake_security_request_with_payload_test $(BINDIR)/$(CONFIG)/chttp2_fake_security_server_finishes_request_test $(BINDIR)/$(CONFIG)/chttp2_fake_security_simple_delayed_request_test $(BINDIR)/$(CONFIG)/chttp2_fake_security_simple_request_test $(BINDIR)/$(CONFIG)/chttp2_fake_security_simple_request_with_high_initial_sequence_number_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_bad_hostname_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_cancel_after_accept_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_cancel_after_accept_and_writes_closed_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_cancel_after_invoke_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_cancel_before_invoke_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_cancel_in_a_vacuum_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_census_simple_request_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_channel_connectivity_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_disappearing_server_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_early_server_shutdown_finishes_inflight_calls_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_early_server_shutdown_finishes_tags_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_empty_batch_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_graceful_server_shutdown_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_invoke_large_request_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_max_concurrent_streams_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_max_message_length_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_no_op_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_ping_pong_streaming_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_registered_call_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_request_response_with_binary_metadata_and_payload_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_request_response_with_metadata_and_payload_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_request_response_with_payload_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_request_response_with_payload_and_call_creds_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_request_response_with_trailing_metadata_and_payload_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_request_with_compressed_payload_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_request_with_flags_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_request_with_large_metadata_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_request_with_payload_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_server_finishes_request_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_simple_delayed_request_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_simple_request_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_simple_request_with_high_initial_sequence_number_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_bad_hostname_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_cancel_after_accept_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_cancel_after_accept_and_writes_closed_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_cancel_after_invoke_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_cancel_before_invoke_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_cancel_in_a_vacuum_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_census_simple_request_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_channel_connectivity_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_disappearing_server_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_early_server_shutdown_finishes_inflight_calls_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_early_server_shutdown_finishes_tags_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_empty_batch_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_graceful_server_shutdown_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_invoke_large_request_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_max_concurrent_streams_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_max_message_length_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_no_op_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_ping_pong_streaming_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_registered_call_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_request_response_with_binary_metadata_and_payload_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_request_response_with_metadata_and_payload_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_request_response_with_payload_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_request_response_with_payload_and_call_creds_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_request_response_with_trailing_metadata_and_payload_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_request_with_compressed_payload_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_request_with_flags_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_request_with_large_metadata_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_request_with_payload_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_server_finishes_request_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_simple_delayed_request_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_simple_request_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_simple_request_with_high_initial_sequence_number_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_bad_hostname_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_cancel_after_accept_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_cancel_after_accept_and_writes_closed_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_cancel_after_invoke_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_cancel_before_invoke_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_cancel_in_a_vacuum_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_census_simple_request_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_channel_connectivity_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_disappearing_server_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_early_server_shutdown_finishes_inflight_calls_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_early_server_shutdown_finishes_tags_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_empty_batch_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_graceful_server_shutdown_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_invoke_large_request_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_max_concurrent_streams_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_max_message_length_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_no_op_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_ping_pong_streaming_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_registered_call_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_request_response_with_binary_metadata_and_payload_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_request_response_with_metadata_and_payload_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_request_response_with_payload_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_request_response_with_payload_and_call_creds_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_request_response_with_trailing_metadata_and_payload_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_request_with_compressed_payload_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_request_with_flags_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_request_with_large_metadata_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_request_with_payload_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_server_finishes_request_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_simple_delayed_request_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_simple_request_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_simple_request_with_high_initial_sequence_number_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_bad_hostname_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_cancel_after_accept_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_cancel_after_accept_and_writes_closed_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_cancel_after_invoke_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_cancel_before_invoke_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_cancel_in_a_vacuum_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_census_simple_request_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_channel_connectivity_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_disappearing_server_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_early_server_shutdown_finishes_inflight_calls_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_early_server_shutdown_finishes_tags_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_empty_batch_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_graceful_server_shutdown_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_invoke_large_request_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_max_concurrent_streams_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_max_message_length_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_no_op_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_ping_pong_streaming_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_registered_call_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_request_response_with_binary_metadata_and_payload_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_request_response_with_metadata_and_payload_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_request_response_with_payload_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_request_response_with_payload_and_call_creds_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_request_response_with_trailing_metadata_and_payload_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_request_with_compressed_payload_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_request_with_flags_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_request_with_large_metadata_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_request_with_payload_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_server_finishes_request_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_simple_delayed_request_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_simple_request_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_simple_request_with_high_initial_sequence_number_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_bad_hostname_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_cancel_after_accept_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_cancel_after_accept_and_writes_closed_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_cancel_after_invoke_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_cancel_before_invoke_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_cancel_in_a_vacuum_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_census_simple_request_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_channel_connectivity_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_disappearing_server_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_early_server_shutdown_finishes_inflight_calls_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_early_server_shutdown_finishes_tags_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_empty_batch_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_graceful_server_shutdown_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_invoke_large_request_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_max_concurrent_streams_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_max_message_length_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_no_op_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_ping_pong_streaming_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_registered_call_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_request_response_with_binary_metadata_and_payload_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_request_response_with_metadata_and_payload_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_request_response_with_payload_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_request_response_with_payload_and_call_creds_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_request_response_with_trailing_metadata_and_payload_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_request_with_compressed_payload_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_request_with_flags_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_request_with_large_metadata_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_request_with_payload_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_server_finishes_request_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_simple_delayed_request_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_simple_request_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_simple_request_with_high_initial_sequence_number_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_bad_hostname_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_cancel_after_accept_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_cancel_after_accept_and_writes_closed_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_cancel_after_invoke_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_cancel_before_invoke_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_cancel_in_a_vacuum_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_census_simple_request_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_channel_connectivity_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_disappearing_server_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_early_server_shutdown_finishes_inflight_calls_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_early_server_shutdown_finishes_tags_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_empty_batch_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_graceful_server_shutdown_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_invoke_large_request_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_max_concurrent_streams_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_max_message_length_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_no_op_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_ping_pong_streaming_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_registered_call_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_request_response_with_binary_metadata_and_payload_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_request_response_with_metadata_and_payload_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_request_response_with_payload_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_request_response_with_payload_and_call_creds_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_request_response_with_trailing_metadata_and_payload_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_request_with_compressed_payload_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_request_with_flags_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_request_with_large_metadata_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_request_with_payload_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_server_finishes_request_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_simple_delayed_request_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_simple_request_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_simple_request_with_high_initial_sequence_number_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_bad_hostname_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_cancel_after_accept_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_cancel_after_accept_and_writes_closed_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_cancel_after_invoke_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_cancel_before_invoke_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_cancel_in_a_vacuum_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_census_simple_request_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_channel_connectivity_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_disappearing_server_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_early_server_shutdown_finishes_inflight_calls_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_early_server_shutdown_finishes_tags_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_empty_batch_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_graceful_server_shutdown_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_invoke_large_request_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_max_concurrent_streams_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_max_message_length_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_no_op_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_ping_pong_streaming_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_registered_call_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_request_response_with_binary_metadata_and_payload_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_request_response_with_metadata_and_payload_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_request_response_with_payload_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_request_response_with_payload_and_call_creds_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_request_response_with_trailing_metadata_and_payload_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_request_with_compressed_payload_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_request_with_flags_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_request_with_large_metadata_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_request_with_payload_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_server_finishes_request_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_simple_delayed_request_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_simple_request_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_fullstack_with_poll_simple_request_with_high_initial_sequence_number_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_bad_hostname_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_cancel_after_accept_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_cancel_after_accept_and_writes_closed_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_cancel_after_invoke_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_cancel_before_invoke_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_cancel_in_a_vacuum_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_census_simple_request_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_channel_connectivity_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_disappearing_server_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_early_server_shutdown_finishes_inflight_calls_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_early_server_shutdown_finishes_tags_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_empty_batch_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_graceful_server_shutdown_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_invoke_large_request_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_max_concurrent_streams_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_max_message_length_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_no_op_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_ping_pong_streaming_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_registered_call_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_binary_metadata_and_payload_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_metadata_and_payload_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_payload_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_payload_and_call_creds_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_trailing_metadata_and_payload_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_request_with_compressed_payload_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_request_with_flags_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_request_with_large_metadata_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_request_with_payload_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_server_finishes_request_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_simple_delayed_request_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_simple_request_test $(BINDIR)/$(CONFIG)/chttp2_simple_ssl_with_oauth2_fullstack_simple_request_with_high_initial_sequence_number_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_bad_hostname_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_cancel_after_accept_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_cancel_after_accept_and_writes_closed_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_cancel_after_invoke_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_cancel_before_invoke_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_cancel_in_a_vacuum_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_census_simple_request_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_early_server_shutdown_finishes_inflight_calls_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_early_server_shutdown_finishes_tags_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_empty_batch_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_graceful_server_shutdown_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_invoke_large_request_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_max_concurrent_streams_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_max_message_length_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_no_op_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_ping_pong_streaming_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_registered_call_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_request_response_with_binary_metadata_and_payload_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_request_response_with_metadata_and_payload_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_request_response_with_payload_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_request_response_with_payload_and_call_creds_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_request_response_with_trailing_metadata_and_payload_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_request_with_compressed_payload_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_request_with_flags_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_request_with_large_metadata_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_request_with_payload_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_server_finishes_request_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_simple_request_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_simple_request_with_high_initial_sequence_number_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_bad_hostname_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_cancel_after_accept_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_cancel_after_accept_and_writes_closed_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_cancel_after_invoke_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_cancel_before_invoke_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_cancel_in_a_vacuum_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_census_simple_request_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_early_server_shutdown_finishes_inflight_calls_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_early_server_shutdown_finishes_tags_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_empty_batch_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_graceful_server_shutdown_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_invoke_large_request_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_max_concurrent_streams_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_max_message_length_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_no_op_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_ping_pong_streaming_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_registered_call_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_request_response_with_binary_metadata_and_payload_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_request_response_with_metadata_and_payload_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_request_response_with_payload_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_request_response_with_payload_and_call_creds_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_request_response_with_trailing_metadata_and_payload_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_request_with_compressed_payload_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_request_with_flags_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_request_with_large_metadata_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_request_with_payload_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_server_finishes_request_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_simple_request_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_simple_request_with_high_initial_sequence_number_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_bad_hostname_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_cancel_after_accept_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_cancel_after_accept_and_writes_closed_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_cancel_after_invoke_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_cancel_before_invoke_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_cancel_in_a_vacuum_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_census_simple_request_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_early_server_shutdown_finishes_inflight_calls_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_early_server_shutdown_finishes_tags_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_empty_batch_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_graceful_server_shutdown_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_invoke_large_request_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_max_concurrent_streams_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_max_message_length_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_no_op_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_ping_pong_streaming_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_registered_call_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_request_response_with_binary_metadata_and_payload_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_request_response_with_metadata_and_payload_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_request_response_with_payload_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_request_response_with_payload_and_call_creds_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_request_response_with_trailing_metadata_and_payload_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_request_with_compressed_payload_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_request_with_flags_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_request_with_large_metadata_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_request_with_payload_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_server_finishes_request_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_simple_request_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_simple_request_with_high_initial_sequence_number_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_bad_hostname_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_cancel_after_accept_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_cancel_after_accept_and_writes_closed_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_cancel_after_invoke_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_cancel_before_invoke_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_cancel_in_a_vacuum_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_census_simple_request_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_channel_connectivity_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_disappearing_server_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_early_server_shutdown_finishes_inflight_calls_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_early_server_shutdown_finishes_tags_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_empty_batch_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_graceful_server_shutdown_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_invoke_large_request_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_max_concurrent_streams_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_max_message_length_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_no_op_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_ping_pong_streaming_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_registered_call_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_request_response_with_binary_metadata_and_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_request_response_with_metadata_and_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_request_response_with_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_request_response_with_trailing_metadata_and_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_request_with_compressed_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_request_with_flags_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_request_with_large_metadata_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_request_with_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_server_finishes_request_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_simple_delayed_request_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_simple_request_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_simple_request_with_high_initial_sequence_number_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_bad_hostname_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_cancel_after_accept_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_cancel_after_accept_and_writes_closed_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_cancel_after_invoke_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_cancel_before_invoke_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_cancel_in_a_vacuum_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_census_simple_request_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_channel_connectivity_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_disappearing_server_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_early_server_shutdown_finishes_inflight_calls_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_early_server_shutdown_finishes_tags_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_empty_batch_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_graceful_server_shutdown_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_invoke_large_request_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_max_concurrent_streams_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_max_message_length_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_no_op_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_ping_pong_streaming_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_registered_call_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_request_response_with_binary_metadata_and_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_request_response_with_metadata_and_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_request_response_with_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_request_response_with_trailing_metadata_and_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_request_with_compressed_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_request_with_flags_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_request_with_large_metadata_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_request_with_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_server_finishes_request_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_simple_delayed_request_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_simple_request_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_compression_simple_request_with_high_initial_sequence_number_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_bad_hostname_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_cancel_after_accept_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_cancel_after_accept_and_writes_closed_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_cancel_after_invoke_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_cancel_before_invoke_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_cancel_in_a_vacuum_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_census_simple_request_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_channel_connectivity_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_disappearing_server_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_early_server_shutdown_finishes_inflight_calls_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_early_server_shutdown_finishes_tags_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_empty_batch_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_graceful_server_shutdown_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_invoke_large_request_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_max_concurrent_streams_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_max_message_length_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_no_op_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_ping_pong_streaming_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_registered_call_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_request_response_with_binary_metadata_and_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_request_response_with_metadata_and_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_request_response_with_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_request_response_with_trailing_metadata_and_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_request_with_compressed_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_request_with_flags_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_request_with_large_metadata_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_request_with_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_server_finishes_request_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_simple_delayed_request_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_simple_request_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_simple_request_with_high_initial_sequence_number_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_bad_hostname_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_cancel_after_accept_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_cancel_after_accept_and_writes_closed_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_cancel_after_invoke_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_cancel_before_invoke_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_cancel_in_a_vacuum_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_census_simple_request_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_channel_connectivity_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_disappearing_server_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_early_server_shutdown_finishes_inflight_calls_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_early_server_shutdown_finishes_tags_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_empty_batch_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_graceful_server_shutdown_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_invoke_large_request_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_max_concurrent_streams_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_max_message_length_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_no_op_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_ping_pong_streaming_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_registered_call_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_request_response_with_binary_metadata_and_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_request_response_with_metadata_and_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_request_response_with_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_request_response_with_trailing_metadata_and_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_request_with_compressed_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_request_with_flags_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_request_with_large_metadata_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_request_with_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_server_finishes_request_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_simple_delayed_request_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_simple_request_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_uds_posix_with_poll_simple_request_with_high_initial_sequence_number_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_bad_hostname_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_cancel_after_accept_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_cancel_after_accept_and_writes_closed_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_cancel_after_invoke_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_cancel_before_invoke_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_cancel_in_a_vacuum_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_census_simple_request_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_channel_connectivity_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_disappearing_server_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_early_server_shutdown_finishes_inflight_calls_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_early_server_shutdown_finishes_tags_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_empty_batch_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_graceful_server_shutdown_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_invoke_large_request_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_max_concurrent_streams_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_max_message_length_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_no_op_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_ping_pong_streaming_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_registered_call_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_request_response_with_binary_metadata_and_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_request_response_with_metadata_and_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_request_response_with_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_request_response_with_trailing_metadata_and_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_request_with_compressed_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_request_with_flags_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_request_with_large_metadata_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_request_with_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_server_finishes_request_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_simple_delayed_request_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_simple_request_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_fullstack_with_poll_simple_request_with_high_initial_sequence_number_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_bad_hostname_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_cancel_after_accept_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_cancel_after_accept_and_writes_closed_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_cancel_after_invoke_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_cancel_before_invoke_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_cancel_in_a_vacuum_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_census_simple_request_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_early_server_shutdown_finishes_inflight_calls_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_early_server_shutdown_finishes_tags_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_empty_batch_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_graceful_server_shutdown_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_invoke_large_request_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_max_concurrent_streams_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_max_message_length_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_no_op_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_ping_pong_streaming_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_registered_call_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_request_response_with_binary_metadata_and_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_request_response_with_metadata_and_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_request_response_with_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_request_response_with_trailing_metadata_and_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_request_with_compressed_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_request_with_flags_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_request_with_large_metadata_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_request_with_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_server_finishes_request_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_simple_request_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_simple_request_with_high_initial_sequence_number_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_bad_hostname_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_cancel_after_accept_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_cancel_after_accept_and_writes_closed_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_cancel_after_invoke_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_cancel_before_invoke_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_cancel_in_a_vacuum_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_census_simple_request_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_early_server_shutdown_finishes_inflight_calls_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_early_server_shutdown_finishes_tags_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_empty_batch_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_graceful_server_shutdown_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_invoke_large_request_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_max_concurrent_streams_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_max_message_length_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_no_op_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_ping_pong_streaming_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_registered_call_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_request_response_with_binary_metadata_and_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_request_response_with_metadata_and_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_request_response_with_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_request_response_with_trailing_metadata_and_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_request_with_compressed_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_request_with_flags_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_request_with_large_metadata_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_request_with_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_server_finishes_request_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_simple_request_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_one_byte_at_a_time_simple_request_with_high_initial_sequence_number_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_bad_hostname_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_cancel_after_accept_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_cancel_after_accept_and_writes_closed_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_cancel_after_invoke_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_cancel_before_invoke_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_cancel_in_a_vacuum_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_census_simple_request_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_early_server_shutdown_finishes_inflight_calls_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_early_server_shutdown_finishes_tags_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_empty_batch_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_graceful_server_shutdown_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_invoke_large_request_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_max_concurrent_streams_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_max_message_length_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_no_op_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_ping_pong_streaming_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_registered_call_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_request_response_with_binary_metadata_and_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_request_response_with_metadata_and_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_request_response_with_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_request_response_with_trailing_metadata_and_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_request_with_compressed_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_request_with_flags_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_request_with_large_metadata_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_request_with_payload_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_server_finishes_request_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_simple_request_unsecure_test $(BINDIR)/$(CONFIG)/chttp2_socket_pair_with_grpc_trace_simple_request_with_high_initial_sequence_number_unsecure_test $(BINDIR)/$(CONFIG)/connection_prefix_bad_client_test $(BINDIR)/$(CONFIG)/initial_settings_frame_bad_client_test buildtests_cxx: privatelibs_cxx $(BINDIR)/$(CONFIG)/async_end2end_test $(BINDIR)/$(CONFIG)/async_streaming_ping_pong_test $(BINDIR)/$(CONFIG)/async_unary_ping_pong_test $(BINDIR)/$(CONFIG)/auth_property_iterator_test $(BINDIR)/$(CONFIG)/channel_arguments_test $(BINDIR)/$(CONFIG)/cli_call_test $(BINDIR)/$(CONFIG)/client_crash_test $(BINDIR)/$(CONFIG)/client_crash_test_server $(BINDIR)/$(CONFIG)/credentials_test $(BINDIR)/$(CONFIG)/cxx_byte_buffer_test $(BINDIR)/$(CONFIG)/cxx_slice_test $(BINDIR)/$(CONFIG)/cxx_time_test $(BINDIR)/$(CONFIG)/dynamic_thread_pool_test $(BINDIR)/$(CONFIG)/end2end_test $(BINDIR)/$(CONFIG)/fixed_size_thread_pool_test $(BINDIR)/$(CONFIG)/generic_end2end_test $(BINDIR)/$(CONFIG)/grpc_cli $(BINDIR)/$(CONFIG)/interop_client $(BINDIR)/$(CONFIG)/interop_server $(BINDIR)/$(CONFIG)/interop_test $(BINDIR)/$(CONFIG)/mock_test $(BINDIR)/$(CONFIG)/qps_interarrival_test $(BINDIR)/$(CONFIG)/qps_openloop_test $(BINDIR)/$(CONFIG)/qps_test $(BINDIR)/$(CONFIG)/secure_auth_context_test $(BINDIR)/$(CONFIG)/server_crash_test $(BINDIR)/$(CONFIG)/server_crash_test_client $(BINDIR)/$(CONFIG)/status_test $(BINDIR)/$(CONFIG)/sync_streaming_ping_pong_test $(BINDIR)/$(CONFIG)/sync_unary_ping_pong_test $(BINDIR)/$(CONFIG)/thread_stress_test @@ -1707,8 +1706,6 @@ test_c: buildtests_c $(Q) $(BINDIR)/$(CONFIG)/murmur_hash_test || ( echo test murmur_hash_test failed ; exit 1 ) $(E) "[RUN] Testing no_server_test" $(Q) $(BINDIR)/$(CONFIG)/no_server_test || ( echo test no_server_test failed ; exit 1 ) - $(E) "[RUN] Testing poll_kick_posix_test" - $(Q) $(BINDIR)/$(CONFIG)/poll_kick_posix_test || ( echo test poll_kick_posix_test failed ; exit 1 ) $(E) "[RUN] Testing resolve_address_test" $(Q) $(BINDIR)/$(CONFIG)/resolve_address_test || ( echo test resolve_address_test failed ; exit 1 ) $(E) "[RUN] Testing secure_endpoint_test" @@ -3726,7 +3723,6 @@ LIBGRPC_SRC = \ src/core/iomgr/iomgr.c \ src/core/iomgr/iomgr_posix.c \ src/core/iomgr/iomgr_windows.c \ - src/core/iomgr/pollset_kick_posix.c \ src/core/iomgr/pollset_multipoller_with_epoll.c \ src/core/iomgr/pollset_multipoller_with_poll_posix.c \ src/core/iomgr/pollset_posix.c \ @@ -3992,7 +3988,6 @@ LIBGRPC_UNSECURE_SRC = \ src/core/iomgr/iomgr.c \ src/core/iomgr/iomgr_posix.c \ src/core/iomgr/iomgr_windows.c \ - src/core/iomgr/pollset_kick_posix.c \ src/core/iomgr/pollset_multipoller_with_epoll.c \ src/core/iomgr/pollset_multipoller_with_poll_posix.c \ src/core/iomgr/pollset_posix.c \ @@ -7834,35 +7829,6 @@ endif endif -POLL_KICK_POSIX_TEST_SRC = \ - test/core/iomgr/poll_kick_posix_test.c \ - -POLL_KICK_POSIX_TEST_OBJS = $(addprefix $(OBJDIR)/$(CONFIG)/, $(addsuffix .o, $(basename $(POLL_KICK_POSIX_TEST_SRC)))) -ifeq ($(NO_SECURE),true) - -# You can't build secure targets if you don't have OpenSSL. - -$(BINDIR)/$(CONFIG)/poll_kick_posix_test: openssl_dep_error - -else - -$(BINDIR)/$(CONFIG)/poll_kick_posix_test: $(POLL_KICK_POSIX_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a - $(E) "[LD] Linking $@" - $(Q) mkdir -p `dirname $@` - $(Q) $(LD) $(LDFLAGS) $(POLL_KICK_POSIX_TEST_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LDLIBS) $(LDLIBS_SECURE) -o $(BINDIR)/$(CONFIG)/poll_kick_posix_test - -endif - -$(OBJDIR)/$(CONFIG)/test/core/iomgr/poll_kick_posix_test.o: $(LIBDIR)/$(CONFIG)/libgrpc_test_util.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr_test_util.a $(LIBDIR)/$(CONFIG)/libgpr.a -deps_poll_kick_posix_test: $(POLL_KICK_POSIX_TEST_OBJS:.o=.dep) - -ifneq ($(NO_SECURE),true) -ifneq ($(NO_DEPS),true) --include $(POLL_KICK_POSIX_TEST_OBJS:.o=.dep) -endif -endif - - RESOLVE_ADDRESS_TEST_SRC = \ test/core/iomgr/resolve_address_test.c \ diff --git a/build.json b/build.json index 850b404408..67c76ba704 100644 --- a/build.json +++ b/build.json @@ -150,7 +150,6 @@ "src/core/iomgr/iomgr_internal.h", "src/core/iomgr/iomgr_posix.h", "src/core/iomgr/pollset.h", - "src/core/iomgr/pollset_kick_posix.h", "src/core/iomgr/pollset_posix.h", "src/core/iomgr/pollset_set.h", "src/core/iomgr/pollset_set_posix.h", @@ -246,7 +245,6 @@ "src/core/iomgr/iomgr.c", "src/core/iomgr/iomgr_posix.c", "src/core/iomgr/iomgr_windows.c", - "src/core/iomgr/pollset_kick_posix.c", "src/core/iomgr/pollset_multipoller_with_epoll.c", "src/core/iomgr/pollset_multipoller_with_poll_posix.c", "src/core/iomgr/pollset_posix.c", @@ -1670,23 +1668,6 @@ "gpr" ] }, - { - "name": "poll_kick_posix_test", - "build": "test", - "language": "c", - "src": [ - "test/core/iomgr/poll_kick_posix_test.c" - ], - "deps": [ - "grpc_test_util", - "grpc", - "gpr_test_util", - "gpr" - ], - "platforms": [ - "posix" - ] - }, { "name": "resolve_address_test", "build": "test", diff --git a/gRPC.podspec b/gRPC.podspec index 8cb4e9afc9..dcd2b9126e 100644 --- a/gRPC.podspec +++ b/gRPC.podspec @@ -187,7 +187,6 @@ Pod::Spec.new do |s| 'src/core/iomgr/iomgr_internal.h', 'src/core/iomgr/iomgr_posix.h', 'src/core/iomgr/pollset.h', - 'src/core/iomgr/pollset_kick_posix.h', 'src/core/iomgr/pollset_posix.h', 'src/core/iomgr/pollset_set.h', 'src/core/iomgr/pollset_set_posix.h', @@ -314,7 +313,6 @@ Pod::Spec.new do |s| 'src/core/iomgr/iomgr.c', 'src/core/iomgr/iomgr_posix.c', 'src/core/iomgr/iomgr_windows.c', - 'src/core/iomgr/pollset_kick_posix.c', 'src/core/iomgr/pollset_multipoller_with_epoll.c', 'src/core/iomgr/pollset_multipoller_with_poll_posix.c', 'src/core/iomgr/pollset_posix.c', @@ -454,7 +452,6 @@ Pod::Spec.new do |s| 'src/core/iomgr/iomgr_internal.h', 'src/core/iomgr/iomgr_posix.h', 'src/core/iomgr/pollset.h', - 'src/core/iomgr/pollset_kick_posix.h', 'src/core/iomgr/pollset_posix.h', 'src/core/iomgr/pollset_set.h', 'src/core/iomgr/pollset_set_posix.h', diff --git a/src/core/iomgr/fd_posix.c b/src/core/iomgr/fd_posix.c index 6ad377ce1c..25da3979e9 100644 --- a/src/core/iomgr/fd_posix.c +++ b/src/core/iomgr/fd_posix.c @@ -167,13 +167,19 @@ int grpc_fd_is_orphaned(grpc_fd *fd) { return (gpr_atm_acq_load(&fd->refst) & 1) == 0; } +static void pollset_kick_locked(grpc_pollset *pollset) { + gpr_mu_lock(GRPC_POLLSET_MU(pollset)); + grpc_pollset_kick(pollset, NULL); + gpr_mu_unlock(GRPC_POLLSET_MU(pollset)); +} + static void maybe_wake_one_watcher_locked(grpc_fd *fd) { if (fd->inactive_watcher_root.next != &fd->inactive_watcher_root) { - grpc_pollset_force_kick(fd->inactive_watcher_root.next->pollset); + pollset_kick_locked(fd->inactive_watcher_root.next->pollset); } else if (fd->read_watcher) { - grpc_pollset_force_kick(fd->read_watcher->pollset); + pollset_kick_locked(fd->read_watcher->pollset); } else if (fd->write_watcher) { - grpc_pollset_force_kick(fd->write_watcher->pollset); + pollset_kick_locked(fd->write_watcher->pollset); } } @@ -187,13 +193,13 @@ static void wake_all_watchers_locked(grpc_fd *fd) { grpc_fd_watcher *watcher; for (watcher = fd->inactive_watcher_root.next; watcher != &fd->inactive_watcher_root; watcher = watcher->next) { - grpc_pollset_force_kick(watcher->pollset); + pollset_kick_locked(watcher->pollset); } if (fd->read_watcher) { - grpc_pollset_force_kick(fd->read_watcher->pollset); + pollset_kick_locked(fd->read_watcher->pollset); } if (fd->write_watcher && fd->write_watcher != fd->read_watcher) { - grpc_pollset_force_kick(fd->write_watcher->pollset); + pollset_kick_locked(fd->write_watcher->pollset); } } diff --git a/src/core/iomgr/fd_posix.h b/src/core/iomgr/fd_posix.h index 94d0019fa4..6963471aff 100644 --- a/src/core/iomgr/fd_posix.h +++ b/src/core/iomgr/fd_posix.h @@ -108,7 +108,8 @@ grpc_fd *grpc_fd_create(int fd, const char *name); on_done is called when the underlying file descriptor is definitely close()d. If on_done is NULL, no callback will be made. Requires: *fd initialized; no outstanding notify_on_read or - notify_on_write. */ + notify_on_write. + MUST NOT be called with a pollset lock taken */ void grpc_fd_orphan(grpc_fd *fd, grpc_iomgr_closure *on_done, const char *reason); @@ -121,11 +122,13 @@ void grpc_fd_orphan(grpc_fd *fd, grpc_iomgr_closure *on_done, i.e. a combination of read_mask and write_mask determined by the fd's current interest in said events. Polling strategies that do not need to alter their behavior depending on the - fd's current interest (such as epoll) do not need to call this function. */ + fd's current interest (such as epoll) do not need to call this function. + MUST NOT be called with a pollset lock taken */ gpr_uint32 grpc_fd_begin_poll(grpc_fd *fd, grpc_pollset *pollset, gpr_uint32 read_mask, gpr_uint32 write_mask, grpc_fd_watcher *rec); -/* Complete polling previously started with grpc_fd_begin_poll */ +/* Complete polling previously started with grpc_fd_begin_poll + MUST NOT be called with a pollset lock taken */ void grpc_fd_end_poll(grpc_fd_watcher *rec, int got_read, int got_write); /* Return 1 if this fd is orphaned, 0 otherwise */ diff --git a/src/core/iomgr/pollset.h b/src/core/iomgr/pollset.h index c40188b3c9..c474e4dbf1 100644 --- a/src/core/iomgr/pollset.h +++ b/src/core/iomgr/pollset.h @@ -37,6 +37,8 @@ #include #include +#define GRPC_POLLSET_KICK_BROADCAST ((grpc_pollset_worker *)1) + /* A grpc_pollset is a set of file descriptors that a higher level item is interested in. For example: - a server will typically keep a pollset containing all connected channels, @@ -63,13 +65,24 @@ void grpc_pollset_destroy(grpc_pollset *pollset); descriptors. Requires GRPC_POLLSET_MU(pollset) locked. May unlock GRPC_POLLSET_MU(pollset) during its execution. - + + worker is a (platform-specific) handle that can be used to wake up + from grpc_pollset_work before any events are received and before the timeout + has expired. It is both initialized and destroyed by grpc_pollset_work. + Initialization of worker is guaranteed to occur BEFORE the + GRPC_POLLSET_MU(pollset) is released for the first time by + grpc_pollset_work, and it is guaranteed that GRPC_POLLSET_MU(pollset) will + not be released by grpc_pollset_work AFTER worker has been destroyed. + Returns true if some work has been done, and false if the deadline - got attained. */ -int grpc_pollset_work(grpc_pollset *pollset, gpr_timespec deadline); + expired. */ +int grpc_pollset_work(grpc_pollset *pollset, grpc_pollset_worker *worker, + gpr_timespec deadline); /* Break one polling thread out of polling work for this pollset. - Requires GRPC_POLLSET_MU(pollset) locked. */ -void grpc_pollset_kick(grpc_pollset *pollset); + If specific_worker is GRPC_POLLSET_KICK_BROADCAST, kick ALL the workers. + Otherwise, if specific_worker is non-NULL, then kick that worker. */ +void grpc_pollset_kick(grpc_pollset *pollset, + grpc_pollset_worker *specific_worker); #endif /* GRPC_INTERNAL_CORE_IOMGR_POLLSET_H */ diff --git a/src/core/iomgr/pollset_kick_posix.c b/src/core/iomgr/pollset_kick_posix.c deleted file mode 100644 index 51021784f2..0000000000 --- a/src/core/iomgr/pollset_kick_posix.c +++ /dev/null @@ -1,168 +0,0 @@ -/* - * - * Copyright 2015, Google Inc. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are - * met: - * - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above - * copyright notice, this list of conditions and the following disclaimer - * in the documentation and/or other materials provided with the - * distribution. - * * Neither the name of Google Inc. nor the names of its - * contributors may be used to endorse or promote products derived from - * this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - */ - -#include - -#ifdef GPR_POSIX_SOCKET -#include "src/core/iomgr/pollset_kick_posix.h" - -#include -#include -#include - -#include "src/core/iomgr/socket_utils_posix.h" -#include "src/core/iomgr/wakeup_fd_posix.h" -#include -#include - -/* This implementation is based on a freelist of wakeup fds, with extra logic to - * handle kicks while there is no attached fd. */ - -/* TODO(klempner): Autosize this, and consider providing a way to disable the - * cap entirely on systems with large fd limits */ -#define GRPC_MAX_CACHED_WFDS 50 - -static grpc_kick_fd_info *fd_freelist = NULL; -static int fd_freelist_count = 0; -static gpr_mu fd_freelist_mu; - -static grpc_kick_fd_info *allocate_wfd(void) { - grpc_kick_fd_info *info = NULL; - gpr_mu_lock(&fd_freelist_mu); - if (fd_freelist != NULL) { - info = fd_freelist; - fd_freelist = fd_freelist->next; - --fd_freelist_count; - } - gpr_mu_unlock(&fd_freelist_mu); - if (info == NULL) { - info = gpr_malloc(sizeof(*info)); - grpc_wakeup_fd_create(&info->wakeup_fd); - info->next = NULL; - } - return info; -} - -static void destroy_wfd(grpc_kick_fd_info *wfd) { - grpc_wakeup_fd_destroy(&wfd->wakeup_fd); - gpr_free(wfd); -} - -static void free_wfd(grpc_kick_fd_info *fd_info) { - gpr_mu_lock(&fd_freelist_mu); - if (fd_freelist_count < GRPC_MAX_CACHED_WFDS) { - fd_info->next = fd_freelist; - fd_freelist = fd_info; - fd_freelist_count++; - fd_info = NULL; - } - gpr_mu_unlock(&fd_freelist_mu); - - if (fd_info) { - destroy_wfd(fd_info); - } -} - -void grpc_pollset_kick_init(grpc_pollset_kick_state *kick_state) { - gpr_mu_init(&kick_state->mu); - kick_state->kicked = 0; - kick_state->fd_list.next = kick_state->fd_list.prev = &kick_state->fd_list; -} - -void grpc_pollset_kick_destroy(grpc_pollset_kick_state *kick_state) { - gpr_mu_destroy(&kick_state->mu); - GPR_ASSERT(kick_state->fd_list.next == &kick_state->fd_list); -} - -grpc_kick_fd_info *grpc_pollset_kick_pre_poll( - grpc_pollset_kick_state *kick_state) { - grpc_kick_fd_info *fd_info; - gpr_mu_lock(&kick_state->mu); - if (kick_state->kicked) { - kick_state->kicked = 0; - gpr_mu_unlock(&kick_state->mu); - return NULL; - } - fd_info = allocate_wfd(); - fd_info->next = &kick_state->fd_list; - fd_info->prev = fd_info->next->prev; - fd_info->next->prev = fd_info->prev->next = fd_info; - gpr_mu_unlock(&kick_state->mu); - return fd_info; -} - -void grpc_pollset_kick_consume(grpc_pollset_kick_state *kick_state, - grpc_kick_fd_info *fd_info) { - grpc_wakeup_fd_consume_wakeup(&fd_info->wakeup_fd); -} - -void grpc_pollset_kick_post_poll(grpc_pollset_kick_state *kick_state, - grpc_kick_fd_info *fd_info) { - gpr_mu_lock(&kick_state->mu); - fd_info->next->prev = fd_info->prev; - fd_info->prev->next = fd_info->next; - free_wfd(fd_info); - gpr_mu_unlock(&kick_state->mu); -} - -void grpc_pollset_kick_kick(grpc_pollset_kick_state *kick_state) { - gpr_mu_lock(&kick_state->mu); - if (kick_state->fd_list.next != &kick_state->fd_list) { - grpc_wakeup_fd_wakeup(&kick_state->fd_list.next->wakeup_fd); - } else { - kick_state->kicked = 1; - } - gpr_mu_unlock(&kick_state->mu); -} - -void grpc_pollset_kick_global_init_fallback_fd(void) { - gpr_mu_init(&fd_freelist_mu); - grpc_wakeup_fd_global_init_force_fallback(); -} - -void grpc_pollset_kick_global_init(void) { - gpr_mu_init(&fd_freelist_mu); - grpc_wakeup_fd_global_init(); -} - -void grpc_pollset_kick_global_destroy(void) { - while (fd_freelist != NULL) { - grpc_kick_fd_info *current = fd_freelist; - fd_freelist = fd_freelist->next; - destroy_wfd(current); - } - grpc_wakeup_fd_global_destroy(); - gpr_mu_destroy(&fd_freelist_mu); -} - -#endif /* GPR_POSIX_SOCKET */ diff --git a/src/core/iomgr/pollset_kick_posix.h b/src/core/iomgr/pollset_kick_posix.h deleted file mode 100644 index 77e32a8d51..0000000000 --- a/src/core/iomgr/pollset_kick_posix.h +++ /dev/null @@ -1,93 +0,0 @@ -/* - * - * Copyright 2015, Google Inc. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are - * met: - * - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above - * copyright notice, this list of conditions and the following disclaimer - * in the documentation and/or other materials provided with the - * distribution. - * * Neither the name of Google Inc. nor the names of its - * contributors may be used to endorse or promote products derived from - * this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - */ - -#ifndef GRPC_INTERNAL_CORE_IOMGR_POLLSET_KICK_POSIX_H -#define GRPC_INTERNAL_CORE_IOMGR_POLLSET_KICK_POSIX_H - -#include "src/core/iomgr/wakeup_fd_posix.h" -#include - -/* pollset kicking allows breaking a thread out of polling work for - a given pollset. - writing a byte to a pipe is used as a posix-ly portable base - mechanism, and eventfds are utilized on Linux for better performance. */ - -typedef struct grpc_kick_fd_info { - grpc_wakeup_fd_info wakeup_fd; - /* used for polling list and free list */ - struct grpc_kick_fd_info *next; - /* only used when polling */ - struct grpc_kick_fd_info *prev; -} grpc_kick_fd_info; - -typedef struct grpc_pollset_kick_state { - gpr_mu mu; - int kicked; - struct grpc_kick_fd_info fd_list; -} grpc_pollset_kick_state; - -#define GRPC_POLLSET_KICK_GET_FD(kick_fd_info) \ - GRPC_WAKEUP_FD_GET_READ_FD(&(kick_fd_info)->wakeup_fd) - -/* This is an abstraction around the typical pipe mechanism for waking up a - thread sitting in a poll() style call. */ - -void grpc_pollset_kick_global_init(void); -void grpc_pollset_kick_global_destroy(void); - -void grpc_pollset_kick_init(grpc_pollset_kick_state *kick_state); -void grpc_pollset_kick_destroy(grpc_pollset_kick_state *kick_state); - -/* Guarantees a pure posix implementation rather than a specialized one, if - * applicable. Intended for testing. */ -void grpc_pollset_kick_global_init_fallback_fd(void); - -/* Must be called before entering poll(). If return value is NULL, this consumed - an existing kick. Otherwise the return value is an FD to add to the poll set. - */ -grpc_kick_fd_info *grpc_pollset_kick_pre_poll( - grpc_pollset_kick_state *kick_state); - -/* Consume an existing kick. Must be called after poll returns that the fd was - readable, and before calling kick_post_poll. */ -void grpc_pollset_kick_consume(grpc_pollset_kick_state *kick_state, - grpc_kick_fd_info *fd_info); - -/* Must be called after pre_poll, and after consume if applicable */ -void grpc_pollset_kick_post_poll(grpc_pollset_kick_state *kick_state, - grpc_kick_fd_info *fd_info); - -/* Actually kick */ -void grpc_pollset_kick_kick(grpc_pollset_kick_state *kick_state); - -#endif /* GRPC_INTERNAL_CORE_IOMGR_POLLSET_KICK_POSIX_H */ diff --git a/src/core/iomgr/pollset_multipoller_with_epoll.c b/src/core/iomgr/pollset_multipoller_with_epoll.c index d697b59e4c..7effc586f6 100644 --- a/src/core/iomgr/pollset_multipoller_with_epoll.c +++ b/src/core/iomgr/pollset_multipoller_with_epoll.c @@ -36,6 +36,7 @@ #ifdef GPR_LINUX_MULTIPOLL_WITH_EPOLL #include +#include #include #include #include @@ -44,9 +45,14 @@ #include #include +typedef struct wakeup_fd_hdl { + grpc_wakeup_fd wakeup_fd; + struct wakeup_fd_hdl *next; +} wakeup_fd_hdl; + typedef struct { int epoll_fd; - grpc_wakeup_fd_info wakeup_fd; + wakeup_fd_hdl *free_wakeup_fds; } pollset_hdr; static void multipoll_with_epoll_pollset_add_fd(grpc_pollset *pollset, @@ -103,12 +109,14 @@ static void multipoll_with_epoll_pollset_del_fd(grpc_pollset *pollset, #define GRPC_EPOLL_MAX_EVENTS 1000 static void multipoll_with_epoll_pollset_maybe_work( - grpc_pollset *pollset, gpr_timespec deadline, gpr_timespec now, - int allow_synchronous_callback) { + grpc_pollset *pollset, grpc_pollset_worker *worker, gpr_timespec deadline, + gpr_timespec now, int allow_synchronous_callback) { struct epoll_event ep_ev[GRPC_EPOLL_MAX_EVENTS]; int ep_rv; + int poll_rv; pollset_hdr *h = pollset->data.ptr; int timeout_ms; + struct pollfd pfds[2]; /* If you want to ignore epoll's ability to sanely handle parallel pollers, * for a more apples-to-apples performance comparison with poll, add a @@ -116,43 +124,58 @@ static void multipoll_with_epoll_pollset_maybe_work( * here. */ - pollset->counter += 1; gpr_mu_unlock(&pollset->mu); timeout_ms = grpc_poll_deadline_to_millis_timeout(deadline, now); - do { - ep_rv = epoll_wait(h->epoll_fd, ep_ev, GRPC_EPOLL_MAX_EVENTS, timeout_ms); - if (ep_rv < 0) { - if (errno != EINTR) { - gpr_log(GPR_ERROR, "epoll_wait() failed: %s", strerror(errno)); - } - } else { - int i; - for (i = 0; i < ep_rv; ++i) { - if (ep_ev[i].data.ptr == 0) { - grpc_wakeup_fd_consume_wakeup(&h->wakeup_fd); - } else { - grpc_fd *fd = ep_ev[i].data.ptr; - /* TODO(klempner): We might want to consider making err and pri - * separate events */ - int cancel = ep_ev[i].events & (EPOLLERR | EPOLLHUP); - int read = ep_ev[i].events & (EPOLLIN | EPOLLPRI); - int write = ep_ev[i].events & EPOLLOUT; - if (read || cancel) { - grpc_fd_become_readable(fd, allow_synchronous_callback); + pfds[0].fd = GRPC_WAKEUP_FD_GET_READ_FD(&worker->wakeup_fd); + pfds[0].events = POLLIN; + pfds[0].revents = 0; + pfds[1].fd = h->epoll_fd; + pfds[1].events = POLLIN; + pfds[1].revents = 0; + + poll_rv = poll(pfds, 2, timeout_ms); + + if (poll_rv < 0) { + if (errno != EINTR) { + gpr_log(GPR_ERROR, "poll() failed: %s", strerror(errno)); + } + } else if (poll_rv == 0) { + /* do nothing */ + } else { + if (pfds[0].revents) { + grpc_wakeup_fd_consume_wakeup(&worker->wakeup_fd); + } + if (pfds[1].revents) { + do { + ep_rv = epoll_wait(h->epoll_fd, ep_ev, GRPC_EPOLL_MAX_EVENTS, 0); + if (ep_rv < 0) { + if (errno != EINTR) { + gpr_log(GPR_ERROR, "epoll_wait() failed: %s", strerror(errno)); } - if (write || cancel) { - grpc_fd_become_writable(fd, allow_synchronous_callback); + } else { + int i; + for (i = 0; i < ep_rv; ++i) { + grpc_fd *fd = ep_ev[i].data.ptr; + /* TODO(klempner): We might want to consider making err and pri + * separate events */ + int cancel = ep_ev[i].events & (EPOLLERR | EPOLLHUP); + int read = ep_ev[i].events & (EPOLLIN | EPOLLPRI); + int write = ep_ev[i].events & EPOLLOUT; + if (read || cancel) { + grpc_fd_become_readable(fd, allow_synchronous_callback); + } + if (write || cancel) { + grpc_fd_become_writable(fd, allow_synchronous_callback); + } } } - } + } while (ep_rv == GRPC_EPOLL_MAX_EVENTS); } - timeout_ms = 0; - } while (ep_rv == GRPC_EPOLL_MAX_EVENTS); + } gpr_mu_lock(&pollset->mu); - pollset->counter -= 1; } static void multipoll_with_epoll_pollset_finish_shutdown( @@ -160,21 +183,14 @@ static void multipoll_with_epoll_pollset_finish_shutdown( static void multipoll_with_epoll_pollset_destroy(grpc_pollset *pollset) { pollset_hdr *h = pollset->data.ptr; - grpc_wakeup_fd_destroy(&h->wakeup_fd); close(h->epoll_fd); gpr_free(h); } -static void epoll_kick(grpc_pollset *pollset) { - pollset_hdr *h = pollset->data.ptr; - grpc_wakeup_fd_wakeup(&h->wakeup_fd); -} - static const grpc_pollset_vtable multipoll_with_epoll_pollset = { multipoll_with_epoll_pollset_add_fd, multipoll_with_epoll_pollset_del_fd, multipoll_with_epoll_pollset_maybe_work, - epoll_kick, multipoll_with_epoll_pollset_finish_shutdown, multipoll_with_epoll_pollset_destroy}; @@ -182,8 +198,6 @@ static void epoll_become_multipoller(grpc_pollset *pollset, grpc_fd **fds, size_t nfds) { size_t i; pollset_hdr *h = gpr_malloc(sizeof(pollset_hdr)); - struct epoll_event ev; - int err; pollset->vtable = &multipoll_with_epoll_pollset; pollset->data.ptr = h; @@ -196,16 +210,6 @@ static void epoll_become_multipoller(grpc_pollset *pollset, grpc_fd **fds, for (i = 0; i < nfds; i++) { multipoll_with_epoll_pollset_add_fd(pollset, fds[i], 0); } - - grpc_wakeup_fd_create(&h->wakeup_fd); - ev.events = EPOLLIN; - ev.data.ptr = 0; - err = epoll_ctl(h->epoll_fd, EPOLL_CTL_ADD, - GRPC_WAKEUP_FD_GET_READ_FD(&h->wakeup_fd), &ev); - if (err < 0) { - gpr_log(GPR_ERROR, "Wakeup fd epoll_ctl failed: %s", strerror(errno)); - abort(); - } } grpc_platform_become_multipoller_type grpc_platform_become_multipoller = diff --git a/src/core/iomgr/pollset_multipoller_with_poll_posix.c b/src/core/iomgr/pollset_multipoller_with_poll_posix.c index 0084e83953..1249b1b64a 100644 --- a/src/core/iomgr/pollset_multipoller_with_poll_posix.c +++ b/src/core/iomgr/pollset_multipoller_with_poll_posix.c @@ -53,12 +53,6 @@ typedef struct { size_t fd_count; size_t fd_capacity; grpc_fd **fds; - /* fds being polled by the current poller: parallel arrays of pollfd, and - a grpc_fd_watcher */ - size_t pfd_count; - size_t pfd_capacity; - grpc_fd_watcher *watchers; - struct pollfd *pfds; /* fds that have been removed from the pollset explicitly */ size_t del_count; size_t del_capacity; @@ -102,80 +96,60 @@ static void multipoll_with_poll_pollset_del_fd(grpc_pollset *pollset, } } -static void end_polling(grpc_pollset *pollset) { - size_t i; - pollset_hdr *h; - h = pollset->data.ptr; - for (i = 1; i < h->pfd_count; i++) { - grpc_fd_end_poll(&h->watchers[i], h->pfds[i].revents & POLLIN, - h->pfds[i].revents & POLLOUT); - } -} - static void multipoll_with_poll_pollset_maybe_work( - grpc_pollset *pollset, gpr_timespec deadline, gpr_timespec now, - int allow_synchronous_callback) { + grpc_pollset *pollset, grpc_pollset_worker *worker, gpr_timespec deadline, + gpr_timespec now, int allow_synchronous_callback) { int timeout; int r; - size_t i, np, nf, nd; + size_t i, j, pfd_count, fd_count; pollset_hdr *h; - grpc_kick_fd_info *kfd; + /* TODO(ctiller): inline some elements to avoid an allocation */ + grpc_fd_watcher *watchers; + struct pollfd *pfds; h = pollset->data.ptr; timeout = grpc_poll_deadline_to_millis_timeout(deadline, now); - if (h->pfd_capacity < h->fd_count + 1) { - h->pfd_capacity = GPR_MAX(h->pfd_capacity * 3 / 2, h->fd_count + 1); - gpr_free(h->pfds); - gpr_free(h->watchers); - h->pfds = gpr_malloc(sizeof(struct pollfd) * h->pfd_capacity); - h->watchers = gpr_malloc(sizeof(grpc_fd_watcher) * h->pfd_capacity); - } - nf = 0; - np = 1; - kfd = grpc_pollset_kick_pre_poll(&pollset->kick_state); - if (kfd == NULL) { - /* Already kicked */ - return; - } - h->pfds[0].fd = GRPC_POLLSET_KICK_GET_FD(kfd); - h->pfds[0].events = POLLIN; - h->pfds[0].revents = POLLOUT; + /* TODO(ctiller): perform just one malloc here if we exceed the inline case */ + pfds = gpr_malloc(sizeof(*pfds) * (h->fd_count + 1)); + watchers = gpr_malloc(sizeof(*watchers) * (h->fd_count + 1)); + fd_count = 0; + pfd_count = 1; + pfds[0].fd = GRPC_WAKEUP_FD_GET_READ_FD(&worker->wakeup_fd); + pfds[0].events = POLLIN; + pfds[0].revents = POLLOUT; for (i = 0; i < h->fd_count; i++) { int remove = grpc_fd_is_orphaned(h->fds[i]); - for (nd = 0; nd < h->del_count; nd++) { - if (h->fds[i] == h->dels[nd]) remove = 1; + for (j = 0; j < h->del_count; j++) { + if (h->fds[i] == h->dels[j]) remove = 1; } if (remove) { GRPC_FD_UNREF(h->fds[i], "multipoller"); } else { - h->fds[nf++] = h->fds[i]; - h->watchers[np].fd = h->fds[i]; - h->pfds[np].fd = h->fds[i]->fd; - h->pfds[np].revents = 0; - np++; + h->fds[fd_count++] = h->fds[i]; + watchers[pfd_count].fd = h->fds[i]; + pfds[pfd_count].fd = h->fds[i]->fd; + pfds[pfd_count].revents = 0; + pfd_count++; } } - h->pfd_count = np; - h->fd_count = nf; - for (nd = 0; nd < h->del_count; nd++) { - GRPC_FD_UNREF(h->dels[nd], "multipoller_del"); + for (j = 0; j < h->del_count; j++) { + GRPC_FD_UNREF(h->dels[j], "multipoller_del"); } h->del_count = 0; - if (h->pfd_count == 0) { - end_polling(pollset); - return; - } - pollset->counter++; + h->fd_count = fd_count; gpr_mu_unlock(&pollset->mu); - for (i = 1; i < np; i++) { - h->pfds[i].events = grpc_fd_begin_poll(h->watchers[i].fd, pollset, POLLIN, - POLLOUT, &h->watchers[i]); + for (i = 1; i < pfd_count; i++) { + pfds[i].events = grpc_fd_begin_poll(watchers[i].fd, pollset, POLLIN, + POLLOUT, &watchers[i]); } - r = poll(h->pfds, h->pfd_count, timeout); + r = poll(pfds, pfd_count, timeout); - end_polling(pollset); + for (i = 1; i < pfd_count; i++) { + grpc_fd_end_poll(&watchers[i], pfds[i].revents & POLLIN, + pfds[i].revents & POLLOUT); + } if (r < 0) { if (errno != EINTR) { @@ -184,35 +158,31 @@ static void multipoll_with_poll_pollset_maybe_work( } else if (r == 0) { /* do nothing */ } else { - if (h->pfds[0].revents & POLLIN) { - grpc_pollset_kick_consume(&pollset->kick_state, kfd); + if (pfds[0].revents & POLLIN) { + grpc_wakeup_fd_consume_wakeup(&worker->wakeup_fd); } - for (i = 1; i < np; i++) { - if (h->watchers[i].fd == NULL) { + for (i = 1; i < pfd_count; i++) { + if (watchers[i].fd == NULL) { continue; } - if (h->pfds[i].revents & (POLLIN | POLLHUP | POLLERR)) { - grpc_fd_become_readable(h->watchers[i].fd, allow_synchronous_callback); + if (pfds[i].revents & (POLLIN | POLLHUP | POLLERR)) { + grpc_fd_become_readable(watchers[i].fd, allow_synchronous_callback); } - if (h->pfds[i].revents & (POLLOUT | POLLHUP | POLLERR)) { - grpc_fd_become_writable(h->watchers[i].fd, allow_synchronous_callback); + if (pfds[i].revents & (POLLOUT | POLLHUP | POLLERR)) { + grpc_fd_become_writable(watchers[i].fd, allow_synchronous_callback); } } } - grpc_pollset_kick_post_poll(&pollset->kick_state, kfd); - gpr_mu_lock(&pollset->mu); - pollset->counter--; -} + gpr_free(pfds); + gpr_free(watchers); -static void multipoll_with_poll_pollset_kick(grpc_pollset *p) { - grpc_pollset_force_kick(p); + gpr_mu_lock(&pollset->mu); } static void multipoll_with_poll_pollset_finish_shutdown(grpc_pollset *pollset) { size_t i; pollset_hdr *h = pollset->data.ptr; - GPR_ASSERT(pollset->counter == 0); for (i = 0; i < h->fd_count; i++) { GRPC_FD_UNREF(h->fds[i], "multipoller"); } @@ -226,8 +196,6 @@ static void multipoll_with_poll_pollset_finish_shutdown(grpc_pollset *pollset) { static void multipoll_with_poll_pollset_destroy(grpc_pollset *pollset) { pollset_hdr *h = pollset->data.ptr; multipoll_with_poll_pollset_finish_shutdown(pollset); - gpr_free(h->pfds); - gpr_free(h->watchers); gpr_free(h->fds); gpr_free(h->dels); gpr_free(h); @@ -237,7 +205,6 @@ static const grpc_pollset_vtable multipoll_with_poll_pollset = { multipoll_with_poll_pollset_add_fd, multipoll_with_poll_pollset_del_fd, multipoll_with_poll_pollset_maybe_work, - multipoll_with_poll_pollset_kick, multipoll_with_poll_pollset_finish_shutdown, multipoll_with_poll_pollset_destroy}; @@ -250,10 +217,6 @@ void grpc_poll_become_multipoller(grpc_pollset *pollset, grpc_fd **fds, h->fd_count = nfds; h->fd_capacity = nfds; h->fds = gpr_malloc(nfds * sizeof(grpc_fd *)); - h->pfd_count = 0; - h->pfd_capacity = 0; - h->pfds = NULL; - h->watchers = NULL; h->del_count = 0; h->del_capacity = 0; h->dels = NULL; diff --git a/src/core/iomgr/pollset_posix.c b/src/core/iomgr/pollset_posix.c index c8646af615..b72065ef1c 100644 --- a/src/core/iomgr/pollset_posix.c +++ b/src/core/iomgr/pollset_posix.c @@ -55,22 +55,60 @@ #include GPR_TLS_DECL(g_current_thread_poller); +GPR_TLS_DECL(g_current_thread_worker); -void grpc_pollset_kick(grpc_pollset *p) { - if (gpr_tls_get(&g_current_thread_poller) != (gpr_intptr)p && p->counter) { - p->vtable->kick(p); - } +static void remove_worker(grpc_pollset *p, grpc_pollset_worker *worker) { + worker->prev->next = worker->next; + worker->next->prev = worker->prev; +} + +static int has_workers(grpc_pollset *p) { + return p->root_worker.next != &p->root_worker; } -void grpc_pollset_force_kick(grpc_pollset *p) { - if (gpr_tls_get(&g_current_thread_poller) != (gpr_intptr)p) { - grpc_pollset_kick_kick(&p->kick_state); +static grpc_pollset_worker *pop_front_worker(grpc_pollset *p) { + if (has_workers(p)) { + grpc_pollset_worker *w = p->root_worker.next; + remove_worker(p, w); + return w; + } else { + return NULL; } } -static void kick_using_pollset_kick(grpc_pollset *p) { - if (gpr_tls_get(&g_current_thread_poller) != (gpr_intptr)p) { - grpc_pollset_kick_kick(&p->kick_state); +static void push_back_worker(grpc_pollset *p, grpc_pollset_worker *worker) { + worker->next = &p->root_worker; + worker->prev = worker->next->prev; + worker->prev->next = worker->next->prev = worker; +} + +static void push_front_worker(grpc_pollset *p, grpc_pollset_worker *worker) { + worker->prev = &p->root_worker; + worker->next = worker->prev->next; + worker->prev->next = worker->next->prev = worker; +} + +void grpc_pollset_kick(grpc_pollset *p, grpc_pollset_worker *specific_worker) { + if (specific_worker != NULL) { + if (specific_worker == GRPC_POLLSET_KICK_BROADCAST) { + for (specific_worker = p->root_worker.next; + specific_worker != &p->root_worker; + specific_worker = specific_worker->next) { + grpc_wakeup_fd_wakeup(&specific_worker->wakeup_fd); + } + p->kicked_without_pollers = 1; + } else if (gpr_tls_get(&g_current_thread_worker) != + (gpr_intptr)specific_worker) { + grpc_wakeup_fd_wakeup(&specific_worker->wakeup_fd); + } + } else if (gpr_tls_get(&g_current_thread_poller) != (gpr_intptr)p) { + specific_worker = pop_front_worker(p); + if (specific_worker != NULL) { + push_back_worker(p, specific_worker); + grpc_wakeup_fd_wakeup(&specific_worker->wakeup_fd); + } else { + p->kicked_without_pollers = 1; + } } } @@ -78,16 +116,12 @@ static void kick_using_pollset_kick(grpc_pollset *p) { void grpc_pollset_global_init(void) { gpr_tls_init(&g_current_thread_poller); - - /* Initialize kick fd state */ - grpc_pollset_kick_global_init(); + grpc_wakeup_fd_global_init(); } void grpc_pollset_global_shutdown(void) { - /* destroy the kick pipes */ - grpc_pollset_kick_global_destroy(); - gpr_tls_destroy(&g_current_thread_poller); + grpc_wakeup_fd_global_destroy(); } /* main interface */ @@ -96,7 +130,7 @@ static void become_basic_pollset(grpc_pollset *pollset, grpc_fd *fd_or_null); void grpc_pollset_init(grpc_pollset *pollset) { gpr_mu_init(&pollset->mu); - grpc_pollset_kick_init(&pollset->kick_state); + pollset->root_worker.next = pollset->root_worker.prev = &pollset->root_worker; pollset->in_flight_cbs = 0; pollset->shutting_down = 0; pollset->called_shutdown = 0; @@ -134,27 +168,44 @@ static void finish_shutdown(grpc_pollset *pollset) { pollset->shutdown_done_cb(pollset->shutdown_done_arg); } -int grpc_pollset_work(grpc_pollset *pollset, gpr_timespec deadline) { +int grpc_pollset_work(grpc_pollset *pollset, grpc_pollset_worker *worker, + gpr_timespec deadline) { /* pollset->mu already held */ gpr_timespec now = gpr_now(GPR_CLOCK_MONOTONIC); + int added_worker = 0; if (gpr_time_cmp(now, deadline) > 0) { return 0; } + /* this must happen before we (potentially) drop pollset->mu */ + worker->next = worker->prev = NULL; + /* TODO(ctiller): pool these */ + grpc_wakeup_fd_init(&worker->wakeup_fd); if (grpc_maybe_call_delayed_callbacks(&pollset->mu, 1)) { - return 1; + goto done; } if (grpc_alarm_check(&pollset->mu, now, &deadline)) { - return 1; + goto done; } if (pollset->shutting_down) { - return 1; + goto done; + } + if (!pollset->kicked_without_pollers) { + push_front_worker(pollset, worker); + added_worker = 1; + gpr_tls_set(&g_current_thread_poller, (gpr_intptr)pollset); + pollset->vtable->maybe_work(pollset, worker, deadline, now, 1); + gpr_tls_set(&g_current_thread_poller, 0); + } else { + pollset->kicked_without_pollers = 0; + } +done: + grpc_wakeup_fd_destroy(&worker->wakeup_fd); + if (added_worker) { + remove_worker(pollset, worker); } - gpr_tls_set(&g_current_thread_poller, (gpr_intptr)pollset); - pollset->vtable->maybe_work(pollset, deadline, now, 1); - gpr_tls_set(&g_current_thread_poller, 0); if (pollset->shutting_down) { - if (pollset->counter > 0) { - grpc_pollset_kick(pollset); + if (has_workers(pollset)) { + grpc_pollset_kick(pollset, NULL); } else if (!pollset->called_shutdown && pollset->in_flight_cbs == 0) { pollset->called_shutdown = 1; gpr_mu_unlock(&pollset->mu); @@ -177,15 +228,13 @@ void grpc_pollset_shutdown(grpc_pollset *pollset, GPR_ASSERT(!pollset->shutting_down); pollset->shutting_down = 1; if (!pollset->called_shutdown && pollset->in_flight_cbs == 0 && - pollset->counter == 0) { + !has_workers(pollset)) { pollset->called_shutdown = 1; call_shutdown = 1; } pollset->shutdown_done_cb = shutdown_done; pollset->shutdown_done_arg = shutdown_done_arg; - if (pollset->counter > 0) { - grpc_pollset_kick(pollset); - } + grpc_pollset_kick(pollset, GRPC_POLLSET_KICK_BROADCAST); gpr_mu_unlock(&pollset->mu); if (call_shutdown) { @@ -196,8 +245,8 @@ void grpc_pollset_shutdown(grpc_pollset *pollset, void grpc_pollset_destroy(grpc_pollset *pollset) { GPR_ASSERT(pollset->shutting_down); GPR_ASSERT(pollset->in_flight_cbs == 0); + GPR_ASSERT(!has_workers(pollset)); pollset->vtable->destroy(pollset); - grpc_pollset_kick_destroy(&pollset->kick_state); gpr_mu_destroy(&pollset->mu); } @@ -248,8 +297,8 @@ static void basic_do_promote(void *args, int success) { gpr_mu_lock(&pollset->mu); /* First we need to ensure that nobody is polling concurrently */ - if (pollset->counter != 0) { - grpc_pollset_kick(pollset); + if (has_workers(pollset)) { + grpc_pollset_kick(pollset, GRPC_POLLSET_KICK_BROADCAST); grpc_iomgr_add_callback(&up_args->promotion_closure); gpr_mu_unlock(&pollset->mu); return; @@ -264,7 +313,8 @@ static void basic_do_promote(void *args, int success) { pollset->in_flight_cbs--; if (pollset->shutting_down) { /* We don't care about this pollset anymore. */ - if (pollset->in_flight_cbs == 0 && pollset->counter == 0 && !pollset->called_shutdown) { + if (pollset->in_flight_cbs == 0 && !pollset->called_shutdown) { + GPR_ASSERT(!has_workers(pollset)); pollset->called_shutdown = 1; do_shutdown_cb = 1; } @@ -307,7 +357,7 @@ static void basic_pollset_add_fd(grpc_pollset *pollset, grpc_fd *fd, GPR_ASSERT(fd); if (fd == pollset->data.ptr) goto exit; - if (!pollset->counter) { + if (!has_workers(pollset)) { /* Fast path -- no in flight cbs */ /* TODO(klempner): Comment this out and fix any test failures or establish * they are due to timing issues */ @@ -343,7 +393,7 @@ static void basic_pollset_add_fd(grpc_pollset *pollset, grpc_fd *fd, up_args->promotion_closure.cb_arg = up_args; grpc_iomgr_add_callback(&up_args->promotion_closure); - grpc_pollset_kick(pollset); + grpc_pollset_kick(pollset, GRPC_POLLSET_KICK_BROADCAST); exit: if (and_unlock_pollset) { @@ -365,12 +415,12 @@ static void basic_pollset_del_fd(grpc_pollset *pollset, grpc_fd *fd, } static void basic_pollset_maybe_work(grpc_pollset *pollset, + grpc_pollset_worker *worker, gpr_timespec deadline, gpr_timespec now, int allow_synchronous_callback) { struct pollfd pfd[2]; grpc_fd *fd; grpc_fd_watcher fd_watcher; - grpc_kick_fd_info *kfd; int timeout; int r; int nfds; @@ -387,16 +437,10 @@ static void basic_pollset_maybe_work(grpc_pollset *pollset, fd = pollset->data.ptr = NULL; } timeout = grpc_poll_deadline_to_millis_timeout(deadline, now); - kfd = grpc_pollset_kick_pre_poll(&pollset->kick_state); - if (kfd == NULL) { - /* Already kicked */ - return; - } - pfd[0].fd = GRPC_POLLSET_KICK_GET_FD(kfd); + pfd[0].fd = GRPC_WAKEUP_FD_GET_READ_FD(&worker->wakeup_fd); pfd[0].events = POLLIN; pfd[0].revents = 0; nfds = 1; - pollset->counter++; if (fd) { pfd[1].fd = fd->fd; pfd[1].revents = 0; @@ -428,7 +472,7 @@ static void basic_pollset_maybe_work(grpc_pollset *pollset, /* do nothing */ } else { if (pfd[0].revents & POLLIN) { - grpc_pollset_kick_consume(&pollset->kick_state, kfd); + grpc_wakeup_fd_consume_wakeup(&worker->wakeup_fd); } if (nfds > 1) { if (pfd[1].revents & (POLLIN | POLLHUP | POLLERR)) { @@ -440,14 +484,10 @@ static void basic_pollset_maybe_work(grpc_pollset *pollset, } } - grpc_pollset_kick_post_poll(&pollset->kick_state, kfd); - gpr_mu_lock(&pollset->mu); - pollset->counter--; } static void basic_pollset_destroy(grpc_pollset *pollset) { - GPR_ASSERT(pollset->counter == 0); if (pollset->data.ptr != NULL) { GRPC_FD_UNREF(pollset->data.ptr, "basicpoll"); pollset->data.ptr = NULL; @@ -455,14 +495,13 @@ static void basic_pollset_destroy(grpc_pollset *pollset) { } static const grpc_pollset_vtable basic_pollset = { - basic_pollset_add_fd, basic_pollset_del_fd, basic_pollset_maybe_work, - kick_using_pollset_kick, basic_pollset_destroy, basic_pollset_destroy}; + basic_pollset_add_fd, basic_pollset_del_fd, basic_pollset_maybe_work, + basic_pollset_destroy, basic_pollset_destroy}; static void become_basic_pollset(grpc_pollset *pollset, grpc_fd *fd_or_null) { pollset->vtable = &basic_pollset; - pollset->counter = 0; pollset->data.ptr = fd_or_null; - if (fd_or_null) { + if (fd_or_null != NULL) { GRPC_FD_REF(fd_or_null, "basicpoll"); } } diff --git a/src/core/iomgr/pollset_posix.h b/src/core/iomgr/pollset_posix.h index 37de1276d1..84b443fd95 100644 --- a/src/core/iomgr/pollset_posix.h +++ b/src/core/iomgr/pollset_posix.h @@ -35,8 +35,7 @@ #define GRPC_INTERNAL_CORE_IOMGR_POLLSET_POSIX_H #include - -#include "src/core/iomgr/pollset_kick_posix.h" +#include "src/core/iomgr/wakeup_fd_posix.h" typedef struct grpc_pollset_vtable grpc_pollset_vtable; @@ -45,6 +44,12 @@ typedef struct grpc_pollset_vtable grpc_pollset_vtable; use the struct tag */ struct grpc_fd; +typedef struct grpc_pollset_worker { + grpc_wakeup_fd wakeup_fd; + struct grpc_pollset_worker *next; + struct grpc_pollset_worker *prev; +} grpc_pollset_worker; + typedef struct grpc_pollset { /* pollsets under posix can mutate representation as fds are added and removed. @@ -52,11 +57,11 @@ typedef struct grpc_pollset { few fds, and an epoll() based implementation for many fds */ const grpc_pollset_vtable *vtable; gpr_mu mu; - grpc_pollset_kick_state kick_state; - int counter; + grpc_pollset_worker root_worker; int in_flight_cbs; int shutting_down; int called_shutdown; + int kicked_without_pollers; void (*shutdown_done_cb)(void *arg); void *shutdown_done_arg; union { @@ -70,9 +75,9 @@ struct grpc_pollset_vtable { int and_unlock_pollset); void (*del_fd)(grpc_pollset *pollset, struct grpc_fd *fd, int and_unlock_pollset); - void (*maybe_work)(grpc_pollset *pollset, gpr_timespec deadline, - gpr_timespec now, int allow_synchronous_callback); - void (*kick)(grpc_pollset *pollset); + void (*maybe_work)(grpc_pollset *pollset, grpc_pollset_worker *worker, + gpr_timespec deadline, gpr_timespec now, + int allow_synchronous_callback); void (*finish_shutdown)(grpc_pollset *pollset); void (*destroy)(grpc_pollset *pollset); }; @@ -85,22 +90,16 @@ void grpc_pollset_add_fd(grpc_pollset *pollset, struct grpc_fd *fd); poll after an fd is orphaned) */ void grpc_pollset_del_fd(grpc_pollset *pollset, struct grpc_fd *fd); -/* Force any current pollers to break polling: it's the callers responsibility - to ensure that the pollset indeed needs to be kicked - no verification that - the pollset is actually performing polling work is done. At worst this will - result in spurious wakeups if performed at the wrong moment. - Does not touch pollset->mu. */ -void grpc_pollset_force_kick(grpc_pollset *pollset); /* Returns the fd to listen on for kicks */ int grpc_kick_read_fd(grpc_pollset *p); /* Call after polling has been kicked to leave the kicked state */ void grpc_kick_drain(grpc_pollset *p); /* Convert a timespec to milliseconds: - - very small or negative poll times are clamped to zero to do a + - very small or negative poll times are clamped to zero to do a non-blocking poll (which becomes spin polling) - other small values are rounded up to one millisecond - - longer than a millisecond polls are rounded up to the next nearest + - longer than a millisecond polls are rounded up to the next nearest millisecond to avoid spinning - infinite timeouts are converted to -1 */ int grpc_poll_deadline_to_millis_timeout(gpr_timespec deadline, gpr_timespec now); diff --git a/src/core/iomgr/wakeup_fd_eventfd.c b/src/core/iomgr/wakeup_fd_eventfd.c index 99c32bb9db..52912235f8 100644 --- a/src/core/iomgr/wakeup_fd_eventfd.c +++ b/src/core/iomgr/wakeup_fd_eventfd.c @@ -42,7 +42,7 @@ #include "src/core/iomgr/wakeup_fd_posix.h" #include -static void eventfd_create(grpc_wakeup_fd_info *fd_info) { +static void eventfd_create(grpc_wakeup_fd *fd_info) { int efd = eventfd(0, EFD_NONBLOCK | EFD_CLOEXEC); /* TODO(klempner): Handle failure more gracefully */ GPR_ASSERT(efd >= 0); @@ -50,7 +50,7 @@ static void eventfd_create(grpc_wakeup_fd_info *fd_info) { fd_info->write_fd = -1; } -static void eventfd_consume(grpc_wakeup_fd_info *fd_info) { +static void eventfd_consume(grpc_wakeup_fd *fd_info) { eventfd_t value; int err; do { @@ -58,14 +58,14 @@ static void eventfd_consume(grpc_wakeup_fd_info *fd_info) { } while (err < 0 && errno == EINTR); } -static void eventfd_wakeup(grpc_wakeup_fd_info *fd_info) { +static void eventfd_wakeup(grpc_wakeup_fd *fd_info) { int err; do { err = eventfd_write(fd_info->read_fd, 1); } while (err < 0 && errno == EINTR); } -static void eventfd_destroy(grpc_wakeup_fd_info *fd_info) { +static void eventfd_destroy(grpc_wakeup_fd *fd_info) { close(fd_info->read_fd); } diff --git a/src/core/iomgr/wakeup_fd_pipe.c b/src/core/iomgr/wakeup_fd_pipe.c index f895478990..9fc4ee2388 100644 --- a/src/core/iomgr/wakeup_fd_pipe.c +++ b/src/core/iomgr/wakeup_fd_pipe.c @@ -44,7 +44,7 @@ #include "src/core/iomgr/socket_utils_posix.h" #include -static void pipe_create(grpc_wakeup_fd_info *fd_info) { +static void pipe_init(grpc_wakeup_fd *fd_info) { int pipefd[2]; /* TODO(klempner): Make this nonfatal */ GPR_ASSERT(0 == pipe(pipefd)); @@ -54,7 +54,7 @@ static void pipe_create(grpc_wakeup_fd_info *fd_info) { fd_info->write_fd = pipefd[1]; } -static void pipe_consume(grpc_wakeup_fd_info *fd_info) { +static void pipe_consume(grpc_wakeup_fd *fd_info) { char buf[128]; int r; @@ -74,13 +74,13 @@ static void pipe_consume(grpc_wakeup_fd_info *fd_info) { } } -static void pipe_wakeup(grpc_wakeup_fd_info *fd_info) { +static void pipe_wakeup(grpc_wakeup_fd *fd_info) { char c = 0; while (write(fd_info->write_fd, &c, 1) != 1 && errno == EINTR) ; } -static void pipe_destroy(grpc_wakeup_fd_info *fd_info) { +static void pipe_destroy(grpc_wakeup_fd *fd_info) { close(fd_info->read_fd); close(fd_info->write_fd); } @@ -91,7 +91,7 @@ static int pipe_check_availability(void) { } const grpc_wakeup_fd_vtable grpc_pipe_wakeup_fd_vtable = { - pipe_create, pipe_consume, pipe_wakeup, pipe_destroy, pipe_check_availability -}; + pipe_init, pipe_consume, pipe_wakeup, pipe_destroy, + pipe_check_availability}; #endif /* GPR_POSIX_WAKUP_FD */ diff --git a/src/core/iomgr/wakeup_fd_posix.c b/src/core/iomgr/wakeup_fd_posix.c index d3cc3ec570..e48f5223fa 100644 --- a/src/core/iomgr/wakeup_fd_posix.c +++ b/src/core/iomgr/wakeup_fd_posix.c @@ -57,19 +57,19 @@ void grpc_wakeup_fd_global_destroy(void) { wakeup_fd_vtable = NULL; } -void grpc_wakeup_fd_create(grpc_wakeup_fd_info *fd_info) { - wakeup_fd_vtable->create(fd_info); +void grpc_wakeup_fd_init(grpc_wakeup_fd *fd_info) { + wakeup_fd_vtable->init(fd_info); } -void grpc_wakeup_fd_consume_wakeup(grpc_wakeup_fd_info *fd_info) { +void grpc_wakeup_fd_consume_wakeup(grpc_wakeup_fd *fd_info) { wakeup_fd_vtable->consume(fd_info); } -void grpc_wakeup_fd_wakeup(grpc_wakeup_fd_info *fd_info) { +void grpc_wakeup_fd_wakeup(grpc_wakeup_fd *fd_info) { wakeup_fd_vtable->wakeup(fd_info); } -void grpc_wakeup_fd_destroy(grpc_wakeup_fd_info *fd_info) { +void grpc_wakeup_fd_destroy(grpc_wakeup_fd *fd_info) { wakeup_fd_vtable->destroy(fd_info); } diff --git a/src/core/iomgr/wakeup_fd_posix.h b/src/core/iomgr/wakeup_fd_posix.h index 1b0ff70c7f..a4da4df51f 100644 --- a/src/core/iomgr/wakeup_fd_posix.h +++ b/src/core/iomgr/wakeup_fd_posix.h @@ -69,28 +69,28 @@ void grpc_wakeup_fd_global_destroy(void); * purposes only.*/ void grpc_wakeup_fd_global_init_force_fallback(void); -typedef struct grpc_wakeup_fd_info grpc_wakeup_fd_info; +typedef struct grpc_wakeup_fd grpc_wakeup_fd; typedef struct grpc_wakeup_fd_vtable { - void (*create)(grpc_wakeup_fd_info *fd_info); - void (*consume)(grpc_wakeup_fd_info *fd_info); - void (*wakeup)(grpc_wakeup_fd_info *fd_info); - void (*destroy)(grpc_wakeup_fd_info *fd_info); + void (*init)(grpc_wakeup_fd *fd_info); + void (*consume)(grpc_wakeup_fd *fd_info); + void (*wakeup)(grpc_wakeup_fd *fd_info); + void (*destroy)(grpc_wakeup_fd *fd_info); /* Must be called before calling any other functions */ int (*check_availability)(void); } grpc_wakeup_fd_vtable; -struct grpc_wakeup_fd_info { +struct grpc_wakeup_fd { int read_fd; int write_fd; }; #define GRPC_WAKEUP_FD_GET_READ_FD(fd_info) ((fd_info)->read_fd) -void grpc_wakeup_fd_create(grpc_wakeup_fd_info *fd_info); -void grpc_wakeup_fd_consume_wakeup(grpc_wakeup_fd_info *fd_info); -void grpc_wakeup_fd_wakeup(grpc_wakeup_fd_info *fd_info); -void grpc_wakeup_fd_destroy(grpc_wakeup_fd_info *fd_info); +void grpc_wakeup_fd_init(grpc_wakeup_fd *fd_info); +void grpc_wakeup_fd_consume_wakeup(grpc_wakeup_fd *fd_info); +void grpc_wakeup_fd_wakeup(grpc_wakeup_fd *fd_info); +void grpc_wakeup_fd_destroy(grpc_wakeup_fd *fd_info); /* Defined in some specialized implementation's .c file, or by * wakeup_fd_nospecial.c if no such implementation exists. */ diff --git a/src/core/security/google_default_credentials.c b/src/core/security/google_default_credentials.c index de1929fe76..f368819597 100644 --- a/src/core/security/google_default_credentials.c +++ b/src/core/security/google_default_credentials.c @@ -80,7 +80,7 @@ static void on_compute_engine_detection_http_response( } gpr_mu_lock(GRPC_POLLSET_MU(&detector->pollset)); detector->is_done = 1; - grpc_pollset_kick(&detector->pollset); + grpc_pollset_kick(&detector->pollset, NULL); gpr_mu_unlock(GRPC_POLLSET_MU(&detector->pollset)); } @@ -112,7 +112,9 @@ static int is_stack_running_on_compute_engine(void) { called once for the lifetime of the process by the default credentials. */ gpr_mu_lock(GRPC_POLLSET_MU(&detector.pollset)); while (!detector.is_done) { - grpc_pollset_work(&detector.pollset, gpr_inf_future(GPR_CLOCK_REALTIME)); + grpc_pollset_worker worker; + grpc_pollset_work(&detector.pollset, &worker, + gpr_inf_future(GPR_CLOCK_REALTIME)); } gpr_mu_unlock(GRPC_POLLSET_MU(&detector.pollset)); diff --git a/src/core/surface/completion_queue.c b/src/core/surface/completion_queue.c index 3f60b0b0ba..732813fed0 100644 --- a/src/core/surface/completion_queue.c +++ b/src/core/surface/completion_queue.c @@ -45,6 +45,13 @@ #include #include +#define MAX_PLUCKERS 4 + +typedef struct { + grpc_pollset_worker *worker; + void *tag; +} plucker; + /* Completion queue structure */ struct grpc_completion_queue { /** completed events */ @@ -60,6 +67,8 @@ struct grpc_completion_queue { int shutdown; int shutdown_called; int is_server_cq; + int num_pluckers; + plucker pluckers[MAX_PLUCKERS]; }; grpc_completion_queue *grpc_completion_queue_create(void) { @@ -117,6 +126,8 @@ void grpc_cq_end_op(grpc_completion_queue *cc, void *tag, int success, void (*done)(void *done_arg, grpc_cq_completion *storage), void *done_arg, grpc_cq_completion *storage) { int shutdown; + int i; + grpc_pollset_worker *pluck_worker; storage->tag = tag; storage->done = done; @@ -130,7 +141,14 @@ void grpc_cq_end_op(grpc_completion_queue *cc, void *tag, int success, cc->completed_tail->next = ((gpr_uintptr)storage) | (1u & (gpr_uintptr)cc->completed_tail->next); cc->completed_tail = storage; - grpc_pollset_kick(&cc->pollset); + pluck_worker = NULL; + for (i = 0; i < cc->num_pluckers; i++) { + if (cc->pluckers[i].tag == tag) { + pluck_worker = cc->pluckers[i].worker; + break; + } + } + grpc_pollset_kick(&cc->pollset, pluck_worker); gpr_mu_unlock(GRPC_POLLSET_MU(&cc->pollset)); } else { cc->completed_tail->next = @@ -147,6 +165,7 @@ void grpc_cq_end_op(grpc_completion_queue *cc, void *tag, int success, grpc_event grpc_completion_queue_next(grpc_completion_queue *cc, gpr_timespec deadline) { grpc_event ret; + grpc_pollset_worker worker; deadline = gpr_convert_clock_type(deadline, GPR_CLOCK_MONOTONIC); @@ -172,7 +191,7 @@ grpc_event grpc_completion_queue_next(grpc_completion_queue *cc, ret.type = GRPC_QUEUE_SHUTDOWN; break; } - if (!grpc_pollset_work(&cc->pollset, deadline)) { + if (!grpc_pollset_work(&cc->pollset, &worker, deadline)) { gpr_mu_unlock(GRPC_POLLSET_MU(&cc->pollset)); memset(&ret, 0, sizeof(ret)); ret.type = GRPC_QUEUE_TIMEOUT; @@ -184,11 +203,34 @@ grpc_event grpc_completion_queue_next(grpc_completion_queue *cc, return ret; } +static void add_plucker(grpc_completion_queue *cc, void *tag, + grpc_pollset_worker *worker) { + GPR_ASSERT(cc->num_pluckers != MAX_PLUCKERS); + cc->pluckers[cc->num_pluckers].tag = tag; + cc->pluckers[cc->num_pluckers].worker = worker; + cc->num_pluckers++; +} + +static void del_plucker(grpc_completion_queue *cc, void *tag, + grpc_pollset_worker *worker) { + int i; + for (i = 0; i < cc->num_pluckers; i++) { + if (cc->pluckers[i].tag == tag && cc->pluckers[i].worker == worker) { + cc->num_pluckers--; + GPR_SWAP(plucker, cc->pluckers[i], cc->pluckers[cc->num_pluckers]); + return; + } + } + gpr_log(GPR_ERROR, "should never reach here"); + abort(); +} + grpc_event grpc_completion_queue_pluck(grpc_completion_queue *cc, void *tag, gpr_timespec deadline) { grpc_event ret; grpc_cq_completion *c; grpc_cq_completion *prev; + grpc_pollset_worker worker; deadline = gpr_convert_clock_type(deadline, GPR_CLOCK_MONOTONIC); @@ -219,12 +261,15 @@ grpc_event grpc_completion_queue_pluck(grpc_completion_queue *cc, void *tag, ret.type = GRPC_QUEUE_SHUTDOWN; break; } - if (!grpc_pollset_work(&cc->pollset, deadline)) { + add_plucker(cc, tag, &worker); + if (!grpc_pollset_work(&cc->pollset, &worker, deadline)) { + del_plucker(cc, tag, &worker); gpr_mu_unlock(GRPC_POLLSET_MU(&cc->pollset)); memset(&ret, 0, sizeof(ret)); ret.type = GRPC_QUEUE_TIMEOUT; break; } + del_plucker(cc, tag, &worker); } done: GRPC_SURFACE_TRACE_RETURNED_EVENT(cc, &ret); @@ -261,15 +306,6 @@ grpc_pollset *grpc_cq_pollset(grpc_completion_queue *cc) { return &cc->pollset; } -void grpc_cq_hack_spin_pollset(grpc_completion_queue *cc) { - gpr_mu_lock(GRPC_POLLSET_MU(&cc->pollset)); - grpc_pollset_kick(&cc->pollset); - grpc_pollset_work(&cc->pollset, - gpr_time_add(gpr_now(GPR_CLOCK_REALTIME), - gpr_time_from_millis(100, GPR_TIMESPAN))); - gpr_mu_unlock(GRPC_POLLSET_MU(&cc->pollset)); -} - void grpc_cq_mark_server_cq(grpc_completion_queue *cc) { cc->is_server_cq = 1; } int grpc_cq_is_server_cq(grpc_completion_queue *cc) { return cc->is_server_cq; } diff --git a/src/core/surface/completion_queue.h b/src/core/surface/completion_queue.h index f944f48d8e..8de024aaea 100644 --- a/src/core/surface/completion_queue.h +++ b/src/core/surface/completion_queue.h @@ -77,8 +77,6 @@ void grpc_cq_end_op(grpc_completion_queue *cc, void *tag, int success, grpc_pollset *grpc_cq_pollset(grpc_completion_queue *cc); -void grpc_cq_hack_spin_pollset(grpc_completion_queue *cc); - void grpc_cq_mark_server_cq(grpc_completion_queue *cc); int grpc_cq_is_server_cq(grpc_completion_queue *cc); diff --git a/test/core/httpcli/httpcli_test.c b/test/core/httpcli/httpcli_test.c index 4801eb3e39..390afcdf63 100644 --- a/test/core/httpcli/httpcli_test.c +++ b/test/core/httpcli/httpcli_test.c @@ -64,7 +64,7 @@ static void on_finish(void *arg, const grpc_httpcli_response *response) { GPR_ASSERT(0 == memcmp(expect, response->body, response->body_length)); gpr_mu_lock(GRPC_POLLSET_MU(&g_pollset)); g_done = 1; - grpc_pollset_kick(&g_pollset); + grpc_pollset_kick(&g_pollset, NULL); gpr_mu_unlock(GRPC_POLLSET_MU(&g_pollset)); } @@ -87,7 +87,8 @@ static void test_get(int use_ssl, int port) { (void *)42); gpr_mu_lock(GRPC_POLLSET_MU(&g_pollset)); while (!g_done) { - grpc_pollset_work(&g_pollset, n_seconds_time(20)); + grpc_pollset_worker worker; + grpc_pollset_work(&g_pollset, &worker, n_seconds_time(20)); } gpr_mu_unlock(GRPC_POLLSET_MU(&g_pollset)); gpr_free(host); @@ -112,7 +113,8 @@ static void test_post(int use_ssl, int port) { n_seconds_time(15), on_finish, (void *)42); gpr_mu_lock(GRPC_POLLSET_MU(&g_pollset)); while (!g_done) { - grpc_pollset_work(&g_pollset, n_seconds_time(20)); + grpc_pollset_worker worker; + grpc_pollset_work(&g_pollset, &worker, n_seconds_time(20)); } gpr_mu_unlock(GRPC_POLLSET_MU(&g_pollset)); gpr_free(host); diff --git a/test/core/iomgr/endpoint_tests.c b/test/core/iomgr/endpoint_tests.c index cb6adc58cf..8186c96da1 100644 --- a/test/core/iomgr/endpoint_tests.c +++ b/test/core/iomgr/endpoint_tests.c @@ -132,7 +132,7 @@ static void read_and_write_test_read_handler(void *data, gpr_slice *slices, gpr_log(GPR_INFO, "Read handler shutdown"); gpr_mu_lock(GRPC_POLLSET_MU(g_pollset)); state->read_done = 1; - grpc_pollset_kick(g_pollset); + grpc_pollset_kick(g_pollset, NULL); gpr_mu_unlock(GRPC_POLLSET_MU(g_pollset)); return; } @@ -143,7 +143,7 @@ static void read_and_write_test_read_handler(void *data, gpr_slice *slices, gpr_log(GPR_INFO, "Read handler done"); gpr_mu_lock(GRPC_POLLSET_MU(g_pollset)); state->read_done = 1; - grpc_pollset_kick(g_pollset); + grpc_pollset_kick(g_pollset, NULL); gpr_mu_unlock(GRPC_POLLSET_MU(g_pollset)); } else { grpc_endpoint_notify_on_read(state->read_ep, @@ -167,7 +167,7 @@ static void read_and_write_test_write_handler(void *data, gpr_log(GPR_INFO, "Write handler shutdown"); gpr_mu_lock(GRPC_POLLSET_MU(g_pollset)); state->write_done = 1; - grpc_pollset_kick(g_pollset); + grpc_pollset_kick(g_pollset, NULL); gpr_mu_unlock(GRPC_POLLSET_MU(g_pollset)); return; } @@ -201,7 +201,7 @@ static void read_and_write_test_write_handler(void *data, gpr_log(GPR_INFO, "Write handler done"); gpr_mu_lock(GRPC_POLLSET_MU(g_pollset)); state->write_done = 1; - grpc_pollset_kick(g_pollset); + grpc_pollset_kick(g_pollset, NULL); gpr_mu_unlock(GRPC_POLLSET_MU(g_pollset)); } @@ -254,8 +254,9 @@ static void read_and_write_test(grpc_endpoint_test_config config, gpr_mu_lock(GRPC_POLLSET_MU(g_pollset)); while (!state.read_done || !state.write_done) { + grpc_pollset_worker worker; GPR_ASSERT(gpr_time_cmp(gpr_now(GPR_CLOCK_MONOTONIC), deadline) < 0); - grpc_pollset_work(g_pollset, deadline); + grpc_pollset_work(g_pollset, &worker, deadline); } gpr_mu_unlock(GRPC_POLLSET_MU(g_pollset)); @@ -287,7 +288,7 @@ static void shutdown_during_write_test_read_handler( grpc_endpoint_destroy(st->ep); gpr_mu_lock(GRPC_POLLSET_MU(g_pollset)); st->done = error; - grpc_pollset_kick(g_pollset); + grpc_pollset_kick(g_pollset, NULL); gpr_mu_unlock(GRPC_POLLSET_MU(g_pollset)); } else { grpc_endpoint_notify_on_read( @@ -309,7 +310,7 @@ static void shutdown_during_write_test_write_handler( } gpr_mu_lock(GRPC_POLLSET_MU(g_pollset)); st->done = 1; - grpc_pollset_kick(g_pollset); + grpc_pollset_kick(g_pollset, NULL); gpr_mu_unlock(GRPC_POLLSET_MU(g_pollset)); } @@ -350,15 +351,17 @@ static void shutdown_during_write_test(grpc_endpoint_test_config config, deadline = GRPC_TIMEOUT_SECONDS_TO_DEADLINE(10); gpr_mu_lock(GRPC_POLLSET_MU(g_pollset)); while (!write_st.done) { + grpc_pollset_worker worker; GPR_ASSERT(gpr_time_cmp(gpr_now(deadline.clock_type), deadline) < 0); - grpc_pollset_work(g_pollset, deadline); + grpc_pollset_work(g_pollset, &worker, deadline); } gpr_mu_unlock(GRPC_POLLSET_MU(g_pollset)); grpc_endpoint_destroy(write_st.ep); gpr_mu_lock(GRPC_POLLSET_MU(g_pollset)); while (!read_st.done) { + grpc_pollset_worker worker; GPR_ASSERT(gpr_time_cmp(gpr_now(deadline.clock_type), deadline) < 0); - grpc_pollset_work(g_pollset, deadline); + grpc_pollset_work(g_pollset, &worker, deadline); } gpr_mu_unlock(GRPC_POLLSET_MU(g_pollset)); gpr_free(slices); diff --git a/test/core/iomgr/fd_posix_test.c b/test/core/iomgr/fd_posix_test.c index 7d00c098cc..adcbcafdbb 100644 --- a/test/core/iomgr/fd_posix_test.c +++ b/test/core/iomgr/fd_posix_test.c @@ -179,7 +179,7 @@ static void listen_shutdown_cb(void *arg /*server*/, int success) { gpr_mu_lock(GRPC_POLLSET_MU(&g_pollset)); sv->done = 1; - grpc_pollset_kick(&g_pollset); + grpc_pollset_kick(&g_pollset, NULL); gpr_mu_unlock(GRPC_POLLSET_MU(&g_pollset)); } @@ -249,7 +249,8 @@ static int server_start(server *sv) { static void server_wait_and_shutdown(server *sv) { gpr_mu_lock(GRPC_POLLSET_MU(&g_pollset)); while (!sv->done) { - grpc_pollset_work(&g_pollset, gpr_inf_future(GPR_CLOCK_MONOTONIC)); + grpc_pollset_worker worker; + grpc_pollset_work(&g_pollset, &worker, gpr_inf_future(GPR_CLOCK_MONOTONIC)); } gpr_mu_unlock(GRPC_POLLSET_MU(&g_pollset)); } @@ -286,7 +287,7 @@ static void client_session_shutdown_cb(void *arg /*client*/, int success) { client *cl = arg; grpc_fd_orphan(cl->em_fd, NULL, "c"); cl->done = 1; - grpc_pollset_kick(&g_pollset); + grpc_pollset_kick(&g_pollset, NULL); } /* Write as much as possible, then register notify_on_write. */ @@ -356,7 +357,8 @@ static void client_start(client *cl, int port) { static void client_wait_and_shutdown(client *cl) { gpr_mu_lock(GRPC_POLLSET_MU(&g_pollset)); while (!cl->done) { - grpc_pollset_work(&g_pollset, gpr_inf_future(GPR_CLOCK_MONOTONIC)); + grpc_pollset_worker worker; + grpc_pollset_work(&g_pollset, &worker, gpr_inf_future(GPR_CLOCK_MONOTONIC)); } gpr_mu_unlock(GRPC_POLLSET_MU(&g_pollset)); } @@ -392,7 +394,7 @@ static void first_read_callback(void *arg /* fd_change_data */, int success) { gpr_mu_lock(GRPC_POLLSET_MU(&g_pollset)); fdc->cb_that_ran = first_read_callback; - grpc_pollset_kick(&g_pollset); + grpc_pollset_kick(&g_pollset, NULL); gpr_mu_unlock(GRPC_POLLSET_MU(&g_pollset)); } @@ -401,7 +403,7 @@ static void second_read_callback(void *arg /* fd_change_data */, int success) { gpr_mu_lock(GRPC_POLLSET_MU(&g_pollset)); fdc->cb_that_ran = second_read_callback; - grpc_pollset_kick(&g_pollset); + grpc_pollset_kick(&g_pollset, NULL); gpr_mu_unlock(GRPC_POLLSET_MU(&g_pollset)); } @@ -445,7 +447,8 @@ static void test_grpc_fd_change(void) { /* And now wait for it to run. */ gpr_mu_lock(GRPC_POLLSET_MU(&g_pollset)); while (a.cb_that_ran == NULL) { - grpc_pollset_work(&g_pollset, gpr_inf_future(GPR_CLOCK_MONOTONIC)); + grpc_pollset_worker worker; + grpc_pollset_work(&g_pollset, &worker, gpr_inf_future(GPR_CLOCK_MONOTONIC)); } GPR_ASSERT(a.cb_that_ran == first_read_callback); gpr_mu_unlock(GRPC_POLLSET_MU(&g_pollset)); @@ -463,7 +466,8 @@ static void test_grpc_fd_change(void) { gpr_mu_lock(GRPC_POLLSET_MU(&g_pollset)); while (b.cb_that_ran == NULL) { - grpc_pollset_work(&g_pollset, gpr_inf_future(GPR_CLOCK_MONOTONIC)); + grpc_pollset_worker worker; + grpc_pollset_work(&g_pollset, &worker, gpr_inf_future(GPR_CLOCK_MONOTONIC)); } /* Except now we verify that second_read_callback ran instead */ GPR_ASSERT(b.cb_that_ran == second_read_callback); diff --git a/test/core/iomgr/poll_kick_posix_test.c b/test/core/iomgr/poll_kick_posix_test.c deleted file mode 100644 index 3aa6807806..0000000000 --- a/test/core/iomgr/poll_kick_posix_test.c +++ /dev/null @@ -1,130 +0,0 @@ -/* - * - * Copyright 2015, Google Inc. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are - * met: - * - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above - * copyright notice, this list of conditions and the following disclaimer - * in the documentation and/or other materials provided with the - * distribution. - * * Neither the name of Google Inc. nor the names of its - * contributors may be used to endorse or promote products derived from - * this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - */ - -#include "src/core/iomgr/pollset_kick_posix.h" - -#include -#include -#include "test/core/util/test_config.h" - -static void test_allocation(void) { - grpc_pollset_kick_state state; - grpc_pollset_kick_init(&state); - grpc_pollset_kick_destroy(&state); -} - -static void test_non_kick(void) { - grpc_pollset_kick_state state; - grpc_kick_fd_info *kfd; - - grpc_pollset_kick_init(&state); - kfd = grpc_pollset_kick_pre_poll(&state); - GPR_ASSERT(kfd != NULL); - - grpc_pollset_kick_post_poll(&state, kfd); - grpc_pollset_kick_destroy(&state); -} - -static void test_basic_kick(void) { - /* Kicked during poll */ - grpc_pollset_kick_state state; - grpc_kick_fd_info *kfd; - grpc_pollset_kick_init(&state); - - kfd = grpc_pollset_kick_pre_poll(&state); - GPR_ASSERT(kfd != NULL); - - grpc_pollset_kick_kick(&state); - - /* Now hypothetically we polled and found that we were kicked */ - grpc_pollset_kick_consume(&state, kfd); - - grpc_pollset_kick_post_poll(&state, kfd); - - grpc_pollset_kick_destroy(&state); -} - -static void test_non_poll_kick(void) { - /* Kick before entering poll */ - grpc_pollset_kick_state state; - grpc_kick_fd_info *kfd; - - grpc_pollset_kick_init(&state); - - grpc_pollset_kick_kick(&state); - kfd = grpc_pollset_kick_pre_poll(&state); - GPR_ASSERT(kfd == NULL); - grpc_pollset_kick_destroy(&state); -} - -#define GRPC_MAX_CACHED_PIPES 50 - -static void test_over_free(void) { - /* Check high watermark pipe free logic */ - int i; - grpc_kick_fd_info **kfds = - gpr_malloc(sizeof(grpc_kick_fd_info *) * GRPC_MAX_CACHED_PIPES); - grpc_pollset_kick_state state; - grpc_pollset_kick_init(&state); - for (i = 0; i < GRPC_MAX_CACHED_PIPES; ++i) { - kfds[i] = grpc_pollset_kick_pre_poll(&state); - GPR_ASSERT(kfds[i] != NULL); - } - - for (i = 0; i < GRPC_MAX_CACHED_PIPES; ++i) { - grpc_pollset_kick_post_poll(&state, kfds[i]); - } - grpc_pollset_kick_destroy(&state); - gpr_free(kfds); -} - -static void run_tests(void) { - test_allocation(); - test_basic_kick(); - test_non_poll_kick(); - test_non_kick(); - test_over_free(); -} - -int main(int argc, char **argv) { - grpc_test_init(argc, argv); - - grpc_pollset_kick_global_init(); - run_tests(); - grpc_pollset_kick_global_destroy(); - - grpc_pollset_kick_global_init_fallback_fd(); - run_tests(); - grpc_pollset_kick_global_destroy(); - return 0; -} diff --git a/test/core/iomgr/tcp_client_posix_test.c b/test/core/iomgr/tcp_client_posix_test.c index 38b7b5909d..07bbe1f402 100644 --- a/test/core/iomgr/tcp_client_posix_test.c +++ b/test/core/iomgr/tcp_client_posix_test.c @@ -56,7 +56,7 @@ static gpr_timespec test_deadline(void) { static void finish_connection() { gpr_mu_lock(GRPC_POLLSET_MU(&g_pollset)); g_connections_complete++; - grpc_pollset_kick(&g_pollset); + grpc_pollset_kick(&g_pollset, NULL); gpr_mu_unlock(GRPC_POLLSET_MU(&g_pollset)); } @@ -111,7 +111,8 @@ void test_succeeds(void) { gpr_mu_lock(GRPC_POLLSET_MU(&g_pollset)); while (g_connections_complete == connections_complete_before) { - grpc_pollset_work(&g_pollset, GRPC_TIMEOUT_SECONDS_TO_DEADLINE(5)); + grpc_pollset_worker worker; + grpc_pollset_work(&g_pollset, &worker, GRPC_TIMEOUT_SECONDS_TO_DEADLINE(5)); } gpr_mu_unlock(GRPC_POLLSET_MU(&g_pollset)); @@ -140,7 +141,8 @@ void test_fails(void) { /* wait for the connection callback to finish */ while (g_connections_complete == connections_complete_before) { - grpc_pollset_work(&g_pollset, test_deadline()); + grpc_pollset_worker worker; + grpc_pollset_work(&g_pollset, &worker, test_deadline()); } gpr_mu_unlock(GRPC_POLLSET_MU(&g_pollset)); @@ -199,6 +201,7 @@ void test_times_out(void) { gpr_now(connect_deadline.clock_type)) > 0) { int is_after_deadline = gpr_time_cmp(connect_deadline, gpr_now(GPR_CLOCK_MONOTONIC)) <= 0; + grpc_pollset_worker worker; if (is_after_deadline && gpr_time_cmp(gpr_time_add(connect_deadline, gpr_time_from_seconds(1, GPR_TIMESPAN)), @@ -208,7 +211,7 @@ void test_times_out(void) { GPR_ASSERT(g_connections_complete == connections_complete_before + is_after_deadline); } - grpc_pollset_work(&g_pollset, GRPC_TIMEOUT_MILLIS_TO_DEADLINE(10)); + grpc_pollset_work(&g_pollset, &worker, GRPC_TIMEOUT_MILLIS_TO_DEADLINE(10)); } gpr_mu_unlock(GRPC_POLLSET_MU(&g_pollset)); diff --git a/test/core/iomgr/tcp_posix_test.c b/test/core/iomgr/tcp_posix_test.c index 4e7fb446a7..17a85ceaec 100644 --- a/test/core/iomgr/tcp_posix_test.c +++ b/test/core/iomgr/tcp_posix_test.c @@ -186,7 +186,8 @@ static void read_test(ssize_t num_bytes, ssize_t slice_size) { gpr_mu_lock(GRPC_POLLSET_MU(&g_pollset)); while (state.read_bytes < state.target_read_bytes) { - grpc_pollset_work(&g_pollset, deadline); + grpc_pollset_worker worker; + grpc_pollset_work(&g_pollset, &worker, deadline); } GPR_ASSERT(state.read_bytes == state.target_read_bytes); gpr_mu_unlock(GRPC_POLLSET_MU(&g_pollset)); @@ -222,7 +223,8 @@ static void large_read_test(ssize_t slice_size) { gpr_mu_lock(GRPC_POLLSET_MU(&g_pollset)); while (state.read_bytes < state.target_read_bytes) { - grpc_pollset_work(&g_pollset, deadline); + grpc_pollset_worker worker; + grpc_pollset_work(&g_pollset, &worker, deadline); } GPR_ASSERT(state.read_bytes == state.target_read_bytes); gpr_mu_unlock(GRPC_POLLSET_MU(&g_pollset)); @@ -265,7 +267,7 @@ static void write_done(void *user_data /* write_socket_state */, gpr_mu_lock(GRPC_POLLSET_MU(&g_pollset)); gpr_log(GPR_INFO, "Signalling write done"); state->write_done = 1; - grpc_pollset_kick(&g_pollset); + grpc_pollset_kick(&g_pollset, NULL); gpr_mu_unlock(GRPC_POLLSET_MU(&g_pollset)); } @@ -281,8 +283,9 @@ void drain_socket_blocking(int fd, size_t num_bytes, size_t read_size) { GPR_ASSERT(fcntl(fd, F_SETFL, flags & ~O_NONBLOCK) == 0); for (;;) { + grpc_pollset_worker worker; gpr_mu_lock(GRPC_POLLSET_MU(&g_pollset)); - grpc_pollset_work(&g_pollset, GRPC_TIMEOUT_MILLIS_TO_DEADLINE(10)); + grpc_pollset_work(&g_pollset, &worker, GRPC_TIMEOUT_MILLIS_TO_DEADLINE(10)); gpr_mu_unlock(GRPC_POLLSET_MU(&g_pollset)); do { bytes_read = @@ -358,10 +361,11 @@ static void write_test(ssize_t num_bytes, ssize_t slice_size) { drain_socket_blocking(sv[0], num_bytes, num_bytes); gpr_mu_lock(GRPC_POLLSET_MU(&g_pollset)); for (;;) { + grpc_pollset_worker worker; if (state.write_done) { break; } - grpc_pollset_work(&g_pollset, deadline); + grpc_pollset_work(&g_pollset, &worker, deadline); } gpr_mu_unlock(GRPC_POLLSET_MU(&g_pollset)); } @@ -387,6 +391,7 @@ static void write_error_test(ssize_t num_bytes, ssize_t slice_size) { size_t num_blocks; gpr_slice *slices; int current_data = 0; + grpc_pollset_worker worker; gpr_timespec deadline = GRPC_TIMEOUT_SECONDS_TO_DEADLINE(20); gpr_log(GPR_INFO, "Start write error test with %d bytes, slice size %d", @@ -417,7 +422,7 @@ static void write_error_test(ssize_t num_bytes, ssize_t slice_size) { if (state.write_done) { break; } - grpc_pollset_work(&g_pollset, deadline); + grpc_pollset_work(&g_pollset, &worker, deadline); } gpr_mu_unlock(GRPC_POLLSET_MU(&g_pollset)); break; diff --git a/test/core/iomgr/tcp_server_posix_test.c b/test/core/iomgr/tcp_server_posix_test.c index f8d0fe8217..b82d7c08b1 100644 --- a/test/core/iomgr/tcp_server_posix_test.c +++ b/test/core/iomgr/tcp_server_posix_test.c @@ -54,7 +54,7 @@ static void on_connect(void *arg, grpc_endpoint *tcp) { gpr_mu_lock(GRPC_POLLSET_MU(&g_pollset)); g_nconnects++; - grpc_pollset_kick(&g_pollset); + grpc_pollset_kick(&g_pollset, NULL); gpr_mu_unlock(GRPC_POLLSET_MU(&g_pollset)); } @@ -136,7 +136,8 @@ static void test_connect(int n) { gpr_log(GPR_DEBUG, "wait"); while (g_nconnects == nconnects_before && gpr_time_cmp(deadline, gpr_now(deadline.clock_type)) > 0) { - grpc_pollset_work(&g_pollset, deadline); + grpc_pollset_worker worker; + grpc_pollset_work(&g_pollset, &worker, deadline); } gpr_log(GPR_DEBUG, "wait done"); diff --git a/test/core/security/oauth2_utils.c b/test/core/security/oauth2_utils.c index ecd04fd9e1..bd4d44ac48 100644 --- a/test/core/security/oauth2_utils.c +++ b/test/core/security/oauth2_utils.c @@ -68,7 +68,7 @@ static void on_oauth2_response(void *user_data, grpc_credentials_md *md_elems, gpr_mu_lock(GRPC_POLLSET_MU(&request->pollset)); request->is_done = 1; request->token = token; - grpc_pollset_kick(&request->pollset); + grpc_pollset_kick(&request->pollset, NULL); gpr_mu_unlock(GRPC_POLLSET_MU(&request->pollset)); } @@ -83,8 +83,11 @@ char *grpc_test_fetch_oauth2_token_with_credentials(grpc_credentials *creds) { on_oauth2_response, &request); gpr_mu_lock(GRPC_POLLSET_MU(&request.pollset)); - while (!request.is_done) - grpc_pollset_work(&request.pollset, gpr_inf_future(GPR_CLOCK_REALTIME)); + while (!request.is_done) { + grpc_pollset_worker worker; + grpc_pollset_work(&request.pollset, &worker, + gpr_inf_future(GPR_CLOCK_REALTIME)); + } gpr_mu_unlock(GRPC_POLLSET_MU(&request.pollset)); grpc_pollset_shutdown(&request.pollset, do_nothing, NULL); diff --git a/test/core/security/print_google_default_creds_token.c b/test/core/security/print_google_default_creds_token.c index 0875cfb4fb..7238efbbfd 100644 --- a/test/core/security/print_google_default_creds_token.c +++ b/test/core/security/print_google_default_creds_token.c @@ -65,7 +65,7 @@ static void on_metadata_response(void *user_data, } gpr_mu_lock(GRPC_POLLSET_MU(&sync->pollset)); sync->is_done = 1; - grpc_pollset_kick(&sync->pollset); + grpc_pollset_kick(&sync->pollset, NULL); gpr_mu_unlock(GRPC_POLLSET_MU(&sync->pollset)); } @@ -95,8 +95,11 @@ int main(int argc, char **argv) { on_metadata_response, &sync); gpr_mu_lock(GRPC_POLLSET_MU(&sync.pollset)); - while (!sync.is_done) - grpc_pollset_work(&sync.pollset, gpr_inf_future(GPR_CLOCK_REALTIME)); + while (!sync.is_done) { + grpc_pollset_worker worker; + grpc_pollset_work(&sync.pollset, &worker, + gpr_inf_future(GPR_CLOCK_REALTIME)); + } gpr_mu_unlock(GRPC_POLLSET_MU(&sync.pollset)); grpc_credentials_release(creds); diff --git a/test/core/security/verify_jwt.c b/test/core/security/verify_jwt.c index cb073f19c7..9b334b3c3e 100644 --- a/test/core/security/verify_jwt.c +++ b/test/core/security/verify_jwt.c @@ -79,7 +79,7 @@ static void on_jwt_verification_done(void *user_data, gpr_mu_lock(GRPC_POLLSET_MU(&sync->pollset)); sync->is_done = 1; - grpc_pollset_kick(&sync->pollset); + grpc_pollset_kick(&sync->pollset, NULL); gpr_mu_unlock(GRPC_POLLSET_MU(&sync->pollset)); } @@ -109,8 +109,11 @@ int main(int argc, char **argv) { on_jwt_verification_done, &sync); gpr_mu_lock(GRPC_POLLSET_MU(&sync.pollset)); - while (!sync.is_done) - grpc_pollset_work(&sync.pollset, gpr_inf_future(GPR_CLOCK_REALTIME)); + while (!sync.is_done) { + grpc_pollset_worker worker; + grpc_pollset_work(&sync.pollset, &worker, + gpr_inf_future(GPR_CLOCK_REALTIME)); + } gpr_mu_unlock(GRPC_POLLSET_MU(&sync.pollset)); grpc_jwt_verifier_destroy(verifier); diff --git a/tools/doxygen/Doxyfile.core.internal b/tools/doxygen/Doxyfile.core.internal index a5d8d9b528..ebb90969f3 100644 --- a/tools/doxygen/Doxyfile.core.internal +++ b/tools/doxygen/Doxyfile.core.internal @@ -820,7 +820,6 @@ src/core/iomgr/iomgr.h \ src/core/iomgr/iomgr_internal.h \ src/core/iomgr/iomgr_posix.h \ src/core/iomgr/pollset.h \ -src/core/iomgr/pollset_kick_posix.h \ src/core/iomgr/pollset_posix.h \ src/core/iomgr/pollset_set.h \ src/core/iomgr/pollset_set_posix.h \ @@ -940,7 +939,6 @@ src/core/iomgr/iocp_windows.c \ src/core/iomgr/iomgr.c \ src/core/iomgr/iomgr_posix.c \ src/core/iomgr/iomgr_windows.c \ -src/core/iomgr/pollset_kick_posix.c \ src/core/iomgr/pollset_multipoller_with_epoll.c \ src/core/iomgr/pollset_multipoller_with_poll_posix.c \ src/core/iomgr/pollset_posix.c \ diff --git a/tools/run_tests/sources_and_headers.json b/tools/run_tests/sources_and_headers.json index 3bd70506d3..8725728a36 100644 --- a/tools/run_tests/sources_and_headers.json +++ b/tools/run_tests/sources_and_headers.json @@ -817,20 +817,6 @@ "test/core/end2end/no_server_test.c" ] }, - { - "deps": [ - "gpr", - "gpr_test_util", - "grpc", - "grpc_test_util" - ], - "headers": [], - "language": "c", - "name": "poll_kick_posix_test", - "src": [ - "test/core/iomgr/poll_kick_posix_test.c" - ] - }, { "deps": [ "gpr", @@ -10820,7 +10806,6 @@ "src/core/iomgr/iomgr_internal.h", "src/core/iomgr/iomgr_posix.h", "src/core/iomgr/pollset.h", - "src/core/iomgr/pollset_kick_posix.h", "src/core/iomgr/pollset_posix.h", "src/core/iomgr/pollset_set.h", "src/core/iomgr/pollset_set_posix.h", @@ -10987,8 +10972,6 @@ "src/core/iomgr/iomgr_posix.h", "src/core/iomgr/iomgr_windows.c", "src/core/iomgr/pollset.h", - "src/core/iomgr/pollset_kick_posix.c", - "src/core/iomgr/pollset_kick_posix.h", "src/core/iomgr/pollset_multipoller_with_epoll.c", "src/core/iomgr/pollset_multipoller_with_poll_posix.c", "src/core/iomgr/pollset_posix.c", @@ -11282,7 +11265,6 @@ "src/core/iomgr/iomgr_internal.h", "src/core/iomgr/iomgr_posix.h", "src/core/iomgr/pollset.h", - "src/core/iomgr/pollset_kick_posix.h", "src/core/iomgr/pollset_posix.h", "src/core/iomgr/pollset_set.h", "src/core/iomgr/pollset_set_posix.h", @@ -11427,8 +11409,6 @@ "src/core/iomgr/iomgr_posix.h", "src/core/iomgr/iomgr_windows.c", "src/core/iomgr/pollset.h", - "src/core/iomgr/pollset_kick_posix.c", - "src/core/iomgr/pollset_kick_posix.h", "src/core/iomgr/pollset_multipoller_with_epoll.c", "src/core/iomgr/pollset_multipoller_with_poll_posix.c", "src/core/iomgr/pollset_posix.c", diff --git a/tools/run_tests/tests.json b/tools/run_tests/tests.json index a4b910eec5..4db06d5209 100644 --- a/tools/run_tests/tests.json +++ b/tools/run_tests/tests.json @@ -463,14 +463,6 @@ "posix" ] }, - { - "flaky": false, - "language": "c", - "name": "poll_kick_posix_test", - "platforms": [ - "posix" - ] - }, { "flaky": false, "language": "c", diff --git a/vsprojects/grpc/grpc.vcxproj b/vsprojects/grpc/grpc.vcxproj index 63989ce2d8..e5878488f9 100644 --- a/vsprojects/grpc/grpc.vcxproj +++ b/vsprojects/grpc/grpc.vcxproj @@ -212,7 +212,6 @@ - @@ -392,8 +391,6 @@ - - diff --git a/vsprojects/grpc/grpc.vcxproj.filters b/vsprojects/grpc/grpc.vcxproj.filters index 0245e3e86d..0a42a447ea 100644 --- a/vsprojects/grpc/grpc.vcxproj.filters +++ b/vsprojects/grpc/grpc.vcxproj.filters @@ -175,9 +175,6 @@ src\core\iomgr - - src\core\iomgr - src\core\iomgr @@ -596,9 +593,6 @@ src\core\iomgr - - src\core\iomgr - src\core\iomgr diff --git a/vsprojects/grpc_unsecure/grpc_unsecure.vcxproj b/vsprojects/grpc_unsecure/grpc_unsecure.vcxproj index 32cafe7341..031b38f182 100644 --- a/vsprojects/grpc_unsecure/grpc_unsecure.vcxproj +++ b/vsprojects/grpc_unsecure/grpc_unsecure.vcxproj @@ -192,7 +192,6 @@ - @@ -326,8 +325,6 @@ - - diff --git a/vsprojects/grpc_unsecure/grpc_unsecure.vcxproj.filters b/vsprojects/grpc_unsecure/grpc_unsecure.vcxproj.filters index bd197b9c48..d951280393 100644 --- a/vsprojects/grpc_unsecure/grpc_unsecure.vcxproj.filters +++ b/vsprojects/grpc_unsecure/grpc_unsecure.vcxproj.filters @@ -106,9 +106,6 @@ src\core\iomgr - - src\core\iomgr - src\core\iomgr @@ -473,9 +470,6 @@ src\core\iomgr - - src\core\iomgr - src\core\iomgr -- cgit v1.2.3 From 83f4d4e2187892294a46bc31c1e8d27def2ee481 Mon Sep 17 00:00:00 2001 From: Craig Tiller Date: Wed, 29 Jul 2015 18:14:41 -0700 Subject: Add a subchannel factory decorator library --- BUILD | 12 + Makefile | 4 + build.json | 4 + gRPC.podspec | 6 + .../add_channel_arg.c | 43 + .../add_channel_arg.h | 45 + .../merge_channel_args.c | 82 + .../merge_channel_args.h | 45 + tools/doxygen/Doxyfile.core.internal | 4 + tools/run_tests/sources_and_headers.json | 12 + tools/run_tests/tests.json | 9 - vsprojects/Grpc.mak | 1697 ++++++++++++++------ vsprojects/grpc.sln | 27 + vsprojects/grpc/grpc.vcxproj | 9 + vsprojects/grpc/grpc.vcxproj.filters | 15 + vsprojects/grpc_cpp_plugin/grpc_cpp_plugin.vcxproj | 4 - vsprojects/grpc_csharp_ext/grpc_csharp_ext.vcxproj | 3 + .../grpc_csharp_plugin/grpc_csharp_plugin.vcxproj | 4 - .../grpc_objective_c_plugin.vcxproj | 4 - vsprojects/grpc_protoc_plugins.sln | 18 + .../grpc_python_plugin/grpc_python_plugin.vcxproj | 4 - .../grpc_ruby_plugin/grpc_ruby_plugin.vcxproj | 4 - vsprojects/grpc_unsecure/grpc_unsecure.vcxproj | 8 + .../grpc_unsecure/grpc_unsecure.vcxproj.filters | 15 + 24 files changed, 1564 insertions(+), 514 deletions(-) create mode 100644 src/core/client_config/subchannel_factory_decorators/add_channel_arg.c create mode 100644 src/core/client_config/subchannel_factory_decorators/add_channel_arg.h create mode 100644 src/core/client_config/subchannel_factory_decorators/merge_channel_args.c create mode 100644 src/core/client_config/subchannel_factory_decorators/merge_channel_args.h (limited to 'tools/doxygen') diff --git a/BUILD b/BUILD index eba3882a9d..c425244d18 100644 --- a/BUILD +++ b/BUILD @@ -171,6 +171,8 @@ cc_library( "src/core/client_config/resolvers/sockaddr_resolver.h", "src/core/client_config/subchannel.h", "src/core/client_config/subchannel_factory.h", + "src/core/client_config/subchannel_factory_decorators/add_channel_arg.h", + "src/core/client_config/subchannel_factory_decorators/merge_channel_args.h", "src/core/client_config/uri_parser.h", "src/core/compression/message_compress.h", "src/core/debug/trace.h", @@ -291,6 +293,8 @@ cc_library( "src/core/client_config/resolvers/sockaddr_resolver.c", "src/core/client_config/subchannel.c", "src/core/client_config/subchannel_factory.c", + "src/core/client_config/subchannel_factory_decorators/add_channel_arg.c", + "src/core/client_config/subchannel_factory_decorators/merge_channel_args.c", "src/core/client_config/uri_parser.c", "src/core/compression/algorithm.c", "src/core/compression/message_compress.c", @@ -430,6 +434,8 @@ cc_library( "src/core/client_config/resolvers/sockaddr_resolver.h", "src/core/client_config/subchannel.h", "src/core/client_config/subchannel_factory.h", + "src/core/client_config/subchannel_factory_decorators/add_channel_arg.h", + "src/core/client_config/subchannel_factory_decorators/merge_channel_args.h", "src/core/client_config/uri_parser.h", "src/core/compression/message_compress.h", "src/core/debug/trace.h", @@ -527,6 +533,8 @@ cc_library( "src/core/client_config/resolvers/sockaddr_resolver.c", "src/core/client_config/subchannel.c", "src/core/client_config/subchannel_factory.c", + "src/core/client_config/subchannel_factory_decorators/add_channel_arg.c", + "src/core/client_config/subchannel_factory_decorators/merge_channel_args.c", "src/core/client_config/uri_parser.c", "src/core/compression/algorithm.c", "src/core/compression/message_compress.c", @@ -1011,6 +1019,8 @@ objc_library( "src/core/client_config/resolvers/sockaddr_resolver.c", "src/core/client_config/subchannel.c", "src/core/client_config/subchannel_factory.c", + "src/core/client_config/subchannel_factory_decorators/add_channel_arg.c", + "src/core/client_config/subchannel_factory_decorators/merge_channel_args.c", "src/core/client_config/uri_parser.c", "src/core/compression/algorithm.c", "src/core/compression/message_compress.c", @@ -1152,6 +1162,8 @@ objc_library( "src/core/client_config/resolvers/sockaddr_resolver.h", "src/core/client_config/subchannel.h", "src/core/client_config/subchannel_factory.h", + "src/core/client_config/subchannel_factory_decorators/add_channel_arg.h", + "src/core/client_config/subchannel_factory_decorators/merge_channel_args.h", "src/core/client_config/uri_parser.h", "src/core/compression/message_compress.h", "src/core/debug/trace.h", diff --git a/Makefile b/Makefile index 14d59f2472..fd9a7b5412 100644 --- a/Makefile +++ b/Makefile @@ -3754,6 +3754,8 @@ LIBGRPC_SRC = \ src/core/client_config/resolvers/sockaddr_resolver.c \ src/core/client_config/subchannel.c \ src/core/client_config/subchannel_factory.c \ + src/core/client_config/subchannel_factory_decorators/add_channel_arg.c \ + src/core/client_config/subchannel_factory_decorators/merge_channel_args.c \ src/core/client_config/uri_parser.c \ src/core/compression/algorithm.c \ src/core/compression/message_compress.c \ @@ -4020,6 +4022,8 @@ LIBGRPC_UNSECURE_SRC = \ src/core/client_config/resolvers/sockaddr_resolver.c \ src/core/client_config/subchannel.c \ src/core/client_config/subchannel_factory.c \ + src/core/client_config/subchannel_factory_decorators/add_channel_arg.c \ + src/core/client_config/subchannel_factory_decorators/merge_channel_args.c \ src/core/client_config/uri_parser.c \ src/core/compression/algorithm.c \ src/core/compression/message_compress.c \ diff --git a/build.json b/build.json index 850b404408..4d282823cb 100644 --- a/build.json +++ b/build.json @@ -136,6 +136,8 @@ "src/core/client_config/resolvers/sockaddr_resolver.h", "src/core/client_config/subchannel.h", "src/core/client_config/subchannel_factory.h", + "src/core/client_config/subchannel_factory_decorators/add_channel_arg.h", + "src/core/client_config/subchannel_factory_decorators/merge_channel_args.h", "src/core/client_config/uri_parser.h", "src/core/compression/message_compress.h", "src/core/debug/trace.h", @@ -232,6 +234,8 @@ "src/core/client_config/resolvers/sockaddr_resolver.c", "src/core/client_config/subchannel.c", "src/core/client_config/subchannel_factory.c", + "src/core/client_config/subchannel_factory_decorators/add_channel_arg.c", + "src/core/client_config/subchannel_factory_decorators/merge_channel_args.c", "src/core/client_config/uri_parser.c", "src/core/compression/algorithm.c", "src/core/compression/message_compress.c", diff --git a/gRPC.podspec b/gRPC.podspec index 8cb4e9afc9..79c92351a8 100644 --- a/gRPC.podspec +++ b/gRPC.podspec @@ -173,6 +173,8 @@ Pod::Spec.new do |s| 'src/core/client_config/resolvers/sockaddr_resolver.h', 'src/core/client_config/subchannel.h', 'src/core/client_config/subchannel_factory.h', + 'src/core/client_config/subchannel_factory_decorators/add_channel_arg.h', + 'src/core/client_config/subchannel_factory_decorators/merge_channel_args.h', 'src/core/client_config/uri_parser.h', 'src/core/compression/message_compress.h', 'src/core/debug/trace.h', @@ -300,6 +302,8 @@ Pod::Spec.new do |s| 'src/core/client_config/resolvers/sockaddr_resolver.c', 'src/core/client_config/subchannel.c', 'src/core/client_config/subchannel_factory.c', + 'src/core/client_config/subchannel_factory_decorators/add_channel_arg.c', + 'src/core/client_config/subchannel_factory_decorators/merge_channel_args.c', 'src/core/client_config/uri_parser.c', 'src/core/compression/algorithm.c', 'src/core/compression/message_compress.c', @@ -440,6 +444,8 @@ Pod::Spec.new do |s| 'src/core/client_config/resolvers/sockaddr_resolver.h', 'src/core/client_config/subchannel.h', 'src/core/client_config/subchannel_factory.h', + 'src/core/client_config/subchannel_factory_decorators/add_channel_arg.h', + 'src/core/client_config/subchannel_factory_decorators/merge_channel_args.h', 'src/core/client_config/uri_parser.h', 'src/core/compression/message_compress.h', 'src/core/debug/trace.h', diff --git a/src/core/client_config/subchannel_factory_decorators/add_channel_arg.c b/src/core/client_config/subchannel_factory_decorators/add_channel_arg.c new file mode 100644 index 0000000000..7dc6d99ebe --- /dev/null +++ b/src/core/client_config/subchannel_factory_decorators/add_channel_arg.c @@ -0,0 +1,43 @@ +/* + * + * Copyright 2015, Google Inc. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following disclaimer + * in the documentation and/or other materials provided with the + * distribution. + * * Neither the name of Google Inc. nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + */ + +#include "src/core/client_config/subchannel_factory_decorators/add_channel_arg.h" +#include "src/core/client_config/subchannel_factory_decorators/merge_channel_args.h" + +grpc_subchannel_factory *grpc_subchannel_factory_add_channel_arg( + grpc_subchannel_factory *input, const grpc_arg *arg) { + grpc_channel_args args; + args.num_args = 1; + args.args = (grpc_arg *)arg; + return grpc_subchannel_factory_merge_channel_args(input, &args); +} diff --git a/src/core/client_config/subchannel_factory_decorators/add_channel_arg.h b/src/core/client_config/subchannel_factory_decorators/add_channel_arg.h new file mode 100644 index 0000000000..1937623374 --- /dev/null +++ b/src/core/client_config/subchannel_factory_decorators/add_channel_arg.h @@ -0,0 +1,45 @@ +/* + * + * Copyright 2015, Google Inc. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following disclaimer + * in the documentation and/or other materials provided with the + * distribution. + * * Neither the name of Google Inc. nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + */ + +#ifndef GRPC_INTERNAL_CORE_CLIENT_CONFIG_SUBCHANNEL_FACTORY_DECORATORS_ADD_CHANNEL_ARG_H +#define GRPC_INTERNAL_CORE_CLIENT_CONFIG_SUBCHANNEL_FACTORY_DECORATORS_ADD_CHANNEL_ARG_H + +#include "src/core/client_config/subchannel_factory.h" + +/** Takes a subchannel factory, returns a new one that mutates incoming + channel_args by adding a new argument; ownership of input, arg is retained + by the caller. */ +grpc_subchannel_factory *grpc_subchannel_factory_add_channel_arg( + grpc_subchannel_factory *input, const grpc_arg *arg); + +#endif /* GRPC_INTERNAL_CORE_CLIENT_CONFIG_SUBCHANNEL_FACTORY_DECORATORS_ADD_CHANNEL_ARG_H */ diff --git a/src/core/client_config/subchannel_factory_decorators/merge_channel_args.c b/src/core/client_config/subchannel_factory_decorators/merge_channel_args.c new file mode 100644 index 0000000000..17e89d6d4d --- /dev/null +++ b/src/core/client_config/subchannel_factory_decorators/merge_channel_args.c @@ -0,0 +1,82 @@ +/* + * + * Copyright 2015, Google Inc. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following disclaimer + * in the documentation and/or other materials provided with the + * distribution. + * * Neither the name of Google Inc. nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + */ + +#include "src/core/client_config/subchannel_factory_decorators/merge_channel_args.h" +#include +#include "src/core/channel/channel_args.h" + +typedef struct { + grpc_subchannel_factory base; + gpr_refcount refs; + grpc_subchannel_factory *wrapped; + grpc_channel_args *merge_args; +} merge_args_factory; + +static void merge_args_factory_ref(grpc_subchannel_factory *scf) { + merge_args_factory *f = (merge_args_factory *)scf; + gpr_ref(&f->refs); +} + +static void merge_args_factory_unref(grpc_subchannel_factory *scf) { + merge_args_factory *f = (merge_args_factory *)scf; + if (gpr_unref(&f->refs)) { + grpc_subchannel_factory_unref(f->wrapped); + grpc_channel_args_destroy(f->merge_args); + gpr_free(f); + } +} + +static grpc_subchannel *merge_args_factory_create_subchannel( + grpc_subchannel_factory *scf, grpc_subchannel_args *args) { + merge_args_factory *f = (merge_args_factory *)scf; + grpc_channel_args *final_args = + grpc_channel_args_merge(args->args, f->merge_args); + grpc_subchannel *s; + s = grpc_subchannel_factory_create_subchannel(f->wrapped, args); + grpc_channel_args_destroy(final_args); + return s; +} + +static const grpc_subchannel_factory_vtable merge_args_factory_vtable = { + merge_args_factory_ref, merge_args_factory_unref, + merge_args_factory_create_subchannel}; + +grpc_subchannel_factory *grpc_subchannel_factory_merge_channel_args( + grpc_subchannel_factory *input, const grpc_channel_args *args) { + merge_args_factory *f = gpr_malloc(sizeof(*f)); + f->base.vtable = &merge_args_factory_vtable; + gpr_ref_init(&f->refs, 1); + f->wrapped = input; + f->merge_args = grpc_channel_args_copy(args); + return &f->base; +} diff --git a/src/core/client_config/subchannel_factory_decorators/merge_channel_args.h b/src/core/client_config/subchannel_factory_decorators/merge_channel_args.h new file mode 100644 index 0000000000..73a03b752f --- /dev/null +++ b/src/core/client_config/subchannel_factory_decorators/merge_channel_args.h @@ -0,0 +1,45 @@ +/* + * + * Copyright 2015, Google Inc. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following disclaimer + * in the documentation and/or other materials provided with the + * distribution. + * * Neither the name of Google Inc. nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + */ + +#ifndef GRPC_INTERNAL_CORE_CLIENT_CONFIG_SUBCHANNEL_FACTORY_DECORATORS_MERGE_CHANNEL_ARGS_H +#define GRPC_INTERNAL_CORE_CLIENT_CONFIG_SUBCHANNEL_FACTORY_DECORATORS_MERGE_CHANNEL_ARGS_H + +#include "src/core/client_config/subchannel_factory.h" + +/** Takes a subchannel factory, returns a new one that mutates incoming + channel_args by adding a new argument; ownership of input, args is retained + by the caller. */ +grpc_subchannel_factory *grpc_subchannel_factory_merge_channel_args( + grpc_subchannel_factory *input, const grpc_channel_args *args); + +#endif /* GRPC_INTERNAL_CORE_CLIENT_CONFIG_SUBCHANNEL_FACTORY_DECORATORS_MERGE_CHANNEL_ARGS_H */ diff --git a/tools/doxygen/Doxyfile.core.internal b/tools/doxygen/Doxyfile.core.internal index a5d8d9b528..2a1649d338 100644 --- a/tools/doxygen/Doxyfile.core.internal +++ b/tools/doxygen/Doxyfile.core.internal @@ -806,6 +806,8 @@ src/core/client_config/resolvers/dns_resolver.h \ src/core/client_config/resolvers/sockaddr_resolver.h \ src/core/client_config/subchannel.h \ src/core/client_config/subchannel_factory.h \ +src/core/client_config/subchannel_factory_decorators/add_channel_arg.h \ +src/core/client_config/subchannel_factory_decorators/merge_channel_args.h \ src/core/client_config/uri_parser.h \ src/core/compression/message_compress.h \ src/core/debug/trace.h \ @@ -926,6 +928,8 @@ src/core/client_config/resolvers/dns_resolver.c \ src/core/client_config/resolvers/sockaddr_resolver.c \ src/core/client_config/subchannel.c \ src/core/client_config/subchannel_factory.c \ +src/core/client_config/subchannel_factory_decorators/add_channel_arg.c \ +src/core/client_config/subchannel_factory_decorators/merge_channel_args.c \ src/core/client_config/uri_parser.c \ src/core/compression/algorithm.c \ src/core/compression/message_compress.c \ diff --git a/tools/run_tests/sources_and_headers.json b/tools/run_tests/sources_and_headers.json index 9d14f357e4..6a89c53804 100644 --- a/tools/run_tests/sources_and_headers.json +++ b/tools/run_tests/sources_and_headers.json @@ -11007,6 +11007,8 @@ "src/core/client_config/resolvers/sockaddr_resolver.h", "src/core/client_config/subchannel.h", "src/core/client_config/subchannel_factory.h", + "src/core/client_config/subchannel_factory_decorators/add_channel_arg.h", + "src/core/client_config/subchannel_factory_decorators/merge_channel_args.h", "src/core/client_config/uri_parser.h", "src/core/compression/message_compress.h", "src/core/debug/trace.h", @@ -11156,6 +11158,10 @@ "src/core/client_config/subchannel.h", "src/core/client_config/subchannel_factory.c", "src/core/client_config/subchannel_factory.h", + "src/core/client_config/subchannel_factory_decorators/add_channel_arg.c", + "src/core/client_config/subchannel_factory_decorators/add_channel_arg.h", + "src/core/client_config/subchannel_factory_decorators/merge_channel_args.c", + "src/core/client_config/subchannel_factory_decorators/merge_channel_args.h", "src/core/client_config/uri_parser.c", "src/core/client_config/uri_parser.h", "src/core/compression/algorithm.c", @@ -11473,6 +11479,8 @@ "src/core/client_config/resolvers/sockaddr_resolver.h", "src/core/client_config/subchannel.h", "src/core/client_config/subchannel_factory.h", + "src/core/client_config/subchannel_factory_decorators/add_channel_arg.h", + "src/core/client_config/subchannel_factory_decorators/merge_channel_args.h", "src/core/client_config/uri_parser.h", "src/core/compression/message_compress.h", "src/core/debug/trace.h", @@ -11604,6 +11612,10 @@ "src/core/client_config/subchannel.h", "src/core/client_config/subchannel_factory.c", "src/core/client_config/subchannel_factory.h", + "src/core/client_config/subchannel_factory_decorators/add_channel_arg.c", + "src/core/client_config/subchannel_factory_decorators/add_channel_arg.h", + "src/core/client_config/subchannel_factory_decorators/merge_channel_args.c", + "src/core/client_config/subchannel_factory_decorators/merge_channel_args.h", "src/core/client_config/uri_parser.c", "src/core/client_config/uri_parser.h", "src/core/compression/algorithm.c", diff --git a/tools/run_tests/tests.json b/tools/run_tests/tests.json index c4c1c3ac4e..fbf5b78b0e 100644 --- a/tools/run_tests/tests.json +++ b/tools/run_tests/tests.json @@ -590,7 +590,6 @@ "language": "c++", "name": "async_streaming_ping_pong_test", "platforms": [ - "windows", "posix" ] }, @@ -599,7 +598,6 @@ "language": "c++", "name": "async_unary_ping_pong_test", "platforms": [ - "windows", "posix" ] }, @@ -635,7 +633,6 @@ "language": "c++", "name": "client_crash_test", "platforms": [ - "windows", "posix" ] }, @@ -716,7 +713,6 @@ "language": "c++", "name": "interop_test", "platforms": [ - "windows", "posix" ] }, @@ -734,7 +730,6 @@ "language": "c++", "name": "qps_openloop_test", "platforms": [ - "windows", "posix" ] }, @@ -743,7 +738,6 @@ "language": "c++", "name": "qps_test", "platforms": [ - "windows", "posix" ] }, @@ -761,7 +755,6 @@ "language": "c++", "name": "server_crash_test", "platforms": [ - "windows", "posix" ] }, @@ -779,7 +772,6 @@ "language": "c++", "name": "sync_streaming_ping_pong_test", "platforms": [ - "windows", "posix" ] }, @@ -788,7 +780,6 @@ "language": "c++", "name": "sync_unary_ping_pong_test", "platforms": [ - "windows", "posix" ] }, diff --git a/vsprojects/Grpc.mak b/vsprojects/Grpc.mak index 0a7b7f9080..b2da324952 100644 --- a/vsprojects/Grpc.mak +++ b/vsprojects/Grpc.mak @@ -39,8 +39,19 @@ REPO_ROOT=.. OPENSSL_INCLUDES = .\packages\grpc.dependencies.openssl.1.0.2.2\build\native\include ZLIB_INCLUDES = .\packages\grpc.dependencies.zlib.1.2.8.9\build\native\include INCLUDES=/I$(REPO_ROOT) /I$(REPO_ROOT)\include /I$(OPENSSL_INCLUDES) /I$(ZLIB_INCLUDES) -DEFINES=/D WIN32 /D _LIB /D _USE_32BIT_TIME_T /D _UNICODE /D UNICODE /D _CRT_SECURE_NO_WARNINGS + +GFLAGS_INCLUDES = .\..\third_party\gflags\include +GTEST_INCLUDES = .\..\third_party\gtest\include +PROTOBUF_INCLUDES = .\..\third_party\protobuf\src +CXX_INCLUDES=/I$(GFLAGS_INCLUDES) /I$(GTEST_INCLUDES) /I$(PROTOBUF_INCLUDES) + +#_SCL_SECURE_NO_WARNINGS supresses a ton of "potentially unsafe use of std lib" warnings +DEFINES=/D WIN32 /D _LIB /D _USE_32BIT_TIME_T /D _UNICODE /D UNICODE /D _CRT_SECURE_NO_WARNINGS /D _SCL_SECURE_NO_WARNINGS + +#important options: /TC vs. /TP: compile as C vs. compile as C++ CFLAGS=/c $(INCLUDES) /Z7 /W3 /WX- /sdl $(DEFINES) /EHsc /RTC1 /MDd /GS /fp:precise /Zc:wchar_t /Zc:forScope /Gd /TC /analyze- +CXXFLAGS=/c $(INCLUDES) $(CXX_INCLUDES) /Z7 /W3 /WX- /sdl $(DEFINES) /EHsc /RTC1 /MDd /GS /fp:precise /Zc:wchar_t /Zc:forScope /Gd /TP /analyze- + LFLAGS=/DEBUG /INCREMENTAL /SUBSYSTEM:CONSOLE /TLBID:1 /DYNAMICBASE /NXCOMPAT /MACHINE:X86 OPENSSL_LIBS=.\packages\grpc.dependencies.openssl.1.0.2.2\build\native\lib\v120\Win32\Debug\static\ssleay32.lib .\packages\grpc.dependencies.openssl.1.0.2.2\build\native\lib\v120\Win32\Debug\static\libeay32.lib @@ -49,6 +60,12 @@ GENERAL_LIBS=advapi32.lib comdlg32.lib gdi32.lib kernel32.lib odbc32.lib odbccp3 ZLIB_LIBS=.\packages\grpc.dependencies.zlib.1.2.8.9\build\native\lib\v120\Win32\Debug\static\cdecl\zlib.lib LIBS=$(OPENSSL_LIBS) $(ZLIB_LIBS) $(GENERAL_LIBS) $(WINSOCK_LIBS) +#shlwapi.lib provides PathMatchSpec() for gflags in windows +GFLAGS_LIBS=.\..\third_party\gflags\lib\Debug\gflags.lib shlwapi.lib +GTEST_LIBS=.\..\third_party\gtest\msvc\gtest\Debug\gtestd.lib +PROTOBUF_LIBS=.\..\third_party\protobuf\vsprojects\Debug\libprotobuf.lib +CXX_LIBS=$(GFLAGS_LIBS) $(GTEST_LIBS) $(PROTOBUF_LIBS) + all: buildtests tools: @@ -60,3471 +77,4181 @@ tools_cxx: $(OUT_DIR): mkdir $(OUT_DIR) -build_libs: build_gpr build_gpr_test_util build_grpc build_grpc_test_util build_grpc_test_util_unsecure build_grpc_unsecure Debug\end2end_fixture_chttp2_fake_security.lib Debug\end2end_fixture_chttp2_fullstack.lib Debug\end2end_fixture_chttp2_fullstack_compression.lib Debug\end2end_fixture_chttp2_simple_ssl_fullstack.lib Debug\end2end_fixture_chttp2_simple_ssl_with_oauth2_fullstack.lib Debug\end2end_fixture_chttp2_socket_pair.lib Debug\end2end_fixture_chttp2_socket_pair_one_byte_at_a_time.lib Debug\end2end_fixture_chttp2_socket_pair_with_grpc_trace.lib Debug\end2end_test_bad_hostname.lib Debug\end2end_test_cancel_after_accept.lib Debug\end2end_test_cancel_after_accept_and_writes_closed.lib Debug\end2end_test_cancel_after_invoke.lib Debug\end2end_test_cancel_before_invoke.lib Debug\end2end_test_cancel_in_a_vacuum.lib Debug\end2end_test_census_simple_request.lib Debug\end2end_test_channel_connectivity.lib Debug\end2end_test_default_host.lib Debug\end2end_test_disappearing_server.lib Debug\end2end_test_early_server_shutdown_finishes_inflight_calls.lib Debug\end2end_test_early_server_shutdown_finishes_tags.lib Debug\end2end_test_empty_batch.lib Debug\end2end_test_graceful_server_shutdown.lib Debug\end2end_test_invoke_large_request.lib Debug\end2end_test_max_concurrent_streams.lib Debug\end2end_test_max_message_length.lib Debug\end2end_test_no_op.lib Debug\end2end_test_ping_pong_streaming.lib Debug\end2end_test_registered_call.lib Debug\end2end_test_request_response_with_binary_metadata_and_payload.lib Debug\end2end_test_request_response_with_metadata_and_payload.lib Debug\end2end_test_request_response_with_payload.lib Debug\end2end_test_request_response_with_payload_and_call_creds.lib Debug\end2end_test_request_response_with_trailing_metadata_and_payload.lib Debug\end2end_test_request_with_compressed_payload.lib Debug\end2end_test_request_with_flags.lib Debug\end2end_test_request_with_large_metadata.lib Debug\end2end_test_request_with_payload.lib Debug\end2end_test_server_finishes_request.lib Debug\end2end_test_simple_delayed_request.lib Debug\end2end_test_simple_request.lib Debug\end2end_test_simple_request_with_high_initial_sequence_number.lib Debug\end2end_certs.lib Debug\bad_client_test.lib +build_libs: build_gpr build_gpr_test_util build_grpc build_grpc_test_util build_grpc_test_util_unsecure build_grpc_unsecure build_grpc++ Debug\grpc++_test_config.lib Debug\grpc++_test_util.lib build_grpc++_unsecure Debug\interop_client_helper.lib Debug\interop_client_main.lib Debug\interop_server_helper.lib Debug\interop_server_main.lib Debug\qps.lib Debug\end2end_fixture_chttp2_fake_security.lib Debug\end2end_fixture_chttp2_fullstack.lib Debug\end2end_fixture_chttp2_fullstack_compression.lib Debug\end2end_fixture_chttp2_simple_ssl_fullstack.lib Debug\end2end_fixture_chttp2_simple_ssl_with_oauth2_fullstack.lib Debug\end2end_fixture_chttp2_socket_pair.lib Debug\end2end_fixture_chttp2_socket_pair_one_byte_at_a_time.lib Debug\end2end_fixture_chttp2_socket_pair_with_grpc_trace.lib Debug\end2end_test_bad_hostname.lib Debug\end2end_test_cancel_after_accept.lib Debug\end2end_test_cancel_after_accept_and_writes_closed.lib Debug\end2end_test_cancel_after_invoke.lib Debug\end2end_test_cancel_before_invoke.lib Debug\end2end_test_cancel_in_a_vacuum.lib Debug\end2end_test_census_simple_request.lib Debug\end2end_test_channel_connectivity.lib Debug\end2end_test_default_host.lib Debug\end2end_test_disappearing_server.lib Debug\end2end_test_early_server_shutdown_finishes_inflight_calls.lib Debug\end2end_test_early_server_shutdown_finishes_tags.lib Debug\end2end_test_empty_batch.lib Debug\end2end_test_graceful_server_shutdown.lib Debug\end2end_test_invoke_large_request.lib Debug\end2end_test_max_concurrent_streams.lib Debug\end2end_test_max_message_length.lib Debug\end2end_test_no_op.lib Debug\end2end_test_ping_pong_streaming.lib Debug\end2end_test_registered_call.lib Debug\end2end_test_request_response_with_binary_metadata_and_payload.lib Debug\end2end_test_request_response_with_metadata_and_payload.lib Debug\end2end_test_request_response_with_payload.lib Debug\end2end_test_request_response_with_payload_and_call_creds.lib Debug\end2end_test_request_response_with_trailing_metadata_and_payload.lib Debug\end2end_test_request_with_compressed_payload.lib Debug\end2end_test_request_with_flags.lib Debug\end2end_test_request_with_large_metadata.lib Debug\end2end_test_request_with_payload.lib Debug\end2end_test_server_finishes_request.lib Debug\end2end_test_simple_delayed_request.lib Debug\end2end_test_simple_request.lib Debug\end2end_test_simple_request_with_high_initial_sequence_number.lib Debug\end2end_certs.lib Debug\bad_client_test.lib buildtests: buildtests_c buildtests_cxx buildtests_c: alarm_heap_test.exe alarm_list_test.exe alarm_test.exe alpn_test.exe bin_encoder_test.exe chttp2_status_conversion_test.exe chttp2_stream_encoder_test.exe chttp2_stream_map_test.exe fling_client.exe fling_server.exe gpr_cancellable_test.exe gpr_cmdline_test.exe gpr_env_test.exe gpr_file_test.exe gpr_histogram_test.exe gpr_host_port_test.exe gpr_log_test.exe gpr_slice_buffer_test.exe gpr_slice_test.exe gpr_stack_lockfree_test.exe gpr_string_test.exe gpr_sync_test.exe gpr_thd_test.exe gpr_time_test.exe gpr_tls_test.exe gpr_useful_test.exe grpc_auth_context_test.exe grpc_base64_test.exe grpc_byte_buffer_reader_test.exe grpc_channel_stack_test.exe grpc_completion_queue_test.exe grpc_credentials_test.exe grpc_json_token_test.exe grpc_jwt_verifier_test.exe grpc_security_connector_test.exe grpc_stream_op_test.exe hpack_parser_test.exe hpack_table_test.exe httpcli_format_request_test.exe httpcli_parser_test.exe json_rewrite.exe json_rewrite_test.exe json_test.exe lame_client_test.exe message_compress_test.exe multi_init_test.exe multiple_server_queues_test.exe murmur_hash_test.exe no_server_test.exe resolve_address_test.exe secure_endpoint_test.exe sockaddr_utils_test.exe time_averaged_stats_test.exe timeout_encoding_test.exe timers_test.exe transport_metadata_test.exe transport_security_test.exe uri_parser_test.exe chttp2_fake_security_bad_hostname_test.exe chttp2_fake_security_cancel_after_accept_test.exe chttp2_fake_security_cancel_after_accept_and_writes_closed_test.exe chttp2_fake_security_cancel_after_invoke_test.exe chttp2_fake_security_cancel_before_invoke_test.exe chttp2_fake_security_cancel_in_a_vacuum_test.exe chttp2_fake_security_census_simple_request_test.exe chttp2_fake_security_channel_connectivity_test.exe chttp2_fake_security_default_host_test.exe chttp2_fake_security_disappearing_server_test.exe chttp2_fake_security_early_server_shutdown_finishes_inflight_calls_test.exe chttp2_fake_security_early_server_shutdown_finishes_tags_test.exe chttp2_fake_security_empty_batch_test.exe chttp2_fake_security_graceful_server_shutdown_test.exe chttp2_fake_security_invoke_large_request_test.exe chttp2_fake_security_max_concurrent_streams_test.exe chttp2_fake_security_max_message_length_test.exe chttp2_fake_security_no_op_test.exe chttp2_fake_security_ping_pong_streaming_test.exe chttp2_fake_security_registered_call_test.exe chttp2_fake_security_request_response_with_binary_metadata_and_payload_test.exe chttp2_fake_security_request_response_with_metadata_and_payload_test.exe chttp2_fake_security_request_response_with_payload_test.exe chttp2_fake_security_request_response_with_payload_and_call_creds_test.exe chttp2_fake_security_request_response_with_trailing_metadata_and_payload_test.exe chttp2_fake_security_request_with_compressed_payload_test.exe chttp2_fake_security_request_with_flags_test.exe chttp2_fake_security_request_with_large_metadata_test.exe chttp2_fake_security_request_with_payload_test.exe chttp2_fake_security_server_finishes_request_test.exe chttp2_fake_security_simple_delayed_request_test.exe chttp2_fake_security_simple_request_test.exe chttp2_fake_security_simple_request_with_high_initial_sequence_number_test.exe chttp2_fullstack_bad_hostname_test.exe chttp2_fullstack_cancel_after_accept_test.exe chttp2_fullstack_cancel_after_accept_and_writes_closed_test.exe chttp2_fullstack_cancel_after_invoke_test.exe chttp2_fullstack_cancel_before_invoke_test.exe chttp2_fullstack_cancel_in_a_vacuum_test.exe chttp2_fullstack_census_simple_request_test.exe chttp2_fullstack_channel_connectivity_test.exe chttp2_fullstack_default_host_test.exe chttp2_fullstack_disappearing_server_test.exe chttp2_fullstack_early_server_shutdown_finishes_inflight_calls_test.exe chttp2_fullstack_early_server_shutdown_finishes_tags_test.exe chttp2_fullstack_empty_batch_test.exe chttp2_fullstack_graceful_server_shutdown_test.exe chttp2_fullstack_invoke_large_request_test.exe chttp2_fullstack_max_concurrent_streams_test.exe chttp2_fullstack_max_message_length_test.exe chttp2_fullstack_no_op_test.exe chttp2_fullstack_ping_pong_streaming_test.exe chttp2_fullstack_registered_call_test.exe chttp2_fullstack_request_response_with_binary_metadata_and_payload_test.exe chttp2_fullstack_request_response_with_metadata_and_payload_test.exe chttp2_fullstack_request_response_with_payload_test.exe chttp2_fullstack_request_response_with_payload_and_call_creds_test.exe chttp2_fullstack_request_response_with_trailing_metadata_and_payload_test.exe chttp2_fullstack_request_with_compressed_payload_test.exe chttp2_fullstack_request_with_flags_test.exe chttp2_fullstack_request_with_large_metadata_test.exe chttp2_fullstack_request_with_payload_test.exe chttp2_fullstack_server_finishes_request_test.exe chttp2_fullstack_simple_delayed_request_test.exe chttp2_fullstack_simple_request_test.exe chttp2_fullstack_simple_request_with_high_initial_sequence_number_test.exe chttp2_fullstack_compression_bad_hostname_test.exe chttp2_fullstack_compression_cancel_after_accept_test.exe chttp2_fullstack_compression_cancel_after_accept_and_writes_closed_test.exe chttp2_fullstack_compression_cancel_after_invoke_test.exe chttp2_fullstack_compression_cancel_before_invoke_test.exe chttp2_fullstack_compression_cancel_in_a_vacuum_test.exe chttp2_fullstack_compression_census_simple_request_test.exe chttp2_fullstack_compression_channel_connectivity_test.exe chttp2_fullstack_compression_default_host_test.exe chttp2_fullstack_compression_disappearing_server_test.exe chttp2_fullstack_compression_early_server_shutdown_finishes_inflight_calls_test.exe chttp2_fullstack_compression_early_server_shutdown_finishes_tags_test.exe chttp2_fullstack_compression_empty_batch_test.exe chttp2_fullstack_compression_graceful_server_shutdown_test.exe chttp2_fullstack_compression_invoke_large_request_test.exe chttp2_fullstack_compression_max_concurrent_streams_test.exe chttp2_fullstack_compression_max_message_length_test.exe chttp2_fullstack_compression_no_op_test.exe chttp2_fullstack_compression_ping_pong_streaming_test.exe chttp2_fullstack_compression_registered_call_test.exe chttp2_fullstack_compression_request_response_with_binary_metadata_and_payload_test.exe chttp2_fullstack_compression_request_response_with_metadata_and_payload_test.exe chttp2_fullstack_compression_request_response_with_payload_test.exe chttp2_fullstack_compression_request_response_with_payload_and_call_creds_test.exe chttp2_fullstack_compression_request_response_with_trailing_metadata_and_payload_test.exe chttp2_fullstack_compression_request_with_compressed_payload_test.exe chttp2_fullstack_compression_request_with_flags_test.exe chttp2_fullstack_compression_request_with_large_metadata_test.exe chttp2_fullstack_compression_request_with_payload_test.exe chttp2_fullstack_compression_server_finishes_request_test.exe chttp2_fullstack_compression_simple_delayed_request_test.exe chttp2_fullstack_compression_simple_request_test.exe chttp2_fullstack_compression_simple_request_with_high_initial_sequence_number_test.exe chttp2_simple_ssl_fullstack_bad_hostname_test.exe chttp2_simple_ssl_fullstack_cancel_after_accept_test.exe chttp2_simple_ssl_fullstack_cancel_after_accept_and_writes_closed_test.exe chttp2_simple_ssl_fullstack_cancel_after_invoke_test.exe chttp2_simple_ssl_fullstack_cancel_before_invoke_test.exe chttp2_simple_ssl_fullstack_cancel_in_a_vacuum_test.exe chttp2_simple_ssl_fullstack_census_simple_request_test.exe chttp2_simple_ssl_fullstack_channel_connectivity_test.exe chttp2_simple_ssl_fullstack_default_host_test.exe chttp2_simple_ssl_fullstack_disappearing_server_test.exe chttp2_simple_ssl_fullstack_early_server_shutdown_finishes_inflight_calls_test.exe chttp2_simple_ssl_fullstack_early_server_shutdown_finishes_tags_test.exe chttp2_simple_ssl_fullstack_empty_batch_test.exe chttp2_simple_ssl_fullstack_graceful_server_shutdown_test.exe chttp2_simple_ssl_fullstack_invoke_large_request_test.exe chttp2_simple_ssl_fullstack_max_concurrent_streams_test.exe chttp2_simple_ssl_fullstack_max_message_length_test.exe chttp2_simple_ssl_fullstack_no_op_test.exe chttp2_simple_ssl_fullstack_ping_pong_streaming_test.exe chttp2_simple_ssl_fullstack_registered_call_test.exe chttp2_simple_ssl_fullstack_request_response_with_binary_metadata_and_payload_test.exe chttp2_simple_ssl_fullstack_request_response_with_metadata_and_payload_test.exe chttp2_simple_ssl_fullstack_request_response_with_payload_test.exe chttp2_simple_ssl_fullstack_request_response_with_payload_and_call_creds_test.exe chttp2_simple_ssl_fullstack_request_response_with_trailing_metadata_and_payload_test.exe chttp2_simple_ssl_fullstack_request_with_compressed_payload_test.exe chttp2_simple_ssl_fullstack_request_with_flags_test.exe chttp2_simple_ssl_fullstack_request_with_large_metadata_test.exe chttp2_simple_ssl_fullstack_request_with_payload_test.exe chttp2_simple_ssl_fullstack_server_finishes_request_test.exe chttp2_simple_ssl_fullstack_simple_delayed_request_test.exe chttp2_simple_ssl_fullstack_simple_request_test.exe chttp2_simple_ssl_fullstack_simple_request_with_high_initial_sequence_number_test.exe chttp2_simple_ssl_with_oauth2_fullstack_bad_hostname_test.exe chttp2_simple_ssl_with_oauth2_fullstack_cancel_after_accept_test.exe chttp2_simple_ssl_with_oauth2_fullstack_cancel_after_accept_and_writes_closed_test.exe chttp2_simple_ssl_with_oauth2_fullstack_cancel_after_invoke_test.exe chttp2_simple_ssl_with_oauth2_fullstack_cancel_before_invoke_test.exe chttp2_simple_ssl_with_oauth2_fullstack_cancel_in_a_vacuum_test.exe chttp2_simple_ssl_with_oauth2_fullstack_census_simple_request_test.exe chttp2_simple_ssl_with_oauth2_fullstack_channel_connectivity_test.exe chttp2_simple_ssl_with_oauth2_fullstack_default_host_test.exe chttp2_simple_ssl_with_oauth2_fullstack_disappearing_server_test.exe chttp2_simple_ssl_with_oauth2_fullstack_early_server_shutdown_finishes_inflight_calls_test.exe chttp2_simple_ssl_with_oauth2_fullstack_early_server_shutdown_finishes_tags_test.exe chttp2_simple_ssl_with_oauth2_fullstack_empty_batch_test.exe chttp2_simple_ssl_with_oauth2_fullstack_graceful_server_shutdown_test.exe chttp2_simple_ssl_with_oauth2_fullstack_invoke_large_request_test.exe chttp2_simple_ssl_with_oauth2_fullstack_max_concurrent_streams_test.exe chttp2_simple_ssl_with_oauth2_fullstack_max_message_length_test.exe chttp2_simple_ssl_with_oauth2_fullstack_no_op_test.exe chttp2_simple_ssl_with_oauth2_fullstack_ping_pong_streaming_test.exe chttp2_simple_ssl_with_oauth2_fullstack_registered_call_test.exe chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_binary_metadata_and_payload_test.exe chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_metadata_and_payload_test.exe chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_payload_test.exe chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_payload_and_call_creds_test.exe chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_trailing_metadata_and_payload_test.exe chttp2_simple_ssl_with_oauth2_fullstack_request_with_compressed_payload_test.exe chttp2_simple_ssl_with_oauth2_fullstack_request_with_flags_test.exe chttp2_simple_ssl_with_oauth2_fullstack_request_with_large_metadata_test.exe chttp2_simple_ssl_with_oauth2_fullstack_request_with_payload_test.exe chttp2_simple_ssl_with_oauth2_fullstack_server_finishes_request_test.exe chttp2_simple_ssl_with_oauth2_fullstack_simple_delayed_request_test.exe chttp2_simple_ssl_with_oauth2_fullstack_simple_request_test.exe chttp2_simple_ssl_with_oauth2_fullstack_simple_request_with_high_initial_sequence_number_test.exe chttp2_socket_pair_bad_hostname_test.exe chttp2_socket_pair_cancel_after_accept_test.exe chttp2_socket_pair_cancel_after_accept_and_writes_closed_test.exe chttp2_socket_pair_cancel_after_invoke_test.exe chttp2_socket_pair_cancel_before_invoke_test.exe chttp2_socket_pair_cancel_in_a_vacuum_test.exe chttp2_socket_pair_census_simple_request_test.exe chttp2_socket_pair_early_server_shutdown_finishes_inflight_calls_test.exe chttp2_socket_pair_early_server_shutdown_finishes_tags_test.exe chttp2_socket_pair_empty_batch_test.exe chttp2_socket_pair_graceful_server_shutdown_test.exe chttp2_socket_pair_invoke_large_request_test.exe chttp2_socket_pair_max_concurrent_streams_test.exe chttp2_socket_pair_max_message_length_test.exe chttp2_socket_pair_no_op_test.exe chttp2_socket_pair_ping_pong_streaming_test.exe chttp2_socket_pair_registered_call_test.exe chttp2_socket_pair_request_response_with_binary_metadata_and_payload_test.exe chttp2_socket_pair_request_response_with_metadata_and_payload_test.exe chttp2_socket_pair_request_response_with_payload_test.exe chttp2_socket_pair_request_response_with_payload_and_call_creds_test.exe chttp2_socket_pair_request_response_with_trailing_metadata_and_payload_test.exe chttp2_socket_pair_request_with_compressed_payload_test.exe chttp2_socket_pair_request_with_flags_test.exe chttp2_socket_pair_request_with_large_metadata_test.exe chttp2_socket_pair_request_with_payload_test.exe chttp2_socket_pair_server_finishes_request_test.exe chttp2_socket_pair_simple_request_test.exe chttp2_socket_pair_simple_request_with_high_initial_sequence_number_test.exe chttp2_socket_pair_one_byte_at_a_time_bad_hostname_test.exe chttp2_socket_pair_one_byte_at_a_time_cancel_after_accept_test.exe chttp2_socket_pair_one_byte_at_a_time_cancel_after_accept_and_writes_closed_test.exe chttp2_socket_pair_one_byte_at_a_time_cancel_after_invoke_test.exe chttp2_socket_pair_one_byte_at_a_time_cancel_before_invoke_test.exe chttp2_socket_pair_one_byte_at_a_time_cancel_in_a_vacuum_test.exe chttp2_socket_pair_one_byte_at_a_time_census_simple_request_test.exe chttp2_socket_pair_one_byte_at_a_time_early_server_shutdown_finishes_inflight_calls_test.exe chttp2_socket_pair_one_byte_at_a_time_early_server_shutdown_finishes_tags_test.exe chttp2_socket_pair_one_byte_at_a_time_empty_batch_test.exe chttp2_socket_pair_one_byte_at_a_time_graceful_server_shutdown_test.exe chttp2_socket_pair_one_byte_at_a_time_invoke_large_request_test.exe chttp2_socket_pair_one_byte_at_a_time_max_concurrent_streams_test.exe chttp2_socket_pair_one_byte_at_a_time_max_message_length_test.exe chttp2_socket_pair_one_byte_at_a_time_no_op_test.exe chttp2_socket_pair_one_byte_at_a_time_ping_pong_streaming_test.exe chttp2_socket_pair_one_byte_at_a_time_registered_call_test.exe chttp2_socket_pair_one_byte_at_a_time_request_response_with_binary_metadata_and_payload_test.exe chttp2_socket_pair_one_byte_at_a_time_request_response_with_metadata_and_payload_test.exe chttp2_socket_pair_one_byte_at_a_time_request_response_with_payload_test.exe chttp2_socket_pair_one_byte_at_a_time_request_response_with_payload_and_call_creds_test.exe chttp2_socket_pair_one_byte_at_a_time_request_response_with_trailing_metadata_and_payload_test.exe chttp2_socket_pair_one_byte_at_a_time_request_with_compressed_payload_test.exe chttp2_socket_pair_one_byte_at_a_time_request_with_flags_test.exe chttp2_socket_pair_one_byte_at_a_time_request_with_large_metadata_test.exe chttp2_socket_pair_one_byte_at_a_time_request_with_payload_test.exe chttp2_socket_pair_one_byte_at_a_time_server_finishes_request_test.exe chttp2_socket_pair_one_byte_at_a_time_simple_request_test.exe chttp2_socket_pair_one_byte_at_a_time_simple_request_with_high_initial_sequence_number_test.exe chttp2_socket_pair_with_grpc_trace_bad_hostname_test.exe chttp2_socket_pair_with_grpc_trace_cancel_after_accept_test.exe chttp2_socket_pair_with_grpc_trace_cancel_after_accept_and_writes_closed_test.exe chttp2_socket_pair_with_grpc_trace_cancel_after_invoke_test.exe chttp2_socket_pair_with_grpc_trace_cancel_before_invoke_test.exe chttp2_socket_pair_with_grpc_trace_cancel_in_a_vacuum_test.exe chttp2_socket_pair_with_grpc_trace_census_simple_request_test.exe chttp2_socket_pair_with_grpc_trace_early_server_shutdown_finishes_inflight_calls_test.exe chttp2_socket_pair_with_grpc_trace_early_server_shutdown_finishes_tags_test.exe chttp2_socket_pair_with_grpc_trace_empty_batch_test.exe chttp2_socket_pair_with_grpc_trace_graceful_server_shutdown_test.exe chttp2_socket_pair_with_grpc_trace_invoke_large_request_test.exe chttp2_socket_pair_with_grpc_trace_max_concurrent_streams_test.exe chttp2_socket_pair_with_grpc_trace_max_message_length_test.exe chttp2_socket_pair_with_grpc_trace_no_op_test.exe chttp2_socket_pair_with_grpc_trace_ping_pong_streaming_test.exe chttp2_socket_pair_with_grpc_trace_registered_call_test.exe chttp2_socket_pair_with_grpc_trace_request_response_with_binary_metadata_and_payload_test.exe chttp2_socket_pair_with_grpc_trace_request_response_with_metadata_and_payload_test.exe chttp2_socket_pair_with_grpc_trace_request_response_with_payload_test.exe chttp2_socket_pair_with_grpc_trace_request_response_with_payload_and_call_creds_test.exe chttp2_socket_pair_with_grpc_trace_request_response_with_trailing_metadata_and_payload_test.exe chttp2_socket_pair_with_grpc_trace_request_with_compressed_payload_test.exe chttp2_socket_pair_with_grpc_trace_request_with_flags_test.exe chttp2_socket_pair_with_grpc_trace_request_with_large_metadata_test.exe chttp2_socket_pair_with_grpc_trace_request_with_payload_test.exe chttp2_socket_pair_with_grpc_trace_server_finishes_request_test.exe chttp2_socket_pair_with_grpc_trace_simple_request_test.exe chttp2_socket_pair_with_grpc_trace_simple_request_with_high_initial_sequence_number_test.exe chttp2_fullstack_bad_hostname_unsecure_test.exe chttp2_fullstack_cancel_after_accept_unsecure_test.exe chttp2_fullstack_cancel_after_accept_and_writes_closed_unsecure_test.exe chttp2_fullstack_cancel_after_invoke_unsecure_test.exe chttp2_fullstack_cancel_before_invoke_unsecure_test.exe chttp2_fullstack_cancel_in_a_vacuum_unsecure_test.exe chttp2_fullstack_census_simple_request_unsecure_test.exe chttp2_fullstack_channel_connectivity_unsecure_test.exe chttp2_fullstack_default_host_unsecure_test.exe chttp2_fullstack_disappearing_server_unsecure_test.exe chttp2_fullstack_early_server_shutdown_finishes_inflight_calls_unsecure_test.exe chttp2_fullstack_early_server_shutdown_finishes_tags_unsecure_test.exe chttp2_fullstack_empty_batch_unsecure_test.exe chttp2_fullstack_graceful_server_shutdown_unsecure_test.exe chttp2_fullstack_invoke_large_request_unsecure_test.exe chttp2_fullstack_max_concurrent_streams_unsecure_test.exe chttp2_fullstack_max_message_length_unsecure_test.exe chttp2_fullstack_no_op_unsecure_test.exe chttp2_fullstack_ping_pong_streaming_unsecure_test.exe chttp2_fullstack_registered_call_unsecure_test.exe chttp2_fullstack_request_response_with_binary_metadata_and_payload_unsecure_test.exe chttp2_fullstack_request_response_with_metadata_and_payload_unsecure_test.exe chttp2_fullstack_request_response_with_payload_unsecure_test.exe chttp2_fullstack_request_response_with_trailing_metadata_and_payload_unsecure_test.exe chttp2_fullstack_request_with_compressed_payload_unsecure_test.exe chttp2_fullstack_request_with_flags_unsecure_test.exe chttp2_fullstack_request_with_large_metadata_unsecure_test.exe chttp2_fullstack_request_with_payload_unsecure_test.exe chttp2_fullstack_server_finishes_request_unsecure_test.exe chttp2_fullstack_simple_delayed_request_unsecure_test.exe chttp2_fullstack_simple_request_unsecure_test.exe chttp2_fullstack_simple_request_with_high_initial_sequence_number_unsecure_test.exe chttp2_fullstack_compression_bad_hostname_unsecure_test.exe chttp2_fullstack_compression_cancel_after_accept_unsecure_test.exe chttp2_fullstack_compression_cancel_after_accept_and_writes_closed_unsecure_test.exe chttp2_fullstack_compression_cancel_after_invoke_unsecure_test.exe chttp2_fullstack_compression_cancel_before_invoke_unsecure_test.exe chttp2_fullstack_compression_cancel_in_a_vacuum_unsecure_test.exe chttp2_fullstack_compression_census_simple_request_unsecure_test.exe chttp2_fullstack_compression_channel_connectivity_unsecure_test.exe chttp2_fullstack_compression_default_host_unsecure_test.exe chttp2_fullstack_compression_disappearing_server_unsecure_test.exe chttp2_fullstack_compression_early_server_shutdown_finishes_inflight_calls_unsecure_test.exe chttp2_fullstack_compression_early_server_shutdown_finishes_tags_unsecure_test.exe chttp2_fullstack_compression_empty_batch_unsecure_test.exe chttp2_fullstack_compression_graceful_server_shutdown_unsecure_test.exe chttp2_fullstack_compression_invoke_large_request_unsecure_test.exe chttp2_fullstack_compression_max_concurrent_streams_unsecure_test.exe chttp2_fullstack_compression_max_message_length_unsecure_test.exe chttp2_fullstack_compression_no_op_unsecure_test.exe chttp2_fullstack_compression_ping_pong_streaming_unsecure_test.exe chttp2_fullstack_compression_registered_call_unsecure_test.exe chttp2_fullstack_compression_request_response_with_binary_metadata_and_payload_unsecure_test.exe chttp2_fullstack_compression_request_response_with_metadata_and_payload_unsecure_test.exe chttp2_fullstack_compression_request_response_with_payload_unsecure_test.exe chttp2_fullstack_compression_request_response_with_trailing_metadata_and_payload_unsecure_test.exe chttp2_fullstack_compression_request_with_compressed_payload_unsecure_test.exe chttp2_fullstack_compression_request_with_flags_unsecure_test.exe chttp2_fullstack_compression_request_with_large_metadata_unsecure_test.exe chttp2_fullstack_compression_request_with_payload_unsecure_test.exe chttp2_fullstack_compression_server_finishes_request_unsecure_test.exe chttp2_fullstack_compression_simple_delayed_request_unsecure_test.exe chttp2_fullstack_compression_simple_request_unsecure_test.exe chttp2_fullstack_compression_simple_request_with_high_initial_sequence_number_unsecure_test.exe chttp2_socket_pair_bad_hostname_unsecure_test.exe chttp2_socket_pair_cancel_after_accept_unsecure_test.exe chttp2_socket_pair_cancel_after_accept_and_writes_closed_unsecure_test.exe chttp2_socket_pair_cancel_after_invoke_unsecure_test.exe chttp2_socket_pair_cancel_before_invoke_unsecure_test.exe chttp2_socket_pair_cancel_in_a_vacuum_unsecure_test.exe chttp2_socket_pair_census_simple_request_unsecure_test.exe chttp2_socket_pair_early_server_shutdown_finishes_inflight_calls_unsecure_test.exe chttp2_socket_pair_early_server_shutdown_finishes_tags_unsecure_test.exe chttp2_socket_pair_empty_batch_unsecure_test.exe chttp2_socket_pair_graceful_server_shutdown_unsecure_test.exe chttp2_socket_pair_invoke_large_request_unsecure_test.exe chttp2_socket_pair_max_concurrent_streams_unsecure_test.exe chttp2_socket_pair_max_message_length_unsecure_test.exe chttp2_socket_pair_no_op_unsecure_test.exe chttp2_socket_pair_ping_pong_streaming_unsecure_test.exe chttp2_socket_pair_registered_call_unsecure_test.exe chttp2_socket_pair_request_response_with_binary_metadata_and_payload_unsecure_test.exe chttp2_socket_pair_request_response_with_metadata_and_payload_unsecure_test.exe chttp2_socket_pair_request_response_with_payload_unsecure_test.exe chttp2_socket_pair_request_response_with_trailing_metadata_and_payload_unsecure_test.exe chttp2_socket_pair_request_with_compressed_payload_unsecure_test.exe chttp2_socket_pair_request_with_flags_unsecure_test.exe chttp2_socket_pair_request_with_large_metadata_unsecure_test.exe chttp2_socket_pair_request_with_payload_unsecure_test.exe chttp2_socket_pair_server_finishes_request_unsecure_test.exe chttp2_socket_pair_simple_request_unsecure_test.exe chttp2_socket_pair_simple_request_with_high_initial_sequence_number_unsecure_test.exe chttp2_socket_pair_one_byte_at_a_time_bad_hostname_unsecure_test.exe chttp2_socket_pair_one_byte_at_a_time_cancel_after_accept_unsecure_test.exe chttp2_socket_pair_one_byte_at_a_time_cancel_after_accept_and_writes_closed_unsecure_test.exe chttp2_socket_pair_one_byte_at_a_time_cancel_after_invoke_unsecure_test.exe chttp2_socket_pair_one_byte_at_a_time_cancel_before_invoke_unsecure_test.exe chttp2_socket_pair_one_byte_at_a_time_cancel_in_a_vacuum_unsecure_test.exe chttp2_socket_pair_one_byte_at_a_time_census_simple_request_unsecure_test.exe chttp2_socket_pair_one_byte_at_a_time_early_server_shutdown_finishes_inflight_calls_unsecure_test.exe chttp2_socket_pair_one_byte_at_a_time_early_server_shutdown_finishes_tags_unsecure_test.exe chttp2_socket_pair_one_byte_at_a_time_empty_batch_unsecure_test.exe chttp2_socket_pair_one_byte_at_a_time_graceful_server_shutdown_unsecure_test.exe chttp2_socket_pair_one_byte_at_a_time_invoke_large_request_unsecure_test.exe chttp2_socket_pair_one_byte_at_a_time_max_concurrent_streams_unsecure_test.exe chttp2_socket_pair_one_byte_at_a_time_max_message_length_unsecure_test.exe chttp2_socket_pair_one_byte_at_a_time_no_op_unsecure_test.exe chttp2_socket_pair_one_byte_at_a_time_ping_pong_streaming_unsecure_test.exe chttp2_socket_pair_one_byte_at_a_time_registered_call_unsecure_test.exe chttp2_socket_pair_one_byte_at_a_time_request_response_with_binary_metadata_and_payload_unsecure_test.exe chttp2_socket_pair_one_byte_at_a_time_request_response_with_metadata_and_payload_unsecure_test.exe chttp2_socket_pair_one_byte_at_a_time_request_response_with_payload_unsecure_test.exe chttp2_socket_pair_one_byte_at_a_time_request_response_with_trailing_metadata_and_payload_unsecure_test.exe chttp2_socket_pair_one_byte_at_a_time_request_with_compressed_payload_unsecure_test.exe chttp2_socket_pair_one_byte_at_a_time_request_with_flags_unsecure_test.exe chttp2_socket_pair_one_byte_at_a_time_request_with_large_metadata_unsecure_test.exe chttp2_socket_pair_one_byte_at_a_time_request_with_payload_unsecure_test.exe chttp2_socket_pair_one_byte_at_a_time_server_finishes_request_unsecure_test.exe chttp2_socket_pair_one_byte_at_a_time_simple_request_unsecure_test.exe chttp2_socket_pair_one_byte_at_a_time_simple_request_with_high_initial_sequence_number_unsecure_test.exe chttp2_socket_pair_with_grpc_trace_bad_hostname_unsecure_test.exe chttp2_socket_pair_with_grpc_trace_cancel_after_accept_unsecure_test.exe chttp2_socket_pair_with_grpc_trace_cancel_after_accept_and_writes_closed_unsecure_test.exe chttp2_socket_pair_with_grpc_trace_cancel_after_invoke_unsecure_test.exe chttp2_socket_pair_with_grpc_trace_cancel_before_invoke_unsecure_test.exe chttp2_socket_pair_with_grpc_trace_cancel_in_a_vacuum_unsecure_test.exe chttp2_socket_pair_with_grpc_trace_census_simple_request_unsecure_test.exe chttp2_socket_pair_with_grpc_trace_early_server_shutdown_finishes_inflight_calls_unsecure_test.exe chttp2_socket_pair_with_grpc_trace_early_server_shutdown_finishes_tags_unsecure_test.exe chttp2_socket_pair_with_grpc_trace_empty_batch_unsecure_test.exe chttp2_socket_pair_with_grpc_trace_graceful_server_shutdown_unsecure_test.exe chttp2_socket_pair_with_grpc_trace_invoke_large_request_unsecure_test.exe chttp2_socket_pair_with_grpc_trace_max_concurrent_streams_unsecure_test.exe chttp2_socket_pair_with_grpc_trace_max_message_length_unsecure_test.exe chttp2_socket_pair_with_grpc_trace_no_op_unsecure_test.exe chttp2_socket_pair_with_grpc_trace_ping_pong_streaming_unsecure_test.exe chttp2_socket_pair_with_grpc_trace_registered_call_unsecure_test.exe chttp2_socket_pair_with_grpc_trace_request_response_with_binary_metadata_and_payload_unsecure_test.exe chttp2_socket_pair_with_grpc_trace_request_response_with_metadata_and_payload_unsecure_test.exe chttp2_socket_pair_with_grpc_trace_request_response_with_payload_unsecure_test.exe chttp2_socket_pair_with_grpc_trace_request_response_with_trailing_metadata_and_payload_unsecure_test.exe chttp2_socket_pair_with_grpc_trace_request_with_compressed_payload_unsecure_test.exe chttp2_socket_pair_with_grpc_trace_request_with_flags_unsecure_test.exe chttp2_socket_pair_with_grpc_trace_request_with_large_metadata_unsecure_test.exe chttp2_socket_pair_with_grpc_trace_request_with_payload_unsecure_test.exe chttp2_socket_pair_with_grpc_trace_server_finishes_request_unsecure_test.exe chttp2_socket_pair_with_grpc_trace_simple_request_unsecure_test.exe chttp2_socket_pair_with_grpc_trace_simple_request_with_high_initial_sequence_number_unsecure_test.exe connection_prefix_bad_client_test.exe initial_settings_frame_bad_client_test.exe - echo All tests built. + echo All C tests built. + +buildtests_cxx: async_end2end_test.exe auth_property_iterator_test.exe channel_arguments_test.exe cli_call_test.exe client_crash_test_server.exe credentials_test.exe cxx_byte_buffer_test.exe cxx_slice_test.exe cxx_time_test.exe dynamic_thread_pool_test.exe end2end_test.exe fixed_size_thread_pool_test.exe generic_end2end_test.exe grpc_cli.exe mock_test.exe secure_auth_context_test.exe server_crash_test_client.exe status_test.exe thread_stress_test.exe + echo All C++ tests built. -buildtests_cxx: interop_client.exe interop_server.exe - echo All tests built. -alarm_heap_test.exe: build_libs $(OUT_DIR) +alarm_heap_test.exe: build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building alarm_heap_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\test\core\iomgr\alarm_heap_test.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\alarm_heap_test.exe" Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\alarm_heap_test.obj alarm_heap_test: alarm_heap_test.exe echo Running alarm_heap_test $(OUT_DIR)\alarm_heap_test.exe -alarm_list_test.exe: build_libs $(OUT_DIR) + +alarm_list_test.exe: build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building alarm_list_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\test\core\iomgr\alarm_list_test.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\alarm_list_test.exe" Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\alarm_list_test.obj alarm_list_test: alarm_list_test.exe echo Running alarm_list_test $(OUT_DIR)\alarm_list_test.exe -alarm_test.exe: build_libs $(OUT_DIR) + +alarm_test.exe: build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building alarm_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\test\core\iomgr\alarm_test.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\alarm_test.exe" Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\alarm_test.obj alarm_test: alarm_test.exe echo Running alarm_test $(OUT_DIR)\alarm_test.exe -alpn_test.exe: build_libs $(OUT_DIR) + +alpn_test.exe: build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building alpn_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\test\core\transport\chttp2\alpn_test.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\alpn_test.exe" Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\alpn_test.obj alpn_test: alpn_test.exe echo Running alpn_test $(OUT_DIR)\alpn_test.exe -bin_encoder_test.exe: build_libs $(OUT_DIR) + +bin_encoder_test.exe: build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building bin_encoder_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\test\core\transport\chttp2\bin_encoder_test.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\bin_encoder_test.exe" Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\bin_encoder_test.obj bin_encoder_test: bin_encoder_test.exe echo Running bin_encoder_test $(OUT_DIR)\bin_encoder_test.exe -chttp2_status_conversion_test.exe: build_libs $(OUT_DIR) + +chttp2_status_conversion_test.exe: build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_status_conversion_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\test\core\transport\chttp2\status_conversion_test.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_status_conversion_test.exe" Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\status_conversion_test.obj chttp2_status_conversion_test: chttp2_status_conversion_test.exe echo Running chttp2_status_conversion_test $(OUT_DIR)\chttp2_status_conversion_test.exe -chttp2_stream_encoder_test.exe: build_libs $(OUT_DIR) + +chttp2_stream_encoder_test.exe: build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_stream_encoder_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\test\core\transport\chttp2\stream_encoder_test.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_stream_encoder_test.exe" Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\stream_encoder_test.obj chttp2_stream_encoder_test: chttp2_stream_encoder_test.exe echo Running chttp2_stream_encoder_test $(OUT_DIR)\chttp2_stream_encoder_test.exe -chttp2_stream_map_test.exe: build_libs $(OUT_DIR) + +chttp2_stream_map_test.exe: build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_stream_map_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\test\core\transport\chttp2\stream_map_test.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_stream_map_test.exe" Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\stream_map_test.obj chttp2_stream_map_test: chttp2_stream_map_test.exe echo Running chttp2_stream_map_test $(OUT_DIR)\chttp2_stream_map_test.exe -fling_client.exe: build_libs $(OUT_DIR) + +fling_client.exe: build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building fling_client $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\test\core\fling\client.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\fling_client.exe" Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\client.obj fling_client: fling_client.exe echo Running fling_client $(OUT_DIR)\fling_client.exe -fling_server.exe: build_libs $(OUT_DIR) + +fling_server.exe: build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building fling_server $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\test\core\fling\server.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\fling_server.exe" Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\server.obj fling_server: fling_server.exe echo Running fling_server $(OUT_DIR)\fling_server.exe -gen_hpack_tables.exe: build_libs $(OUT_DIR) + +gen_hpack_tables.exe: build_gpr build_grpc $(OUT_DIR) echo Building gen_hpack_tables $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\tools\codegen\core\gen_hpack_tables.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\gen_hpack_tables.exe" Debug\gpr.lib Debug\grpc.lib $(LIBS) $(OUT_DIR)\gen_hpack_tables.obj gen_hpack_tables: gen_hpack_tables.exe echo Running gen_hpack_tables $(OUT_DIR)\gen_hpack_tables.exe -gpr_cancellable_test.exe: build_libs $(OUT_DIR) + +gpr_cancellable_test.exe: build_gpr_test_util build_gpr $(OUT_DIR) echo Building gpr_cancellable_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\test\core\support\cancellable_test.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\gpr_cancellable_test.exe" Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\cancellable_test.obj gpr_cancellable_test: gpr_cancellable_test.exe echo Running gpr_cancellable_test $(OUT_DIR)\gpr_cancellable_test.exe -gpr_cmdline_test.exe: build_libs $(OUT_DIR) + +gpr_cmdline_test.exe: build_gpr_test_util build_gpr $(OUT_DIR) echo Building gpr_cmdline_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\test\core\support\cmdline_test.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\gpr_cmdline_test.exe" Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\cmdline_test.obj gpr_cmdline_test: gpr_cmdline_test.exe echo Running gpr_cmdline_test $(OUT_DIR)\gpr_cmdline_test.exe -gpr_env_test.exe: build_libs $(OUT_DIR) + +gpr_env_test.exe: build_gpr_test_util build_gpr $(OUT_DIR) echo Building gpr_env_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\test\core\support\env_test.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\gpr_env_test.exe" Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\env_test.obj gpr_env_test: gpr_env_test.exe echo Running gpr_env_test $(OUT_DIR)\gpr_env_test.exe -gpr_file_test.exe: build_libs $(OUT_DIR) + +gpr_file_test.exe: build_gpr_test_util build_gpr $(OUT_DIR) echo Building gpr_file_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\test\core\support\file_test.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\gpr_file_test.exe" Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\file_test.obj gpr_file_test: gpr_file_test.exe echo Running gpr_file_test $(OUT_DIR)\gpr_file_test.exe -gpr_histogram_test.exe: build_libs $(OUT_DIR) + +gpr_histogram_test.exe: build_gpr_test_util build_gpr $(OUT_DIR) echo Building gpr_histogram_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\test\core\support\histogram_test.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\gpr_histogram_test.exe" Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\histogram_test.obj gpr_histogram_test: gpr_histogram_test.exe echo Running gpr_histogram_test $(OUT_DIR)\gpr_histogram_test.exe -gpr_host_port_test.exe: build_libs $(OUT_DIR) + +gpr_host_port_test.exe: build_gpr_test_util build_gpr $(OUT_DIR) echo Building gpr_host_port_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\test\core\support\host_port_test.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\gpr_host_port_test.exe" Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\host_port_test.obj gpr_host_port_test: gpr_host_port_test.exe echo Running gpr_host_port_test $(OUT_DIR)\gpr_host_port_test.exe -gpr_log_test.exe: build_libs $(OUT_DIR) + +gpr_log_test.exe: build_gpr_test_util build_gpr $(OUT_DIR) echo Building gpr_log_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\test\core\support\log_test.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\gpr_log_test.exe" Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\log_test.obj gpr_log_test: gpr_log_test.exe echo Running gpr_log_test $(OUT_DIR)\gpr_log_test.exe -gpr_slice_buffer_test.exe: build_libs $(OUT_DIR) + +gpr_slice_buffer_test.exe: build_gpr_test_util build_gpr $(OUT_DIR) echo Building gpr_slice_buffer_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\test\core\support\slice_buffer_test.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\gpr_slice_buffer_test.exe" Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\slice_buffer_test.obj gpr_slice_buffer_test: gpr_slice_buffer_test.exe echo Running gpr_slice_buffer_test $(OUT_DIR)\gpr_slice_buffer_test.exe -gpr_slice_test.exe: build_libs $(OUT_DIR) + +gpr_slice_test.exe: build_gpr_test_util build_gpr $(OUT_DIR) echo Building gpr_slice_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\test\core\support\slice_test.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\gpr_slice_test.exe" Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\slice_test.obj gpr_slice_test: gpr_slice_test.exe echo Running gpr_slice_test $(OUT_DIR)\gpr_slice_test.exe -gpr_stack_lockfree_test.exe: build_libs $(OUT_DIR) + +gpr_stack_lockfree_test.exe: build_gpr_test_util build_gpr $(OUT_DIR) echo Building gpr_stack_lockfree_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\test\core\support\stack_lockfree_test.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\gpr_stack_lockfree_test.exe" Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\stack_lockfree_test.obj gpr_stack_lockfree_test: gpr_stack_lockfree_test.exe echo Running gpr_stack_lockfree_test $(OUT_DIR)\gpr_stack_lockfree_test.exe -gpr_string_test.exe: build_libs $(OUT_DIR) + +gpr_string_test.exe: build_gpr_test_util build_gpr $(OUT_DIR) echo Building gpr_string_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\test\core\support\string_test.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\gpr_string_test.exe" Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\string_test.obj gpr_string_test: gpr_string_test.exe echo Running gpr_string_test $(OUT_DIR)\gpr_string_test.exe -gpr_sync_test.exe: build_libs $(OUT_DIR) + +gpr_sync_test.exe: build_gpr_test_util build_gpr $(OUT_DIR) echo Building gpr_sync_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\test\core\support\sync_test.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\gpr_sync_test.exe" Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\sync_test.obj gpr_sync_test: gpr_sync_test.exe echo Running gpr_sync_test $(OUT_DIR)\gpr_sync_test.exe -gpr_thd_test.exe: build_libs $(OUT_DIR) + +gpr_thd_test.exe: build_gpr_test_util build_gpr $(OUT_DIR) echo Building gpr_thd_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\test\core\support\thd_test.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\gpr_thd_test.exe" Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\thd_test.obj gpr_thd_test: gpr_thd_test.exe echo Running gpr_thd_test $(OUT_DIR)\gpr_thd_test.exe -gpr_time_test.exe: build_libs $(OUT_DIR) + +gpr_time_test.exe: build_gpr_test_util build_gpr $(OUT_DIR) echo Building gpr_time_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\test\core\support\time_test.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\gpr_time_test.exe" Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\time_test.obj gpr_time_test: gpr_time_test.exe echo Running gpr_time_test $(OUT_DIR)\gpr_time_test.exe -gpr_tls_test.exe: build_libs $(OUT_DIR) + +gpr_tls_test.exe: build_gpr_test_util build_gpr $(OUT_DIR) echo Building gpr_tls_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\test\core\support\tls_test.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\gpr_tls_test.exe" Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\tls_test.obj gpr_tls_test: gpr_tls_test.exe echo Running gpr_tls_test $(OUT_DIR)\gpr_tls_test.exe -gpr_useful_test.exe: build_libs $(OUT_DIR) + +gpr_useful_test.exe: build_gpr_test_util build_gpr $(OUT_DIR) echo Building gpr_useful_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\test\core\support\useful_test.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\gpr_useful_test.exe" Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\useful_test.obj gpr_useful_test: gpr_useful_test.exe echo Running gpr_useful_test $(OUT_DIR)\gpr_useful_test.exe -grpc_auth_context_test.exe: build_libs $(OUT_DIR) + +grpc_auth_context_test.exe: build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building grpc_auth_context_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\test\core\security\auth_context_test.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\grpc_auth_context_test.exe" Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\auth_context_test.obj grpc_auth_context_test: grpc_auth_context_test.exe echo Running grpc_auth_context_test $(OUT_DIR)\grpc_auth_context_test.exe -grpc_base64_test.exe: build_libs $(OUT_DIR) + +grpc_base64_test.exe: build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building grpc_base64_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\test\core\security\base64_test.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\grpc_base64_test.exe" Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\base64_test.obj grpc_base64_test: grpc_base64_test.exe echo Running grpc_base64_test $(OUT_DIR)\grpc_base64_test.exe -grpc_byte_buffer_reader_test.exe: build_libs $(OUT_DIR) + +grpc_byte_buffer_reader_test.exe: build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building grpc_byte_buffer_reader_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\test\core\surface\byte_buffer_reader_test.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\grpc_byte_buffer_reader_test.exe" Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\byte_buffer_reader_test.obj grpc_byte_buffer_reader_test: grpc_byte_buffer_reader_test.exe echo Running grpc_byte_buffer_reader_test $(OUT_DIR)\grpc_byte_buffer_reader_test.exe -grpc_channel_stack_test.exe: build_libs $(OUT_DIR) + +grpc_channel_stack_test.exe: build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building grpc_channel_stack_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\test\core\channel\channel_stack_test.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\grpc_channel_stack_test.exe" Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\channel_stack_test.obj grpc_channel_stack_test: grpc_channel_stack_test.exe echo Running grpc_channel_stack_test $(OUT_DIR)\grpc_channel_stack_test.exe -grpc_completion_queue_test.exe: build_libs $(OUT_DIR) + +grpc_completion_queue_test.exe: build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building grpc_completion_queue_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\test\core\surface\completion_queue_test.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\grpc_completion_queue_test.exe" Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\completion_queue_test.obj grpc_completion_queue_test: grpc_completion_queue_test.exe echo Running grpc_completion_queue_test $(OUT_DIR)\grpc_completion_queue_test.exe -grpc_create_jwt.exe: build_libs $(OUT_DIR) + +grpc_create_jwt.exe: build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building grpc_create_jwt $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\test\core\security\create_jwt.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\grpc_create_jwt.exe" Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\create_jwt.obj grpc_create_jwt: grpc_create_jwt.exe echo Running grpc_create_jwt $(OUT_DIR)\grpc_create_jwt.exe -grpc_credentials_test.exe: build_libs $(OUT_DIR) + +grpc_credentials_test.exe: build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building grpc_credentials_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\test\core\security\credentials_test.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\grpc_credentials_test.exe" Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\credentials_test.obj grpc_credentials_test: grpc_credentials_test.exe echo Running grpc_credentials_test $(OUT_DIR)\grpc_credentials_test.exe -grpc_fetch_oauth2.exe: build_libs $(OUT_DIR) + +grpc_fetch_oauth2.exe: build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building grpc_fetch_oauth2 $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\test\core\security\fetch_oauth2.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\grpc_fetch_oauth2.exe" Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\fetch_oauth2.obj grpc_fetch_oauth2: grpc_fetch_oauth2.exe echo Running grpc_fetch_oauth2 $(OUT_DIR)\grpc_fetch_oauth2.exe -grpc_json_token_test.exe: build_libs $(OUT_DIR) + +grpc_json_token_test.exe: build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building grpc_json_token_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\test\core\security\json_token_test.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\grpc_json_token_test.exe" Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\json_token_test.obj grpc_json_token_test: grpc_json_token_test.exe echo Running grpc_json_token_test $(OUT_DIR)\grpc_json_token_test.exe -grpc_jwt_verifier_test.exe: build_libs $(OUT_DIR) + +grpc_jwt_verifier_test.exe: build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building grpc_jwt_verifier_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\test\core\security\jwt_verifier_test.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\grpc_jwt_verifier_test.exe" Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\jwt_verifier_test.obj grpc_jwt_verifier_test: grpc_jwt_verifier_test.exe echo Running grpc_jwt_verifier_test $(OUT_DIR)\grpc_jwt_verifier_test.exe -grpc_print_google_default_creds_token.exe: build_libs $(OUT_DIR) + +grpc_print_google_default_creds_token.exe: build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building grpc_print_google_default_creds_token $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\test\core\security\print_google_default_creds_token.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\grpc_print_google_default_creds_token.exe" Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\print_google_default_creds_token.obj grpc_print_google_default_creds_token: grpc_print_google_default_creds_token.exe echo Running grpc_print_google_default_creds_token $(OUT_DIR)\grpc_print_google_default_creds_token.exe -grpc_security_connector_test.exe: build_libs $(OUT_DIR) + +grpc_security_connector_test.exe: build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building grpc_security_connector_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\test\core\security\security_connector_test.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\grpc_security_connector_test.exe" Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\security_connector_test.obj grpc_security_connector_test: grpc_security_connector_test.exe echo Running grpc_security_connector_test $(OUT_DIR)\grpc_security_connector_test.exe -grpc_stream_op_test.exe: build_libs $(OUT_DIR) + +grpc_stream_op_test.exe: build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building grpc_stream_op_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\test\core\transport\stream_op_test.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\grpc_stream_op_test.exe" Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\stream_op_test.obj grpc_stream_op_test: grpc_stream_op_test.exe echo Running grpc_stream_op_test $(OUT_DIR)\grpc_stream_op_test.exe -grpc_verify_jwt.exe: build_libs $(OUT_DIR) + +grpc_verify_jwt.exe: build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building grpc_verify_jwt $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\test\core\security\verify_jwt.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\grpc_verify_jwt.exe" Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\verify_jwt.obj grpc_verify_jwt: grpc_verify_jwt.exe echo Running grpc_verify_jwt $(OUT_DIR)\grpc_verify_jwt.exe -hpack_parser_test.exe: build_libs $(OUT_DIR) + +hpack_parser_test.exe: build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building hpack_parser_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\test\core\transport\chttp2\hpack_parser_test.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\hpack_parser_test.exe" Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\hpack_parser_test.obj hpack_parser_test: hpack_parser_test.exe echo Running hpack_parser_test $(OUT_DIR)\hpack_parser_test.exe -hpack_table_test.exe: build_libs $(OUT_DIR) + +hpack_table_test.exe: build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building hpack_table_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\test\core\transport\chttp2\hpack_table_test.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\hpack_table_test.exe" Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\hpack_table_test.obj hpack_table_test: hpack_table_test.exe echo Running hpack_table_test $(OUT_DIR)\hpack_table_test.exe -httpcli_format_request_test.exe: build_libs $(OUT_DIR) + +httpcli_format_request_test.exe: build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building httpcli_format_request_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\test\core\httpcli\format_request_test.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\httpcli_format_request_test.exe" Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\format_request_test.obj httpcli_format_request_test: httpcli_format_request_test.exe echo Running httpcli_format_request_test $(OUT_DIR)\httpcli_format_request_test.exe -httpcli_parser_test.exe: build_libs $(OUT_DIR) + +httpcli_parser_test.exe: build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building httpcli_parser_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\test\core\httpcli\parser_test.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\httpcli_parser_test.exe" Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\parser_test.obj httpcli_parser_test: httpcli_parser_test.exe echo Running httpcli_parser_test $(OUT_DIR)\httpcli_parser_test.exe -json_rewrite.exe: build_libs $(OUT_DIR) + +json_rewrite.exe: build_grpc build_gpr $(OUT_DIR) echo Building json_rewrite $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\test\core\json\json_rewrite.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\json_rewrite.exe" Debug\grpc.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\json_rewrite.obj json_rewrite: json_rewrite.exe echo Running json_rewrite $(OUT_DIR)\json_rewrite.exe -json_rewrite_test.exe: build_libs $(OUT_DIR) + +json_rewrite_test.exe: build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building json_rewrite_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\test\core\json\json_rewrite_test.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\json_rewrite_test.exe" Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\json_rewrite_test.obj json_rewrite_test: json_rewrite_test.exe echo Running json_rewrite_test $(OUT_DIR)\json_rewrite_test.exe -json_test.exe: build_libs $(OUT_DIR) + +json_test.exe: build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building json_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\test\core\json\json_test.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\json_test.exe" Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\json_test.obj json_test: json_test.exe echo Running json_test $(OUT_DIR)\json_test.exe -lame_client_test.exe: build_libs $(OUT_DIR) + +lame_client_test.exe: build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building lame_client_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\test\core\surface\lame_client_test.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\lame_client_test.exe" Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\lame_client_test.obj lame_client_test: lame_client_test.exe echo Running lame_client_test $(OUT_DIR)\lame_client_test.exe -low_level_ping_pong_benchmark.exe: build_libs $(OUT_DIR) + +low_level_ping_pong_benchmark.exe: build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building low_level_ping_pong_benchmark $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\test\core\network_benchmarks\low_level_ping_pong.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\low_level_ping_pong_benchmark.exe" Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\low_level_ping_pong.obj low_level_ping_pong_benchmark: low_level_ping_pong_benchmark.exe echo Running low_level_ping_pong_benchmark $(OUT_DIR)\low_level_ping_pong_benchmark.exe -message_compress_test.exe: build_libs $(OUT_DIR) + +message_compress_test.exe: build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building message_compress_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\test\core\compression\message_compress_test.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\message_compress_test.exe" Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\message_compress_test.obj message_compress_test: message_compress_test.exe echo Running message_compress_test $(OUT_DIR)\message_compress_test.exe -multi_init_test.exe: build_libs $(OUT_DIR) + +multi_init_test.exe: build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building multi_init_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\test\core\surface\multi_init_test.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\multi_init_test.exe" Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\multi_init_test.obj multi_init_test: multi_init_test.exe echo Running multi_init_test $(OUT_DIR)\multi_init_test.exe -multiple_server_queues_test.exe: build_libs $(OUT_DIR) + +multiple_server_queues_test.exe: build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building multiple_server_queues_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\test\core\end2end\multiple_server_queues_test.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\multiple_server_queues_test.exe" Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\multiple_server_queues_test.obj multiple_server_queues_test: multiple_server_queues_test.exe echo Running multiple_server_queues_test $(OUT_DIR)\multiple_server_queues_test.exe -murmur_hash_test.exe: build_libs $(OUT_DIR) + +murmur_hash_test.exe: build_gpr_test_util build_gpr $(OUT_DIR) echo Building murmur_hash_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\test\core\support\murmur_hash_test.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\murmur_hash_test.exe" Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\murmur_hash_test.obj murmur_hash_test: murmur_hash_test.exe echo Running murmur_hash_test $(OUT_DIR)\murmur_hash_test.exe -no_server_test.exe: build_libs $(OUT_DIR) + +no_server_test.exe: build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building no_server_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\test\core\end2end\no_server_test.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\no_server_test.exe" Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\no_server_test.obj no_server_test: no_server_test.exe echo Running no_server_test $(OUT_DIR)\no_server_test.exe -resolve_address_test.exe: build_libs $(OUT_DIR) + +resolve_address_test.exe: build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building resolve_address_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\test\core\iomgr\resolve_address_test.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\resolve_address_test.exe" Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\resolve_address_test.obj resolve_address_test: resolve_address_test.exe echo Running resolve_address_test $(OUT_DIR)\resolve_address_test.exe -secure_endpoint_test.exe: build_libs $(OUT_DIR) + +secure_endpoint_test.exe: build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building secure_endpoint_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\test\core\security\secure_endpoint_test.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\secure_endpoint_test.exe" Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\secure_endpoint_test.obj secure_endpoint_test: secure_endpoint_test.exe echo Running secure_endpoint_test $(OUT_DIR)\secure_endpoint_test.exe -sockaddr_utils_test.exe: build_libs $(OUT_DIR) + +sockaddr_utils_test.exe: build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building sockaddr_utils_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\test\core\iomgr\sockaddr_utils_test.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\sockaddr_utils_test.exe" Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\sockaddr_utils_test.obj sockaddr_utils_test: sockaddr_utils_test.exe echo Running sockaddr_utils_test $(OUT_DIR)\sockaddr_utils_test.exe -time_averaged_stats_test.exe: build_libs $(OUT_DIR) + +time_averaged_stats_test.exe: build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building time_averaged_stats_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\test\core\iomgr\time_averaged_stats_test.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\time_averaged_stats_test.exe" Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\time_averaged_stats_test.obj time_averaged_stats_test: time_averaged_stats_test.exe echo Running time_averaged_stats_test $(OUT_DIR)\time_averaged_stats_test.exe -timeout_encoding_test.exe: build_libs $(OUT_DIR) + +timeout_encoding_test.exe: build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building timeout_encoding_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\test\core\transport\chttp2\timeout_encoding_test.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\timeout_encoding_test.exe" Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\timeout_encoding_test.obj timeout_encoding_test: timeout_encoding_test.exe echo Running timeout_encoding_test $(OUT_DIR)\timeout_encoding_test.exe -timers_test.exe: build_libs $(OUT_DIR) + +timers_test.exe: build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building timers_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\test\core\profiling\timers_test.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\timers_test.exe" Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\timers_test.obj timers_test: timers_test.exe echo Running timers_test $(OUT_DIR)\timers_test.exe -transport_metadata_test.exe: build_libs $(OUT_DIR) + +transport_metadata_test.exe: build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building transport_metadata_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\test\core\transport\metadata_test.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\transport_metadata_test.exe" Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\metadata_test.obj transport_metadata_test: transport_metadata_test.exe echo Running transport_metadata_test $(OUT_DIR)\transport_metadata_test.exe -transport_security_test.exe: build_libs $(OUT_DIR) + +transport_security_test.exe: build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building transport_security_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\test\core\tsi\transport_security_test.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\transport_security_test.exe" Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\transport_security_test.obj transport_security_test: transport_security_test.exe echo Running transport_security_test $(OUT_DIR)\transport_security_test.exe -uri_parser_test.exe: build_libs $(OUT_DIR) + +uri_parser_test.exe: build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building uri_parser_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\test\core\client_config\uri_parser_test.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\uri_parser_test.exe" Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\uri_parser_test.obj uri_parser_test: uri_parser_test.exe echo Running uri_parser_test $(OUT_DIR)\uri_parser_test.exe -interop_client.exe: build_libs $(OUT_DIR) - echo Building interop_client - $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c - $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\interop_client.exe" Debug\interop_client_main.lib Debug\interop_client_helper.lib Debug\grpc++_test_util.lib Debug\grpc_test_util.lib Debug\grpc++.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib Debug\grpc++_test_config.lib $(LIBS) $(OUT_DIR)\dummy.obj -interop_client: interop_client.exe - echo Running interop_client - $(OUT_DIR)\interop_client.exe -interop_server.exe: build_libs $(OUT_DIR) - echo Building interop_server - $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c - $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\interop_server.exe" Debug\interop_server_main.lib Debug\interop_server_helper.lib Debug\grpc++_test_util.lib Debug\grpc_test_util.lib Debug\grpc++.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib Debug\grpc++_test_config.lib $(LIBS) $(OUT_DIR)\dummy.obj -interop_server: interop_server.exe - echo Running interop_server - $(OUT_DIR)\interop_server.exe -chttp2_fake_security_bad_hostname_test.exe: build_libs $(OUT_DIR) + +async_end2end_test.exe: Debug\grpc++_test_util.lib build_grpc_test_util build_grpc++ build_grpc build_gpr_test_util build_gpr $(OUT_DIR) + echo Building async_end2end_test + $(CC) $(CXXFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\test\cpp\end2end\async_end2end_test.cc + $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\async_end2end_test.exe" Debug\grpc++_test_util.lib Debug\grpc_test_util.lib Debug\grpc++.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(CXX_LIBS) $(LIBS) $(OUT_DIR)\async_end2end_test.obj +async_end2end_test: async_end2end_test.exe + echo Running async_end2end_test + $(OUT_DIR)\async_end2end_test.exe + +auth_property_iterator_test.exe: build_grpc++ build_grpc build_gpr $(OUT_DIR) + echo Building auth_property_iterator_test + $(CC) $(CXXFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\test\cpp\common\auth_property_iterator_test.cc + $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\auth_property_iterator_test.exe" Debug\grpc++.lib Debug\grpc.lib Debug\gpr.lib $(CXX_LIBS) $(LIBS) $(OUT_DIR)\auth_property_iterator_test.obj +auth_property_iterator_test: auth_property_iterator_test.exe + echo Running auth_property_iterator_test + $(OUT_DIR)\auth_property_iterator_test.exe + +channel_arguments_test.exe: build_grpc++ build_grpc build_gpr $(OUT_DIR) + echo Building channel_arguments_test + $(CC) $(CXXFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\test\cpp\client\channel_arguments_test.cc + $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\channel_arguments_test.exe" Debug\grpc++.lib Debug\grpc.lib Debug\gpr.lib $(CXX_LIBS) $(LIBS) $(OUT_DIR)\channel_arguments_test.obj +channel_arguments_test: channel_arguments_test.exe + echo Running channel_arguments_test + $(OUT_DIR)\channel_arguments_test.exe + +cli_call_test.exe: Debug\grpc++_test_util.lib build_grpc_test_util build_grpc++ build_grpc build_gpr_test_util build_gpr $(OUT_DIR) + echo Building cli_call_test + $(CC) $(CXXFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\test\cpp\util\cli_call_test.cc + $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\cli_call_test.exe" Debug\grpc++_test_util.lib Debug\grpc_test_util.lib Debug\grpc++.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(CXX_LIBS) $(LIBS) $(OUT_DIR)\cli_call_test.obj +cli_call_test: cli_call_test.exe + echo Running cli_call_test + $(OUT_DIR)\cli_call_test.exe + +client_crash_test_server.exe: Debug\grpc++_test_util.lib build_grpc_test_util build_grpc++ build_grpc build_gpr_test_util build_gpr $(OUT_DIR) + echo Building client_crash_test_server + $(CC) $(CXXFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\test\cpp\end2end\client_crash_test_server.cc + $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\client_crash_test_server.exe" Debug\grpc++_test_util.lib Debug\grpc_test_util.lib Debug\grpc++.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(CXX_LIBS) $(LIBS) $(OUT_DIR)\client_crash_test_server.obj +client_crash_test_server: client_crash_test_server.exe + echo Running client_crash_test_server + $(OUT_DIR)\client_crash_test_server.exe + +credentials_test.exe: build_grpc++ build_grpc build_gpr $(OUT_DIR) + echo Building credentials_test + $(CC) $(CXXFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\test\cpp\client\credentials_test.cc + $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\credentials_test.exe" Debug\grpc++.lib Debug\grpc.lib Debug\gpr.lib $(CXX_LIBS) $(LIBS) $(OUT_DIR)\credentials_test.obj +credentials_test: credentials_test.exe + echo Running credentials_test + $(OUT_DIR)\credentials_test.exe + +cxx_byte_buffer_test.exe: build_grpc_test_util build_grpc++ build_grpc build_gpr_test_util build_gpr $(OUT_DIR) + echo Building cxx_byte_buffer_test + $(CC) $(CXXFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\test\cpp\util\byte_buffer_test.cc + $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\cxx_byte_buffer_test.exe" Debug\grpc_test_util.lib Debug\grpc++.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(CXX_LIBS) $(LIBS) $(OUT_DIR)\byte_buffer_test.obj +cxx_byte_buffer_test: cxx_byte_buffer_test.exe + echo Running cxx_byte_buffer_test + $(OUT_DIR)\cxx_byte_buffer_test.exe + +cxx_slice_test.exe: build_grpc_test_util build_grpc++ build_grpc build_gpr_test_util build_gpr $(OUT_DIR) + echo Building cxx_slice_test + $(CC) $(CXXFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\test\cpp\util\slice_test.cc + $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\cxx_slice_test.exe" Debug\grpc_test_util.lib Debug\grpc++.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(CXX_LIBS) $(LIBS) $(OUT_DIR)\slice_test.obj +cxx_slice_test: cxx_slice_test.exe + echo Running cxx_slice_test + $(OUT_DIR)\cxx_slice_test.exe + +cxx_time_test.exe: build_grpc_test_util build_grpc++ build_grpc build_gpr_test_util build_gpr $(OUT_DIR) + echo Building cxx_time_test + $(CC) $(CXXFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\test\cpp\util\time_test.cc + $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\cxx_time_test.exe" Debug\grpc_test_util.lib Debug\grpc++.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(CXX_LIBS) $(LIBS) $(OUT_DIR)\time_test.obj +cxx_time_test: cxx_time_test.exe + echo Running cxx_time_test + $(OUT_DIR)\cxx_time_test.exe + +dynamic_thread_pool_test.exe: build_grpc_test_util build_grpc++ build_grpc build_gpr_test_util build_gpr $(OUT_DIR) + echo Building dynamic_thread_pool_test + $(CC) $(CXXFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\test\cpp\server\dynamic_thread_pool_test.cc + $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\dynamic_thread_pool_test.exe" Debug\grpc_test_util.lib Debug\grpc++.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(CXX_LIBS) $(LIBS) $(OUT_DIR)\dynamic_thread_pool_test.obj +dynamic_thread_pool_test: dynamic_thread_pool_test.exe + echo Running dynamic_thread_pool_test + $(OUT_DIR)\dynamic_thread_pool_test.exe + +end2end_test.exe: Debug\grpc++_test_util.lib build_grpc_test_util build_grpc++ build_grpc build_gpr_test_util build_gpr $(OUT_DIR) + echo Building end2end_test + $(CC) $(CXXFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\test\cpp\end2end\end2end_test.cc + $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\end2end_test.exe" Debug\grpc++_test_util.lib Debug\grpc_test_util.lib Debug\grpc++.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(CXX_LIBS) $(LIBS) $(OUT_DIR)\end2end_test.obj +end2end_test: end2end_test.exe + echo Running end2end_test + $(OUT_DIR)\end2end_test.exe + +fixed_size_thread_pool_test.exe: build_grpc_test_util build_grpc++ build_grpc build_gpr_test_util build_gpr $(OUT_DIR) + echo Building fixed_size_thread_pool_test + $(CC) $(CXXFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\test\cpp\server\fixed_size_thread_pool_test.cc + $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\fixed_size_thread_pool_test.exe" Debug\grpc_test_util.lib Debug\grpc++.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(CXX_LIBS) $(LIBS) $(OUT_DIR)\fixed_size_thread_pool_test.obj +fixed_size_thread_pool_test: fixed_size_thread_pool_test.exe + echo Running fixed_size_thread_pool_test + $(OUT_DIR)\fixed_size_thread_pool_test.exe + +generic_end2end_test.exe: Debug\grpc++_test_util.lib build_grpc_test_util build_grpc++ build_grpc build_gpr_test_util build_gpr $(OUT_DIR) + echo Building generic_end2end_test + $(CC) $(CXXFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\test\cpp\end2end\generic_end2end_test.cc + $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\generic_end2end_test.exe" Debug\grpc++_test_util.lib Debug\grpc_test_util.lib Debug\grpc++.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(CXX_LIBS) $(LIBS) $(OUT_DIR)\generic_end2end_test.obj +generic_end2end_test: generic_end2end_test.exe + echo Running generic_end2end_test + $(OUT_DIR)\generic_end2end_test.exe + +grpc_cli.exe: Debug\grpc++_test_util.lib build_grpc_test_util build_grpc++ build_grpc build_gpr_test_util build_gpr Debug\grpc++_test_config.lib $(OUT_DIR) + echo Building grpc_cli + $(CC) $(CXXFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\test\cpp\util\grpc_cli.cc + $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\grpc_cli.exe" Debug\grpc++_test_util.lib Debug\grpc_test_util.lib Debug\grpc++.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib Debug\grpc++_test_config.lib $(CXX_LIBS) $(LIBS) $(OUT_DIR)\grpc_cli.obj +grpc_cli: grpc_cli.exe + echo Running grpc_cli + $(OUT_DIR)\grpc_cli.exe + +mock_test.exe: Debug\grpc++_test_util.lib build_grpc_test_util build_grpc++ build_grpc build_gpr_test_util build_gpr $(OUT_DIR) + echo Building mock_test + $(CC) $(CXXFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\test\cpp\end2end\mock_test.cc + $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\mock_test.exe" Debug\grpc++_test_util.lib Debug\grpc_test_util.lib Debug\grpc++.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(CXX_LIBS) $(LIBS) $(OUT_DIR)\mock_test.obj +mock_test: mock_test.exe + echo Running mock_test + $(OUT_DIR)\mock_test.exe + +qps_driver.exe: Debug\qps.lib Debug\grpc++_test_util.lib build_grpc_test_util build_grpc++ build_grpc build_gpr_test_util build_gpr Debug\grpc++_test_config.lib $(OUT_DIR) + echo Building qps_driver + $(CC) $(CXXFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\test\cpp\qps\qps_driver.cc + $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\qps_driver.exe" Debug\qps.lib Debug\grpc++_test_util.lib Debug\grpc_test_util.lib Debug\grpc++.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib Debug\grpc++_test_config.lib $(CXX_LIBS) $(LIBS) $(OUT_DIR)\qps_driver.obj +qps_driver: qps_driver.exe + echo Running qps_driver + $(OUT_DIR)\qps_driver.exe + +qps_worker.exe: Debug\qps.lib Debug\grpc++_test_util.lib build_grpc_test_util build_grpc++ build_grpc build_gpr_test_util build_gpr Debug\grpc++_test_config.lib $(OUT_DIR) + echo Building qps_worker + $(CC) $(CXXFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\test\cpp\qps\worker.cc + $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\qps_worker.exe" Debug\qps.lib Debug\grpc++_test_util.lib Debug\grpc_test_util.lib Debug\grpc++.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib Debug\grpc++_test_config.lib $(CXX_LIBS) $(LIBS) $(OUT_DIR)\worker.obj +qps_worker: qps_worker.exe + echo Running qps_worker + $(OUT_DIR)\qps_worker.exe + +secure_auth_context_test.exe: build_grpc++ build_grpc build_gpr $(OUT_DIR) + echo Building secure_auth_context_test + $(CC) $(CXXFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\test\cpp\common\secure_auth_context_test.cc + $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\secure_auth_context_test.exe" Debug\grpc++.lib Debug\grpc.lib Debug\gpr.lib $(CXX_LIBS) $(LIBS) $(OUT_DIR)\secure_auth_context_test.obj +secure_auth_context_test: secure_auth_context_test.exe + echo Running secure_auth_context_test + $(OUT_DIR)\secure_auth_context_test.exe + +server_crash_test_client.exe: Debug\grpc++_test_util.lib build_grpc_test_util build_grpc++ build_grpc build_gpr_test_util build_gpr $(OUT_DIR) + echo Building server_crash_test_client + $(CC) $(CXXFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\test\cpp\end2end\server_crash_test_client.cc + $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\server_crash_test_client.exe" Debug\grpc++_test_util.lib Debug\grpc_test_util.lib Debug\grpc++.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(CXX_LIBS) $(LIBS) $(OUT_DIR)\server_crash_test_client.obj +server_crash_test_client: server_crash_test_client.exe + echo Running server_crash_test_client + $(OUT_DIR)\server_crash_test_client.exe + +status_test.exe: build_grpc_test_util build_grpc++ build_grpc build_gpr_test_util build_gpr $(OUT_DIR) + echo Building status_test + $(CC) $(CXXFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\test\cpp\util\status_test.cc + $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\status_test.exe" Debug\grpc_test_util.lib Debug\grpc++.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(CXX_LIBS) $(LIBS) $(OUT_DIR)\status_test.obj +status_test: status_test.exe + echo Running status_test + $(OUT_DIR)\status_test.exe + +thread_stress_test.exe: Debug\grpc++_test_util.lib build_grpc_test_util build_grpc++ build_grpc build_gpr_test_util build_gpr $(OUT_DIR) + echo Building thread_stress_test + $(CC) $(CXXFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\test\cpp\end2end\thread_stress_test.cc + $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\thread_stress_test.exe" Debug\grpc++_test_util.lib Debug\grpc_test_util.lib Debug\grpc++.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(CXX_LIBS) $(LIBS) $(OUT_DIR)\thread_stress_test.obj +thread_stress_test: thread_stress_test.exe + echo Running thread_stress_test + $(OUT_DIR)\thread_stress_test.exe + +chttp2_fake_security_bad_hostname_test.exe: Debug\end2end_fixture_chttp2_fake_security.lib Debug\end2end_test_bad_hostname.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_fake_security_bad_hostname_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fake_security_bad_hostname_test.exe" Debug\end2end_fixture_chttp2_fake_security.lib Debug\end2end_test_bad_hostname.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_fake_security_bad_hostname_test: chttp2_fake_security_bad_hostname_test.exe echo Running chttp2_fake_security_bad_hostname_test $(OUT_DIR)\chttp2_fake_security_bad_hostname_test.exe -chttp2_fake_security_cancel_after_accept_test.exe: build_libs $(OUT_DIR) + +chttp2_fake_security_cancel_after_accept_test.exe: Debug\end2end_fixture_chttp2_fake_security.lib Debug\end2end_test_cancel_after_accept.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_fake_security_cancel_after_accept_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fake_security_cancel_after_accept_test.exe" Debug\end2end_fixture_chttp2_fake_security.lib Debug\end2end_test_cancel_after_accept.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_fake_security_cancel_after_accept_test: chttp2_fake_security_cancel_after_accept_test.exe echo Running chttp2_fake_security_cancel_after_accept_test $(OUT_DIR)\chttp2_fake_security_cancel_after_accept_test.exe -chttp2_fake_security_cancel_after_accept_and_writes_closed_test.exe: build_libs $(OUT_DIR) + +chttp2_fake_security_cancel_after_accept_and_writes_closed_test.exe: Debug\end2end_fixture_chttp2_fake_security.lib Debug\end2end_test_cancel_after_accept_and_writes_closed.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_fake_security_cancel_after_accept_and_writes_closed_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fake_security_cancel_after_accept_and_writes_closed_test.exe" Debug\end2end_fixture_chttp2_fake_security.lib Debug\end2end_test_cancel_after_accept_and_writes_closed.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_fake_security_cancel_after_accept_and_writes_closed_test: chttp2_fake_security_cancel_after_accept_and_writes_closed_test.exe echo Running chttp2_fake_security_cancel_after_accept_and_writes_closed_test $(OUT_DIR)\chttp2_fake_security_cancel_after_accept_and_writes_closed_test.exe -chttp2_fake_security_cancel_after_invoke_test.exe: build_libs $(OUT_DIR) + +chttp2_fake_security_cancel_after_invoke_test.exe: Debug\end2end_fixture_chttp2_fake_security.lib Debug\end2end_test_cancel_after_invoke.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_fake_security_cancel_after_invoke_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fake_security_cancel_after_invoke_test.exe" Debug\end2end_fixture_chttp2_fake_security.lib Debug\end2end_test_cancel_after_invoke.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_fake_security_cancel_after_invoke_test: chttp2_fake_security_cancel_after_invoke_test.exe echo Running chttp2_fake_security_cancel_after_invoke_test $(OUT_DIR)\chttp2_fake_security_cancel_after_invoke_test.exe -chttp2_fake_security_cancel_before_invoke_test.exe: build_libs $(OUT_DIR) + +chttp2_fake_security_cancel_before_invoke_test.exe: Debug\end2end_fixture_chttp2_fake_security.lib Debug\end2end_test_cancel_before_invoke.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_fake_security_cancel_before_invoke_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fake_security_cancel_before_invoke_test.exe" Debug\end2end_fixture_chttp2_fake_security.lib Debug\end2end_test_cancel_before_invoke.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_fake_security_cancel_before_invoke_test: chttp2_fake_security_cancel_before_invoke_test.exe echo Running chttp2_fake_security_cancel_before_invoke_test $(OUT_DIR)\chttp2_fake_security_cancel_before_invoke_test.exe -chttp2_fake_security_cancel_in_a_vacuum_test.exe: build_libs $(OUT_DIR) + +chttp2_fake_security_cancel_in_a_vacuum_test.exe: Debug\end2end_fixture_chttp2_fake_security.lib Debug\end2end_test_cancel_in_a_vacuum.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_fake_security_cancel_in_a_vacuum_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fake_security_cancel_in_a_vacuum_test.exe" Debug\end2end_fixture_chttp2_fake_security.lib Debug\end2end_test_cancel_in_a_vacuum.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_fake_security_cancel_in_a_vacuum_test: chttp2_fake_security_cancel_in_a_vacuum_test.exe echo Running chttp2_fake_security_cancel_in_a_vacuum_test $(OUT_DIR)\chttp2_fake_security_cancel_in_a_vacuum_test.exe -chttp2_fake_security_census_simple_request_test.exe: build_libs $(OUT_DIR) + +chttp2_fake_security_census_simple_request_test.exe: Debug\end2end_fixture_chttp2_fake_security.lib Debug\end2end_test_census_simple_request.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_fake_security_census_simple_request_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fake_security_census_simple_request_test.exe" Debug\end2end_fixture_chttp2_fake_security.lib Debug\end2end_test_census_simple_request.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_fake_security_census_simple_request_test: chttp2_fake_security_census_simple_request_test.exe echo Running chttp2_fake_security_census_simple_request_test $(OUT_DIR)\chttp2_fake_security_census_simple_request_test.exe -chttp2_fake_security_channel_connectivity_test.exe: build_libs $(OUT_DIR) + +chttp2_fake_security_channel_connectivity_test.exe: Debug\end2end_fixture_chttp2_fake_security.lib Debug\end2end_test_channel_connectivity.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_fake_security_channel_connectivity_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fake_security_channel_connectivity_test.exe" Debug\end2end_fixture_chttp2_fake_security.lib Debug\end2end_test_channel_connectivity.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_fake_security_channel_connectivity_test: chttp2_fake_security_channel_connectivity_test.exe echo Running chttp2_fake_security_channel_connectivity_test $(OUT_DIR)\chttp2_fake_security_channel_connectivity_test.exe -chttp2_fake_security_default_host_test.exe: build_libs $(OUT_DIR) + +chttp2_fake_security_default_host_test.exe: Debug\end2end_fixture_chttp2_fake_security.lib Debug\end2end_test_default_host.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_fake_security_default_host_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fake_security_default_host_test.exe" Debug\end2end_fixture_chttp2_fake_security.lib Debug\end2end_test_default_host.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_fake_security_default_host_test: chttp2_fake_security_default_host_test.exe echo Running chttp2_fake_security_default_host_test $(OUT_DIR)\chttp2_fake_security_default_host_test.exe -chttp2_fake_security_disappearing_server_test.exe: build_libs $(OUT_DIR) + +chttp2_fake_security_disappearing_server_test.exe: Debug\end2end_fixture_chttp2_fake_security.lib Debug\end2end_test_disappearing_server.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_fake_security_disappearing_server_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fake_security_disappearing_server_test.exe" Debug\end2end_fixture_chttp2_fake_security.lib Debug\end2end_test_disappearing_server.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_fake_security_disappearing_server_test: chttp2_fake_security_disappearing_server_test.exe echo Running chttp2_fake_security_disappearing_server_test $(OUT_DIR)\chttp2_fake_security_disappearing_server_test.exe -chttp2_fake_security_early_server_shutdown_finishes_inflight_calls_test.exe: build_libs $(OUT_DIR) + +chttp2_fake_security_early_server_shutdown_finishes_inflight_calls_test.exe: Debug\end2end_fixture_chttp2_fake_security.lib Debug\end2end_test_early_server_shutdown_finishes_inflight_calls.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_fake_security_early_server_shutdown_finishes_inflight_calls_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fake_security_early_server_shutdown_finishes_inflight_calls_test.exe" Debug\end2end_fixture_chttp2_fake_security.lib Debug\end2end_test_early_server_shutdown_finishes_inflight_calls.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_fake_security_early_server_shutdown_finishes_inflight_calls_test: chttp2_fake_security_early_server_shutdown_finishes_inflight_calls_test.exe echo Running chttp2_fake_security_early_server_shutdown_finishes_inflight_calls_test $(OUT_DIR)\chttp2_fake_security_early_server_shutdown_finishes_inflight_calls_test.exe -chttp2_fake_security_early_server_shutdown_finishes_tags_test.exe: build_libs $(OUT_DIR) + +chttp2_fake_security_early_server_shutdown_finishes_tags_test.exe: Debug\end2end_fixture_chttp2_fake_security.lib Debug\end2end_test_early_server_shutdown_finishes_tags.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_fake_security_early_server_shutdown_finishes_tags_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fake_security_early_server_shutdown_finishes_tags_test.exe" Debug\end2end_fixture_chttp2_fake_security.lib Debug\end2end_test_early_server_shutdown_finishes_tags.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_fake_security_early_server_shutdown_finishes_tags_test: chttp2_fake_security_early_server_shutdown_finishes_tags_test.exe echo Running chttp2_fake_security_early_server_shutdown_finishes_tags_test $(OUT_DIR)\chttp2_fake_security_early_server_shutdown_finishes_tags_test.exe -chttp2_fake_security_empty_batch_test.exe: build_libs $(OUT_DIR) + +chttp2_fake_security_empty_batch_test.exe: Debug\end2end_fixture_chttp2_fake_security.lib Debug\end2end_test_empty_batch.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_fake_security_empty_batch_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fake_security_empty_batch_test.exe" Debug\end2end_fixture_chttp2_fake_security.lib Debug\end2end_test_empty_batch.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_fake_security_empty_batch_test: chttp2_fake_security_empty_batch_test.exe echo Running chttp2_fake_security_empty_batch_test $(OUT_DIR)\chttp2_fake_security_empty_batch_test.exe -chttp2_fake_security_graceful_server_shutdown_test.exe: build_libs $(OUT_DIR) + +chttp2_fake_security_graceful_server_shutdown_test.exe: Debug\end2end_fixture_chttp2_fake_security.lib Debug\end2end_test_graceful_server_shutdown.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_fake_security_graceful_server_shutdown_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fake_security_graceful_server_shutdown_test.exe" Debug\end2end_fixture_chttp2_fake_security.lib Debug\end2end_test_graceful_server_shutdown.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_fake_security_graceful_server_shutdown_test: chttp2_fake_security_graceful_server_shutdown_test.exe echo Running chttp2_fake_security_graceful_server_shutdown_test $(OUT_DIR)\chttp2_fake_security_graceful_server_shutdown_test.exe -chttp2_fake_security_invoke_large_request_test.exe: build_libs $(OUT_DIR) + +chttp2_fake_security_invoke_large_request_test.exe: Debug\end2end_fixture_chttp2_fake_security.lib Debug\end2end_test_invoke_large_request.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_fake_security_invoke_large_request_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fake_security_invoke_large_request_test.exe" Debug\end2end_fixture_chttp2_fake_security.lib Debug\end2end_test_invoke_large_request.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_fake_security_invoke_large_request_test: chttp2_fake_security_invoke_large_request_test.exe echo Running chttp2_fake_security_invoke_large_request_test $(OUT_DIR)\chttp2_fake_security_invoke_large_request_test.exe -chttp2_fake_security_max_concurrent_streams_test.exe: build_libs $(OUT_DIR) + +chttp2_fake_security_max_concurrent_streams_test.exe: Debug\end2end_fixture_chttp2_fake_security.lib Debug\end2end_test_max_concurrent_streams.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_fake_security_max_concurrent_streams_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fake_security_max_concurrent_streams_test.exe" Debug\end2end_fixture_chttp2_fake_security.lib Debug\end2end_test_max_concurrent_streams.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_fake_security_max_concurrent_streams_test: chttp2_fake_security_max_concurrent_streams_test.exe echo Running chttp2_fake_security_max_concurrent_streams_test $(OUT_DIR)\chttp2_fake_security_max_concurrent_streams_test.exe -chttp2_fake_security_max_message_length_test.exe: build_libs $(OUT_DIR) + +chttp2_fake_security_max_message_length_test.exe: Debug\end2end_fixture_chttp2_fake_security.lib Debug\end2end_test_max_message_length.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_fake_security_max_message_length_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fake_security_max_message_length_test.exe" Debug\end2end_fixture_chttp2_fake_security.lib Debug\end2end_test_max_message_length.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_fake_security_max_message_length_test: chttp2_fake_security_max_message_length_test.exe echo Running chttp2_fake_security_max_message_length_test $(OUT_DIR)\chttp2_fake_security_max_message_length_test.exe -chttp2_fake_security_no_op_test.exe: build_libs $(OUT_DIR) + +chttp2_fake_security_no_op_test.exe: Debug\end2end_fixture_chttp2_fake_security.lib Debug\end2end_test_no_op.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_fake_security_no_op_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fake_security_no_op_test.exe" Debug\end2end_fixture_chttp2_fake_security.lib Debug\end2end_test_no_op.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_fake_security_no_op_test: chttp2_fake_security_no_op_test.exe echo Running chttp2_fake_security_no_op_test $(OUT_DIR)\chttp2_fake_security_no_op_test.exe -chttp2_fake_security_ping_pong_streaming_test.exe: build_libs $(OUT_DIR) + +chttp2_fake_security_ping_pong_streaming_test.exe: Debug\end2end_fixture_chttp2_fake_security.lib Debug\end2end_test_ping_pong_streaming.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_fake_security_ping_pong_streaming_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fake_security_ping_pong_streaming_test.exe" Debug\end2end_fixture_chttp2_fake_security.lib Debug\end2end_test_ping_pong_streaming.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_fake_security_ping_pong_streaming_test: chttp2_fake_security_ping_pong_streaming_test.exe echo Running chttp2_fake_security_ping_pong_streaming_test $(OUT_DIR)\chttp2_fake_security_ping_pong_streaming_test.exe -chttp2_fake_security_registered_call_test.exe: build_libs $(OUT_DIR) + +chttp2_fake_security_registered_call_test.exe: Debug\end2end_fixture_chttp2_fake_security.lib Debug\end2end_test_registered_call.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_fake_security_registered_call_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fake_security_registered_call_test.exe" Debug\end2end_fixture_chttp2_fake_security.lib Debug\end2end_test_registered_call.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_fake_security_registered_call_test: chttp2_fake_security_registered_call_test.exe echo Running chttp2_fake_security_registered_call_test $(OUT_DIR)\chttp2_fake_security_registered_call_test.exe -chttp2_fake_security_request_response_with_binary_metadata_and_payload_test.exe: build_libs $(OUT_DIR) + +chttp2_fake_security_request_response_with_binary_metadata_and_payload_test.exe: Debug\end2end_fixture_chttp2_fake_security.lib Debug\end2end_test_request_response_with_binary_metadata_and_payload.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_fake_security_request_response_with_binary_metadata_and_payload_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fake_security_request_response_with_binary_metadata_and_payload_test.exe" Debug\end2end_fixture_chttp2_fake_security.lib Debug\end2end_test_request_response_with_binary_metadata_and_payload.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_fake_security_request_response_with_binary_metadata_and_payload_test: chttp2_fake_security_request_response_with_binary_metadata_and_payload_test.exe echo Running chttp2_fake_security_request_response_with_binary_metadata_and_payload_test $(OUT_DIR)\chttp2_fake_security_request_response_with_binary_metadata_and_payload_test.exe -chttp2_fake_security_request_response_with_metadata_and_payload_test.exe: build_libs $(OUT_DIR) + +chttp2_fake_security_request_response_with_metadata_and_payload_test.exe: Debug\end2end_fixture_chttp2_fake_security.lib Debug\end2end_test_request_response_with_metadata_and_payload.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_fake_security_request_response_with_metadata_and_payload_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fake_security_request_response_with_metadata_and_payload_test.exe" Debug\end2end_fixture_chttp2_fake_security.lib Debug\end2end_test_request_response_with_metadata_and_payload.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_fake_security_request_response_with_metadata_and_payload_test: chttp2_fake_security_request_response_with_metadata_and_payload_test.exe echo Running chttp2_fake_security_request_response_with_metadata_and_payload_test $(OUT_DIR)\chttp2_fake_security_request_response_with_metadata_and_payload_test.exe -chttp2_fake_security_request_response_with_payload_test.exe: build_libs $(OUT_DIR) + +chttp2_fake_security_request_response_with_payload_test.exe: Debug\end2end_fixture_chttp2_fake_security.lib Debug\end2end_test_request_response_with_payload.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_fake_security_request_response_with_payload_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fake_security_request_response_with_payload_test.exe" Debug\end2end_fixture_chttp2_fake_security.lib Debug\end2end_test_request_response_with_payload.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_fake_security_request_response_with_payload_test: chttp2_fake_security_request_response_with_payload_test.exe echo Running chttp2_fake_security_request_response_with_payload_test $(OUT_DIR)\chttp2_fake_security_request_response_with_payload_test.exe -chttp2_fake_security_request_response_with_payload_and_call_creds_test.exe: build_libs $(OUT_DIR) + +chttp2_fake_security_request_response_with_payload_and_call_creds_test.exe: Debug\end2end_fixture_chttp2_fake_security.lib Debug\end2end_test_request_response_with_payload_and_call_creds.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_fake_security_request_response_with_payload_and_call_creds_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fake_security_request_response_with_payload_and_call_creds_test.exe" Debug\end2end_fixture_chttp2_fake_security.lib Debug\end2end_test_request_response_with_payload_and_call_creds.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_fake_security_request_response_with_payload_and_call_creds_test: chttp2_fake_security_request_response_with_payload_and_call_creds_test.exe echo Running chttp2_fake_security_request_response_with_payload_and_call_creds_test $(OUT_DIR)\chttp2_fake_security_request_response_with_payload_and_call_creds_test.exe -chttp2_fake_security_request_response_with_trailing_metadata_and_payload_test.exe: build_libs $(OUT_DIR) + +chttp2_fake_security_request_response_with_trailing_metadata_and_payload_test.exe: Debug\end2end_fixture_chttp2_fake_security.lib Debug\end2end_test_request_response_with_trailing_metadata_and_payload.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_fake_security_request_response_with_trailing_metadata_and_payload_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fake_security_request_response_with_trailing_metadata_and_payload_test.exe" Debug\end2end_fixture_chttp2_fake_security.lib Debug\end2end_test_request_response_with_trailing_metadata_and_payload.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_fake_security_request_response_with_trailing_metadata_and_payload_test: chttp2_fake_security_request_response_with_trailing_metadata_and_payload_test.exe echo Running chttp2_fake_security_request_response_with_trailing_metadata_and_payload_test $(OUT_DIR)\chttp2_fake_security_request_response_with_trailing_metadata_and_payload_test.exe -chttp2_fake_security_request_with_compressed_payload_test.exe: build_libs $(OUT_DIR) + +chttp2_fake_security_request_with_compressed_payload_test.exe: Debug\end2end_fixture_chttp2_fake_security.lib Debug\end2end_test_request_with_compressed_payload.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_fake_security_request_with_compressed_payload_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fake_security_request_with_compressed_payload_test.exe" Debug\end2end_fixture_chttp2_fake_security.lib Debug\end2end_test_request_with_compressed_payload.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_fake_security_request_with_compressed_payload_test: chttp2_fake_security_request_with_compressed_payload_test.exe echo Running chttp2_fake_security_request_with_compressed_payload_test $(OUT_DIR)\chttp2_fake_security_request_with_compressed_payload_test.exe -chttp2_fake_security_request_with_flags_test.exe: build_libs $(OUT_DIR) + +chttp2_fake_security_request_with_flags_test.exe: Debug\end2end_fixture_chttp2_fake_security.lib Debug\end2end_test_request_with_flags.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_fake_security_request_with_flags_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fake_security_request_with_flags_test.exe" Debug\end2end_fixture_chttp2_fake_security.lib Debug\end2end_test_request_with_flags.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_fake_security_request_with_flags_test: chttp2_fake_security_request_with_flags_test.exe echo Running chttp2_fake_security_request_with_flags_test $(OUT_DIR)\chttp2_fake_security_request_with_flags_test.exe -chttp2_fake_security_request_with_large_metadata_test.exe: build_libs $(OUT_DIR) + +chttp2_fake_security_request_with_large_metadata_test.exe: Debug\end2end_fixture_chttp2_fake_security.lib Debug\end2end_test_request_with_large_metadata.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_fake_security_request_with_large_metadata_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fake_security_request_with_large_metadata_test.exe" Debug\end2end_fixture_chttp2_fake_security.lib Debug\end2end_test_request_with_large_metadata.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_fake_security_request_with_large_metadata_test: chttp2_fake_security_request_with_large_metadata_test.exe echo Running chttp2_fake_security_request_with_large_metadata_test $(OUT_DIR)\chttp2_fake_security_request_with_large_metadata_test.exe -chttp2_fake_security_request_with_payload_test.exe: build_libs $(OUT_DIR) + +chttp2_fake_security_request_with_payload_test.exe: Debug\end2end_fixture_chttp2_fake_security.lib Debug\end2end_test_request_with_payload.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_fake_security_request_with_payload_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fake_security_request_with_payload_test.exe" Debug\end2end_fixture_chttp2_fake_security.lib Debug\end2end_test_request_with_payload.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_fake_security_request_with_payload_test: chttp2_fake_security_request_with_payload_test.exe echo Running chttp2_fake_security_request_with_payload_test $(OUT_DIR)\chttp2_fake_security_request_with_payload_test.exe -chttp2_fake_security_server_finishes_request_test.exe: build_libs $(OUT_DIR) + +chttp2_fake_security_server_finishes_request_test.exe: Debug\end2end_fixture_chttp2_fake_security.lib Debug\end2end_test_server_finishes_request.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_fake_security_server_finishes_request_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fake_security_server_finishes_request_test.exe" Debug\end2end_fixture_chttp2_fake_security.lib Debug\end2end_test_server_finishes_request.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_fake_security_server_finishes_request_test: chttp2_fake_security_server_finishes_request_test.exe echo Running chttp2_fake_security_server_finishes_request_test $(OUT_DIR)\chttp2_fake_security_server_finishes_request_test.exe -chttp2_fake_security_simple_delayed_request_test.exe: build_libs $(OUT_DIR) + +chttp2_fake_security_simple_delayed_request_test.exe: Debug\end2end_fixture_chttp2_fake_security.lib Debug\end2end_test_simple_delayed_request.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_fake_security_simple_delayed_request_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fake_security_simple_delayed_request_test.exe" Debug\end2end_fixture_chttp2_fake_security.lib Debug\end2end_test_simple_delayed_request.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_fake_security_simple_delayed_request_test: chttp2_fake_security_simple_delayed_request_test.exe echo Running chttp2_fake_security_simple_delayed_request_test $(OUT_DIR)\chttp2_fake_security_simple_delayed_request_test.exe -chttp2_fake_security_simple_request_test.exe: build_libs $(OUT_DIR) + +chttp2_fake_security_simple_request_test.exe: Debug\end2end_fixture_chttp2_fake_security.lib Debug\end2end_test_simple_request.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_fake_security_simple_request_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fake_security_simple_request_test.exe" Debug\end2end_fixture_chttp2_fake_security.lib Debug\end2end_test_simple_request.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_fake_security_simple_request_test: chttp2_fake_security_simple_request_test.exe echo Running chttp2_fake_security_simple_request_test $(OUT_DIR)\chttp2_fake_security_simple_request_test.exe -chttp2_fake_security_simple_request_with_high_initial_sequence_number_test.exe: build_libs $(OUT_DIR) + +chttp2_fake_security_simple_request_with_high_initial_sequence_number_test.exe: Debug\end2end_fixture_chttp2_fake_security.lib Debug\end2end_test_simple_request_with_high_initial_sequence_number.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_fake_security_simple_request_with_high_initial_sequence_number_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fake_security_simple_request_with_high_initial_sequence_number_test.exe" Debug\end2end_fixture_chttp2_fake_security.lib Debug\end2end_test_simple_request_with_high_initial_sequence_number.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_fake_security_simple_request_with_high_initial_sequence_number_test: chttp2_fake_security_simple_request_with_high_initial_sequence_number_test.exe echo Running chttp2_fake_security_simple_request_with_high_initial_sequence_number_test $(OUT_DIR)\chttp2_fake_security_simple_request_with_high_initial_sequence_number_test.exe -chttp2_fullstack_bad_hostname_test.exe: build_libs $(OUT_DIR) + +chttp2_fullstack_bad_hostname_test.exe: Debug\end2end_fixture_chttp2_fullstack.lib Debug\end2end_test_bad_hostname.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_fullstack_bad_hostname_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fullstack_bad_hostname_test.exe" Debug\end2end_fixture_chttp2_fullstack.lib Debug\end2end_test_bad_hostname.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_fullstack_bad_hostname_test: chttp2_fullstack_bad_hostname_test.exe echo Running chttp2_fullstack_bad_hostname_test $(OUT_DIR)\chttp2_fullstack_bad_hostname_test.exe -chttp2_fullstack_cancel_after_accept_test.exe: build_libs $(OUT_DIR) + +chttp2_fullstack_cancel_after_accept_test.exe: Debug\end2end_fixture_chttp2_fullstack.lib Debug\end2end_test_cancel_after_accept.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_fullstack_cancel_after_accept_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fullstack_cancel_after_accept_test.exe" Debug\end2end_fixture_chttp2_fullstack.lib Debug\end2end_test_cancel_after_accept.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_fullstack_cancel_after_accept_test: chttp2_fullstack_cancel_after_accept_test.exe echo Running chttp2_fullstack_cancel_after_accept_test $(OUT_DIR)\chttp2_fullstack_cancel_after_accept_test.exe -chttp2_fullstack_cancel_after_accept_and_writes_closed_test.exe: build_libs $(OUT_DIR) + +chttp2_fullstack_cancel_after_accept_and_writes_closed_test.exe: Debug\end2end_fixture_chttp2_fullstack.lib Debug\end2end_test_cancel_after_accept_and_writes_closed.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_fullstack_cancel_after_accept_and_writes_closed_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fullstack_cancel_after_accept_and_writes_closed_test.exe" Debug\end2end_fixture_chttp2_fullstack.lib Debug\end2end_test_cancel_after_accept_and_writes_closed.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_fullstack_cancel_after_accept_and_writes_closed_test: chttp2_fullstack_cancel_after_accept_and_writes_closed_test.exe echo Running chttp2_fullstack_cancel_after_accept_and_writes_closed_test $(OUT_DIR)\chttp2_fullstack_cancel_after_accept_and_writes_closed_test.exe -chttp2_fullstack_cancel_after_invoke_test.exe: build_libs $(OUT_DIR) + +chttp2_fullstack_cancel_after_invoke_test.exe: Debug\end2end_fixture_chttp2_fullstack.lib Debug\end2end_test_cancel_after_invoke.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_fullstack_cancel_after_invoke_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fullstack_cancel_after_invoke_test.exe" Debug\end2end_fixture_chttp2_fullstack.lib Debug\end2end_test_cancel_after_invoke.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_fullstack_cancel_after_invoke_test: chttp2_fullstack_cancel_after_invoke_test.exe echo Running chttp2_fullstack_cancel_after_invoke_test $(OUT_DIR)\chttp2_fullstack_cancel_after_invoke_test.exe -chttp2_fullstack_cancel_before_invoke_test.exe: build_libs $(OUT_DIR) + +chttp2_fullstack_cancel_before_invoke_test.exe: Debug\end2end_fixture_chttp2_fullstack.lib Debug\end2end_test_cancel_before_invoke.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_fullstack_cancel_before_invoke_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fullstack_cancel_before_invoke_test.exe" Debug\end2end_fixture_chttp2_fullstack.lib Debug\end2end_test_cancel_before_invoke.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_fullstack_cancel_before_invoke_test: chttp2_fullstack_cancel_before_invoke_test.exe echo Running chttp2_fullstack_cancel_before_invoke_test $(OUT_DIR)\chttp2_fullstack_cancel_before_invoke_test.exe -chttp2_fullstack_cancel_in_a_vacuum_test.exe: build_libs $(OUT_DIR) + +chttp2_fullstack_cancel_in_a_vacuum_test.exe: Debug\end2end_fixture_chttp2_fullstack.lib Debug\end2end_test_cancel_in_a_vacuum.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_fullstack_cancel_in_a_vacuum_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fullstack_cancel_in_a_vacuum_test.exe" Debug\end2end_fixture_chttp2_fullstack.lib Debug\end2end_test_cancel_in_a_vacuum.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_fullstack_cancel_in_a_vacuum_test: chttp2_fullstack_cancel_in_a_vacuum_test.exe echo Running chttp2_fullstack_cancel_in_a_vacuum_test $(OUT_DIR)\chttp2_fullstack_cancel_in_a_vacuum_test.exe -chttp2_fullstack_census_simple_request_test.exe: build_libs $(OUT_DIR) + +chttp2_fullstack_census_simple_request_test.exe: Debug\end2end_fixture_chttp2_fullstack.lib Debug\end2end_test_census_simple_request.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_fullstack_census_simple_request_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fullstack_census_simple_request_test.exe" Debug\end2end_fixture_chttp2_fullstack.lib Debug\end2end_test_census_simple_request.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_fullstack_census_simple_request_test: chttp2_fullstack_census_simple_request_test.exe echo Running chttp2_fullstack_census_simple_request_test $(OUT_DIR)\chttp2_fullstack_census_simple_request_test.exe -chttp2_fullstack_channel_connectivity_test.exe: build_libs $(OUT_DIR) + +chttp2_fullstack_channel_connectivity_test.exe: Debug\end2end_fixture_chttp2_fullstack.lib Debug\end2end_test_channel_connectivity.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_fullstack_channel_connectivity_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fullstack_channel_connectivity_test.exe" Debug\end2end_fixture_chttp2_fullstack.lib Debug\end2end_test_channel_connectivity.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_fullstack_channel_connectivity_test: chttp2_fullstack_channel_connectivity_test.exe echo Running chttp2_fullstack_channel_connectivity_test $(OUT_DIR)\chttp2_fullstack_channel_connectivity_test.exe -chttp2_fullstack_default_host_test.exe: build_libs $(OUT_DIR) + +chttp2_fullstack_default_host_test.exe: Debug\end2end_fixture_chttp2_fullstack.lib Debug\end2end_test_default_host.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_fullstack_default_host_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fullstack_default_host_test.exe" Debug\end2end_fixture_chttp2_fullstack.lib Debug\end2end_test_default_host.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_fullstack_default_host_test: chttp2_fullstack_default_host_test.exe echo Running chttp2_fullstack_default_host_test $(OUT_DIR)\chttp2_fullstack_default_host_test.exe -chttp2_fullstack_disappearing_server_test.exe: build_libs $(OUT_DIR) + +chttp2_fullstack_disappearing_server_test.exe: Debug\end2end_fixture_chttp2_fullstack.lib Debug\end2end_test_disappearing_server.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_fullstack_disappearing_server_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fullstack_disappearing_server_test.exe" Debug\end2end_fixture_chttp2_fullstack.lib Debug\end2end_test_disappearing_server.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_fullstack_disappearing_server_test: chttp2_fullstack_disappearing_server_test.exe echo Running chttp2_fullstack_disappearing_server_test $(OUT_DIR)\chttp2_fullstack_disappearing_server_test.exe -chttp2_fullstack_early_server_shutdown_finishes_inflight_calls_test.exe: build_libs $(OUT_DIR) + +chttp2_fullstack_early_server_shutdown_finishes_inflight_calls_test.exe: Debug\end2end_fixture_chttp2_fullstack.lib Debug\end2end_test_early_server_shutdown_finishes_inflight_calls.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_fullstack_early_server_shutdown_finishes_inflight_calls_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fullstack_early_server_shutdown_finishes_inflight_calls_test.exe" Debug\end2end_fixture_chttp2_fullstack.lib Debug\end2end_test_early_server_shutdown_finishes_inflight_calls.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_fullstack_early_server_shutdown_finishes_inflight_calls_test: chttp2_fullstack_early_server_shutdown_finishes_inflight_calls_test.exe echo Running chttp2_fullstack_early_server_shutdown_finishes_inflight_calls_test $(OUT_DIR)\chttp2_fullstack_early_server_shutdown_finishes_inflight_calls_test.exe -chttp2_fullstack_early_server_shutdown_finishes_tags_test.exe: build_libs $(OUT_DIR) + +chttp2_fullstack_early_server_shutdown_finishes_tags_test.exe: Debug\end2end_fixture_chttp2_fullstack.lib Debug\end2end_test_early_server_shutdown_finishes_tags.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_fullstack_early_server_shutdown_finishes_tags_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fullstack_early_server_shutdown_finishes_tags_test.exe" Debug\end2end_fixture_chttp2_fullstack.lib Debug\end2end_test_early_server_shutdown_finishes_tags.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_fullstack_early_server_shutdown_finishes_tags_test: chttp2_fullstack_early_server_shutdown_finishes_tags_test.exe echo Running chttp2_fullstack_early_server_shutdown_finishes_tags_test $(OUT_DIR)\chttp2_fullstack_early_server_shutdown_finishes_tags_test.exe -chttp2_fullstack_empty_batch_test.exe: build_libs $(OUT_DIR) + +chttp2_fullstack_empty_batch_test.exe: Debug\end2end_fixture_chttp2_fullstack.lib Debug\end2end_test_empty_batch.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_fullstack_empty_batch_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fullstack_empty_batch_test.exe" Debug\end2end_fixture_chttp2_fullstack.lib Debug\end2end_test_empty_batch.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_fullstack_empty_batch_test: chttp2_fullstack_empty_batch_test.exe echo Running chttp2_fullstack_empty_batch_test $(OUT_DIR)\chttp2_fullstack_empty_batch_test.exe -chttp2_fullstack_graceful_server_shutdown_test.exe: build_libs $(OUT_DIR) + +chttp2_fullstack_graceful_server_shutdown_test.exe: Debug\end2end_fixture_chttp2_fullstack.lib Debug\end2end_test_graceful_server_shutdown.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_fullstack_graceful_server_shutdown_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fullstack_graceful_server_shutdown_test.exe" Debug\end2end_fixture_chttp2_fullstack.lib Debug\end2end_test_graceful_server_shutdown.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_fullstack_graceful_server_shutdown_test: chttp2_fullstack_graceful_server_shutdown_test.exe echo Running chttp2_fullstack_graceful_server_shutdown_test $(OUT_DIR)\chttp2_fullstack_graceful_server_shutdown_test.exe -chttp2_fullstack_invoke_large_request_test.exe: build_libs $(OUT_DIR) + +chttp2_fullstack_invoke_large_request_test.exe: Debug\end2end_fixture_chttp2_fullstack.lib Debug\end2end_test_invoke_large_request.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_fullstack_invoke_large_request_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fullstack_invoke_large_request_test.exe" Debug\end2end_fixture_chttp2_fullstack.lib Debug\end2end_test_invoke_large_request.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_fullstack_invoke_large_request_test: chttp2_fullstack_invoke_large_request_test.exe echo Running chttp2_fullstack_invoke_large_request_test $(OUT_DIR)\chttp2_fullstack_invoke_large_request_test.exe -chttp2_fullstack_max_concurrent_streams_test.exe: build_libs $(OUT_DIR) + +chttp2_fullstack_max_concurrent_streams_test.exe: Debug\end2end_fixture_chttp2_fullstack.lib Debug\end2end_test_max_concurrent_streams.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_fullstack_max_concurrent_streams_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fullstack_max_concurrent_streams_test.exe" Debug\end2end_fixture_chttp2_fullstack.lib Debug\end2end_test_max_concurrent_streams.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_fullstack_max_concurrent_streams_test: chttp2_fullstack_max_concurrent_streams_test.exe echo Running chttp2_fullstack_max_concurrent_streams_test $(OUT_DIR)\chttp2_fullstack_max_concurrent_streams_test.exe -chttp2_fullstack_max_message_length_test.exe: build_libs $(OUT_DIR) + +chttp2_fullstack_max_message_length_test.exe: Debug\end2end_fixture_chttp2_fullstack.lib Debug\end2end_test_max_message_length.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_fullstack_max_message_length_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fullstack_max_message_length_test.exe" Debug\end2end_fixture_chttp2_fullstack.lib Debug\end2end_test_max_message_length.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_fullstack_max_message_length_test: chttp2_fullstack_max_message_length_test.exe echo Running chttp2_fullstack_max_message_length_test $(OUT_DIR)\chttp2_fullstack_max_message_length_test.exe -chttp2_fullstack_no_op_test.exe: build_libs $(OUT_DIR) + +chttp2_fullstack_no_op_test.exe: Debug\end2end_fixture_chttp2_fullstack.lib Debug\end2end_test_no_op.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_fullstack_no_op_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fullstack_no_op_test.exe" Debug\end2end_fixture_chttp2_fullstack.lib Debug\end2end_test_no_op.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_fullstack_no_op_test: chttp2_fullstack_no_op_test.exe echo Running chttp2_fullstack_no_op_test $(OUT_DIR)\chttp2_fullstack_no_op_test.exe -chttp2_fullstack_ping_pong_streaming_test.exe: build_libs $(OUT_DIR) + +chttp2_fullstack_ping_pong_streaming_test.exe: Debug\end2end_fixture_chttp2_fullstack.lib Debug\end2end_test_ping_pong_streaming.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_fullstack_ping_pong_streaming_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fullstack_ping_pong_streaming_test.exe" Debug\end2end_fixture_chttp2_fullstack.lib Debug\end2end_test_ping_pong_streaming.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_fullstack_ping_pong_streaming_test: chttp2_fullstack_ping_pong_streaming_test.exe echo Running chttp2_fullstack_ping_pong_streaming_test $(OUT_DIR)\chttp2_fullstack_ping_pong_streaming_test.exe -chttp2_fullstack_registered_call_test.exe: build_libs $(OUT_DIR) + +chttp2_fullstack_registered_call_test.exe: Debug\end2end_fixture_chttp2_fullstack.lib Debug\end2end_test_registered_call.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_fullstack_registered_call_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fullstack_registered_call_test.exe" Debug\end2end_fixture_chttp2_fullstack.lib Debug\end2end_test_registered_call.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_fullstack_registered_call_test: chttp2_fullstack_registered_call_test.exe echo Running chttp2_fullstack_registered_call_test $(OUT_DIR)\chttp2_fullstack_registered_call_test.exe -chttp2_fullstack_request_response_with_binary_metadata_and_payload_test.exe: build_libs $(OUT_DIR) + +chttp2_fullstack_request_response_with_binary_metadata_and_payload_test.exe: Debug\end2end_fixture_chttp2_fullstack.lib Debug\end2end_test_request_response_with_binary_metadata_and_payload.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_fullstack_request_response_with_binary_metadata_and_payload_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fullstack_request_response_with_binary_metadata_and_payload_test.exe" Debug\end2end_fixture_chttp2_fullstack.lib Debug\end2end_test_request_response_with_binary_metadata_and_payload.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_fullstack_request_response_with_binary_metadata_and_payload_test: chttp2_fullstack_request_response_with_binary_metadata_and_payload_test.exe echo Running chttp2_fullstack_request_response_with_binary_metadata_and_payload_test $(OUT_DIR)\chttp2_fullstack_request_response_with_binary_metadata_and_payload_test.exe -chttp2_fullstack_request_response_with_metadata_and_payload_test.exe: build_libs $(OUT_DIR) + +chttp2_fullstack_request_response_with_metadata_and_payload_test.exe: Debug\end2end_fixture_chttp2_fullstack.lib Debug\end2end_test_request_response_with_metadata_and_payload.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_fullstack_request_response_with_metadata_and_payload_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fullstack_request_response_with_metadata_and_payload_test.exe" Debug\end2end_fixture_chttp2_fullstack.lib Debug\end2end_test_request_response_with_metadata_and_payload.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_fullstack_request_response_with_metadata_and_payload_test: chttp2_fullstack_request_response_with_metadata_and_payload_test.exe echo Running chttp2_fullstack_request_response_with_metadata_and_payload_test $(OUT_DIR)\chttp2_fullstack_request_response_with_metadata_and_payload_test.exe -chttp2_fullstack_request_response_with_payload_test.exe: build_libs $(OUT_DIR) + +chttp2_fullstack_request_response_with_payload_test.exe: Debug\end2end_fixture_chttp2_fullstack.lib Debug\end2end_test_request_response_with_payload.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_fullstack_request_response_with_payload_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fullstack_request_response_with_payload_test.exe" Debug\end2end_fixture_chttp2_fullstack.lib Debug\end2end_test_request_response_with_payload.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_fullstack_request_response_with_payload_test: chttp2_fullstack_request_response_with_payload_test.exe echo Running chttp2_fullstack_request_response_with_payload_test $(OUT_DIR)\chttp2_fullstack_request_response_with_payload_test.exe -chttp2_fullstack_request_response_with_payload_and_call_creds_test.exe: build_libs $(OUT_DIR) + +chttp2_fullstack_request_response_with_payload_and_call_creds_test.exe: Debug\end2end_fixture_chttp2_fullstack.lib Debug\end2end_test_request_response_with_payload_and_call_creds.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_fullstack_request_response_with_payload_and_call_creds_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fullstack_request_response_with_payload_and_call_creds_test.exe" Debug\end2end_fixture_chttp2_fullstack.lib Debug\end2end_test_request_response_with_payload_and_call_creds.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_fullstack_request_response_with_payload_and_call_creds_test: chttp2_fullstack_request_response_with_payload_and_call_creds_test.exe echo Running chttp2_fullstack_request_response_with_payload_and_call_creds_test $(OUT_DIR)\chttp2_fullstack_request_response_with_payload_and_call_creds_test.exe -chttp2_fullstack_request_response_with_trailing_metadata_and_payload_test.exe: build_libs $(OUT_DIR) + +chttp2_fullstack_request_response_with_trailing_metadata_and_payload_test.exe: Debug\end2end_fixture_chttp2_fullstack.lib Debug\end2end_test_request_response_with_trailing_metadata_and_payload.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_fullstack_request_response_with_trailing_metadata_and_payload_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fullstack_request_response_with_trailing_metadata_and_payload_test.exe" Debug\end2end_fixture_chttp2_fullstack.lib Debug\end2end_test_request_response_with_trailing_metadata_and_payload.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_fullstack_request_response_with_trailing_metadata_and_payload_test: chttp2_fullstack_request_response_with_trailing_metadata_and_payload_test.exe echo Running chttp2_fullstack_request_response_with_trailing_metadata_and_payload_test $(OUT_DIR)\chttp2_fullstack_request_response_with_trailing_metadata_and_payload_test.exe -chttp2_fullstack_request_with_compressed_payload_test.exe: build_libs $(OUT_DIR) + +chttp2_fullstack_request_with_compressed_payload_test.exe: Debug\end2end_fixture_chttp2_fullstack.lib Debug\end2end_test_request_with_compressed_payload.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_fullstack_request_with_compressed_payload_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fullstack_request_with_compressed_payload_test.exe" Debug\end2end_fixture_chttp2_fullstack.lib Debug\end2end_test_request_with_compressed_payload.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_fullstack_request_with_compressed_payload_test: chttp2_fullstack_request_with_compressed_payload_test.exe echo Running chttp2_fullstack_request_with_compressed_payload_test $(OUT_DIR)\chttp2_fullstack_request_with_compressed_payload_test.exe -chttp2_fullstack_request_with_flags_test.exe: build_libs $(OUT_DIR) + +chttp2_fullstack_request_with_flags_test.exe: Debug\end2end_fixture_chttp2_fullstack.lib Debug\end2end_test_request_with_flags.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_fullstack_request_with_flags_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fullstack_request_with_flags_test.exe" Debug\end2end_fixture_chttp2_fullstack.lib Debug\end2end_test_request_with_flags.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_fullstack_request_with_flags_test: chttp2_fullstack_request_with_flags_test.exe echo Running chttp2_fullstack_request_with_flags_test $(OUT_DIR)\chttp2_fullstack_request_with_flags_test.exe -chttp2_fullstack_request_with_large_metadata_test.exe: build_libs $(OUT_DIR) + +chttp2_fullstack_request_with_large_metadata_test.exe: Debug\end2end_fixture_chttp2_fullstack.lib Debug\end2end_test_request_with_large_metadata.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_fullstack_request_with_large_metadata_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fullstack_request_with_large_metadata_test.exe" Debug\end2end_fixture_chttp2_fullstack.lib Debug\end2end_test_request_with_large_metadata.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_fullstack_request_with_large_metadata_test: chttp2_fullstack_request_with_large_metadata_test.exe echo Running chttp2_fullstack_request_with_large_metadata_test $(OUT_DIR)\chttp2_fullstack_request_with_large_metadata_test.exe -chttp2_fullstack_request_with_payload_test.exe: build_libs $(OUT_DIR) + +chttp2_fullstack_request_with_payload_test.exe: Debug\end2end_fixture_chttp2_fullstack.lib Debug\end2end_test_request_with_payload.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_fullstack_request_with_payload_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fullstack_request_with_payload_test.exe" Debug\end2end_fixture_chttp2_fullstack.lib Debug\end2end_test_request_with_payload.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_fullstack_request_with_payload_test: chttp2_fullstack_request_with_payload_test.exe echo Running chttp2_fullstack_request_with_payload_test $(OUT_DIR)\chttp2_fullstack_request_with_payload_test.exe -chttp2_fullstack_server_finishes_request_test.exe: build_libs $(OUT_DIR) + +chttp2_fullstack_server_finishes_request_test.exe: Debug\end2end_fixture_chttp2_fullstack.lib Debug\end2end_test_server_finishes_request.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_fullstack_server_finishes_request_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fullstack_server_finishes_request_test.exe" Debug\end2end_fixture_chttp2_fullstack.lib Debug\end2end_test_server_finishes_request.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_fullstack_server_finishes_request_test: chttp2_fullstack_server_finishes_request_test.exe echo Running chttp2_fullstack_server_finishes_request_test $(OUT_DIR)\chttp2_fullstack_server_finishes_request_test.exe -chttp2_fullstack_simple_delayed_request_test.exe: build_libs $(OUT_DIR) + +chttp2_fullstack_simple_delayed_request_test.exe: Debug\end2end_fixture_chttp2_fullstack.lib Debug\end2end_test_simple_delayed_request.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_fullstack_simple_delayed_request_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fullstack_simple_delayed_request_test.exe" Debug\end2end_fixture_chttp2_fullstack.lib Debug\end2end_test_simple_delayed_request.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_fullstack_simple_delayed_request_test: chttp2_fullstack_simple_delayed_request_test.exe echo Running chttp2_fullstack_simple_delayed_request_test $(OUT_DIR)\chttp2_fullstack_simple_delayed_request_test.exe -chttp2_fullstack_simple_request_test.exe: build_libs $(OUT_DIR) + +chttp2_fullstack_simple_request_test.exe: Debug\end2end_fixture_chttp2_fullstack.lib Debug\end2end_test_simple_request.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_fullstack_simple_request_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fullstack_simple_request_test.exe" Debug\end2end_fixture_chttp2_fullstack.lib Debug\end2end_test_simple_request.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_fullstack_simple_request_test: chttp2_fullstack_simple_request_test.exe echo Running chttp2_fullstack_simple_request_test $(OUT_DIR)\chttp2_fullstack_simple_request_test.exe -chttp2_fullstack_simple_request_with_high_initial_sequence_number_test.exe: build_libs $(OUT_DIR) + +chttp2_fullstack_simple_request_with_high_initial_sequence_number_test.exe: Debug\end2end_fixture_chttp2_fullstack.lib Debug\end2end_test_simple_request_with_high_initial_sequence_number.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_fullstack_simple_request_with_high_initial_sequence_number_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fullstack_simple_request_with_high_initial_sequence_number_test.exe" Debug\end2end_fixture_chttp2_fullstack.lib Debug\end2end_test_simple_request_with_high_initial_sequence_number.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_fullstack_simple_request_with_high_initial_sequence_number_test: chttp2_fullstack_simple_request_with_high_initial_sequence_number_test.exe echo Running chttp2_fullstack_simple_request_with_high_initial_sequence_number_test $(OUT_DIR)\chttp2_fullstack_simple_request_with_high_initial_sequence_number_test.exe -chttp2_fullstack_compression_bad_hostname_test.exe: build_libs $(OUT_DIR) + +chttp2_fullstack_compression_bad_hostname_test.exe: Debug\end2end_fixture_chttp2_fullstack_compression.lib Debug\end2end_test_bad_hostname.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_fullstack_compression_bad_hostname_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fullstack_compression_bad_hostname_test.exe" Debug\end2end_fixture_chttp2_fullstack_compression.lib Debug\end2end_test_bad_hostname.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_fullstack_compression_bad_hostname_test: chttp2_fullstack_compression_bad_hostname_test.exe echo Running chttp2_fullstack_compression_bad_hostname_test $(OUT_DIR)\chttp2_fullstack_compression_bad_hostname_test.exe -chttp2_fullstack_compression_cancel_after_accept_test.exe: build_libs $(OUT_DIR) + +chttp2_fullstack_compression_cancel_after_accept_test.exe: Debug\end2end_fixture_chttp2_fullstack_compression.lib Debug\end2end_test_cancel_after_accept.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_fullstack_compression_cancel_after_accept_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fullstack_compression_cancel_after_accept_test.exe" Debug\end2end_fixture_chttp2_fullstack_compression.lib Debug\end2end_test_cancel_after_accept.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_fullstack_compression_cancel_after_accept_test: chttp2_fullstack_compression_cancel_after_accept_test.exe echo Running chttp2_fullstack_compression_cancel_after_accept_test $(OUT_DIR)\chttp2_fullstack_compression_cancel_after_accept_test.exe -chttp2_fullstack_compression_cancel_after_accept_and_writes_closed_test.exe: build_libs $(OUT_DIR) + +chttp2_fullstack_compression_cancel_after_accept_and_writes_closed_test.exe: Debug\end2end_fixture_chttp2_fullstack_compression.lib Debug\end2end_test_cancel_after_accept_and_writes_closed.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_fullstack_compression_cancel_after_accept_and_writes_closed_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fullstack_compression_cancel_after_accept_and_writes_closed_test.exe" Debug\end2end_fixture_chttp2_fullstack_compression.lib Debug\end2end_test_cancel_after_accept_and_writes_closed.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_fullstack_compression_cancel_after_accept_and_writes_closed_test: chttp2_fullstack_compression_cancel_after_accept_and_writes_closed_test.exe echo Running chttp2_fullstack_compression_cancel_after_accept_and_writes_closed_test $(OUT_DIR)\chttp2_fullstack_compression_cancel_after_accept_and_writes_closed_test.exe -chttp2_fullstack_compression_cancel_after_invoke_test.exe: build_libs $(OUT_DIR) + +chttp2_fullstack_compression_cancel_after_invoke_test.exe: Debug\end2end_fixture_chttp2_fullstack_compression.lib Debug\end2end_test_cancel_after_invoke.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_fullstack_compression_cancel_after_invoke_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fullstack_compression_cancel_after_invoke_test.exe" Debug\end2end_fixture_chttp2_fullstack_compression.lib Debug\end2end_test_cancel_after_invoke.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_fullstack_compression_cancel_after_invoke_test: chttp2_fullstack_compression_cancel_after_invoke_test.exe echo Running chttp2_fullstack_compression_cancel_after_invoke_test $(OUT_DIR)\chttp2_fullstack_compression_cancel_after_invoke_test.exe -chttp2_fullstack_compression_cancel_before_invoke_test.exe: build_libs $(OUT_DIR) + +chttp2_fullstack_compression_cancel_before_invoke_test.exe: Debug\end2end_fixture_chttp2_fullstack_compression.lib Debug\end2end_test_cancel_before_invoke.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_fullstack_compression_cancel_before_invoke_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fullstack_compression_cancel_before_invoke_test.exe" Debug\end2end_fixture_chttp2_fullstack_compression.lib Debug\end2end_test_cancel_before_invoke.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_fullstack_compression_cancel_before_invoke_test: chttp2_fullstack_compression_cancel_before_invoke_test.exe echo Running chttp2_fullstack_compression_cancel_before_invoke_test $(OUT_DIR)\chttp2_fullstack_compression_cancel_before_invoke_test.exe -chttp2_fullstack_compression_cancel_in_a_vacuum_test.exe: build_libs $(OUT_DIR) + +chttp2_fullstack_compression_cancel_in_a_vacuum_test.exe: Debug\end2end_fixture_chttp2_fullstack_compression.lib Debug\end2end_test_cancel_in_a_vacuum.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_fullstack_compression_cancel_in_a_vacuum_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fullstack_compression_cancel_in_a_vacuum_test.exe" Debug\end2end_fixture_chttp2_fullstack_compression.lib Debug\end2end_test_cancel_in_a_vacuum.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_fullstack_compression_cancel_in_a_vacuum_test: chttp2_fullstack_compression_cancel_in_a_vacuum_test.exe echo Running chttp2_fullstack_compression_cancel_in_a_vacuum_test $(OUT_DIR)\chttp2_fullstack_compression_cancel_in_a_vacuum_test.exe -chttp2_fullstack_compression_census_simple_request_test.exe: build_libs $(OUT_DIR) + +chttp2_fullstack_compression_census_simple_request_test.exe: Debug\end2end_fixture_chttp2_fullstack_compression.lib Debug\end2end_test_census_simple_request.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_fullstack_compression_census_simple_request_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fullstack_compression_census_simple_request_test.exe" Debug\end2end_fixture_chttp2_fullstack_compression.lib Debug\end2end_test_census_simple_request.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_fullstack_compression_census_simple_request_test: chttp2_fullstack_compression_census_simple_request_test.exe echo Running chttp2_fullstack_compression_census_simple_request_test $(OUT_DIR)\chttp2_fullstack_compression_census_simple_request_test.exe -chttp2_fullstack_compression_channel_connectivity_test.exe: build_libs $(OUT_DIR) + +chttp2_fullstack_compression_channel_connectivity_test.exe: Debug\end2end_fixture_chttp2_fullstack_compression.lib Debug\end2end_test_channel_connectivity.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_fullstack_compression_channel_connectivity_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fullstack_compression_channel_connectivity_test.exe" Debug\end2end_fixture_chttp2_fullstack_compression.lib Debug\end2end_test_channel_connectivity.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_fullstack_compression_channel_connectivity_test: chttp2_fullstack_compression_channel_connectivity_test.exe echo Running chttp2_fullstack_compression_channel_connectivity_test $(OUT_DIR)\chttp2_fullstack_compression_channel_connectivity_test.exe -chttp2_fullstack_compression_default_host_test.exe: build_libs $(OUT_DIR) + +chttp2_fullstack_compression_default_host_test.exe: Debug\end2end_fixture_chttp2_fullstack_compression.lib Debug\end2end_test_default_host.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_fullstack_compression_default_host_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fullstack_compression_default_host_test.exe" Debug\end2end_fixture_chttp2_fullstack_compression.lib Debug\end2end_test_default_host.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_fullstack_compression_default_host_test: chttp2_fullstack_compression_default_host_test.exe echo Running chttp2_fullstack_compression_default_host_test $(OUT_DIR)\chttp2_fullstack_compression_default_host_test.exe -chttp2_fullstack_compression_disappearing_server_test.exe: build_libs $(OUT_DIR) + +chttp2_fullstack_compression_disappearing_server_test.exe: Debug\end2end_fixture_chttp2_fullstack_compression.lib Debug\end2end_test_disappearing_server.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_fullstack_compression_disappearing_server_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fullstack_compression_disappearing_server_test.exe" Debug\end2end_fixture_chttp2_fullstack_compression.lib Debug\end2end_test_disappearing_server.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_fullstack_compression_disappearing_server_test: chttp2_fullstack_compression_disappearing_server_test.exe echo Running chttp2_fullstack_compression_disappearing_server_test $(OUT_DIR)\chttp2_fullstack_compression_disappearing_server_test.exe -chttp2_fullstack_compression_early_server_shutdown_finishes_inflight_calls_test.exe: build_libs $(OUT_DIR) + +chttp2_fullstack_compression_early_server_shutdown_finishes_inflight_calls_test.exe: Debug\end2end_fixture_chttp2_fullstack_compression.lib Debug\end2end_test_early_server_shutdown_finishes_inflight_calls.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_fullstack_compression_early_server_shutdown_finishes_inflight_calls_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fullstack_compression_early_server_shutdown_finishes_inflight_calls_test.exe" Debug\end2end_fixture_chttp2_fullstack_compression.lib Debug\end2end_test_early_server_shutdown_finishes_inflight_calls.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_fullstack_compression_early_server_shutdown_finishes_inflight_calls_test: chttp2_fullstack_compression_early_server_shutdown_finishes_inflight_calls_test.exe echo Running chttp2_fullstack_compression_early_server_shutdown_finishes_inflight_calls_test $(OUT_DIR)\chttp2_fullstack_compression_early_server_shutdown_finishes_inflight_calls_test.exe -chttp2_fullstack_compression_early_server_shutdown_finishes_tags_test.exe: build_libs $(OUT_DIR) + +chttp2_fullstack_compression_early_server_shutdown_finishes_tags_test.exe: Debug\end2end_fixture_chttp2_fullstack_compression.lib Debug\end2end_test_early_server_shutdown_finishes_tags.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_fullstack_compression_early_server_shutdown_finishes_tags_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fullstack_compression_early_server_shutdown_finishes_tags_test.exe" Debug\end2end_fixture_chttp2_fullstack_compression.lib Debug\end2end_test_early_server_shutdown_finishes_tags.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_fullstack_compression_early_server_shutdown_finishes_tags_test: chttp2_fullstack_compression_early_server_shutdown_finishes_tags_test.exe echo Running chttp2_fullstack_compression_early_server_shutdown_finishes_tags_test $(OUT_DIR)\chttp2_fullstack_compression_early_server_shutdown_finishes_tags_test.exe -chttp2_fullstack_compression_empty_batch_test.exe: build_libs $(OUT_DIR) + +chttp2_fullstack_compression_empty_batch_test.exe: Debug\end2end_fixture_chttp2_fullstack_compression.lib Debug\end2end_test_empty_batch.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_fullstack_compression_empty_batch_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fullstack_compression_empty_batch_test.exe" Debug\end2end_fixture_chttp2_fullstack_compression.lib Debug\end2end_test_empty_batch.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_fullstack_compression_empty_batch_test: chttp2_fullstack_compression_empty_batch_test.exe echo Running chttp2_fullstack_compression_empty_batch_test $(OUT_DIR)\chttp2_fullstack_compression_empty_batch_test.exe -chttp2_fullstack_compression_graceful_server_shutdown_test.exe: build_libs $(OUT_DIR) + +chttp2_fullstack_compression_graceful_server_shutdown_test.exe: Debug\end2end_fixture_chttp2_fullstack_compression.lib Debug\end2end_test_graceful_server_shutdown.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_fullstack_compression_graceful_server_shutdown_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fullstack_compression_graceful_server_shutdown_test.exe" Debug\end2end_fixture_chttp2_fullstack_compression.lib Debug\end2end_test_graceful_server_shutdown.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_fullstack_compression_graceful_server_shutdown_test: chttp2_fullstack_compression_graceful_server_shutdown_test.exe echo Running chttp2_fullstack_compression_graceful_server_shutdown_test $(OUT_DIR)\chttp2_fullstack_compression_graceful_server_shutdown_test.exe -chttp2_fullstack_compression_invoke_large_request_test.exe: build_libs $(OUT_DIR) + +chttp2_fullstack_compression_invoke_large_request_test.exe: Debug\end2end_fixture_chttp2_fullstack_compression.lib Debug\end2end_test_invoke_large_request.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_fullstack_compression_invoke_large_request_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fullstack_compression_invoke_large_request_test.exe" Debug\end2end_fixture_chttp2_fullstack_compression.lib Debug\end2end_test_invoke_large_request.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_fullstack_compression_invoke_large_request_test: chttp2_fullstack_compression_invoke_large_request_test.exe echo Running chttp2_fullstack_compression_invoke_large_request_test $(OUT_DIR)\chttp2_fullstack_compression_invoke_large_request_test.exe -chttp2_fullstack_compression_max_concurrent_streams_test.exe: build_libs $(OUT_DIR) + +chttp2_fullstack_compression_max_concurrent_streams_test.exe: Debug\end2end_fixture_chttp2_fullstack_compression.lib Debug\end2end_test_max_concurrent_streams.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_fullstack_compression_max_concurrent_streams_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fullstack_compression_max_concurrent_streams_test.exe" Debug\end2end_fixture_chttp2_fullstack_compression.lib Debug\end2end_test_max_concurrent_streams.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_fullstack_compression_max_concurrent_streams_test: chttp2_fullstack_compression_max_concurrent_streams_test.exe echo Running chttp2_fullstack_compression_max_concurrent_streams_test $(OUT_DIR)\chttp2_fullstack_compression_max_concurrent_streams_test.exe -chttp2_fullstack_compression_max_message_length_test.exe: build_libs $(OUT_DIR) + +chttp2_fullstack_compression_max_message_length_test.exe: Debug\end2end_fixture_chttp2_fullstack_compression.lib Debug\end2end_test_max_message_length.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_fullstack_compression_max_message_length_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fullstack_compression_max_message_length_test.exe" Debug\end2end_fixture_chttp2_fullstack_compression.lib Debug\end2end_test_max_message_length.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_fullstack_compression_max_message_length_test: chttp2_fullstack_compression_max_message_length_test.exe echo Running chttp2_fullstack_compression_max_message_length_test $(OUT_DIR)\chttp2_fullstack_compression_max_message_length_test.exe -chttp2_fullstack_compression_no_op_test.exe: build_libs $(OUT_DIR) + +chttp2_fullstack_compression_no_op_test.exe: Debug\end2end_fixture_chttp2_fullstack_compression.lib Debug\end2end_test_no_op.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_fullstack_compression_no_op_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fullstack_compression_no_op_test.exe" Debug\end2end_fixture_chttp2_fullstack_compression.lib Debug\end2end_test_no_op.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_fullstack_compression_no_op_test: chttp2_fullstack_compression_no_op_test.exe echo Running chttp2_fullstack_compression_no_op_test $(OUT_DIR)\chttp2_fullstack_compression_no_op_test.exe -chttp2_fullstack_compression_ping_pong_streaming_test.exe: build_libs $(OUT_DIR) + +chttp2_fullstack_compression_ping_pong_streaming_test.exe: Debug\end2end_fixture_chttp2_fullstack_compression.lib Debug\end2end_test_ping_pong_streaming.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_fullstack_compression_ping_pong_streaming_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fullstack_compression_ping_pong_streaming_test.exe" Debug\end2end_fixture_chttp2_fullstack_compression.lib Debug\end2end_test_ping_pong_streaming.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_fullstack_compression_ping_pong_streaming_test: chttp2_fullstack_compression_ping_pong_streaming_test.exe echo Running chttp2_fullstack_compression_ping_pong_streaming_test $(OUT_DIR)\chttp2_fullstack_compression_ping_pong_streaming_test.exe -chttp2_fullstack_compression_registered_call_test.exe: build_libs $(OUT_DIR) + +chttp2_fullstack_compression_registered_call_test.exe: Debug\end2end_fixture_chttp2_fullstack_compression.lib Debug\end2end_test_registered_call.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_fullstack_compression_registered_call_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fullstack_compression_registered_call_test.exe" Debug\end2end_fixture_chttp2_fullstack_compression.lib Debug\end2end_test_registered_call.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_fullstack_compression_registered_call_test: chttp2_fullstack_compression_registered_call_test.exe echo Running chttp2_fullstack_compression_registered_call_test $(OUT_DIR)\chttp2_fullstack_compression_registered_call_test.exe -chttp2_fullstack_compression_request_response_with_binary_metadata_and_payload_test.exe: build_libs $(OUT_DIR) + +chttp2_fullstack_compression_request_response_with_binary_metadata_and_payload_test.exe: Debug\end2end_fixture_chttp2_fullstack_compression.lib Debug\end2end_test_request_response_with_binary_metadata_and_payload.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_fullstack_compression_request_response_with_binary_metadata_and_payload_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fullstack_compression_request_response_with_binary_metadata_and_payload_test.exe" Debug\end2end_fixture_chttp2_fullstack_compression.lib Debug\end2end_test_request_response_with_binary_metadata_and_payload.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_fullstack_compression_request_response_with_binary_metadata_and_payload_test: chttp2_fullstack_compression_request_response_with_binary_metadata_and_payload_test.exe echo Running chttp2_fullstack_compression_request_response_with_binary_metadata_and_payload_test $(OUT_DIR)\chttp2_fullstack_compression_request_response_with_binary_metadata_and_payload_test.exe -chttp2_fullstack_compression_request_response_with_metadata_and_payload_test.exe: build_libs $(OUT_DIR) + +chttp2_fullstack_compression_request_response_with_metadata_and_payload_test.exe: Debug\end2end_fixture_chttp2_fullstack_compression.lib Debug\end2end_test_request_response_with_metadata_and_payload.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_fullstack_compression_request_response_with_metadata_and_payload_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fullstack_compression_request_response_with_metadata_and_payload_test.exe" Debug\end2end_fixture_chttp2_fullstack_compression.lib Debug\end2end_test_request_response_with_metadata_and_payload.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_fullstack_compression_request_response_with_metadata_and_payload_test: chttp2_fullstack_compression_request_response_with_metadata_and_payload_test.exe echo Running chttp2_fullstack_compression_request_response_with_metadata_and_payload_test $(OUT_DIR)\chttp2_fullstack_compression_request_response_with_metadata_and_payload_test.exe -chttp2_fullstack_compression_request_response_with_payload_test.exe: build_libs $(OUT_DIR) + +chttp2_fullstack_compression_request_response_with_payload_test.exe: Debug\end2end_fixture_chttp2_fullstack_compression.lib Debug\end2end_test_request_response_with_payload.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_fullstack_compression_request_response_with_payload_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fullstack_compression_request_response_with_payload_test.exe" Debug\end2end_fixture_chttp2_fullstack_compression.lib Debug\end2end_test_request_response_with_payload.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_fullstack_compression_request_response_with_payload_test: chttp2_fullstack_compression_request_response_with_payload_test.exe echo Running chttp2_fullstack_compression_request_response_with_payload_test $(OUT_DIR)\chttp2_fullstack_compression_request_response_with_payload_test.exe -chttp2_fullstack_compression_request_response_with_payload_and_call_creds_test.exe: build_libs $(OUT_DIR) + +chttp2_fullstack_compression_request_response_with_payload_and_call_creds_test.exe: Debug\end2end_fixture_chttp2_fullstack_compression.lib Debug\end2end_test_request_response_with_payload_and_call_creds.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_fullstack_compression_request_response_with_payload_and_call_creds_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fullstack_compression_request_response_with_payload_and_call_creds_test.exe" Debug\end2end_fixture_chttp2_fullstack_compression.lib Debug\end2end_test_request_response_with_payload_and_call_creds.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_fullstack_compression_request_response_with_payload_and_call_creds_test: chttp2_fullstack_compression_request_response_with_payload_and_call_creds_test.exe echo Running chttp2_fullstack_compression_request_response_with_payload_and_call_creds_test $(OUT_DIR)\chttp2_fullstack_compression_request_response_with_payload_and_call_creds_test.exe -chttp2_fullstack_compression_request_response_with_trailing_metadata_and_payload_test.exe: build_libs $(OUT_DIR) + +chttp2_fullstack_compression_request_response_with_trailing_metadata_and_payload_test.exe: Debug\end2end_fixture_chttp2_fullstack_compression.lib Debug\end2end_test_request_response_with_trailing_metadata_and_payload.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_fullstack_compression_request_response_with_trailing_metadata_and_payload_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fullstack_compression_request_response_with_trailing_metadata_and_payload_test.exe" Debug\end2end_fixture_chttp2_fullstack_compression.lib Debug\end2end_test_request_response_with_trailing_metadata_and_payload.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_fullstack_compression_request_response_with_trailing_metadata_and_payload_test: chttp2_fullstack_compression_request_response_with_trailing_metadata_and_payload_test.exe echo Running chttp2_fullstack_compression_request_response_with_trailing_metadata_and_payload_test $(OUT_DIR)\chttp2_fullstack_compression_request_response_with_trailing_metadata_and_payload_test.exe -chttp2_fullstack_compression_request_with_compressed_payload_test.exe: build_libs $(OUT_DIR) + +chttp2_fullstack_compression_request_with_compressed_payload_test.exe: Debug\end2end_fixture_chttp2_fullstack_compression.lib Debug\end2end_test_request_with_compressed_payload.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_fullstack_compression_request_with_compressed_payload_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fullstack_compression_request_with_compressed_payload_test.exe" Debug\end2end_fixture_chttp2_fullstack_compression.lib Debug\end2end_test_request_with_compressed_payload.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_fullstack_compression_request_with_compressed_payload_test: chttp2_fullstack_compression_request_with_compressed_payload_test.exe echo Running chttp2_fullstack_compression_request_with_compressed_payload_test $(OUT_DIR)\chttp2_fullstack_compression_request_with_compressed_payload_test.exe -chttp2_fullstack_compression_request_with_flags_test.exe: build_libs $(OUT_DIR) + +chttp2_fullstack_compression_request_with_flags_test.exe: Debug\end2end_fixture_chttp2_fullstack_compression.lib Debug\end2end_test_request_with_flags.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_fullstack_compression_request_with_flags_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fullstack_compression_request_with_flags_test.exe" Debug\end2end_fixture_chttp2_fullstack_compression.lib Debug\end2end_test_request_with_flags.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_fullstack_compression_request_with_flags_test: chttp2_fullstack_compression_request_with_flags_test.exe echo Running chttp2_fullstack_compression_request_with_flags_test $(OUT_DIR)\chttp2_fullstack_compression_request_with_flags_test.exe -chttp2_fullstack_compression_request_with_large_metadata_test.exe: build_libs $(OUT_DIR) + +chttp2_fullstack_compression_request_with_large_metadata_test.exe: Debug\end2end_fixture_chttp2_fullstack_compression.lib Debug\end2end_test_request_with_large_metadata.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_fullstack_compression_request_with_large_metadata_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fullstack_compression_request_with_large_metadata_test.exe" Debug\end2end_fixture_chttp2_fullstack_compression.lib Debug\end2end_test_request_with_large_metadata.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_fullstack_compression_request_with_large_metadata_test: chttp2_fullstack_compression_request_with_large_metadata_test.exe echo Running chttp2_fullstack_compression_request_with_large_metadata_test $(OUT_DIR)\chttp2_fullstack_compression_request_with_large_metadata_test.exe -chttp2_fullstack_compression_request_with_payload_test.exe: build_libs $(OUT_DIR) + +chttp2_fullstack_compression_request_with_payload_test.exe: Debug\end2end_fixture_chttp2_fullstack_compression.lib Debug\end2end_test_request_with_payload.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_fullstack_compression_request_with_payload_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fullstack_compression_request_with_payload_test.exe" Debug\end2end_fixture_chttp2_fullstack_compression.lib Debug\end2end_test_request_with_payload.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_fullstack_compression_request_with_payload_test: chttp2_fullstack_compression_request_with_payload_test.exe echo Running chttp2_fullstack_compression_request_with_payload_test $(OUT_DIR)\chttp2_fullstack_compression_request_with_payload_test.exe -chttp2_fullstack_compression_server_finishes_request_test.exe: build_libs $(OUT_DIR) + +chttp2_fullstack_compression_server_finishes_request_test.exe: Debug\end2end_fixture_chttp2_fullstack_compression.lib Debug\end2end_test_server_finishes_request.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_fullstack_compression_server_finishes_request_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fullstack_compression_server_finishes_request_test.exe" Debug\end2end_fixture_chttp2_fullstack_compression.lib Debug\end2end_test_server_finishes_request.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_fullstack_compression_server_finishes_request_test: chttp2_fullstack_compression_server_finishes_request_test.exe echo Running chttp2_fullstack_compression_server_finishes_request_test $(OUT_DIR)\chttp2_fullstack_compression_server_finishes_request_test.exe -chttp2_fullstack_compression_simple_delayed_request_test.exe: build_libs $(OUT_DIR) + +chttp2_fullstack_compression_simple_delayed_request_test.exe: Debug\end2end_fixture_chttp2_fullstack_compression.lib Debug\end2end_test_simple_delayed_request.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_fullstack_compression_simple_delayed_request_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fullstack_compression_simple_delayed_request_test.exe" Debug\end2end_fixture_chttp2_fullstack_compression.lib Debug\end2end_test_simple_delayed_request.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_fullstack_compression_simple_delayed_request_test: chttp2_fullstack_compression_simple_delayed_request_test.exe echo Running chttp2_fullstack_compression_simple_delayed_request_test $(OUT_DIR)\chttp2_fullstack_compression_simple_delayed_request_test.exe -chttp2_fullstack_compression_simple_request_test.exe: build_libs $(OUT_DIR) + +chttp2_fullstack_compression_simple_request_test.exe: Debug\end2end_fixture_chttp2_fullstack_compression.lib Debug\end2end_test_simple_request.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_fullstack_compression_simple_request_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fullstack_compression_simple_request_test.exe" Debug\end2end_fixture_chttp2_fullstack_compression.lib Debug\end2end_test_simple_request.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_fullstack_compression_simple_request_test: chttp2_fullstack_compression_simple_request_test.exe echo Running chttp2_fullstack_compression_simple_request_test $(OUT_DIR)\chttp2_fullstack_compression_simple_request_test.exe -chttp2_fullstack_compression_simple_request_with_high_initial_sequence_number_test.exe: build_libs $(OUT_DIR) + +chttp2_fullstack_compression_simple_request_with_high_initial_sequence_number_test.exe: Debug\end2end_fixture_chttp2_fullstack_compression.lib Debug\end2end_test_simple_request_with_high_initial_sequence_number.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_fullstack_compression_simple_request_with_high_initial_sequence_number_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fullstack_compression_simple_request_with_high_initial_sequence_number_test.exe" Debug\end2end_fixture_chttp2_fullstack_compression.lib Debug\end2end_test_simple_request_with_high_initial_sequence_number.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_fullstack_compression_simple_request_with_high_initial_sequence_number_test: chttp2_fullstack_compression_simple_request_with_high_initial_sequence_number_test.exe echo Running chttp2_fullstack_compression_simple_request_with_high_initial_sequence_number_test $(OUT_DIR)\chttp2_fullstack_compression_simple_request_with_high_initial_sequence_number_test.exe -chttp2_simple_ssl_fullstack_bad_hostname_test.exe: build_libs $(OUT_DIR) + +chttp2_simple_ssl_fullstack_bad_hostname_test.exe: Debug\end2end_fixture_chttp2_simple_ssl_fullstack.lib Debug\end2end_test_bad_hostname.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_simple_ssl_fullstack_bad_hostname_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_simple_ssl_fullstack_bad_hostname_test.exe" Debug\end2end_fixture_chttp2_simple_ssl_fullstack.lib Debug\end2end_test_bad_hostname.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_simple_ssl_fullstack_bad_hostname_test: chttp2_simple_ssl_fullstack_bad_hostname_test.exe echo Running chttp2_simple_ssl_fullstack_bad_hostname_test $(OUT_DIR)\chttp2_simple_ssl_fullstack_bad_hostname_test.exe -chttp2_simple_ssl_fullstack_cancel_after_accept_test.exe: build_libs $(OUT_DIR) + +chttp2_simple_ssl_fullstack_cancel_after_accept_test.exe: Debug\end2end_fixture_chttp2_simple_ssl_fullstack.lib Debug\end2end_test_cancel_after_accept.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_simple_ssl_fullstack_cancel_after_accept_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_simple_ssl_fullstack_cancel_after_accept_test.exe" Debug\end2end_fixture_chttp2_simple_ssl_fullstack.lib Debug\end2end_test_cancel_after_accept.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_simple_ssl_fullstack_cancel_after_accept_test: chttp2_simple_ssl_fullstack_cancel_after_accept_test.exe echo Running chttp2_simple_ssl_fullstack_cancel_after_accept_test $(OUT_DIR)\chttp2_simple_ssl_fullstack_cancel_after_accept_test.exe -chttp2_simple_ssl_fullstack_cancel_after_accept_and_writes_closed_test.exe: build_libs $(OUT_DIR) + +chttp2_simple_ssl_fullstack_cancel_after_accept_and_writes_closed_test.exe: Debug\end2end_fixture_chttp2_simple_ssl_fullstack.lib Debug\end2end_test_cancel_after_accept_and_writes_closed.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_simple_ssl_fullstack_cancel_after_accept_and_writes_closed_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_simple_ssl_fullstack_cancel_after_accept_and_writes_closed_test.exe" Debug\end2end_fixture_chttp2_simple_ssl_fullstack.lib Debug\end2end_test_cancel_after_accept_and_writes_closed.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_simple_ssl_fullstack_cancel_after_accept_and_writes_closed_test: chttp2_simple_ssl_fullstack_cancel_after_accept_and_writes_closed_test.exe echo Running chttp2_simple_ssl_fullstack_cancel_after_accept_and_writes_closed_test $(OUT_DIR)\chttp2_simple_ssl_fullstack_cancel_after_accept_and_writes_closed_test.exe -chttp2_simple_ssl_fullstack_cancel_after_invoke_test.exe: build_libs $(OUT_DIR) + +chttp2_simple_ssl_fullstack_cancel_after_invoke_test.exe: Debug\end2end_fixture_chttp2_simple_ssl_fullstack.lib Debug\end2end_test_cancel_after_invoke.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_simple_ssl_fullstack_cancel_after_invoke_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_simple_ssl_fullstack_cancel_after_invoke_test.exe" Debug\end2end_fixture_chttp2_simple_ssl_fullstack.lib Debug\end2end_test_cancel_after_invoke.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_simple_ssl_fullstack_cancel_after_invoke_test: chttp2_simple_ssl_fullstack_cancel_after_invoke_test.exe echo Running chttp2_simple_ssl_fullstack_cancel_after_invoke_test $(OUT_DIR)\chttp2_simple_ssl_fullstack_cancel_after_invoke_test.exe -chttp2_simple_ssl_fullstack_cancel_before_invoke_test.exe: build_libs $(OUT_DIR) + +chttp2_simple_ssl_fullstack_cancel_before_invoke_test.exe: Debug\end2end_fixture_chttp2_simple_ssl_fullstack.lib Debug\end2end_test_cancel_before_invoke.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_simple_ssl_fullstack_cancel_before_invoke_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_simple_ssl_fullstack_cancel_before_invoke_test.exe" Debug\end2end_fixture_chttp2_simple_ssl_fullstack.lib Debug\end2end_test_cancel_before_invoke.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_simple_ssl_fullstack_cancel_before_invoke_test: chttp2_simple_ssl_fullstack_cancel_before_invoke_test.exe echo Running chttp2_simple_ssl_fullstack_cancel_before_invoke_test $(OUT_DIR)\chttp2_simple_ssl_fullstack_cancel_before_invoke_test.exe -chttp2_simple_ssl_fullstack_cancel_in_a_vacuum_test.exe: build_libs $(OUT_DIR) + +chttp2_simple_ssl_fullstack_cancel_in_a_vacuum_test.exe: Debug\end2end_fixture_chttp2_simple_ssl_fullstack.lib Debug\end2end_test_cancel_in_a_vacuum.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_simple_ssl_fullstack_cancel_in_a_vacuum_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_simple_ssl_fullstack_cancel_in_a_vacuum_test.exe" Debug\end2end_fixture_chttp2_simple_ssl_fullstack.lib Debug\end2end_test_cancel_in_a_vacuum.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_simple_ssl_fullstack_cancel_in_a_vacuum_test: chttp2_simple_ssl_fullstack_cancel_in_a_vacuum_test.exe echo Running chttp2_simple_ssl_fullstack_cancel_in_a_vacuum_test $(OUT_DIR)\chttp2_simple_ssl_fullstack_cancel_in_a_vacuum_test.exe -chttp2_simple_ssl_fullstack_census_simple_request_test.exe: build_libs $(OUT_DIR) + +chttp2_simple_ssl_fullstack_census_simple_request_test.exe: Debug\end2end_fixture_chttp2_simple_ssl_fullstack.lib Debug\end2end_test_census_simple_request.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_simple_ssl_fullstack_census_simple_request_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_simple_ssl_fullstack_census_simple_request_test.exe" Debug\end2end_fixture_chttp2_simple_ssl_fullstack.lib Debug\end2end_test_census_simple_request.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_simple_ssl_fullstack_census_simple_request_test: chttp2_simple_ssl_fullstack_census_simple_request_test.exe echo Running chttp2_simple_ssl_fullstack_census_simple_request_test $(OUT_DIR)\chttp2_simple_ssl_fullstack_census_simple_request_test.exe -chttp2_simple_ssl_fullstack_channel_connectivity_test.exe: build_libs $(OUT_DIR) + +chttp2_simple_ssl_fullstack_channel_connectivity_test.exe: Debug\end2end_fixture_chttp2_simple_ssl_fullstack.lib Debug\end2end_test_channel_connectivity.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_simple_ssl_fullstack_channel_connectivity_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_simple_ssl_fullstack_channel_connectivity_test.exe" Debug\end2end_fixture_chttp2_simple_ssl_fullstack.lib Debug\end2end_test_channel_connectivity.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_simple_ssl_fullstack_channel_connectivity_test: chttp2_simple_ssl_fullstack_channel_connectivity_test.exe echo Running chttp2_simple_ssl_fullstack_channel_connectivity_test $(OUT_DIR)\chttp2_simple_ssl_fullstack_channel_connectivity_test.exe -chttp2_simple_ssl_fullstack_default_host_test.exe: build_libs $(OUT_DIR) + +chttp2_simple_ssl_fullstack_default_host_test.exe: Debug\end2end_fixture_chttp2_simple_ssl_fullstack.lib Debug\end2end_test_default_host.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_simple_ssl_fullstack_default_host_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_simple_ssl_fullstack_default_host_test.exe" Debug\end2end_fixture_chttp2_simple_ssl_fullstack.lib Debug\end2end_test_default_host.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_simple_ssl_fullstack_default_host_test: chttp2_simple_ssl_fullstack_default_host_test.exe echo Running chttp2_simple_ssl_fullstack_default_host_test $(OUT_DIR)\chttp2_simple_ssl_fullstack_default_host_test.exe -chttp2_simple_ssl_fullstack_disappearing_server_test.exe: build_libs $(OUT_DIR) + +chttp2_simple_ssl_fullstack_disappearing_server_test.exe: Debug\end2end_fixture_chttp2_simple_ssl_fullstack.lib Debug\end2end_test_disappearing_server.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_simple_ssl_fullstack_disappearing_server_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_simple_ssl_fullstack_disappearing_server_test.exe" Debug\end2end_fixture_chttp2_simple_ssl_fullstack.lib Debug\end2end_test_disappearing_server.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_simple_ssl_fullstack_disappearing_server_test: chttp2_simple_ssl_fullstack_disappearing_server_test.exe echo Running chttp2_simple_ssl_fullstack_disappearing_server_test $(OUT_DIR)\chttp2_simple_ssl_fullstack_disappearing_server_test.exe -chttp2_simple_ssl_fullstack_early_server_shutdown_finishes_inflight_calls_test.exe: build_libs $(OUT_DIR) + +chttp2_simple_ssl_fullstack_early_server_shutdown_finishes_inflight_calls_test.exe: Debug\end2end_fixture_chttp2_simple_ssl_fullstack.lib Debug\end2end_test_early_server_shutdown_finishes_inflight_calls.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_simple_ssl_fullstack_early_server_shutdown_finishes_inflight_calls_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_simple_ssl_fullstack_early_server_shutdown_finishes_inflight_calls_test.exe" Debug\end2end_fixture_chttp2_simple_ssl_fullstack.lib Debug\end2end_test_early_server_shutdown_finishes_inflight_calls.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_simple_ssl_fullstack_early_server_shutdown_finishes_inflight_calls_test: chttp2_simple_ssl_fullstack_early_server_shutdown_finishes_inflight_calls_test.exe echo Running chttp2_simple_ssl_fullstack_early_server_shutdown_finishes_inflight_calls_test $(OUT_DIR)\chttp2_simple_ssl_fullstack_early_server_shutdown_finishes_inflight_calls_test.exe -chttp2_simple_ssl_fullstack_early_server_shutdown_finishes_tags_test.exe: build_libs $(OUT_DIR) + +chttp2_simple_ssl_fullstack_early_server_shutdown_finishes_tags_test.exe: Debug\end2end_fixture_chttp2_simple_ssl_fullstack.lib Debug\end2end_test_early_server_shutdown_finishes_tags.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_simple_ssl_fullstack_early_server_shutdown_finishes_tags_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_simple_ssl_fullstack_early_server_shutdown_finishes_tags_test.exe" Debug\end2end_fixture_chttp2_simple_ssl_fullstack.lib Debug\end2end_test_early_server_shutdown_finishes_tags.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_simple_ssl_fullstack_early_server_shutdown_finishes_tags_test: chttp2_simple_ssl_fullstack_early_server_shutdown_finishes_tags_test.exe echo Running chttp2_simple_ssl_fullstack_early_server_shutdown_finishes_tags_test $(OUT_DIR)\chttp2_simple_ssl_fullstack_early_server_shutdown_finishes_tags_test.exe -chttp2_simple_ssl_fullstack_empty_batch_test.exe: build_libs $(OUT_DIR) + +chttp2_simple_ssl_fullstack_empty_batch_test.exe: Debug\end2end_fixture_chttp2_simple_ssl_fullstack.lib Debug\end2end_test_empty_batch.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_simple_ssl_fullstack_empty_batch_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_simple_ssl_fullstack_empty_batch_test.exe" Debug\end2end_fixture_chttp2_simple_ssl_fullstack.lib Debug\end2end_test_empty_batch.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_simple_ssl_fullstack_empty_batch_test: chttp2_simple_ssl_fullstack_empty_batch_test.exe echo Running chttp2_simple_ssl_fullstack_empty_batch_test $(OUT_DIR)\chttp2_simple_ssl_fullstack_empty_batch_test.exe -chttp2_simple_ssl_fullstack_graceful_server_shutdown_test.exe: build_libs $(OUT_DIR) + +chttp2_simple_ssl_fullstack_graceful_server_shutdown_test.exe: Debug\end2end_fixture_chttp2_simple_ssl_fullstack.lib Debug\end2end_test_graceful_server_shutdown.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_simple_ssl_fullstack_graceful_server_shutdown_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_simple_ssl_fullstack_graceful_server_shutdown_test.exe" Debug\end2end_fixture_chttp2_simple_ssl_fullstack.lib Debug\end2end_test_graceful_server_shutdown.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_simple_ssl_fullstack_graceful_server_shutdown_test: chttp2_simple_ssl_fullstack_graceful_server_shutdown_test.exe echo Running chttp2_simple_ssl_fullstack_graceful_server_shutdown_test $(OUT_DIR)\chttp2_simple_ssl_fullstack_graceful_server_shutdown_test.exe -chttp2_simple_ssl_fullstack_invoke_large_request_test.exe: build_libs $(OUT_DIR) + +chttp2_simple_ssl_fullstack_invoke_large_request_test.exe: Debug\end2end_fixture_chttp2_simple_ssl_fullstack.lib Debug\end2end_test_invoke_large_request.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_simple_ssl_fullstack_invoke_large_request_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_simple_ssl_fullstack_invoke_large_request_test.exe" Debug\end2end_fixture_chttp2_simple_ssl_fullstack.lib Debug\end2end_test_invoke_large_request.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_simple_ssl_fullstack_invoke_large_request_test: chttp2_simple_ssl_fullstack_invoke_large_request_test.exe echo Running chttp2_simple_ssl_fullstack_invoke_large_request_test $(OUT_DIR)\chttp2_simple_ssl_fullstack_invoke_large_request_test.exe -chttp2_simple_ssl_fullstack_max_concurrent_streams_test.exe: build_libs $(OUT_DIR) + +chttp2_simple_ssl_fullstack_max_concurrent_streams_test.exe: Debug\end2end_fixture_chttp2_simple_ssl_fullstack.lib Debug\end2end_test_max_concurrent_streams.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_simple_ssl_fullstack_max_concurrent_streams_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_simple_ssl_fullstack_max_concurrent_streams_test.exe" Debug\end2end_fixture_chttp2_simple_ssl_fullstack.lib Debug\end2end_test_max_concurrent_streams.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_simple_ssl_fullstack_max_concurrent_streams_test: chttp2_simple_ssl_fullstack_max_concurrent_streams_test.exe echo Running chttp2_simple_ssl_fullstack_max_concurrent_streams_test $(OUT_DIR)\chttp2_simple_ssl_fullstack_max_concurrent_streams_test.exe -chttp2_simple_ssl_fullstack_max_message_length_test.exe: build_libs $(OUT_DIR) + +chttp2_simple_ssl_fullstack_max_message_length_test.exe: Debug\end2end_fixture_chttp2_simple_ssl_fullstack.lib Debug\end2end_test_max_message_length.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_simple_ssl_fullstack_max_message_length_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_simple_ssl_fullstack_max_message_length_test.exe" Debug\end2end_fixture_chttp2_simple_ssl_fullstack.lib Debug\end2end_test_max_message_length.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_simple_ssl_fullstack_max_message_length_test: chttp2_simple_ssl_fullstack_max_message_length_test.exe echo Running chttp2_simple_ssl_fullstack_max_message_length_test $(OUT_DIR)\chttp2_simple_ssl_fullstack_max_message_length_test.exe -chttp2_simple_ssl_fullstack_no_op_test.exe: build_libs $(OUT_DIR) + +chttp2_simple_ssl_fullstack_no_op_test.exe: Debug\end2end_fixture_chttp2_simple_ssl_fullstack.lib Debug\end2end_test_no_op.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_simple_ssl_fullstack_no_op_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_simple_ssl_fullstack_no_op_test.exe" Debug\end2end_fixture_chttp2_simple_ssl_fullstack.lib Debug\end2end_test_no_op.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_simple_ssl_fullstack_no_op_test: chttp2_simple_ssl_fullstack_no_op_test.exe echo Running chttp2_simple_ssl_fullstack_no_op_test $(OUT_DIR)\chttp2_simple_ssl_fullstack_no_op_test.exe -chttp2_simple_ssl_fullstack_ping_pong_streaming_test.exe: build_libs $(OUT_DIR) + +chttp2_simple_ssl_fullstack_ping_pong_streaming_test.exe: Debug\end2end_fixture_chttp2_simple_ssl_fullstack.lib Debug\end2end_test_ping_pong_streaming.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_simple_ssl_fullstack_ping_pong_streaming_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_simple_ssl_fullstack_ping_pong_streaming_test.exe" Debug\end2end_fixture_chttp2_simple_ssl_fullstack.lib Debug\end2end_test_ping_pong_streaming.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_simple_ssl_fullstack_ping_pong_streaming_test: chttp2_simple_ssl_fullstack_ping_pong_streaming_test.exe echo Running chttp2_simple_ssl_fullstack_ping_pong_streaming_test $(OUT_DIR)\chttp2_simple_ssl_fullstack_ping_pong_streaming_test.exe -chttp2_simple_ssl_fullstack_registered_call_test.exe: build_libs $(OUT_DIR) + +chttp2_simple_ssl_fullstack_registered_call_test.exe: Debug\end2end_fixture_chttp2_simple_ssl_fullstack.lib Debug\end2end_test_registered_call.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_simple_ssl_fullstack_registered_call_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_simple_ssl_fullstack_registered_call_test.exe" Debug\end2end_fixture_chttp2_simple_ssl_fullstack.lib Debug\end2end_test_registered_call.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_simple_ssl_fullstack_registered_call_test: chttp2_simple_ssl_fullstack_registered_call_test.exe echo Running chttp2_simple_ssl_fullstack_registered_call_test $(OUT_DIR)\chttp2_simple_ssl_fullstack_registered_call_test.exe -chttp2_simple_ssl_fullstack_request_response_with_binary_metadata_and_payload_test.exe: build_libs $(OUT_DIR) + +chttp2_simple_ssl_fullstack_request_response_with_binary_metadata_and_payload_test.exe: Debug\end2end_fixture_chttp2_simple_ssl_fullstack.lib Debug\end2end_test_request_response_with_binary_metadata_and_payload.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_simple_ssl_fullstack_request_response_with_binary_metadata_and_payload_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_simple_ssl_fullstack_request_response_with_binary_metadata_and_payload_test.exe" Debug\end2end_fixture_chttp2_simple_ssl_fullstack.lib Debug\end2end_test_request_response_with_binary_metadata_and_payload.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_simple_ssl_fullstack_request_response_with_binary_metadata_and_payload_test: chttp2_simple_ssl_fullstack_request_response_with_binary_metadata_and_payload_test.exe echo Running chttp2_simple_ssl_fullstack_request_response_with_binary_metadata_and_payload_test $(OUT_DIR)\chttp2_simple_ssl_fullstack_request_response_with_binary_metadata_and_payload_test.exe -chttp2_simple_ssl_fullstack_request_response_with_metadata_and_payload_test.exe: build_libs $(OUT_DIR) + +chttp2_simple_ssl_fullstack_request_response_with_metadata_and_payload_test.exe: Debug\end2end_fixture_chttp2_simple_ssl_fullstack.lib Debug\end2end_test_request_response_with_metadata_and_payload.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_simple_ssl_fullstack_request_response_with_metadata_and_payload_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_simple_ssl_fullstack_request_response_with_metadata_and_payload_test.exe" Debug\end2end_fixture_chttp2_simple_ssl_fullstack.lib Debug\end2end_test_request_response_with_metadata_and_payload.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_simple_ssl_fullstack_request_response_with_metadata_and_payload_test: chttp2_simple_ssl_fullstack_request_response_with_metadata_and_payload_test.exe echo Running chttp2_simple_ssl_fullstack_request_response_with_metadata_and_payload_test $(OUT_DIR)\chttp2_simple_ssl_fullstack_request_response_with_metadata_and_payload_test.exe -chttp2_simple_ssl_fullstack_request_response_with_payload_test.exe: build_libs $(OUT_DIR) + +chttp2_simple_ssl_fullstack_request_response_with_payload_test.exe: Debug\end2end_fixture_chttp2_simple_ssl_fullstack.lib Debug\end2end_test_request_response_with_payload.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_simple_ssl_fullstack_request_response_with_payload_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_simple_ssl_fullstack_request_response_with_payload_test.exe" Debug\end2end_fixture_chttp2_simple_ssl_fullstack.lib Debug\end2end_test_request_response_with_payload.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_simple_ssl_fullstack_request_response_with_payload_test: chttp2_simple_ssl_fullstack_request_response_with_payload_test.exe echo Running chttp2_simple_ssl_fullstack_request_response_with_payload_test $(OUT_DIR)\chttp2_simple_ssl_fullstack_request_response_with_payload_test.exe -chttp2_simple_ssl_fullstack_request_response_with_payload_and_call_creds_test.exe: build_libs $(OUT_DIR) + +chttp2_simple_ssl_fullstack_request_response_with_payload_and_call_creds_test.exe: Debug\end2end_fixture_chttp2_simple_ssl_fullstack.lib Debug\end2end_test_request_response_with_payload_and_call_creds.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_simple_ssl_fullstack_request_response_with_payload_and_call_creds_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_simple_ssl_fullstack_request_response_with_payload_and_call_creds_test.exe" Debug\end2end_fixture_chttp2_simple_ssl_fullstack.lib Debug\end2end_test_request_response_with_payload_and_call_creds.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_simple_ssl_fullstack_request_response_with_payload_and_call_creds_test: chttp2_simple_ssl_fullstack_request_response_with_payload_and_call_creds_test.exe echo Running chttp2_simple_ssl_fullstack_request_response_with_payload_and_call_creds_test $(OUT_DIR)\chttp2_simple_ssl_fullstack_request_response_with_payload_and_call_creds_test.exe -chttp2_simple_ssl_fullstack_request_response_with_trailing_metadata_and_payload_test.exe: build_libs $(OUT_DIR) + +chttp2_simple_ssl_fullstack_request_response_with_trailing_metadata_and_payload_test.exe: Debug\end2end_fixture_chttp2_simple_ssl_fullstack.lib Debug\end2end_test_request_response_with_trailing_metadata_and_payload.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_simple_ssl_fullstack_request_response_with_trailing_metadata_and_payload_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_simple_ssl_fullstack_request_response_with_trailing_metadata_and_payload_test.exe" Debug\end2end_fixture_chttp2_simple_ssl_fullstack.lib Debug\end2end_test_request_response_with_trailing_metadata_and_payload.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_simple_ssl_fullstack_request_response_with_trailing_metadata_and_payload_test: chttp2_simple_ssl_fullstack_request_response_with_trailing_metadata_and_payload_test.exe echo Running chttp2_simple_ssl_fullstack_request_response_with_trailing_metadata_and_payload_test $(OUT_DIR)\chttp2_simple_ssl_fullstack_request_response_with_trailing_metadata_and_payload_test.exe -chttp2_simple_ssl_fullstack_request_with_compressed_payload_test.exe: build_libs $(OUT_DIR) + +chttp2_simple_ssl_fullstack_request_with_compressed_payload_test.exe: Debug\end2end_fixture_chttp2_simple_ssl_fullstack.lib Debug\end2end_test_request_with_compressed_payload.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_simple_ssl_fullstack_request_with_compressed_payload_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_simple_ssl_fullstack_request_with_compressed_payload_test.exe" Debug\end2end_fixture_chttp2_simple_ssl_fullstack.lib Debug\end2end_test_request_with_compressed_payload.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_simple_ssl_fullstack_request_with_compressed_payload_test: chttp2_simple_ssl_fullstack_request_with_compressed_payload_test.exe echo Running chttp2_simple_ssl_fullstack_request_with_compressed_payload_test $(OUT_DIR)\chttp2_simple_ssl_fullstack_request_with_compressed_payload_test.exe -chttp2_simple_ssl_fullstack_request_with_flags_test.exe: build_libs $(OUT_DIR) + +chttp2_simple_ssl_fullstack_request_with_flags_test.exe: Debug\end2end_fixture_chttp2_simple_ssl_fullstack.lib Debug\end2end_test_request_with_flags.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_simple_ssl_fullstack_request_with_flags_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_simple_ssl_fullstack_request_with_flags_test.exe" Debug\end2end_fixture_chttp2_simple_ssl_fullstack.lib Debug\end2end_test_request_with_flags.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_simple_ssl_fullstack_request_with_flags_test: chttp2_simple_ssl_fullstack_request_with_flags_test.exe echo Running chttp2_simple_ssl_fullstack_request_with_flags_test $(OUT_DIR)\chttp2_simple_ssl_fullstack_request_with_flags_test.exe -chttp2_simple_ssl_fullstack_request_with_large_metadata_test.exe: build_libs $(OUT_DIR) + +chttp2_simple_ssl_fullstack_request_with_large_metadata_test.exe: Debug\end2end_fixture_chttp2_simple_ssl_fullstack.lib Debug\end2end_test_request_with_large_metadata.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_simple_ssl_fullstack_request_with_large_metadata_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_simple_ssl_fullstack_request_with_large_metadata_test.exe" Debug\end2end_fixture_chttp2_simple_ssl_fullstack.lib Debug\end2end_test_request_with_large_metadata.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_simple_ssl_fullstack_request_with_large_metadata_test: chttp2_simple_ssl_fullstack_request_with_large_metadata_test.exe echo Running chttp2_simple_ssl_fullstack_request_with_large_metadata_test $(OUT_DIR)\chttp2_simple_ssl_fullstack_request_with_large_metadata_test.exe -chttp2_simple_ssl_fullstack_request_with_payload_test.exe: build_libs $(OUT_DIR) + +chttp2_simple_ssl_fullstack_request_with_payload_test.exe: Debug\end2end_fixture_chttp2_simple_ssl_fullstack.lib Debug\end2end_test_request_with_payload.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_simple_ssl_fullstack_request_with_payload_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_simple_ssl_fullstack_request_with_payload_test.exe" Debug\end2end_fixture_chttp2_simple_ssl_fullstack.lib Debug\end2end_test_request_with_payload.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_simple_ssl_fullstack_request_with_payload_test: chttp2_simple_ssl_fullstack_request_with_payload_test.exe echo Running chttp2_simple_ssl_fullstack_request_with_payload_test $(OUT_DIR)\chttp2_simple_ssl_fullstack_request_with_payload_test.exe -chttp2_simple_ssl_fullstack_server_finishes_request_test.exe: build_libs $(OUT_DIR) + +chttp2_simple_ssl_fullstack_server_finishes_request_test.exe: Debug\end2end_fixture_chttp2_simple_ssl_fullstack.lib Debug\end2end_test_server_finishes_request.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_simple_ssl_fullstack_server_finishes_request_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_simple_ssl_fullstack_server_finishes_request_test.exe" Debug\end2end_fixture_chttp2_simple_ssl_fullstack.lib Debug\end2end_test_server_finishes_request.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_simple_ssl_fullstack_server_finishes_request_test: chttp2_simple_ssl_fullstack_server_finishes_request_test.exe echo Running chttp2_simple_ssl_fullstack_server_finishes_request_test $(OUT_DIR)\chttp2_simple_ssl_fullstack_server_finishes_request_test.exe -chttp2_simple_ssl_fullstack_simple_delayed_request_test.exe: build_libs $(OUT_DIR) + +chttp2_simple_ssl_fullstack_simple_delayed_request_test.exe: Debug\end2end_fixture_chttp2_simple_ssl_fullstack.lib Debug\end2end_test_simple_delayed_request.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_simple_ssl_fullstack_simple_delayed_request_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_simple_ssl_fullstack_simple_delayed_request_test.exe" Debug\end2end_fixture_chttp2_simple_ssl_fullstack.lib Debug\end2end_test_simple_delayed_request.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_simple_ssl_fullstack_simple_delayed_request_test: chttp2_simple_ssl_fullstack_simple_delayed_request_test.exe echo Running chttp2_simple_ssl_fullstack_simple_delayed_request_test $(OUT_DIR)\chttp2_simple_ssl_fullstack_simple_delayed_request_test.exe -chttp2_simple_ssl_fullstack_simple_request_test.exe: build_libs $(OUT_DIR) + +chttp2_simple_ssl_fullstack_simple_request_test.exe: Debug\end2end_fixture_chttp2_simple_ssl_fullstack.lib Debug\end2end_test_simple_request.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_simple_ssl_fullstack_simple_request_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_simple_ssl_fullstack_simple_request_test.exe" Debug\end2end_fixture_chttp2_simple_ssl_fullstack.lib Debug\end2end_test_simple_request.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_simple_ssl_fullstack_simple_request_test: chttp2_simple_ssl_fullstack_simple_request_test.exe echo Running chttp2_simple_ssl_fullstack_simple_request_test $(OUT_DIR)\chttp2_simple_ssl_fullstack_simple_request_test.exe -chttp2_simple_ssl_fullstack_simple_request_with_high_initial_sequence_number_test.exe: build_libs $(OUT_DIR) + +chttp2_simple_ssl_fullstack_simple_request_with_high_initial_sequence_number_test.exe: Debug\end2end_fixture_chttp2_simple_ssl_fullstack.lib Debug\end2end_test_simple_request_with_high_initial_sequence_number.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_simple_ssl_fullstack_simple_request_with_high_initial_sequence_number_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_simple_ssl_fullstack_simple_request_with_high_initial_sequence_number_test.exe" Debug\end2end_fixture_chttp2_simple_ssl_fullstack.lib Debug\end2end_test_simple_request_with_high_initial_sequence_number.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_simple_ssl_fullstack_simple_request_with_high_initial_sequence_number_test: chttp2_simple_ssl_fullstack_simple_request_with_high_initial_sequence_number_test.exe echo Running chttp2_simple_ssl_fullstack_simple_request_with_high_initial_sequence_number_test $(OUT_DIR)\chttp2_simple_ssl_fullstack_simple_request_with_high_initial_sequence_number_test.exe -chttp2_simple_ssl_with_oauth2_fullstack_bad_hostname_test.exe: build_libs $(OUT_DIR) + +chttp2_simple_ssl_with_oauth2_fullstack_bad_hostname_test.exe: Debug\end2end_fixture_chttp2_simple_ssl_with_oauth2_fullstack.lib Debug\end2end_test_bad_hostname.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_simple_ssl_with_oauth2_fullstack_bad_hostname_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_simple_ssl_with_oauth2_fullstack_bad_hostname_test.exe" Debug\end2end_fixture_chttp2_simple_ssl_with_oauth2_fullstack.lib Debug\end2end_test_bad_hostname.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_simple_ssl_with_oauth2_fullstack_bad_hostname_test: chttp2_simple_ssl_with_oauth2_fullstack_bad_hostname_test.exe echo Running chttp2_simple_ssl_with_oauth2_fullstack_bad_hostname_test $(OUT_DIR)\chttp2_simple_ssl_with_oauth2_fullstack_bad_hostname_test.exe -chttp2_simple_ssl_with_oauth2_fullstack_cancel_after_accept_test.exe: build_libs $(OUT_DIR) + +chttp2_simple_ssl_with_oauth2_fullstack_cancel_after_accept_test.exe: Debug\end2end_fixture_chttp2_simple_ssl_with_oauth2_fullstack.lib Debug\end2end_test_cancel_after_accept.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_simple_ssl_with_oauth2_fullstack_cancel_after_accept_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_simple_ssl_with_oauth2_fullstack_cancel_after_accept_test.exe" Debug\end2end_fixture_chttp2_simple_ssl_with_oauth2_fullstack.lib Debug\end2end_test_cancel_after_accept.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_simple_ssl_with_oauth2_fullstack_cancel_after_accept_test: chttp2_simple_ssl_with_oauth2_fullstack_cancel_after_accept_test.exe echo Running chttp2_simple_ssl_with_oauth2_fullstack_cancel_after_accept_test $(OUT_DIR)\chttp2_simple_ssl_with_oauth2_fullstack_cancel_after_accept_test.exe -chttp2_simple_ssl_with_oauth2_fullstack_cancel_after_accept_and_writes_closed_test.exe: build_libs $(OUT_DIR) + +chttp2_simple_ssl_with_oauth2_fullstack_cancel_after_accept_and_writes_closed_test.exe: Debug\end2end_fixture_chttp2_simple_ssl_with_oauth2_fullstack.lib Debug\end2end_test_cancel_after_accept_and_writes_closed.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_simple_ssl_with_oauth2_fullstack_cancel_after_accept_and_writes_closed_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_simple_ssl_with_oauth2_fullstack_cancel_after_accept_and_writes_closed_test.exe" Debug\end2end_fixture_chttp2_simple_ssl_with_oauth2_fullstack.lib Debug\end2end_test_cancel_after_accept_and_writes_closed.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_simple_ssl_with_oauth2_fullstack_cancel_after_accept_and_writes_closed_test: chttp2_simple_ssl_with_oauth2_fullstack_cancel_after_accept_and_writes_closed_test.exe echo Running chttp2_simple_ssl_with_oauth2_fullstack_cancel_after_accept_and_writes_closed_test $(OUT_DIR)\chttp2_simple_ssl_with_oauth2_fullstack_cancel_after_accept_and_writes_closed_test.exe -chttp2_simple_ssl_with_oauth2_fullstack_cancel_after_invoke_test.exe: build_libs $(OUT_DIR) + +chttp2_simple_ssl_with_oauth2_fullstack_cancel_after_invoke_test.exe: Debug\end2end_fixture_chttp2_simple_ssl_with_oauth2_fullstack.lib Debug\end2end_test_cancel_after_invoke.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_simple_ssl_with_oauth2_fullstack_cancel_after_invoke_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_simple_ssl_with_oauth2_fullstack_cancel_after_invoke_test.exe" Debug\end2end_fixture_chttp2_simple_ssl_with_oauth2_fullstack.lib Debug\end2end_test_cancel_after_invoke.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_simple_ssl_with_oauth2_fullstack_cancel_after_invoke_test: chttp2_simple_ssl_with_oauth2_fullstack_cancel_after_invoke_test.exe echo Running chttp2_simple_ssl_with_oauth2_fullstack_cancel_after_invoke_test $(OUT_DIR)\chttp2_simple_ssl_with_oauth2_fullstack_cancel_after_invoke_test.exe -chttp2_simple_ssl_with_oauth2_fullstack_cancel_before_invoke_test.exe: build_libs $(OUT_DIR) + +chttp2_simple_ssl_with_oauth2_fullstack_cancel_before_invoke_test.exe: Debug\end2end_fixture_chttp2_simple_ssl_with_oauth2_fullstack.lib Debug\end2end_test_cancel_before_invoke.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_simple_ssl_with_oauth2_fullstack_cancel_before_invoke_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_simple_ssl_with_oauth2_fullstack_cancel_before_invoke_test.exe" Debug\end2end_fixture_chttp2_simple_ssl_with_oauth2_fullstack.lib Debug\end2end_test_cancel_before_invoke.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_simple_ssl_with_oauth2_fullstack_cancel_before_invoke_test: chttp2_simple_ssl_with_oauth2_fullstack_cancel_before_invoke_test.exe echo Running chttp2_simple_ssl_with_oauth2_fullstack_cancel_before_invoke_test $(OUT_DIR)\chttp2_simple_ssl_with_oauth2_fullstack_cancel_before_invoke_test.exe -chttp2_simple_ssl_with_oauth2_fullstack_cancel_in_a_vacuum_test.exe: build_libs $(OUT_DIR) + +chttp2_simple_ssl_with_oauth2_fullstack_cancel_in_a_vacuum_test.exe: Debug\end2end_fixture_chttp2_simple_ssl_with_oauth2_fullstack.lib Debug\end2end_test_cancel_in_a_vacuum.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_simple_ssl_with_oauth2_fullstack_cancel_in_a_vacuum_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_simple_ssl_with_oauth2_fullstack_cancel_in_a_vacuum_test.exe" Debug\end2end_fixture_chttp2_simple_ssl_with_oauth2_fullstack.lib Debug\end2end_test_cancel_in_a_vacuum.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_simple_ssl_with_oauth2_fullstack_cancel_in_a_vacuum_test: chttp2_simple_ssl_with_oauth2_fullstack_cancel_in_a_vacuum_test.exe echo Running chttp2_simple_ssl_with_oauth2_fullstack_cancel_in_a_vacuum_test $(OUT_DIR)\chttp2_simple_ssl_with_oauth2_fullstack_cancel_in_a_vacuum_test.exe -chttp2_simple_ssl_with_oauth2_fullstack_census_simple_request_test.exe: build_libs $(OUT_DIR) + +chttp2_simple_ssl_with_oauth2_fullstack_census_simple_request_test.exe: Debug\end2end_fixture_chttp2_simple_ssl_with_oauth2_fullstack.lib Debug\end2end_test_census_simple_request.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_simple_ssl_with_oauth2_fullstack_census_simple_request_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_simple_ssl_with_oauth2_fullstack_census_simple_request_test.exe" Debug\end2end_fixture_chttp2_simple_ssl_with_oauth2_fullstack.lib Debug\end2end_test_census_simple_request.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_simple_ssl_with_oauth2_fullstack_census_simple_request_test: chttp2_simple_ssl_with_oauth2_fullstack_census_simple_request_test.exe echo Running chttp2_simple_ssl_with_oauth2_fullstack_census_simple_request_test $(OUT_DIR)\chttp2_simple_ssl_with_oauth2_fullstack_census_simple_request_test.exe -chttp2_simple_ssl_with_oauth2_fullstack_channel_connectivity_test.exe: build_libs $(OUT_DIR) + +chttp2_simple_ssl_with_oauth2_fullstack_channel_connectivity_test.exe: Debug\end2end_fixture_chttp2_simple_ssl_with_oauth2_fullstack.lib Debug\end2end_test_channel_connectivity.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_simple_ssl_with_oauth2_fullstack_channel_connectivity_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_simple_ssl_with_oauth2_fullstack_channel_connectivity_test.exe" Debug\end2end_fixture_chttp2_simple_ssl_with_oauth2_fullstack.lib Debug\end2end_test_channel_connectivity.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_simple_ssl_with_oauth2_fullstack_channel_connectivity_test: chttp2_simple_ssl_with_oauth2_fullstack_channel_connectivity_test.exe echo Running chttp2_simple_ssl_with_oauth2_fullstack_channel_connectivity_test $(OUT_DIR)\chttp2_simple_ssl_with_oauth2_fullstack_channel_connectivity_test.exe -chttp2_simple_ssl_with_oauth2_fullstack_default_host_test.exe: build_libs $(OUT_DIR) + +chttp2_simple_ssl_with_oauth2_fullstack_default_host_test.exe: Debug\end2end_fixture_chttp2_simple_ssl_with_oauth2_fullstack.lib Debug\end2end_test_default_host.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_simple_ssl_with_oauth2_fullstack_default_host_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_simple_ssl_with_oauth2_fullstack_default_host_test.exe" Debug\end2end_fixture_chttp2_simple_ssl_with_oauth2_fullstack.lib Debug\end2end_test_default_host.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_simple_ssl_with_oauth2_fullstack_default_host_test: chttp2_simple_ssl_with_oauth2_fullstack_default_host_test.exe echo Running chttp2_simple_ssl_with_oauth2_fullstack_default_host_test $(OUT_DIR)\chttp2_simple_ssl_with_oauth2_fullstack_default_host_test.exe -chttp2_simple_ssl_with_oauth2_fullstack_disappearing_server_test.exe: build_libs $(OUT_DIR) + +chttp2_simple_ssl_with_oauth2_fullstack_disappearing_server_test.exe: Debug\end2end_fixture_chttp2_simple_ssl_with_oauth2_fullstack.lib Debug\end2end_test_disappearing_server.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_simple_ssl_with_oauth2_fullstack_disappearing_server_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_simple_ssl_with_oauth2_fullstack_disappearing_server_test.exe" Debug\end2end_fixture_chttp2_simple_ssl_with_oauth2_fullstack.lib Debug\end2end_test_disappearing_server.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_simple_ssl_with_oauth2_fullstack_disappearing_server_test: chttp2_simple_ssl_with_oauth2_fullstack_disappearing_server_test.exe echo Running chttp2_simple_ssl_with_oauth2_fullstack_disappearing_server_test $(OUT_DIR)\chttp2_simple_ssl_with_oauth2_fullstack_disappearing_server_test.exe -chttp2_simple_ssl_with_oauth2_fullstack_early_server_shutdown_finishes_inflight_calls_test.exe: build_libs $(OUT_DIR) + +chttp2_simple_ssl_with_oauth2_fullstack_early_server_shutdown_finishes_inflight_calls_test.exe: Debug\end2end_fixture_chttp2_simple_ssl_with_oauth2_fullstack.lib Debug\end2end_test_early_server_shutdown_finishes_inflight_calls.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_simple_ssl_with_oauth2_fullstack_early_server_shutdown_finishes_inflight_calls_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_simple_ssl_with_oauth2_fullstack_early_server_shutdown_finishes_inflight_calls_test.exe" Debug\end2end_fixture_chttp2_simple_ssl_with_oauth2_fullstack.lib Debug\end2end_test_early_server_shutdown_finishes_inflight_calls.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_simple_ssl_with_oauth2_fullstack_early_server_shutdown_finishes_inflight_calls_test: chttp2_simple_ssl_with_oauth2_fullstack_early_server_shutdown_finishes_inflight_calls_test.exe echo Running chttp2_simple_ssl_with_oauth2_fullstack_early_server_shutdown_finishes_inflight_calls_test $(OUT_DIR)\chttp2_simple_ssl_with_oauth2_fullstack_early_server_shutdown_finishes_inflight_calls_test.exe -chttp2_simple_ssl_with_oauth2_fullstack_early_server_shutdown_finishes_tags_test.exe: build_libs $(OUT_DIR) + +chttp2_simple_ssl_with_oauth2_fullstack_early_server_shutdown_finishes_tags_test.exe: Debug\end2end_fixture_chttp2_simple_ssl_with_oauth2_fullstack.lib Debug\end2end_test_early_server_shutdown_finishes_tags.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_simple_ssl_with_oauth2_fullstack_early_server_shutdown_finishes_tags_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_simple_ssl_with_oauth2_fullstack_early_server_shutdown_finishes_tags_test.exe" Debug\end2end_fixture_chttp2_simple_ssl_with_oauth2_fullstack.lib Debug\end2end_test_early_server_shutdown_finishes_tags.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_simple_ssl_with_oauth2_fullstack_early_server_shutdown_finishes_tags_test: chttp2_simple_ssl_with_oauth2_fullstack_early_server_shutdown_finishes_tags_test.exe echo Running chttp2_simple_ssl_with_oauth2_fullstack_early_server_shutdown_finishes_tags_test $(OUT_DIR)\chttp2_simple_ssl_with_oauth2_fullstack_early_server_shutdown_finishes_tags_test.exe -chttp2_simple_ssl_with_oauth2_fullstack_empty_batch_test.exe: build_libs $(OUT_DIR) + +chttp2_simple_ssl_with_oauth2_fullstack_empty_batch_test.exe: Debug\end2end_fixture_chttp2_simple_ssl_with_oauth2_fullstack.lib Debug\end2end_test_empty_batch.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_simple_ssl_with_oauth2_fullstack_empty_batch_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_simple_ssl_with_oauth2_fullstack_empty_batch_test.exe" Debug\end2end_fixture_chttp2_simple_ssl_with_oauth2_fullstack.lib Debug\end2end_test_empty_batch.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_simple_ssl_with_oauth2_fullstack_empty_batch_test: chttp2_simple_ssl_with_oauth2_fullstack_empty_batch_test.exe echo Running chttp2_simple_ssl_with_oauth2_fullstack_empty_batch_test $(OUT_DIR)\chttp2_simple_ssl_with_oauth2_fullstack_empty_batch_test.exe -chttp2_simple_ssl_with_oauth2_fullstack_graceful_server_shutdown_test.exe: build_libs $(OUT_DIR) + +chttp2_simple_ssl_with_oauth2_fullstack_graceful_server_shutdown_test.exe: Debug\end2end_fixture_chttp2_simple_ssl_with_oauth2_fullstack.lib Debug\end2end_test_graceful_server_shutdown.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_simple_ssl_with_oauth2_fullstack_graceful_server_shutdown_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_simple_ssl_with_oauth2_fullstack_graceful_server_shutdown_test.exe" Debug\end2end_fixture_chttp2_simple_ssl_with_oauth2_fullstack.lib Debug\end2end_test_graceful_server_shutdown.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_simple_ssl_with_oauth2_fullstack_graceful_server_shutdown_test: chttp2_simple_ssl_with_oauth2_fullstack_graceful_server_shutdown_test.exe echo Running chttp2_simple_ssl_with_oauth2_fullstack_graceful_server_shutdown_test $(OUT_DIR)\chttp2_simple_ssl_with_oauth2_fullstack_graceful_server_shutdown_test.exe -chttp2_simple_ssl_with_oauth2_fullstack_invoke_large_request_test.exe: build_libs $(OUT_DIR) + +chttp2_simple_ssl_with_oauth2_fullstack_invoke_large_request_test.exe: Debug\end2end_fixture_chttp2_simple_ssl_with_oauth2_fullstack.lib Debug\end2end_test_invoke_large_request.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_simple_ssl_with_oauth2_fullstack_invoke_large_request_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_simple_ssl_with_oauth2_fullstack_invoke_large_request_test.exe" Debug\end2end_fixture_chttp2_simple_ssl_with_oauth2_fullstack.lib Debug\end2end_test_invoke_large_request.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_simple_ssl_with_oauth2_fullstack_invoke_large_request_test: chttp2_simple_ssl_with_oauth2_fullstack_invoke_large_request_test.exe echo Running chttp2_simple_ssl_with_oauth2_fullstack_invoke_large_request_test $(OUT_DIR)\chttp2_simple_ssl_with_oauth2_fullstack_invoke_large_request_test.exe -chttp2_simple_ssl_with_oauth2_fullstack_max_concurrent_streams_test.exe: build_libs $(OUT_DIR) + +chttp2_simple_ssl_with_oauth2_fullstack_max_concurrent_streams_test.exe: Debug\end2end_fixture_chttp2_simple_ssl_with_oauth2_fullstack.lib Debug\end2end_test_max_concurrent_streams.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_simple_ssl_with_oauth2_fullstack_max_concurrent_streams_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_simple_ssl_with_oauth2_fullstack_max_concurrent_streams_test.exe" Debug\end2end_fixture_chttp2_simple_ssl_with_oauth2_fullstack.lib Debug\end2end_test_max_concurrent_streams.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_simple_ssl_with_oauth2_fullstack_max_concurrent_streams_test: chttp2_simple_ssl_with_oauth2_fullstack_max_concurrent_streams_test.exe echo Running chttp2_simple_ssl_with_oauth2_fullstack_max_concurrent_streams_test $(OUT_DIR)\chttp2_simple_ssl_with_oauth2_fullstack_max_concurrent_streams_test.exe -chttp2_simple_ssl_with_oauth2_fullstack_max_message_length_test.exe: build_libs $(OUT_DIR) + +chttp2_simple_ssl_with_oauth2_fullstack_max_message_length_test.exe: Debug\end2end_fixture_chttp2_simple_ssl_with_oauth2_fullstack.lib Debug\end2end_test_max_message_length.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_simple_ssl_with_oauth2_fullstack_max_message_length_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_simple_ssl_with_oauth2_fullstack_max_message_length_test.exe" Debug\end2end_fixture_chttp2_simple_ssl_with_oauth2_fullstack.lib Debug\end2end_test_max_message_length.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_simple_ssl_with_oauth2_fullstack_max_message_length_test: chttp2_simple_ssl_with_oauth2_fullstack_max_message_length_test.exe echo Running chttp2_simple_ssl_with_oauth2_fullstack_max_message_length_test $(OUT_DIR)\chttp2_simple_ssl_with_oauth2_fullstack_max_message_length_test.exe -chttp2_simple_ssl_with_oauth2_fullstack_no_op_test.exe: build_libs $(OUT_DIR) + +chttp2_simple_ssl_with_oauth2_fullstack_no_op_test.exe: Debug\end2end_fixture_chttp2_simple_ssl_with_oauth2_fullstack.lib Debug\end2end_test_no_op.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_simple_ssl_with_oauth2_fullstack_no_op_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_simple_ssl_with_oauth2_fullstack_no_op_test.exe" Debug\end2end_fixture_chttp2_simple_ssl_with_oauth2_fullstack.lib Debug\end2end_test_no_op.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_simple_ssl_with_oauth2_fullstack_no_op_test: chttp2_simple_ssl_with_oauth2_fullstack_no_op_test.exe echo Running chttp2_simple_ssl_with_oauth2_fullstack_no_op_test $(OUT_DIR)\chttp2_simple_ssl_with_oauth2_fullstack_no_op_test.exe -chttp2_simple_ssl_with_oauth2_fullstack_ping_pong_streaming_test.exe: build_libs $(OUT_DIR) + +chttp2_simple_ssl_with_oauth2_fullstack_ping_pong_streaming_test.exe: Debug\end2end_fixture_chttp2_simple_ssl_with_oauth2_fullstack.lib Debug\end2end_test_ping_pong_streaming.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_simple_ssl_with_oauth2_fullstack_ping_pong_streaming_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_simple_ssl_with_oauth2_fullstack_ping_pong_streaming_test.exe" Debug\end2end_fixture_chttp2_simple_ssl_with_oauth2_fullstack.lib Debug\end2end_test_ping_pong_streaming.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_simple_ssl_with_oauth2_fullstack_ping_pong_streaming_test: chttp2_simple_ssl_with_oauth2_fullstack_ping_pong_streaming_test.exe echo Running chttp2_simple_ssl_with_oauth2_fullstack_ping_pong_streaming_test $(OUT_DIR)\chttp2_simple_ssl_with_oauth2_fullstack_ping_pong_streaming_test.exe -chttp2_simple_ssl_with_oauth2_fullstack_registered_call_test.exe: build_libs $(OUT_DIR) + +chttp2_simple_ssl_with_oauth2_fullstack_registered_call_test.exe: Debug\end2end_fixture_chttp2_simple_ssl_with_oauth2_fullstack.lib Debug\end2end_test_registered_call.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_simple_ssl_with_oauth2_fullstack_registered_call_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_simple_ssl_with_oauth2_fullstack_registered_call_test.exe" Debug\end2end_fixture_chttp2_simple_ssl_with_oauth2_fullstack.lib Debug\end2end_test_registered_call.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_simple_ssl_with_oauth2_fullstack_registered_call_test: chttp2_simple_ssl_with_oauth2_fullstack_registered_call_test.exe echo Running chttp2_simple_ssl_with_oauth2_fullstack_registered_call_test $(OUT_DIR)\chttp2_simple_ssl_with_oauth2_fullstack_registered_call_test.exe -chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_binary_metadata_and_payload_test.exe: build_libs $(OUT_DIR) + +chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_binary_metadata_and_payload_test.exe: Debug\end2end_fixture_chttp2_simple_ssl_with_oauth2_fullstack.lib Debug\end2end_test_request_response_with_binary_metadata_and_payload.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_binary_metadata_and_payload_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_binary_metadata_and_payload_test.exe" Debug\end2end_fixture_chttp2_simple_ssl_with_oauth2_fullstack.lib Debug\end2end_test_request_response_with_binary_metadata_and_payload.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_binary_metadata_and_payload_test: chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_binary_metadata_and_payload_test.exe echo Running chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_binary_metadata_and_payload_test $(OUT_DIR)\chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_binary_metadata_and_payload_test.exe -chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_metadata_and_payload_test.exe: build_libs $(OUT_DIR) + +chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_metadata_and_payload_test.exe: Debug\end2end_fixture_chttp2_simple_ssl_with_oauth2_fullstack.lib Debug\end2end_test_request_response_with_metadata_and_payload.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_metadata_and_payload_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_metadata_and_payload_test.exe" Debug\end2end_fixture_chttp2_simple_ssl_with_oauth2_fullstack.lib Debug\end2end_test_request_response_with_metadata_and_payload.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_metadata_and_payload_test: chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_metadata_and_payload_test.exe echo Running chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_metadata_and_payload_test $(OUT_DIR)\chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_metadata_and_payload_test.exe -chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_payload_test.exe: build_libs $(OUT_DIR) + +chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_payload_test.exe: Debug\end2end_fixture_chttp2_simple_ssl_with_oauth2_fullstack.lib Debug\end2end_test_request_response_with_payload.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_payload_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_payload_test.exe" Debug\end2end_fixture_chttp2_simple_ssl_with_oauth2_fullstack.lib Debug\end2end_test_request_response_with_payload.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_payload_test: chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_payload_test.exe echo Running chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_payload_test $(OUT_DIR)\chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_payload_test.exe -chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_payload_and_call_creds_test.exe: build_libs $(OUT_DIR) + +chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_payload_and_call_creds_test.exe: Debug\end2end_fixture_chttp2_simple_ssl_with_oauth2_fullstack.lib Debug\end2end_test_request_response_with_payload_and_call_creds.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_payload_and_call_creds_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_payload_and_call_creds_test.exe" Debug\end2end_fixture_chttp2_simple_ssl_with_oauth2_fullstack.lib Debug\end2end_test_request_response_with_payload_and_call_creds.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_payload_and_call_creds_test: chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_payload_and_call_creds_test.exe echo Running chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_payload_and_call_creds_test $(OUT_DIR)\chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_payload_and_call_creds_test.exe -chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_trailing_metadata_and_payload_test.exe: build_libs $(OUT_DIR) + +chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_trailing_metadata_and_payload_test.exe: Debug\end2end_fixture_chttp2_simple_ssl_with_oauth2_fullstack.lib Debug\end2end_test_request_response_with_trailing_metadata_and_payload.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_trailing_metadata_and_payload_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_trailing_metadata_and_payload_test.exe" Debug\end2end_fixture_chttp2_simple_ssl_with_oauth2_fullstack.lib Debug\end2end_test_request_response_with_trailing_metadata_and_payload.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_trailing_metadata_and_payload_test: chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_trailing_metadata_and_payload_test.exe echo Running chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_trailing_metadata_and_payload_test $(OUT_DIR)\chttp2_simple_ssl_with_oauth2_fullstack_request_response_with_trailing_metadata_and_payload_test.exe -chttp2_simple_ssl_with_oauth2_fullstack_request_with_compressed_payload_test.exe: build_libs $(OUT_DIR) + +chttp2_simple_ssl_with_oauth2_fullstack_request_with_compressed_payload_test.exe: Debug\end2end_fixture_chttp2_simple_ssl_with_oauth2_fullstack.lib Debug\end2end_test_request_with_compressed_payload.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_simple_ssl_with_oauth2_fullstack_request_with_compressed_payload_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_simple_ssl_with_oauth2_fullstack_request_with_compressed_payload_test.exe" Debug\end2end_fixture_chttp2_simple_ssl_with_oauth2_fullstack.lib Debug\end2end_test_request_with_compressed_payload.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_simple_ssl_with_oauth2_fullstack_request_with_compressed_payload_test: chttp2_simple_ssl_with_oauth2_fullstack_request_with_compressed_payload_test.exe echo Running chttp2_simple_ssl_with_oauth2_fullstack_request_with_compressed_payload_test $(OUT_DIR)\chttp2_simple_ssl_with_oauth2_fullstack_request_with_compressed_payload_test.exe -chttp2_simple_ssl_with_oauth2_fullstack_request_with_flags_test.exe: build_libs $(OUT_DIR) + +chttp2_simple_ssl_with_oauth2_fullstack_request_with_flags_test.exe: Debug\end2end_fixture_chttp2_simple_ssl_with_oauth2_fullstack.lib Debug\end2end_test_request_with_flags.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_simple_ssl_with_oauth2_fullstack_request_with_flags_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_simple_ssl_with_oauth2_fullstack_request_with_flags_test.exe" Debug\end2end_fixture_chttp2_simple_ssl_with_oauth2_fullstack.lib Debug\end2end_test_request_with_flags.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_simple_ssl_with_oauth2_fullstack_request_with_flags_test: chttp2_simple_ssl_with_oauth2_fullstack_request_with_flags_test.exe echo Running chttp2_simple_ssl_with_oauth2_fullstack_request_with_flags_test $(OUT_DIR)\chttp2_simple_ssl_with_oauth2_fullstack_request_with_flags_test.exe -chttp2_simple_ssl_with_oauth2_fullstack_request_with_large_metadata_test.exe: build_libs $(OUT_DIR) + +chttp2_simple_ssl_with_oauth2_fullstack_request_with_large_metadata_test.exe: Debug\end2end_fixture_chttp2_simple_ssl_with_oauth2_fullstack.lib Debug\end2end_test_request_with_large_metadata.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_simple_ssl_with_oauth2_fullstack_request_with_large_metadata_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_simple_ssl_with_oauth2_fullstack_request_with_large_metadata_test.exe" Debug\end2end_fixture_chttp2_simple_ssl_with_oauth2_fullstack.lib Debug\end2end_test_request_with_large_metadata.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_simple_ssl_with_oauth2_fullstack_request_with_large_metadata_test: chttp2_simple_ssl_with_oauth2_fullstack_request_with_large_metadata_test.exe echo Running chttp2_simple_ssl_with_oauth2_fullstack_request_with_large_metadata_test $(OUT_DIR)\chttp2_simple_ssl_with_oauth2_fullstack_request_with_large_metadata_test.exe -chttp2_simple_ssl_with_oauth2_fullstack_request_with_payload_test.exe: build_libs $(OUT_DIR) + +chttp2_simple_ssl_with_oauth2_fullstack_request_with_payload_test.exe: Debug\end2end_fixture_chttp2_simple_ssl_with_oauth2_fullstack.lib Debug\end2end_test_request_with_payload.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_simple_ssl_with_oauth2_fullstack_request_with_payload_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_simple_ssl_with_oauth2_fullstack_request_with_payload_test.exe" Debug\end2end_fixture_chttp2_simple_ssl_with_oauth2_fullstack.lib Debug\end2end_test_request_with_payload.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_simple_ssl_with_oauth2_fullstack_request_with_payload_test: chttp2_simple_ssl_with_oauth2_fullstack_request_with_payload_test.exe echo Running chttp2_simple_ssl_with_oauth2_fullstack_request_with_payload_test $(OUT_DIR)\chttp2_simple_ssl_with_oauth2_fullstack_request_with_payload_test.exe -chttp2_simple_ssl_with_oauth2_fullstack_server_finishes_request_test.exe: build_libs $(OUT_DIR) + +chttp2_simple_ssl_with_oauth2_fullstack_server_finishes_request_test.exe: Debug\end2end_fixture_chttp2_simple_ssl_with_oauth2_fullstack.lib Debug\end2end_test_server_finishes_request.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_simple_ssl_with_oauth2_fullstack_server_finishes_request_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_simple_ssl_with_oauth2_fullstack_server_finishes_request_test.exe" Debug\end2end_fixture_chttp2_simple_ssl_with_oauth2_fullstack.lib Debug\end2end_test_server_finishes_request.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_simple_ssl_with_oauth2_fullstack_server_finishes_request_test: chttp2_simple_ssl_with_oauth2_fullstack_server_finishes_request_test.exe echo Running chttp2_simple_ssl_with_oauth2_fullstack_server_finishes_request_test $(OUT_DIR)\chttp2_simple_ssl_with_oauth2_fullstack_server_finishes_request_test.exe -chttp2_simple_ssl_with_oauth2_fullstack_simple_delayed_request_test.exe: build_libs $(OUT_DIR) + +chttp2_simple_ssl_with_oauth2_fullstack_simple_delayed_request_test.exe: Debug\end2end_fixture_chttp2_simple_ssl_with_oauth2_fullstack.lib Debug\end2end_test_simple_delayed_request.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_simple_ssl_with_oauth2_fullstack_simple_delayed_request_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_simple_ssl_with_oauth2_fullstack_simple_delayed_request_test.exe" Debug\end2end_fixture_chttp2_simple_ssl_with_oauth2_fullstack.lib Debug\end2end_test_simple_delayed_request.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_simple_ssl_with_oauth2_fullstack_simple_delayed_request_test: chttp2_simple_ssl_with_oauth2_fullstack_simple_delayed_request_test.exe echo Running chttp2_simple_ssl_with_oauth2_fullstack_simple_delayed_request_test $(OUT_DIR)\chttp2_simple_ssl_with_oauth2_fullstack_simple_delayed_request_test.exe -chttp2_simple_ssl_with_oauth2_fullstack_simple_request_test.exe: build_libs $(OUT_DIR) + +chttp2_simple_ssl_with_oauth2_fullstack_simple_request_test.exe: Debug\end2end_fixture_chttp2_simple_ssl_with_oauth2_fullstack.lib Debug\end2end_test_simple_request.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_simple_ssl_with_oauth2_fullstack_simple_request_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_simple_ssl_with_oauth2_fullstack_simple_request_test.exe" Debug\end2end_fixture_chttp2_simple_ssl_with_oauth2_fullstack.lib Debug\end2end_test_simple_request.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_simple_ssl_with_oauth2_fullstack_simple_request_test: chttp2_simple_ssl_with_oauth2_fullstack_simple_request_test.exe echo Running chttp2_simple_ssl_with_oauth2_fullstack_simple_request_test $(OUT_DIR)\chttp2_simple_ssl_with_oauth2_fullstack_simple_request_test.exe -chttp2_simple_ssl_with_oauth2_fullstack_simple_request_with_high_initial_sequence_number_test.exe: build_libs $(OUT_DIR) + +chttp2_simple_ssl_with_oauth2_fullstack_simple_request_with_high_initial_sequence_number_test.exe: Debug\end2end_fixture_chttp2_simple_ssl_with_oauth2_fullstack.lib Debug\end2end_test_simple_request_with_high_initial_sequence_number.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_simple_ssl_with_oauth2_fullstack_simple_request_with_high_initial_sequence_number_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_simple_ssl_with_oauth2_fullstack_simple_request_with_high_initial_sequence_number_test.exe" Debug\end2end_fixture_chttp2_simple_ssl_with_oauth2_fullstack.lib Debug\end2end_test_simple_request_with_high_initial_sequence_number.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_simple_ssl_with_oauth2_fullstack_simple_request_with_high_initial_sequence_number_test: chttp2_simple_ssl_with_oauth2_fullstack_simple_request_with_high_initial_sequence_number_test.exe echo Running chttp2_simple_ssl_with_oauth2_fullstack_simple_request_with_high_initial_sequence_number_test $(OUT_DIR)\chttp2_simple_ssl_with_oauth2_fullstack_simple_request_with_high_initial_sequence_number_test.exe -chttp2_socket_pair_bad_hostname_test.exe: build_libs $(OUT_DIR) + +chttp2_socket_pair_bad_hostname_test.exe: Debug\end2end_fixture_chttp2_socket_pair.lib Debug\end2end_test_bad_hostname.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_socket_pair_bad_hostname_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_socket_pair_bad_hostname_test.exe" Debug\end2end_fixture_chttp2_socket_pair.lib Debug\end2end_test_bad_hostname.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_socket_pair_bad_hostname_test: chttp2_socket_pair_bad_hostname_test.exe echo Running chttp2_socket_pair_bad_hostname_test $(OUT_DIR)\chttp2_socket_pair_bad_hostname_test.exe -chttp2_socket_pair_cancel_after_accept_test.exe: build_libs $(OUT_DIR) + +chttp2_socket_pair_cancel_after_accept_test.exe: Debug\end2end_fixture_chttp2_socket_pair.lib Debug\end2end_test_cancel_after_accept.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_socket_pair_cancel_after_accept_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_socket_pair_cancel_after_accept_test.exe" Debug\end2end_fixture_chttp2_socket_pair.lib Debug\end2end_test_cancel_after_accept.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_socket_pair_cancel_after_accept_test: chttp2_socket_pair_cancel_after_accept_test.exe echo Running chttp2_socket_pair_cancel_after_accept_test $(OUT_DIR)\chttp2_socket_pair_cancel_after_accept_test.exe -chttp2_socket_pair_cancel_after_accept_and_writes_closed_test.exe: build_libs $(OUT_DIR) + +chttp2_socket_pair_cancel_after_accept_and_writes_closed_test.exe: Debug\end2end_fixture_chttp2_socket_pair.lib Debug\end2end_test_cancel_after_accept_and_writes_closed.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_socket_pair_cancel_after_accept_and_writes_closed_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_socket_pair_cancel_after_accept_and_writes_closed_test.exe" Debug\end2end_fixture_chttp2_socket_pair.lib Debug\end2end_test_cancel_after_accept_and_writes_closed.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_socket_pair_cancel_after_accept_and_writes_closed_test: chttp2_socket_pair_cancel_after_accept_and_writes_closed_test.exe echo Running chttp2_socket_pair_cancel_after_accept_and_writes_closed_test $(OUT_DIR)\chttp2_socket_pair_cancel_after_accept_and_writes_closed_test.exe -chttp2_socket_pair_cancel_after_invoke_test.exe: build_libs $(OUT_DIR) + +chttp2_socket_pair_cancel_after_invoke_test.exe: Debug\end2end_fixture_chttp2_socket_pair.lib Debug\end2end_test_cancel_after_invoke.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_socket_pair_cancel_after_invoke_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_socket_pair_cancel_after_invoke_test.exe" Debug\end2end_fixture_chttp2_socket_pair.lib Debug\end2end_test_cancel_after_invoke.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_socket_pair_cancel_after_invoke_test: chttp2_socket_pair_cancel_after_invoke_test.exe echo Running chttp2_socket_pair_cancel_after_invoke_test $(OUT_DIR)\chttp2_socket_pair_cancel_after_invoke_test.exe -chttp2_socket_pair_cancel_before_invoke_test.exe: build_libs $(OUT_DIR) + +chttp2_socket_pair_cancel_before_invoke_test.exe: Debug\end2end_fixture_chttp2_socket_pair.lib Debug\end2end_test_cancel_before_invoke.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_socket_pair_cancel_before_invoke_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_socket_pair_cancel_before_invoke_test.exe" Debug\end2end_fixture_chttp2_socket_pair.lib Debug\end2end_test_cancel_before_invoke.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_socket_pair_cancel_before_invoke_test: chttp2_socket_pair_cancel_before_invoke_test.exe echo Running chttp2_socket_pair_cancel_before_invoke_test $(OUT_DIR)\chttp2_socket_pair_cancel_before_invoke_test.exe -chttp2_socket_pair_cancel_in_a_vacuum_test.exe: build_libs $(OUT_DIR) + +chttp2_socket_pair_cancel_in_a_vacuum_test.exe: Debug\end2end_fixture_chttp2_socket_pair.lib Debug\end2end_test_cancel_in_a_vacuum.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_socket_pair_cancel_in_a_vacuum_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_socket_pair_cancel_in_a_vacuum_test.exe" Debug\end2end_fixture_chttp2_socket_pair.lib Debug\end2end_test_cancel_in_a_vacuum.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_socket_pair_cancel_in_a_vacuum_test: chttp2_socket_pair_cancel_in_a_vacuum_test.exe echo Running chttp2_socket_pair_cancel_in_a_vacuum_test $(OUT_DIR)\chttp2_socket_pair_cancel_in_a_vacuum_test.exe -chttp2_socket_pair_census_simple_request_test.exe: build_libs $(OUT_DIR) + +chttp2_socket_pair_census_simple_request_test.exe: Debug\end2end_fixture_chttp2_socket_pair.lib Debug\end2end_test_census_simple_request.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_socket_pair_census_simple_request_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_socket_pair_census_simple_request_test.exe" Debug\end2end_fixture_chttp2_socket_pair.lib Debug\end2end_test_census_simple_request.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_socket_pair_census_simple_request_test: chttp2_socket_pair_census_simple_request_test.exe echo Running chttp2_socket_pair_census_simple_request_test $(OUT_DIR)\chttp2_socket_pair_census_simple_request_test.exe -chttp2_socket_pair_early_server_shutdown_finishes_inflight_calls_test.exe: build_libs $(OUT_DIR) + +chttp2_socket_pair_early_server_shutdown_finishes_inflight_calls_test.exe: Debug\end2end_fixture_chttp2_socket_pair.lib Debug\end2end_test_early_server_shutdown_finishes_inflight_calls.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_socket_pair_early_server_shutdown_finishes_inflight_calls_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_socket_pair_early_server_shutdown_finishes_inflight_calls_test.exe" Debug\end2end_fixture_chttp2_socket_pair.lib Debug\end2end_test_early_server_shutdown_finishes_inflight_calls.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_socket_pair_early_server_shutdown_finishes_inflight_calls_test: chttp2_socket_pair_early_server_shutdown_finishes_inflight_calls_test.exe echo Running chttp2_socket_pair_early_server_shutdown_finishes_inflight_calls_test $(OUT_DIR)\chttp2_socket_pair_early_server_shutdown_finishes_inflight_calls_test.exe -chttp2_socket_pair_early_server_shutdown_finishes_tags_test.exe: build_libs $(OUT_DIR) + +chttp2_socket_pair_early_server_shutdown_finishes_tags_test.exe: Debug\end2end_fixture_chttp2_socket_pair.lib Debug\end2end_test_early_server_shutdown_finishes_tags.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_socket_pair_early_server_shutdown_finishes_tags_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_socket_pair_early_server_shutdown_finishes_tags_test.exe" Debug\end2end_fixture_chttp2_socket_pair.lib Debug\end2end_test_early_server_shutdown_finishes_tags.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_socket_pair_early_server_shutdown_finishes_tags_test: chttp2_socket_pair_early_server_shutdown_finishes_tags_test.exe echo Running chttp2_socket_pair_early_server_shutdown_finishes_tags_test $(OUT_DIR)\chttp2_socket_pair_early_server_shutdown_finishes_tags_test.exe -chttp2_socket_pair_empty_batch_test.exe: build_libs $(OUT_DIR) + +chttp2_socket_pair_empty_batch_test.exe: Debug\end2end_fixture_chttp2_socket_pair.lib Debug\end2end_test_empty_batch.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_socket_pair_empty_batch_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_socket_pair_empty_batch_test.exe" Debug\end2end_fixture_chttp2_socket_pair.lib Debug\end2end_test_empty_batch.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_socket_pair_empty_batch_test: chttp2_socket_pair_empty_batch_test.exe echo Running chttp2_socket_pair_empty_batch_test $(OUT_DIR)\chttp2_socket_pair_empty_batch_test.exe -chttp2_socket_pair_graceful_server_shutdown_test.exe: build_libs $(OUT_DIR) + +chttp2_socket_pair_graceful_server_shutdown_test.exe: Debug\end2end_fixture_chttp2_socket_pair.lib Debug\end2end_test_graceful_server_shutdown.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_socket_pair_graceful_server_shutdown_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_socket_pair_graceful_server_shutdown_test.exe" Debug\end2end_fixture_chttp2_socket_pair.lib Debug\end2end_test_graceful_server_shutdown.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_socket_pair_graceful_server_shutdown_test: chttp2_socket_pair_graceful_server_shutdown_test.exe echo Running chttp2_socket_pair_graceful_server_shutdown_test $(OUT_DIR)\chttp2_socket_pair_graceful_server_shutdown_test.exe -chttp2_socket_pair_invoke_large_request_test.exe: build_libs $(OUT_DIR) + +chttp2_socket_pair_invoke_large_request_test.exe: Debug\end2end_fixture_chttp2_socket_pair.lib Debug\end2end_test_invoke_large_request.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_socket_pair_invoke_large_request_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_socket_pair_invoke_large_request_test.exe" Debug\end2end_fixture_chttp2_socket_pair.lib Debug\end2end_test_invoke_large_request.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_socket_pair_invoke_large_request_test: chttp2_socket_pair_invoke_large_request_test.exe echo Running chttp2_socket_pair_invoke_large_request_test $(OUT_DIR)\chttp2_socket_pair_invoke_large_request_test.exe -chttp2_socket_pair_max_concurrent_streams_test.exe: build_libs $(OUT_DIR) + +chttp2_socket_pair_max_concurrent_streams_test.exe: Debug\end2end_fixture_chttp2_socket_pair.lib Debug\end2end_test_max_concurrent_streams.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_socket_pair_max_concurrent_streams_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_socket_pair_max_concurrent_streams_test.exe" Debug\end2end_fixture_chttp2_socket_pair.lib Debug\end2end_test_max_concurrent_streams.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_socket_pair_max_concurrent_streams_test: chttp2_socket_pair_max_concurrent_streams_test.exe echo Running chttp2_socket_pair_max_concurrent_streams_test $(OUT_DIR)\chttp2_socket_pair_max_concurrent_streams_test.exe -chttp2_socket_pair_max_message_length_test.exe: build_libs $(OUT_DIR) + +chttp2_socket_pair_max_message_length_test.exe: Debug\end2end_fixture_chttp2_socket_pair.lib Debug\end2end_test_max_message_length.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_socket_pair_max_message_length_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_socket_pair_max_message_length_test.exe" Debug\end2end_fixture_chttp2_socket_pair.lib Debug\end2end_test_max_message_length.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_socket_pair_max_message_length_test: chttp2_socket_pair_max_message_length_test.exe echo Running chttp2_socket_pair_max_message_length_test $(OUT_DIR)\chttp2_socket_pair_max_message_length_test.exe -chttp2_socket_pair_no_op_test.exe: build_libs $(OUT_DIR) + +chttp2_socket_pair_no_op_test.exe: Debug\end2end_fixture_chttp2_socket_pair.lib Debug\end2end_test_no_op.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_socket_pair_no_op_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_socket_pair_no_op_test.exe" Debug\end2end_fixture_chttp2_socket_pair.lib Debug\end2end_test_no_op.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_socket_pair_no_op_test: chttp2_socket_pair_no_op_test.exe echo Running chttp2_socket_pair_no_op_test $(OUT_DIR)\chttp2_socket_pair_no_op_test.exe -chttp2_socket_pair_ping_pong_streaming_test.exe: build_libs $(OUT_DIR) + +chttp2_socket_pair_ping_pong_streaming_test.exe: Debug\end2end_fixture_chttp2_socket_pair.lib Debug\end2end_test_ping_pong_streaming.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_socket_pair_ping_pong_streaming_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_socket_pair_ping_pong_streaming_test.exe" Debug\end2end_fixture_chttp2_socket_pair.lib Debug\end2end_test_ping_pong_streaming.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_socket_pair_ping_pong_streaming_test: chttp2_socket_pair_ping_pong_streaming_test.exe echo Running chttp2_socket_pair_ping_pong_streaming_test $(OUT_DIR)\chttp2_socket_pair_ping_pong_streaming_test.exe -chttp2_socket_pair_registered_call_test.exe: build_libs $(OUT_DIR) + +chttp2_socket_pair_registered_call_test.exe: Debug\end2end_fixture_chttp2_socket_pair.lib Debug\end2end_test_registered_call.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_socket_pair_registered_call_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_socket_pair_registered_call_test.exe" Debug\end2end_fixture_chttp2_socket_pair.lib Debug\end2end_test_registered_call.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_socket_pair_registered_call_test: chttp2_socket_pair_registered_call_test.exe echo Running chttp2_socket_pair_registered_call_test $(OUT_DIR)\chttp2_socket_pair_registered_call_test.exe -chttp2_socket_pair_request_response_with_binary_metadata_and_payload_test.exe: build_libs $(OUT_DIR) + +chttp2_socket_pair_request_response_with_binary_metadata_and_payload_test.exe: Debug\end2end_fixture_chttp2_socket_pair.lib Debug\end2end_test_request_response_with_binary_metadata_and_payload.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_socket_pair_request_response_with_binary_metadata_and_payload_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_socket_pair_request_response_with_binary_metadata_and_payload_test.exe" Debug\end2end_fixture_chttp2_socket_pair.lib Debug\end2end_test_request_response_with_binary_metadata_and_payload.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_socket_pair_request_response_with_binary_metadata_and_payload_test: chttp2_socket_pair_request_response_with_binary_metadata_and_payload_test.exe echo Running chttp2_socket_pair_request_response_with_binary_metadata_and_payload_test $(OUT_DIR)\chttp2_socket_pair_request_response_with_binary_metadata_and_payload_test.exe -chttp2_socket_pair_request_response_with_metadata_and_payload_test.exe: build_libs $(OUT_DIR) + +chttp2_socket_pair_request_response_with_metadata_and_payload_test.exe: Debug\end2end_fixture_chttp2_socket_pair.lib Debug\end2end_test_request_response_with_metadata_and_payload.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_socket_pair_request_response_with_metadata_and_payload_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_socket_pair_request_response_with_metadata_and_payload_test.exe" Debug\end2end_fixture_chttp2_socket_pair.lib Debug\end2end_test_request_response_with_metadata_and_payload.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_socket_pair_request_response_with_metadata_and_payload_test: chttp2_socket_pair_request_response_with_metadata_and_payload_test.exe echo Running chttp2_socket_pair_request_response_with_metadata_and_payload_test $(OUT_DIR)\chttp2_socket_pair_request_response_with_metadata_and_payload_test.exe -chttp2_socket_pair_request_response_with_payload_test.exe: build_libs $(OUT_DIR) + +chttp2_socket_pair_request_response_with_payload_test.exe: Debug\end2end_fixture_chttp2_socket_pair.lib Debug\end2end_test_request_response_with_payload.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_socket_pair_request_response_with_payload_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_socket_pair_request_response_with_payload_test.exe" Debug\end2end_fixture_chttp2_socket_pair.lib Debug\end2end_test_request_response_with_payload.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_socket_pair_request_response_with_payload_test: chttp2_socket_pair_request_response_with_payload_test.exe echo Running chttp2_socket_pair_request_response_with_payload_test $(OUT_DIR)\chttp2_socket_pair_request_response_with_payload_test.exe -chttp2_socket_pair_request_response_with_payload_and_call_creds_test.exe: build_libs $(OUT_DIR) + +chttp2_socket_pair_request_response_with_payload_and_call_creds_test.exe: Debug\end2end_fixture_chttp2_socket_pair.lib Debug\end2end_test_request_response_with_payload_and_call_creds.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_socket_pair_request_response_with_payload_and_call_creds_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_socket_pair_request_response_with_payload_and_call_creds_test.exe" Debug\end2end_fixture_chttp2_socket_pair.lib Debug\end2end_test_request_response_with_payload_and_call_creds.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_socket_pair_request_response_with_payload_and_call_creds_test: chttp2_socket_pair_request_response_with_payload_and_call_creds_test.exe echo Running chttp2_socket_pair_request_response_with_payload_and_call_creds_test $(OUT_DIR)\chttp2_socket_pair_request_response_with_payload_and_call_creds_test.exe -chttp2_socket_pair_request_response_with_trailing_metadata_and_payload_test.exe: build_libs $(OUT_DIR) + +chttp2_socket_pair_request_response_with_trailing_metadata_and_payload_test.exe: Debug\end2end_fixture_chttp2_socket_pair.lib Debug\end2end_test_request_response_with_trailing_metadata_and_payload.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_socket_pair_request_response_with_trailing_metadata_and_payload_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_socket_pair_request_response_with_trailing_metadata_and_payload_test.exe" Debug\end2end_fixture_chttp2_socket_pair.lib Debug\end2end_test_request_response_with_trailing_metadata_and_payload.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_socket_pair_request_response_with_trailing_metadata_and_payload_test: chttp2_socket_pair_request_response_with_trailing_metadata_and_payload_test.exe echo Running chttp2_socket_pair_request_response_with_trailing_metadata_and_payload_test $(OUT_DIR)\chttp2_socket_pair_request_response_with_trailing_metadata_and_payload_test.exe -chttp2_socket_pair_request_with_compressed_payload_test.exe: build_libs $(OUT_DIR) + +chttp2_socket_pair_request_with_compressed_payload_test.exe: Debug\end2end_fixture_chttp2_socket_pair.lib Debug\end2end_test_request_with_compressed_payload.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_socket_pair_request_with_compressed_payload_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_socket_pair_request_with_compressed_payload_test.exe" Debug\end2end_fixture_chttp2_socket_pair.lib Debug\end2end_test_request_with_compressed_payload.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_socket_pair_request_with_compressed_payload_test: chttp2_socket_pair_request_with_compressed_payload_test.exe echo Running chttp2_socket_pair_request_with_compressed_payload_test $(OUT_DIR)\chttp2_socket_pair_request_with_compressed_payload_test.exe -chttp2_socket_pair_request_with_flags_test.exe: build_libs $(OUT_DIR) + +chttp2_socket_pair_request_with_flags_test.exe: Debug\end2end_fixture_chttp2_socket_pair.lib Debug\end2end_test_request_with_flags.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_socket_pair_request_with_flags_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_socket_pair_request_with_flags_test.exe" Debug\end2end_fixture_chttp2_socket_pair.lib Debug\end2end_test_request_with_flags.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_socket_pair_request_with_flags_test: chttp2_socket_pair_request_with_flags_test.exe echo Running chttp2_socket_pair_request_with_flags_test $(OUT_DIR)\chttp2_socket_pair_request_with_flags_test.exe -chttp2_socket_pair_request_with_large_metadata_test.exe: build_libs $(OUT_DIR) + +chttp2_socket_pair_request_with_large_metadata_test.exe: Debug\end2end_fixture_chttp2_socket_pair.lib Debug\end2end_test_request_with_large_metadata.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_socket_pair_request_with_large_metadata_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_socket_pair_request_with_large_metadata_test.exe" Debug\end2end_fixture_chttp2_socket_pair.lib Debug\end2end_test_request_with_large_metadata.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_socket_pair_request_with_large_metadata_test: chttp2_socket_pair_request_with_large_metadata_test.exe echo Running chttp2_socket_pair_request_with_large_metadata_test $(OUT_DIR)\chttp2_socket_pair_request_with_large_metadata_test.exe -chttp2_socket_pair_request_with_payload_test.exe: build_libs $(OUT_DIR) + +chttp2_socket_pair_request_with_payload_test.exe: Debug\end2end_fixture_chttp2_socket_pair.lib Debug\end2end_test_request_with_payload.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_socket_pair_request_with_payload_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_socket_pair_request_with_payload_test.exe" Debug\end2end_fixture_chttp2_socket_pair.lib Debug\end2end_test_request_with_payload.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_socket_pair_request_with_payload_test: chttp2_socket_pair_request_with_payload_test.exe echo Running chttp2_socket_pair_request_with_payload_test $(OUT_DIR)\chttp2_socket_pair_request_with_payload_test.exe -chttp2_socket_pair_server_finishes_request_test.exe: build_libs $(OUT_DIR) + +chttp2_socket_pair_server_finishes_request_test.exe: Debug\end2end_fixture_chttp2_socket_pair.lib Debug\end2end_test_server_finishes_request.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_socket_pair_server_finishes_request_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_socket_pair_server_finishes_request_test.exe" Debug\end2end_fixture_chttp2_socket_pair.lib Debug\end2end_test_server_finishes_request.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_socket_pair_server_finishes_request_test: chttp2_socket_pair_server_finishes_request_test.exe echo Running chttp2_socket_pair_server_finishes_request_test $(OUT_DIR)\chttp2_socket_pair_server_finishes_request_test.exe -chttp2_socket_pair_simple_request_test.exe: build_libs $(OUT_DIR) + +chttp2_socket_pair_simple_request_test.exe: Debug\end2end_fixture_chttp2_socket_pair.lib Debug\end2end_test_simple_request.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_socket_pair_simple_request_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_socket_pair_simple_request_test.exe" Debug\end2end_fixture_chttp2_socket_pair.lib Debug\end2end_test_simple_request.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_socket_pair_simple_request_test: chttp2_socket_pair_simple_request_test.exe echo Running chttp2_socket_pair_simple_request_test $(OUT_DIR)\chttp2_socket_pair_simple_request_test.exe -chttp2_socket_pair_simple_request_with_high_initial_sequence_number_test.exe: build_libs $(OUT_DIR) + +chttp2_socket_pair_simple_request_with_high_initial_sequence_number_test.exe: Debug\end2end_fixture_chttp2_socket_pair.lib Debug\end2end_test_simple_request_with_high_initial_sequence_number.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_socket_pair_simple_request_with_high_initial_sequence_number_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_socket_pair_simple_request_with_high_initial_sequence_number_test.exe" Debug\end2end_fixture_chttp2_socket_pair.lib Debug\end2end_test_simple_request_with_high_initial_sequence_number.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_socket_pair_simple_request_with_high_initial_sequence_number_test: chttp2_socket_pair_simple_request_with_high_initial_sequence_number_test.exe echo Running chttp2_socket_pair_simple_request_with_high_initial_sequence_number_test $(OUT_DIR)\chttp2_socket_pair_simple_request_with_high_initial_sequence_number_test.exe -chttp2_socket_pair_one_byte_at_a_time_bad_hostname_test.exe: build_libs $(OUT_DIR) + +chttp2_socket_pair_one_byte_at_a_time_bad_hostname_test.exe: Debug\end2end_fixture_chttp2_socket_pair_one_byte_at_a_time.lib Debug\end2end_test_bad_hostname.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_socket_pair_one_byte_at_a_time_bad_hostname_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_socket_pair_one_byte_at_a_time_bad_hostname_test.exe" Debug\end2end_fixture_chttp2_socket_pair_one_byte_at_a_time.lib Debug\end2end_test_bad_hostname.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_socket_pair_one_byte_at_a_time_bad_hostname_test: chttp2_socket_pair_one_byte_at_a_time_bad_hostname_test.exe echo Running chttp2_socket_pair_one_byte_at_a_time_bad_hostname_test $(OUT_DIR)\chttp2_socket_pair_one_byte_at_a_time_bad_hostname_test.exe -chttp2_socket_pair_one_byte_at_a_time_cancel_after_accept_test.exe: build_libs $(OUT_DIR) + +chttp2_socket_pair_one_byte_at_a_time_cancel_after_accept_test.exe: Debug\end2end_fixture_chttp2_socket_pair_one_byte_at_a_time.lib Debug\end2end_test_cancel_after_accept.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_socket_pair_one_byte_at_a_time_cancel_after_accept_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_socket_pair_one_byte_at_a_time_cancel_after_accept_test.exe" Debug\end2end_fixture_chttp2_socket_pair_one_byte_at_a_time.lib Debug\end2end_test_cancel_after_accept.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_socket_pair_one_byte_at_a_time_cancel_after_accept_test: chttp2_socket_pair_one_byte_at_a_time_cancel_after_accept_test.exe echo Running chttp2_socket_pair_one_byte_at_a_time_cancel_after_accept_test $(OUT_DIR)\chttp2_socket_pair_one_byte_at_a_time_cancel_after_accept_test.exe -chttp2_socket_pair_one_byte_at_a_time_cancel_after_accept_and_writes_closed_test.exe: build_libs $(OUT_DIR) + +chttp2_socket_pair_one_byte_at_a_time_cancel_after_accept_and_writes_closed_test.exe: Debug\end2end_fixture_chttp2_socket_pair_one_byte_at_a_time.lib Debug\end2end_test_cancel_after_accept_and_writes_closed.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_socket_pair_one_byte_at_a_time_cancel_after_accept_and_writes_closed_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_socket_pair_one_byte_at_a_time_cancel_after_accept_and_writes_closed_test.exe" Debug\end2end_fixture_chttp2_socket_pair_one_byte_at_a_time.lib Debug\end2end_test_cancel_after_accept_and_writes_closed.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_socket_pair_one_byte_at_a_time_cancel_after_accept_and_writes_closed_test: chttp2_socket_pair_one_byte_at_a_time_cancel_after_accept_and_writes_closed_test.exe echo Running chttp2_socket_pair_one_byte_at_a_time_cancel_after_accept_and_writes_closed_test $(OUT_DIR)\chttp2_socket_pair_one_byte_at_a_time_cancel_after_accept_and_writes_closed_test.exe -chttp2_socket_pair_one_byte_at_a_time_cancel_after_invoke_test.exe: build_libs $(OUT_DIR) + +chttp2_socket_pair_one_byte_at_a_time_cancel_after_invoke_test.exe: Debug\end2end_fixture_chttp2_socket_pair_one_byte_at_a_time.lib Debug\end2end_test_cancel_after_invoke.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_socket_pair_one_byte_at_a_time_cancel_after_invoke_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_socket_pair_one_byte_at_a_time_cancel_after_invoke_test.exe" Debug\end2end_fixture_chttp2_socket_pair_one_byte_at_a_time.lib Debug\end2end_test_cancel_after_invoke.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_socket_pair_one_byte_at_a_time_cancel_after_invoke_test: chttp2_socket_pair_one_byte_at_a_time_cancel_after_invoke_test.exe echo Running chttp2_socket_pair_one_byte_at_a_time_cancel_after_invoke_test $(OUT_DIR)\chttp2_socket_pair_one_byte_at_a_time_cancel_after_invoke_test.exe -chttp2_socket_pair_one_byte_at_a_time_cancel_before_invoke_test.exe: build_libs $(OUT_DIR) + +chttp2_socket_pair_one_byte_at_a_time_cancel_before_invoke_test.exe: Debug\end2end_fixture_chttp2_socket_pair_one_byte_at_a_time.lib Debug\end2end_test_cancel_before_invoke.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_socket_pair_one_byte_at_a_time_cancel_before_invoke_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_socket_pair_one_byte_at_a_time_cancel_before_invoke_test.exe" Debug\end2end_fixture_chttp2_socket_pair_one_byte_at_a_time.lib Debug\end2end_test_cancel_before_invoke.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_socket_pair_one_byte_at_a_time_cancel_before_invoke_test: chttp2_socket_pair_one_byte_at_a_time_cancel_before_invoke_test.exe echo Running chttp2_socket_pair_one_byte_at_a_time_cancel_before_invoke_test $(OUT_DIR)\chttp2_socket_pair_one_byte_at_a_time_cancel_before_invoke_test.exe -chttp2_socket_pair_one_byte_at_a_time_cancel_in_a_vacuum_test.exe: build_libs $(OUT_DIR) + +chttp2_socket_pair_one_byte_at_a_time_cancel_in_a_vacuum_test.exe: Debug\end2end_fixture_chttp2_socket_pair_one_byte_at_a_time.lib Debug\end2end_test_cancel_in_a_vacuum.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_socket_pair_one_byte_at_a_time_cancel_in_a_vacuum_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_socket_pair_one_byte_at_a_time_cancel_in_a_vacuum_test.exe" Debug\end2end_fixture_chttp2_socket_pair_one_byte_at_a_time.lib Debug\end2end_test_cancel_in_a_vacuum.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_socket_pair_one_byte_at_a_time_cancel_in_a_vacuum_test: chttp2_socket_pair_one_byte_at_a_time_cancel_in_a_vacuum_test.exe echo Running chttp2_socket_pair_one_byte_at_a_time_cancel_in_a_vacuum_test $(OUT_DIR)\chttp2_socket_pair_one_byte_at_a_time_cancel_in_a_vacuum_test.exe -chttp2_socket_pair_one_byte_at_a_time_census_simple_request_test.exe: build_libs $(OUT_DIR) + +chttp2_socket_pair_one_byte_at_a_time_census_simple_request_test.exe: Debug\end2end_fixture_chttp2_socket_pair_one_byte_at_a_time.lib Debug\end2end_test_census_simple_request.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_socket_pair_one_byte_at_a_time_census_simple_request_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_socket_pair_one_byte_at_a_time_census_simple_request_test.exe" Debug\end2end_fixture_chttp2_socket_pair_one_byte_at_a_time.lib Debug\end2end_test_census_simple_request.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_socket_pair_one_byte_at_a_time_census_simple_request_test: chttp2_socket_pair_one_byte_at_a_time_census_simple_request_test.exe echo Running chttp2_socket_pair_one_byte_at_a_time_census_simple_request_test $(OUT_DIR)\chttp2_socket_pair_one_byte_at_a_time_census_simple_request_test.exe -chttp2_socket_pair_one_byte_at_a_time_early_server_shutdown_finishes_inflight_calls_test.exe: build_libs $(OUT_DIR) + +chttp2_socket_pair_one_byte_at_a_time_early_server_shutdown_finishes_inflight_calls_test.exe: Debug\end2end_fixture_chttp2_socket_pair_one_byte_at_a_time.lib Debug\end2end_test_early_server_shutdown_finishes_inflight_calls.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_socket_pair_one_byte_at_a_time_early_server_shutdown_finishes_inflight_calls_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_socket_pair_one_byte_at_a_time_early_server_shutdown_finishes_inflight_calls_test.exe" Debug\end2end_fixture_chttp2_socket_pair_one_byte_at_a_time.lib Debug\end2end_test_early_server_shutdown_finishes_inflight_calls.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_socket_pair_one_byte_at_a_time_early_server_shutdown_finishes_inflight_calls_test: chttp2_socket_pair_one_byte_at_a_time_early_server_shutdown_finishes_inflight_calls_test.exe echo Running chttp2_socket_pair_one_byte_at_a_time_early_server_shutdown_finishes_inflight_calls_test $(OUT_DIR)\chttp2_socket_pair_one_byte_at_a_time_early_server_shutdown_finishes_inflight_calls_test.exe -chttp2_socket_pair_one_byte_at_a_time_early_server_shutdown_finishes_tags_test.exe: build_libs $(OUT_DIR) + +chttp2_socket_pair_one_byte_at_a_time_early_server_shutdown_finishes_tags_test.exe: Debug\end2end_fixture_chttp2_socket_pair_one_byte_at_a_time.lib Debug\end2end_test_early_server_shutdown_finishes_tags.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_socket_pair_one_byte_at_a_time_early_server_shutdown_finishes_tags_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_socket_pair_one_byte_at_a_time_early_server_shutdown_finishes_tags_test.exe" Debug\end2end_fixture_chttp2_socket_pair_one_byte_at_a_time.lib Debug\end2end_test_early_server_shutdown_finishes_tags.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_socket_pair_one_byte_at_a_time_early_server_shutdown_finishes_tags_test: chttp2_socket_pair_one_byte_at_a_time_early_server_shutdown_finishes_tags_test.exe echo Running chttp2_socket_pair_one_byte_at_a_time_early_server_shutdown_finishes_tags_test $(OUT_DIR)\chttp2_socket_pair_one_byte_at_a_time_early_server_shutdown_finishes_tags_test.exe -chttp2_socket_pair_one_byte_at_a_time_empty_batch_test.exe: build_libs $(OUT_DIR) + +chttp2_socket_pair_one_byte_at_a_time_empty_batch_test.exe: Debug\end2end_fixture_chttp2_socket_pair_one_byte_at_a_time.lib Debug\end2end_test_empty_batch.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_socket_pair_one_byte_at_a_time_empty_batch_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_socket_pair_one_byte_at_a_time_empty_batch_test.exe" Debug\end2end_fixture_chttp2_socket_pair_one_byte_at_a_time.lib Debug\end2end_test_empty_batch.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_socket_pair_one_byte_at_a_time_empty_batch_test: chttp2_socket_pair_one_byte_at_a_time_empty_batch_test.exe echo Running chttp2_socket_pair_one_byte_at_a_time_empty_batch_test $(OUT_DIR)\chttp2_socket_pair_one_byte_at_a_time_empty_batch_test.exe -chttp2_socket_pair_one_byte_at_a_time_graceful_server_shutdown_test.exe: build_libs $(OUT_DIR) + +chttp2_socket_pair_one_byte_at_a_time_graceful_server_shutdown_test.exe: Debug\end2end_fixture_chttp2_socket_pair_one_byte_at_a_time.lib Debug\end2end_test_graceful_server_shutdown.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_socket_pair_one_byte_at_a_time_graceful_server_shutdown_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_socket_pair_one_byte_at_a_time_graceful_server_shutdown_test.exe" Debug\end2end_fixture_chttp2_socket_pair_one_byte_at_a_time.lib Debug\end2end_test_graceful_server_shutdown.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_socket_pair_one_byte_at_a_time_graceful_server_shutdown_test: chttp2_socket_pair_one_byte_at_a_time_graceful_server_shutdown_test.exe echo Running chttp2_socket_pair_one_byte_at_a_time_graceful_server_shutdown_test $(OUT_DIR)\chttp2_socket_pair_one_byte_at_a_time_graceful_server_shutdown_test.exe -chttp2_socket_pair_one_byte_at_a_time_invoke_large_request_test.exe: build_libs $(OUT_DIR) + +chttp2_socket_pair_one_byte_at_a_time_invoke_large_request_test.exe: Debug\end2end_fixture_chttp2_socket_pair_one_byte_at_a_time.lib Debug\end2end_test_invoke_large_request.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_socket_pair_one_byte_at_a_time_invoke_large_request_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_socket_pair_one_byte_at_a_time_invoke_large_request_test.exe" Debug\end2end_fixture_chttp2_socket_pair_one_byte_at_a_time.lib Debug\end2end_test_invoke_large_request.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_socket_pair_one_byte_at_a_time_invoke_large_request_test: chttp2_socket_pair_one_byte_at_a_time_invoke_large_request_test.exe echo Running chttp2_socket_pair_one_byte_at_a_time_invoke_large_request_test $(OUT_DIR)\chttp2_socket_pair_one_byte_at_a_time_invoke_large_request_test.exe -chttp2_socket_pair_one_byte_at_a_time_max_concurrent_streams_test.exe: build_libs $(OUT_DIR) + +chttp2_socket_pair_one_byte_at_a_time_max_concurrent_streams_test.exe: Debug\end2end_fixture_chttp2_socket_pair_one_byte_at_a_time.lib Debug\end2end_test_max_concurrent_streams.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_socket_pair_one_byte_at_a_time_max_concurrent_streams_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_socket_pair_one_byte_at_a_time_max_concurrent_streams_test.exe" Debug\end2end_fixture_chttp2_socket_pair_one_byte_at_a_time.lib Debug\end2end_test_max_concurrent_streams.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_socket_pair_one_byte_at_a_time_max_concurrent_streams_test: chttp2_socket_pair_one_byte_at_a_time_max_concurrent_streams_test.exe echo Running chttp2_socket_pair_one_byte_at_a_time_max_concurrent_streams_test $(OUT_DIR)\chttp2_socket_pair_one_byte_at_a_time_max_concurrent_streams_test.exe -chttp2_socket_pair_one_byte_at_a_time_max_message_length_test.exe: build_libs $(OUT_DIR) + +chttp2_socket_pair_one_byte_at_a_time_max_message_length_test.exe: Debug\end2end_fixture_chttp2_socket_pair_one_byte_at_a_time.lib Debug\end2end_test_max_message_length.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_socket_pair_one_byte_at_a_time_max_message_length_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_socket_pair_one_byte_at_a_time_max_message_length_test.exe" Debug\end2end_fixture_chttp2_socket_pair_one_byte_at_a_time.lib Debug\end2end_test_max_message_length.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_socket_pair_one_byte_at_a_time_max_message_length_test: chttp2_socket_pair_one_byte_at_a_time_max_message_length_test.exe echo Running chttp2_socket_pair_one_byte_at_a_time_max_message_length_test $(OUT_DIR)\chttp2_socket_pair_one_byte_at_a_time_max_message_length_test.exe -chttp2_socket_pair_one_byte_at_a_time_no_op_test.exe: build_libs $(OUT_DIR) + +chttp2_socket_pair_one_byte_at_a_time_no_op_test.exe: Debug\end2end_fixture_chttp2_socket_pair_one_byte_at_a_time.lib Debug\end2end_test_no_op.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_socket_pair_one_byte_at_a_time_no_op_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_socket_pair_one_byte_at_a_time_no_op_test.exe" Debug\end2end_fixture_chttp2_socket_pair_one_byte_at_a_time.lib Debug\end2end_test_no_op.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_socket_pair_one_byte_at_a_time_no_op_test: chttp2_socket_pair_one_byte_at_a_time_no_op_test.exe echo Running chttp2_socket_pair_one_byte_at_a_time_no_op_test $(OUT_DIR)\chttp2_socket_pair_one_byte_at_a_time_no_op_test.exe -chttp2_socket_pair_one_byte_at_a_time_ping_pong_streaming_test.exe: build_libs $(OUT_DIR) + +chttp2_socket_pair_one_byte_at_a_time_ping_pong_streaming_test.exe: Debug\end2end_fixture_chttp2_socket_pair_one_byte_at_a_time.lib Debug\end2end_test_ping_pong_streaming.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_socket_pair_one_byte_at_a_time_ping_pong_streaming_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_socket_pair_one_byte_at_a_time_ping_pong_streaming_test.exe" Debug\end2end_fixture_chttp2_socket_pair_one_byte_at_a_time.lib Debug\end2end_test_ping_pong_streaming.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_socket_pair_one_byte_at_a_time_ping_pong_streaming_test: chttp2_socket_pair_one_byte_at_a_time_ping_pong_streaming_test.exe echo Running chttp2_socket_pair_one_byte_at_a_time_ping_pong_streaming_test $(OUT_DIR)\chttp2_socket_pair_one_byte_at_a_time_ping_pong_streaming_test.exe -chttp2_socket_pair_one_byte_at_a_time_registered_call_test.exe: build_libs $(OUT_DIR) + +chttp2_socket_pair_one_byte_at_a_time_registered_call_test.exe: Debug\end2end_fixture_chttp2_socket_pair_one_byte_at_a_time.lib Debug\end2end_test_registered_call.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_socket_pair_one_byte_at_a_time_registered_call_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_socket_pair_one_byte_at_a_time_registered_call_test.exe" Debug\end2end_fixture_chttp2_socket_pair_one_byte_at_a_time.lib Debug\end2end_test_registered_call.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_socket_pair_one_byte_at_a_time_registered_call_test: chttp2_socket_pair_one_byte_at_a_time_registered_call_test.exe echo Running chttp2_socket_pair_one_byte_at_a_time_registered_call_test $(OUT_DIR)\chttp2_socket_pair_one_byte_at_a_time_registered_call_test.exe -chttp2_socket_pair_one_byte_at_a_time_request_response_with_binary_metadata_and_payload_test.exe: build_libs $(OUT_DIR) + +chttp2_socket_pair_one_byte_at_a_time_request_response_with_binary_metadata_and_payload_test.exe: Debug\end2end_fixture_chttp2_socket_pair_one_byte_at_a_time.lib Debug\end2end_test_request_response_with_binary_metadata_and_payload.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_socket_pair_one_byte_at_a_time_request_response_with_binary_metadata_and_payload_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_socket_pair_one_byte_at_a_time_request_response_with_binary_metadata_and_payload_test.exe" Debug\end2end_fixture_chttp2_socket_pair_one_byte_at_a_time.lib Debug\end2end_test_request_response_with_binary_metadata_and_payload.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_socket_pair_one_byte_at_a_time_request_response_with_binary_metadata_and_payload_test: chttp2_socket_pair_one_byte_at_a_time_request_response_with_binary_metadata_and_payload_test.exe echo Running chttp2_socket_pair_one_byte_at_a_time_request_response_with_binary_metadata_and_payload_test $(OUT_DIR)\chttp2_socket_pair_one_byte_at_a_time_request_response_with_binary_metadata_and_payload_test.exe -chttp2_socket_pair_one_byte_at_a_time_request_response_with_metadata_and_payload_test.exe: build_libs $(OUT_DIR) + +chttp2_socket_pair_one_byte_at_a_time_request_response_with_metadata_and_payload_test.exe: Debug\end2end_fixture_chttp2_socket_pair_one_byte_at_a_time.lib Debug\end2end_test_request_response_with_metadata_and_payload.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_socket_pair_one_byte_at_a_time_request_response_with_metadata_and_payload_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_socket_pair_one_byte_at_a_time_request_response_with_metadata_and_payload_test.exe" Debug\end2end_fixture_chttp2_socket_pair_one_byte_at_a_time.lib Debug\end2end_test_request_response_with_metadata_and_payload.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_socket_pair_one_byte_at_a_time_request_response_with_metadata_and_payload_test: chttp2_socket_pair_one_byte_at_a_time_request_response_with_metadata_and_payload_test.exe echo Running chttp2_socket_pair_one_byte_at_a_time_request_response_with_metadata_and_payload_test $(OUT_DIR)\chttp2_socket_pair_one_byte_at_a_time_request_response_with_metadata_and_payload_test.exe -chttp2_socket_pair_one_byte_at_a_time_request_response_with_payload_test.exe: build_libs $(OUT_DIR) + +chttp2_socket_pair_one_byte_at_a_time_request_response_with_payload_test.exe: Debug\end2end_fixture_chttp2_socket_pair_one_byte_at_a_time.lib Debug\end2end_test_request_response_with_payload.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_socket_pair_one_byte_at_a_time_request_response_with_payload_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_socket_pair_one_byte_at_a_time_request_response_with_payload_test.exe" Debug\end2end_fixture_chttp2_socket_pair_one_byte_at_a_time.lib Debug\end2end_test_request_response_with_payload.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_socket_pair_one_byte_at_a_time_request_response_with_payload_test: chttp2_socket_pair_one_byte_at_a_time_request_response_with_payload_test.exe echo Running chttp2_socket_pair_one_byte_at_a_time_request_response_with_payload_test $(OUT_DIR)\chttp2_socket_pair_one_byte_at_a_time_request_response_with_payload_test.exe -chttp2_socket_pair_one_byte_at_a_time_request_response_with_payload_and_call_creds_test.exe: build_libs $(OUT_DIR) + +chttp2_socket_pair_one_byte_at_a_time_request_response_with_payload_and_call_creds_test.exe: Debug\end2end_fixture_chttp2_socket_pair_one_byte_at_a_time.lib Debug\end2end_test_request_response_with_payload_and_call_creds.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_socket_pair_one_byte_at_a_time_request_response_with_payload_and_call_creds_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_socket_pair_one_byte_at_a_time_request_response_with_payload_and_call_creds_test.exe" Debug\end2end_fixture_chttp2_socket_pair_one_byte_at_a_time.lib Debug\end2end_test_request_response_with_payload_and_call_creds.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_socket_pair_one_byte_at_a_time_request_response_with_payload_and_call_creds_test: chttp2_socket_pair_one_byte_at_a_time_request_response_with_payload_and_call_creds_test.exe echo Running chttp2_socket_pair_one_byte_at_a_time_request_response_with_payload_and_call_creds_test $(OUT_DIR)\chttp2_socket_pair_one_byte_at_a_time_request_response_with_payload_and_call_creds_test.exe -chttp2_socket_pair_one_byte_at_a_time_request_response_with_trailing_metadata_and_payload_test.exe: build_libs $(OUT_DIR) + +chttp2_socket_pair_one_byte_at_a_time_request_response_with_trailing_metadata_and_payload_test.exe: Debug\end2end_fixture_chttp2_socket_pair_one_byte_at_a_time.lib Debug\end2end_test_request_response_with_trailing_metadata_and_payload.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_socket_pair_one_byte_at_a_time_request_response_with_trailing_metadata_and_payload_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_socket_pair_one_byte_at_a_time_request_response_with_trailing_metadata_and_payload_test.exe" Debug\end2end_fixture_chttp2_socket_pair_one_byte_at_a_time.lib Debug\end2end_test_request_response_with_trailing_metadata_and_payload.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_socket_pair_one_byte_at_a_time_request_response_with_trailing_metadata_and_payload_test: chttp2_socket_pair_one_byte_at_a_time_request_response_with_trailing_metadata_and_payload_test.exe echo Running chttp2_socket_pair_one_byte_at_a_time_request_response_with_trailing_metadata_and_payload_test $(OUT_DIR)\chttp2_socket_pair_one_byte_at_a_time_request_response_with_trailing_metadata_and_payload_test.exe -chttp2_socket_pair_one_byte_at_a_time_request_with_compressed_payload_test.exe: build_libs $(OUT_DIR) + +chttp2_socket_pair_one_byte_at_a_time_request_with_compressed_payload_test.exe: Debug\end2end_fixture_chttp2_socket_pair_one_byte_at_a_time.lib Debug\end2end_test_request_with_compressed_payload.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_socket_pair_one_byte_at_a_time_request_with_compressed_payload_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_socket_pair_one_byte_at_a_time_request_with_compressed_payload_test.exe" Debug\end2end_fixture_chttp2_socket_pair_one_byte_at_a_time.lib Debug\end2end_test_request_with_compressed_payload.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_socket_pair_one_byte_at_a_time_request_with_compressed_payload_test: chttp2_socket_pair_one_byte_at_a_time_request_with_compressed_payload_test.exe echo Running chttp2_socket_pair_one_byte_at_a_time_request_with_compressed_payload_test $(OUT_DIR)\chttp2_socket_pair_one_byte_at_a_time_request_with_compressed_payload_test.exe -chttp2_socket_pair_one_byte_at_a_time_request_with_flags_test.exe: build_libs $(OUT_DIR) + +chttp2_socket_pair_one_byte_at_a_time_request_with_flags_test.exe: Debug\end2end_fixture_chttp2_socket_pair_one_byte_at_a_time.lib Debug\end2end_test_request_with_flags.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_socket_pair_one_byte_at_a_time_request_with_flags_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_socket_pair_one_byte_at_a_time_request_with_flags_test.exe" Debug\end2end_fixture_chttp2_socket_pair_one_byte_at_a_time.lib Debug\end2end_test_request_with_flags.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_socket_pair_one_byte_at_a_time_request_with_flags_test: chttp2_socket_pair_one_byte_at_a_time_request_with_flags_test.exe echo Running chttp2_socket_pair_one_byte_at_a_time_request_with_flags_test $(OUT_DIR)\chttp2_socket_pair_one_byte_at_a_time_request_with_flags_test.exe -chttp2_socket_pair_one_byte_at_a_time_request_with_large_metadata_test.exe: build_libs $(OUT_DIR) + +chttp2_socket_pair_one_byte_at_a_time_request_with_large_metadata_test.exe: Debug\end2end_fixture_chttp2_socket_pair_one_byte_at_a_time.lib Debug\end2end_test_request_with_large_metadata.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_socket_pair_one_byte_at_a_time_request_with_large_metadata_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_socket_pair_one_byte_at_a_time_request_with_large_metadata_test.exe" Debug\end2end_fixture_chttp2_socket_pair_one_byte_at_a_time.lib Debug\end2end_test_request_with_large_metadata.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_socket_pair_one_byte_at_a_time_request_with_large_metadata_test: chttp2_socket_pair_one_byte_at_a_time_request_with_large_metadata_test.exe echo Running chttp2_socket_pair_one_byte_at_a_time_request_with_large_metadata_test $(OUT_DIR)\chttp2_socket_pair_one_byte_at_a_time_request_with_large_metadata_test.exe -chttp2_socket_pair_one_byte_at_a_time_request_with_payload_test.exe: build_libs $(OUT_DIR) + +chttp2_socket_pair_one_byte_at_a_time_request_with_payload_test.exe: Debug\end2end_fixture_chttp2_socket_pair_one_byte_at_a_time.lib Debug\end2end_test_request_with_payload.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_socket_pair_one_byte_at_a_time_request_with_payload_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_socket_pair_one_byte_at_a_time_request_with_payload_test.exe" Debug\end2end_fixture_chttp2_socket_pair_one_byte_at_a_time.lib Debug\end2end_test_request_with_payload.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_socket_pair_one_byte_at_a_time_request_with_payload_test: chttp2_socket_pair_one_byte_at_a_time_request_with_payload_test.exe echo Running chttp2_socket_pair_one_byte_at_a_time_request_with_payload_test $(OUT_DIR)\chttp2_socket_pair_one_byte_at_a_time_request_with_payload_test.exe -chttp2_socket_pair_one_byte_at_a_time_server_finishes_request_test.exe: build_libs $(OUT_DIR) + +chttp2_socket_pair_one_byte_at_a_time_server_finishes_request_test.exe: Debug\end2end_fixture_chttp2_socket_pair_one_byte_at_a_time.lib Debug\end2end_test_server_finishes_request.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_socket_pair_one_byte_at_a_time_server_finishes_request_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_socket_pair_one_byte_at_a_time_server_finishes_request_test.exe" Debug\end2end_fixture_chttp2_socket_pair_one_byte_at_a_time.lib Debug\end2end_test_server_finishes_request.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_socket_pair_one_byte_at_a_time_server_finishes_request_test: chttp2_socket_pair_one_byte_at_a_time_server_finishes_request_test.exe echo Running chttp2_socket_pair_one_byte_at_a_time_server_finishes_request_test $(OUT_DIR)\chttp2_socket_pair_one_byte_at_a_time_server_finishes_request_test.exe -chttp2_socket_pair_one_byte_at_a_time_simple_request_test.exe: build_libs $(OUT_DIR) + +chttp2_socket_pair_one_byte_at_a_time_simple_request_test.exe: Debug\end2end_fixture_chttp2_socket_pair_one_byte_at_a_time.lib Debug\end2end_test_simple_request.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_socket_pair_one_byte_at_a_time_simple_request_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_socket_pair_one_byte_at_a_time_simple_request_test.exe" Debug\end2end_fixture_chttp2_socket_pair_one_byte_at_a_time.lib Debug\end2end_test_simple_request.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_socket_pair_one_byte_at_a_time_simple_request_test: chttp2_socket_pair_one_byte_at_a_time_simple_request_test.exe echo Running chttp2_socket_pair_one_byte_at_a_time_simple_request_test $(OUT_DIR)\chttp2_socket_pair_one_byte_at_a_time_simple_request_test.exe -chttp2_socket_pair_one_byte_at_a_time_simple_request_with_high_initial_sequence_number_test.exe: build_libs $(OUT_DIR) + +chttp2_socket_pair_one_byte_at_a_time_simple_request_with_high_initial_sequence_number_test.exe: Debug\end2end_fixture_chttp2_socket_pair_one_byte_at_a_time.lib Debug\end2end_test_simple_request_with_high_initial_sequence_number.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_socket_pair_one_byte_at_a_time_simple_request_with_high_initial_sequence_number_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_socket_pair_one_byte_at_a_time_simple_request_with_high_initial_sequence_number_test.exe" Debug\end2end_fixture_chttp2_socket_pair_one_byte_at_a_time.lib Debug\end2end_test_simple_request_with_high_initial_sequence_number.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_socket_pair_one_byte_at_a_time_simple_request_with_high_initial_sequence_number_test: chttp2_socket_pair_one_byte_at_a_time_simple_request_with_high_initial_sequence_number_test.exe echo Running chttp2_socket_pair_one_byte_at_a_time_simple_request_with_high_initial_sequence_number_test $(OUT_DIR)\chttp2_socket_pair_one_byte_at_a_time_simple_request_with_high_initial_sequence_number_test.exe -chttp2_socket_pair_with_grpc_trace_bad_hostname_test.exe: build_libs $(OUT_DIR) + +chttp2_socket_pair_with_grpc_trace_bad_hostname_test.exe: Debug\end2end_fixture_chttp2_socket_pair_with_grpc_trace.lib Debug\end2end_test_bad_hostname.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_socket_pair_with_grpc_trace_bad_hostname_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_socket_pair_with_grpc_trace_bad_hostname_test.exe" Debug\end2end_fixture_chttp2_socket_pair_with_grpc_trace.lib Debug\end2end_test_bad_hostname.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_socket_pair_with_grpc_trace_bad_hostname_test: chttp2_socket_pair_with_grpc_trace_bad_hostname_test.exe echo Running chttp2_socket_pair_with_grpc_trace_bad_hostname_test $(OUT_DIR)\chttp2_socket_pair_with_grpc_trace_bad_hostname_test.exe -chttp2_socket_pair_with_grpc_trace_cancel_after_accept_test.exe: build_libs $(OUT_DIR) + +chttp2_socket_pair_with_grpc_trace_cancel_after_accept_test.exe: Debug\end2end_fixture_chttp2_socket_pair_with_grpc_trace.lib Debug\end2end_test_cancel_after_accept.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_socket_pair_with_grpc_trace_cancel_after_accept_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_socket_pair_with_grpc_trace_cancel_after_accept_test.exe" Debug\end2end_fixture_chttp2_socket_pair_with_grpc_trace.lib Debug\end2end_test_cancel_after_accept.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_socket_pair_with_grpc_trace_cancel_after_accept_test: chttp2_socket_pair_with_grpc_trace_cancel_after_accept_test.exe echo Running chttp2_socket_pair_with_grpc_trace_cancel_after_accept_test $(OUT_DIR)\chttp2_socket_pair_with_grpc_trace_cancel_after_accept_test.exe -chttp2_socket_pair_with_grpc_trace_cancel_after_accept_and_writes_closed_test.exe: build_libs $(OUT_DIR) + +chttp2_socket_pair_with_grpc_trace_cancel_after_accept_and_writes_closed_test.exe: Debug\end2end_fixture_chttp2_socket_pair_with_grpc_trace.lib Debug\end2end_test_cancel_after_accept_and_writes_closed.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_socket_pair_with_grpc_trace_cancel_after_accept_and_writes_closed_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_socket_pair_with_grpc_trace_cancel_after_accept_and_writes_closed_test.exe" Debug\end2end_fixture_chttp2_socket_pair_with_grpc_trace.lib Debug\end2end_test_cancel_after_accept_and_writes_closed.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_socket_pair_with_grpc_trace_cancel_after_accept_and_writes_closed_test: chttp2_socket_pair_with_grpc_trace_cancel_after_accept_and_writes_closed_test.exe echo Running chttp2_socket_pair_with_grpc_trace_cancel_after_accept_and_writes_closed_test $(OUT_DIR)\chttp2_socket_pair_with_grpc_trace_cancel_after_accept_and_writes_closed_test.exe -chttp2_socket_pair_with_grpc_trace_cancel_after_invoke_test.exe: build_libs $(OUT_DIR) + +chttp2_socket_pair_with_grpc_trace_cancel_after_invoke_test.exe: Debug\end2end_fixture_chttp2_socket_pair_with_grpc_trace.lib Debug\end2end_test_cancel_after_invoke.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_socket_pair_with_grpc_trace_cancel_after_invoke_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_socket_pair_with_grpc_trace_cancel_after_invoke_test.exe" Debug\end2end_fixture_chttp2_socket_pair_with_grpc_trace.lib Debug\end2end_test_cancel_after_invoke.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_socket_pair_with_grpc_trace_cancel_after_invoke_test: chttp2_socket_pair_with_grpc_trace_cancel_after_invoke_test.exe echo Running chttp2_socket_pair_with_grpc_trace_cancel_after_invoke_test $(OUT_DIR)\chttp2_socket_pair_with_grpc_trace_cancel_after_invoke_test.exe -chttp2_socket_pair_with_grpc_trace_cancel_before_invoke_test.exe: build_libs $(OUT_DIR) + +chttp2_socket_pair_with_grpc_trace_cancel_before_invoke_test.exe: Debug\end2end_fixture_chttp2_socket_pair_with_grpc_trace.lib Debug\end2end_test_cancel_before_invoke.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_socket_pair_with_grpc_trace_cancel_before_invoke_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_socket_pair_with_grpc_trace_cancel_before_invoke_test.exe" Debug\end2end_fixture_chttp2_socket_pair_with_grpc_trace.lib Debug\end2end_test_cancel_before_invoke.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_socket_pair_with_grpc_trace_cancel_before_invoke_test: chttp2_socket_pair_with_grpc_trace_cancel_before_invoke_test.exe echo Running chttp2_socket_pair_with_grpc_trace_cancel_before_invoke_test $(OUT_DIR)\chttp2_socket_pair_with_grpc_trace_cancel_before_invoke_test.exe -chttp2_socket_pair_with_grpc_trace_cancel_in_a_vacuum_test.exe: build_libs $(OUT_DIR) + +chttp2_socket_pair_with_grpc_trace_cancel_in_a_vacuum_test.exe: Debug\end2end_fixture_chttp2_socket_pair_with_grpc_trace.lib Debug\end2end_test_cancel_in_a_vacuum.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_socket_pair_with_grpc_trace_cancel_in_a_vacuum_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_socket_pair_with_grpc_trace_cancel_in_a_vacuum_test.exe" Debug\end2end_fixture_chttp2_socket_pair_with_grpc_trace.lib Debug\end2end_test_cancel_in_a_vacuum.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_socket_pair_with_grpc_trace_cancel_in_a_vacuum_test: chttp2_socket_pair_with_grpc_trace_cancel_in_a_vacuum_test.exe echo Running chttp2_socket_pair_with_grpc_trace_cancel_in_a_vacuum_test $(OUT_DIR)\chttp2_socket_pair_with_grpc_trace_cancel_in_a_vacuum_test.exe -chttp2_socket_pair_with_grpc_trace_census_simple_request_test.exe: build_libs $(OUT_DIR) + +chttp2_socket_pair_with_grpc_trace_census_simple_request_test.exe: Debug\end2end_fixture_chttp2_socket_pair_with_grpc_trace.lib Debug\end2end_test_census_simple_request.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_socket_pair_with_grpc_trace_census_simple_request_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_socket_pair_with_grpc_trace_census_simple_request_test.exe" Debug\end2end_fixture_chttp2_socket_pair_with_grpc_trace.lib Debug\end2end_test_census_simple_request.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_socket_pair_with_grpc_trace_census_simple_request_test: chttp2_socket_pair_with_grpc_trace_census_simple_request_test.exe echo Running chttp2_socket_pair_with_grpc_trace_census_simple_request_test $(OUT_DIR)\chttp2_socket_pair_with_grpc_trace_census_simple_request_test.exe -chttp2_socket_pair_with_grpc_trace_early_server_shutdown_finishes_inflight_calls_test.exe: build_libs $(OUT_DIR) + +chttp2_socket_pair_with_grpc_trace_early_server_shutdown_finishes_inflight_calls_test.exe: Debug\end2end_fixture_chttp2_socket_pair_with_grpc_trace.lib Debug\end2end_test_early_server_shutdown_finishes_inflight_calls.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_socket_pair_with_grpc_trace_early_server_shutdown_finishes_inflight_calls_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_socket_pair_with_grpc_trace_early_server_shutdown_finishes_inflight_calls_test.exe" Debug\end2end_fixture_chttp2_socket_pair_with_grpc_trace.lib Debug\end2end_test_early_server_shutdown_finishes_inflight_calls.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_socket_pair_with_grpc_trace_early_server_shutdown_finishes_inflight_calls_test: chttp2_socket_pair_with_grpc_trace_early_server_shutdown_finishes_inflight_calls_test.exe echo Running chttp2_socket_pair_with_grpc_trace_early_server_shutdown_finishes_inflight_calls_test $(OUT_DIR)\chttp2_socket_pair_with_grpc_trace_early_server_shutdown_finishes_inflight_calls_test.exe -chttp2_socket_pair_with_grpc_trace_early_server_shutdown_finishes_tags_test.exe: build_libs $(OUT_DIR) + +chttp2_socket_pair_with_grpc_trace_early_server_shutdown_finishes_tags_test.exe: Debug\end2end_fixture_chttp2_socket_pair_with_grpc_trace.lib Debug\end2end_test_early_server_shutdown_finishes_tags.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_socket_pair_with_grpc_trace_early_server_shutdown_finishes_tags_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_socket_pair_with_grpc_trace_early_server_shutdown_finishes_tags_test.exe" Debug\end2end_fixture_chttp2_socket_pair_with_grpc_trace.lib Debug\end2end_test_early_server_shutdown_finishes_tags.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_socket_pair_with_grpc_trace_early_server_shutdown_finishes_tags_test: chttp2_socket_pair_with_grpc_trace_early_server_shutdown_finishes_tags_test.exe echo Running chttp2_socket_pair_with_grpc_trace_early_server_shutdown_finishes_tags_test $(OUT_DIR)\chttp2_socket_pair_with_grpc_trace_early_server_shutdown_finishes_tags_test.exe -chttp2_socket_pair_with_grpc_trace_empty_batch_test.exe: build_libs $(OUT_DIR) + +chttp2_socket_pair_with_grpc_trace_empty_batch_test.exe: Debug\end2end_fixture_chttp2_socket_pair_with_grpc_trace.lib Debug\end2end_test_empty_batch.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_socket_pair_with_grpc_trace_empty_batch_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_socket_pair_with_grpc_trace_empty_batch_test.exe" Debug\end2end_fixture_chttp2_socket_pair_with_grpc_trace.lib Debug\end2end_test_empty_batch.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_socket_pair_with_grpc_trace_empty_batch_test: chttp2_socket_pair_with_grpc_trace_empty_batch_test.exe echo Running chttp2_socket_pair_with_grpc_trace_empty_batch_test $(OUT_DIR)\chttp2_socket_pair_with_grpc_trace_empty_batch_test.exe -chttp2_socket_pair_with_grpc_trace_graceful_server_shutdown_test.exe: build_libs $(OUT_DIR) + +chttp2_socket_pair_with_grpc_trace_graceful_server_shutdown_test.exe: Debug\end2end_fixture_chttp2_socket_pair_with_grpc_trace.lib Debug\end2end_test_graceful_server_shutdown.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_socket_pair_with_grpc_trace_graceful_server_shutdown_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_socket_pair_with_grpc_trace_graceful_server_shutdown_test.exe" Debug\end2end_fixture_chttp2_socket_pair_with_grpc_trace.lib Debug\end2end_test_graceful_server_shutdown.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_socket_pair_with_grpc_trace_graceful_server_shutdown_test: chttp2_socket_pair_with_grpc_trace_graceful_server_shutdown_test.exe echo Running chttp2_socket_pair_with_grpc_trace_graceful_server_shutdown_test $(OUT_DIR)\chttp2_socket_pair_with_grpc_trace_graceful_server_shutdown_test.exe -chttp2_socket_pair_with_grpc_trace_invoke_large_request_test.exe: build_libs $(OUT_DIR) + +chttp2_socket_pair_with_grpc_trace_invoke_large_request_test.exe: Debug\end2end_fixture_chttp2_socket_pair_with_grpc_trace.lib Debug\end2end_test_invoke_large_request.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_socket_pair_with_grpc_trace_invoke_large_request_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_socket_pair_with_grpc_trace_invoke_large_request_test.exe" Debug\end2end_fixture_chttp2_socket_pair_with_grpc_trace.lib Debug\end2end_test_invoke_large_request.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_socket_pair_with_grpc_trace_invoke_large_request_test: chttp2_socket_pair_with_grpc_trace_invoke_large_request_test.exe echo Running chttp2_socket_pair_with_grpc_trace_invoke_large_request_test $(OUT_DIR)\chttp2_socket_pair_with_grpc_trace_invoke_large_request_test.exe -chttp2_socket_pair_with_grpc_trace_max_concurrent_streams_test.exe: build_libs $(OUT_DIR) + +chttp2_socket_pair_with_grpc_trace_max_concurrent_streams_test.exe: Debug\end2end_fixture_chttp2_socket_pair_with_grpc_trace.lib Debug\end2end_test_max_concurrent_streams.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_socket_pair_with_grpc_trace_max_concurrent_streams_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_socket_pair_with_grpc_trace_max_concurrent_streams_test.exe" Debug\end2end_fixture_chttp2_socket_pair_with_grpc_trace.lib Debug\end2end_test_max_concurrent_streams.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_socket_pair_with_grpc_trace_max_concurrent_streams_test: chttp2_socket_pair_with_grpc_trace_max_concurrent_streams_test.exe echo Running chttp2_socket_pair_with_grpc_trace_max_concurrent_streams_test $(OUT_DIR)\chttp2_socket_pair_with_grpc_trace_max_concurrent_streams_test.exe -chttp2_socket_pair_with_grpc_trace_max_message_length_test.exe: build_libs $(OUT_DIR) + +chttp2_socket_pair_with_grpc_trace_max_message_length_test.exe: Debug\end2end_fixture_chttp2_socket_pair_with_grpc_trace.lib Debug\end2end_test_max_message_length.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_socket_pair_with_grpc_trace_max_message_length_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_socket_pair_with_grpc_trace_max_message_length_test.exe" Debug\end2end_fixture_chttp2_socket_pair_with_grpc_trace.lib Debug\end2end_test_max_message_length.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_socket_pair_with_grpc_trace_max_message_length_test: chttp2_socket_pair_with_grpc_trace_max_message_length_test.exe echo Running chttp2_socket_pair_with_grpc_trace_max_message_length_test $(OUT_DIR)\chttp2_socket_pair_with_grpc_trace_max_message_length_test.exe -chttp2_socket_pair_with_grpc_trace_no_op_test.exe: build_libs $(OUT_DIR) + +chttp2_socket_pair_with_grpc_trace_no_op_test.exe: Debug\end2end_fixture_chttp2_socket_pair_with_grpc_trace.lib Debug\end2end_test_no_op.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_socket_pair_with_grpc_trace_no_op_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_socket_pair_with_grpc_trace_no_op_test.exe" Debug\end2end_fixture_chttp2_socket_pair_with_grpc_trace.lib Debug\end2end_test_no_op.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_socket_pair_with_grpc_trace_no_op_test: chttp2_socket_pair_with_grpc_trace_no_op_test.exe echo Running chttp2_socket_pair_with_grpc_trace_no_op_test $(OUT_DIR)\chttp2_socket_pair_with_grpc_trace_no_op_test.exe -chttp2_socket_pair_with_grpc_trace_ping_pong_streaming_test.exe: build_libs $(OUT_DIR) + +chttp2_socket_pair_with_grpc_trace_ping_pong_streaming_test.exe: Debug\end2end_fixture_chttp2_socket_pair_with_grpc_trace.lib Debug\end2end_test_ping_pong_streaming.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_socket_pair_with_grpc_trace_ping_pong_streaming_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_socket_pair_with_grpc_trace_ping_pong_streaming_test.exe" Debug\end2end_fixture_chttp2_socket_pair_with_grpc_trace.lib Debug\end2end_test_ping_pong_streaming.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_socket_pair_with_grpc_trace_ping_pong_streaming_test: chttp2_socket_pair_with_grpc_trace_ping_pong_streaming_test.exe echo Running chttp2_socket_pair_with_grpc_trace_ping_pong_streaming_test $(OUT_DIR)\chttp2_socket_pair_with_grpc_trace_ping_pong_streaming_test.exe -chttp2_socket_pair_with_grpc_trace_registered_call_test.exe: build_libs $(OUT_DIR) + +chttp2_socket_pair_with_grpc_trace_registered_call_test.exe: Debug\end2end_fixture_chttp2_socket_pair_with_grpc_trace.lib Debug\end2end_test_registered_call.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_socket_pair_with_grpc_trace_registered_call_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_socket_pair_with_grpc_trace_registered_call_test.exe" Debug\end2end_fixture_chttp2_socket_pair_with_grpc_trace.lib Debug\end2end_test_registered_call.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_socket_pair_with_grpc_trace_registered_call_test: chttp2_socket_pair_with_grpc_trace_registered_call_test.exe echo Running chttp2_socket_pair_with_grpc_trace_registered_call_test $(OUT_DIR)\chttp2_socket_pair_with_grpc_trace_registered_call_test.exe -chttp2_socket_pair_with_grpc_trace_request_response_with_binary_metadata_and_payload_test.exe: build_libs $(OUT_DIR) + +chttp2_socket_pair_with_grpc_trace_request_response_with_binary_metadata_and_payload_test.exe: Debug\end2end_fixture_chttp2_socket_pair_with_grpc_trace.lib Debug\end2end_test_request_response_with_binary_metadata_and_payload.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_socket_pair_with_grpc_trace_request_response_with_binary_metadata_and_payload_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_socket_pair_with_grpc_trace_request_response_with_binary_metadata_and_payload_test.exe" Debug\end2end_fixture_chttp2_socket_pair_with_grpc_trace.lib Debug\end2end_test_request_response_with_binary_metadata_and_payload.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_socket_pair_with_grpc_trace_request_response_with_binary_metadata_and_payload_test: chttp2_socket_pair_with_grpc_trace_request_response_with_binary_metadata_and_payload_test.exe echo Running chttp2_socket_pair_with_grpc_trace_request_response_with_binary_metadata_and_payload_test $(OUT_DIR)\chttp2_socket_pair_with_grpc_trace_request_response_with_binary_metadata_and_payload_test.exe -chttp2_socket_pair_with_grpc_trace_request_response_with_metadata_and_payload_test.exe: build_libs $(OUT_DIR) + +chttp2_socket_pair_with_grpc_trace_request_response_with_metadata_and_payload_test.exe: Debug\end2end_fixture_chttp2_socket_pair_with_grpc_trace.lib Debug\end2end_test_request_response_with_metadata_and_payload.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_socket_pair_with_grpc_trace_request_response_with_metadata_and_payload_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_socket_pair_with_grpc_trace_request_response_with_metadata_and_payload_test.exe" Debug\end2end_fixture_chttp2_socket_pair_with_grpc_trace.lib Debug\end2end_test_request_response_with_metadata_and_payload.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_socket_pair_with_grpc_trace_request_response_with_metadata_and_payload_test: chttp2_socket_pair_with_grpc_trace_request_response_with_metadata_and_payload_test.exe echo Running chttp2_socket_pair_with_grpc_trace_request_response_with_metadata_and_payload_test $(OUT_DIR)\chttp2_socket_pair_with_grpc_trace_request_response_with_metadata_and_payload_test.exe -chttp2_socket_pair_with_grpc_trace_request_response_with_payload_test.exe: build_libs $(OUT_DIR) + +chttp2_socket_pair_with_grpc_trace_request_response_with_payload_test.exe: Debug\end2end_fixture_chttp2_socket_pair_with_grpc_trace.lib Debug\end2end_test_request_response_with_payload.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_socket_pair_with_grpc_trace_request_response_with_payload_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_socket_pair_with_grpc_trace_request_response_with_payload_test.exe" Debug\end2end_fixture_chttp2_socket_pair_with_grpc_trace.lib Debug\end2end_test_request_response_with_payload.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_socket_pair_with_grpc_trace_request_response_with_payload_test: chttp2_socket_pair_with_grpc_trace_request_response_with_payload_test.exe echo Running chttp2_socket_pair_with_grpc_trace_request_response_with_payload_test $(OUT_DIR)\chttp2_socket_pair_with_grpc_trace_request_response_with_payload_test.exe -chttp2_socket_pair_with_grpc_trace_request_response_with_payload_and_call_creds_test.exe: build_libs $(OUT_DIR) + +chttp2_socket_pair_with_grpc_trace_request_response_with_payload_and_call_creds_test.exe: Debug\end2end_fixture_chttp2_socket_pair_with_grpc_trace.lib Debug\end2end_test_request_response_with_payload_and_call_creds.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_socket_pair_with_grpc_trace_request_response_with_payload_and_call_creds_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_socket_pair_with_grpc_trace_request_response_with_payload_and_call_creds_test.exe" Debug\end2end_fixture_chttp2_socket_pair_with_grpc_trace.lib Debug\end2end_test_request_response_with_payload_and_call_creds.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_socket_pair_with_grpc_trace_request_response_with_payload_and_call_creds_test: chttp2_socket_pair_with_grpc_trace_request_response_with_payload_and_call_creds_test.exe echo Running chttp2_socket_pair_with_grpc_trace_request_response_with_payload_and_call_creds_test $(OUT_DIR)\chttp2_socket_pair_with_grpc_trace_request_response_with_payload_and_call_creds_test.exe -chttp2_socket_pair_with_grpc_trace_request_response_with_trailing_metadata_and_payload_test.exe: build_libs $(OUT_DIR) + +chttp2_socket_pair_with_grpc_trace_request_response_with_trailing_metadata_and_payload_test.exe: Debug\end2end_fixture_chttp2_socket_pair_with_grpc_trace.lib Debug\end2end_test_request_response_with_trailing_metadata_and_payload.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_socket_pair_with_grpc_trace_request_response_with_trailing_metadata_and_payload_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_socket_pair_with_grpc_trace_request_response_with_trailing_metadata_and_payload_test.exe" Debug\end2end_fixture_chttp2_socket_pair_with_grpc_trace.lib Debug\end2end_test_request_response_with_trailing_metadata_and_payload.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_socket_pair_with_grpc_trace_request_response_with_trailing_metadata_and_payload_test: chttp2_socket_pair_with_grpc_trace_request_response_with_trailing_metadata_and_payload_test.exe echo Running chttp2_socket_pair_with_grpc_trace_request_response_with_trailing_metadata_and_payload_test $(OUT_DIR)\chttp2_socket_pair_with_grpc_trace_request_response_with_trailing_metadata_and_payload_test.exe -chttp2_socket_pair_with_grpc_trace_request_with_compressed_payload_test.exe: build_libs $(OUT_DIR) + +chttp2_socket_pair_with_grpc_trace_request_with_compressed_payload_test.exe: Debug\end2end_fixture_chttp2_socket_pair_with_grpc_trace.lib Debug\end2end_test_request_with_compressed_payload.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_socket_pair_with_grpc_trace_request_with_compressed_payload_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_socket_pair_with_grpc_trace_request_with_compressed_payload_test.exe" Debug\end2end_fixture_chttp2_socket_pair_with_grpc_trace.lib Debug\end2end_test_request_with_compressed_payload.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_socket_pair_with_grpc_trace_request_with_compressed_payload_test: chttp2_socket_pair_with_grpc_trace_request_with_compressed_payload_test.exe echo Running chttp2_socket_pair_with_grpc_trace_request_with_compressed_payload_test $(OUT_DIR)\chttp2_socket_pair_with_grpc_trace_request_with_compressed_payload_test.exe -chttp2_socket_pair_with_grpc_trace_request_with_flags_test.exe: build_libs $(OUT_DIR) + +chttp2_socket_pair_with_grpc_trace_request_with_flags_test.exe: Debug\end2end_fixture_chttp2_socket_pair_with_grpc_trace.lib Debug\end2end_test_request_with_flags.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_socket_pair_with_grpc_trace_request_with_flags_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_socket_pair_with_grpc_trace_request_with_flags_test.exe" Debug\end2end_fixture_chttp2_socket_pair_with_grpc_trace.lib Debug\end2end_test_request_with_flags.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_socket_pair_with_grpc_trace_request_with_flags_test: chttp2_socket_pair_with_grpc_trace_request_with_flags_test.exe echo Running chttp2_socket_pair_with_grpc_trace_request_with_flags_test $(OUT_DIR)\chttp2_socket_pair_with_grpc_trace_request_with_flags_test.exe -chttp2_socket_pair_with_grpc_trace_request_with_large_metadata_test.exe: build_libs $(OUT_DIR) + +chttp2_socket_pair_with_grpc_trace_request_with_large_metadata_test.exe: Debug\end2end_fixture_chttp2_socket_pair_with_grpc_trace.lib Debug\end2end_test_request_with_large_metadata.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_socket_pair_with_grpc_trace_request_with_large_metadata_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_socket_pair_with_grpc_trace_request_with_large_metadata_test.exe" Debug\end2end_fixture_chttp2_socket_pair_with_grpc_trace.lib Debug\end2end_test_request_with_large_metadata.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_socket_pair_with_grpc_trace_request_with_large_metadata_test: chttp2_socket_pair_with_grpc_trace_request_with_large_metadata_test.exe echo Running chttp2_socket_pair_with_grpc_trace_request_with_large_metadata_test $(OUT_DIR)\chttp2_socket_pair_with_grpc_trace_request_with_large_metadata_test.exe -chttp2_socket_pair_with_grpc_trace_request_with_payload_test.exe: build_libs $(OUT_DIR) + +chttp2_socket_pair_with_grpc_trace_request_with_payload_test.exe: Debug\end2end_fixture_chttp2_socket_pair_with_grpc_trace.lib Debug\end2end_test_request_with_payload.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_socket_pair_with_grpc_trace_request_with_payload_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_socket_pair_with_grpc_trace_request_with_payload_test.exe" Debug\end2end_fixture_chttp2_socket_pair_with_grpc_trace.lib Debug\end2end_test_request_with_payload.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_socket_pair_with_grpc_trace_request_with_payload_test: chttp2_socket_pair_with_grpc_trace_request_with_payload_test.exe echo Running chttp2_socket_pair_with_grpc_trace_request_with_payload_test $(OUT_DIR)\chttp2_socket_pair_with_grpc_trace_request_with_payload_test.exe -chttp2_socket_pair_with_grpc_trace_server_finishes_request_test.exe: build_libs $(OUT_DIR) + +chttp2_socket_pair_with_grpc_trace_server_finishes_request_test.exe: Debug\end2end_fixture_chttp2_socket_pair_with_grpc_trace.lib Debug\end2end_test_server_finishes_request.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_socket_pair_with_grpc_trace_server_finishes_request_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_socket_pair_with_grpc_trace_server_finishes_request_test.exe" Debug\end2end_fixture_chttp2_socket_pair_with_grpc_trace.lib Debug\end2end_test_server_finishes_request.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_socket_pair_with_grpc_trace_server_finishes_request_test: chttp2_socket_pair_with_grpc_trace_server_finishes_request_test.exe echo Running chttp2_socket_pair_with_grpc_trace_server_finishes_request_test $(OUT_DIR)\chttp2_socket_pair_with_grpc_trace_server_finishes_request_test.exe -chttp2_socket_pair_with_grpc_trace_simple_request_test.exe: build_libs $(OUT_DIR) + +chttp2_socket_pair_with_grpc_trace_simple_request_test.exe: Debug\end2end_fixture_chttp2_socket_pair_with_grpc_trace.lib Debug\end2end_test_simple_request.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_socket_pair_with_grpc_trace_simple_request_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_socket_pair_with_grpc_trace_simple_request_test.exe" Debug\end2end_fixture_chttp2_socket_pair_with_grpc_trace.lib Debug\end2end_test_simple_request.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_socket_pair_with_grpc_trace_simple_request_test: chttp2_socket_pair_with_grpc_trace_simple_request_test.exe echo Running chttp2_socket_pair_with_grpc_trace_simple_request_test $(OUT_DIR)\chttp2_socket_pair_with_grpc_trace_simple_request_test.exe -chttp2_socket_pair_with_grpc_trace_simple_request_with_high_initial_sequence_number_test.exe: build_libs $(OUT_DIR) + +chttp2_socket_pair_with_grpc_trace_simple_request_with_high_initial_sequence_number_test.exe: Debug\end2end_fixture_chttp2_socket_pair_with_grpc_trace.lib Debug\end2end_test_simple_request_with_high_initial_sequence_number.lib Debug\end2end_certs.lib build_grpc_test_util build_grpc build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_socket_pair_with_grpc_trace_simple_request_with_high_initial_sequence_number_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_socket_pair_with_grpc_trace_simple_request_with_high_initial_sequence_number_test.exe" Debug\end2end_fixture_chttp2_socket_pair_with_grpc_trace.lib Debug\end2end_test_simple_request_with_high_initial_sequence_number.lib Debug\end2end_certs.lib Debug\grpc_test_util.lib Debug\grpc.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_socket_pair_with_grpc_trace_simple_request_with_high_initial_sequence_number_test: chttp2_socket_pair_with_grpc_trace_simple_request_with_high_initial_sequence_number_test.exe echo Running chttp2_socket_pair_with_grpc_trace_simple_request_with_high_initial_sequence_number_test $(OUT_DIR)\chttp2_socket_pair_with_grpc_trace_simple_request_with_high_initial_sequence_number_test.exe -chttp2_fullstack_bad_hostname_unsecure_test.exe: build_libs $(OUT_DIR) + +chttp2_fullstack_bad_hostname_unsecure_test.exe: Debug\end2end_fixture_chttp2_fullstack.lib Debug\end2end_test_bad_hostname.lib build_grpc_test_util_unsecure build_grpc_unsecure build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_fullstack_bad_hostname_unsecure_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fullstack_bad_hostname_unsecure_test.exe" Debug\end2end_fixture_chttp2_fullstack.lib Debug\end2end_test_bad_hostname.lib Debug\grpc_test_util_unsecure.lib Debug\grpc_unsecure.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_fullstack_bad_hostname_unsecure_test: chttp2_fullstack_bad_hostname_unsecure_test.exe echo Running chttp2_fullstack_bad_hostname_unsecure_test $(OUT_DIR)\chttp2_fullstack_bad_hostname_unsecure_test.exe -chttp2_fullstack_cancel_after_accept_unsecure_test.exe: build_libs $(OUT_DIR) + +chttp2_fullstack_cancel_after_accept_unsecure_test.exe: Debug\end2end_fixture_chttp2_fullstack.lib Debug\end2end_test_cancel_after_accept.lib build_grpc_test_util_unsecure build_grpc_unsecure build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_fullstack_cancel_after_accept_unsecure_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fullstack_cancel_after_accept_unsecure_test.exe" Debug\end2end_fixture_chttp2_fullstack.lib Debug\end2end_test_cancel_after_accept.lib Debug\grpc_test_util_unsecure.lib Debug\grpc_unsecure.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_fullstack_cancel_after_accept_unsecure_test: chttp2_fullstack_cancel_after_accept_unsecure_test.exe echo Running chttp2_fullstack_cancel_after_accept_unsecure_test $(OUT_DIR)\chttp2_fullstack_cancel_after_accept_unsecure_test.exe -chttp2_fullstack_cancel_after_accept_and_writes_closed_unsecure_test.exe: build_libs $(OUT_DIR) + +chttp2_fullstack_cancel_after_accept_and_writes_closed_unsecure_test.exe: Debug\end2end_fixture_chttp2_fullstack.lib Debug\end2end_test_cancel_after_accept_and_writes_closed.lib build_grpc_test_util_unsecure build_grpc_unsecure build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_fullstack_cancel_after_accept_and_writes_closed_unsecure_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fullstack_cancel_after_accept_and_writes_closed_unsecure_test.exe" Debug\end2end_fixture_chttp2_fullstack.lib Debug\end2end_test_cancel_after_accept_and_writes_closed.lib Debug\grpc_test_util_unsecure.lib Debug\grpc_unsecure.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_fullstack_cancel_after_accept_and_writes_closed_unsecure_test: chttp2_fullstack_cancel_after_accept_and_writes_closed_unsecure_test.exe echo Running chttp2_fullstack_cancel_after_accept_and_writes_closed_unsecure_test $(OUT_DIR)\chttp2_fullstack_cancel_after_accept_and_writes_closed_unsecure_test.exe -chttp2_fullstack_cancel_after_invoke_unsecure_test.exe: build_libs $(OUT_DIR) + +chttp2_fullstack_cancel_after_invoke_unsecure_test.exe: Debug\end2end_fixture_chttp2_fullstack.lib Debug\end2end_test_cancel_after_invoke.lib build_grpc_test_util_unsecure build_grpc_unsecure build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_fullstack_cancel_after_invoke_unsecure_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fullstack_cancel_after_invoke_unsecure_test.exe" Debug\end2end_fixture_chttp2_fullstack.lib Debug\end2end_test_cancel_after_invoke.lib Debug\grpc_test_util_unsecure.lib Debug\grpc_unsecure.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_fullstack_cancel_after_invoke_unsecure_test: chttp2_fullstack_cancel_after_invoke_unsecure_test.exe echo Running chttp2_fullstack_cancel_after_invoke_unsecure_test $(OUT_DIR)\chttp2_fullstack_cancel_after_invoke_unsecure_test.exe -chttp2_fullstack_cancel_before_invoke_unsecure_test.exe: build_libs $(OUT_DIR) + +chttp2_fullstack_cancel_before_invoke_unsecure_test.exe: Debug\end2end_fixture_chttp2_fullstack.lib Debug\end2end_test_cancel_before_invoke.lib build_grpc_test_util_unsecure build_grpc_unsecure build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_fullstack_cancel_before_invoke_unsecure_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fullstack_cancel_before_invoke_unsecure_test.exe" Debug\end2end_fixture_chttp2_fullstack.lib Debug\end2end_test_cancel_before_invoke.lib Debug\grpc_test_util_unsecure.lib Debug\grpc_unsecure.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_fullstack_cancel_before_invoke_unsecure_test: chttp2_fullstack_cancel_before_invoke_unsecure_test.exe echo Running chttp2_fullstack_cancel_before_invoke_unsecure_test $(OUT_DIR)\chttp2_fullstack_cancel_before_invoke_unsecure_test.exe -chttp2_fullstack_cancel_in_a_vacuum_unsecure_test.exe: build_libs $(OUT_DIR) + +chttp2_fullstack_cancel_in_a_vacuum_unsecure_test.exe: Debug\end2end_fixture_chttp2_fullstack.lib Debug\end2end_test_cancel_in_a_vacuum.lib build_grpc_test_util_unsecure build_grpc_unsecure build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_fullstack_cancel_in_a_vacuum_unsecure_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fullstack_cancel_in_a_vacuum_unsecure_test.exe" Debug\end2end_fixture_chttp2_fullstack.lib Debug\end2end_test_cancel_in_a_vacuum.lib Debug\grpc_test_util_unsecure.lib Debug\grpc_unsecure.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_fullstack_cancel_in_a_vacuum_unsecure_test: chttp2_fullstack_cancel_in_a_vacuum_unsecure_test.exe echo Running chttp2_fullstack_cancel_in_a_vacuum_unsecure_test $(OUT_DIR)\chttp2_fullstack_cancel_in_a_vacuum_unsecure_test.exe -chttp2_fullstack_census_simple_request_unsecure_test.exe: build_libs $(OUT_DIR) + +chttp2_fullstack_census_simple_request_unsecure_test.exe: Debug\end2end_fixture_chttp2_fullstack.lib Debug\end2end_test_census_simple_request.lib build_grpc_test_util_unsecure build_grpc_unsecure build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_fullstack_census_simple_request_unsecure_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fullstack_census_simple_request_unsecure_test.exe" Debug\end2end_fixture_chttp2_fullstack.lib Debug\end2end_test_census_simple_request.lib Debug\grpc_test_util_unsecure.lib Debug\grpc_unsecure.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_fullstack_census_simple_request_unsecure_test: chttp2_fullstack_census_simple_request_unsecure_test.exe echo Running chttp2_fullstack_census_simple_request_unsecure_test $(OUT_DIR)\chttp2_fullstack_census_simple_request_unsecure_test.exe -chttp2_fullstack_channel_connectivity_unsecure_test.exe: build_libs $(OUT_DIR) + +chttp2_fullstack_channel_connectivity_unsecure_test.exe: Debug\end2end_fixture_chttp2_fullstack.lib Debug\end2end_test_channel_connectivity.lib build_grpc_test_util_unsecure build_grpc_unsecure build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_fullstack_channel_connectivity_unsecure_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fullstack_channel_connectivity_unsecure_test.exe" Debug\end2end_fixture_chttp2_fullstack.lib Debug\end2end_test_channel_connectivity.lib Debug\grpc_test_util_unsecure.lib Debug\grpc_unsecure.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_fullstack_channel_connectivity_unsecure_test: chttp2_fullstack_channel_connectivity_unsecure_test.exe echo Running chttp2_fullstack_channel_connectivity_unsecure_test $(OUT_DIR)\chttp2_fullstack_channel_connectivity_unsecure_test.exe -chttp2_fullstack_default_host_unsecure_test.exe: build_libs $(OUT_DIR) + +chttp2_fullstack_default_host_unsecure_test.exe: Debug\end2end_fixture_chttp2_fullstack.lib Debug\end2end_test_default_host.lib build_grpc_test_util_unsecure build_grpc_unsecure build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_fullstack_default_host_unsecure_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fullstack_default_host_unsecure_test.exe" Debug\end2end_fixture_chttp2_fullstack.lib Debug\end2end_test_default_host.lib Debug\grpc_test_util_unsecure.lib Debug\grpc_unsecure.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_fullstack_default_host_unsecure_test: chttp2_fullstack_default_host_unsecure_test.exe echo Running chttp2_fullstack_default_host_unsecure_test $(OUT_DIR)\chttp2_fullstack_default_host_unsecure_test.exe -chttp2_fullstack_disappearing_server_unsecure_test.exe: build_libs $(OUT_DIR) + +chttp2_fullstack_disappearing_server_unsecure_test.exe: Debug\end2end_fixture_chttp2_fullstack.lib Debug\end2end_test_disappearing_server.lib build_grpc_test_util_unsecure build_grpc_unsecure build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_fullstack_disappearing_server_unsecure_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fullstack_disappearing_server_unsecure_test.exe" Debug\end2end_fixture_chttp2_fullstack.lib Debug\end2end_test_disappearing_server.lib Debug\grpc_test_util_unsecure.lib Debug\grpc_unsecure.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_fullstack_disappearing_server_unsecure_test: chttp2_fullstack_disappearing_server_unsecure_test.exe echo Running chttp2_fullstack_disappearing_server_unsecure_test $(OUT_DIR)\chttp2_fullstack_disappearing_server_unsecure_test.exe -chttp2_fullstack_early_server_shutdown_finishes_inflight_calls_unsecure_test.exe: build_libs $(OUT_DIR) + +chttp2_fullstack_early_server_shutdown_finishes_inflight_calls_unsecure_test.exe: Debug\end2end_fixture_chttp2_fullstack.lib Debug\end2end_test_early_server_shutdown_finishes_inflight_calls.lib build_grpc_test_util_unsecure build_grpc_unsecure build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_fullstack_early_server_shutdown_finishes_inflight_calls_unsecure_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fullstack_early_server_shutdown_finishes_inflight_calls_unsecure_test.exe" Debug\end2end_fixture_chttp2_fullstack.lib Debug\end2end_test_early_server_shutdown_finishes_inflight_calls.lib Debug\grpc_test_util_unsecure.lib Debug\grpc_unsecure.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_fullstack_early_server_shutdown_finishes_inflight_calls_unsecure_test: chttp2_fullstack_early_server_shutdown_finishes_inflight_calls_unsecure_test.exe echo Running chttp2_fullstack_early_server_shutdown_finishes_inflight_calls_unsecure_test $(OUT_DIR)\chttp2_fullstack_early_server_shutdown_finishes_inflight_calls_unsecure_test.exe -chttp2_fullstack_early_server_shutdown_finishes_tags_unsecure_test.exe: build_libs $(OUT_DIR) + +chttp2_fullstack_early_server_shutdown_finishes_tags_unsecure_test.exe: Debug\end2end_fixture_chttp2_fullstack.lib Debug\end2end_test_early_server_shutdown_finishes_tags.lib build_grpc_test_util_unsecure build_grpc_unsecure build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_fullstack_early_server_shutdown_finishes_tags_unsecure_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fullstack_early_server_shutdown_finishes_tags_unsecure_test.exe" Debug\end2end_fixture_chttp2_fullstack.lib Debug\end2end_test_early_server_shutdown_finishes_tags.lib Debug\grpc_test_util_unsecure.lib Debug\grpc_unsecure.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_fullstack_early_server_shutdown_finishes_tags_unsecure_test: chttp2_fullstack_early_server_shutdown_finishes_tags_unsecure_test.exe echo Running chttp2_fullstack_early_server_shutdown_finishes_tags_unsecure_test $(OUT_DIR)\chttp2_fullstack_early_server_shutdown_finishes_tags_unsecure_test.exe -chttp2_fullstack_empty_batch_unsecure_test.exe: build_libs $(OUT_DIR) + +chttp2_fullstack_empty_batch_unsecure_test.exe: Debug\end2end_fixture_chttp2_fullstack.lib Debug\end2end_test_empty_batch.lib build_grpc_test_util_unsecure build_grpc_unsecure build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_fullstack_empty_batch_unsecure_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fullstack_empty_batch_unsecure_test.exe" Debug\end2end_fixture_chttp2_fullstack.lib Debug\end2end_test_empty_batch.lib Debug\grpc_test_util_unsecure.lib Debug\grpc_unsecure.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_fullstack_empty_batch_unsecure_test: chttp2_fullstack_empty_batch_unsecure_test.exe echo Running chttp2_fullstack_empty_batch_unsecure_test $(OUT_DIR)\chttp2_fullstack_empty_batch_unsecure_test.exe -chttp2_fullstack_graceful_server_shutdown_unsecure_test.exe: build_libs $(OUT_DIR) + +chttp2_fullstack_graceful_server_shutdown_unsecure_test.exe: Debug\end2end_fixture_chttp2_fullstack.lib Debug\end2end_test_graceful_server_shutdown.lib build_grpc_test_util_unsecure build_grpc_unsecure build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_fullstack_graceful_server_shutdown_unsecure_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fullstack_graceful_server_shutdown_unsecure_test.exe" Debug\end2end_fixture_chttp2_fullstack.lib Debug\end2end_test_graceful_server_shutdown.lib Debug\grpc_test_util_unsecure.lib Debug\grpc_unsecure.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_fullstack_graceful_server_shutdown_unsecure_test: chttp2_fullstack_graceful_server_shutdown_unsecure_test.exe echo Running chttp2_fullstack_graceful_server_shutdown_unsecure_test $(OUT_DIR)\chttp2_fullstack_graceful_server_shutdown_unsecure_test.exe -chttp2_fullstack_invoke_large_request_unsecure_test.exe: build_libs $(OUT_DIR) + +chttp2_fullstack_invoke_large_request_unsecure_test.exe: Debug\end2end_fixture_chttp2_fullstack.lib Debug\end2end_test_invoke_large_request.lib build_grpc_test_util_unsecure build_grpc_unsecure build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_fullstack_invoke_large_request_unsecure_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fullstack_invoke_large_request_unsecure_test.exe" Debug\end2end_fixture_chttp2_fullstack.lib Debug\end2end_test_invoke_large_request.lib Debug\grpc_test_util_unsecure.lib Debug\grpc_unsecure.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_fullstack_invoke_large_request_unsecure_test: chttp2_fullstack_invoke_large_request_unsecure_test.exe echo Running chttp2_fullstack_invoke_large_request_unsecure_test $(OUT_DIR)\chttp2_fullstack_invoke_large_request_unsecure_test.exe -chttp2_fullstack_max_concurrent_streams_unsecure_test.exe: build_libs $(OUT_DIR) + +chttp2_fullstack_max_concurrent_streams_unsecure_test.exe: Debug\end2end_fixture_chttp2_fullstack.lib Debug\end2end_test_max_concurrent_streams.lib build_grpc_test_util_unsecure build_grpc_unsecure build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_fullstack_max_concurrent_streams_unsecure_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fullstack_max_concurrent_streams_unsecure_test.exe" Debug\end2end_fixture_chttp2_fullstack.lib Debug\end2end_test_max_concurrent_streams.lib Debug\grpc_test_util_unsecure.lib Debug\grpc_unsecure.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_fullstack_max_concurrent_streams_unsecure_test: chttp2_fullstack_max_concurrent_streams_unsecure_test.exe echo Running chttp2_fullstack_max_concurrent_streams_unsecure_test $(OUT_DIR)\chttp2_fullstack_max_concurrent_streams_unsecure_test.exe -chttp2_fullstack_max_message_length_unsecure_test.exe: build_libs $(OUT_DIR) + +chttp2_fullstack_max_message_length_unsecure_test.exe: Debug\end2end_fixture_chttp2_fullstack.lib Debug\end2end_test_max_message_length.lib build_grpc_test_util_unsecure build_grpc_unsecure build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_fullstack_max_message_length_unsecure_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fullstack_max_message_length_unsecure_test.exe" Debug\end2end_fixture_chttp2_fullstack.lib Debug\end2end_test_max_message_length.lib Debug\grpc_test_util_unsecure.lib Debug\grpc_unsecure.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_fullstack_max_message_length_unsecure_test: chttp2_fullstack_max_message_length_unsecure_test.exe echo Running chttp2_fullstack_max_message_length_unsecure_test $(OUT_DIR)\chttp2_fullstack_max_message_length_unsecure_test.exe -chttp2_fullstack_no_op_unsecure_test.exe: build_libs $(OUT_DIR) + +chttp2_fullstack_no_op_unsecure_test.exe: Debug\end2end_fixture_chttp2_fullstack.lib Debug\end2end_test_no_op.lib build_grpc_test_util_unsecure build_grpc_unsecure build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_fullstack_no_op_unsecure_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fullstack_no_op_unsecure_test.exe" Debug\end2end_fixture_chttp2_fullstack.lib Debug\end2end_test_no_op.lib Debug\grpc_test_util_unsecure.lib Debug\grpc_unsecure.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_fullstack_no_op_unsecure_test: chttp2_fullstack_no_op_unsecure_test.exe echo Running chttp2_fullstack_no_op_unsecure_test $(OUT_DIR)\chttp2_fullstack_no_op_unsecure_test.exe -chttp2_fullstack_ping_pong_streaming_unsecure_test.exe: build_libs $(OUT_DIR) + +chttp2_fullstack_ping_pong_streaming_unsecure_test.exe: Debug\end2end_fixture_chttp2_fullstack.lib Debug\end2end_test_ping_pong_streaming.lib build_grpc_test_util_unsecure build_grpc_unsecure build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_fullstack_ping_pong_streaming_unsecure_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fullstack_ping_pong_streaming_unsecure_test.exe" Debug\end2end_fixture_chttp2_fullstack.lib Debug\end2end_test_ping_pong_streaming.lib Debug\grpc_test_util_unsecure.lib Debug\grpc_unsecure.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_fullstack_ping_pong_streaming_unsecure_test: chttp2_fullstack_ping_pong_streaming_unsecure_test.exe echo Running chttp2_fullstack_ping_pong_streaming_unsecure_test $(OUT_DIR)\chttp2_fullstack_ping_pong_streaming_unsecure_test.exe -chttp2_fullstack_registered_call_unsecure_test.exe: build_libs $(OUT_DIR) + +chttp2_fullstack_registered_call_unsecure_test.exe: Debug\end2end_fixture_chttp2_fullstack.lib Debug\end2end_test_registered_call.lib build_grpc_test_util_unsecure build_grpc_unsecure build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_fullstack_registered_call_unsecure_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fullstack_registered_call_unsecure_test.exe" Debug\end2end_fixture_chttp2_fullstack.lib Debug\end2end_test_registered_call.lib Debug\grpc_test_util_unsecure.lib Debug\grpc_unsecure.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_fullstack_registered_call_unsecure_test: chttp2_fullstack_registered_call_unsecure_test.exe echo Running chttp2_fullstack_registered_call_unsecure_test $(OUT_DIR)\chttp2_fullstack_registered_call_unsecure_test.exe -chttp2_fullstack_request_response_with_binary_metadata_and_payload_unsecure_test.exe: build_libs $(OUT_DIR) + +chttp2_fullstack_request_response_with_binary_metadata_and_payload_unsecure_test.exe: Debug\end2end_fixture_chttp2_fullstack.lib Debug\end2end_test_request_response_with_binary_metadata_and_payload.lib build_grpc_test_util_unsecure build_grpc_unsecure build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_fullstack_request_response_with_binary_metadata_and_payload_unsecure_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fullstack_request_response_with_binary_metadata_and_payload_unsecure_test.exe" Debug\end2end_fixture_chttp2_fullstack.lib Debug\end2end_test_request_response_with_binary_metadata_and_payload.lib Debug\grpc_test_util_unsecure.lib Debug\grpc_unsecure.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_fullstack_request_response_with_binary_metadata_and_payload_unsecure_test: chttp2_fullstack_request_response_with_binary_metadata_and_payload_unsecure_test.exe echo Running chttp2_fullstack_request_response_with_binary_metadata_and_payload_unsecure_test $(OUT_DIR)\chttp2_fullstack_request_response_with_binary_metadata_and_payload_unsecure_test.exe -chttp2_fullstack_request_response_with_metadata_and_payload_unsecure_test.exe: build_libs $(OUT_DIR) + +chttp2_fullstack_request_response_with_metadata_and_payload_unsecure_test.exe: Debug\end2end_fixture_chttp2_fullstack.lib Debug\end2end_test_request_response_with_metadata_and_payload.lib build_grpc_test_util_unsecure build_grpc_unsecure build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_fullstack_request_response_with_metadata_and_payload_unsecure_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fullstack_request_response_with_metadata_and_payload_unsecure_test.exe" Debug\end2end_fixture_chttp2_fullstack.lib Debug\end2end_test_request_response_with_metadata_and_payload.lib Debug\grpc_test_util_unsecure.lib Debug\grpc_unsecure.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_fullstack_request_response_with_metadata_and_payload_unsecure_test: chttp2_fullstack_request_response_with_metadata_and_payload_unsecure_test.exe echo Running chttp2_fullstack_request_response_with_metadata_and_payload_unsecure_test $(OUT_DIR)\chttp2_fullstack_request_response_with_metadata_and_payload_unsecure_test.exe -chttp2_fullstack_request_response_with_payload_unsecure_test.exe: build_libs $(OUT_DIR) + +chttp2_fullstack_request_response_with_payload_unsecure_test.exe: Debug\end2end_fixture_chttp2_fullstack.lib Debug\end2end_test_request_response_with_payload.lib build_grpc_test_util_unsecure build_grpc_unsecure build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_fullstack_request_response_with_payload_unsecure_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fullstack_request_response_with_payload_unsecure_test.exe" Debug\end2end_fixture_chttp2_fullstack.lib Debug\end2end_test_request_response_with_payload.lib Debug\grpc_test_util_unsecure.lib Debug\grpc_unsecure.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_fullstack_request_response_with_payload_unsecure_test: chttp2_fullstack_request_response_with_payload_unsecure_test.exe echo Running chttp2_fullstack_request_response_with_payload_unsecure_test $(OUT_DIR)\chttp2_fullstack_request_response_with_payload_unsecure_test.exe -chttp2_fullstack_request_response_with_trailing_metadata_and_payload_unsecure_test.exe: build_libs $(OUT_DIR) + +chttp2_fullstack_request_response_with_trailing_metadata_and_payload_unsecure_test.exe: Debug\end2end_fixture_chttp2_fullstack.lib Debug\end2end_test_request_response_with_trailing_metadata_and_payload.lib build_grpc_test_util_unsecure build_grpc_unsecure build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_fullstack_request_response_with_trailing_metadata_and_payload_unsecure_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fullstack_request_response_with_trailing_metadata_and_payload_unsecure_test.exe" Debug\end2end_fixture_chttp2_fullstack.lib Debug\end2end_test_request_response_with_trailing_metadata_and_payload.lib Debug\grpc_test_util_unsecure.lib Debug\grpc_unsecure.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_fullstack_request_response_with_trailing_metadata_and_payload_unsecure_test: chttp2_fullstack_request_response_with_trailing_metadata_and_payload_unsecure_test.exe echo Running chttp2_fullstack_request_response_with_trailing_metadata_and_payload_unsecure_test $(OUT_DIR)\chttp2_fullstack_request_response_with_trailing_metadata_and_payload_unsecure_test.exe -chttp2_fullstack_request_with_compressed_payload_unsecure_test.exe: build_libs $(OUT_DIR) + +chttp2_fullstack_request_with_compressed_payload_unsecure_test.exe: Debug\end2end_fixture_chttp2_fullstack.lib Debug\end2end_test_request_with_compressed_payload.lib build_grpc_test_util_unsecure build_grpc_unsecure build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_fullstack_request_with_compressed_payload_unsecure_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fullstack_request_with_compressed_payload_unsecure_test.exe" Debug\end2end_fixture_chttp2_fullstack.lib Debug\end2end_test_request_with_compressed_payload.lib Debug\grpc_test_util_unsecure.lib Debug\grpc_unsecure.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_fullstack_request_with_compressed_payload_unsecure_test: chttp2_fullstack_request_with_compressed_payload_unsecure_test.exe echo Running chttp2_fullstack_request_with_compressed_payload_unsecure_test $(OUT_DIR)\chttp2_fullstack_request_with_compressed_payload_unsecure_test.exe -chttp2_fullstack_request_with_flags_unsecure_test.exe: build_libs $(OUT_DIR) + +chttp2_fullstack_request_with_flags_unsecure_test.exe: Debug\end2end_fixture_chttp2_fullstack.lib Debug\end2end_test_request_with_flags.lib build_grpc_test_util_unsecure build_grpc_unsecure build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_fullstack_request_with_flags_unsecure_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fullstack_request_with_flags_unsecure_test.exe" Debug\end2end_fixture_chttp2_fullstack.lib Debug\end2end_test_request_with_flags.lib Debug\grpc_test_util_unsecure.lib Debug\grpc_unsecure.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_fullstack_request_with_flags_unsecure_test: chttp2_fullstack_request_with_flags_unsecure_test.exe echo Running chttp2_fullstack_request_with_flags_unsecure_test $(OUT_DIR)\chttp2_fullstack_request_with_flags_unsecure_test.exe -chttp2_fullstack_request_with_large_metadata_unsecure_test.exe: build_libs $(OUT_DIR) + +chttp2_fullstack_request_with_large_metadata_unsecure_test.exe: Debug\end2end_fixture_chttp2_fullstack.lib Debug\end2end_test_request_with_large_metadata.lib build_grpc_test_util_unsecure build_grpc_unsecure build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_fullstack_request_with_large_metadata_unsecure_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fullstack_request_with_large_metadata_unsecure_test.exe" Debug\end2end_fixture_chttp2_fullstack.lib Debug\end2end_test_request_with_large_metadata.lib Debug\grpc_test_util_unsecure.lib Debug\grpc_unsecure.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_fullstack_request_with_large_metadata_unsecure_test: chttp2_fullstack_request_with_large_metadata_unsecure_test.exe echo Running chttp2_fullstack_request_with_large_metadata_unsecure_test $(OUT_DIR)\chttp2_fullstack_request_with_large_metadata_unsecure_test.exe -chttp2_fullstack_request_with_payload_unsecure_test.exe: build_libs $(OUT_DIR) + +chttp2_fullstack_request_with_payload_unsecure_test.exe: Debug\end2end_fixture_chttp2_fullstack.lib Debug\end2end_test_request_with_payload.lib build_grpc_test_util_unsecure build_grpc_unsecure build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_fullstack_request_with_payload_unsecure_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fullstack_request_with_payload_unsecure_test.exe" Debug\end2end_fixture_chttp2_fullstack.lib Debug\end2end_test_request_with_payload.lib Debug\grpc_test_util_unsecure.lib Debug\grpc_unsecure.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_fullstack_request_with_payload_unsecure_test: chttp2_fullstack_request_with_payload_unsecure_test.exe echo Running chttp2_fullstack_request_with_payload_unsecure_test $(OUT_DIR)\chttp2_fullstack_request_with_payload_unsecure_test.exe -chttp2_fullstack_server_finishes_request_unsecure_test.exe: build_libs $(OUT_DIR) + +chttp2_fullstack_server_finishes_request_unsecure_test.exe: Debug\end2end_fixture_chttp2_fullstack.lib Debug\end2end_test_server_finishes_request.lib build_grpc_test_util_unsecure build_grpc_unsecure build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_fullstack_server_finishes_request_unsecure_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fullstack_server_finishes_request_unsecure_test.exe" Debug\end2end_fixture_chttp2_fullstack.lib Debug\end2end_test_server_finishes_request.lib Debug\grpc_test_util_unsecure.lib Debug\grpc_unsecure.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_fullstack_server_finishes_request_unsecure_test: chttp2_fullstack_server_finishes_request_unsecure_test.exe echo Running chttp2_fullstack_server_finishes_request_unsecure_test $(OUT_DIR)\chttp2_fullstack_server_finishes_request_unsecure_test.exe -chttp2_fullstack_simple_delayed_request_unsecure_test.exe: build_libs $(OUT_DIR) + +chttp2_fullstack_simple_delayed_request_unsecure_test.exe: Debug\end2end_fixture_chttp2_fullstack.lib Debug\end2end_test_simple_delayed_request.lib build_grpc_test_util_unsecure build_grpc_unsecure build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_fullstack_simple_delayed_request_unsecure_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fullstack_simple_delayed_request_unsecure_test.exe" Debug\end2end_fixture_chttp2_fullstack.lib Debug\end2end_test_simple_delayed_request.lib Debug\grpc_test_util_unsecure.lib Debug\grpc_unsecure.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_fullstack_simple_delayed_request_unsecure_test: chttp2_fullstack_simple_delayed_request_unsecure_test.exe echo Running chttp2_fullstack_simple_delayed_request_unsecure_test $(OUT_DIR)\chttp2_fullstack_simple_delayed_request_unsecure_test.exe -chttp2_fullstack_simple_request_unsecure_test.exe: build_libs $(OUT_DIR) + +chttp2_fullstack_simple_request_unsecure_test.exe: Debug\end2end_fixture_chttp2_fullstack.lib Debug\end2end_test_simple_request.lib build_grpc_test_util_unsecure build_grpc_unsecure build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_fullstack_simple_request_unsecure_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fullstack_simple_request_unsecure_test.exe" Debug\end2end_fixture_chttp2_fullstack.lib Debug\end2end_test_simple_request.lib Debug\grpc_test_util_unsecure.lib Debug\grpc_unsecure.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_fullstack_simple_request_unsecure_test: chttp2_fullstack_simple_request_unsecure_test.exe echo Running chttp2_fullstack_simple_request_unsecure_test $(OUT_DIR)\chttp2_fullstack_simple_request_unsecure_test.exe -chttp2_fullstack_simple_request_with_high_initial_sequence_number_unsecure_test.exe: build_libs $(OUT_DIR) + +chttp2_fullstack_simple_request_with_high_initial_sequence_number_unsecure_test.exe: Debug\end2end_fixture_chttp2_fullstack.lib Debug\end2end_test_simple_request_with_high_initial_sequence_number.lib build_grpc_test_util_unsecure build_grpc_unsecure build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_fullstack_simple_request_with_high_initial_sequence_number_unsecure_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fullstack_simple_request_with_high_initial_sequence_number_unsecure_test.exe" Debug\end2end_fixture_chttp2_fullstack.lib Debug\end2end_test_simple_request_with_high_initial_sequence_number.lib Debug\grpc_test_util_unsecure.lib Debug\grpc_unsecure.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_fullstack_simple_request_with_high_initial_sequence_number_unsecure_test: chttp2_fullstack_simple_request_with_high_initial_sequence_number_unsecure_test.exe echo Running chttp2_fullstack_simple_request_with_high_initial_sequence_number_unsecure_test $(OUT_DIR)\chttp2_fullstack_simple_request_with_high_initial_sequence_number_unsecure_test.exe -chttp2_fullstack_compression_bad_hostname_unsecure_test.exe: build_libs $(OUT_DIR) + +chttp2_fullstack_compression_bad_hostname_unsecure_test.exe: Debug\end2end_fixture_chttp2_fullstack_compression.lib Debug\end2end_test_bad_hostname.lib build_grpc_test_util_unsecure build_grpc_unsecure build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_fullstack_compression_bad_hostname_unsecure_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fullstack_compression_bad_hostname_unsecure_test.exe" Debug\end2end_fixture_chttp2_fullstack_compression.lib Debug\end2end_test_bad_hostname.lib Debug\grpc_test_util_unsecure.lib Debug\grpc_unsecure.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_fullstack_compression_bad_hostname_unsecure_test: chttp2_fullstack_compression_bad_hostname_unsecure_test.exe echo Running chttp2_fullstack_compression_bad_hostname_unsecure_test $(OUT_DIR)\chttp2_fullstack_compression_bad_hostname_unsecure_test.exe -chttp2_fullstack_compression_cancel_after_accept_unsecure_test.exe: build_libs $(OUT_DIR) + +chttp2_fullstack_compression_cancel_after_accept_unsecure_test.exe: Debug\end2end_fixture_chttp2_fullstack_compression.lib Debug\end2end_test_cancel_after_accept.lib build_grpc_test_util_unsecure build_grpc_unsecure build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_fullstack_compression_cancel_after_accept_unsecure_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fullstack_compression_cancel_after_accept_unsecure_test.exe" Debug\end2end_fixture_chttp2_fullstack_compression.lib Debug\end2end_test_cancel_after_accept.lib Debug\grpc_test_util_unsecure.lib Debug\grpc_unsecure.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_fullstack_compression_cancel_after_accept_unsecure_test: chttp2_fullstack_compression_cancel_after_accept_unsecure_test.exe echo Running chttp2_fullstack_compression_cancel_after_accept_unsecure_test $(OUT_DIR)\chttp2_fullstack_compression_cancel_after_accept_unsecure_test.exe -chttp2_fullstack_compression_cancel_after_accept_and_writes_closed_unsecure_test.exe: build_libs $(OUT_DIR) + +chttp2_fullstack_compression_cancel_after_accept_and_writes_closed_unsecure_test.exe: Debug\end2end_fixture_chttp2_fullstack_compression.lib Debug\end2end_test_cancel_after_accept_and_writes_closed.lib build_grpc_test_util_unsecure build_grpc_unsecure build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_fullstack_compression_cancel_after_accept_and_writes_closed_unsecure_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fullstack_compression_cancel_after_accept_and_writes_closed_unsecure_test.exe" Debug\end2end_fixture_chttp2_fullstack_compression.lib Debug\end2end_test_cancel_after_accept_and_writes_closed.lib Debug\grpc_test_util_unsecure.lib Debug\grpc_unsecure.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_fullstack_compression_cancel_after_accept_and_writes_closed_unsecure_test: chttp2_fullstack_compression_cancel_after_accept_and_writes_closed_unsecure_test.exe echo Running chttp2_fullstack_compression_cancel_after_accept_and_writes_closed_unsecure_test $(OUT_DIR)\chttp2_fullstack_compression_cancel_after_accept_and_writes_closed_unsecure_test.exe -chttp2_fullstack_compression_cancel_after_invoke_unsecure_test.exe: build_libs $(OUT_DIR) + +chttp2_fullstack_compression_cancel_after_invoke_unsecure_test.exe: Debug\end2end_fixture_chttp2_fullstack_compression.lib Debug\end2end_test_cancel_after_invoke.lib build_grpc_test_util_unsecure build_grpc_unsecure build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_fullstack_compression_cancel_after_invoke_unsecure_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fullstack_compression_cancel_after_invoke_unsecure_test.exe" Debug\end2end_fixture_chttp2_fullstack_compression.lib Debug\end2end_test_cancel_after_invoke.lib Debug\grpc_test_util_unsecure.lib Debug\grpc_unsecure.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_fullstack_compression_cancel_after_invoke_unsecure_test: chttp2_fullstack_compression_cancel_after_invoke_unsecure_test.exe echo Running chttp2_fullstack_compression_cancel_after_invoke_unsecure_test $(OUT_DIR)\chttp2_fullstack_compression_cancel_after_invoke_unsecure_test.exe -chttp2_fullstack_compression_cancel_before_invoke_unsecure_test.exe: build_libs $(OUT_DIR) + +chttp2_fullstack_compression_cancel_before_invoke_unsecure_test.exe: Debug\end2end_fixture_chttp2_fullstack_compression.lib Debug\end2end_test_cancel_before_invoke.lib build_grpc_test_util_unsecure build_grpc_unsecure build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_fullstack_compression_cancel_before_invoke_unsecure_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fullstack_compression_cancel_before_invoke_unsecure_test.exe" Debug\end2end_fixture_chttp2_fullstack_compression.lib Debug\end2end_test_cancel_before_invoke.lib Debug\grpc_test_util_unsecure.lib Debug\grpc_unsecure.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_fullstack_compression_cancel_before_invoke_unsecure_test: chttp2_fullstack_compression_cancel_before_invoke_unsecure_test.exe echo Running chttp2_fullstack_compression_cancel_before_invoke_unsecure_test $(OUT_DIR)\chttp2_fullstack_compression_cancel_before_invoke_unsecure_test.exe -chttp2_fullstack_compression_cancel_in_a_vacuum_unsecure_test.exe: build_libs $(OUT_DIR) + +chttp2_fullstack_compression_cancel_in_a_vacuum_unsecure_test.exe: Debug\end2end_fixture_chttp2_fullstack_compression.lib Debug\end2end_test_cancel_in_a_vacuum.lib build_grpc_test_util_unsecure build_grpc_unsecure build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_fullstack_compression_cancel_in_a_vacuum_unsecure_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fullstack_compression_cancel_in_a_vacuum_unsecure_test.exe" Debug\end2end_fixture_chttp2_fullstack_compression.lib Debug\end2end_test_cancel_in_a_vacuum.lib Debug\grpc_test_util_unsecure.lib Debug\grpc_unsecure.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_fullstack_compression_cancel_in_a_vacuum_unsecure_test: chttp2_fullstack_compression_cancel_in_a_vacuum_unsecure_test.exe echo Running chttp2_fullstack_compression_cancel_in_a_vacuum_unsecure_test $(OUT_DIR)\chttp2_fullstack_compression_cancel_in_a_vacuum_unsecure_test.exe -chttp2_fullstack_compression_census_simple_request_unsecure_test.exe: build_libs $(OUT_DIR) + +chttp2_fullstack_compression_census_simple_request_unsecure_test.exe: Debug\end2end_fixture_chttp2_fullstack_compression.lib Debug\end2end_test_census_simple_request.lib build_grpc_test_util_unsecure build_grpc_unsecure build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_fullstack_compression_census_simple_request_unsecure_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fullstack_compression_census_simple_request_unsecure_test.exe" Debug\end2end_fixture_chttp2_fullstack_compression.lib Debug\end2end_test_census_simple_request.lib Debug\grpc_test_util_unsecure.lib Debug\grpc_unsecure.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_fullstack_compression_census_simple_request_unsecure_test: chttp2_fullstack_compression_census_simple_request_unsecure_test.exe echo Running chttp2_fullstack_compression_census_simple_request_unsecure_test $(OUT_DIR)\chttp2_fullstack_compression_census_simple_request_unsecure_test.exe -chttp2_fullstack_compression_channel_connectivity_unsecure_test.exe: build_libs $(OUT_DIR) + +chttp2_fullstack_compression_channel_connectivity_unsecure_test.exe: Debug\end2end_fixture_chttp2_fullstack_compression.lib Debug\end2end_test_channel_connectivity.lib build_grpc_test_util_unsecure build_grpc_unsecure build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_fullstack_compression_channel_connectivity_unsecure_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fullstack_compression_channel_connectivity_unsecure_test.exe" Debug\end2end_fixture_chttp2_fullstack_compression.lib Debug\end2end_test_channel_connectivity.lib Debug\grpc_test_util_unsecure.lib Debug\grpc_unsecure.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_fullstack_compression_channel_connectivity_unsecure_test: chttp2_fullstack_compression_channel_connectivity_unsecure_test.exe echo Running chttp2_fullstack_compression_channel_connectivity_unsecure_test $(OUT_DIR)\chttp2_fullstack_compression_channel_connectivity_unsecure_test.exe -chttp2_fullstack_compression_default_host_unsecure_test.exe: build_libs $(OUT_DIR) + +chttp2_fullstack_compression_default_host_unsecure_test.exe: Debug\end2end_fixture_chttp2_fullstack_compression.lib Debug\end2end_test_default_host.lib build_grpc_test_util_unsecure build_grpc_unsecure build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_fullstack_compression_default_host_unsecure_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fullstack_compression_default_host_unsecure_test.exe" Debug\end2end_fixture_chttp2_fullstack_compression.lib Debug\end2end_test_default_host.lib Debug\grpc_test_util_unsecure.lib Debug\grpc_unsecure.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_fullstack_compression_default_host_unsecure_test: chttp2_fullstack_compression_default_host_unsecure_test.exe echo Running chttp2_fullstack_compression_default_host_unsecure_test $(OUT_DIR)\chttp2_fullstack_compression_default_host_unsecure_test.exe -chttp2_fullstack_compression_disappearing_server_unsecure_test.exe: build_libs $(OUT_DIR) + +chttp2_fullstack_compression_disappearing_server_unsecure_test.exe: Debug\end2end_fixture_chttp2_fullstack_compression.lib Debug\end2end_test_disappearing_server.lib build_grpc_test_util_unsecure build_grpc_unsecure build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_fullstack_compression_disappearing_server_unsecure_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fullstack_compression_disappearing_server_unsecure_test.exe" Debug\end2end_fixture_chttp2_fullstack_compression.lib Debug\end2end_test_disappearing_server.lib Debug\grpc_test_util_unsecure.lib Debug\grpc_unsecure.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_fullstack_compression_disappearing_server_unsecure_test: chttp2_fullstack_compression_disappearing_server_unsecure_test.exe echo Running chttp2_fullstack_compression_disappearing_server_unsecure_test $(OUT_DIR)\chttp2_fullstack_compression_disappearing_server_unsecure_test.exe -chttp2_fullstack_compression_early_server_shutdown_finishes_inflight_calls_unsecure_test.exe: build_libs $(OUT_DIR) + +chttp2_fullstack_compression_early_server_shutdown_finishes_inflight_calls_unsecure_test.exe: Debug\end2end_fixture_chttp2_fullstack_compression.lib Debug\end2end_test_early_server_shutdown_finishes_inflight_calls.lib build_grpc_test_util_unsecure build_grpc_unsecure build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_fullstack_compression_early_server_shutdown_finishes_inflight_calls_unsecure_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fullstack_compression_early_server_shutdown_finishes_inflight_calls_unsecure_test.exe" Debug\end2end_fixture_chttp2_fullstack_compression.lib Debug\end2end_test_early_server_shutdown_finishes_inflight_calls.lib Debug\grpc_test_util_unsecure.lib Debug\grpc_unsecure.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_fullstack_compression_early_server_shutdown_finishes_inflight_calls_unsecure_test: chttp2_fullstack_compression_early_server_shutdown_finishes_inflight_calls_unsecure_test.exe echo Running chttp2_fullstack_compression_early_server_shutdown_finishes_inflight_calls_unsecure_test $(OUT_DIR)\chttp2_fullstack_compression_early_server_shutdown_finishes_inflight_calls_unsecure_test.exe -chttp2_fullstack_compression_early_server_shutdown_finishes_tags_unsecure_test.exe: build_libs $(OUT_DIR) + +chttp2_fullstack_compression_early_server_shutdown_finishes_tags_unsecure_test.exe: Debug\end2end_fixture_chttp2_fullstack_compression.lib Debug\end2end_test_early_server_shutdown_finishes_tags.lib build_grpc_test_util_unsecure build_grpc_unsecure build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_fullstack_compression_early_server_shutdown_finishes_tags_unsecure_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fullstack_compression_early_server_shutdown_finishes_tags_unsecure_test.exe" Debug\end2end_fixture_chttp2_fullstack_compression.lib Debug\end2end_test_early_server_shutdown_finishes_tags.lib Debug\grpc_test_util_unsecure.lib Debug\grpc_unsecure.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_fullstack_compression_early_server_shutdown_finishes_tags_unsecure_test: chttp2_fullstack_compression_early_server_shutdown_finishes_tags_unsecure_test.exe echo Running chttp2_fullstack_compression_early_server_shutdown_finishes_tags_unsecure_test $(OUT_DIR)\chttp2_fullstack_compression_early_server_shutdown_finishes_tags_unsecure_test.exe -chttp2_fullstack_compression_empty_batch_unsecure_test.exe: build_libs $(OUT_DIR) + +chttp2_fullstack_compression_empty_batch_unsecure_test.exe: Debug\end2end_fixture_chttp2_fullstack_compression.lib Debug\end2end_test_empty_batch.lib build_grpc_test_util_unsecure build_grpc_unsecure build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_fullstack_compression_empty_batch_unsecure_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fullstack_compression_empty_batch_unsecure_test.exe" Debug\end2end_fixture_chttp2_fullstack_compression.lib Debug\end2end_test_empty_batch.lib Debug\grpc_test_util_unsecure.lib Debug\grpc_unsecure.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_fullstack_compression_empty_batch_unsecure_test: chttp2_fullstack_compression_empty_batch_unsecure_test.exe echo Running chttp2_fullstack_compression_empty_batch_unsecure_test $(OUT_DIR)\chttp2_fullstack_compression_empty_batch_unsecure_test.exe -chttp2_fullstack_compression_graceful_server_shutdown_unsecure_test.exe: build_libs $(OUT_DIR) + +chttp2_fullstack_compression_graceful_server_shutdown_unsecure_test.exe: Debug\end2end_fixture_chttp2_fullstack_compression.lib Debug\end2end_test_graceful_server_shutdown.lib build_grpc_test_util_unsecure build_grpc_unsecure build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_fullstack_compression_graceful_server_shutdown_unsecure_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fullstack_compression_graceful_server_shutdown_unsecure_test.exe" Debug\end2end_fixture_chttp2_fullstack_compression.lib Debug\end2end_test_graceful_server_shutdown.lib Debug\grpc_test_util_unsecure.lib Debug\grpc_unsecure.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_fullstack_compression_graceful_server_shutdown_unsecure_test: chttp2_fullstack_compression_graceful_server_shutdown_unsecure_test.exe echo Running chttp2_fullstack_compression_graceful_server_shutdown_unsecure_test $(OUT_DIR)\chttp2_fullstack_compression_graceful_server_shutdown_unsecure_test.exe -chttp2_fullstack_compression_invoke_large_request_unsecure_test.exe: build_libs $(OUT_DIR) + +chttp2_fullstack_compression_invoke_large_request_unsecure_test.exe: Debug\end2end_fixture_chttp2_fullstack_compression.lib Debug\end2end_test_invoke_large_request.lib build_grpc_test_util_unsecure build_grpc_unsecure build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_fullstack_compression_invoke_large_request_unsecure_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fullstack_compression_invoke_large_request_unsecure_test.exe" Debug\end2end_fixture_chttp2_fullstack_compression.lib Debug\end2end_test_invoke_large_request.lib Debug\grpc_test_util_unsecure.lib Debug\grpc_unsecure.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_fullstack_compression_invoke_large_request_unsecure_test: chttp2_fullstack_compression_invoke_large_request_unsecure_test.exe echo Running chttp2_fullstack_compression_invoke_large_request_unsecure_test $(OUT_DIR)\chttp2_fullstack_compression_invoke_large_request_unsecure_test.exe -chttp2_fullstack_compression_max_concurrent_streams_unsecure_test.exe: build_libs $(OUT_DIR) + +chttp2_fullstack_compression_max_concurrent_streams_unsecure_test.exe: Debug\end2end_fixture_chttp2_fullstack_compression.lib Debug\end2end_test_max_concurrent_streams.lib build_grpc_test_util_unsecure build_grpc_unsecure build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_fullstack_compression_max_concurrent_streams_unsecure_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fullstack_compression_max_concurrent_streams_unsecure_test.exe" Debug\end2end_fixture_chttp2_fullstack_compression.lib Debug\end2end_test_max_concurrent_streams.lib Debug\grpc_test_util_unsecure.lib Debug\grpc_unsecure.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_fullstack_compression_max_concurrent_streams_unsecure_test: chttp2_fullstack_compression_max_concurrent_streams_unsecure_test.exe echo Running chttp2_fullstack_compression_max_concurrent_streams_unsecure_test $(OUT_DIR)\chttp2_fullstack_compression_max_concurrent_streams_unsecure_test.exe -chttp2_fullstack_compression_max_message_length_unsecure_test.exe: build_libs $(OUT_DIR) + +chttp2_fullstack_compression_max_message_length_unsecure_test.exe: Debug\end2end_fixture_chttp2_fullstack_compression.lib Debug\end2end_test_max_message_length.lib build_grpc_test_util_unsecure build_grpc_unsecure build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_fullstack_compression_max_message_length_unsecure_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fullstack_compression_max_message_length_unsecure_test.exe" Debug\end2end_fixture_chttp2_fullstack_compression.lib Debug\end2end_test_max_message_length.lib Debug\grpc_test_util_unsecure.lib Debug\grpc_unsecure.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_fullstack_compression_max_message_length_unsecure_test: chttp2_fullstack_compression_max_message_length_unsecure_test.exe echo Running chttp2_fullstack_compression_max_message_length_unsecure_test $(OUT_DIR)\chttp2_fullstack_compression_max_message_length_unsecure_test.exe -chttp2_fullstack_compression_no_op_unsecure_test.exe: build_libs $(OUT_DIR) + +chttp2_fullstack_compression_no_op_unsecure_test.exe: Debug\end2end_fixture_chttp2_fullstack_compression.lib Debug\end2end_test_no_op.lib build_grpc_test_util_unsecure build_grpc_unsecure build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_fullstack_compression_no_op_unsecure_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fullstack_compression_no_op_unsecure_test.exe" Debug\end2end_fixture_chttp2_fullstack_compression.lib Debug\end2end_test_no_op.lib Debug\grpc_test_util_unsecure.lib Debug\grpc_unsecure.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_fullstack_compression_no_op_unsecure_test: chttp2_fullstack_compression_no_op_unsecure_test.exe echo Running chttp2_fullstack_compression_no_op_unsecure_test $(OUT_DIR)\chttp2_fullstack_compression_no_op_unsecure_test.exe -chttp2_fullstack_compression_ping_pong_streaming_unsecure_test.exe: build_libs $(OUT_DIR) + +chttp2_fullstack_compression_ping_pong_streaming_unsecure_test.exe: Debug\end2end_fixture_chttp2_fullstack_compression.lib Debug\end2end_test_ping_pong_streaming.lib build_grpc_test_util_unsecure build_grpc_unsecure build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_fullstack_compression_ping_pong_streaming_unsecure_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fullstack_compression_ping_pong_streaming_unsecure_test.exe" Debug\end2end_fixture_chttp2_fullstack_compression.lib Debug\end2end_test_ping_pong_streaming.lib Debug\grpc_test_util_unsecure.lib Debug\grpc_unsecure.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_fullstack_compression_ping_pong_streaming_unsecure_test: chttp2_fullstack_compression_ping_pong_streaming_unsecure_test.exe echo Running chttp2_fullstack_compression_ping_pong_streaming_unsecure_test $(OUT_DIR)\chttp2_fullstack_compression_ping_pong_streaming_unsecure_test.exe -chttp2_fullstack_compression_registered_call_unsecure_test.exe: build_libs $(OUT_DIR) + +chttp2_fullstack_compression_registered_call_unsecure_test.exe: Debug\end2end_fixture_chttp2_fullstack_compression.lib Debug\end2end_test_registered_call.lib build_grpc_test_util_unsecure build_grpc_unsecure build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_fullstack_compression_registered_call_unsecure_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fullstack_compression_registered_call_unsecure_test.exe" Debug\end2end_fixture_chttp2_fullstack_compression.lib Debug\end2end_test_registered_call.lib Debug\grpc_test_util_unsecure.lib Debug\grpc_unsecure.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_fullstack_compression_registered_call_unsecure_test: chttp2_fullstack_compression_registered_call_unsecure_test.exe echo Running chttp2_fullstack_compression_registered_call_unsecure_test $(OUT_DIR)\chttp2_fullstack_compression_registered_call_unsecure_test.exe -chttp2_fullstack_compression_request_response_with_binary_metadata_and_payload_unsecure_test.exe: build_libs $(OUT_DIR) + +chttp2_fullstack_compression_request_response_with_binary_metadata_and_payload_unsecure_test.exe: Debug\end2end_fixture_chttp2_fullstack_compression.lib Debug\end2end_test_request_response_with_binary_metadata_and_payload.lib build_grpc_test_util_unsecure build_grpc_unsecure build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_fullstack_compression_request_response_with_binary_metadata_and_payload_unsecure_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fullstack_compression_request_response_with_binary_metadata_and_payload_unsecure_test.exe" Debug\end2end_fixture_chttp2_fullstack_compression.lib Debug\end2end_test_request_response_with_binary_metadata_and_payload.lib Debug\grpc_test_util_unsecure.lib Debug\grpc_unsecure.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_fullstack_compression_request_response_with_binary_metadata_and_payload_unsecure_test: chttp2_fullstack_compression_request_response_with_binary_metadata_and_payload_unsecure_test.exe echo Running chttp2_fullstack_compression_request_response_with_binary_metadata_and_payload_unsecure_test $(OUT_DIR)\chttp2_fullstack_compression_request_response_with_binary_metadata_and_payload_unsecure_test.exe -chttp2_fullstack_compression_request_response_with_metadata_and_payload_unsecure_test.exe: build_libs $(OUT_DIR) + +chttp2_fullstack_compression_request_response_with_metadata_and_payload_unsecure_test.exe: Debug\end2end_fixture_chttp2_fullstack_compression.lib Debug\end2end_test_request_response_with_metadata_and_payload.lib build_grpc_test_util_unsecure build_grpc_unsecure build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_fullstack_compression_request_response_with_metadata_and_payload_unsecure_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fullstack_compression_request_response_with_metadata_and_payload_unsecure_test.exe" Debug\end2end_fixture_chttp2_fullstack_compression.lib Debug\end2end_test_request_response_with_metadata_and_payload.lib Debug\grpc_test_util_unsecure.lib Debug\grpc_unsecure.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_fullstack_compression_request_response_with_metadata_and_payload_unsecure_test: chttp2_fullstack_compression_request_response_with_metadata_and_payload_unsecure_test.exe echo Running chttp2_fullstack_compression_request_response_with_metadata_and_payload_unsecure_test $(OUT_DIR)\chttp2_fullstack_compression_request_response_with_metadata_and_payload_unsecure_test.exe -chttp2_fullstack_compression_request_response_with_payload_unsecure_test.exe: build_libs $(OUT_DIR) + +chttp2_fullstack_compression_request_response_with_payload_unsecure_test.exe: Debug\end2end_fixture_chttp2_fullstack_compression.lib Debug\end2end_test_request_response_with_payload.lib build_grpc_test_util_unsecure build_grpc_unsecure build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_fullstack_compression_request_response_with_payload_unsecure_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fullstack_compression_request_response_with_payload_unsecure_test.exe" Debug\end2end_fixture_chttp2_fullstack_compression.lib Debug\end2end_test_request_response_with_payload.lib Debug\grpc_test_util_unsecure.lib Debug\grpc_unsecure.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_fullstack_compression_request_response_with_payload_unsecure_test: chttp2_fullstack_compression_request_response_with_payload_unsecure_test.exe echo Running chttp2_fullstack_compression_request_response_with_payload_unsecure_test $(OUT_DIR)\chttp2_fullstack_compression_request_response_with_payload_unsecure_test.exe -chttp2_fullstack_compression_request_response_with_trailing_metadata_and_payload_unsecure_test.exe: build_libs $(OUT_DIR) + +chttp2_fullstack_compression_request_response_with_trailing_metadata_and_payload_unsecure_test.exe: Debug\end2end_fixture_chttp2_fullstack_compression.lib Debug\end2end_test_request_response_with_trailing_metadata_and_payload.lib build_grpc_test_util_unsecure build_grpc_unsecure build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_fullstack_compression_request_response_with_trailing_metadata_and_payload_unsecure_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fullstack_compression_request_response_with_trailing_metadata_and_payload_unsecure_test.exe" Debug\end2end_fixture_chttp2_fullstack_compression.lib Debug\end2end_test_request_response_with_trailing_metadata_and_payload.lib Debug\grpc_test_util_unsecure.lib Debug\grpc_unsecure.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_fullstack_compression_request_response_with_trailing_metadata_and_payload_unsecure_test: chttp2_fullstack_compression_request_response_with_trailing_metadata_and_payload_unsecure_test.exe echo Running chttp2_fullstack_compression_request_response_with_trailing_metadata_and_payload_unsecure_test $(OUT_DIR)\chttp2_fullstack_compression_request_response_with_trailing_metadata_and_payload_unsecure_test.exe -chttp2_fullstack_compression_request_with_compressed_payload_unsecure_test.exe: build_libs $(OUT_DIR) + +chttp2_fullstack_compression_request_with_compressed_payload_unsecure_test.exe: Debug\end2end_fixture_chttp2_fullstack_compression.lib Debug\end2end_test_request_with_compressed_payload.lib build_grpc_test_util_unsecure build_grpc_unsecure build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_fullstack_compression_request_with_compressed_payload_unsecure_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fullstack_compression_request_with_compressed_payload_unsecure_test.exe" Debug\end2end_fixture_chttp2_fullstack_compression.lib Debug\end2end_test_request_with_compressed_payload.lib Debug\grpc_test_util_unsecure.lib Debug\grpc_unsecure.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_fullstack_compression_request_with_compressed_payload_unsecure_test: chttp2_fullstack_compression_request_with_compressed_payload_unsecure_test.exe echo Running chttp2_fullstack_compression_request_with_compressed_payload_unsecure_test $(OUT_DIR)\chttp2_fullstack_compression_request_with_compressed_payload_unsecure_test.exe -chttp2_fullstack_compression_request_with_flags_unsecure_test.exe: build_libs $(OUT_DIR) + +chttp2_fullstack_compression_request_with_flags_unsecure_test.exe: Debug\end2end_fixture_chttp2_fullstack_compression.lib Debug\end2end_test_request_with_flags.lib build_grpc_test_util_unsecure build_grpc_unsecure build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_fullstack_compression_request_with_flags_unsecure_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fullstack_compression_request_with_flags_unsecure_test.exe" Debug\end2end_fixture_chttp2_fullstack_compression.lib Debug\end2end_test_request_with_flags.lib Debug\grpc_test_util_unsecure.lib Debug\grpc_unsecure.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_fullstack_compression_request_with_flags_unsecure_test: chttp2_fullstack_compression_request_with_flags_unsecure_test.exe echo Running chttp2_fullstack_compression_request_with_flags_unsecure_test $(OUT_DIR)\chttp2_fullstack_compression_request_with_flags_unsecure_test.exe -chttp2_fullstack_compression_request_with_large_metadata_unsecure_test.exe: build_libs $(OUT_DIR) + +chttp2_fullstack_compression_request_with_large_metadata_unsecure_test.exe: Debug\end2end_fixture_chttp2_fullstack_compression.lib Debug\end2end_test_request_with_large_metadata.lib build_grpc_test_util_unsecure build_grpc_unsecure build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_fullstack_compression_request_with_large_metadata_unsecure_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fullstack_compression_request_with_large_metadata_unsecure_test.exe" Debug\end2end_fixture_chttp2_fullstack_compression.lib Debug\end2end_test_request_with_large_metadata.lib Debug\grpc_test_util_unsecure.lib Debug\grpc_unsecure.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_fullstack_compression_request_with_large_metadata_unsecure_test: chttp2_fullstack_compression_request_with_large_metadata_unsecure_test.exe echo Running chttp2_fullstack_compression_request_with_large_metadata_unsecure_test $(OUT_DIR)\chttp2_fullstack_compression_request_with_large_metadata_unsecure_test.exe -chttp2_fullstack_compression_request_with_payload_unsecure_test.exe: build_libs $(OUT_DIR) + +chttp2_fullstack_compression_request_with_payload_unsecure_test.exe: Debug\end2end_fixture_chttp2_fullstack_compression.lib Debug\end2end_test_request_with_payload.lib build_grpc_test_util_unsecure build_grpc_unsecure build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_fullstack_compression_request_with_payload_unsecure_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fullstack_compression_request_with_payload_unsecure_test.exe" Debug\end2end_fixture_chttp2_fullstack_compression.lib Debug\end2end_test_request_with_payload.lib Debug\grpc_test_util_unsecure.lib Debug\grpc_unsecure.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_fullstack_compression_request_with_payload_unsecure_test: chttp2_fullstack_compression_request_with_payload_unsecure_test.exe echo Running chttp2_fullstack_compression_request_with_payload_unsecure_test $(OUT_DIR)\chttp2_fullstack_compression_request_with_payload_unsecure_test.exe -chttp2_fullstack_compression_server_finishes_request_unsecure_test.exe: build_libs $(OUT_DIR) + +chttp2_fullstack_compression_server_finishes_request_unsecure_test.exe: Debug\end2end_fixture_chttp2_fullstack_compression.lib Debug\end2end_test_server_finishes_request.lib build_grpc_test_util_unsecure build_grpc_unsecure build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_fullstack_compression_server_finishes_request_unsecure_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fullstack_compression_server_finishes_request_unsecure_test.exe" Debug\end2end_fixture_chttp2_fullstack_compression.lib Debug\end2end_test_server_finishes_request.lib Debug\grpc_test_util_unsecure.lib Debug\grpc_unsecure.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_fullstack_compression_server_finishes_request_unsecure_test: chttp2_fullstack_compression_server_finishes_request_unsecure_test.exe echo Running chttp2_fullstack_compression_server_finishes_request_unsecure_test $(OUT_DIR)\chttp2_fullstack_compression_server_finishes_request_unsecure_test.exe -chttp2_fullstack_compression_simple_delayed_request_unsecure_test.exe: build_libs $(OUT_DIR) + +chttp2_fullstack_compression_simple_delayed_request_unsecure_test.exe: Debug\end2end_fixture_chttp2_fullstack_compression.lib Debug\end2end_test_simple_delayed_request.lib build_grpc_test_util_unsecure build_grpc_unsecure build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_fullstack_compression_simple_delayed_request_unsecure_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fullstack_compression_simple_delayed_request_unsecure_test.exe" Debug\end2end_fixture_chttp2_fullstack_compression.lib Debug\end2end_test_simple_delayed_request.lib Debug\grpc_test_util_unsecure.lib Debug\grpc_unsecure.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_fullstack_compression_simple_delayed_request_unsecure_test: chttp2_fullstack_compression_simple_delayed_request_unsecure_test.exe echo Running chttp2_fullstack_compression_simple_delayed_request_unsecure_test $(OUT_DIR)\chttp2_fullstack_compression_simple_delayed_request_unsecure_test.exe -chttp2_fullstack_compression_simple_request_unsecure_test.exe: build_libs $(OUT_DIR) + +chttp2_fullstack_compression_simple_request_unsecure_test.exe: Debug\end2end_fixture_chttp2_fullstack_compression.lib Debug\end2end_test_simple_request.lib build_grpc_test_util_unsecure build_grpc_unsecure build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_fullstack_compression_simple_request_unsecure_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fullstack_compression_simple_request_unsecure_test.exe" Debug\end2end_fixture_chttp2_fullstack_compression.lib Debug\end2end_test_simple_request.lib Debug\grpc_test_util_unsecure.lib Debug\grpc_unsecure.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_fullstack_compression_simple_request_unsecure_test: chttp2_fullstack_compression_simple_request_unsecure_test.exe echo Running chttp2_fullstack_compression_simple_request_unsecure_test $(OUT_DIR)\chttp2_fullstack_compression_simple_request_unsecure_test.exe -chttp2_fullstack_compression_simple_request_with_high_initial_sequence_number_unsecure_test.exe: build_libs $(OUT_DIR) + +chttp2_fullstack_compression_simple_request_with_high_initial_sequence_number_unsecure_test.exe: Debug\end2end_fixture_chttp2_fullstack_compression.lib Debug\end2end_test_simple_request_with_high_initial_sequence_number.lib build_grpc_test_util_unsecure build_grpc_unsecure build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_fullstack_compression_simple_request_with_high_initial_sequence_number_unsecure_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_fullstack_compression_simple_request_with_high_initial_sequence_number_unsecure_test.exe" Debug\end2end_fixture_chttp2_fullstack_compression.lib Debug\end2end_test_simple_request_with_high_initial_sequence_number.lib Debug\grpc_test_util_unsecure.lib Debug\grpc_unsecure.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_fullstack_compression_simple_request_with_high_initial_sequence_number_unsecure_test: chttp2_fullstack_compression_simple_request_with_high_initial_sequence_number_unsecure_test.exe echo Running chttp2_fullstack_compression_simple_request_with_high_initial_sequence_number_unsecure_test $(OUT_DIR)\chttp2_fullstack_compression_simple_request_with_high_initial_sequence_number_unsecure_test.exe -chttp2_socket_pair_bad_hostname_unsecure_test.exe: build_libs $(OUT_DIR) + +chttp2_socket_pair_bad_hostname_unsecure_test.exe: Debug\end2end_fixture_chttp2_socket_pair.lib Debug\end2end_test_bad_hostname.lib build_grpc_test_util_unsecure build_grpc_unsecure build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_socket_pair_bad_hostname_unsecure_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_socket_pair_bad_hostname_unsecure_test.exe" Debug\end2end_fixture_chttp2_socket_pair.lib Debug\end2end_test_bad_hostname.lib Debug\grpc_test_util_unsecure.lib Debug\grpc_unsecure.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_socket_pair_bad_hostname_unsecure_test: chttp2_socket_pair_bad_hostname_unsecure_test.exe echo Running chttp2_socket_pair_bad_hostname_unsecure_test $(OUT_DIR)\chttp2_socket_pair_bad_hostname_unsecure_test.exe -chttp2_socket_pair_cancel_after_accept_unsecure_test.exe: build_libs $(OUT_DIR) + +chttp2_socket_pair_cancel_after_accept_unsecure_test.exe: Debug\end2end_fixture_chttp2_socket_pair.lib Debug\end2end_test_cancel_after_accept.lib build_grpc_test_util_unsecure build_grpc_unsecure build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_socket_pair_cancel_after_accept_unsecure_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_socket_pair_cancel_after_accept_unsecure_test.exe" Debug\end2end_fixture_chttp2_socket_pair.lib Debug\end2end_test_cancel_after_accept.lib Debug\grpc_test_util_unsecure.lib Debug\grpc_unsecure.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_socket_pair_cancel_after_accept_unsecure_test: chttp2_socket_pair_cancel_after_accept_unsecure_test.exe echo Running chttp2_socket_pair_cancel_after_accept_unsecure_test $(OUT_DIR)\chttp2_socket_pair_cancel_after_accept_unsecure_test.exe -chttp2_socket_pair_cancel_after_accept_and_writes_closed_unsecure_test.exe: build_libs $(OUT_DIR) + +chttp2_socket_pair_cancel_after_accept_and_writes_closed_unsecure_test.exe: Debug\end2end_fixture_chttp2_socket_pair.lib Debug\end2end_test_cancel_after_accept_and_writes_closed.lib build_grpc_test_util_unsecure build_grpc_unsecure build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_socket_pair_cancel_after_accept_and_writes_closed_unsecure_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_socket_pair_cancel_after_accept_and_writes_closed_unsecure_test.exe" Debug\end2end_fixture_chttp2_socket_pair.lib Debug\end2end_test_cancel_after_accept_and_writes_closed.lib Debug\grpc_test_util_unsecure.lib Debug\grpc_unsecure.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_socket_pair_cancel_after_accept_and_writes_closed_unsecure_test: chttp2_socket_pair_cancel_after_accept_and_writes_closed_unsecure_test.exe echo Running chttp2_socket_pair_cancel_after_accept_and_writes_closed_unsecure_test $(OUT_DIR)\chttp2_socket_pair_cancel_after_accept_and_writes_closed_unsecure_test.exe -chttp2_socket_pair_cancel_after_invoke_unsecure_test.exe: build_libs $(OUT_DIR) + +chttp2_socket_pair_cancel_after_invoke_unsecure_test.exe: Debug\end2end_fixture_chttp2_socket_pair.lib Debug\end2end_test_cancel_after_invoke.lib build_grpc_test_util_unsecure build_grpc_unsecure build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_socket_pair_cancel_after_invoke_unsecure_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_socket_pair_cancel_after_invoke_unsecure_test.exe" Debug\end2end_fixture_chttp2_socket_pair.lib Debug\end2end_test_cancel_after_invoke.lib Debug\grpc_test_util_unsecure.lib Debug\grpc_unsecure.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_socket_pair_cancel_after_invoke_unsecure_test: chttp2_socket_pair_cancel_after_invoke_unsecure_test.exe echo Running chttp2_socket_pair_cancel_after_invoke_unsecure_test $(OUT_DIR)\chttp2_socket_pair_cancel_after_invoke_unsecure_test.exe -chttp2_socket_pair_cancel_before_invoke_unsecure_test.exe: build_libs $(OUT_DIR) + +chttp2_socket_pair_cancel_before_invoke_unsecure_test.exe: Debug\end2end_fixture_chttp2_socket_pair.lib Debug\end2end_test_cancel_before_invoke.lib build_grpc_test_util_unsecure build_grpc_unsecure build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_socket_pair_cancel_before_invoke_unsecure_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_socket_pair_cancel_before_invoke_unsecure_test.exe" Debug\end2end_fixture_chttp2_socket_pair.lib Debug\end2end_test_cancel_before_invoke.lib Debug\grpc_test_util_unsecure.lib Debug\grpc_unsecure.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_socket_pair_cancel_before_invoke_unsecure_test: chttp2_socket_pair_cancel_before_invoke_unsecure_test.exe echo Running chttp2_socket_pair_cancel_before_invoke_unsecure_test $(OUT_DIR)\chttp2_socket_pair_cancel_before_invoke_unsecure_test.exe -chttp2_socket_pair_cancel_in_a_vacuum_unsecure_test.exe: build_libs $(OUT_DIR) + +chttp2_socket_pair_cancel_in_a_vacuum_unsecure_test.exe: Debug\end2end_fixture_chttp2_socket_pair.lib Debug\end2end_test_cancel_in_a_vacuum.lib build_grpc_test_util_unsecure build_grpc_unsecure build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_socket_pair_cancel_in_a_vacuum_unsecure_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_socket_pair_cancel_in_a_vacuum_unsecure_test.exe" Debug\end2end_fixture_chttp2_socket_pair.lib Debug\end2end_test_cancel_in_a_vacuum.lib Debug\grpc_test_util_unsecure.lib Debug\grpc_unsecure.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_socket_pair_cancel_in_a_vacuum_unsecure_test: chttp2_socket_pair_cancel_in_a_vacuum_unsecure_test.exe echo Running chttp2_socket_pair_cancel_in_a_vacuum_unsecure_test $(OUT_DIR)\chttp2_socket_pair_cancel_in_a_vacuum_unsecure_test.exe -chttp2_socket_pair_census_simple_request_unsecure_test.exe: build_libs $(OUT_DIR) + +chttp2_socket_pair_census_simple_request_unsecure_test.exe: Debug\end2end_fixture_chttp2_socket_pair.lib Debug\end2end_test_census_simple_request.lib build_grpc_test_util_unsecure build_grpc_unsecure build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_socket_pair_census_simple_request_unsecure_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_socket_pair_census_simple_request_unsecure_test.exe" Debug\end2end_fixture_chttp2_socket_pair.lib Debug\end2end_test_census_simple_request.lib Debug\grpc_test_util_unsecure.lib Debug\grpc_unsecure.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_socket_pair_census_simple_request_unsecure_test: chttp2_socket_pair_census_simple_request_unsecure_test.exe echo Running chttp2_socket_pair_census_simple_request_unsecure_test $(OUT_DIR)\chttp2_socket_pair_census_simple_request_unsecure_test.exe -chttp2_socket_pair_early_server_shutdown_finishes_inflight_calls_unsecure_test.exe: build_libs $(OUT_DIR) + +chttp2_socket_pair_early_server_shutdown_finishes_inflight_calls_unsecure_test.exe: Debug\end2end_fixture_chttp2_socket_pair.lib Debug\end2end_test_early_server_shutdown_finishes_inflight_calls.lib build_grpc_test_util_unsecure build_grpc_unsecure build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_socket_pair_early_server_shutdown_finishes_inflight_calls_unsecure_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_socket_pair_early_server_shutdown_finishes_inflight_calls_unsecure_test.exe" Debug\end2end_fixture_chttp2_socket_pair.lib Debug\end2end_test_early_server_shutdown_finishes_inflight_calls.lib Debug\grpc_test_util_unsecure.lib Debug\grpc_unsecure.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_socket_pair_early_server_shutdown_finishes_inflight_calls_unsecure_test: chttp2_socket_pair_early_server_shutdown_finishes_inflight_calls_unsecure_test.exe echo Running chttp2_socket_pair_early_server_shutdown_finishes_inflight_calls_unsecure_test $(OUT_DIR)\chttp2_socket_pair_early_server_shutdown_finishes_inflight_calls_unsecure_test.exe -chttp2_socket_pair_early_server_shutdown_finishes_tags_unsecure_test.exe: build_libs $(OUT_DIR) + +chttp2_socket_pair_early_server_shutdown_finishes_tags_unsecure_test.exe: Debug\end2end_fixture_chttp2_socket_pair.lib Debug\end2end_test_early_server_shutdown_finishes_tags.lib build_grpc_test_util_unsecure build_grpc_unsecure build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_socket_pair_early_server_shutdown_finishes_tags_unsecure_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_socket_pair_early_server_shutdown_finishes_tags_unsecure_test.exe" Debug\end2end_fixture_chttp2_socket_pair.lib Debug\end2end_test_early_server_shutdown_finishes_tags.lib Debug\grpc_test_util_unsecure.lib Debug\grpc_unsecure.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_socket_pair_early_server_shutdown_finishes_tags_unsecure_test: chttp2_socket_pair_early_server_shutdown_finishes_tags_unsecure_test.exe echo Running chttp2_socket_pair_early_server_shutdown_finishes_tags_unsecure_test $(OUT_DIR)\chttp2_socket_pair_early_server_shutdown_finishes_tags_unsecure_test.exe -chttp2_socket_pair_empty_batch_unsecure_test.exe: build_libs $(OUT_DIR) + +chttp2_socket_pair_empty_batch_unsecure_test.exe: Debug\end2end_fixture_chttp2_socket_pair.lib Debug\end2end_test_empty_batch.lib build_grpc_test_util_unsecure build_grpc_unsecure build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_socket_pair_empty_batch_unsecure_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_socket_pair_empty_batch_unsecure_test.exe" Debug\end2end_fixture_chttp2_socket_pair.lib Debug\end2end_test_empty_batch.lib Debug\grpc_test_util_unsecure.lib Debug\grpc_unsecure.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_socket_pair_empty_batch_unsecure_test: chttp2_socket_pair_empty_batch_unsecure_test.exe echo Running chttp2_socket_pair_empty_batch_unsecure_test $(OUT_DIR)\chttp2_socket_pair_empty_batch_unsecure_test.exe -chttp2_socket_pair_graceful_server_shutdown_unsecure_test.exe: build_libs $(OUT_DIR) + +chttp2_socket_pair_graceful_server_shutdown_unsecure_test.exe: Debug\end2end_fixture_chttp2_socket_pair.lib Debug\end2end_test_graceful_server_shutdown.lib build_grpc_test_util_unsecure build_grpc_unsecure build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_socket_pair_graceful_server_shutdown_unsecure_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_socket_pair_graceful_server_shutdown_unsecure_test.exe" Debug\end2end_fixture_chttp2_socket_pair.lib Debug\end2end_test_graceful_server_shutdown.lib Debug\grpc_test_util_unsecure.lib Debug\grpc_unsecure.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_socket_pair_graceful_server_shutdown_unsecure_test: chttp2_socket_pair_graceful_server_shutdown_unsecure_test.exe echo Running chttp2_socket_pair_graceful_server_shutdown_unsecure_test $(OUT_DIR)\chttp2_socket_pair_graceful_server_shutdown_unsecure_test.exe -chttp2_socket_pair_invoke_large_request_unsecure_test.exe: build_libs $(OUT_DIR) + +chttp2_socket_pair_invoke_large_request_unsecure_test.exe: Debug\end2end_fixture_chttp2_socket_pair.lib Debug\end2end_test_invoke_large_request.lib build_grpc_test_util_unsecure build_grpc_unsecure build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_socket_pair_invoke_large_request_unsecure_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_socket_pair_invoke_large_request_unsecure_test.exe" Debug\end2end_fixture_chttp2_socket_pair.lib Debug\end2end_test_invoke_large_request.lib Debug\grpc_test_util_unsecure.lib Debug\grpc_unsecure.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_socket_pair_invoke_large_request_unsecure_test: chttp2_socket_pair_invoke_large_request_unsecure_test.exe echo Running chttp2_socket_pair_invoke_large_request_unsecure_test $(OUT_DIR)\chttp2_socket_pair_invoke_large_request_unsecure_test.exe -chttp2_socket_pair_max_concurrent_streams_unsecure_test.exe: build_libs $(OUT_DIR) + +chttp2_socket_pair_max_concurrent_streams_unsecure_test.exe: Debug\end2end_fixture_chttp2_socket_pair.lib Debug\end2end_test_max_concurrent_streams.lib build_grpc_test_util_unsecure build_grpc_unsecure build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_socket_pair_max_concurrent_streams_unsecure_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_socket_pair_max_concurrent_streams_unsecure_test.exe" Debug\end2end_fixture_chttp2_socket_pair.lib Debug\end2end_test_max_concurrent_streams.lib Debug\grpc_test_util_unsecure.lib Debug\grpc_unsecure.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_socket_pair_max_concurrent_streams_unsecure_test: chttp2_socket_pair_max_concurrent_streams_unsecure_test.exe echo Running chttp2_socket_pair_max_concurrent_streams_unsecure_test $(OUT_DIR)\chttp2_socket_pair_max_concurrent_streams_unsecure_test.exe -chttp2_socket_pair_max_message_length_unsecure_test.exe: build_libs $(OUT_DIR) + +chttp2_socket_pair_max_message_length_unsecure_test.exe: Debug\end2end_fixture_chttp2_socket_pair.lib Debug\end2end_test_max_message_length.lib build_grpc_test_util_unsecure build_grpc_unsecure build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_socket_pair_max_message_length_unsecure_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_socket_pair_max_message_length_unsecure_test.exe" Debug\end2end_fixture_chttp2_socket_pair.lib Debug\end2end_test_max_message_length.lib Debug\grpc_test_util_unsecure.lib Debug\grpc_unsecure.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_socket_pair_max_message_length_unsecure_test: chttp2_socket_pair_max_message_length_unsecure_test.exe echo Running chttp2_socket_pair_max_message_length_unsecure_test $(OUT_DIR)\chttp2_socket_pair_max_message_length_unsecure_test.exe -chttp2_socket_pair_no_op_unsecure_test.exe: build_libs $(OUT_DIR) + +chttp2_socket_pair_no_op_unsecure_test.exe: Debug\end2end_fixture_chttp2_socket_pair.lib Debug\end2end_test_no_op.lib build_grpc_test_util_unsecure build_grpc_unsecure build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_socket_pair_no_op_unsecure_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_socket_pair_no_op_unsecure_test.exe" Debug\end2end_fixture_chttp2_socket_pair.lib Debug\end2end_test_no_op.lib Debug\grpc_test_util_unsecure.lib Debug\grpc_unsecure.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_socket_pair_no_op_unsecure_test: chttp2_socket_pair_no_op_unsecure_test.exe echo Running chttp2_socket_pair_no_op_unsecure_test $(OUT_DIR)\chttp2_socket_pair_no_op_unsecure_test.exe -chttp2_socket_pair_ping_pong_streaming_unsecure_test.exe: build_libs $(OUT_DIR) + +chttp2_socket_pair_ping_pong_streaming_unsecure_test.exe: Debug\end2end_fixture_chttp2_socket_pair.lib Debug\end2end_test_ping_pong_streaming.lib build_grpc_test_util_unsecure build_grpc_unsecure build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_socket_pair_ping_pong_streaming_unsecure_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_socket_pair_ping_pong_streaming_unsecure_test.exe" Debug\end2end_fixture_chttp2_socket_pair.lib Debug\end2end_test_ping_pong_streaming.lib Debug\grpc_test_util_unsecure.lib Debug\grpc_unsecure.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_socket_pair_ping_pong_streaming_unsecure_test: chttp2_socket_pair_ping_pong_streaming_unsecure_test.exe echo Running chttp2_socket_pair_ping_pong_streaming_unsecure_test $(OUT_DIR)\chttp2_socket_pair_ping_pong_streaming_unsecure_test.exe -chttp2_socket_pair_registered_call_unsecure_test.exe: build_libs $(OUT_DIR) + +chttp2_socket_pair_registered_call_unsecure_test.exe: Debug\end2end_fixture_chttp2_socket_pair.lib Debug\end2end_test_registered_call.lib build_grpc_test_util_unsecure build_grpc_unsecure build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_socket_pair_registered_call_unsecure_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_socket_pair_registered_call_unsecure_test.exe" Debug\end2end_fixture_chttp2_socket_pair.lib Debug\end2end_test_registered_call.lib Debug\grpc_test_util_unsecure.lib Debug\grpc_unsecure.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_socket_pair_registered_call_unsecure_test: chttp2_socket_pair_registered_call_unsecure_test.exe echo Running chttp2_socket_pair_registered_call_unsecure_test $(OUT_DIR)\chttp2_socket_pair_registered_call_unsecure_test.exe -chttp2_socket_pair_request_response_with_binary_metadata_and_payload_unsecure_test.exe: build_libs $(OUT_DIR) + +chttp2_socket_pair_request_response_with_binary_metadata_and_payload_unsecure_test.exe: Debug\end2end_fixture_chttp2_socket_pair.lib Debug\end2end_test_request_response_with_binary_metadata_and_payload.lib build_grpc_test_util_unsecure build_grpc_unsecure build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_socket_pair_request_response_with_binary_metadata_and_payload_unsecure_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_socket_pair_request_response_with_binary_metadata_and_payload_unsecure_test.exe" Debug\end2end_fixture_chttp2_socket_pair.lib Debug\end2end_test_request_response_with_binary_metadata_and_payload.lib Debug\grpc_test_util_unsecure.lib Debug\grpc_unsecure.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_socket_pair_request_response_with_binary_metadata_and_payload_unsecure_test: chttp2_socket_pair_request_response_with_binary_metadata_and_payload_unsecure_test.exe echo Running chttp2_socket_pair_request_response_with_binary_metadata_and_payload_unsecure_test $(OUT_DIR)\chttp2_socket_pair_request_response_with_binary_metadata_and_payload_unsecure_test.exe -chttp2_socket_pair_request_response_with_metadata_and_payload_unsecure_test.exe: build_libs $(OUT_DIR) + +chttp2_socket_pair_request_response_with_metadata_and_payload_unsecure_test.exe: Debug\end2end_fixture_chttp2_socket_pair.lib Debug\end2end_test_request_response_with_metadata_and_payload.lib build_grpc_test_util_unsecure build_grpc_unsecure build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_socket_pair_request_response_with_metadata_and_payload_unsecure_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_socket_pair_request_response_with_metadata_and_payload_unsecure_test.exe" Debug\end2end_fixture_chttp2_socket_pair.lib Debug\end2end_test_request_response_with_metadata_and_payload.lib Debug\grpc_test_util_unsecure.lib Debug\grpc_unsecure.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_socket_pair_request_response_with_metadata_and_payload_unsecure_test: chttp2_socket_pair_request_response_with_metadata_and_payload_unsecure_test.exe echo Running chttp2_socket_pair_request_response_with_metadata_and_payload_unsecure_test $(OUT_DIR)\chttp2_socket_pair_request_response_with_metadata_and_payload_unsecure_test.exe -chttp2_socket_pair_request_response_with_payload_unsecure_test.exe: build_libs $(OUT_DIR) + +chttp2_socket_pair_request_response_with_payload_unsecure_test.exe: Debug\end2end_fixture_chttp2_socket_pair.lib Debug\end2end_test_request_response_with_payload.lib build_grpc_test_util_unsecure build_grpc_unsecure build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_socket_pair_request_response_with_payload_unsecure_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_socket_pair_request_response_with_payload_unsecure_test.exe" Debug\end2end_fixture_chttp2_socket_pair.lib Debug\end2end_test_request_response_with_payload.lib Debug\grpc_test_util_unsecure.lib Debug\grpc_unsecure.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_socket_pair_request_response_with_payload_unsecure_test: chttp2_socket_pair_request_response_with_payload_unsecure_test.exe echo Running chttp2_socket_pair_request_response_with_payload_unsecure_test $(OUT_DIR)\chttp2_socket_pair_request_response_with_payload_unsecure_test.exe -chttp2_socket_pair_request_response_with_trailing_metadata_and_payload_unsecure_test.exe: build_libs $(OUT_DIR) + +chttp2_socket_pair_request_response_with_trailing_metadata_and_payload_unsecure_test.exe: Debug\end2end_fixture_chttp2_socket_pair.lib Debug\end2end_test_request_response_with_trailing_metadata_and_payload.lib build_grpc_test_util_unsecure build_grpc_unsecure build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_socket_pair_request_response_with_trailing_metadata_and_payload_unsecure_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_socket_pair_request_response_with_trailing_metadata_and_payload_unsecure_test.exe" Debug\end2end_fixture_chttp2_socket_pair.lib Debug\end2end_test_request_response_with_trailing_metadata_and_payload.lib Debug\grpc_test_util_unsecure.lib Debug\grpc_unsecure.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_socket_pair_request_response_with_trailing_metadata_and_payload_unsecure_test: chttp2_socket_pair_request_response_with_trailing_metadata_and_payload_unsecure_test.exe echo Running chttp2_socket_pair_request_response_with_trailing_metadata_and_payload_unsecure_test $(OUT_DIR)\chttp2_socket_pair_request_response_with_trailing_metadata_and_payload_unsecure_test.exe -chttp2_socket_pair_request_with_compressed_payload_unsecure_test.exe: build_libs $(OUT_DIR) + +chttp2_socket_pair_request_with_compressed_payload_unsecure_test.exe: Debug\end2end_fixture_chttp2_socket_pair.lib Debug\end2end_test_request_with_compressed_payload.lib build_grpc_test_util_unsecure build_grpc_unsecure build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_socket_pair_request_with_compressed_payload_unsecure_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_socket_pair_request_with_compressed_payload_unsecure_test.exe" Debug\end2end_fixture_chttp2_socket_pair.lib Debug\end2end_test_request_with_compressed_payload.lib Debug\grpc_test_util_unsecure.lib Debug\grpc_unsecure.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_socket_pair_request_with_compressed_payload_unsecure_test: chttp2_socket_pair_request_with_compressed_payload_unsecure_test.exe echo Running chttp2_socket_pair_request_with_compressed_payload_unsecure_test $(OUT_DIR)\chttp2_socket_pair_request_with_compressed_payload_unsecure_test.exe -chttp2_socket_pair_request_with_flags_unsecure_test.exe: build_libs $(OUT_DIR) + +chttp2_socket_pair_request_with_flags_unsecure_test.exe: Debug\end2end_fixture_chttp2_socket_pair.lib Debug\end2end_test_request_with_flags.lib build_grpc_test_util_unsecure build_grpc_unsecure build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_socket_pair_request_with_flags_unsecure_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_socket_pair_request_with_flags_unsecure_test.exe" Debug\end2end_fixture_chttp2_socket_pair.lib Debug\end2end_test_request_with_flags.lib Debug\grpc_test_util_unsecure.lib Debug\grpc_unsecure.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_socket_pair_request_with_flags_unsecure_test: chttp2_socket_pair_request_with_flags_unsecure_test.exe echo Running chttp2_socket_pair_request_with_flags_unsecure_test $(OUT_DIR)\chttp2_socket_pair_request_with_flags_unsecure_test.exe -chttp2_socket_pair_request_with_large_metadata_unsecure_test.exe: build_libs $(OUT_DIR) + +chttp2_socket_pair_request_with_large_metadata_unsecure_test.exe: Debug\end2end_fixture_chttp2_socket_pair.lib Debug\end2end_test_request_with_large_metadata.lib build_grpc_test_util_unsecure build_grpc_unsecure build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_socket_pair_request_with_large_metadata_unsecure_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_socket_pair_request_with_large_metadata_unsecure_test.exe" Debug\end2end_fixture_chttp2_socket_pair.lib Debug\end2end_test_request_with_large_metadata.lib Debug\grpc_test_util_unsecure.lib Debug\grpc_unsecure.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_socket_pair_request_with_large_metadata_unsecure_test: chttp2_socket_pair_request_with_large_metadata_unsecure_test.exe echo Running chttp2_socket_pair_request_with_large_metadata_unsecure_test $(OUT_DIR)\chttp2_socket_pair_request_with_large_metadata_unsecure_test.exe -chttp2_socket_pair_request_with_payload_unsecure_test.exe: build_libs $(OUT_DIR) + +chttp2_socket_pair_request_with_payload_unsecure_test.exe: Debug\end2end_fixture_chttp2_socket_pair.lib Debug\end2end_test_request_with_payload.lib build_grpc_test_util_unsecure build_grpc_unsecure build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_socket_pair_request_with_payload_unsecure_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_socket_pair_request_with_payload_unsecure_test.exe" Debug\end2end_fixture_chttp2_socket_pair.lib Debug\end2end_test_request_with_payload.lib Debug\grpc_test_util_unsecure.lib Debug\grpc_unsecure.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_socket_pair_request_with_payload_unsecure_test: chttp2_socket_pair_request_with_payload_unsecure_test.exe echo Running chttp2_socket_pair_request_with_payload_unsecure_test $(OUT_DIR)\chttp2_socket_pair_request_with_payload_unsecure_test.exe -chttp2_socket_pair_server_finishes_request_unsecure_test.exe: build_libs $(OUT_DIR) + +chttp2_socket_pair_server_finishes_request_unsecure_test.exe: Debug\end2end_fixture_chttp2_socket_pair.lib Debug\end2end_test_server_finishes_request.lib build_grpc_test_util_unsecure build_grpc_unsecure build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_socket_pair_server_finishes_request_unsecure_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_socket_pair_server_finishes_request_unsecure_test.exe" Debug\end2end_fixture_chttp2_socket_pair.lib Debug\end2end_test_server_finishes_request.lib Debug\grpc_test_util_unsecure.lib Debug\grpc_unsecure.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_socket_pair_server_finishes_request_unsecure_test: chttp2_socket_pair_server_finishes_request_unsecure_test.exe echo Running chttp2_socket_pair_server_finishes_request_unsecure_test $(OUT_DIR)\chttp2_socket_pair_server_finishes_request_unsecure_test.exe -chttp2_socket_pair_simple_request_unsecure_test.exe: build_libs $(OUT_DIR) + +chttp2_socket_pair_simple_request_unsecure_test.exe: Debug\end2end_fixture_chttp2_socket_pair.lib Debug\end2end_test_simple_request.lib build_grpc_test_util_unsecure build_grpc_unsecure build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_socket_pair_simple_request_unsecure_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_socket_pair_simple_request_unsecure_test.exe" Debug\end2end_fixture_chttp2_socket_pair.lib Debug\end2end_test_simple_request.lib Debug\grpc_test_util_unsecure.lib Debug\grpc_unsecure.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_socket_pair_simple_request_unsecure_test: chttp2_socket_pair_simple_request_unsecure_test.exe echo Running chttp2_socket_pair_simple_request_unsecure_test $(OUT_DIR)\chttp2_socket_pair_simple_request_unsecure_test.exe -chttp2_socket_pair_simple_request_with_high_initial_sequence_number_unsecure_test.exe: build_libs $(OUT_DIR) + +chttp2_socket_pair_simple_request_with_high_initial_sequence_number_unsecure_test.exe: Debug\end2end_fixture_chttp2_socket_pair.lib Debug\end2end_test_simple_request_with_high_initial_sequence_number.lib build_grpc_test_util_unsecure build_grpc_unsecure build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_socket_pair_simple_request_with_high_initial_sequence_number_unsecure_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_socket_pair_simple_request_with_high_initial_sequence_number_unsecure_test.exe" Debug\end2end_fixture_chttp2_socket_pair.lib Debug\end2end_test_simple_request_with_high_initial_sequence_number.lib Debug\grpc_test_util_unsecure.lib Debug\grpc_unsecure.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_socket_pair_simple_request_with_high_initial_sequence_number_unsecure_test: chttp2_socket_pair_simple_request_with_high_initial_sequence_number_unsecure_test.exe echo Running chttp2_socket_pair_simple_request_with_high_initial_sequence_number_unsecure_test $(OUT_DIR)\chttp2_socket_pair_simple_request_with_high_initial_sequence_number_unsecure_test.exe -chttp2_socket_pair_one_byte_at_a_time_bad_hostname_unsecure_test.exe: build_libs $(OUT_DIR) + +chttp2_socket_pair_one_byte_at_a_time_bad_hostname_unsecure_test.exe: Debug\end2end_fixture_chttp2_socket_pair_one_byte_at_a_time.lib Debug\end2end_test_bad_hostname.lib build_grpc_test_util_unsecure build_grpc_unsecure build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_socket_pair_one_byte_at_a_time_bad_hostname_unsecure_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_socket_pair_one_byte_at_a_time_bad_hostname_unsecure_test.exe" Debug\end2end_fixture_chttp2_socket_pair_one_byte_at_a_time.lib Debug\end2end_test_bad_hostname.lib Debug\grpc_test_util_unsecure.lib Debug\grpc_unsecure.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_socket_pair_one_byte_at_a_time_bad_hostname_unsecure_test: chttp2_socket_pair_one_byte_at_a_time_bad_hostname_unsecure_test.exe echo Running chttp2_socket_pair_one_byte_at_a_time_bad_hostname_unsecure_test $(OUT_DIR)\chttp2_socket_pair_one_byte_at_a_time_bad_hostname_unsecure_test.exe -chttp2_socket_pair_one_byte_at_a_time_cancel_after_accept_unsecure_test.exe: build_libs $(OUT_DIR) + +chttp2_socket_pair_one_byte_at_a_time_cancel_after_accept_unsecure_test.exe: Debug\end2end_fixture_chttp2_socket_pair_one_byte_at_a_time.lib Debug\end2end_test_cancel_after_accept.lib build_grpc_test_util_unsecure build_grpc_unsecure build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_socket_pair_one_byte_at_a_time_cancel_after_accept_unsecure_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_socket_pair_one_byte_at_a_time_cancel_after_accept_unsecure_test.exe" Debug\end2end_fixture_chttp2_socket_pair_one_byte_at_a_time.lib Debug\end2end_test_cancel_after_accept.lib Debug\grpc_test_util_unsecure.lib Debug\grpc_unsecure.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_socket_pair_one_byte_at_a_time_cancel_after_accept_unsecure_test: chttp2_socket_pair_one_byte_at_a_time_cancel_after_accept_unsecure_test.exe echo Running chttp2_socket_pair_one_byte_at_a_time_cancel_after_accept_unsecure_test $(OUT_DIR)\chttp2_socket_pair_one_byte_at_a_time_cancel_after_accept_unsecure_test.exe -chttp2_socket_pair_one_byte_at_a_time_cancel_after_accept_and_writes_closed_unsecure_test.exe: build_libs $(OUT_DIR) + +chttp2_socket_pair_one_byte_at_a_time_cancel_after_accept_and_writes_closed_unsecure_test.exe: Debug\end2end_fixture_chttp2_socket_pair_one_byte_at_a_time.lib Debug\end2end_test_cancel_after_accept_and_writes_closed.lib build_grpc_test_util_unsecure build_grpc_unsecure build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_socket_pair_one_byte_at_a_time_cancel_after_accept_and_writes_closed_unsecure_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_socket_pair_one_byte_at_a_time_cancel_after_accept_and_writes_closed_unsecure_test.exe" Debug\end2end_fixture_chttp2_socket_pair_one_byte_at_a_time.lib Debug\end2end_test_cancel_after_accept_and_writes_closed.lib Debug\grpc_test_util_unsecure.lib Debug\grpc_unsecure.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_socket_pair_one_byte_at_a_time_cancel_after_accept_and_writes_closed_unsecure_test: chttp2_socket_pair_one_byte_at_a_time_cancel_after_accept_and_writes_closed_unsecure_test.exe echo Running chttp2_socket_pair_one_byte_at_a_time_cancel_after_accept_and_writes_closed_unsecure_test $(OUT_DIR)\chttp2_socket_pair_one_byte_at_a_time_cancel_after_accept_and_writes_closed_unsecure_test.exe -chttp2_socket_pair_one_byte_at_a_time_cancel_after_invoke_unsecure_test.exe: build_libs $(OUT_DIR) + +chttp2_socket_pair_one_byte_at_a_time_cancel_after_invoke_unsecure_test.exe: Debug\end2end_fixture_chttp2_socket_pair_one_byte_at_a_time.lib Debug\end2end_test_cancel_after_invoke.lib build_grpc_test_util_unsecure build_grpc_unsecure build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_socket_pair_one_byte_at_a_time_cancel_after_invoke_unsecure_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_socket_pair_one_byte_at_a_time_cancel_after_invoke_unsecure_test.exe" Debug\end2end_fixture_chttp2_socket_pair_one_byte_at_a_time.lib Debug\end2end_test_cancel_after_invoke.lib Debug\grpc_test_util_unsecure.lib Debug\grpc_unsecure.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_socket_pair_one_byte_at_a_time_cancel_after_invoke_unsecure_test: chttp2_socket_pair_one_byte_at_a_time_cancel_after_invoke_unsecure_test.exe echo Running chttp2_socket_pair_one_byte_at_a_time_cancel_after_invoke_unsecure_test $(OUT_DIR)\chttp2_socket_pair_one_byte_at_a_time_cancel_after_invoke_unsecure_test.exe -chttp2_socket_pair_one_byte_at_a_time_cancel_before_invoke_unsecure_test.exe: build_libs $(OUT_DIR) + +chttp2_socket_pair_one_byte_at_a_time_cancel_before_invoke_unsecure_test.exe: Debug\end2end_fixture_chttp2_socket_pair_one_byte_at_a_time.lib Debug\end2end_test_cancel_before_invoke.lib build_grpc_test_util_unsecure build_grpc_unsecure build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_socket_pair_one_byte_at_a_time_cancel_before_invoke_unsecure_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_socket_pair_one_byte_at_a_time_cancel_before_invoke_unsecure_test.exe" Debug\end2end_fixture_chttp2_socket_pair_one_byte_at_a_time.lib Debug\end2end_test_cancel_before_invoke.lib Debug\grpc_test_util_unsecure.lib Debug\grpc_unsecure.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_socket_pair_one_byte_at_a_time_cancel_before_invoke_unsecure_test: chttp2_socket_pair_one_byte_at_a_time_cancel_before_invoke_unsecure_test.exe echo Running chttp2_socket_pair_one_byte_at_a_time_cancel_before_invoke_unsecure_test $(OUT_DIR)\chttp2_socket_pair_one_byte_at_a_time_cancel_before_invoke_unsecure_test.exe -chttp2_socket_pair_one_byte_at_a_time_cancel_in_a_vacuum_unsecure_test.exe: build_libs $(OUT_DIR) + +chttp2_socket_pair_one_byte_at_a_time_cancel_in_a_vacuum_unsecure_test.exe: Debug\end2end_fixture_chttp2_socket_pair_one_byte_at_a_time.lib Debug\end2end_test_cancel_in_a_vacuum.lib build_grpc_test_util_unsecure build_grpc_unsecure build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_socket_pair_one_byte_at_a_time_cancel_in_a_vacuum_unsecure_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_socket_pair_one_byte_at_a_time_cancel_in_a_vacuum_unsecure_test.exe" Debug\end2end_fixture_chttp2_socket_pair_one_byte_at_a_time.lib Debug\end2end_test_cancel_in_a_vacuum.lib Debug\grpc_test_util_unsecure.lib Debug\grpc_unsecure.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_socket_pair_one_byte_at_a_time_cancel_in_a_vacuum_unsecure_test: chttp2_socket_pair_one_byte_at_a_time_cancel_in_a_vacuum_unsecure_test.exe echo Running chttp2_socket_pair_one_byte_at_a_time_cancel_in_a_vacuum_unsecure_test $(OUT_DIR)\chttp2_socket_pair_one_byte_at_a_time_cancel_in_a_vacuum_unsecure_test.exe -chttp2_socket_pair_one_byte_at_a_time_census_simple_request_unsecure_test.exe: build_libs $(OUT_DIR) + +chttp2_socket_pair_one_byte_at_a_time_census_simple_request_unsecure_test.exe: Debug\end2end_fixture_chttp2_socket_pair_one_byte_at_a_time.lib Debug\end2end_test_census_simple_request.lib build_grpc_test_util_unsecure build_grpc_unsecure build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_socket_pair_one_byte_at_a_time_census_simple_request_unsecure_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_socket_pair_one_byte_at_a_time_census_simple_request_unsecure_test.exe" Debug\end2end_fixture_chttp2_socket_pair_one_byte_at_a_time.lib Debug\end2end_test_census_simple_request.lib Debug\grpc_test_util_unsecure.lib Debug\grpc_unsecure.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_socket_pair_one_byte_at_a_time_census_simple_request_unsecure_test: chttp2_socket_pair_one_byte_at_a_time_census_simple_request_unsecure_test.exe echo Running chttp2_socket_pair_one_byte_at_a_time_census_simple_request_unsecure_test $(OUT_DIR)\chttp2_socket_pair_one_byte_at_a_time_census_simple_request_unsecure_test.exe -chttp2_socket_pair_one_byte_at_a_time_early_server_shutdown_finishes_inflight_calls_unsecure_test.exe: build_libs $(OUT_DIR) + +chttp2_socket_pair_one_byte_at_a_time_early_server_shutdown_finishes_inflight_calls_unsecure_test.exe: Debug\end2end_fixture_chttp2_socket_pair_one_byte_at_a_time.lib Debug\end2end_test_early_server_shutdown_finishes_inflight_calls.lib build_grpc_test_util_unsecure build_grpc_unsecure build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_socket_pair_one_byte_at_a_time_early_server_shutdown_finishes_inflight_calls_unsecure_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_socket_pair_one_byte_at_a_time_early_server_shutdown_finishes_inflight_calls_unsecure_test.exe" Debug\end2end_fixture_chttp2_socket_pair_one_byte_at_a_time.lib Debug\end2end_test_early_server_shutdown_finishes_inflight_calls.lib Debug\grpc_test_util_unsecure.lib Debug\grpc_unsecure.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_socket_pair_one_byte_at_a_time_early_server_shutdown_finishes_inflight_calls_unsecure_test: chttp2_socket_pair_one_byte_at_a_time_early_server_shutdown_finishes_inflight_calls_unsecure_test.exe echo Running chttp2_socket_pair_one_byte_at_a_time_early_server_shutdown_finishes_inflight_calls_unsecure_test $(OUT_DIR)\chttp2_socket_pair_one_byte_at_a_time_early_server_shutdown_finishes_inflight_calls_unsecure_test.exe -chttp2_socket_pair_one_byte_at_a_time_early_server_shutdown_finishes_tags_unsecure_test.exe: build_libs $(OUT_DIR) + +chttp2_socket_pair_one_byte_at_a_time_early_server_shutdown_finishes_tags_unsecure_test.exe: Debug\end2end_fixture_chttp2_socket_pair_one_byte_at_a_time.lib Debug\end2end_test_early_server_shutdown_finishes_tags.lib build_grpc_test_util_unsecure build_grpc_unsecure build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_socket_pair_one_byte_at_a_time_early_server_shutdown_finishes_tags_unsecure_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_socket_pair_one_byte_at_a_time_early_server_shutdown_finishes_tags_unsecure_test.exe" Debug\end2end_fixture_chttp2_socket_pair_one_byte_at_a_time.lib Debug\end2end_test_early_server_shutdown_finishes_tags.lib Debug\grpc_test_util_unsecure.lib Debug\grpc_unsecure.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_socket_pair_one_byte_at_a_time_early_server_shutdown_finishes_tags_unsecure_test: chttp2_socket_pair_one_byte_at_a_time_early_server_shutdown_finishes_tags_unsecure_test.exe echo Running chttp2_socket_pair_one_byte_at_a_time_early_server_shutdown_finishes_tags_unsecure_test $(OUT_DIR)\chttp2_socket_pair_one_byte_at_a_time_early_server_shutdown_finishes_tags_unsecure_test.exe -chttp2_socket_pair_one_byte_at_a_time_empty_batch_unsecure_test.exe: build_libs $(OUT_DIR) + +chttp2_socket_pair_one_byte_at_a_time_empty_batch_unsecure_test.exe: Debug\end2end_fixture_chttp2_socket_pair_one_byte_at_a_time.lib Debug\end2end_test_empty_batch.lib build_grpc_test_util_unsecure build_grpc_unsecure build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_socket_pair_one_byte_at_a_time_empty_batch_unsecure_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_socket_pair_one_byte_at_a_time_empty_batch_unsecure_test.exe" Debug\end2end_fixture_chttp2_socket_pair_one_byte_at_a_time.lib Debug\end2end_test_empty_batch.lib Debug\grpc_test_util_unsecure.lib Debug\grpc_unsecure.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_socket_pair_one_byte_at_a_time_empty_batch_unsecure_test: chttp2_socket_pair_one_byte_at_a_time_empty_batch_unsecure_test.exe echo Running chttp2_socket_pair_one_byte_at_a_time_empty_batch_unsecure_test $(OUT_DIR)\chttp2_socket_pair_one_byte_at_a_time_empty_batch_unsecure_test.exe -chttp2_socket_pair_one_byte_at_a_time_graceful_server_shutdown_unsecure_test.exe: build_libs $(OUT_DIR) + +chttp2_socket_pair_one_byte_at_a_time_graceful_server_shutdown_unsecure_test.exe: Debug\end2end_fixture_chttp2_socket_pair_one_byte_at_a_time.lib Debug\end2end_test_graceful_server_shutdown.lib build_grpc_test_util_unsecure build_grpc_unsecure build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_socket_pair_one_byte_at_a_time_graceful_server_shutdown_unsecure_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_socket_pair_one_byte_at_a_time_graceful_server_shutdown_unsecure_test.exe" Debug\end2end_fixture_chttp2_socket_pair_one_byte_at_a_time.lib Debug\end2end_test_graceful_server_shutdown.lib Debug\grpc_test_util_unsecure.lib Debug\grpc_unsecure.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_socket_pair_one_byte_at_a_time_graceful_server_shutdown_unsecure_test: chttp2_socket_pair_one_byte_at_a_time_graceful_server_shutdown_unsecure_test.exe echo Running chttp2_socket_pair_one_byte_at_a_time_graceful_server_shutdown_unsecure_test $(OUT_DIR)\chttp2_socket_pair_one_byte_at_a_time_graceful_server_shutdown_unsecure_test.exe -chttp2_socket_pair_one_byte_at_a_time_invoke_large_request_unsecure_test.exe: build_libs $(OUT_DIR) + +chttp2_socket_pair_one_byte_at_a_time_invoke_large_request_unsecure_test.exe: Debug\end2end_fixture_chttp2_socket_pair_one_byte_at_a_time.lib Debug\end2end_test_invoke_large_request.lib build_grpc_test_util_unsecure build_grpc_unsecure build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_socket_pair_one_byte_at_a_time_invoke_large_request_unsecure_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_socket_pair_one_byte_at_a_time_invoke_large_request_unsecure_test.exe" Debug\end2end_fixture_chttp2_socket_pair_one_byte_at_a_time.lib Debug\end2end_test_invoke_large_request.lib Debug\grpc_test_util_unsecure.lib Debug\grpc_unsecure.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_socket_pair_one_byte_at_a_time_invoke_large_request_unsecure_test: chttp2_socket_pair_one_byte_at_a_time_invoke_large_request_unsecure_test.exe echo Running chttp2_socket_pair_one_byte_at_a_time_invoke_large_request_unsecure_test $(OUT_DIR)\chttp2_socket_pair_one_byte_at_a_time_invoke_large_request_unsecure_test.exe -chttp2_socket_pair_one_byte_at_a_time_max_concurrent_streams_unsecure_test.exe: build_libs $(OUT_DIR) + +chttp2_socket_pair_one_byte_at_a_time_max_concurrent_streams_unsecure_test.exe: Debug\end2end_fixture_chttp2_socket_pair_one_byte_at_a_time.lib Debug\end2end_test_max_concurrent_streams.lib build_grpc_test_util_unsecure build_grpc_unsecure build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_socket_pair_one_byte_at_a_time_max_concurrent_streams_unsecure_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_socket_pair_one_byte_at_a_time_max_concurrent_streams_unsecure_test.exe" Debug\end2end_fixture_chttp2_socket_pair_one_byte_at_a_time.lib Debug\end2end_test_max_concurrent_streams.lib Debug\grpc_test_util_unsecure.lib Debug\grpc_unsecure.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_socket_pair_one_byte_at_a_time_max_concurrent_streams_unsecure_test: chttp2_socket_pair_one_byte_at_a_time_max_concurrent_streams_unsecure_test.exe echo Running chttp2_socket_pair_one_byte_at_a_time_max_concurrent_streams_unsecure_test $(OUT_DIR)\chttp2_socket_pair_one_byte_at_a_time_max_concurrent_streams_unsecure_test.exe -chttp2_socket_pair_one_byte_at_a_time_max_message_length_unsecure_test.exe: build_libs $(OUT_DIR) + +chttp2_socket_pair_one_byte_at_a_time_max_message_length_unsecure_test.exe: Debug\end2end_fixture_chttp2_socket_pair_one_byte_at_a_time.lib Debug\end2end_test_max_message_length.lib build_grpc_test_util_unsecure build_grpc_unsecure build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_socket_pair_one_byte_at_a_time_max_message_length_unsecure_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_socket_pair_one_byte_at_a_time_max_message_length_unsecure_test.exe" Debug\end2end_fixture_chttp2_socket_pair_one_byte_at_a_time.lib Debug\end2end_test_max_message_length.lib Debug\grpc_test_util_unsecure.lib Debug\grpc_unsecure.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_socket_pair_one_byte_at_a_time_max_message_length_unsecure_test: chttp2_socket_pair_one_byte_at_a_time_max_message_length_unsecure_test.exe echo Running chttp2_socket_pair_one_byte_at_a_time_max_message_length_unsecure_test $(OUT_DIR)\chttp2_socket_pair_one_byte_at_a_time_max_message_length_unsecure_test.exe -chttp2_socket_pair_one_byte_at_a_time_no_op_unsecure_test.exe: build_libs $(OUT_DIR) + +chttp2_socket_pair_one_byte_at_a_time_no_op_unsecure_test.exe: Debug\end2end_fixture_chttp2_socket_pair_one_byte_at_a_time.lib Debug\end2end_test_no_op.lib build_grpc_test_util_unsecure build_grpc_unsecure build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_socket_pair_one_byte_at_a_time_no_op_unsecure_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_socket_pair_one_byte_at_a_time_no_op_unsecure_test.exe" Debug\end2end_fixture_chttp2_socket_pair_one_byte_at_a_time.lib Debug\end2end_test_no_op.lib Debug\grpc_test_util_unsecure.lib Debug\grpc_unsecure.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_socket_pair_one_byte_at_a_time_no_op_unsecure_test: chttp2_socket_pair_one_byte_at_a_time_no_op_unsecure_test.exe echo Running chttp2_socket_pair_one_byte_at_a_time_no_op_unsecure_test $(OUT_DIR)\chttp2_socket_pair_one_byte_at_a_time_no_op_unsecure_test.exe -chttp2_socket_pair_one_byte_at_a_time_ping_pong_streaming_unsecure_test.exe: build_libs $(OUT_DIR) + +chttp2_socket_pair_one_byte_at_a_time_ping_pong_streaming_unsecure_test.exe: Debug\end2end_fixture_chttp2_socket_pair_one_byte_at_a_time.lib Debug\end2end_test_ping_pong_streaming.lib build_grpc_test_util_unsecure build_grpc_unsecure build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_socket_pair_one_byte_at_a_time_ping_pong_streaming_unsecure_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_socket_pair_one_byte_at_a_time_ping_pong_streaming_unsecure_test.exe" Debug\end2end_fixture_chttp2_socket_pair_one_byte_at_a_time.lib Debug\end2end_test_ping_pong_streaming.lib Debug\grpc_test_util_unsecure.lib Debug\grpc_unsecure.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_socket_pair_one_byte_at_a_time_ping_pong_streaming_unsecure_test: chttp2_socket_pair_one_byte_at_a_time_ping_pong_streaming_unsecure_test.exe echo Running chttp2_socket_pair_one_byte_at_a_time_ping_pong_streaming_unsecure_test $(OUT_DIR)\chttp2_socket_pair_one_byte_at_a_time_ping_pong_streaming_unsecure_test.exe -chttp2_socket_pair_one_byte_at_a_time_registered_call_unsecure_test.exe: build_libs $(OUT_DIR) + +chttp2_socket_pair_one_byte_at_a_time_registered_call_unsecure_test.exe: Debug\end2end_fixture_chttp2_socket_pair_one_byte_at_a_time.lib Debug\end2end_test_registered_call.lib build_grpc_test_util_unsecure build_grpc_unsecure build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_socket_pair_one_byte_at_a_time_registered_call_unsecure_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_socket_pair_one_byte_at_a_time_registered_call_unsecure_test.exe" Debug\end2end_fixture_chttp2_socket_pair_one_byte_at_a_time.lib Debug\end2end_test_registered_call.lib Debug\grpc_test_util_unsecure.lib Debug\grpc_unsecure.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_socket_pair_one_byte_at_a_time_registered_call_unsecure_test: chttp2_socket_pair_one_byte_at_a_time_registered_call_unsecure_test.exe echo Running chttp2_socket_pair_one_byte_at_a_time_registered_call_unsecure_test $(OUT_DIR)\chttp2_socket_pair_one_byte_at_a_time_registered_call_unsecure_test.exe -chttp2_socket_pair_one_byte_at_a_time_request_response_with_binary_metadata_and_payload_unsecure_test.exe: build_libs $(OUT_DIR) + +chttp2_socket_pair_one_byte_at_a_time_request_response_with_binary_metadata_and_payload_unsecure_test.exe: Debug\end2end_fixture_chttp2_socket_pair_one_byte_at_a_time.lib Debug\end2end_test_request_response_with_binary_metadata_and_payload.lib build_grpc_test_util_unsecure build_grpc_unsecure build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_socket_pair_one_byte_at_a_time_request_response_with_binary_metadata_and_payload_unsecure_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_socket_pair_one_byte_at_a_time_request_response_with_binary_metadata_and_payload_unsecure_test.exe" Debug\end2end_fixture_chttp2_socket_pair_one_byte_at_a_time.lib Debug\end2end_test_request_response_with_binary_metadata_and_payload.lib Debug\grpc_test_util_unsecure.lib Debug\grpc_unsecure.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_socket_pair_one_byte_at_a_time_request_response_with_binary_metadata_and_payload_unsecure_test: chttp2_socket_pair_one_byte_at_a_time_request_response_with_binary_metadata_and_payload_unsecure_test.exe echo Running chttp2_socket_pair_one_byte_at_a_time_request_response_with_binary_metadata_and_payload_unsecure_test $(OUT_DIR)\chttp2_socket_pair_one_byte_at_a_time_request_response_with_binary_metadata_and_payload_unsecure_test.exe -chttp2_socket_pair_one_byte_at_a_time_request_response_with_metadata_and_payload_unsecure_test.exe: build_libs $(OUT_DIR) + +chttp2_socket_pair_one_byte_at_a_time_request_response_with_metadata_and_payload_unsecure_test.exe: Debug\end2end_fixture_chttp2_socket_pair_one_byte_at_a_time.lib Debug\end2end_test_request_response_with_metadata_and_payload.lib build_grpc_test_util_unsecure build_grpc_unsecure build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_socket_pair_one_byte_at_a_time_request_response_with_metadata_and_payload_unsecure_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_socket_pair_one_byte_at_a_time_request_response_with_metadata_and_payload_unsecure_test.exe" Debug\end2end_fixture_chttp2_socket_pair_one_byte_at_a_time.lib Debug\end2end_test_request_response_with_metadata_and_payload.lib Debug\grpc_test_util_unsecure.lib Debug\grpc_unsecure.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_socket_pair_one_byte_at_a_time_request_response_with_metadata_and_payload_unsecure_test: chttp2_socket_pair_one_byte_at_a_time_request_response_with_metadata_and_payload_unsecure_test.exe echo Running chttp2_socket_pair_one_byte_at_a_time_request_response_with_metadata_and_payload_unsecure_test $(OUT_DIR)\chttp2_socket_pair_one_byte_at_a_time_request_response_with_metadata_and_payload_unsecure_test.exe -chttp2_socket_pair_one_byte_at_a_time_request_response_with_payload_unsecure_test.exe: build_libs $(OUT_DIR) + +chttp2_socket_pair_one_byte_at_a_time_request_response_with_payload_unsecure_test.exe: Debug\end2end_fixture_chttp2_socket_pair_one_byte_at_a_time.lib Debug\end2end_test_request_response_with_payload.lib build_grpc_test_util_unsecure build_grpc_unsecure build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_socket_pair_one_byte_at_a_time_request_response_with_payload_unsecure_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_socket_pair_one_byte_at_a_time_request_response_with_payload_unsecure_test.exe" Debug\end2end_fixture_chttp2_socket_pair_one_byte_at_a_time.lib Debug\end2end_test_request_response_with_payload.lib Debug\grpc_test_util_unsecure.lib Debug\grpc_unsecure.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_socket_pair_one_byte_at_a_time_request_response_with_payload_unsecure_test: chttp2_socket_pair_one_byte_at_a_time_request_response_with_payload_unsecure_test.exe echo Running chttp2_socket_pair_one_byte_at_a_time_request_response_with_payload_unsecure_test $(OUT_DIR)\chttp2_socket_pair_one_byte_at_a_time_request_response_with_payload_unsecure_test.exe -chttp2_socket_pair_one_byte_at_a_time_request_response_with_trailing_metadata_and_payload_unsecure_test.exe: build_libs $(OUT_DIR) + +chttp2_socket_pair_one_byte_at_a_time_request_response_with_trailing_metadata_and_payload_unsecure_test.exe: Debug\end2end_fixture_chttp2_socket_pair_one_byte_at_a_time.lib Debug\end2end_test_request_response_with_trailing_metadata_and_payload.lib build_grpc_test_util_unsecure build_grpc_unsecure build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_socket_pair_one_byte_at_a_time_request_response_with_trailing_metadata_and_payload_unsecure_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_socket_pair_one_byte_at_a_time_request_response_with_trailing_metadata_and_payload_unsecure_test.exe" Debug\end2end_fixture_chttp2_socket_pair_one_byte_at_a_time.lib Debug\end2end_test_request_response_with_trailing_metadata_and_payload.lib Debug\grpc_test_util_unsecure.lib Debug\grpc_unsecure.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_socket_pair_one_byte_at_a_time_request_response_with_trailing_metadata_and_payload_unsecure_test: chttp2_socket_pair_one_byte_at_a_time_request_response_with_trailing_metadata_and_payload_unsecure_test.exe echo Running chttp2_socket_pair_one_byte_at_a_time_request_response_with_trailing_metadata_and_payload_unsecure_test $(OUT_DIR)\chttp2_socket_pair_one_byte_at_a_time_request_response_with_trailing_metadata_and_payload_unsecure_test.exe -chttp2_socket_pair_one_byte_at_a_time_request_with_compressed_payload_unsecure_test.exe: build_libs $(OUT_DIR) + +chttp2_socket_pair_one_byte_at_a_time_request_with_compressed_payload_unsecure_test.exe: Debug\end2end_fixture_chttp2_socket_pair_one_byte_at_a_time.lib Debug\end2end_test_request_with_compressed_payload.lib build_grpc_test_util_unsecure build_grpc_unsecure build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_socket_pair_one_byte_at_a_time_request_with_compressed_payload_unsecure_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_socket_pair_one_byte_at_a_time_request_with_compressed_payload_unsecure_test.exe" Debug\end2end_fixture_chttp2_socket_pair_one_byte_at_a_time.lib Debug\end2end_test_request_with_compressed_payload.lib Debug\grpc_test_util_unsecure.lib Debug\grpc_unsecure.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_socket_pair_one_byte_at_a_time_request_with_compressed_payload_unsecure_test: chttp2_socket_pair_one_byte_at_a_time_request_with_compressed_payload_unsecure_test.exe echo Running chttp2_socket_pair_one_byte_at_a_time_request_with_compressed_payload_unsecure_test $(OUT_DIR)\chttp2_socket_pair_one_byte_at_a_time_request_with_compressed_payload_unsecure_test.exe -chttp2_socket_pair_one_byte_at_a_time_request_with_flags_unsecure_test.exe: build_libs $(OUT_DIR) + +chttp2_socket_pair_one_byte_at_a_time_request_with_flags_unsecure_test.exe: Debug\end2end_fixture_chttp2_socket_pair_one_byte_at_a_time.lib Debug\end2end_test_request_with_flags.lib build_grpc_test_util_unsecure build_grpc_unsecure build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_socket_pair_one_byte_at_a_time_request_with_flags_unsecure_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_socket_pair_one_byte_at_a_time_request_with_flags_unsecure_test.exe" Debug\end2end_fixture_chttp2_socket_pair_one_byte_at_a_time.lib Debug\end2end_test_request_with_flags.lib Debug\grpc_test_util_unsecure.lib Debug\grpc_unsecure.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_socket_pair_one_byte_at_a_time_request_with_flags_unsecure_test: chttp2_socket_pair_one_byte_at_a_time_request_with_flags_unsecure_test.exe echo Running chttp2_socket_pair_one_byte_at_a_time_request_with_flags_unsecure_test $(OUT_DIR)\chttp2_socket_pair_one_byte_at_a_time_request_with_flags_unsecure_test.exe -chttp2_socket_pair_one_byte_at_a_time_request_with_large_metadata_unsecure_test.exe: build_libs $(OUT_DIR) + +chttp2_socket_pair_one_byte_at_a_time_request_with_large_metadata_unsecure_test.exe: Debug\end2end_fixture_chttp2_socket_pair_one_byte_at_a_time.lib Debug\end2end_test_request_with_large_metadata.lib build_grpc_test_util_unsecure build_grpc_unsecure build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_socket_pair_one_byte_at_a_time_request_with_large_metadata_unsecure_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_socket_pair_one_byte_at_a_time_request_with_large_metadata_unsecure_test.exe" Debug\end2end_fixture_chttp2_socket_pair_one_byte_at_a_time.lib Debug\end2end_test_request_with_large_metadata.lib Debug\grpc_test_util_unsecure.lib Debug\grpc_unsecure.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_socket_pair_one_byte_at_a_time_request_with_large_metadata_unsecure_test: chttp2_socket_pair_one_byte_at_a_time_request_with_large_metadata_unsecure_test.exe echo Running chttp2_socket_pair_one_byte_at_a_time_request_with_large_metadata_unsecure_test $(OUT_DIR)\chttp2_socket_pair_one_byte_at_a_time_request_with_large_metadata_unsecure_test.exe -chttp2_socket_pair_one_byte_at_a_time_request_with_payload_unsecure_test.exe: build_libs $(OUT_DIR) + +chttp2_socket_pair_one_byte_at_a_time_request_with_payload_unsecure_test.exe: Debug\end2end_fixture_chttp2_socket_pair_one_byte_at_a_time.lib Debug\end2end_test_request_with_payload.lib build_grpc_test_util_unsecure build_grpc_unsecure build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_socket_pair_one_byte_at_a_time_request_with_payload_unsecure_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_socket_pair_one_byte_at_a_time_request_with_payload_unsecure_test.exe" Debug\end2end_fixture_chttp2_socket_pair_one_byte_at_a_time.lib Debug\end2end_test_request_with_payload.lib Debug\grpc_test_util_unsecure.lib Debug\grpc_unsecure.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_socket_pair_one_byte_at_a_time_request_with_payload_unsecure_test: chttp2_socket_pair_one_byte_at_a_time_request_with_payload_unsecure_test.exe echo Running chttp2_socket_pair_one_byte_at_a_time_request_with_payload_unsecure_test $(OUT_DIR)\chttp2_socket_pair_one_byte_at_a_time_request_with_payload_unsecure_test.exe -chttp2_socket_pair_one_byte_at_a_time_server_finishes_request_unsecure_test.exe: build_libs $(OUT_DIR) + +chttp2_socket_pair_one_byte_at_a_time_server_finishes_request_unsecure_test.exe: Debug\end2end_fixture_chttp2_socket_pair_one_byte_at_a_time.lib Debug\end2end_test_server_finishes_request.lib build_grpc_test_util_unsecure build_grpc_unsecure build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_socket_pair_one_byte_at_a_time_server_finishes_request_unsecure_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_socket_pair_one_byte_at_a_time_server_finishes_request_unsecure_test.exe" Debug\end2end_fixture_chttp2_socket_pair_one_byte_at_a_time.lib Debug\end2end_test_server_finishes_request.lib Debug\grpc_test_util_unsecure.lib Debug\grpc_unsecure.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_socket_pair_one_byte_at_a_time_server_finishes_request_unsecure_test: chttp2_socket_pair_one_byte_at_a_time_server_finishes_request_unsecure_test.exe echo Running chttp2_socket_pair_one_byte_at_a_time_server_finishes_request_unsecure_test $(OUT_DIR)\chttp2_socket_pair_one_byte_at_a_time_server_finishes_request_unsecure_test.exe -chttp2_socket_pair_one_byte_at_a_time_simple_request_unsecure_test.exe: build_libs $(OUT_DIR) + +chttp2_socket_pair_one_byte_at_a_time_simple_request_unsecure_test.exe: Debug\end2end_fixture_chttp2_socket_pair_one_byte_at_a_time.lib Debug\end2end_test_simple_request.lib build_grpc_test_util_unsecure build_grpc_unsecure build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_socket_pair_one_byte_at_a_time_simple_request_unsecure_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_socket_pair_one_byte_at_a_time_simple_request_unsecure_test.exe" Debug\end2end_fixture_chttp2_socket_pair_one_byte_at_a_time.lib Debug\end2end_test_simple_request.lib Debug\grpc_test_util_unsecure.lib Debug\grpc_unsecure.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_socket_pair_one_byte_at_a_time_simple_request_unsecure_test: chttp2_socket_pair_one_byte_at_a_time_simple_request_unsecure_test.exe echo Running chttp2_socket_pair_one_byte_at_a_time_simple_request_unsecure_test $(OUT_DIR)\chttp2_socket_pair_one_byte_at_a_time_simple_request_unsecure_test.exe -chttp2_socket_pair_one_byte_at_a_time_simple_request_with_high_initial_sequence_number_unsecure_test.exe: build_libs $(OUT_DIR) + +chttp2_socket_pair_one_byte_at_a_time_simple_request_with_high_initial_sequence_number_unsecure_test.exe: Debug\end2end_fixture_chttp2_socket_pair_one_byte_at_a_time.lib Debug\end2end_test_simple_request_with_high_initial_sequence_number.lib build_grpc_test_util_unsecure build_grpc_unsecure build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_socket_pair_one_byte_at_a_time_simple_request_with_high_initial_sequence_number_unsecure_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_socket_pair_one_byte_at_a_time_simple_request_with_high_initial_sequence_number_unsecure_test.exe" Debug\end2end_fixture_chttp2_socket_pair_one_byte_at_a_time.lib Debug\end2end_test_simple_request_with_high_initial_sequence_number.lib Debug\grpc_test_util_unsecure.lib Debug\grpc_unsecure.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_socket_pair_one_byte_at_a_time_simple_request_with_high_initial_sequence_number_unsecure_test: chttp2_socket_pair_one_byte_at_a_time_simple_request_with_high_initial_sequence_number_unsecure_test.exe echo Running chttp2_socket_pair_one_byte_at_a_time_simple_request_with_high_initial_sequence_number_unsecure_test $(OUT_DIR)\chttp2_socket_pair_one_byte_at_a_time_simple_request_with_high_initial_sequence_number_unsecure_test.exe -chttp2_socket_pair_with_grpc_trace_bad_hostname_unsecure_test.exe: build_libs $(OUT_DIR) + +chttp2_socket_pair_with_grpc_trace_bad_hostname_unsecure_test.exe: Debug\end2end_fixture_chttp2_socket_pair_with_grpc_trace.lib Debug\end2end_test_bad_hostname.lib build_grpc_test_util_unsecure build_grpc_unsecure build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_socket_pair_with_grpc_trace_bad_hostname_unsecure_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_socket_pair_with_grpc_trace_bad_hostname_unsecure_test.exe" Debug\end2end_fixture_chttp2_socket_pair_with_grpc_trace.lib Debug\end2end_test_bad_hostname.lib Debug\grpc_test_util_unsecure.lib Debug\grpc_unsecure.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_socket_pair_with_grpc_trace_bad_hostname_unsecure_test: chttp2_socket_pair_with_grpc_trace_bad_hostname_unsecure_test.exe echo Running chttp2_socket_pair_with_grpc_trace_bad_hostname_unsecure_test $(OUT_DIR)\chttp2_socket_pair_with_grpc_trace_bad_hostname_unsecure_test.exe -chttp2_socket_pair_with_grpc_trace_cancel_after_accept_unsecure_test.exe: build_libs $(OUT_DIR) + +chttp2_socket_pair_with_grpc_trace_cancel_after_accept_unsecure_test.exe: Debug\end2end_fixture_chttp2_socket_pair_with_grpc_trace.lib Debug\end2end_test_cancel_after_accept.lib build_grpc_test_util_unsecure build_grpc_unsecure build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_socket_pair_with_grpc_trace_cancel_after_accept_unsecure_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_socket_pair_with_grpc_trace_cancel_after_accept_unsecure_test.exe" Debug\end2end_fixture_chttp2_socket_pair_with_grpc_trace.lib Debug\end2end_test_cancel_after_accept.lib Debug\grpc_test_util_unsecure.lib Debug\grpc_unsecure.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_socket_pair_with_grpc_trace_cancel_after_accept_unsecure_test: chttp2_socket_pair_with_grpc_trace_cancel_after_accept_unsecure_test.exe echo Running chttp2_socket_pair_with_grpc_trace_cancel_after_accept_unsecure_test $(OUT_DIR)\chttp2_socket_pair_with_grpc_trace_cancel_after_accept_unsecure_test.exe -chttp2_socket_pair_with_grpc_trace_cancel_after_accept_and_writes_closed_unsecure_test.exe: build_libs $(OUT_DIR) + +chttp2_socket_pair_with_grpc_trace_cancel_after_accept_and_writes_closed_unsecure_test.exe: Debug\end2end_fixture_chttp2_socket_pair_with_grpc_trace.lib Debug\end2end_test_cancel_after_accept_and_writes_closed.lib build_grpc_test_util_unsecure build_grpc_unsecure build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_socket_pair_with_grpc_trace_cancel_after_accept_and_writes_closed_unsecure_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_socket_pair_with_grpc_trace_cancel_after_accept_and_writes_closed_unsecure_test.exe" Debug\end2end_fixture_chttp2_socket_pair_with_grpc_trace.lib Debug\end2end_test_cancel_after_accept_and_writes_closed.lib Debug\grpc_test_util_unsecure.lib Debug\grpc_unsecure.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_socket_pair_with_grpc_trace_cancel_after_accept_and_writes_closed_unsecure_test: chttp2_socket_pair_with_grpc_trace_cancel_after_accept_and_writes_closed_unsecure_test.exe echo Running chttp2_socket_pair_with_grpc_trace_cancel_after_accept_and_writes_closed_unsecure_test $(OUT_DIR)\chttp2_socket_pair_with_grpc_trace_cancel_after_accept_and_writes_closed_unsecure_test.exe -chttp2_socket_pair_with_grpc_trace_cancel_after_invoke_unsecure_test.exe: build_libs $(OUT_DIR) + +chttp2_socket_pair_with_grpc_trace_cancel_after_invoke_unsecure_test.exe: Debug\end2end_fixture_chttp2_socket_pair_with_grpc_trace.lib Debug\end2end_test_cancel_after_invoke.lib build_grpc_test_util_unsecure build_grpc_unsecure build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_socket_pair_with_grpc_trace_cancel_after_invoke_unsecure_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_socket_pair_with_grpc_trace_cancel_after_invoke_unsecure_test.exe" Debug\end2end_fixture_chttp2_socket_pair_with_grpc_trace.lib Debug\end2end_test_cancel_after_invoke.lib Debug\grpc_test_util_unsecure.lib Debug\grpc_unsecure.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_socket_pair_with_grpc_trace_cancel_after_invoke_unsecure_test: chttp2_socket_pair_with_grpc_trace_cancel_after_invoke_unsecure_test.exe echo Running chttp2_socket_pair_with_grpc_trace_cancel_after_invoke_unsecure_test $(OUT_DIR)\chttp2_socket_pair_with_grpc_trace_cancel_after_invoke_unsecure_test.exe -chttp2_socket_pair_with_grpc_trace_cancel_before_invoke_unsecure_test.exe: build_libs $(OUT_DIR) + +chttp2_socket_pair_with_grpc_trace_cancel_before_invoke_unsecure_test.exe: Debug\end2end_fixture_chttp2_socket_pair_with_grpc_trace.lib Debug\end2end_test_cancel_before_invoke.lib build_grpc_test_util_unsecure build_grpc_unsecure build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_socket_pair_with_grpc_trace_cancel_before_invoke_unsecure_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_socket_pair_with_grpc_trace_cancel_before_invoke_unsecure_test.exe" Debug\end2end_fixture_chttp2_socket_pair_with_grpc_trace.lib Debug\end2end_test_cancel_before_invoke.lib Debug\grpc_test_util_unsecure.lib Debug\grpc_unsecure.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_socket_pair_with_grpc_trace_cancel_before_invoke_unsecure_test: chttp2_socket_pair_with_grpc_trace_cancel_before_invoke_unsecure_test.exe echo Running chttp2_socket_pair_with_grpc_trace_cancel_before_invoke_unsecure_test $(OUT_DIR)\chttp2_socket_pair_with_grpc_trace_cancel_before_invoke_unsecure_test.exe -chttp2_socket_pair_with_grpc_trace_cancel_in_a_vacuum_unsecure_test.exe: build_libs $(OUT_DIR) + +chttp2_socket_pair_with_grpc_trace_cancel_in_a_vacuum_unsecure_test.exe: Debug\end2end_fixture_chttp2_socket_pair_with_grpc_trace.lib Debug\end2end_test_cancel_in_a_vacuum.lib build_grpc_test_util_unsecure build_grpc_unsecure build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_socket_pair_with_grpc_trace_cancel_in_a_vacuum_unsecure_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_socket_pair_with_grpc_trace_cancel_in_a_vacuum_unsecure_test.exe" Debug\end2end_fixture_chttp2_socket_pair_with_grpc_trace.lib Debug\end2end_test_cancel_in_a_vacuum.lib Debug\grpc_test_util_unsecure.lib Debug\grpc_unsecure.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_socket_pair_with_grpc_trace_cancel_in_a_vacuum_unsecure_test: chttp2_socket_pair_with_grpc_trace_cancel_in_a_vacuum_unsecure_test.exe echo Running chttp2_socket_pair_with_grpc_trace_cancel_in_a_vacuum_unsecure_test $(OUT_DIR)\chttp2_socket_pair_with_grpc_trace_cancel_in_a_vacuum_unsecure_test.exe -chttp2_socket_pair_with_grpc_trace_census_simple_request_unsecure_test.exe: build_libs $(OUT_DIR) + +chttp2_socket_pair_with_grpc_trace_census_simple_request_unsecure_test.exe: Debug\end2end_fixture_chttp2_socket_pair_with_grpc_trace.lib Debug\end2end_test_census_simple_request.lib build_grpc_test_util_unsecure build_grpc_unsecure build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_socket_pair_with_grpc_trace_census_simple_request_unsecure_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_socket_pair_with_grpc_trace_census_simple_request_unsecure_test.exe" Debug\end2end_fixture_chttp2_socket_pair_with_grpc_trace.lib Debug\end2end_test_census_simple_request.lib Debug\grpc_test_util_unsecure.lib Debug\grpc_unsecure.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_socket_pair_with_grpc_trace_census_simple_request_unsecure_test: chttp2_socket_pair_with_grpc_trace_census_simple_request_unsecure_test.exe echo Running chttp2_socket_pair_with_grpc_trace_census_simple_request_unsecure_test $(OUT_DIR)\chttp2_socket_pair_with_grpc_trace_census_simple_request_unsecure_test.exe -chttp2_socket_pair_with_grpc_trace_early_server_shutdown_finishes_inflight_calls_unsecure_test.exe: build_libs $(OUT_DIR) + +chttp2_socket_pair_with_grpc_trace_early_server_shutdown_finishes_inflight_calls_unsecure_test.exe: Debug\end2end_fixture_chttp2_socket_pair_with_grpc_trace.lib Debug\end2end_test_early_server_shutdown_finishes_inflight_calls.lib build_grpc_test_util_unsecure build_grpc_unsecure build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_socket_pair_with_grpc_trace_early_server_shutdown_finishes_inflight_calls_unsecure_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_socket_pair_with_grpc_trace_early_server_shutdown_finishes_inflight_calls_unsecure_test.exe" Debug\end2end_fixture_chttp2_socket_pair_with_grpc_trace.lib Debug\end2end_test_early_server_shutdown_finishes_inflight_calls.lib Debug\grpc_test_util_unsecure.lib Debug\grpc_unsecure.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_socket_pair_with_grpc_trace_early_server_shutdown_finishes_inflight_calls_unsecure_test: chttp2_socket_pair_with_grpc_trace_early_server_shutdown_finishes_inflight_calls_unsecure_test.exe echo Running chttp2_socket_pair_with_grpc_trace_early_server_shutdown_finishes_inflight_calls_unsecure_test $(OUT_DIR)\chttp2_socket_pair_with_grpc_trace_early_server_shutdown_finishes_inflight_calls_unsecure_test.exe -chttp2_socket_pair_with_grpc_trace_early_server_shutdown_finishes_tags_unsecure_test.exe: build_libs $(OUT_DIR) + +chttp2_socket_pair_with_grpc_trace_early_server_shutdown_finishes_tags_unsecure_test.exe: Debug\end2end_fixture_chttp2_socket_pair_with_grpc_trace.lib Debug\end2end_test_early_server_shutdown_finishes_tags.lib build_grpc_test_util_unsecure build_grpc_unsecure build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_socket_pair_with_grpc_trace_early_server_shutdown_finishes_tags_unsecure_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_socket_pair_with_grpc_trace_early_server_shutdown_finishes_tags_unsecure_test.exe" Debug\end2end_fixture_chttp2_socket_pair_with_grpc_trace.lib Debug\end2end_test_early_server_shutdown_finishes_tags.lib Debug\grpc_test_util_unsecure.lib Debug\grpc_unsecure.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_socket_pair_with_grpc_trace_early_server_shutdown_finishes_tags_unsecure_test: chttp2_socket_pair_with_grpc_trace_early_server_shutdown_finishes_tags_unsecure_test.exe echo Running chttp2_socket_pair_with_grpc_trace_early_server_shutdown_finishes_tags_unsecure_test $(OUT_DIR)\chttp2_socket_pair_with_grpc_trace_early_server_shutdown_finishes_tags_unsecure_test.exe -chttp2_socket_pair_with_grpc_trace_empty_batch_unsecure_test.exe: build_libs $(OUT_DIR) + +chttp2_socket_pair_with_grpc_trace_empty_batch_unsecure_test.exe: Debug\end2end_fixture_chttp2_socket_pair_with_grpc_trace.lib Debug\end2end_test_empty_batch.lib build_grpc_test_util_unsecure build_grpc_unsecure build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_socket_pair_with_grpc_trace_empty_batch_unsecure_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_socket_pair_with_grpc_trace_empty_batch_unsecure_test.exe" Debug\end2end_fixture_chttp2_socket_pair_with_grpc_trace.lib Debug\end2end_test_empty_batch.lib Debug\grpc_test_util_unsecure.lib Debug\grpc_unsecure.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_socket_pair_with_grpc_trace_empty_batch_unsecure_test: chttp2_socket_pair_with_grpc_trace_empty_batch_unsecure_test.exe echo Running chttp2_socket_pair_with_grpc_trace_empty_batch_unsecure_test $(OUT_DIR)\chttp2_socket_pair_with_grpc_trace_empty_batch_unsecure_test.exe -chttp2_socket_pair_with_grpc_trace_graceful_server_shutdown_unsecure_test.exe: build_libs $(OUT_DIR) + +chttp2_socket_pair_with_grpc_trace_graceful_server_shutdown_unsecure_test.exe: Debug\end2end_fixture_chttp2_socket_pair_with_grpc_trace.lib Debug\end2end_test_graceful_server_shutdown.lib build_grpc_test_util_unsecure build_grpc_unsecure build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_socket_pair_with_grpc_trace_graceful_server_shutdown_unsecure_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_socket_pair_with_grpc_trace_graceful_server_shutdown_unsecure_test.exe" Debug\end2end_fixture_chttp2_socket_pair_with_grpc_trace.lib Debug\end2end_test_graceful_server_shutdown.lib Debug\grpc_test_util_unsecure.lib Debug\grpc_unsecure.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_socket_pair_with_grpc_trace_graceful_server_shutdown_unsecure_test: chttp2_socket_pair_with_grpc_trace_graceful_server_shutdown_unsecure_test.exe echo Running chttp2_socket_pair_with_grpc_trace_graceful_server_shutdown_unsecure_test $(OUT_DIR)\chttp2_socket_pair_with_grpc_trace_graceful_server_shutdown_unsecure_test.exe -chttp2_socket_pair_with_grpc_trace_invoke_large_request_unsecure_test.exe: build_libs $(OUT_DIR) + +chttp2_socket_pair_with_grpc_trace_invoke_large_request_unsecure_test.exe: Debug\end2end_fixture_chttp2_socket_pair_with_grpc_trace.lib Debug\end2end_test_invoke_large_request.lib build_grpc_test_util_unsecure build_grpc_unsecure build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_socket_pair_with_grpc_trace_invoke_large_request_unsecure_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_socket_pair_with_grpc_trace_invoke_large_request_unsecure_test.exe" Debug\end2end_fixture_chttp2_socket_pair_with_grpc_trace.lib Debug\end2end_test_invoke_large_request.lib Debug\grpc_test_util_unsecure.lib Debug\grpc_unsecure.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_socket_pair_with_grpc_trace_invoke_large_request_unsecure_test: chttp2_socket_pair_with_grpc_trace_invoke_large_request_unsecure_test.exe echo Running chttp2_socket_pair_with_grpc_trace_invoke_large_request_unsecure_test $(OUT_DIR)\chttp2_socket_pair_with_grpc_trace_invoke_large_request_unsecure_test.exe -chttp2_socket_pair_with_grpc_trace_max_concurrent_streams_unsecure_test.exe: build_libs $(OUT_DIR) + +chttp2_socket_pair_with_grpc_trace_max_concurrent_streams_unsecure_test.exe: Debug\end2end_fixture_chttp2_socket_pair_with_grpc_trace.lib Debug\end2end_test_max_concurrent_streams.lib build_grpc_test_util_unsecure build_grpc_unsecure build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_socket_pair_with_grpc_trace_max_concurrent_streams_unsecure_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_socket_pair_with_grpc_trace_max_concurrent_streams_unsecure_test.exe" Debug\end2end_fixture_chttp2_socket_pair_with_grpc_trace.lib Debug\end2end_test_max_concurrent_streams.lib Debug\grpc_test_util_unsecure.lib Debug\grpc_unsecure.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_socket_pair_with_grpc_trace_max_concurrent_streams_unsecure_test: chttp2_socket_pair_with_grpc_trace_max_concurrent_streams_unsecure_test.exe echo Running chttp2_socket_pair_with_grpc_trace_max_concurrent_streams_unsecure_test $(OUT_DIR)\chttp2_socket_pair_with_grpc_trace_max_concurrent_streams_unsecure_test.exe -chttp2_socket_pair_with_grpc_trace_max_message_length_unsecure_test.exe: build_libs $(OUT_DIR) + +chttp2_socket_pair_with_grpc_trace_max_message_length_unsecure_test.exe: Debug\end2end_fixture_chttp2_socket_pair_with_grpc_trace.lib Debug\end2end_test_max_message_length.lib build_grpc_test_util_unsecure build_grpc_unsecure build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_socket_pair_with_grpc_trace_max_message_length_unsecure_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_socket_pair_with_grpc_trace_max_message_length_unsecure_test.exe" Debug\end2end_fixture_chttp2_socket_pair_with_grpc_trace.lib Debug\end2end_test_max_message_length.lib Debug\grpc_test_util_unsecure.lib Debug\grpc_unsecure.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_socket_pair_with_grpc_trace_max_message_length_unsecure_test: chttp2_socket_pair_with_grpc_trace_max_message_length_unsecure_test.exe echo Running chttp2_socket_pair_with_grpc_trace_max_message_length_unsecure_test $(OUT_DIR)\chttp2_socket_pair_with_grpc_trace_max_message_length_unsecure_test.exe -chttp2_socket_pair_with_grpc_trace_no_op_unsecure_test.exe: build_libs $(OUT_DIR) + +chttp2_socket_pair_with_grpc_trace_no_op_unsecure_test.exe: Debug\end2end_fixture_chttp2_socket_pair_with_grpc_trace.lib Debug\end2end_test_no_op.lib build_grpc_test_util_unsecure build_grpc_unsecure build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_socket_pair_with_grpc_trace_no_op_unsecure_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_socket_pair_with_grpc_trace_no_op_unsecure_test.exe" Debug\end2end_fixture_chttp2_socket_pair_with_grpc_trace.lib Debug\end2end_test_no_op.lib Debug\grpc_test_util_unsecure.lib Debug\grpc_unsecure.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_socket_pair_with_grpc_trace_no_op_unsecure_test: chttp2_socket_pair_with_grpc_trace_no_op_unsecure_test.exe echo Running chttp2_socket_pair_with_grpc_trace_no_op_unsecure_test $(OUT_DIR)\chttp2_socket_pair_with_grpc_trace_no_op_unsecure_test.exe -chttp2_socket_pair_with_grpc_trace_ping_pong_streaming_unsecure_test.exe: build_libs $(OUT_DIR) + +chttp2_socket_pair_with_grpc_trace_ping_pong_streaming_unsecure_test.exe: Debug\end2end_fixture_chttp2_socket_pair_with_grpc_trace.lib Debug\end2end_test_ping_pong_streaming.lib build_grpc_test_util_unsecure build_grpc_unsecure build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_socket_pair_with_grpc_trace_ping_pong_streaming_unsecure_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_socket_pair_with_grpc_trace_ping_pong_streaming_unsecure_test.exe" Debug\end2end_fixture_chttp2_socket_pair_with_grpc_trace.lib Debug\end2end_test_ping_pong_streaming.lib Debug\grpc_test_util_unsecure.lib Debug\grpc_unsecure.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_socket_pair_with_grpc_trace_ping_pong_streaming_unsecure_test: chttp2_socket_pair_with_grpc_trace_ping_pong_streaming_unsecure_test.exe echo Running chttp2_socket_pair_with_grpc_trace_ping_pong_streaming_unsecure_test $(OUT_DIR)\chttp2_socket_pair_with_grpc_trace_ping_pong_streaming_unsecure_test.exe -chttp2_socket_pair_with_grpc_trace_registered_call_unsecure_test.exe: build_libs $(OUT_DIR) + +chttp2_socket_pair_with_grpc_trace_registered_call_unsecure_test.exe: Debug\end2end_fixture_chttp2_socket_pair_with_grpc_trace.lib Debug\end2end_test_registered_call.lib build_grpc_test_util_unsecure build_grpc_unsecure build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_socket_pair_with_grpc_trace_registered_call_unsecure_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_socket_pair_with_grpc_trace_registered_call_unsecure_test.exe" Debug\end2end_fixture_chttp2_socket_pair_with_grpc_trace.lib Debug\end2end_test_registered_call.lib Debug\grpc_test_util_unsecure.lib Debug\grpc_unsecure.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_socket_pair_with_grpc_trace_registered_call_unsecure_test: chttp2_socket_pair_with_grpc_trace_registered_call_unsecure_test.exe echo Running chttp2_socket_pair_with_grpc_trace_registered_call_unsecure_test $(OUT_DIR)\chttp2_socket_pair_with_grpc_trace_registered_call_unsecure_test.exe -chttp2_socket_pair_with_grpc_trace_request_response_with_binary_metadata_and_payload_unsecure_test.exe: build_libs $(OUT_DIR) + +chttp2_socket_pair_with_grpc_trace_request_response_with_binary_metadata_and_payload_unsecure_test.exe: Debug\end2end_fixture_chttp2_socket_pair_with_grpc_trace.lib Debug\end2end_test_request_response_with_binary_metadata_and_payload.lib build_grpc_test_util_unsecure build_grpc_unsecure build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_socket_pair_with_grpc_trace_request_response_with_binary_metadata_and_payload_unsecure_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_socket_pair_with_grpc_trace_request_response_with_binary_metadata_and_payload_unsecure_test.exe" Debug\end2end_fixture_chttp2_socket_pair_with_grpc_trace.lib Debug\end2end_test_request_response_with_binary_metadata_and_payload.lib Debug\grpc_test_util_unsecure.lib Debug\grpc_unsecure.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_socket_pair_with_grpc_trace_request_response_with_binary_metadata_and_payload_unsecure_test: chttp2_socket_pair_with_grpc_trace_request_response_with_binary_metadata_and_payload_unsecure_test.exe echo Running chttp2_socket_pair_with_grpc_trace_request_response_with_binary_metadata_and_payload_unsecure_test $(OUT_DIR)\chttp2_socket_pair_with_grpc_trace_request_response_with_binary_metadata_and_payload_unsecure_test.exe -chttp2_socket_pair_with_grpc_trace_request_response_with_metadata_and_payload_unsecure_test.exe: build_libs $(OUT_DIR) + +chttp2_socket_pair_with_grpc_trace_request_response_with_metadata_and_payload_unsecure_test.exe: Debug\end2end_fixture_chttp2_socket_pair_with_grpc_trace.lib Debug\end2end_test_request_response_with_metadata_and_payload.lib build_grpc_test_util_unsecure build_grpc_unsecure build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_socket_pair_with_grpc_trace_request_response_with_metadata_and_payload_unsecure_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_socket_pair_with_grpc_trace_request_response_with_metadata_and_payload_unsecure_test.exe" Debug\end2end_fixture_chttp2_socket_pair_with_grpc_trace.lib Debug\end2end_test_request_response_with_metadata_and_payload.lib Debug\grpc_test_util_unsecure.lib Debug\grpc_unsecure.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_socket_pair_with_grpc_trace_request_response_with_metadata_and_payload_unsecure_test: chttp2_socket_pair_with_grpc_trace_request_response_with_metadata_and_payload_unsecure_test.exe echo Running chttp2_socket_pair_with_grpc_trace_request_response_with_metadata_and_payload_unsecure_test $(OUT_DIR)\chttp2_socket_pair_with_grpc_trace_request_response_with_metadata_and_payload_unsecure_test.exe -chttp2_socket_pair_with_grpc_trace_request_response_with_payload_unsecure_test.exe: build_libs $(OUT_DIR) + +chttp2_socket_pair_with_grpc_trace_request_response_with_payload_unsecure_test.exe: Debug\end2end_fixture_chttp2_socket_pair_with_grpc_trace.lib Debug\end2end_test_request_response_with_payload.lib build_grpc_test_util_unsecure build_grpc_unsecure build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_socket_pair_with_grpc_trace_request_response_with_payload_unsecure_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_socket_pair_with_grpc_trace_request_response_with_payload_unsecure_test.exe" Debug\end2end_fixture_chttp2_socket_pair_with_grpc_trace.lib Debug\end2end_test_request_response_with_payload.lib Debug\grpc_test_util_unsecure.lib Debug\grpc_unsecure.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_socket_pair_with_grpc_trace_request_response_with_payload_unsecure_test: chttp2_socket_pair_with_grpc_trace_request_response_with_payload_unsecure_test.exe echo Running chttp2_socket_pair_with_grpc_trace_request_response_with_payload_unsecure_test $(OUT_DIR)\chttp2_socket_pair_with_grpc_trace_request_response_with_payload_unsecure_test.exe -chttp2_socket_pair_with_grpc_trace_request_response_with_trailing_metadata_and_payload_unsecure_test.exe: build_libs $(OUT_DIR) + +chttp2_socket_pair_with_grpc_trace_request_response_with_trailing_metadata_and_payload_unsecure_test.exe: Debug\end2end_fixture_chttp2_socket_pair_with_grpc_trace.lib Debug\end2end_test_request_response_with_trailing_metadata_and_payload.lib build_grpc_test_util_unsecure build_grpc_unsecure build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_socket_pair_with_grpc_trace_request_response_with_trailing_metadata_and_payload_unsecure_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_socket_pair_with_grpc_trace_request_response_with_trailing_metadata_and_payload_unsecure_test.exe" Debug\end2end_fixture_chttp2_socket_pair_with_grpc_trace.lib Debug\end2end_test_request_response_with_trailing_metadata_and_payload.lib Debug\grpc_test_util_unsecure.lib Debug\grpc_unsecure.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_socket_pair_with_grpc_trace_request_response_with_trailing_metadata_and_payload_unsecure_test: chttp2_socket_pair_with_grpc_trace_request_response_with_trailing_metadata_and_payload_unsecure_test.exe echo Running chttp2_socket_pair_with_grpc_trace_request_response_with_trailing_metadata_and_payload_unsecure_test $(OUT_DIR)\chttp2_socket_pair_with_grpc_trace_request_response_with_trailing_metadata_and_payload_unsecure_test.exe -chttp2_socket_pair_with_grpc_trace_request_with_compressed_payload_unsecure_test.exe: build_libs $(OUT_DIR) + +chttp2_socket_pair_with_grpc_trace_request_with_compressed_payload_unsecure_test.exe: Debug\end2end_fixture_chttp2_socket_pair_with_grpc_trace.lib Debug\end2end_test_request_with_compressed_payload.lib build_grpc_test_util_unsecure build_grpc_unsecure build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_socket_pair_with_grpc_trace_request_with_compressed_payload_unsecure_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_socket_pair_with_grpc_trace_request_with_compressed_payload_unsecure_test.exe" Debug\end2end_fixture_chttp2_socket_pair_with_grpc_trace.lib Debug\end2end_test_request_with_compressed_payload.lib Debug\grpc_test_util_unsecure.lib Debug\grpc_unsecure.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_socket_pair_with_grpc_trace_request_with_compressed_payload_unsecure_test: chttp2_socket_pair_with_grpc_trace_request_with_compressed_payload_unsecure_test.exe echo Running chttp2_socket_pair_with_grpc_trace_request_with_compressed_payload_unsecure_test $(OUT_DIR)\chttp2_socket_pair_with_grpc_trace_request_with_compressed_payload_unsecure_test.exe -chttp2_socket_pair_with_grpc_trace_request_with_flags_unsecure_test.exe: build_libs $(OUT_DIR) + +chttp2_socket_pair_with_grpc_trace_request_with_flags_unsecure_test.exe: Debug\end2end_fixture_chttp2_socket_pair_with_grpc_trace.lib Debug\end2end_test_request_with_flags.lib build_grpc_test_util_unsecure build_grpc_unsecure build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_socket_pair_with_grpc_trace_request_with_flags_unsecure_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_socket_pair_with_grpc_trace_request_with_flags_unsecure_test.exe" Debug\end2end_fixture_chttp2_socket_pair_with_grpc_trace.lib Debug\end2end_test_request_with_flags.lib Debug\grpc_test_util_unsecure.lib Debug\grpc_unsecure.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_socket_pair_with_grpc_trace_request_with_flags_unsecure_test: chttp2_socket_pair_with_grpc_trace_request_with_flags_unsecure_test.exe echo Running chttp2_socket_pair_with_grpc_trace_request_with_flags_unsecure_test $(OUT_DIR)\chttp2_socket_pair_with_grpc_trace_request_with_flags_unsecure_test.exe -chttp2_socket_pair_with_grpc_trace_request_with_large_metadata_unsecure_test.exe: build_libs $(OUT_DIR) + +chttp2_socket_pair_with_grpc_trace_request_with_large_metadata_unsecure_test.exe: Debug\end2end_fixture_chttp2_socket_pair_with_grpc_trace.lib Debug\end2end_test_request_with_large_metadata.lib build_grpc_test_util_unsecure build_grpc_unsecure build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_socket_pair_with_grpc_trace_request_with_large_metadata_unsecure_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_socket_pair_with_grpc_trace_request_with_large_metadata_unsecure_test.exe" Debug\end2end_fixture_chttp2_socket_pair_with_grpc_trace.lib Debug\end2end_test_request_with_large_metadata.lib Debug\grpc_test_util_unsecure.lib Debug\grpc_unsecure.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_socket_pair_with_grpc_trace_request_with_large_metadata_unsecure_test: chttp2_socket_pair_with_grpc_trace_request_with_large_metadata_unsecure_test.exe echo Running chttp2_socket_pair_with_grpc_trace_request_with_large_metadata_unsecure_test $(OUT_DIR)\chttp2_socket_pair_with_grpc_trace_request_with_large_metadata_unsecure_test.exe -chttp2_socket_pair_with_grpc_trace_request_with_payload_unsecure_test.exe: build_libs $(OUT_DIR) + +chttp2_socket_pair_with_grpc_trace_request_with_payload_unsecure_test.exe: Debug\end2end_fixture_chttp2_socket_pair_with_grpc_trace.lib Debug\end2end_test_request_with_payload.lib build_grpc_test_util_unsecure build_grpc_unsecure build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_socket_pair_with_grpc_trace_request_with_payload_unsecure_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_socket_pair_with_grpc_trace_request_with_payload_unsecure_test.exe" Debug\end2end_fixture_chttp2_socket_pair_with_grpc_trace.lib Debug\end2end_test_request_with_payload.lib Debug\grpc_test_util_unsecure.lib Debug\grpc_unsecure.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_socket_pair_with_grpc_trace_request_with_payload_unsecure_test: chttp2_socket_pair_with_grpc_trace_request_with_payload_unsecure_test.exe echo Running chttp2_socket_pair_with_grpc_trace_request_with_payload_unsecure_test $(OUT_DIR)\chttp2_socket_pair_with_grpc_trace_request_with_payload_unsecure_test.exe -chttp2_socket_pair_with_grpc_trace_server_finishes_request_unsecure_test.exe: build_libs $(OUT_DIR) + +chttp2_socket_pair_with_grpc_trace_server_finishes_request_unsecure_test.exe: Debug\end2end_fixture_chttp2_socket_pair_with_grpc_trace.lib Debug\end2end_test_server_finishes_request.lib build_grpc_test_util_unsecure build_grpc_unsecure build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_socket_pair_with_grpc_trace_server_finishes_request_unsecure_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_socket_pair_with_grpc_trace_server_finishes_request_unsecure_test.exe" Debug\end2end_fixture_chttp2_socket_pair_with_grpc_trace.lib Debug\end2end_test_server_finishes_request.lib Debug\grpc_test_util_unsecure.lib Debug\grpc_unsecure.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_socket_pair_with_grpc_trace_server_finishes_request_unsecure_test: chttp2_socket_pair_with_grpc_trace_server_finishes_request_unsecure_test.exe echo Running chttp2_socket_pair_with_grpc_trace_server_finishes_request_unsecure_test $(OUT_DIR)\chttp2_socket_pair_with_grpc_trace_server_finishes_request_unsecure_test.exe -chttp2_socket_pair_with_grpc_trace_simple_request_unsecure_test.exe: build_libs $(OUT_DIR) + +chttp2_socket_pair_with_grpc_trace_simple_request_unsecure_test.exe: Debug\end2end_fixture_chttp2_socket_pair_with_grpc_trace.lib Debug\end2end_test_simple_request.lib build_grpc_test_util_unsecure build_grpc_unsecure build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_socket_pair_with_grpc_trace_simple_request_unsecure_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_socket_pair_with_grpc_trace_simple_request_unsecure_test.exe" Debug\end2end_fixture_chttp2_socket_pair_with_grpc_trace.lib Debug\end2end_test_simple_request.lib Debug\grpc_test_util_unsecure.lib Debug\grpc_unsecure.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_socket_pair_with_grpc_trace_simple_request_unsecure_test: chttp2_socket_pair_with_grpc_trace_simple_request_unsecure_test.exe echo Running chttp2_socket_pair_with_grpc_trace_simple_request_unsecure_test $(OUT_DIR)\chttp2_socket_pair_with_grpc_trace_simple_request_unsecure_test.exe -chttp2_socket_pair_with_grpc_trace_simple_request_with_high_initial_sequence_number_unsecure_test.exe: build_libs $(OUT_DIR) + +chttp2_socket_pair_with_grpc_trace_simple_request_with_high_initial_sequence_number_unsecure_test.exe: Debug\end2end_fixture_chttp2_socket_pair_with_grpc_trace.lib Debug\end2end_test_simple_request_with_high_initial_sequence_number.lib build_grpc_test_util_unsecure build_grpc_unsecure build_gpr_test_util build_gpr $(OUT_DIR) echo Building chttp2_socket_pair_with_grpc_trace_simple_request_with_high_initial_sequence_number_unsecure_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\vsprojects\dummy.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\chttp2_socket_pair_with_grpc_trace_simple_request_with_high_initial_sequence_number_unsecure_test.exe" Debug\end2end_fixture_chttp2_socket_pair_with_grpc_trace.lib Debug\end2end_test_simple_request_with_high_initial_sequence_number.lib Debug\grpc_test_util_unsecure.lib Debug\grpc_unsecure.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\dummy.obj chttp2_socket_pair_with_grpc_trace_simple_request_with_high_initial_sequence_number_unsecure_test: chttp2_socket_pair_with_grpc_trace_simple_request_with_high_initial_sequence_number_unsecure_test.exe echo Running chttp2_socket_pair_with_grpc_trace_simple_request_with_high_initial_sequence_number_unsecure_test $(OUT_DIR)\chttp2_socket_pair_with_grpc_trace_simple_request_with_high_initial_sequence_number_unsecure_test.exe -connection_prefix_bad_client_test.exe: build_libs $(OUT_DIR) + +connection_prefix_bad_client_test.exe: Debug\bad_client_test.lib build_grpc_test_util_unsecure build_grpc_unsecure build_gpr_test_util build_gpr $(OUT_DIR) echo Building connection_prefix_bad_client_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\test\core\bad_client\tests\connection_prefix.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\connection_prefix_bad_client_test.exe" Debug\bad_client_test.lib Debug\grpc_test_util_unsecure.lib Debug\grpc_unsecure.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\connection_prefix.obj connection_prefix_bad_client_test: connection_prefix_bad_client_test.exe echo Running connection_prefix_bad_client_test $(OUT_DIR)\connection_prefix_bad_client_test.exe -initial_settings_frame_bad_client_test.exe: build_libs $(OUT_DIR) + +initial_settings_frame_bad_client_test.exe: Debug\bad_client_test.lib build_grpc_test_util_unsecure build_grpc_unsecure build_gpr_test_util build_gpr $(OUT_DIR) echo Building initial_settings_frame_bad_client_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\test\core\bad_client\tests\initial_settings_frame.c $(LINK) $(LFLAGS) /OUT:"$(OUT_DIR)\initial_settings_frame_bad_client_test.exe" Debug\bad_client_test.lib Debug\grpc_test_util_unsecure.lib Debug\grpc_unsecure.lib Debug\gpr_test_util.lib Debug\gpr.lib $(LIBS) $(OUT_DIR)\initial_settings_frame.obj initial_settings_frame_bad_client_test: initial_settings_frame_bad_client_test.exe echo Running initial_settings_frame_bad_client_test $(OUT_DIR)\initial_settings_frame_bad_client_test.exe + build_gpr: msbuild grpc.sln /t:gpr /p:Configuration=Debug /p:Linkage-grpc_dependencies_zlib=static + build_gpr_test_util: msbuild grpc.sln /t:gpr_test_util /p:Configuration=Debug /p:Linkage-grpc_dependencies_zlib=static + build_grpc: msbuild grpc.sln /t:grpc /p:Configuration=Debug /p:Linkage-grpc_dependencies_zlib=static + build_grpc_test_util: msbuild grpc.sln /t:grpc_test_util /p:Configuration=Debug /p:Linkage-grpc_dependencies_zlib=static + build_grpc_test_util_unsecure: msbuild grpc.sln /t:grpc_test_util_unsecure /p:Configuration=Debug /p:Linkage-grpc_dependencies_zlib=static + build_grpc_unsecure: msbuild grpc.sln /t:grpc_unsecure /p:Configuration=Debug /p:Linkage-grpc_dependencies_zlib=static + +build_grpc++: + msbuild grpc.sln /t:grpc++ /p:Configuration=Debug /p:Linkage-grpc_dependencies_zlib=static + +Debug\grpc++_test_config.lib: $(OUT_DIR) + echo Building grpc++_test_config + $(CC) $(CXXFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\test\cpp\util\test_config.cc + $(LIBTOOL) /OUT:"Debug\grpc++_test_config.lib" $(OUT_DIR)\test_config.obj + +Debug\grpc++_test_util.lib: $(OUT_DIR) + echo Building grpc++_test_util + $(CC) $(CXXFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\test\cpp\util\cli_call.cc $(REPO_ROOT)\test\cpp\util\create_test_channel.cc $(REPO_ROOT)\test\cpp\util\subprocess.cc $(REPO_ROOT)\test\cpp\util\messages.pb.cc $(REPO_ROOT)\test\cpp\util\messages.grpc.pb.cc $(REPO_ROOT)\test\cpp\util\echo.pb.cc $(REPO_ROOT)\test\cpp\util\echo.grpc.pb.cc $(REPO_ROOT)\test\cpp\util\echo_duplicate.pb.cc $(REPO_ROOT)\test\cpp\util\echo_duplicate.grpc.pb.cc + $(LIBTOOL) /OUT:"Debug\grpc++_test_util.lib" $(OUT_DIR)\cli_call.obj $(OUT_DIR)\create_test_channel.obj $(OUT_DIR)\subprocess.obj $(OUT_DIR)\messages.pb.obj $(OUT_DIR)\messages.grpc.pb.obj $(OUT_DIR)\echo.pb.obj $(OUT_DIR)\echo.grpc.pb.obj $(OUT_DIR)\echo_duplicate.pb.obj $(OUT_DIR)\echo_duplicate.grpc.pb.obj + +build_grpc++_unsecure: + msbuild grpc.sln /t:grpc++_unsecure /p:Configuration=Debug /p:Linkage-grpc_dependencies_zlib=static + +Debug\interop_client_helper.lib: $(OUT_DIR) + echo Building interop_client_helper + $(CC) $(CXXFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\test\cpp\interop\client_helper.cc + $(LIBTOOL) /OUT:"Debug\interop_client_helper.lib" $(OUT_DIR)\client_helper.obj + +Debug\interop_client_main.lib: $(OUT_DIR) + echo Building interop_client_main + $(CC) $(CXXFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\test\cpp\interop\client.cc $(REPO_ROOT)\test\cpp\interop\interop_client.cc $(REPO_ROOT)\test\proto\empty.pb.cc $(REPO_ROOT)\test\proto\empty.grpc.pb.cc $(REPO_ROOT)\test\proto\messages.pb.cc $(REPO_ROOT)\test\proto\messages.grpc.pb.cc $(REPO_ROOT)\test\proto\test.pb.cc $(REPO_ROOT)\test\proto\test.grpc.pb.cc + $(LIBTOOL) /OUT:"Debug\interop_client_main.lib" $(OUT_DIR)\client.obj $(OUT_DIR)\interop_client.obj $(OUT_DIR)\empty.pb.obj $(OUT_DIR)\empty.grpc.pb.obj $(OUT_DIR)\messages.pb.obj $(OUT_DIR)\messages.grpc.pb.obj $(OUT_DIR)\test.pb.obj $(OUT_DIR)\test.grpc.pb.obj + +Debug\interop_server_helper.lib: $(OUT_DIR) + echo Building interop_server_helper + $(CC) $(CXXFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\test\cpp\interop\server_helper.cc + $(LIBTOOL) /OUT:"Debug\interop_server_helper.lib" $(OUT_DIR)\server_helper.obj + +Debug\interop_server_main.lib: $(OUT_DIR) + echo Building interop_server_main + $(CC) $(CXXFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\test\cpp\interop\server.cc $(REPO_ROOT)\test\proto\empty.pb.cc $(REPO_ROOT)\test\proto\empty.grpc.pb.cc $(REPO_ROOT)\test\proto\messages.pb.cc $(REPO_ROOT)\test\proto\messages.grpc.pb.cc $(REPO_ROOT)\test\proto\test.pb.cc $(REPO_ROOT)\test\proto\test.grpc.pb.cc + $(LIBTOOL) /OUT:"Debug\interop_server_main.lib" $(OUT_DIR)\server.obj $(OUT_DIR)\empty.pb.obj $(OUT_DIR)\empty.grpc.pb.obj $(OUT_DIR)\messages.pb.obj $(OUT_DIR)\messages.grpc.pb.obj $(OUT_DIR)\test.pb.obj $(OUT_DIR)\test.grpc.pb.obj + +Debug\qps.lib: $(OUT_DIR) + echo Building qps + $(CC) $(CXXFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\test\cpp\qps\client_async.cc $(REPO_ROOT)\test\cpp\qps\client_sync.cc $(REPO_ROOT)\test\cpp\qps\driver.cc $(REPO_ROOT)\test\cpp\qps\perf_db_client.cc $(REPO_ROOT)\test\cpp\qps\qps_worker.cc $(REPO_ROOT)\test\cpp\qps\report.cc $(REPO_ROOT)\test\cpp\qps\server_async.cc $(REPO_ROOT)\test\cpp\qps\server_sync.cc $(REPO_ROOT)\test\cpp\qps\timer.cc $(REPO_ROOT)\test\cpp\util\benchmark_config.cc $(REPO_ROOT)\test\cpp\qps\qpstest.pb.cc $(REPO_ROOT)\test\cpp\qps\qpstest.grpc.pb.cc $(REPO_ROOT)\test\cpp\qps\perf_db.pb.cc $(REPO_ROOT)\test\cpp\qps\perf_db.grpc.pb.cc + $(LIBTOOL) /OUT:"Debug\qps.lib" $(OUT_DIR)\client_async.obj $(OUT_DIR)\client_sync.obj $(OUT_DIR)\driver.obj $(OUT_DIR)\perf_db_client.obj $(OUT_DIR)\qps_worker.obj $(OUT_DIR)\report.obj $(OUT_DIR)\server_async.obj $(OUT_DIR)\server_sync.obj $(OUT_DIR)\timer.obj $(OUT_DIR)\benchmark_config.obj $(OUT_DIR)\qpstest.pb.obj $(OUT_DIR)\qpstest.grpc.pb.obj $(OUT_DIR)\perf_db.pb.obj $(OUT_DIR)\perf_db.grpc.pb.obj + Debug\end2end_fixture_chttp2_fake_security.lib: $(OUT_DIR) echo Building end2end_fixture_chttp2_fake_security $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\test\core\end2end\fixtures\chttp2_fake_security.c $(LIBTOOL) /OUT:"Debug\end2end_fixture_chttp2_fake_security.lib" $(OUT_DIR)\chttp2_fake_security.obj + Debug\end2end_fixture_chttp2_fullstack.lib: $(OUT_DIR) echo Building end2end_fixture_chttp2_fullstack $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\test\core\end2end\fixtures\chttp2_fullstack.c $(LIBTOOL) /OUT:"Debug\end2end_fixture_chttp2_fullstack.lib" $(OUT_DIR)\chttp2_fullstack.obj + Debug\end2end_fixture_chttp2_fullstack_compression.lib: $(OUT_DIR) echo Building end2end_fixture_chttp2_fullstack_compression $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\test\core\end2end\fixtures\chttp2_fullstack_compression.c $(LIBTOOL) /OUT:"Debug\end2end_fixture_chttp2_fullstack_compression.lib" $(OUT_DIR)\chttp2_fullstack_compression.obj + Debug\end2end_fixture_chttp2_simple_ssl_fullstack.lib: $(OUT_DIR) echo Building end2end_fixture_chttp2_simple_ssl_fullstack $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\test\core\end2end\fixtures\chttp2_simple_ssl_fullstack.c $(LIBTOOL) /OUT:"Debug\end2end_fixture_chttp2_simple_ssl_fullstack.lib" $(OUT_DIR)\chttp2_simple_ssl_fullstack.obj + Debug\end2end_fixture_chttp2_simple_ssl_with_oauth2_fullstack.lib: $(OUT_DIR) echo Building end2end_fixture_chttp2_simple_ssl_with_oauth2_fullstack $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\test\core\end2end\fixtures\chttp2_simple_ssl_with_oauth2_fullstack.c $(LIBTOOL) /OUT:"Debug\end2end_fixture_chttp2_simple_ssl_with_oauth2_fullstack.lib" $(OUT_DIR)\chttp2_simple_ssl_with_oauth2_fullstack.obj + Debug\end2end_fixture_chttp2_socket_pair.lib: $(OUT_DIR) echo Building end2end_fixture_chttp2_socket_pair $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\test\core\end2end\fixtures\chttp2_socket_pair.c $(LIBTOOL) /OUT:"Debug\end2end_fixture_chttp2_socket_pair.lib" $(OUT_DIR)\chttp2_socket_pair.obj + Debug\end2end_fixture_chttp2_socket_pair_one_byte_at_a_time.lib: $(OUT_DIR) echo Building end2end_fixture_chttp2_socket_pair_one_byte_at_a_time $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\test\core\end2end\fixtures\chttp2_socket_pair_one_byte_at_a_time.c $(LIBTOOL) /OUT:"Debug\end2end_fixture_chttp2_socket_pair_one_byte_at_a_time.lib" $(OUT_DIR)\chttp2_socket_pair_one_byte_at_a_time.obj + Debug\end2end_fixture_chttp2_socket_pair_with_grpc_trace.lib: $(OUT_DIR) echo Building end2end_fixture_chttp2_socket_pair_with_grpc_trace $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\test\core\end2end\fixtures\chttp2_socket_pair_with_grpc_trace.c $(LIBTOOL) /OUT:"Debug\end2end_fixture_chttp2_socket_pair_with_grpc_trace.lib" $(OUT_DIR)\chttp2_socket_pair_with_grpc_trace.obj + Debug\end2end_test_bad_hostname.lib: $(OUT_DIR) echo Building end2end_test_bad_hostname $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\test\core\end2end\tests\bad_hostname.c $(LIBTOOL) /OUT:"Debug\end2end_test_bad_hostname.lib" $(OUT_DIR)\bad_hostname.obj + Debug\end2end_test_cancel_after_accept.lib: $(OUT_DIR) echo Building end2end_test_cancel_after_accept $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\test\core\end2end\tests\cancel_after_accept.c $(LIBTOOL) /OUT:"Debug\end2end_test_cancel_after_accept.lib" $(OUT_DIR)\cancel_after_accept.obj + Debug\end2end_test_cancel_after_accept_and_writes_closed.lib: $(OUT_DIR) echo Building end2end_test_cancel_after_accept_and_writes_closed $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\test\core\end2end\tests\cancel_after_accept_and_writes_closed.c $(LIBTOOL) /OUT:"Debug\end2end_test_cancel_after_accept_and_writes_closed.lib" $(OUT_DIR)\cancel_after_accept_and_writes_closed.obj + Debug\end2end_test_cancel_after_invoke.lib: $(OUT_DIR) echo Building end2end_test_cancel_after_invoke $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\test\core\end2end\tests\cancel_after_invoke.c $(LIBTOOL) /OUT:"Debug\end2end_test_cancel_after_invoke.lib" $(OUT_DIR)\cancel_after_invoke.obj + Debug\end2end_test_cancel_before_invoke.lib: $(OUT_DIR) echo Building end2end_test_cancel_before_invoke $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\test\core\end2end\tests\cancel_before_invoke.c $(LIBTOOL) /OUT:"Debug\end2end_test_cancel_before_invoke.lib" $(OUT_DIR)\cancel_before_invoke.obj + Debug\end2end_test_cancel_in_a_vacuum.lib: $(OUT_DIR) echo Building end2end_test_cancel_in_a_vacuum $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\test\core\end2end\tests\cancel_in_a_vacuum.c $(LIBTOOL) /OUT:"Debug\end2end_test_cancel_in_a_vacuum.lib" $(OUT_DIR)\cancel_in_a_vacuum.obj + Debug\end2end_test_census_simple_request.lib: $(OUT_DIR) echo Building end2end_test_census_simple_request $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\test\core\end2end\tests\census_simple_request.c $(LIBTOOL) /OUT:"Debug\end2end_test_census_simple_request.lib" $(OUT_DIR)\census_simple_request.obj + Debug\end2end_test_channel_connectivity.lib: $(OUT_DIR) echo Building end2end_test_channel_connectivity $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\test\core\end2end\tests\channel_connectivity.c $(LIBTOOL) /OUT:"Debug\end2end_test_channel_connectivity.lib" $(OUT_DIR)\channel_connectivity.obj + Debug\end2end_test_default_host.lib: $(OUT_DIR) echo Building end2end_test_default_host $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\test\core\end2end\tests\default_host.c $(LIBTOOL) /OUT:"Debug\end2end_test_default_host.lib" $(OUT_DIR)\default_host.obj + Debug\end2end_test_disappearing_server.lib: $(OUT_DIR) echo Building end2end_test_disappearing_server $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\test\core\end2end\tests\disappearing_server.c $(LIBTOOL) /OUT:"Debug\end2end_test_disappearing_server.lib" $(OUT_DIR)\disappearing_server.obj + Debug\end2end_test_early_server_shutdown_finishes_inflight_calls.lib: $(OUT_DIR) echo Building end2end_test_early_server_shutdown_finishes_inflight_calls $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\test\core\end2end\tests\early_server_shutdown_finishes_inflight_calls.c $(LIBTOOL) /OUT:"Debug\end2end_test_early_server_shutdown_finishes_inflight_calls.lib" $(OUT_DIR)\early_server_shutdown_finishes_inflight_calls.obj + Debug\end2end_test_early_server_shutdown_finishes_tags.lib: $(OUT_DIR) echo Building end2end_test_early_server_shutdown_finishes_tags $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\test\core\end2end\tests\early_server_shutdown_finishes_tags.c $(LIBTOOL) /OUT:"Debug\end2end_test_early_server_shutdown_finishes_tags.lib" $(OUT_DIR)\early_server_shutdown_finishes_tags.obj + Debug\end2end_test_empty_batch.lib: $(OUT_DIR) echo Building end2end_test_empty_batch $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\test\core\end2end\tests\empty_batch.c $(LIBTOOL) /OUT:"Debug\end2end_test_empty_batch.lib" $(OUT_DIR)\empty_batch.obj + Debug\end2end_test_graceful_server_shutdown.lib: $(OUT_DIR) echo Building end2end_test_graceful_server_shutdown $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\test\core\end2end\tests\graceful_server_shutdown.c $(LIBTOOL) /OUT:"Debug\end2end_test_graceful_server_shutdown.lib" $(OUT_DIR)\graceful_server_shutdown.obj + Debug\end2end_test_invoke_large_request.lib: $(OUT_DIR) echo Building end2end_test_invoke_large_request $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\test\core\end2end\tests\invoke_large_request.c $(LIBTOOL) /OUT:"Debug\end2end_test_invoke_large_request.lib" $(OUT_DIR)\invoke_large_request.obj + Debug\end2end_test_max_concurrent_streams.lib: $(OUT_DIR) echo Building end2end_test_max_concurrent_streams $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\test\core\end2end\tests\max_concurrent_streams.c $(LIBTOOL) /OUT:"Debug\end2end_test_max_concurrent_streams.lib" $(OUT_DIR)\max_concurrent_streams.obj + Debug\end2end_test_max_message_length.lib: $(OUT_DIR) echo Building end2end_test_max_message_length $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\test\core\end2end\tests\max_message_length.c $(LIBTOOL) /OUT:"Debug\end2end_test_max_message_length.lib" $(OUT_DIR)\max_message_length.obj + Debug\end2end_test_no_op.lib: $(OUT_DIR) echo Building end2end_test_no_op $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\test\core\end2end\tests\no_op.c $(LIBTOOL) /OUT:"Debug\end2end_test_no_op.lib" $(OUT_DIR)\no_op.obj + Debug\end2end_test_ping_pong_streaming.lib: $(OUT_DIR) echo Building end2end_test_ping_pong_streaming $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\test\core\end2end\tests\ping_pong_streaming.c $(LIBTOOL) /OUT:"Debug\end2end_test_ping_pong_streaming.lib" $(OUT_DIR)\ping_pong_streaming.obj + Debug\end2end_test_registered_call.lib: $(OUT_DIR) echo Building end2end_test_registered_call $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\test\core\end2end\tests\registered_call.c $(LIBTOOL) /OUT:"Debug\end2end_test_registered_call.lib" $(OUT_DIR)\registered_call.obj + Debug\end2end_test_request_response_with_binary_metadata_and_payload.lib: $(OUT_DIR) echo Building end2end_test_request_response_with_binary_metadata_and_payload $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\test\core\end2end\tests\request_response_with_binary_metadata_and_payload.c $(LIBTOOL) /OUT:"Debug\end2end_test_request_response_with_binary_metadata_and_payload.lib" $(OUT_DIR)\request_response_with_binary_metadata_and_payload.obj + Debug\end2end_test_request_response_with_metadata_and_payload.lib: $(OUT_DIR) echo Building end2end_test_request_response_with_metadata_and_payload $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\test\core\end2end\tests\request_response_with_metadata_and_payload.c $(LIBTOOL) /OUT:"Debug\end2end_test_request_response_with_metadata_and_payload.lib" $(OUT_DIR)\request_response_with_metadata_and_payload.obj + Debug\end2end_test_request_response_with_payload.lib: $(OUT_DIR) echo Building end2end_test_request_response_with_payload $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\test\core\end2end\tests\request_response_with_payload.c $(LIBTOOL) /OUT:"Debug\end2end_test_request_response_with_payload.lib" $(OUT_DIR)\request_response_with_payload.obj + Debug\end2end_test_request_response_with_payload_and_call_creds.lib: $(OUT_DIR) echo Building end2end_test_request_response_with_payload_and_call_creds $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\test\core\end2end\tests\request_response_with_payload_and_call_creds.c $(LIBTOOL) /OUT:"Debug\end2end_test_request_response_with_payload_and_call_creds.lib" $(OUT_DIR)\request_response_with_payload_and_call_creds.obj + Debug\end2end_test_request_response_with_trailing_metadata_and_payload.lib: $(OUT_DIR) echo Building end2end_test_request_response_with_trailing_metadata_and_payload $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\test\core\end2end\tests\request_response_with_trailing_metadata_and_payload.c $(LIBTOOL) /OUT:"Debug\end2end_test_request_response_with_trailing_metadata_and_payload.lib" $(OUT_DIR)\request_response_with_trailing_metadata_and_payload.obj + Debug\end2end_test_request_with_compressed_payload.lib: $(OUT_DIR) echo Building end2end_test_request_with_compressed_payload $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\test\core\end2end\tests\request_with_compressed_payload.c $(LIBTOOL) /OUT:"Debug\end2end_test_request_with_compressed_payload.lib" $(OUT_DIR)\request_with_compressed_payload.obj + Debug\end2end_test_request_with_flags.lib: $(OUT_DIR) echo Building end2end_test_request_with_flags $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\test\core\end2end\tests\request_with_flags.c $(LIBTOOL) /OUT:"Debug\end2end_test_request_with_flags.lib" $(OUT_DIR)\request_with_flags.obj + Debug\end2end_test_request_with_large_metadata.lib: $(OUT_DIR) echo Building end2end_test_request_with_large_metadata $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\test\core\end2end\tests\request_with_large_metadata.c $(LIBTOOL) /OUT:"Debug\end2end_test_request_with_large_metadata.lib" $(OUT_DIR)\request_with_large_metadata.obj + Debug\end2end_test_request_with_payload.lib: $(OUT_DIR) echo Building end2end_test_request_with_payload $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\test\core\end2end\tests\request_with_payload.c $(LIBTOOL) /OUT:"Debug\end2end_test_request_with_payload.lib" $(OUT_DIR)\request_with_payload.obj + Debug\end2end_test_server_finishes_request.lib: $(OUT_DIR) echo Building end2end_test_server_finishes_request $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\test\core\end2end\tests\server_finishes_request.c $(LIBTOOL) /OUT:"Debug\end2end_test_server_finishes_request.lib" $(OUT_DIR)\server_finishes_request.obj + Debug\end2end_test_simple_delayed_request.lib: $(OUT_DIR) echo Building end2end_test_simple_delayed_request $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\test\core\end2end\tests\simple_delayed_request.c $(LIBTOOL) /OUT:"Debug\end2end_test_simple_delayed_request.lib" $(OUT_DIR)\simple_delayed_request.obj + Debug\end2end_test_simple_request.lib: $(OUT_DIR) echo Building end2end_test_simple_request $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\test\core\end2end\tests\simple_request.c $(LIBTOOL) /OUT:"Debug\end2end_test_simple_request.lib" $(OUT_DIR)\simple_request.obj + Debug\end2end_test_simple_request_with_high_initial_sequence_number.lib: $(OUT_DIR) echo Building end2end_test_simple_request_with_high_initial_sequence_number $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\test\core\end2end\tests\simple_request_with_high_initial_sequence_number.c $(LIBTOOL) /OUT:"Debug\end2end_test_simple_request_with_high_initial_sequence_number.lib" $(OUT_DIR)\simple_request_with_high_initial_sequence_number.obj + Debug\end2end_certs.lib: $(OUT_DIR) echo Building end2end_certs $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\test\core\end2end\data\test_root_cert.c $(REPO_ROOT)\test\core\end2end\data\server1_cert.c $(REPO_ROOT)\test\core\end2end\data\server1_key.c $(LIBTOOL) /OUT:"Debug\end2end_certs.lib" $(OUT_DIR)\test_root_cert.obj $(OUT_DIR)\server1_cert.obj $(OUT_DIR)\server1_key.obj + Debug\bad_client_test.lib: $(OUT_DIR) echo Building bad_client_test $(CC) $(CFLAGS) /Fo:$(OUT_DIR)\ $(REPO_ROOT)\test\core\bad_client\bad_client.c diff --git a/vsprojects/grpc.sln b/vsprojects/grpc.sln index f931311dc8..9f632af753 100644 --- a/vsprojects/grpc.sln +++ b/vsprojects/grpc.sln @@ -4,18 +4,30 @@ Microsoft Visual Studio Solution File, Format Version 12.00 VisualStudioVersion = 12.0.21005.1 MinimumVisualStudioVersion = 10.0.40219.1 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gpr", "gpr\gpr.vcxproj", "{B23D3D1A-9438-4EDA-BEB6-9A0A03D17792}" + ProjectSection(myProperties) = preProject + lib = "True" + EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gpr_test_util", "gpr_test_util\gpr_test_util.vcxproj", "{EAB0A629-17A9-44DB-B5FF-E91A721FE037}" + ProjectSection(myProperties) = preProject + lib = "True" + EndProjectSection ProjectSection(ProjectDependencies) = postProject {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "grpc", "grpc\grpc.vcxproj", "{29D16885-7228-4C31-81ED-5F9187C7F2A9}" + ProjectSection(myProperties) = preProject + lib = "True" + EndProjectSection ProjectSection(ProjectDependencies) = postProject {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "grpc_test_util", "grpc_test_util\grpc_test_util.vcxproj", "{17BCAFC0-5FDC-4C94-AEB9-95F3E220614B}" + ProjectSection(myProperties) = preProject + lib = "True" + EndProjectSection ProjectSection(ProjectDependencies) = postProject {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} @@ -23,6 +35,9 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "grpc_test_util", "grpc_test EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "grpc_test_util_unsecure", "grpc_test_util_unsecure\grpc_test_util_unsecure.vcxproj", "{0A7E7F92-FDEA-40F1-A9EC-3BA484F98BBF}" + ProjectSection(myProperties) = preProject + lib = "True" + EndProjectSection ProjectSection(ProjectDependencies) = postProject {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} {EAB0A629-17A9-44DB-B5FF-E91A721FE037} = {EAB0A629-17A9-44DB-B5FF-E91A721FE037} @@ -30,23 +45,35 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "grpc_test_util_unsecure", " EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "grpc_unsecure", "grpc_unsecure\grpc_unsecure.vcxproj", "{46CEDFFF-9692-456A-AA24-38B5D6BCF4C5}" + ProjectSection(myProperties) = preProject + lib = "True" + EndProjectSection ProjectSection(ProjectDependencies) = postProject {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "grpc++", "grpc++\grpc++.vcxproj", "{C187A093-A0FE-489D-A40A-6E33DE0F9FEB}" + ProjectSection(myProperties) = preProject + lib = "True" + EndProjectSection ProjectSection(ProjectDependencies) = postProject {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "grpc++_unsecure", "grpc++_unsecure\grpc++_unsecure.vcxproj", "{6EE56155-DF7C-4F6E-BFC4-F6F776BEB211}" + ProjectSection(myProperties) = preProject + lib = "True" + EndProjectSection ProjectSection(ProjectDependencies) = postProject {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} {46CEDFFF-9692-456A-AA24-38B5D6BCF4C5} = {46CEDFFF-9692-456A-AA24-38B5D6BCF4C5} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "grpc_csharp_ext", "grpc_csharp_ext\grpc_csharp_ext.vcxproj", "{D64C6D63-4458-4A88-AB38-35678384A7E4}" + ProjectSection(myProperties) = preProject + lib = "True" + EndProjectSection ProjectSection(ProjectDependencies) = postProject {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} = {B23D3D1A-9438-4EDA-BEB6-9A0A03D17792} {29D16885-7228-4C31-81ED-5F9187C7F2A9} = {29D16885-7228-4C31-81ED-5F9187C7F2A9} diff --git a/vsprojects/grpc/grpc.vcxproj b/vsprojects/grpc/grpc.vcxproj index 63272541ff..1669f0fb67 100644 --- a/vsprojects/grpc/grpc.vcxproj +++ b/vsprojects/grpc/grpc.vcxproj @@ -76,6 +76,9 @@ grpc + static + Debug + Debug grpc @@ -195,6 +198,8 @@ + + @@ -361,6 +366,10 @@ + + + + diff --git a/vsprojects/grpc/grpc.vcxproj.filters b/vsprojects/grpc/grpc.vcxproj.filters index 0245e3e86d..366894a4a7 100644 --- a/vsprojects/grpc/grpc.vcxproj.filters +++ b/vsprojects/grpc/grpc.vcxproj.filters @@ -133,6 +133,12 @@ src\core\client_config + + src\core\client_config\subchannel_factory_decorators + + + src\core\client_config\subchannel_factory_decorators + src\core\client_config @@ -554,6 +560,12 @@ src\core\client_config + + src\core\client_config\subchannel_factory_decorators + + + src\core\client_config\subchannel_factory_decorators + src\core\client_config @@ -812,6 +824,9 @@ {6d97b8d9-2c15-927a-892a-709d073c02ab} + + {428cdbb1-c777-2c64-79b3-43d6ee413061} + {263cb913-dfe6-42a4-096b-cac231f76305} diff --git a/vsprojects/grpc_cpp_plugin/grpc_cpp_plugin.vcxproj b/vsprojects/grpc_cpp_plugin/grpc_cpp_plugin.vcxproj index d2669b4401..0b60284629 100644 --- a/vsprojects/grpc_cpp_plugin/grpc_cpp_plugin.vcxproj +++ b/vsprojects/grpc_cpp_plugin/grpc_cpp_plugin.vcxproj @@ -59,25 +59,21 @@ - - - - diff --git a/vsprojects/grpc_csharp_ext/grpc_csharp_ext.vcxproj b/vsprojects/grpc_csharp_ext/grpc_csharp_ext.vcxproj index 41706e9209..e50da0319b 100644 --- a/vsprojects/grpc_csharp_ext/grpc_csharp_ext.vcxproj +++ b/vsprojects/grpc_csharp_ext/grpc_csharp_ext.vcxproj @@ -80,6 +80,9 @@ grpc_csharp_ext + static + Debug + Debug grpc_csharp_ext diff --git a/vsprojects/grpc_csharp_plugin/grpc_csharp_plugin.vcxproj b/vsprojects/grpc_csharp_plugin/grpc_csharp_plugin.vcxproj index 10d1e968fc..30c4536625 100644 --- a/vsprojects/grpc_csharp_plugin/grpc_csharp_plugin.vcxproj +++ b/vsprojects/grpc_csharp_plugin/grpc_csharp_plugin.vcxproj @@ -59,25 +59,21 @@ - - - - diff --git a/vsprojects/grpc_objective_c_plugin/grpc_objective_c_plugin.vcxproj b/vsprojects/grpc_objective_c_plugin/grpc_objective_c_plugin.vcxproj index 23affd158d..e411390b89 100644 --- a/vsprojects/grpc_objective_c_plugin/grpc_objective_c_plugin.vcxproj +++ b/vsprojects/grpc_objective_c_plugin/grpc_objective_c_plugin.vcxproj @@ -59,25 +59,21 @@ - - - - diff --git a/vsprojects/grpc_protoc_plugins.sln b/vsprojects/grpc_protoc_plugins.sln index be3ccf9bbe..d1ce78cf45 100644 --- a/vsprojects/grpc_protoc_plugins.sln +++ b/vsprojects/grpc_protoc_plugins.sln @@ -4,28 +4,46 @@ Microsoft Visual Studio Solution File, Format Version 12.00 VisualStudioVersion = 12.0.21005.1 MinimumVisualStudioVersion = 10.0.40219.1 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "grpc_plugin_support", "grpc_plugin_support\grpc_plugin_support.vcxproj", "{B6E81D84-2ACB-41B8-8781-493A944C7817}" + ProjectSection(myProperties) = preProject + lib = "True" + EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "grpc_cpp_plugin", "grpc_cpp_plugin\grpc_cpp_plugin.vcxproj", "{7E51A25F-AC59-488F-906C-C60FAAE706AA}" + ProjectSection(myProperties) = preProject + lib = "False" + EndProjectSection ProjectSection(ProjectDependencies) = postProject {B6E81D84-2ACB-41B8-8781-493A944C7817} = {B6E81D84-2ACB-41B8-8781-493A944C7817} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "grpc_csharp_plugin", "grpc_csharp_plugin\grpc_csharp_plugin.vcxproj", "{3C813052-A49A-4662-B90A-1ADBEC7EE453}" + ProjectSection(myProperties) = preProject + lib = "False" + EndProjectSection ProjectSection(ProjectDependencies) = postProject {B6E81D84-2ACB-41B8-8781-493A944C7817} = {B6E81D84-2ACB-41B8-8781-493A944C7817} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "grpc_objective_c_plugin", "grpc_objective_c_plugin\grpc_objective_c_plugin.vcxproj", "{19564640-CEE6-4921-ABA5-676ED79A36F6}" + ProjectSection(myProperties) = preProject + lib = "False" + EndProjectSection ProjectSection(ProjectDependencies) = postProject {B6E81D84-2ACB-41B8-8781-493A944C7817} = {B6E81D84-2ACB-41B8-8781-493A944C7817} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "grpc_python_plugin", "grpc_python_plugin\grpc_python_plugin.vcxproj", "{DF52D501-A6CF-4E6F-BA38-6EBE2E8DAFB2}" + ProjectSection(myProperties) = preProject + lib = "False" + EndProjectSection ProjectSection(ProjectDependencies) = postProject {B6E81D84-2ACB-41B8-8781-493A944C7817} = {B6E81D84-2ACB-41B8-8781-493A944C7817} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "grpc_ruby_plugin", "grpc_ruby_plugin\grpc_ruby_plugin.vcxproj", "{069E9D05-B78B-4751-9252-D21EBAE7DE8E}" + ProjectSection(myProperties) = preProject + lib = "False" + EndProjectSection ProjectSection(ProjectDependencies) = postProject {B6E81D84-2ACB-41B8-8781-493A944C7817} = {B6E81D84-2ACB-41B8-8781-493A944C7817} EndProjectSection diff --git a/vsprojects/grpc_python_plugin/grpc_python_plugin.vcxproj b/vsprojects/grpc_python_plugin/grpc_python_plugin.vcxproj index eadc0a070b..fb7d003d5a 100644 --- a/vsprojects/grpc_python_plugin/grpc_python_plugin.vcxproj +++ b/vsprojects/grpc_python_plugin/grpc_python_plugin.vcxproj @@ -59,25 +59,21 @@ - - - - diff --git a/vsprojects/grpc_ruby_plugin/grpc_ruby_plugin.vcxproj b/vsprojects/grpc_ruby_plugin/grpc_ruby_plugin.vcxproj index 0655bc816a..07cf618328 100644 --- a/vsprojects/grpc_ruby_plugin/grpc_ruby_plugin.vcxproj +++ b/vsprojects/grpc_ruby_plugin/grpc_ruby_plugin.vcxproj @@ -59,25 +59,21 @@ - - - - diff --git a/vsprojects/grpc_unsecure/grpc_unsecure.vcxproj b/vsprojects/grpc_unsecure/grpc_unsecure.vcxproj index 7b3f8aa480..fc076120ce 100644 --- a/vsprojects/grpc_unsecure/grpc_unsecure.vcxproj +++ b/vsprojects/grpc_unsecure/grpc_unsecure.vcxproj @@ -75,6 +75,8 @@ grpc_unsecure + static + Debug grpc_unsecure @@ -176,6 +178,8 @@ + + @@ -296,6 +300,10 @@ + + + + diff --git a/vsprojects/grpc_unsecure/grpc_unsecure.vcxproj.filters b/vsprojects/grpc_unsecure/grpc_unsecure.vcxproj.filters index bd197b9c48..d3b35b614a 100644 --- a/vsprojects/grpc_unsecure/grpc_unsecure.vcxproj.filters +++ b/vsprojects/grpc_unsecure/grpc_unsecure.vcxproj.filters @@ -64,6 +64,12 @@ src\core\client_config + + src\core\client_config\subchannel_factory_decorators + + + src\core\client_config\subchannel_factory_decorators + src\core\client_config @@ -431,6 +437,12 @@ src\core\client_config + + src\core\client_config\subchannel_factory_decorators + + + src\core\client_config\subchannel_factory_decorators + src\core\client_config @@ -689,6 +701,9 @@ {dd617c24-6f07-fdff-80d5-c8610d6f815e} + + {64285d1a-ebd0-7637-ae20-15df5ca6cc83} + {2e3aca1d-223d-10a1-b282-7f9fc68ee6f5} -- cgit v1.2.3 From ff32faf3c95fd52c08094b399ffab2d82a225335 Mon Sep 17 00:00:00 2001 From: Alistair Veitch Date: Thu, 30 Jul 2015 09:54:15 -0700 Subject: Move grpc_census_call_*_context calls into public header --- BUILD | 3 -- build.json | 1 - gRPC.podspec | 2 - include/grpc/grpc.h | 50 ++++++++++++------- src/core/census/grpc_context.c | 3 +- src/core/census/grpc_context.h | 57 ---------------------- src/core/surface/call.c | 17 ++++--- src/cpp/client/channel.cc | 1 - tools/doxygen/Doxyfile.core.internal | 1 - tools/run_tests/sources_and_headers.json | 4 -- vsprojects/grpc/grpc.vcxproj | 1 - vsprojects/grpc/grpc.vcxproj.filters | 3 -- vsprojects/grpc_unsecure/grpc_unsecure.vcxproj | 1 - .../grpc_unsecure/grpc_unsecure.vcxproj.filters | 3 -- 14 files changed, 44 insertions(+), 103 deletions(-) delete mode 100644 src/core/census/grpc_context.h (limited to 'tools/doxygen') diff --git a/BUILD b/BUILD index a19631e6df..9eeeccf976 100644 --- a/BUILD +++ b/BUILD @@ -149,7 +149,6 @@ cc_library( "src/core/tsi/ssl_transport_security.h", "src/core/tsi/transport_security.h", "src/core/tsi/transport_security_interface.h", - "src/core/census/grpc_context.h", "src/core/channel/census_filter.h", "src/core/channel/channel_args.h", "src/core/channel/channel_stack.h", @@ -407,7 +406,6 @@ cc_library( cc_library( name = "grpc_unsecure", srcs = [ - "src/core/census/grpc_context.h", "src/core/channel/census_filter.h", "src/core/channel/channel_args.h", "src/core/channel/channel_stack.h", @@ -1127,7 +1125,6 @@ objc_library( "src/core/tsi/ssl_transport_security.h", "src/core/tsi/transport_security.h", "src/core/tsi/transport_security_interface.h", - "src/core/census/grpc_context.h", "src/core/channel/census_filter.h", "src/core/channel/channel_args.h", "src/core/channel/channel_stack.h", diff --git a/build.json b/build.json index dd633070ff..887a4ee48b 100644 --- a/build.json +++ b/build.json @@ -114,7 +114,6 @@ "include/grpc/status.h" ], "headers": [ - "src/core/census/grpc_context.h", "src/core/channel/census_filter.h", "src/core/channel/channel_args.h", "src/core/channel/channel_stack.h", diff --git a/gRPC.podspec b/gRPC.podspec index f47b44fe9d..c0335c44a4 100644 --- a/gRPC.podspec +++ b/gRPC.podspec @@ -151,7 +151,6 @@ Pod::Spec.new do |s| 'src/core/tsi/ssl_transport_security.h', 'src/core/tsi/transport_security.h', 'src/core/tsi/transport_security_interface.h', - 'src/core/census/grpc_context.h', 'src/core/channel/census_filter.h', 'src/core/channel/channel_args.h', 'src/core/channel/channel_stack.h', @@ -417,7 +416,6 @@ Pod::Spec.new do |s| 'src/core/tsi/ssl_transport_security.h', 'src/core/tsi/transport_security.h', 'src/core/tsi/transport_security_interface.h', - 'src/core/census/grpc_context.h', 'src/core/channel/census_filter.h', 'src/core/channel/channel_args.h', 'src/core/channel/channel_stack.h', diff --git a/include/grpc/grpc.h b/include/grpc/grpc.h index b05e4d65de..9d397225ce 100644 --- a/include/grpc/grpc.h +++ b/include/grpc/grpc.h @@ -50,7 +50,7 @@ extern "C" { * \section intro_sec The GRPC Core library is a low-level library designed * to be wrapped by higher level libraries. * - * The top-level API is provided in grpc.h. + * The top-level API is provided in grpc.h. * Security related functionality lives in grpc_security.h. */ @@ -175,7 +175,7 @@ typedef enum grpc_call_error { GRPC_CALL_ERROR_INVALID_FLAGS, /** invalid metadata was passed to this call */ GRPC_CALL_ERROR_INVALID_METADATA, - /** completion queue for notification has not been registered with the + /** completion queue for notification has not been registered with the server */ GRPC_CALL_ERROR_NOT_SERVER_COMPLETION_QUEUE } grpc_call_error; @@ -198,7 +198,8 @@ typedef struct grpc_metadata { size_t value_length; /** The following fields are reserved for grpc internal use. - There is no need to initialize them, and they will be set to garbage during + There is no need to initialize them, and they will be set to garbage + during calls to grpc. */ struct { void *obfuscated[3]; @@ -256,24 +257,25 @@ typedef enum { /** Send a message: 0 or more of these operations can occur for each call */ GRPC_OP_SEND_MESSAGE, /** Send a close from the client: one and only one instance MUST be sent from - the client, unless the call was cancelled - in which case this can be + the client, unless the call was cancelled - in which case this can be skipped */ GRPC_OP_SEND_CLOSE_FROM_CLIENT, /** Send status from the server: one and only one instance MUST be sent from - the server unless the call was cancelled - in which case this can be + the server unless the call was cancelled - in which case this can be skipped */ GRPC_OP_SEND_STATUS_FROM_SERVER, - /** Receive initial metadata: one and only one MUST be made on the client, + /** Receive initial metadata: one and only one MUST be made on the client, must not be made on the server */ GRPC_OP_RECV_INITIAL_METADATA, - /** Receive a message: 0 or more of these operations can occur for each call */ + /** Receive a message: 0 or more of these operations can occur for each call + */ GRPC_OP_RECV_MESSAGE, /** Receive status on the client: one and only one must be made on the client. This operation always succeeds, meaning ops paired with this operation will also appear to succeed, even though they may not have. In that case the status will indicate some failure. */ GRPC_OP_RECV_STATUS_ON_CLIENT, - /** Receive close on the server: one and only one must be made on the + /** Receive close on the server: one and only one must be made on the server */ GRPC_OP_RECV_CLOSE_ON_SERVER } grpc_op_type; @@ -284,7 +286,7 @@ typedef struct grpc_op { /** Operation type, as defined by grpc_op_type */ grpc_op_type op; /** Write flags bitset for grpc_begin_messages */ - gpr_uint32 flags; + gpr_uint32 flags; union { struct { size_t count; @@ -303,21 +305,23 @@ typedef struct grpc_op { After the operation completes, call grpc_metadata_array_destroy on this value, or reuse it in a future op. */ grpc_metadata_array *recv_initial_metadata; - /** ownership of the byte buffer is moved to the caller; the caller must call + /** ownership of the byte buffer is moved to the caller; the caller must + call grpc_byte_buffer_destroy on this value, or reuse it in a future op. */ grpc_byte_buffer **recv_message; struct { /** ownership of the array is with the caller, but ownership of the - elements stays with the call object (ie key, value members are owned + elements stays with the call object (ie key, value members are owned by the call object, trailing_metadata->array is owned by the caller). - After the operation completes, call grpc_metadata_array_destroy on this + After the operation completes, call grpc_metadata_array_destroy on + this value, or reuse it in a future op. */ grpc_metadata_array *trailing_metadata; grpc_status_code *status; /** status_details is a buffer owned by the application before the op completes and after the op has completed. During the operation - status_details may be reallocated to a size larger than - *status_details_capacity, in which case *status_details_capacity will + status_details may be reallocated to a size larger than + *status_details_capacity, in which case *status_details_capacity will be updated with the new array capacity. Pre-allocating space: @@ -436,13 +440,23 @@ grpc_call_error grpc_call_start_batch(grpc_call *call, const grpc_op *ops, /** Returns a newly allocated string representing the endpoint to which this call is communicating with. The string is in the uri format accepted by grpc_channel_create. - The returned string should be disposed of with gpr_free(). + The returned string should be disposed of with gpr_free(). WARNING: this value is never authenticated or subject to any security related code. It must not be used for any authentication related functionality. Instead, use grpc_auth_context. */ char *grpc_call_get_peer(grpc_call *call); +struct census_context; + +/* Set census context for a call; Must be called before first call to + grpc_call_start_batch(). */ +void grpc_census_call_set_context(grpc_call *call, + struct census_context *context); + +/* Retrieve the calls current census context. */ +struct census_context *grpc_census_call_get_context(grpc_call *call); + /** Return a newly allocated string representing the target a channel was created for. */ char *grpc_channel_get_target(grpc_channel *channel); @@ -489,7 +503,7 @@ grpc_call_error grpc_call_cancel_with_status(grpc_call *call, void grpc_call_destroy(grpc_call *call); /** Request notification of a new call. 'cq_for_notification' must - have been registered to the server via + have been registered to the server via grpc_server_register_completion_queue. */ grpc_call_error grpc_server_request_call( grpc_server *server, grpc_call **call, grpc_call_details *details, @@ -507,8 +521,8 @@ grpc_call_error grpc_server_request_call( void *grpc_server_register_method(grpc_server *server, const char *method, const char *host); -/** Request notification of a new pre-registered call. 'cq_for_notification' - must have been registered to the server via +/** Request notification of a new pre-registered call. 'cq_for_notification' + must have been registered to the server via grpc_server_register_completion_queue. */ grpc_call_error grpc_server_request_registered_call( grpc_server *server, void *registered_method, grpc_call **call, diff --git a/src/core/census/grpc_context.c b/src/core/census/grpc_context.c index 0ed63469b6..9af19d03f6 100644 --- a/src/core/census/grpc_context.c +++ b/src/core/census/grpc_context.c @@ -32,7 +32,8 @@ */ #include -#include "src/core/census/grpc_context.h" +#include +#include "src/core/surface/call.h" static void grpc_census_context_destroy(void *context) { census_context_destroy((census_context *)context); diff --git a/src/core/census/grpc_context.h b/src/core/census/grpc_context.h deleted file mode 100644 index 4637e7218e..0000000000 --- a/src/core/census/grpc_context.h +++ /dev/null @@ -1,57 +0,0 @@ -/* - * - * Copyright 2015, Google Inc. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are - * met: - * - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above - * copyright notice, this list of conditions and the following disclaimer - * in the documentation and/or other materials provided with the - * distribution. - * * Neither the name of Google Inc. nor the names of its - * contributors may be used to endorse or promote products derived from - * this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - */ - -/* GRPC <--> CENSUS context interface */ - -#ifndef CENSUS_GRPC_CONTEXT_H -#define CENSUS_GRPC_CONTEXT_H - -#include -#include "src/core/surface/call.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Set census context for the call; Must be called before first call to - grpc_call_start_batch(). */ -void grpc_census_call_set_context(grpc_call *call, census_context *context); - -/* Retrieve the calls current census context. */ -census_context *grpc_census_call_get_context(grpc_call *call); - -#ifdef __cplusplus -} -#endif - -#endif /* CENSUS_GRPC_CONTEXT_H */ diff --git a/src/core/surface/call.c b/src/core/surface/call.c index a1da822113..673f7fba36 100644 --- a/src/core/surface/call.c +++ b/src/core/surface/call.c @@ -40,7 +40,6 @@ #include #include -#include "src/core/census/grpc_context.h" #include "src/core/channel/channel_stack.h" #include "src/core/iomgr/alarm.h" #include "src/core/profiling/timers.h" @@ -348,7 +347,8 @@ grpc_call *grpc_call_create(grpc_channel *channel, grpc_completion_queue *cq, } grpc_call_stack_init(channel_stack, server_transport_data, initial_op_ptr, CALL_STACK_FROM_CALL(call)); - if (gpr_time_cmp(send_deadline, gpr_inf_future(send_deadline.clock_type)) != 0) { + if (gpr_time_cmp(send_deadline, gpr_inf_future(send_deadline.clock_type)) != + 0) { set_deadline_alarm(call, send_deadline); } return call; @@ -1283,8 +1283,9 @@ static void set_deadline_alarm(grpc_call *call, gpr_timespec deadline) { } GRPC_CALL_INTERNAL_REF(call, "alarm"); call->have_alarm = 1; - grpc_alarm_init(&call->alarm, gpr_convert_clock_type(deadline, GPR_CLOCK_MONOTONIC), call_alarm, call, - gpr_now(GPR_CLOCK_MONOTONIC)); + grpc_alarm_init(&call->alarm, + gpr_convert_clock_type(deadline, GPR_CLOCK_MONOTONIC), + call_alarm, call, gpr_now(GPR_CLOCK_MONOTONIC)); } /* we offset status by a small amount when storing it into transport metadata @@ -1319,15 +1320,17 @@ static gpr_uint32 decode_compression(grpc_mdelem *md) { grpc_compression_algorithm algorithm; void *user_data = grpc_mdelem_get_user_data(md, destroy_compression); if (user_data) { - algorithm = ((grpc_compression_level)(gpr_intptr)user_data) - COMPRESS_OFFSET; + algorithm = + ((grpc_compression_level)(gpr_intptr)user_data) - COMPRESS_OFFSET; } else { const char *md_c_str = grpc_mdstr_as_c_string(md->value); if (!grpc_compression_algorithm_parse(md_c_str, &algorithm)) { gpr_log(GPR_ERROR, "Invalid compression algorithm: '%s'", md_c_str); assert(0); } - grpc_mdelem_set_user_data(md, destroy_compression, - (void *)(gpr_intptr)(algorithm + COMPRESS_OFFSET)); + grpc_mdelem_set_user_data( + md, destroy_compression, + (void *)(gpr_intptr)(algorithm + COMPRESS_OFFSET)); } return algorithm; } diff --git a/src/cpp/client/channel.cc b/src/cpp/client/channel.cc index da31d000b3..668e437468 100644 --- a/src/cpp/client/channel.cc +++ b/src/cpp/client/channel.cc @@ -39,7 +39,6 @@ #include #include -#include "src/core/census/grpc_context.h" #include "src/core/profiling/timers.h" #include #include diff --git a/tools/doxygen/Doxyfile.core.internal b/tools/doxygen/Doxyfile.core.internal index 3e578c171b..82e19c7cd4 100644 --- a/tools/doxygen/Doxyfile.core.internal +++ b/tools/doxygen/Doxyfile.core.internal @@ -784,7 +784,6 @@ src/core/tsi/fake_transport_security.h \ src/core/tsi/ssl_transport_security.h \ src/core/tsi/transport_security.h \ src/core/tsi/transport_security_interface.h \ -src/core/census/grpc_context.h \ src/core/channel/census_filter.h \ src/core/channel/channel_args.h \ src/core/channel/channel_stack.h \ diff --git a/tools/run_tests/sources_and_headers.json b/tools/run_tests/sources_and_headers.json index 84c1099a2a..a6d2961731 100644 --- a/tools/run_tests/sources_and_headers.json +++ b/tools/run_tests/sources_and_headers.json @@ -9863,7 +9863,6 @@ "include/grpc/grpc_security.h", "include/grpc/status.h", "src/core/census/context.h", - "src/core/census/grpc_context.h", "src/core/census/rpc_stat_id.h", "src/core/channel/census_filter.h", "src/core/channel/channel_args.h", @@ -9991,7 +9990,6 @@ "src/core/census/context.c", "src/core/census/context.h", "src/core/census/grpc_context.c", - "src/core/census/grpc_context.h", "src/core/census/initialize.c", "src/core/census/record_stat.c", "src/core/census/rpc_stat_id.h", @@ -10328,7 +10326,6 @@ "include/grpc/grpc.h", "include/grpc/status.h", "src/core/census/context.h", - "src/core/census/grpc_context.h", "src/core/census/rpc_stat_id.h", "src/core/channel/census_filter.h", "src/core/channel/channel_args.h", @@ -10438,7 +10435,6 @@ "src/core/census/context.c", "src/core/census/context.h", "src/core/census/grpc_context.c", - "src/core/census/grpc_context.h", "src/core/census/initialize.c", "src/core/census/record_stat.c", "src/core/census/rpc_stat_id.h", diff --git a/vsprojects/grpc/grpc.vcxproj b/vsprojects/grpc/grpc.vcxproj index 744627e388..5cc707e6e5 100644 --- a/vsprojects/grpc/grpc.vcxproj +++ b/vsprojects/grpc/grpc.vcxproj @@ -173,7 +173,6 @@ - diff --git a/vsprojects/grpc/grpc.vcxproj.filters b/vsprojects/grpc/grpc.vcxproj.filters index 84a7823b2d..8b4fe32817 100644 --- a/vsprojects/grpc/grpc.vcxproj.filters +++ b/vsprojects/grpc/grpc.vcxproj.filters @@ -485,9 +485,6 @@ src\core\tsi - - src\core\census - src\core\channel diff --git a/vsprojects/grpc_unsecure/grpc_unsecure.vcxproj b/vsprojects/grpc_unsecure/grpc_unsecure.vcxproj index a5730235fb..ab9f380c06 100644 --- a/vsprojects/grpc_unsecure/grpc_unsecure.vcxproj +++ b/vsprojects/grpc_unsecure/grpc_unsecure.vcxproj @@ -154,7 +154,6 @@ - diff --git a/vsprojects/grpc_unsecure/grpc_unsecure.vcxproj.filters b/vsprojects/grpc_unsecure/grpc_unsecure.vcxproj.filters index c7790431df..55f230769f 100644 --- a/vsprojects/grpc_unsecure/grpc_unsecure.vcxproj.filters +++ b/vsprojects/grpc_unsecure/grpc_unsecure.vcxproj.filters @@ -362,9 +362,6 @@ - - src\core\census - src\core\channel -- cgit v1.2.3 From 297a25b0cf22bdc3a77f748c0d785095fa1fae1d Mon Sep 17 00:00:00 2001 From: yang-g Date: Mon, 3 Aug 2015 16:43:46 -0700 Subject: Add StubOptions --- BUILD | 2 + Makefile | 2 + build.json | 1 + include/grpc++/stub_options.h | 43 ++++++++++++++++++++++ src/compiler/cpp_generator.cc | 8 ++-- tools/doxygen/Doxyfile.c++ | 1 + tools/doxygen/Doxyfile.c++.internal | 1 + tools/run_tests/sources_and_headers.json | 4 ++ vsprojects/grpc++/grpc++.vcxproj | 1 + vsprojects/grpc++/grpc++.vcxproj.filters | 3 ++ vsprojects/grpc++_unsecure/grpc++_unsecure.vcxproj | 1 + .../grpc++_unsecure.vcxproj.filters | 3 ++ 12 files changed, 67 insertions(+), 3 deletions(-) create mode 100644 include/grpc++/stub_options.h (limited to 'tools/doxygen') diff --git a/BUILD b/BUILD index 9c170f1d5e..979ecdc577 100644 --- a/BUILD +++ b/BUILD @@ -725,6 +725,7 @@ cc_library( "include/grpc++/status.h", "include/grpc++/status_code_enum.h", "include/grpc++/stream.h", + "include/grpc++/stub_options.h", "include/grpc++/thread_pool_interface.h", "include/grpc++/time.h", ], @@ -812,6 +813,7 @@ cc_library( "include/grpc++/status.h", "include/grpc++/status_code_enum.h", "include/grpc++/stream.h", + "include/grpc++/stub_options.h", "include/grpc++/thread_pool_interface.h", "include/grpc++/time.h", ], diff --git a/Makefile b/Makefile index 8a38a689f9..09ce11c986 100644 --- a/Makefile +++ b/Makefile @@ -4223,6 +4223,7 @@ PUBLIC_HEADERS_CXX += \ include/grpc++/status.h \ include/grpc++/status_code_enum.h \ include/grpc++/stream.h \ + include/grpc++/stub_options.h \ include/grpc++/thread_pool_interface.h \ include/grpc++/time.h \ @@ -4466,6 +4467,7 @@ PUBLIC_HEADERS_CXX += \ include/grpc++/status.h \ include/grpc++/status_code_enum.h \ include/grpc++/stream.h \ + include/grpc++/stub_options.h \ include/grpc++/thread_pool_interface.h \ include/grpc++/time.h \ diff --git a/build.json b/build.json index deb8640422..6f40db86e4 100644 --- a/build.json +++ b/build.json @@ -69,6 +69,7 @@ "include/grpc++/status.h", "include/grpc++/status_code_enum.h", "include/grpc++/stream.h", + "include/grpc++/stub_options.h", "include/grpc++/thread_pool_interface.h", "include/grpc++/time.h" ], diff --git a/include/grpc++/stub_options.h b/include/grpc++/stub_options.h new file mode 100644 index 0000000000..c7c16dcd55 --- /dev/null +++ b/include/grpc++/stub_options.h @@ -0,0 +1,43 @@ +/* + * + * Copyright 2015, Google Inc. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are + * met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following disclaimer + * in the documentation and/or other materials provided with the + * distribution. + * * Neither the name of Google Inc. nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + */ + +#ifndef GRPCXX_STUB_OPTIONS_H +#define GRPCXX_STUB_OPTIONS_H + +namespace grpc { + +class StubOptions {}; + +} // namespace grpc + +#endif // GRPCXX_STUB_OPTIONS_H diff --git a/src/compiler/cpp_generator.cc b/src/compiler/cpp_generator.cc index 75659947df..ea487bcd89 100644 --- a/src/compiler/cpp_generator.cc +++ b/src/compiler/cpp_generator.cc @@ -119,6 +119,7 @@ grpc::string GetHeaderIncludes(const grpc::protobuf::FileDescriptor *file, "#include \n" "#include \n" "#include \n" + "#include \n" "\n" "namespace grpc {\n" "class CompletionQueue;\n" @@ -574,8 +575,8 @@ void PrintHeaderService(grpc::protobuf::io::Printer *printer, printer->Print("};\n"); printer->Print( "static std::unique_ptr NewStub(const std::shared_ptr< " - "::grpc::ChannelInterface>& " - "channel);\n"); + "::grpc::ChannelInterface>& channel, " + "const ::grpc::StubOptions& options = ::grpc::StubOptions());\n"); printer->Print("\n"); @@ -966,7 +967,8 @@ void PrintSourceService(grpc::protobuf::io::Printer *printer, printer->Print( *vars, "std::unique_ptr< $ns$$Service$::Stub> $ns$$Service$::NewStub(" - "const std::shared_ptr< ::grpc::ChannelInterface>& channel) {\n" + "const std::shared_ptr< ::grpc::ChannelInterface>& channel, " + "const ::grpc::StubOptions& options) {\n" " std::unique_ptr< $ns$$Service$::Stub> stub(new " "$ns$$Service$::Stub(channel));\n" " return stub;\n" diff --git a/tools/doxygen/Doxyfile.c++ b/tools/doxygen/Doxyfile.c++ index 785779beb5..48bbc59a1c 100644 --- a/tools/doxygen/Doxyfile.c++ +++ b/tools/doxygen/Doxyfile.c++ @@ -799,6 +799,7 @@ include/grpc++/slice.h \ include/grpc++/status.h \ include/grpc++/status_code_enum.h \ include/grpc++/stream.h \ +include/grpc++/stub_options.h \ include/grpc++/thread_pool_interface.h \ include/grpc++/time.h diff --git a/tools/doxygen/Doxyfile.c++.internal b/tools/doxygen/Doxyfile.c++.internal index 5cf6168388..ee76ae3f0e 100644 --- a/tools/doxygen/Doxyfile.c++.internal +++ b/tools/doxygen/Doxyfile.c++.internal @@ -799,6 +799,7 @@ include/grpc++/slice.h \ include/grpc++/status.h \ include/grpc++/status_code_enum.h \ include/grpc++/stream.h \ +include/grpc++/stub_options.h \ include/grpc++/thread_pool_interface.h \ include/grpc++/time.h \ src/cpp/client/secure_credentials.h \ diff --git a/tools/run_tests/sources_and_headers.json b/tools/run_tests/sources_and_headers.json index d2cf07f197..c72008f6c5 100644 --- a/tools/run_tests/sources_and_headers.json +++ b/tools/run_tests/sources_and_headers.json @@ -11766,6 +11766,7 @@ "include/grpc++/status.h", "include/grpc++/status_code_enum.h", "include/grpc++/stream.h", + "include/grpc++/stub_options.h", "include/grpc++/thread_pool_interface.h", "include/grpc++/time.h", "src/cpp/client/channel.h", @@ -11816,6 +11817,7 @@ "include/grpc++/status.h", "include/grpc++/status_code_enum.h", "include/grpc++/stream.h", + "include/grpc++/stub_options.h", "include/grpc++/thread_pool_interface.h", "include/grpc++/time.h", "src/cpp/client/channel.cc", @@ -11940,6 +11942,7 @@ "include/grpc++/status.h", "include/grpc++/status_code_enum.h", "include/grpc++/stream.h", + "include/grpc++/stub_options.h", "include/grpc++/thread_pool_interface.h", "include/grpc++/time.h", "src/cpp/client/channel.h", @@ -11987,6 +11990,7 @@ "include/grpc++/status.h", "include/grpc++/status_code_enum.h", "include/grpc++/stream.h", + "include/grpc++/stub_options.h", "include/grpc++/thread_pool_interface.h", "include/grpc++/time.h", "src/cpp/client/channel.cc", diff --git a/vsprojects/grpc++/grpc++.vcxproj b/vsprojects/grpc++/grpc++.vcxproj index 7587cfed77..58474511fc 100644 --- a/vsprojects/grpc++/grpc++.vcxproj +++ b/vsprojects/grpc++/grpc++.vcxproj @@ -252,6 +252,7 @@ + diff --git a/vsprojects/grpc++/grpc++.vcxproj.filters b/vsprojects/grpc++/grpc++.vcxproj.filters index 85b743a8fb..2a8ee08b08 100644 --- a/vsprojects/grpc++/grpc++.vcxproj.filters +++ b/vsprojects/grpc++/grpc++.vcxproj.filters @@ -213,6 +213,9 @@ include\grpc++ + + include\grpc++ + include\grpc++ diff --git a/vsprojects/grpc++_unsecure/grpc++_unsecure.vcxproj b/vsprojects/grpc++_unsecure/grpc++_unsecure.vcxproj index ea1f747e6b..0d989c4a93 100644 --- a/vsprojects/grpc++_unsecure/grpc++_unsecure.vcxproj +++ b/vsprojects/grpc++_unsecure/grpc++_unsecure.vcxproj @@ -252,6 +252,7 @@ + diff --git a/vsprojects/grpc++_unsecure/grpc++_unsecure.vcxproj.filters b/vsprojects/grpc++_unsecure/grpc++_unsecure.vcxproj.filters index 7f109a2557..71d42e5c6d 100644 --- a/vsprojects/grpc++_unsecure/grpc++_unsecure.vcxproj.filters +++ b/vsprojects/grpc++_unsecure/grpc++_unsecure.vcxproj.filters @@ -198,6 +198,9 @@ include\grpc++ + + include\grpc++ + include\grpc++ -- cgit v1.2.3 From f53d9c8d0d7264d9f2f591153670dddf92d9b4a6 Mon Sep 17 00:00:00 2001 From: Craig Tiller Date: Tue, 4 Aug 2015 14:19:43 -0700 Subject: Testing port server run_tests.py will start a server (if it's not running, or if the running port server mismatches the 'current' one) that serves ports to use for tests. The server is left running after run_tests.py finishes, so that in environments such as Mac and Windows where tests run unshielded from each other, we don't start jumping on already used ports. --- BUILD | 32 ++++--- Makefile | 12 +-- build.json | 13 ++- gRPC.podspec | 20 ++-- src/core/httpcli/httpcli.c | 71 ++++++-------- src/core/httpcli/httpcli.h | 14 ++- src/core/httpcli/httpcli_security_connector.c | 49 +++++++++- src/core/httpcli/httpcli_security_connector.h | 43 --------- src/core/security/credentials.c | 4 +- src/core/security/jwt_verifier.c | 4 +- test/core/httpcli/httpcli_test.c | 4 +- test/core/security/credentials_test.c | 6 +- test/core/security/jwt_verifier_test.c | 10 +- test/core/util/port_posix.c | 66 +++++++++++++ tools/doxygen/Doxyfile.core.internal | 13 ++- tools/run_tests/jobset.py | 28 +++--- tools/run_tests/port_server.py | 105 +++++++++++++++++++++ tools/run_tests/run_tests.py | 46 ++++++++- tools/run_tests/sources_and_headers.json | 11 ++- vsprojects/grpc/grpc.vcxproj | 19 ++-- vsprojects/grpc/grpc.vcxproj.filters | 39 ++++---- vsprojects/grpc_unsecure/grpc_unsecure.vcxproj | 9 ++ .../grpc_unsecure/grpc_unsecure.vcxproj.filters | 21 +++++ 23 files changed, 442 insertions(+), 197 deletions(-) delete mode 100644 src/core/httpcli/httpcli_security_connector.h create mode 100755 tools/run_tests/port_server.py (limited to 'tools/doxygen') diff --git a/BUILD b/BUILD index 9c170f1d5e..8672d7f942 100644 --- a/BUILD +++ b/BUILD @@ -132,10 +132,6 @@ cc_library( cc_library( name = "grpc", srcs = [ - "src/core/httpcli/format_request.h", - "src/core/httpcli/httpcli.h", - "src/core/httpcli/httpcli_security_connector.h", - "src/core/httpcli/parser.h", "src/core/security/auth_filters.h", "src/core/security/base64.h", "src/core/security/credentials.h", @@ -175,6 +171,9 @@ cc_library( "src/core/client_config/uri_parser.h", "src/core/compression/message_compress.h", "src/core/debug/trace.h", + "src/core/httpcli/format_request.h", + "src/core/httpcli/httpcli.h", + "src/core/httpcli/parser.h", "src/core/iomgr/alarm.h", "src/core/iomgr/alarm_heap.h", "src/core/iomgr/alarm_internal.h", @@ -248,10 +247,7 @@ cc_library( "src/core/transport/transport_impl.h", "src/core/census/context.h", "src/core/census/rpc_stat_id.h", - "src/core/httpcli/format_request.c", - "src/core/httpcli/httpcli.c", "src/core/httpcli/httpcli_security_connector.c", - "src/core/httpcli/parser.c", "src/core/security/base64.c", "src/core/security/client_auth_filter.c", "src/core/security/credentials.c", @@ -298,6 +294,9 @@ cc_library( "src/core/compression/algorithm.c", "src/core/compression/message_compress.c", "src/core/debug/trace.c", + "src/core/httpcli/format_request.c", + "src/core/httpcli/httpcli.c", + "src/core/httpcli/parser.c", "src/core/iomgr/alarm.c", "src/core/iomgr/alarm_heap.c", "src/core/iomgr/endpoint.c", @@ -437,6 +436,9 @@ cc_library( "src/core/client_config/uri_parser.h", "src/core/compression/message_compress.h", "src/core/debug/trace.h", + "src/core/httpcli/format_request.h", + "src/core/httpcli/httpcli.h", + "src/core/httpcli/parser.h", "src/core/iomgr/alarm.h", "src/core/iomgr/alarm_heap.h", "src/core/iomgr/alarm_internal.h", @@ -537,6 +539,9 @@ cc_library( "src/core/compression/algorithm.c", "src/core/compression/message_compress.c", "src/core/debug/trace.c", + "src/core/httpcli/format_request.c", + "src/core/httpcli/httpcli.c", + "src/core/httpcli/parser.c", "src/core/iomgr/alarm.c", "src/core/iomgr/alarm_heap.c", "src/core/iomgr/endpoint.c", @@ -973,10 +978,7 @@ objc_library( objc_library( name = "grpc_objc", srcs = [ - "src/core/httpcli/format_request.c", - "src/core/httpcli/httpcli.c", "src/core/httpcli/httpcli_security_connector.c", - "src/core/httpcli/parser.c", "src/core/security/base64.c", "src/core/security/client_auth_filter.c", "src/core/security/credentials.c", @@ -1023,6 +1025,9 @@ objc_library( "src/core/compression/algorithm.c", "src/core/compression/message_compress.c", "src/core/debug/trace.c", + "src/core/httpcli/format_request.c", + "src/core/httpcli/httpcli.c", + "src/core/httpcli/parser.c", "src/core/iomgr/alarm.c", "src/core/iomgr/alarm_heap.c", "src/core/iomgr/endpoint.c", @@ -1121,10 +1126,6 @@ objc_library( "include/grpc/grpc.h", "include/grpc/status.h", "include/grpc/census.h", - "src/core/httpcli/format_request.h", - "src/core/httpcli/httpcli.h", - "src/core/httpcli/httpcli_security_connector.h", - "src/core/httpcli/parser.h", "src/core/security/auth_filters.h", "src/core/security/base64.h", "src/core/security/credentials.h", @@ -1164,6 +1165,9 @@ objc_library( "src/core/client_config/uri_parser.h", "src/core/compression/message_compress.h", "src/core/debug/trace.h", + "src/core/httpcli/format_request.h", + "src/core/httpcli/httpcli.h", + "src/core/httpcli/parser.h", "src/core/iomgr/alarm.h", "src/core/iomgr/alarm_heap.h", "src/core/iomgr/alarm_internal.h", diff --git a/Makefile b/Makefile index 8a38a689f9..0042ffa056 100644 --- a/Makefile +++ b/Makefile @@ -3698,10 +3698,7 @@ endif LIBGRPC_SRC = \ - src/core/httpcli/format_request.c \ - src/core/httpcli/httpcli.c \ src/core/httpcli/httpcli_security_connector.c \ - src/core/httpcli/parser.c \ src/core/security/base64.c \ src/core/security/client_auth_filter.c \ src/core/security/credentials.c \ @@ -3748,6 +3745,9 @@ LIBGRPC_SRC = \ src/core/compression/algorithm.c \ src/core/compression/message_compress.c \ src/core/debug/trace.c \ + src/core/httpcli/format_request.c \ + src/core/httpcli/httpcli.c \ + src/core/httpcli/parser.c \ src/core/iomgr/alarm.c \ src/core/iomgr/alarm_heap.c \ src/core/iomgr/endpoint.c \ @@ -4016,6 +4016,9 @@ LIBGRPC_UNSECURE_SRC = \ src/core/compression/algorithm.c \ src/core/compression/message_compress.c \ src/core/debug/trace.c \ + src/core/httpcli/format_request.c \ + src/core/httpcli/httpcli.c \ + src/core/httpcli/parser.c \ src/core/iomgr/alarm.c \ src/core/iomgr/alarm_heap.c \ src/core/iomgr/endpoint.c \ @@ -18680,10 +18683,7 @@ ifneq ($(OPENSSL_DEP),) # This is to ensure the embedded OpenSSL is built beforehand, properly # installing headers to their final destination on the drive. We need this # otherwise parallel compilation will fail if a source is compiled first. -src/core/httpcli/format_request.c: $(OPENSSL_DEP) -src/core/httpcli/httpcli.c: $(OPENSSL_DEP) src/core/httpcli/httpcli_security_connector.c: $(OPENSSL_DEP) -src/core/httpcli/parser.c: $(OPENSSL_DEP) src/core/security/base64.c: $(OPENSSL_DEP) src/core/security/client_auth_filter.c: $(OPENSSL_DEP) src/core/security/credentials.c: $(OPENSSL_DEP) diff --git a/build.json b/build.json index deb8640422..d1405054ad 100644 --- a/build.json +++ b/build.json @@ -140,6 +140,9 @@ "src/core/client_config/uri_parser.h", "src/core/compression/message_compress.h", "src/core/debug/trace.h", + "src/core/httpcli/format_request.h", + "src/core/httpcli/httpcli.h", + "src/core/httpcli/parser.h", "src/core/iomgr/alarm.h", "src/core/iomgr/alarm_heap.h", "src/core/iomgr/alarm_internal.h", @@ -239,6 +242,9 @@ "src/core/compression/algorithm.c", "src/core/compression/message_compress.c", "src/core/debug/trace.c", + "src/core/httpcli/format_request.c", + "src/core/httpcli/httpcli.c", + "src/core/httpcli/parser.c", "src/core/iomgr/alarm.c", "src/core/iomgr/alarm_heap.c", "src/core/iomgr/endpoint.c", @@ -461,10 +467,6 @@ "include/grpc/grpc_security.h" ], "headers": [ - "src/core/httpcli/format_request.h", - "src/core/httpcli/httpcli.h", - "src/core/httpcli/httpcli_security_connector.h", - "src/core/httpcli/parser.h", "src/core/security/auth_filters.h", "src/core/security/base64.h", "src/core/security/credentials.h", @@ -480,10 +482,7 @@ "src/core/tsi/transport_security_interface.h" ], "src": [ - "src/core/httpcli/format_request.c", - "src/core/httpcli/httpcli.c", "src/core/httpcli/httpcli_security_connector.c", - "src/core/httpcli/parser.c", "src/core/security/base64.c", "src/core/security/client_auth_filter.c", "src/core/security/credentials.c", diff --git a/gRPC.podspec b/gRPC.podspec index 632f1ad4e4..31c8ee4074 100644 --- a/gRPC.podspec +++ b/gRPC.podspec @@ -134,10 +134,6 @@ Pod::Spec.new do |s| 'src/core/support/time_posix.c', 'src/core/support/time_win32.c', 'src/core/support/tls_pthread.c', - 'src/core/httpcli/format_request.h', - 'src/core/httpcli/httpcli.h', - 'src/core/httpcli/httpcli_security_connector.h', - 'src/core/httpcli/parser.h', 'src/core/security/auth_filters.h', 'src/core/security/base64.h', 'src/core/security/credentials.h', @@ -177,6 +173,9 @@ Pod::Spec.new do |s| 'src/core/client_config/uri_parser.h', 'src/core/compression/message_compress.h', 'src/core/debug/trace.h', + 'src/core/httpcli/format_request.h', + 'src/core/httpcli/httpcli.h', + 'src/core/httpcli/parser.h', 'src/core/iomgr/alarm.h', 'src/core/iomgr/alarm_heap.h', 'src/core/iomgr/alarm_internal.h', @@ -257,10 +256,7 @@ Pod::Spec.new do |s| 'grpc/grpc.h', 'grpc/status.h', 'grpc/census.h', - 'src/core/httpcli/format_request.c', - 'src/core/httpcli/httpcli.c', 'src/core/httpcli/httpcli_security_connector.c', - 'src/core/httpcli/parser.c', 'src/core/security/base64.c', 'src/core/security/client_auth_filter.c', 'src/core/security/credentials.c', @@ -307,6 +303,9 @@ Pod::Spec.new do |s| 'src/core/compression/algorithm.c', 'src/core/compression/message_compress.c', 'src/core/debug/trace.c', + 'src/core/httpcli/format_request.c', + 'src/core/httpcli/httpcli.c', + 'src/core/httpcli/parser.c', 'src/core/iomgr/alarm.c', 'src/core/iomgr/alarm_heap.c', 'src/core/iomgr/endpoint.c', @@ -404,10 +403,6 @@ Pod::Spec.new do |s| 'src/core/support/string.h', 'src/core/support/string_win32.h', 'src/core/support/thd_internal.h', - 'src/core/httpcli/format_request.h', - 'src/core/httpcli/httpcli.h', - 'src/core/httpcli/httpcli_security_connector.h', - 'src/core/httpcli/parser.h', 'src/core/security/auth_filters.h', 'src/core/security/base64.h', 'src/core/security/credentials.h', @@ -447,6 +442,9 @@ Pod::Spec.new do |s| 'src/core/client_config/uri_parser.h', 'src/core/compression/message_compress.h', 'src/core/debug/trace.h', + 'src/core/httpcli/format_request.h', + 'src/core/httpcli/httpcli.h', + 'src/core/httpcli/parser.h', 'src/core/iomgr/alarm.h', 'src/core/iomgr/alarm_heap.h', 'src/core/iomgr/alarm_internal.h', diff --git a/src/core/httpcli/httpcli.c b/src/core/httpcli/httpcli.c index 65997d5f44..bf5cbfcfba 100644 --- a/src/core/httpcli/httpcli.c +++ b/src/core/httpcli/httpcli.c @@ -40,7 +40,6 @@ #include "src/core/iomgr/resolve_address.h" #include "src/core/iomgr/tcp_client.h" #include "src/core/httpcli/format_request.h" -#include "src/core/httpcli/httpcli_security_connector.h" #include "src/core/httpcli/parser.h" #include "src/core/security/secure_transport_setup.h" #include "src/core/support/string.h" @@ -57,7 +56,7 @@ typedef struct { char *host; gpr_timespec deadline; int have_read_byte; - int use_ssl; + const grpc_httpcli_handshaker *handshaker; grpc_httpcli_response_cb on_response; void *user_data; grpc_httpcli_context *context; @@ -68,6 +67,16 @@ typedef struct { static grpc_httpcli_get_override g_get_override = NULL; static grpc_httpcli_post_override g_post_override = NULL; +static void plaintext_handshake(void *arg, grpc_endpoint *endpoint, + const char *host, + void (*on_done)(void *arg, + grpc_endpoint *endpoint)) { + on_done(arg, endpoint); +} + +const grpc_httpcli_handshaker grpc_httpcli_plaintext = {"http", + plaintext_handshake}; + void grpc_httpcli_context_init(grpc_httpcli_context *context) { grpc_pollset_set_init(&context->pollset_set); } @@ -163,18 +172,16 @@ static void start_write(internal_request *req) { } } -static void on_secure_transport_setup_done(void *rp, - grpc_security_status status, - grpc_endpoint *wrapped_endpoint, - grpc_endpoint *secure_endpoint) { - internal_request *req = rp; - if (status != GRPC_SECURITY_OK) { - gpr_log(GPR_ERROR, "Secure transport setup failed with error %d.", status); - finish(req, 0); - } else { - req->ep = secure_endpoint; - start_write(req); +static void on_handshake_done(void *arg, grpc_endpoint *ep) { + internal_request *req = arg; + + if (!ep) { + next_address(req); + return; } + + req->ep = ep; + start_write(req); } static void on_connected(void *arg, grpc_endpoint *tcp) { @@ -184,25 +191,7 @@ static void on_connected(void *arg, grpc_endpoint *tcp) { next_address(req); return; } - req->ep = tcp; - if (req->use_ssl) { - grpc_channel_security_connector *sc = NULL; - const unsigned char *pem_root_certs = NULL; - size_t pem_root_certs_size = grpc_get_default_ssl_roots(&pem_root_certs); - if (pem_root_certs == NULL || pem_root_certs_size == 0) { - gpr_log(GPR_ERROR, "Could not get default pem root certs."); - finish(req, 0); - return; - } - GPR_ASSERT(grpc_httpcli_ssl_channel_security_connector_create( - pem_root_certs, pem_root_certs_size, req->host, &sc) == - GRPC_SECURITY_OK); - grpc_setup_secure_transport(&sc->base, tcp, on_secure_transport_setup_done, - req); - GRPC_SECURITY_CONNECTOR_UNREF(&sc->base, "httpcli"); - } else { - start_write(req); - } + req->handshaker->handshake(req, tcp, req->host, on_handshake_done); } static void next_address(internal_request *req) { @@ -245,18 +234,17 @@ void grpc_httpcli_get(grpc_httpcli_context *context, grpc_pollset *pollset, req->on_response = on_response; req->user_data = user_data; req->deadline = deadline; - req->use_ssl = request->use_ssl; + req->handshaker = + request->handshaker ? request->handshaker : &grpc_httpcli_plaintext; req->context = context; req->pollset = pollset; gpr_asprintf(&name, "HTTP:GET:%s:%s", request->host, request->path); grpc_iomgr_register_object(&req->iomgr_obj, name); gpr_free(name); - if (req->use_ssl) { - req->host = gpr_strdup(request->host); - } + req->host = gpr_strdup(request->host); grpc_pollset_set_add_pollset(&req->context->pollset_set, req->pollset); - grpc_resolve_address(request->host, req->use_ssl ? "https" : "http", + grpc_resolve_address(request->host, req->handshaker->default_port, on_resolved, req); } @@ -279,18 +267,17 @@ void grpc_httpcli_post(grpc_httpcli_context *context, grpc_pollset *pollset, req->on_response = on_response; req->user_data = user_data; req->deadline = deadline; - req->use_ssl = request->use_ssl; + req->handshaker = + request->handshaker ? request->handshaker : &grpc_httpcli_plaintext; req->context = context; req->pollset = pollset; gpr_asprintf(&name, "HTTP:GET:%s:%s", request->host, request->path); grpc_iomgr_register_object(&req->iomgr_obj, name); gpr_free(name); - if (req->use_ssl) { - req->host = gpr_strdup(request->host); - } + req->host = gpr_strdup(request->host); grpc_pollset_set_add_pollset(&req->context->pollset_set, req->pollset); - grpc_resolve_address(request->host, req->use_ssl ? "https" : "http", + grpc_resolve_address(request->host, req->handshaker->default_port, on_resolved, req); } diff --git a/src/core/httpcli/httpcli.h b/src/core/httpcli/httpcli.h index ab98178f8a..c45966714c 100644 --- a/src/core/httpcli/httpcli.h +++ b/src/core/httpcli/httpcli.h @@ -38,6 +38,7 @@ #include +#include "src/core/iomgr/endpoint.h" #include "src/core/iomgr/pollset_set.h" /* User agent this library reports */ @@ -58,6 +59,15 @@ typedef struct grpc_httpcli_context { grpc_pollset_set pollset_set; } grpc_httpcli_context; +typedef struct { + const char *default_port; + void (*handshake)(void *arg, grpc_endpoint *endpoint, const char *host, + void (*on_done)(void *arg, grpc_endpoint *endpoint)); +} grpc_httpcli_handshaker; + +extern const grpc_httpcli_handshaker grpc_httpcli_plaintext; +extern const grpc_httpcli_handshaker grpc_httpcli_ssl; + /* A request */ typedef struct grpc_httpcli_request { /* The host name to connect to */ @@ -69,8 +79,8 @@ typedef struct grpc_httpcli_request { Host, Connection, User-Agent */ size_t hdr_count; grpc_httpcli_header *hdrs; - /* whether to use ssl for the request */ - int use_ssl; + /* handshaker to use ssl for the request */ + const grpc_httpcli_handshaker *handshaker; } grpc_httpcli_request; /* A response */ diff --git a/src/core/httpcli/httpcli_security_connector.c b/src/core/httpcli/httpcli_security_connector.c index ce0d3d5a70..7887f9d530 100644 --- a/src/core/httpcli/httpcli_security_connector.c +++ b/src/core/httpcli/httpcli_security_connector.c @@ -31,7 +31,7 @@ * */ -#include "src/core/httpcli/httpcli_security_connector.h" +#include "src/core/httpcli/httpcli.h" #include @@ -96,7 +96,7 @@ static grpc_security_status httpcli_ssl_check_peer(grpc_security_connector *sc, static grpc_security_connector_vtable httpcli_ssl_vtable = { httpcli_ssl_destroy, httpcli_ssl_create_handshaker, httpcli_ssl_check_peer}; -grpc_security_status grpc_httpcli_ssl_channel_security_connector_create( +static grpc_security_status httpcli_ssl_channel_security_connector_create( const unsigned char *pem_root_certs, size_t pem_root_certs_size, const char *secure_peer_name, grpc_channel_security_connector **sc) { tsi_result result = TSI_OK; @@ -130,3 +130,48 @@ grpc_security_status grpc_httpcli_ssl_channel_security_connector_create( *sc = &c->base; return GRPC_SECURITY_OK; } + +/* handshaker */ + +typedef struct { + void (*func)(void *arg, grpc_endpoint *endpoint); + void *arg; +} on_done_closure; + +static void on_secure_transport_setup_done(void *rp, + grpc_security_status status, + grpc_endpoint *wrapped_endpoint, + grpc_endpoint *secure_endpoint) { + on_done_closure *c = rp; + if (status != GRPC_SECURITY_OK) { + gpr_log(GPR_ERROR, "Secure transport setup failed with error %d.", status); + c->func(c->arg, NULL); + } else { + c->func(c->arg, secure_endpoint); + } + gpr_free(c); +} + +static void ssl_handshake(void *arg, grpc_endpoint *tcp, const char *host, + void (*on_done)(void *arg, grpc_endpoint *endpoint)) { + grpc_channel_security_connector *sc = NULL; + const unsigned char *pem_root_certs = NULL; + on_done_closure *c = gpr_malloc(sizeof(*c)); + size_t pem_root_certs_size = grpc_get_default_ssl_roots(&pem_root_certs); + if (pem_root_certs == NULL || pem_root_certs_size == 0) { + gpr_log(GPR_ERROR, "Could not get default pem root certs."); + on_done(arg, NULL); + gpr_free(c); + return; + } + c->func = on_done; + c->arg = arg; + GPR_ASSERT(httpcli_ssl_channel_security_connector_create( + pem_root_certs, pem_root_certs_size, host, &sc) == + GRPC_SECURITY_OK); + grpc_setup_secure_transport(&sc->base, tcp, on_secure_transport_setup_done, + c); + GRPC_SECURITY_CONNECTOR_UNREF(&sc->base, "httpcli"); +} + +const grpc_httpcli_handshaker grpc_httpcli_ssl = {"https", ssl_handshake}; diff --git a/src/core/httpcli/httpcli_security_connector.h b/src/core/httpcli/httpcli_security_connector.h deleted file mode 100644 index c50f25905e..0000000000 --- a/src/core/httpcli/httpcli_security_connector.h +++ /dev/null @@ -1,43 +0,0 @@ -/* - * - * Copyright 2015, Google Inc. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are - * met: - * - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above - * copyright notice, this list of conditions and the following disclaimer - * in the documentation and/or other materials provided with the - * distribution. - * * Neither the name of Google Inc. nor the names of its - * contributors may be used to endorse or promote products derived from - * this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - */ - -#ifndef GRPC_INTERNAL_CORE_HTTPCLI_HTTPCLI_SECURITY_CONNECTOR_H -#define GRPC_INTERNAL_CORE_HTTPCLI_HTTPCLI_SECURITY_CONNECTOR_H - -#include "src/core/security/security_connector.h" - -grpc_security_status grpc_httpcli_ssl_channel_security_connector_create( - const unsigned char *pem_root_certs, size_t pem_root_certs_size, - const char *secure_peer_name, grpc_channel_security_connector **sc); - -#endif /* GRPC_INTERNAL_CORE_HTTPCLI_HTTPCLI_SECURITY_CONNECTOR_H */ diff --git a/src/core/security/credentials.c b/src/core/security/credentials.c index 15268cefbe..c45b5c065d 100644 --- a/src/core/security/credentials.c +++ b/src/core/security/credentials.c @@ -679,7 +679,7 @@ static void service_account_fetch_oauth2( request.path = GRPC_GOOGLE_OAUTH2_SERVICE_TOKEN_PATH; request.hdr_count = 1; request.hdrs = &header; - request.use_ssl = 1; + request.handshaker = &grpc_httpcli_ssl; grpc_httpcli_post(httpcli_context, pollset, &request, body, strlen(body), deadline, response_cb, metadata_req); gpr_free(body); @@ -738,7 +738,7 @@ static void refresh_token_fetch_oauth2( request.path = GRPC_GOOGLE_OAUTH2_SERVICE_TOKEN_PATH; request.hdr_count = 1; request.hdrs = &header; - request.use_ssl = 1; + request.handshaker = &grpc_httpcli_ssl; grpc_httpcli_post(httpcli_context, pollset, &request, body, strlen(body), deadline, response_cb, metadata_req); gpr_free(body); diff --git a/src/core/security/jwt_verifier.c b/src/core/security/jwt_verifier.c index 1276693da7..38ad134a6a 100644 --- a/src/core/security/jwt_verifier.c +++ b/src/core/security/jwt_verifier.c @@ -628,7 +628,7 @@ static void on_openid_config_retrieved(void *user_data, goto error; } jwks_uri += 8; - req.use_ssl = 1; + req.handshaker = &grpc_httpcli_ssl; req.host = gpr_strdup(jwks_uri); req.path = strchr(jwks_uri, '/'); if (req.path == NULL) { @@ -685,7 +685,7 @@ static void retrieve_key_and_verify(verifier_cb_ctx *ctx) { const char *iss; grpc_httpcli_request req; memset(&req, 0, sizeof(grpc_httpcli_request)); - req.use_ssl = 1; + req.handshaker = &grpc_httpcli_ssl; GPR_ASSERT(ctx != NULL && ctx->header != NULL && ctx->claims != NULL); iss = ctx->claims->iss; diff --git a/test/core/httpcli/httpcli_test.c b/test/core/httpcli/httpcli_test.c index 4801eb3e39..034501ee69 100644 --- a/test/core/httpcli/httpcli_test.c +++ b/test/core/httpcli/httpcli_test.c @@ -81,7 +81,7 @@ static void test_get(int use_ssl, int port) { memset(&req, 0, sizeof(req)); req.host = host; req.path = "/get"; - req.use_ssl = use_ssl; + req.handshaker = use_ssl ? &grpc_httpcli_ssl : &grpc_httpcli_plaintext; grpc_httpcli_get(&g_context, &g_pollset, &req, n_seconds_time(15), on_finish, (void *)42); @@ -106,7 +106,7 @@ static void test_post(int use_ssl, int port) { memset(&req, 0, sizeof(req)); req.host = host; req.path = "/post"; - req.use_ssl = use_ssl; + req.handshaker = use_ssl ? &grpc_httpcli_ssl : &grpc_httpcli_plaintext; grpc_httpcli_post(&g_context, &g_pollset, &req, "hello", 5, n_seconds_time(15), on_finish, (void *)42); diff --git a/test/core/security/credentials_test.c b/test/core/security/credentials_test.c index dd6e0d7bb3..a0c9445f19 100644 --- a/test/core/security/credentials_test.c +++ b/test/core/security/credentials_test.c @@ -477,7 +477,7 @@ static void on_oauth2_creds_get_metadata_failure( static void validate_compute_engine_http_request( const grpc_httpcli_request *request) { - GPR_ASSERT(!request->use_ssl); + GPR_ASSERT(request->handshaker != &grpc_httpcli_ssl); GPR_ASSERT(strcmp(request->host, "metadata") == 0); GPR_ASSERT( strcmp(request->path, @@ -573,7 +573,7 @@ static void validate_refresh_token_http_request( GPR_ASSERT(strlen(expected_body) == body_size); GPR_ASSERT(memcmp(expected_body, body, body_size) == 0); gpr_free(expected_body); - GPR_ASSERT(request->use_ssl); + GPR_ASSERT(request->handshaker == &grpc_httpcli_ssl); GPR_ASSERT(strcmp(request->host, GRPC_GOOGLE_OAUTH2_SERVICE_HOST) == 0); GPR_ASSERT(strcmp(request->path, GRPC_GOOGLE_OAUTH2_SERVICE_TOKEN_PATH) == 0); GPR_ASSERT(request->hdr_count == 1); @@ -697,7 +697,7 @@ static void validate_service_account_http_request( GPR_ASSERT(strlen(expected_body) == body_size); GPR_ASSERT(memcmp(expected_body, body, body_size) == 0); gpr_free(expected_body); - GPR_ASSERT(request->use_ssl); + GPR_ASSERT(request->handshaker == &grpc_httpcli_ssl); GPR_ASSERT(strcmp(request->host, GRPC_GOOGLE_OAUTH2_SERVICE_HOST) == 0); GPR_ASSERT(strcmp(request->path, GRPC_GOOGLE_OAUTH2_SERVICE_TOKEN_PATH) == 0); GPR_ASSERT(request->hdr_count == 1); diff --git a/test/core/security/jwt_verifier_test.c b/test/core/security/jwt_verifier_test.c index 98db56c0ef..440286ea1a 100644 --- a/test/core/security/jwt_verifier_test.c +++ b/test/core/security/jwt_verifier_test.c @@ -286,7 +286,7 @@ static int httpcli_get_google_keys_for_email( const grpc_httpcli_request *request, gpr_timespec deadline, grpc_httpcli_response_cb on_response, void *user_data) { grpc_httpcli_response response = http_response(200, good_google_email_keys()); - GPR_ASSERT(request->use_ssl); + GPR_ASSERT(request->handshaker == &grpc_httpcli_ssl); GPR_ASSERT(strcmp(request->host, "www.googleapis.com") == 0); GPR_ASSERT(strcmp(request->path, "/robot/v1/metadata/x509/" @@ -331,7 +331,7 @@ static int httpcli_get_custom_keys_for_email( const grpc_httpcli_request *request, gpr_timespec deadline, grpc_httpcli_response_cb on_response, void *user_data) { grpc_httpcli_response response = http_response(200, gpr_strdup(good_jwk_set)); - GPR_ASSERT(request->use_ssl); + GPR_ASSERT(request->handshaker == &grpc_httpcli_ssl); GPR_ASSERT(strcmp(request->host, "keys.bar.com") == 0); GPR_ASSERT(strcmp(request->path, "/jwk/foo@bar.com") == 0); on_response(user_data, &response); @@ -363,7 +363,7 @@ static int httpcli_get_jwk_set( const grpc_httpcli_request *request, gpr_timespec deadline, grpc_httpcli_response_cb on_response, void *user_data) { grpc_httpcli_response response = http_response(200, gpr_strdup(good_jwk_set)); - GPR_ASSERT(request->use_ssl); + GPR_ASSERT(request->handshaker == &grpc_httpcli_ssl); GPR_ASSERT(strcmp(request->host, "www.googleapis.com") == 0); GPR_ASSERT(strcmp(request->path, "/oauth2/v3/certs") == 0); on_response(user_data, &response); @@ -377,7 +377,7 @@ static int httpcli_get_openid_config(const grpc_httpcli_request *request, void *user_data) { grpc_httpcli_response response = http_response(200, gpr_strdup(good_openid_config)); - GPR_ASSERT(request->use_ssl); + GPR_ASSERT(request->handshaker == &grpc_httpcli_ssl); GPR_ASSERT(strcmp(request->host, "accounts.google.com") == 0); GPR_ASSERT(strcmp(request->path, GRPC_OPENID_CONFIG_URL_SUFFIX) == 0); grpc_httpcli_set_override(httpcli_get_jwk_set, @@ -421,7 +421,7 @@ static int httpcli_get_bad_json(const grpc_httpcli_request *request, void *user_data) { grpc_httpcli_response response = http_response(200, gpr_strdup("{\"bad\": \"stuff\"}")); - GPR_ASSERT(request->use_ssl); + GPR_ASSERT(request->handshaker == &grpc_httpcli_ssl); on_response(user_data, &response); gpr_free(response.body); return 1; diff --git a/test/core/util/port_posix.c b/test/core/util/port_posix.c index b07df391f9..715e458262 100644 --- a/test/core/util/port_posix.c +++ b/test/core/util/port_posix.c @@ -44,9 +44,13 @@ #include #include +#include #include #include +#include "src/core/httpcli/httpcli.h" +#include "src/core/support/env.h" + #define NUM_RANDOM_PORTS_TO_PICK 100 static int *chosen_ports = NULL; @@ -126,6 +130,59 @@ static int is_port_available(int *port, int is_tcp) { return 1; } +typedef struct portreq { + grpc_pollset pollset; + int port; +} portreq; + +static void got_port_from_server(void *arg, + const grpc_httpcli_response *response) { + size_t i; + int port = 0; + portreq *pr = arg; + GPR_ASSERT(response); + GPR_ASSERT(response->status == 200); + for (i = 0; i < response->body_length; i++) { + GPR_ASSERT(response->body[i] >= '0' && response->body[i] <= '9'); + port = port * 10 + response->body[i] - '0'; + } + GPR_ASSERT(port > 1024); + gpr_mu_lock(GRPC_POLLSET_MU(&pr->pollset)); + pr->port = port; + grpc_pollset_kick(&pr->pollset); + gpr_mu_unlock(GRPC_POLLSET_MU(&pr->pollset)); +} + +static int pick_port_using_server(char *server) { + grpc_httpcli_context context; + grpc_httpcli_request req; + portreq pr; + + grpc_init(); + + memset(&pr, 0, sizeof(pr)); + memset(&req, 0, sizeof(req)); + grpc_pollset_init(&pr.pollset); + pr.port = -1; + + req.host = server; + req.path = "/get"; + + grpc_httpcli_context_init(&context); + grpc_httpcli_get(&context, &pr.pollset, &req, + GRPC_TIMEOUT_SECONDS_TO_DEADLINE(10), got_port_from_server, + &pr); + gpr_mu_lock(GRPC_POLLSET_MU(&pr.pollset)); + while (pr.port == -1) { + grpc_pollset_work(&pr.pollset, GRPC_TIMEOUT_SECONDS_TO_DEADLINE(1)); + } + gpr_mu_unlock(GRPC_POLLSET_MU(&pr.pollset)); + + grpc_shutdown(); + + return pr.port; +} + int grpc_pick_unused_port(void) { /* We repeatedly pick a port and then see whether or not it is available for use both as a TCP socket and a UDP socket. First, we @@ -143,6 +200,15 @@ int grpc_pick_unused_port(void) { int is_tcp = 1; int try = 0; + char *env = gpr_getenv("GRPC_TEST_PORT_SERVER"); + if (env) { + int port = pick_port_using_server(env); + gpr_free(env); + if (port != 0) { + return port; + } + } + for (;;) { int port; try++; diff --git a/tools/doxygen/Doxyfile.core.internal b/tools/doxygen/Doxyfile.core.internal index cce0b6fed0..abe1f72d36 100644 --- a/tools/doxygen/Doxyfile.core.internal +++ b/tools/doxygen/Doxyfile.core.internal @@ -767,10 +767,6 @@ include/grpc/compression.h \ include/grpc/grpc.h \ include/grpc/status.h \ include/grpc/census.h \ -src/core/httpcli/format_request.h \ -src/core/httpcli/httpcli.h \ -src/core/httpcli/httpcli_security_connector.h \ -src/core/httpcli/parser.h \ src/core/security/auth_filters.h \ src/core/security/base64.h \ src/core/security/credentials.h \ @@ -810,6 +806,9 @@ src/core/client_config/subchannel_factory_decorators/merge_channel_args.h \ src/core/client_config/uri_parser.h \ src/core/compression/message_compress.h \ src/core/debug/trace.h \ +src/core/httpcli/format_request.h \ +src/core/httpcli/httpcli.h \ +src/core/httpcli/parser.h \ src/core/iomgr/alarm.h \ src/core/iomgr/alarm_heap.h \ src/core/iomgr/alarm_internal.h \ @@ -883,10 +882,7 @@ src/core/transport/transport.h \ src/core/transport/transport_impl.h \ src/core/census/context.h \ src/core/census/rpc_stat_id.h \ -src/core/httpcli/format_request.c \ -src/core/httpcli/httpcli.c \ src/core/httpcli/httpcli_security_connector.c \ -src/core/httpcli/parser.c \ src/core/security/base64.c \ src/core/security/client_auth_filter.c \ src/core/security/credentials.c \ @@ -933,6 +929,9 @@ src/core/client_config/uri_parser.c \ src/core/compression/algorithm.c \ src/core/compression/message_compress.c \ src/core/debug/trace.c \ +src/core/httpcli/format_request.c \ +src/core/httpcli/httpcli.c \ +src/core/httpcli/parser.c \ src/core/iomgr/alarm.c \ src/core/iomgr/alarm_heap.c \ src/core/iomgr/endpoint.c \ diff --git a/tools/run_tests/jobset.py b/tools/run_tests/jobset.py index ec25b47610..0318e357b8 100755 --- a/tools/run_tests/jobset.py +++ b/tools/run_tests/jobset.py @@ -162,13 +162,15 @@ class JobSpec(object): class Job(object): """Manages one job.""" - def __init__(self, spec, bin_hash, newline_on_success, travis, xml_report): + def __init__(self, spec, bin_hash, newline_on_success, travis, add_env, xml_report): self._spec = spec self._bin_hash = bin_hash self._tempfile = tempfile.TemporaryFile() env = os.environ.copy() for k, v in spec.environ.iteritems(): env[k] = v + for k, v in add_env.iteritems(): + env[k] = v self._start = time.time() self._process = subprocess.Popen(args=spec.cmdline, stderr=subprocess.STDOUT, @@ -227,7 +229,7 @@ class Jobset(object): """Manages one run of jobs.""" def __init__(self, check_cancelled, maxjobs, newline_on_success, travis, - stop_on_failure, cache, xml_report): + stop_on_failure, add_env, cache, xml_report): self._running = set() self._check_cancelled = check_cancelled self._cancelled = False @@ -240,6 +242,7 @@ class Jobset(object): self._stop_on_failure = stop_on_failure self._hashes = {} self._xml_report = xml_report + self._add_env = add_env def start(self, spec): """Start a job. Return True on success, False on failure.""" @@ -262,16 +265,12 @@ class Jobset(object): bin_hash = None should_run = True if should_run: - try: - self._running.add(Job(spec, - bin_hash, - self._newline_on_success, - self._travis, - self._xml_report)) - except: - message('FAILED', spec.shortname) - self._cancelled = True - return False + self._running.add(Job(spec, + bin_hash, + self._newline_on_success, + self._travis, + self._add_env, + self._xml_report)) return True def reap(self): @@ -342,10 +341,11 @@ def run(cmdlines, infinite_runs=False, stop_on_failure=False, cache=None, - xml_report=None): + xml_report=None, + add_env={}): js = Jobset(check_cancelled, maxjobs if maxjobs is not None else _DEFAULT_MAX_JOBS, - newline_on_success, travis, stop_on_failure, + newline_on_success, travis, stop_on_failure, add_env, cache if cache is not None else NoCache(), xml_report) for cmdline in cmdlines: diff --git a/tools/run_tests/port_server.py b/tools/run_tests/port_server.py new file mode 100755 index 0000000000..41f862ad88 --- /dev/null +++ b/tools/run_tests/port_server.py @@ -0,0 +1,105 @@ +#!/usr/bin/env python +# Copyright 2015, Google Inc. +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are +# met: +# +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above +# copyright notice, this list of conditions and the following disclaimer +# in the documentation and/or other materials provided with the +# distribution. +# * Neither the name of Google Inc. nor the names of its +# contributors may be used to endorse or promote products derived from +# this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +"""Manage TCP ports for unit tests; started by run_tests.py""" + +import argparse +import BaseHTTPServer +import hashlib +import os +import socket +import sys +import time + +argp = argparse.ArgumentParser(description='Server for httpcli_test') +argp.add_argument('-p', '--port', default=12345, type=int) +args = argp.parse_args() + +print 'port server running on port %d' % args.port + +pool = [] +in_use = {} + +with open(sys.argv[0]) as f: + _MY_VERSION = hashlib.sha1(f.read()).hexdigest() + + +def refill_pool(): + """Scan for ports not marked for being in use""" + for i in range(10000, 65000): + if len(pool) > 100: break + if i in in_use: + age = time.time() - in_use[i] + if age < 600: + continue + del in_use[i] + s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) + try: + s.bind(('localhost', i)) + pool.append(i) + except: + pass # we really don't care about failures + finally: + s.close() + + +def allocate_port(): + global pool + global in_use + if not pool: + refill_pool() + port = pool[0] + pool = pool[1:] + in_use[port] = time.time() + return port + + +class Handler(BaseHTTPServer.BaseHTTPRequestHandler): + + def do_GET(self): + if self.path == '/get': + # allocate a new port, it will stay bound for ten minutes and until + # it's unused + self.send_response(200) + self.send_header('Content-Type', 'text/plain') + self.end_headers() + p = allocate_port() + self.log_message('allocated port %d' % p) + self.wfile.write('%d' % p) + elif self.path == '/version_and_pid': + # fetch a version string and the current process pid + self.send_response(200) + self.send_header('Content-Type', 'text/plain') + self.end_headers() + self.wfile.write('%s+%d' % (_MY_VERSION, os.getpid())) + + +BaseHTTPServer.HTTPServer(('', args.port), Handler).serve_forever() + diff --git a/tools/run_tests/run_tests.py b/tools/run_tests/run_tests.py index fa749498d2..653b98d57d 100755 --- a/tools/run_tests/run_tests.py +++ b/tools/run_tests/run_tests.py @@ -32,17 +32,20 @@ import argparse import glob +import hashlib import itertools import json import multiprocessing import os import platform +import psutil import random import re import subprocess import sys import time import xml.etree.cElementTree as ET +import urllib2 import jobset import watch_dirs @@ -522,7 +525,43 @@ class TestCache(object): self.parse(json.loads(f.read())) -def _build_and_run(check_cancelled, newline_on_success, travis, cache, xml_report=None): +def _start_port_server(port_server_port): + # check if a compatible port server is running + # if incompatible (version mismatch) ==> start a new one + # if not running ==> start a new one + # otherwise, leave it up + try: + version, _, pid = urllib2.urlopen( + 'http://localhost:%d/version_and_pid' % port_server_port).read().partition('+') + running = True + except Exception: + running = False + if running: + with open('tools/run_tests/port_server.py') as f: + current_version = hashlib.sha1(f.read()).hexdigest() + running = (version == current_version) + if not running: + psutil.Process(int(pid)).terminate() + if not running: + port_log = open('portlog.txt', 'w') + port_server = subprocess.Popen( + ['tools/run_tests/port_server.py', '-p', '%d' % port_server_port], + stderr=subprocess.STDOUT, + stdout=port_log) + # ensure port server is up + while True: + try: + urllib2.urlopen('http://localhost:%d/get' % port_server_port).read() + break + except urllib2.URLError: + time.sleep(0.5) + except: + port_server.kill() + raise + + +def _build_and_run( + check_cancelled, newline_on_success, travis, cache, xml_report=None): """Do one pass of building & running tests.""" # build latest sequentially if not jobset.run(build_steps, maxjobs=1, @@ -532,6 +571,8 @@ def _build_and_run(check_cancelled, newline_on_success, travis, cache, xml_repor # start antagonists antagonists = [subprocess.Popen(['tools/run_tests/antagonist.py']) for _ in range(0, args.antagonists)] + port_server_port = 9999 + _start_port_server(port_server_port) try: infinite_runs = runs_per_test == 0 # When running on travis, we want out test runs to be as similar as possible @@ -558,7 +599,8 @@ def _build_and_run(check_cancelled, newline_on_success, travis, cache, xml_repor maxjobs=args.jobs, stop_on_failure=args.stop_on_failure, cache=cache if not xml_report else None, - xml_report=testsuite): + xml_report=testsuite, + add_env={'GRPC_TEST_PORT_SERVER': 'localhost:%d' % port_server_port}): return 2 finally: for antagonist in antagonists: diff --git a/tools/run_tests/sources_and_headers.json b/tools/run_tests/sources_and_headers.json index d2cf07f197..a8bc1a615c 100644 --- a/tools/run_tests/sources_and_headers.json +++ b/tools/run_tests/sources_and_headers.json @@ -10955,7 +10955,6 @@ "src/core/debug/trace.h", "src/core/httpcli/format_request.h", "src/core/httpcli/httpcli.h", - "src/core/httpcli/httpcli_security_connector.h", "src/core/httpcli/parser.h", "src/core/iomgr/alarm.h", "src/core/iomgr/alarm_heap.h", @@ -11114,7 +11113,6 @@ "src/core/httpcli/httpcli.c", "src/core/httpcli/httpcli.h", "src/core/httpcli/httpcli_security_connector.c", - "src/core/httpcli/httpcli_security_connector.h", "src/core/httpcli/parser.c", "src/core/httpcli/parser.h", "src/core/iomgr/alarm.c", @@ -11423,6 +11421,9 @@ "src/core/client_config/uri_parser.h", "src/core/compression/message_compress.h", "src/core/debug/trace.h", + "src/core/httpcli/format_request.h", + "src/core/httpcli/httpcli.h", + "src/core/httpcli/parser.h", "src/core/iomgr/alarm.h", "src/core/iomgr/alarm_heap.h", "src/core/iomgr/alarm_internal.h", @@ -11561,6 +11562,12 @@ "src/core/compression/message_compress.h", "src/core/debug/trace.c", "src/core/debug/trace.h", + "src/core/httpcli/format_request.c", + "src/core/httpcli/format_request.h", + "src/core/httpcli/httpcli.c", + "src/core/httpcli/httpcli.h", + "src/core/httpcli/parser.c", + "src/core/httpcli/parser.h", "src/core/iomgr/alarm.c", "src/core/iomgr/alarm.h", "src/core/iomgr/alarm_heap.c", diff --git a/vsprojects/grpc/grpc.vcxproj b/vsprojects/grpc/grpc.vcxproj index 4f28ed922e..a698612606 100644 --- a/vsprojects/grpc/grpc.vcxproj +++ b/vsprojects/grpc/grpc.vcxproj @@ -229,10 +229,6 @@ - - - - @@ -272,6 +268,9 @@ + + + @@ -347,14 +346,8 @@ - - - - - - @@ -447,6 +440,12 @@ + + + + + + diff --git a/vsprojects/grpc/grpc.vcxproj.filters b/vsprojects/grpc/grpc.vcxproj.filters index 2f2c5936d1..d87fef9250 100644 --- a/vsprojects/grpc/grpc.vcxproj.filters +++ b/vsprojects/grpc/grpc.vcxproj.filters @@ -1,18 +1,9 @@ - - src\core\httpcli - - - src\core\httpcli - src\core\httpcli - - src\core\httpcli - src\core\security @@ -151,6 +142,15 @@ src\core\debug + + src\core\httpcli + + + src\core\httpcli + + + src\core\httpcli + src\core\iomgr @@ -443,18 +443,6 @@ - - src\core\httpcli - - - src\core\httpcli - - - src\core\httpcli - - - src\core\httpcli - src\core\security @@ -572,6 +560,15 @@ src\core\debug + + src\core\httpcli + + + src\core\httpcli + + + src\core\httpcli + src\core\iomgr diff --git a/vsprojects/grpc_unsecure/grpc_unsecure.vcxproj b/vsprojects/grpc_unsecure/grpc_unsecure.vcxproj index 004858d070..2be0d1792b 100644 --- a/vsprojects/grpc_unsecure/grpc_unsecure.vcxproj +++ b/vsprojects/grpc_unsecure/grpc_unsecure.vcxproj @@ -251,6 +251,9 @@ + + + @@ -380,6 +383,12 @@ + + + + + + diff --git a/vsprojects/grpc_unsecure/grpc_unsecure.vcxproj.filters b/vsprojects/grpc_unsecure/grpc_unsecure.vcxproj.filters index b0c62b07c3..03b4fb5bd9 100644 --- a/vsprojects/grpc_unsecure/grpc_unsecure.vcxproj.filters +++ b/vsprojects/grpc_unsecure/grpc_unsecure.vcxproj.filters @@ -82,6 +82,15 @@ src\core\debug + + src\core\httpcli + + + src\core\httpcli + + + src\core\httpcli + src\core\iomgr @@ -449,6 +458,15 @@ src\core\debug + + src\core\httpcli + + + src\core\httpcli + + + src\core\httpcli + src\core\iomgr @@ -707,6 +725,9 @@ {6d8d5774-7291-554d-fafa-583463cd3fd9} + + {1ba3a245-47e7-89b5-b0c9-aca758bd0277} + {a9df8b24-ecea-ff6d-8999-d8fa54cd70bf} -- cgit v1.2.3 From 68f4e0f6abc6bb99ff334542d5b5003edc3e651e Mon Sep 17 00:00:00 2001 From: Craig Tiller Date: Wed, 5 Aug 2015 08:18:21 -0700 Subject: Initial Doxygen import for core, c++ --- Makefile | 1 - doc/ref/c++.internal/html/annotated.html | 211 + .../html/async__generic__service_8cc.html | 110 + .../html/async__generic__service_8h.html | 128 + .../html/async__generic__service_8h_source.html | 194 + .../c++.internal/html/async__unary__call_8h.html | 128 + .../html/async__unary__call_8h_source.html | 293 ++ doc/ref/c++.internal/html/auth__context_8h.html | 119 + .../c++.internal/html/auth__context_8h_source.html | 176 + .../html/auth__property__iterator_8cc.html | 110 + .../html/auth__property__iterator_8h.html | 126 + .../html/auth__property__iterator_8h_source.html | 187 + doc/ref/c++.internal/html/bc_s.png | Bin 0 -> 676 bytes doc/ref/c++.internal/html/bdwn.png | Bin 0 -> 147 bytes doc/ref/c++.internal/html/byte__buffer_8cc.html | 110 + doc/ref/c++.internal/html/byte__buffer_8h.html | 126 + .../c++.internal/html/byte__buffer_8h_source.html | 221 + doc/ref/c++.internal/html/call_8cc.html | 122 + doc/ref/c++.internal/html/call_8h.html | 173 + doc/ref/c++.internal/html/call_8h_source.html | 745 +++ doc/ref/c++.internal/html/channel_8cc.html | 122 + doc/ref/c++.internal/html/channel_8h.html | 120 + doc/ref/c++.internal/html/channel_8h_source.html | 191 + .../c++.internal/html/channel__arguments_8cc.html | 111 + .../c++.internal/html/channel__arguments_8h.html | 123 + .../html/channel__arguments_8h_source.html | 207 + .../c++.internal/html/channel__interface_8h.html | 119 + .../html/channel__interface_8h_source.html | 175 + .../html/class_grpc_buffer_reader.html | 273 ++ .../html/class_grpc_buffer_writer.html | 257 + doc/ref/c++.internal/html/classes.html | 152 + .../html/classgrpc_1_1_async_generic_service.html | 215 + .../html/classgrpc_1_1_async_reader_interface.html | 182 + .../html/classgrpc_1_1_async_writer_interface.html | 182 + .../html/classgrpc_1_1_asynchronous_service.html | 465 ++ .../html/classgrpc_1_1_auth_context.html | 276 ++ .../html/classgrpc_1_1_auth_property_iterator.html | 313 ++ .../html/classgrpc_1_1_bidi_streaming_handler.html | 187 + .../html/classgrpc_1_1_byte_buffer.html | 273 ++ doc/ref/c++.internal/html/classgrpc_1_1_call.html | 283 ++ .../c++.internal/html/classgrpc_1_1_call_hook.html | 178 + .../html/classgrpc_1_1_call_no_op.html | 199 + .../classgrpc_1_1_call_op_client_recv_status.html | 252 + .../classgrpc_1_1_call_op_client_send_close.html | 241 + ...classgrpc_1_1_call_op_generic_recv_message.html | 264 + ...c_recv_message_helper_1_1_deserialize_func.html | 152 + ...v_message_helper_1_1_deserialize_func_type.html | 183 + ...lassgrpc_1_1_call_op_recv_initial_metadata.html | 242 + .../html/classgrpc_1_1_call_op_recv_message.html | 271 + ...lassgrpc_1_1_call_op_send_initial_metadata.html | 313 ++ .../html/classgrpc_1_1_call_op_send_message.html | 272 + .../classgrpc_1_1_call_op_server_send_status.html | 252 + .../html/classgrpc_1_1_call_op_set.html | 278 ++ .../html/classgrpc_1_1_call_op_set_interface.html | 244 + .../c++.internal/html/classgrpc_1_1_channel.html | 308 ++ .../html/classgrpc_1_1_channel_arguments.html | 388 ++ .../html/classgrpc_1_1_channel_interface.html | 217 + .../html/classgrpc_1_1_client_async_reader.html | 297 ++ ...lassgrpc_1_1_client_async_reader_interface.html | 123 + .../classgrpc_1_1_client_async_reader_writer.html | 361 ++ ...c_1_1_client_async_reader_writer_interface.html | 161 + ...classgrpc_1_1_client_async_response_reader.html | 253 + ...1_1_client_async_response_reader_interface.html | 218 + ...sgrpc_1_1_client_async_streaming_interface.html | 206 + .../html/classgrpc_1_1_client_async_writer.html | 327 ++ ...lassgrpc_1_1_client_async_writer_interface.html | 156 + .../html/classgrpc_1_1_client_context.html | 810 +++ .../html/classgrpc_1_1_client_reader.html | 263 + .../classgrpc_1_1_client_reader_interface.html | 153 + .../html/classgrpc_1_1_client_reader_writer.html | 328 ++ ...assgrpc_1_1_client_reader_writer_interface.html | 189 + .../classgrpc_1_1_client_streaming_handler.html | 187 + .../classgrpc_1_1_client_streaming_interface.html | 167 + .../html/classgrpc_1_1_client_writer.html | 275 ++ .../classgrpc_1_1_client_writer_interface.html | 155 + .../html/classgrpc_1_1_completion_queue.html | 690 +++ .../html/classgrpc_1_1_completion_queue_tag.html | 178 + .../html/classgrpc_1_1_credentials.html | 280 ++ .../html/classgrpc_1_1_dynamic_thread_pool.html | 191 + .../html/classgrpc_1_1_fixed_size_thread_pool.html | 190 + .../html/classgrpc_1_1_generic_server_context.html | 224 + .../html/classgrpc_1_1_generic_stub.html | 183 + .../html/classgrpc_1_1_grpc_library.html | 164 + .../html/classgrpc_1_1_internal_stub.html | 191 + .../html/classgrpc_1_1_method_handler.html | 174 + .../html/classgrpc_1_1_reader_interface.html | 172 + .../html/classgrpc_1_1_rpc_method.html | 265 + .../html/classgrpc_1_1_rpc_method_handler.html | 187 + .../html/classgrpc_1_1_rpc_service.html | 191 + .../html/classgrpc_1_1_rpc_service_method.html | 201 + .../html/classgrpc_1_1_secure_auth_context.html | 290 ++ .../html/classgrpc_1_1_secure_credentials.html | 297 ++ .../classgrpc_1_1_secure_server_credentials.html | 208 + .../html/classgrpc_1_1_serialization_traits.html | 119 + ...ion_traits_3_01_byte_buffer_00_01void_01_4.html | 198 + ...1is__base_42903f95c85f031c7724191271564901.html | 202 + .../c++.internal/html/classgrpc_1_1_server.html | 251 + .../classgrpc_1_1_server_1_1_shutdown_request.html | 153 + .../classgrpc_1_1_server_1_1_sync_request.html | 347 ++ ..._1_1_server_1_1_sync_request_1_1_call_data.html | 199 + .../html/classgrpc_1_1_server_async_reader.html | 302 ++ .../classgrpc_1_1_server_async_reader_writer.html | 301 ++ ...classgrpc_1_1_server_async_response_writer.html | 258 + ...sgrpc_1_1_server_async_streaming_interface.html | 195 + .../html/classgrpc_1_1_server_async_writer.html | 258 + .../html/classgrpc_1_1_server_builder.html | 357 ++ .../classgrpc_1_1_server_completion_queue.html | 166 + .../html/classgrpc_1_1_server_context.html | 767 +++ ...sgrpc_1_1_server_context_1_1_completion_op.html | 266 + .../html/classgrpc_1_1_server_credentials.html | 167 + .../html/classgrpc_1_1_server_reader.html | 214 + .../html/classgrpc_1_1_server_reader_writer.html | 259 + .../classgrpc_1_1_server_streaming_handler.html | 187 + .../html/classgrpc_1_1_server_writer.html | 226 + doc/ref/c++.internal/html/classgrpc_1_1_slice.html | 395 ++ .../html/classgrpc_1_1_sneaky_call_op_set.html | 185 + .../c++.internal/html/classgrpc_1_1_status.html | 301 ++ .../html/classgrpc_1_1_synchronous_service.html | 165 + .../html/classgrpc_1_1_thread_pool_interface.html | 168 + .../html/classgrpc_1_1_time_point.html | 170 + ...grpc_1_1_time_point_3_01gpr__timespec_01_4.html | 166 + ...hrono_1_1system__clock_1_1time__point_01_4.html | 166 + .../html/classgrpc_1_1_write_options.html | 427 ++ .../html/classgrpc_1_1_writer_interface.html | 210 + .../html/classgrpc_1_1condition__variable.html | 241 + .../html/classgrpc_1_1lock__guard.html | 257 + doc/ref/c++.internal/html/classgrpc_1_1mutex.html | 216 + doc/ref/c++.internal/html/classgrpc_1_1thread.html | 205 + .../html/classgrpc_1_1unique__lock.html | 210 + doc/ref/c++.internal/html/client__context_8cc.html | 116 + doc/ref/c++.internal/html/client__context_8h.html | 140 + .../html/client__context_8h_source.html | 329 ++ .../c++.internal/html/client__unary__call_8h.html | 120 + .../html/client__unary__call_8h_source.html | 194 + doc/ref/c++.internal/html/closed.png | Bin 0 -> 132 bytes .../c++.internal/html/completion__queue_8cc.html | 113 + .../c++.internal/html/completion__queue_8h.html | 144 + .../html/completion__queue_8h_source.html | 307 ++ doc/ref/c++.internal/html/config_8h.html | 164 + doc/ref/c++.internal/html/config_8h_source.html | 218 + doc/ref/c++.internal/html/config__protobuf_8h.html | 210 + .../html/config__protobuf_8h_source.html | 182 + .../html/create__auth__context_8h.html | 120 + .../html/create__auth__context_8h_source.html | 144 + doc/ref/c++.internal/html/create__channel_8cc.html | 120 + doc/ref/c++.internal/html/create__channel_8h.html | 119 + .../html/create__channel_8h_source.html | 157 + .../html/create__default__thread__pool_8cc.html | 116 + doc/ref/c++.internal/html/credentials_8cc.html | 109 + doc/ref/c++.internal/html/credentials_8h.html | 145 + .../c++.internal/html/credentials_8h_source.html | 271 + .../html/dir_0b10d04e5d7dad9a62c383a9247be3d1.html | 120 + .../html/dir_68267d1309a1af8e8297ef4c3efbcdba.html | 100 + .../html/dir_799bce05d9e8d02e411cbb271f1d27d0.html | 100 + .../html/dir_9054dff79f4aef5611b5dbb47b540bd9.html | 106 + .../html/dir_9b13ffd429196d74948b03440343f0b3.html | 122 + .../html/dir_ac8b245a5921095c43c106649fd7bc4b.html | 128 + .../html/dir_d44c64559bbebec7f509842c48db8b23.html | 100 + .../html/dir_dfdbda394c3f7a3aa55229f33a559c41.html | 108 + .../html/dir_f1b2ab2a88927c1e950e43c1cf4b634b.html | 155 + .../html/dir_fdeab67c13c4581d892d240a87ff1c87.html | 114 + doc/ref/c++.internal/html/doxygen.css | 1366 ++++++ doc/ref/c++.internal/html/doxygen.png | Bin 0 -> 3779 bytes .../html/dynamic__thread__pool_8cc.html | 111 + .../html/dynamic__thread__pool_8h.html | 123 + .../html/dynamic__thread__pool_8h_source.html | 195 + doc/ref/c++.internal/html/dynsections.js | 97 + doc/ref/c++.internal/html/files.html | 187 + .../html/fixed__size__thread__pool_8cc.html | 111 + .../html/fixed__size__thread__pool_8h.html | 122 + .../html/fixed__size__thread__pool_8h_source.html | 180 + doc/ref/c++.internal/html/ftv2blank.png | Bin 0 -> 86 bytes doc/ref/c++.internal/html/ftv2cl.png | Bin 0 -> 453 bytes doc/ref/c++.internal/html/ftv2doc.png | Bin 0 -> 746 bytes doc/ref/c++.internal/html/ftv2folderclosed.png | Bin 0 -> 616 bytes doc/ref/c++.internal/html/ftv2folderopen.png | Bin 0 -> 597 bytes doc/ref/c++.internal/html/ftv2lastnode.png | Bin 0 -> 86 bytes doc/ref/c++.internal/html/ftv2link.png | Bin 0 -> 746 bytes doc/ref/c++.internal/html/ftv2mlastnode.png | Bin 0 -> 246 bytes doc/ref/c++.internal/html/ftv2mnode.png | Bin 0 -> 246 bytes doc/ref/c++.internal/html/ftv2mo.png | Bin 0 -> 403 bytes doc/ref/c++.internal/html/ftv2node.png | Bin 0 -> 86 bytes doc/ref/c++.internal/html/ftv2ns.png | Bin 0 -> 388 bytes doc/ref/c++.internal/html/ftv2plastnode.png | Bin 0 -> 229 bytes doc/ref/c++.internal/html/ftv2pnode.png | Bin 0 -> 229 bytes doc/ref/c++.internal/html/ftv2splitbar.png | Bin 0 -> 314 bytes doc/ref/c++.internal/html/ftv2vertline.png | Bin 0 -> 86 bytes doc/ref/c++.internal/html/functions.html | 193 + doc/ref/c++.internal/html/functions_a.html | 203 + doc/ref/c++.internal/html/functions_b.html | 166 + doc/ref/c++.internal/html/functions_c.html | 292 ++ doc/ref/c++.internal/html/functions_d.html | 153 + doc/ref/c++.internal/html/functions_e.html | 145 + doc/ref/c++.internal/html/functions_enum.html | 118 + doc/ref/c++.internal/html/functions_eval.html | 133 + doc/ref/c++.internal/html/functions_f.html | 191 + doc/ref/c++.internal/html/functions_func.html | 194 + doc/ref/c++.internal/html/functions_func_b.html | 155 + doc/ref/c++.internal/html/functions_func_c.html | 268 + doc/ref/c++.internal/html/functions_func_d.html | 152 + doc/ref/c++.internal/html/functions_func_e.html | 144 + doc/ref/c++.internal/html/functions_func_f.html | 187 + doc/ref/c++.internal/html/functions_func_g.html | 174 + doc/ref/c++.internal/html/functions_func_h.html | 142 + doc/ref/c++.internal/html/functions_func_i.html | 139 + doc/ref/c++.internal/html/functions_func_j.html | 136 + doc/ref/c++.internal/html/functions_func_l.html | 145 + doc/ref/c++.internal/html/functions_func_m.html | 145 + doc/ref/c++.internal/html/functions_func_n.html | 147 + doc/ref/c++.internal/html/functions_func_o.html | 153 + doc/ref/c++.internal/html/functions_func_p.html | 144 + doc/ref/c++.internal/html/functions_func_r.html | 219 + doc/ref/c++.internal/html/functions_func_s.html | 276 ++ doc/ref/c++.internal/html/functions_func_t.html | 147 + doc/ref/c++.internal/html/functions_func_u.html | 145 + doc/ref/c++.internal/html/functions_func_w.html | 171 + doc/ref/c++.internal/html/functions_func_~.html | 259 + doc/ref/c++.internal/html/functions_g.html | 182 + doc/ref/c++.internal/html/functions_h.html | 143 + doc/ref/c++.internal/html/functions_i.html | 146 + doc/ref/c++.internal/html/functions_j.html | 137 + doc/ref/c++.internal/html/functions_l.html | 147 + doc/ref/c++.internal/html/functions_m.html | 150 + doc/ref/c++.internal/html/functions_n.html | 154 + doc/ref/c++.internal/html/functions_o.html | 157 + doc/ref/c++.internal/html/functions_p.html | 161 + doc/ref/c++.internal/html/functions_r.html | 228 + doc/ref/c++.internal/html/functions_rela.html | 280 ++ doc/ref/c++.internal/html/functions_s.html | 310 ++ doc/ref/c++.internal/html/functions_t.html | 154 + doc/ref/c++.internal/html/functions_u.html | 146 + doc/ref/c++.internal/html/functions_vars.html | 162 + doc/ref/c++.internal/html/functions_w.html | 172 + doc/ref/c++.internal/html/functions_~.html | 260 + doc/ref/c++.internal/html/generic__stub_8cc.html | 110 + doc/ref/c++.internal/html/generic__stub_8h.html | 126 + .../c++.internal/html/generic__stub_8h_source.html | 175 + doc/ref/c++.internal/html/globals.html | 128 + doc/ref/c++.internal/html/globals_defs.html | 125 + doc/ref/c++.internal/html/globals_vars.html | 104 + doc/ref/c++.internal/html/graph_legend.html | 154 + doc/ref/c++.internal/html/graph_legend.md5 | 1 + doc/ref/c++.internal/html/graph_legend.png | Bin 0 -> 19871 bytes doc/ref/c++.internal/html/grpc__library_8h.html | 117 + .../c++.internal/html/grpc__library_8h_source.html | 153 + doc/ref/c++.internal/html/hierarchy.html | 349 ++ doc/ref/c++.internal/html/index.html | 90 + .../html/insecure__credentials_8cc.html | 120 + .../html/insecure__server__credentials_8cc.html | 117 + doc/ref/c++.internal/html/internal__stub_8cc.html | 109 + doc/ref/c++.internal/html/internal__stub_8h.html | 118 + .../html/internal__stub_8h_source.html | 163 + doc/ref/c++.internal/html/jquery.js | 31 + doc/ref/c++.internal/html/namespacegrpc.html | 1075 ++++ ...pc_1_1_call_op_generic_recv_message_helper.html | 110 + .../html/namespacegrpc_1_1protobuf.html | 141 + .../html/namespacegrpc_1_1protobuf_1_1io.html | 152 + .../html/namespacegrpc_1_1testing.html | 100 + doc/ref/c++.internal/html/namespacemembers.html | 338 ++ .../c++.internal/html/namespacemembers_enum.html | 106 + .../c++.internal/html/namespacemembers_eval.html | 157 + .../c++.internal/html/namespacemembers_func.html | 172 + .../c++.internal/html/namespacemembers_type.html | 130 + doc/ref/c++.internal/html/namespaces.html | 105 + doc/ref/c++.internal/html/nav_f.png | Bin 0 -> 153 bytes doc/ref/c++.internal/html/nav_g.png | Bin 0 -> 95 bytes doc/ref/c++.internal/html/nav_h.png | Bin 0 -> 98 bytes doc/ref/c++.internal/html/open.png | Bin 0 -> 123 bytes doc/ref/c++.internal/html/proto__utils_8cc.html | 151 + doc/ref/c++.internal/html/proto__utils_8h.html | 129 + .../c++.internal/html/proto__utils_8h_source.html | 186 + doc/ref/c++.internal/html/rpc__method_8cc.html | 109 + doc/ref/c++.internal/html/rpc__method_8h.html | 116 + .../c++.internal/html/rpc__method_8h_source.html | 173 + .../c++.internal/html/rpc__service__method_8h.html | 138 + .../html/rpc__service__method_8h_source.html | 386 ++ doc/ref/c++.internal/html/search/all_0.html | 26 + doc/ref/c++.internal/html/search/all_0.js | 20 + doc/ref/c++.internal/html/search/all_1.html | 26 + doc/ref/c++.internal/html/search/all_1.js | 37 + doc/ref/c++.internal/html/search/all_10.html | 26 + doc/ref/c++.internal/html/search/all_10.js | 15 + doc/ref/c++.internal/html/search/all_11.html | 26 + doc/ref/c++.internal/html/search/all_11.js | 35 + doc/ref/c++.internal/html/search/all_12.html | 26 + doc/ref/c++.internal/html/search/all_12.js | 117 + doc/ref/c++.internal/html/search/all_13.html | 26 + doc/ref/c++.internal/html/search/all_13.js | 23 + doc/ref/c++.internal/html/search/all_14.html | 26 + doc/ref/c++.internal/html/search/all_14.js | 12 + doc/ref/c++.internal/html/search/all_15.html | 26 + doc/ref/c++.internal/html/search/all_15.js | 10 + doc/ref/c++.internal/html/search/all_16.html | 26 + doc/ref/c++.internal/html/search/all_16.js | 5 + doc/ref/c++.internal/html/search/all_17.html | 26 + doc/ref/c++.internal/html/search/all_17.js | 45 + doc/ref/c++.internal/html/search/all_2.html | 26 + doc/ref/c++.internal/html/search/all_2.js | 15 + doc/ref/c++.internal/html/search/all_3.html | 26 + doc/ref/c++.internal/html/search/all_3.js | 131 + doc/ref/c++.internal/html/search/all_4.html | 26 + doc/ref/c++.internal/html/search/all_4.js | 17 + doc/ref/c++.internal/html/search/all_5.html | 26 + doc/ref/c++.internal/html/search/all_5.js | 6 + doc/ref/c++.internal/html/search/all_6.html | 26 + doc/ref/c++.internal/html/search/all_6.js | 18 + doc/ref/c++.internal/html/search/all_7.html | 26 + doc/ref/c++.internal/html/search/all_7.js | 40 + doc/ref/c++.internal/html/search/all_8.html | 26 + doc/ref/c++.internal/html/search/all_8.js | 7 + doc/ref/c++.internal/html/search/all_9.html | 26 + doc/ref/c++.internal/html/search/all_9.js | 18 + doc/ref/c++.internal/html/search/all_a.html | 26 + doc/ref/c++.internal/html/search/all_a.js | 4 + doc/ref/c++.internal/html/search/all_b.html | 26 + doc/ref/c++.internal/html/search/all_b.js | 4 + doc/ref/c++.internal/html/search/all_c.html | 26 + doc/ref/c++.internal/html/search/all_c.js | 8 + doc/ref/c++.internal/html/search/all_d.html | 26 + doc/ref/c++.internal/html/search/all_d.js | 11 + doc/ref/c++.internal/html/search/all_e.html | 26 + doc/ref/c++.internal/html/search/all_e.js | 10 + doc/ref/c++.internal/html/search/all_f.html | 26 + doc/ref/c++.internal/html/search/all_f.js | 10 + doc/ref/c++.internal/html/search/classes_0.html | 26 + doc/ref/c++.internal/html/search/classes_0.js | 9 + doc/ref/c++.internal/html/search/classes_1.html | 26 + doc/ref/c++.internal/html/search/classes_1.js | 5 + doc/ref/c++.internal/html/search/classes_2.html | 26 + doc/ref/c++.internal/html/search/classes_2.js | 63 + doc/ref/c++.internal/html/search/classes_3.html | 26 + doc/ref/c++.internal/html/search/classes_3.js | 6 + doc/ref/c++.internal/html/search/classes_4.html | 26 + doc/ref/c++.internal/html/search/classes_4.js | 4 + doc/ref/c++.internal/html/search/classes_5.html | 26 + doc/ref/c++.internal/html/search/classes_5.js | 8 + doc/ref/c++.internal/html/search/classes_6.html | 26 + doc/ref/c++.internal/html/search/classes_6.js | 4 + doc/ref/c++.internal/html/search/classes_7.html | 26 + doc/ref/c++.internal/html/search/classes_7.js | 4 + doc/ref/c++.internal/html/search/classes_8.html | 26 + doc/ref/c++.internal/html/search/classes_8.js | 4 + doc/ref/c++.internal/html/search/classes_9.html | 26 + doc/ref/c++.internal/html/search/classes_9.js | 5 + doc/ref/c++.internal/html/search/classes_a.html | 26 + doc/ref/c++.internal/html/search/classes_a.js | 4 + doc/ref/c++.internal/html/search/classes_b.html | 26 + doc/ref/c++.internal/html/search/classes_b.js | 8 + doc/ref/c++.internal/html/search/classes_c.html | 26 + doc/ref/c++.internal/html/search/classes_c.js | 32 + doc/ref/c++.internal/html/search/classes_d.html | 26 + doc/ref/c++.internal/html/search/classes_d.js | 8 + doc/ref/c++.internal/html/search/classes_e.html | 26 + doc/ref/c++.internal/html/search/classes_e.js | 4 + doc/ref/c++.internal/html/search/classes_f.html | 26 + doc/ref/c++.internal/html/search/classes_f.js | 5 + doc/ref/c++.internal/html/search/close.png | Bin 0 -> 273 bytes doc/ref/c++.internal/html/search/defines_0.html | 26 + doc/ref/c++.internal/html/search/defines_0.js | 11 + doc/ref/c++.internal/html/search/enums_0.html | 26 + doc/ref/c++.internal/html/search/enums_0.js | 4 + doc/ref/c++.internal/html/search/enums_1.html | 26 + doc/ref/c++.internal/html/search/enums_1.js | 4 + doc/ref/c++.internal/html/search/enums_2.html | 26 + doc/ref/c++.internal/html/search/enums_2.js | 4 + doc/ref/c++.internal/html/search/enums_3.html | 26 + doc/ref/c++.internal/html/search/enums_3.js | 5 + doc/ref/c++.internal/html/search/enumvalues_0.html | 26 + doc/ref/c++.internal/html/search/enumvalues_0.js | 6 + doc/ref/c++.internal/html/search/enumvalues_1.html | 26 + doc/ref/c++.internal/html/search/enumvalues_1.js | 4 + doc/ref/c++.internal/html/search/enumvalues_2.html | 26 + doc/ref/c++.internal/html/search/enumvalues_2.js | 5 + doc/ref/c++.internal/html/search/enumvalues_3.html | 26 + doc/ref/c++.internal/html/search/enumvalues_3.js | 6 + doc/ref/c++.internal/html/search/enumvalues_4.html | 26 + doc/ref/c++.internal/html/search/enumvalues_4.js | 4 + doc/ref/c++.internal/html/search/enumvalues_5.html | 26 + doc/ref/c++.internal/html/search/enumvalues_5.js | 4 + doc/ref/c++.internal/html/search/enumvalues_6.html | 26 + doc/ref/c++.internal/html/search/enumvalues_6.js | 5 + doc/ref/c++.internal/html/search/enumvalues_7.html | 26 + doc/ref/c++.internal/html/search/enumvalues_7.js | 5 + doc/ref/c++.internal/html/search/enumvalues_8.html | 26 + doc/ref/c++.internal/html/search/enumvalues_8.js | 5 + doc/ref/c++.internal/html/search/enumvalues_9.html | 26 + doc/ref/c++.internal/html/search/enumvalues_9.js | 4 + doc/ref/c++.internal/html/search/enumvalues_a.html | 26 + doc/ref/c++.internal/html/search/enumvalues_a.js | 4 + doc/ref/c++.internal/html/search/enumvalues_b.html | 26 + doc/ref/c++.internal/html/search/enumvalues_b.js | 6 + doc/ref/c++.internal/html/search/enumvalues_c.html | 26 + doc/ref/c++.internal/html/search/enumvalues_c.js | 4 + doc/ref/c++.internal/html/search/enumvalues_d.html | 26 + doc/ref/c++.internal/html/search/enumvalues_d.js | 7 + doc/ref/c++.internal/html/search/files_0.html | 26 + doc/ref/c++.internal/html/search/files_0.js | 9 + doc/ref/c++.internal/html/search/files_1.html | 26 + doc/ref/c++.internal/html/search/files_1.js | 5 + doc/ref/c++.internal/html/search/files_2.html | 26 + doc/ref/c++.internal/html/search/files_2.js | 23 + doc/ref/c++.internal/html/search/files_3.html | 26 + doc/ref/c++.internal/html/search/files_3.js | 5 + doc/ref/c++.internal/html/search/files_4.html | 26 + doc/ref/c++.internal/html/search/files_4.js | 5 + doc/ref/c++.internal/html/search/files_5.html | 26 + doc/ref/c++.internal/html/search/files_5.js | 6 + doc/ref/c++.internal/html/search/files_6.html | 26 + doc/ref/c++.internal/html/search/files_6.js | 7 + doc/ref/c++.internal/html/search/files_7.html | 26 + doc/ref/c++.internal/html/search/files_7.js | 5 + doc/ref/c++.internal/html/search/files_8.html | 26 + doc/ref/c++.internal/html/search/files_8.js | 6 + doc/ref/c++.internal/html/search/files_9.html | 26 + doc/ref/c++.internal/html/search/files_9.js | 30 + doc/ref/c++.internal/html/search/files_a.html | 26 + doc/ref/c++.internal/html/search/files_a.js | 9 + doc/ref/c++.internal/html/search/functions_0.html | 26 + doc/ref/c++.internal/html/search/functions_0.js | 20 + doc/ref/c++.internal/html/search/functions_1.html | 26 + doc/ref/c++.internal/html/search/functions_1.js | 10 + doc/ref/c++.internal/html/search/functions_10.html | 26 + doc/ref/c++.internal/html/search/functions_10.js | 52 + doc/ref/c++.internal/html/search/functions_11.html | 26 + doc/ref/c++.internal/html/search/functions_11.js | 10 + doc/ref/c++.internal/html/search/functions_12.html | 26 + doc/ref/c++.internal/html/search/functions_12.js | 7 + doc/ref/c++.internal/html/search/functions_13.html | 26 + doc/ref/c++.internal/html/search/functions_13.js | 8 + doc/ref/c++.internal/html/search/functions_14.html | 26 + doc/ref/c++.internal/html/search/functions_14.js | 45 + doc/ref/c++.internal/html/search/functions_2.html | 26 + doc/ref/c++.internal/html/search/functions_2.js | 47 + doc/ref/c++.internal/html/search/functions_3.html | 26 + doc/ref/c++.internal/html/search/functions_3.js | 9 + doc/ref/c++.internal/html/search/functions_4.html | 26 + doc/ref/c++.internal/html/search/functions_4.js | 6 + doc/ref/c++.internal/html/search/functions_5.html | 26 + doc/ref/c++.internal/html/search/functions_5.js | 13 + doc/ref/c++.internal/html/search/functions_6.html | 26 + doc/ref/c++.internal/html/search/functions_6.js | 17 + doc/ref/c++.internal/html/search/functions_7.html | 26 + doc/ref/c++.internal/html/search/functions_7.js | 6 + doc/ref/c++.internal/html/search/functions_8.html | 26 + doc/ref/c++.internal/html/search/functions_8.js | 8 + doc/ref/c++.internal/html/search/functions_9.html | 26 + doc/ref/c++.internal/html/search/functions_9.js | 4 + doc/ref/c++.internal/html/search/functions_a.html | 26 + doc/ref/c++.internal/html/search/functions_a.js | 7 + doc/ref/c++.internal/html/search/functions_b.html | 26 + doc/ref/c++.internal/html/search/functions_b.js | 7 + doc/ref/c++.internal/html/search/functions_c.html | 26 + doc/ref/c++.internal/html/search/functions_c.js | 7 + doc/ref/c++.internal/html/search/functions_d.html | 26 + doc/ref/c++.internal/html/search/functions_d.js | 9 + doc/ref/c++.internal/html/search/functions_e.html | 26 + doc/ref/c++.internal/html/search/functions_e.js | 6 + doc/ref/c++.internal/html/search/functions_f.html | 26 + doc/ref/c++.internal/html/search/functions_f.js | 25 + doc/ref/c++.internal/html/search/mag_sel.png | Bin 0 -> 563 bytes doc/ref/c++.internal/html/search/namespaces_0.html | 26 + doc/ref/c++.internal/html/search/namespaces_0.js | 8 + doc/ref/c++.internal/html/search/nomatches.html | 12 + doc/ref/c++.internal/html/search/related_0.html | 26 + doc/ref/c++.internal/html/search/related_0.js | 20 + doc/ref/c++.internal/html/search/related_1.html | 26 + doc/ref/c++.internal/html/search/related_1.js | 5 + doc/ref/c++.internal/html/search/related_2.html | 26 + doc/ref/c++.internal/html/search/related_2.js | 6 + doc/ref/c++.internal/html/search/related_3.html | 26 + doc/ref/c++.internal/html/search/related_3.js | 10 + doc/ref/c++.internal/html/search/related_4.html | 26 + doc/ref/c++.internal/html/search/related_4.js | 4 + doc/ref/c++.internal/html/search/related_5.html | 26 + doc/ref/c++.internal/html/search/related_5.js | 4 + doc/ref/c++.internal/html/search/related_6.html | 26 + doc/ref/c++.internal/html/search/related_6.js | 9 + doc/ref/c++.internal/html/search/related_7.html | 26 + doc/ref/c++.internal/html/search/related_7.js | 4 + doc/ref/c++.internal/html/search/search.css | 271 + doc/ref/c++.internal/html/search/search.js | 813 +++ doc/ref/c++.internal/html/search/search_l.png | Bin 0 -> 604 bytes doc/ref/c++.internal/html/search/search_m.png | Bin 0 -> 158 bytes doc/ref/c++.internal/html/search/search_r.png | Bin 0 -> 612 bytes doc/ref/c++.internal/html/search/typedefs_0.html | 26 + doc/ref/c++.internal/html/search/typedefs_0.js | 4 + doc/ref/c++.internal/html/search/typedefs_1.html | 26 + doc/ref/c++.internal/html/search/typedefs_1.js | 4 + doc/ref/c++.internal/html/search/typedefs_2.html | 26 + doc/ref/c++.internal/html/search/typedefs_2.js | 5 + doc/ref/c++.internal/html/search/typedefs_3.html | 26 + doc/ref/c++.internal/html/search/typedefs_3.js | 4 + doc/ref/c++.internal/html/search/typedefs_4.html | 26 + doc/ref/c++.internal/html/search/typedefs_4.js | 4 + doc/ref/c++.internal/html/search/typedefs_5.html | 26 + doc/ref/c++.internal/html/search/typedefs_5.js | 4 + doc/ref/c++.internal/html/search/typedefs_6.html | 26 + doc/ref/c++.internal/html/search/typedefs_6.js | 5 + doc/ref/c++.internal/html/search/variables_0.html | 26 + doc/ref/c++.internal/html/search/variables_0.js | 6 + doc/ref/c++.internal/html/search/variables_1.html | 26 + doc/ref/c++.internal/html/search/variables_1.js | 4 + doc/ref/c++.internal/html/search/variables_2.html | 26 + doc/ref/c++.internal/html/search/variables_2.js | 4 + doc/ref/c++.internal/html/search/variables_3.html | 26 + doc/ref/c++.internal/html/search/variables_3.js | 5 + doc/ref/c++.internal/html/search/variables_4.html | 26 + doc/ref/c++.internal/html/search/variables_4.js | 4 + doc/ref/c++.internal/html/search/variables_5.html | 26 + doc/ref/c++.internal/html/search/variables_5.js | 5 + doc/ref/c++.internal/html/search/variables_6.html | 26 + doc/ref/c++.internal/html/search/variables_6.js | 4 + doc/ref/c++.internal/html/search/variables_7.html | 26 + doc/ref/c++.internal/html/search/variables_7.js | 8 + doc/ref/c++.internal/html/search/variables_8.html | 26 + doc/ref/c++.internal/html/search/variables_8.js | 4 + doc/ref/c++.internal/html/search/variables_9.html | 26 + doc/ref/c++.internal/html/search/variables_9.js | 5 + .../html/secure__auth__context_8cc.html | 110 + .../html/secure__auth__context_8h.html | 117 + .../html/secure__auth__context_8h_source.html | 180 + .../html/secure__channel__arguments_8cc.html | 111 + .../html/secure__create__auth__context_8cc.html | 120 + .../c++.internal/html/secure__credentials_8cc.html | 134 + .../c++.internal/html/secure__credentials_8h.html | 119 + .../html/secure__credentials_8h_source.html | 175 + .../html/secure__server__credentials_8cc.html | 116 + .../html/secure__server__credentials_8h.html | 118 + .../secure__server__credentials_8h_source.html | 169 + .../html/serialization__traits_8h.html | 117 + .../html/serialization__traits_8h_source.html | 148 + doc/ref/c++.internal/html/server_8cc.html | 132 + doc/ref/c++.internal/html/server_8h.html | 124 + doc/ref/c++.internal/html/server_8h_source.html | 375 ++ doc/ref/c++.internal/html/server__builder_8cc.html | 114 + doc/ref/c++.internal/html/server__builder_8h.html | 119 + .../html/server__builder_8h_source.html | 256 + doc/ref/c++.internal/html/server__context_8cc.html | 123 + doc/ref/c++.internal/html/server__context_8h.html | 147 + .../html/server__context_8h_source.html | 320 ++ .../c++.internal/html/server__credentials_8cc.html | 109 + .../c++.internal/html/server__credentials_8h.html | 133 + .../html/server__credentials_8h_source.html | 194 + doc/ref/c++.internal/html/service__type_8h.html | 124 + .../c++.internal/html/service__type_8h_source.html | 247 + doc/ref/c++.internal/html/slice_8cc.html | 109 + doc/ref/c++.internal/html/slice_8h.html | 118 + doc/ref/c++.internal/html/slice_8h_source.html | 188 + doc/ref/c++.internal/html/status_8cc.html | 109 + doc/ref/c++.internal/html/status_8h.html | 118 + doc/ref/c++.internal/html/status_8h_source.html | 177 + .../c++.internal/html/status__code__enum_8h.html | 140 + .../html/status__code__enum_8h_source.html | 278 ++ doc/ref/c++.internal/html/stream_8h.html | 170 + doc/ref/c++.internal/html/stream_8h_source.html | 994 ++++ ...c_1_1_method_handler_1_1_handler_parameter.html | 223 + .../structgrpc_1_1_ssl_credentials_options.html | 156 + ...uctgrpc_1_1_ssl_server_credentials_options.html | 192 + ..._credentials_options_1_1_pem_key_cert_pair.html | 142 + doc/ref/c++.internal/html/sync_8h.html | 104 + doc/ref/c++.internal/html/sync_8h_source.html | 148 + doc/ref/c++.internal/html/sync__cxx11_8h.html | 112 + .../c++.internal/html/sync__cxx11_8h_source.html | 149 + doc/ref/c++.internal/html/sync__no__cxx11_8h.html | 125 + .../html/sync__no__cxx11_8h_source.html | 219 + doc/ref/c++.internal/html/sync_off.png | Bin 0 -> 853 bytes doc/ref/c++.internal/html/sync_on.png | Bin 0 -> 845 bytes doc/ref/c++.internal/html/tab_a.png | Bin 0 -> 142 bytes doc/ref/c++.internal/html/tab_b.png | Bin 0 -> 169 bytes doc/ref/c++.internal/html/tab_h.png | Bin 0 -> 177 bytes doc/ref/c++.internal/html/tab_s.png | Bin 0 -> 184 bytes doc/ref/c++.internal/html/tabs.css | 60 + doc/ref/c++.internal/html/thd_8h.html | 104 + doc/ref/c++.internal/html/thd_8h_source.html | 148 + doc/ref/c++.internal/html/thd__cxx11_8h.html | 111 + .../c++.internal/html/thd__cxx11_8h_source.html | 145 + doc/ref/c++.internal/html/thd__no__cxx11_8h.html | 117 + .../html/thd__no__cxx11_8h_source.html | 197 + .../html/thread__pool__interface_8h.html | 123 + .../html/thread__pool__interface_8h_source.html | 158 + doc/ref/c++.internal/html/time_8cc.html | 121 + doc/ref/c++.internal/html/time_8h.html | 133 + doc/ref/c++.internal/html/time_8h_source.html | 221 + doc/ref/c++/html/annotated.html | 201 + doc/ref/c++/html/async__generic__service_8h.html | 128 + .../html/async__generic__service_8h_source.html | 194 + doc/ref/c++/html/async__unary__call_8h.html | 128 + doc/ref/c++/html/async__unary__call_8h_source.html | 293 ++ doc/ref/c++/html/auth__context_8h.html | 119 + doc/ref/c++/html/auth__context_8h_source.html | 176 + doc/ref/c++/html/auth__property__iterator_8h.html | 126 + .../html/auth__property__iterator_8h_source.html | 187 + doc/ref/c++/html/bc_s.png | Bin 0 -> 676 bytes doc/ref/c++/html/bdwn.png | Bin 0 -> 147 bytes doc/ref/c++/html/byte__buffer_8h.html | 126 + doc/ref/c++/html/byte__buffer_8h_source.html | 221 + doc/ref/c++/html/call_8h.html | 173 + doc/ref/c++/html/call_8h_source.html | 745 +++ doc/ref/c++/html/channel__arguments_8h.html | 123 + doc/ref/c++/html/channel__arguments_8h_source.html | 207 + doc/ref/c++/html/channel__interface_8h.html | 119 + doc/ref/c++/html/channel__interface_8h_source.html | 175 + doc/ref/c++/html/classes.html | 149 + .../html/classgrpc_1_1_async_generic_service.html | 214 + .../html/classgrpc_1_1_async_reader_interface.html | 182 + .../html/classgrpc_1_1_async_writer_interface.html | 182 + .../html/classgrpc_1_1_asynchronous_service.html | 465 ++ doc/ref/c++/html/classgrpc_1_1_auth_context.html | 266 + .../html/classgrpc_1_1_auth_property_iterator.html | 312 ++ .../html/classgrpc_1_1_bidi_streaming_handler.html | 187 + doc/ref/c++/html/classgrpc_1_1_byte_buffer.html | 272 + doc/ref/c++/html/classgrpc_1_1_call.html | 282 ++ doc/ref/c++/html/classgrpc_1_1_call_hook.html | 176 + doc/ref/c++/html/classgrpc_1_1_call_no_op.html | 199 + .../classgrpc_1_1_call_op_client_recv_status.html | 252 + .../classgrpc_1_1_call_op_client_send_close.html | 241 + ...classgrpc_1_1_call_op_generic_recv_message.html | 264 + ...c_recv_message_helper_1_1_deserialize_func.html | 152 + ...v_message_helper_1_1_deserialize_func_type.html | 183 + ...lassgrpc_1_1_call_op_recv_initial_metadata.html | 242 + .../html/classgrpc_1_1_call_op_recv_message.html | 271 + ...lassgrpc_1_1_call_op_send_initial_metadata.html | 313 ++ .../html/classgrpc_1_1_call_op_send_message.html | 272 + .../classgrpc_1_1_call_op_server_send_status.html | 252 + doc/ref/c++/html/classgrpc_1_1_call_op_set.html | 278 ++ .../html/classgrpc_1_1_call_op_set_interface.html | 244 + .../c++/html/classgrpc_1_1_channel_arguments.html | 386 ++ .../c++/html/classgrpc_1_1_channel_interface.html | 213 + .../html/classgrpc_1_1_client_async_reader.html | 297 ++ ...lassgrpc_1_1_client_async_reader_interface.html | 123 + .../classgrpc_1_1_client_async_reader_writer.html | 361 ++ ...c_1_1_client_async_reader_writer_interface.html | 161 + ...classgrpc_1_1_client_async_response_reader.html | 253 + ...1_1_client_async_response_reader_interface.html | 218 + ...sgrpc_1_1_client_async_streaming_interface.html | 206 + .../html/classgrpc_1_1_client_async_writer.html | 327 ++ ...lassgrpc_1_1_client_async_writer_interface.html | 156 + doc/ref/c++/html/classgrpc_1_1_client_context.html | 809 +++ doc/ref/c++/html/classgrpc_1_1_client_reader.html | 263 + .../classgrpc_1_1_client_reader_interface.html | 153 + .../html/classgrpc_1_1_client_reader_writer.html | 328 ++ ...assgrpc_1_1_client_reader_writer_interface.html | 189 + .../classgrpc_1_1_client_streaming_handler.html | 187 + .../classgrpc_1_1_client_streaming_interface.html | 167 + doc/ref/c++/html/classgrpc_1_1_client_writer.html | 275 ++ .../classgrpc_1_1_client_writer_interface.html | 155 + .../c++/html/classgrpc_1_1_completion_queue.html | 689 +++ .../html/classgrpc_1_1_completion_queue_tag.html | 178 + doc/ref/c++/html/classgrpc_1_1_credentials.html | 275 ++ .../html/classgrpc_1_1_dynamic_thread_pool.html | 190 + .../html/classgrpc_1_1_fixed_size_thread_pool.html | 189 + .../html/classgrpc_1_1_generic_server_context.html | 224 + doc/ref/c++/html/classgrpc_1_1_generic_stub.html | 182 + doc/ref/c++/html/classgrpc_1_1_grpc_library.html | 164 + doc/ref/c++/html/classgrpc_1_1_internal_stub.html | 191 + doc/ref/c++/html/classgrpc_1_1_method_handler.html | 174 + .../c++/html/classgrpc_1_1_reader_interface.html | 172 + doc/ref/c++/html/classgrpc_1_1_rpc_method.html | 265 + .../c++/html/classgrpc_1_1_rpc_method_handler.html | 187 + doc/ref/c++/html/classgrpc_1_1_rpc_service.html | 191 + .../c++/html/classgrpc_1_1_rpc_service_method.html | 201 + .../html/classgrpc_1_1_serialization_traits.html | 119 + ...ion_traits_3_01_byte_buffer_00_01void_01_4.html | 198 + ...1is__base_42903f95c85f031c7724191271564901.html | 202 + doc/ref/c++/html/classgrpc_1_1_server.html | 243 + .../html/classgrpc_1_1_server_async_reader.html | 302 ++ .../classgrpc_1_1_server_async_reader_writer.html | 301 ++ ...classgrpc_1_1_server_async_response_writer.html | 258 + ...sgrpc_1_1_server_async_streaming_interface.html | 195 + .../html/classgrpc_1_1_server_async_writer.html | 258 + doc/ref/c++/html/classgrpc_1_1_server_builder.html | 356 ++ .../classgrpc_1_1_server_completion_queue.html | 166 + doc/ref/c++/html/classgrpc_1_1_server_context.html | 760 +++ .../c++/html/classgrpc_1_1_server_credentials.html | 166 + doc/ref/c++/html/classgrpc_1_1_server_reader.html | 214 + .../html/classgrpc_1_1_server_reader_writer.html | 259 + .../classgrpc_1_1_server_streaming_handler.html | 187 + doc/ref/c++/html/classgrpc_1_1_server_writer.html | 226 + doc/ref/c++/html/classgrpc_1_1_slice.html | 394 ++ .../c++/html/classgrpc_1_1_sneaky_call_op_set.html | 185 + doc/ref/c++/html/classgrpc_1_1_status.html | 300 ++ .../html/classgrpc_1_1_synchronous_service.html | 165 + .../html/classgrpc_1_1_thread_pool_interface.html | 168 + doc/ref/c++/html/classgrpc_1_1_time_point.html | 170 + ...grpc_1_1_time_point_3_01gpr__timespec_01_4.html | 166 + ...hrono_1_1system__clock_1_1time__point_01_4.html | 166 + doc/ref/c++/html/classgrpc_1_1_write_options.html | 427 ++ .../c++/html/classgrpc_1_1_writer_interface.html | 210 + .../c++/html/classgrpc_1_1condition__variable.html | 241 + doc/ref/c++/html/classgrpc_1_1lock__guard.html | 257 + doc/ref/c++/html/classgrpc_1_1mutex.html | 216 + doc/ref/c++/html/classgrpc_1_1thread.html | 205 + doc/ref/c++/html/classgrpc_1_1unique__lock.html | 210 + doc/ref/c++/html/client__context_8h.html | 140 + doc/ref/c++/html/client__context_8h_source.html | 329 ++ doc/ref/c++/html/client__unary__call_8h.html | 120 + .../c++/html/client__unary__call_8h_source.html | 194 + doc/ref/c++/html/closed.png | Bin 0 -> 132 bytes doc/ref/c++/html/completion__queue_8h.html | 144 + doc/ref/c++/html/completion__queue_8h_source.html | 307 ++ doc/ref/c++/html/config_8h.html | 164 + doc/ref/c++/html/config_8h_source.html | 218 + doc/ref/c++/html/config__protobuf_8h.html | 210 + doc/ref/c++/html/config__protobuf_8h_source.html | 182 + doc/ref/c++/html/create__channel_8h.html | 119 + doc/ref/c++/html/create__channel_8h_source.html | 157 + doc/ref/c++/html/credentials_8h.html | 145 + doc/ref/c++/html/credentials_8h_source.html | 270 + .../html/dir_ac8b245a5921095c43c106649fd7bc4b.html | 128 + .../html/dir_d44c64559bbebec7f509842c48db8b23.html | 100 + .../html/dir_f1b2ab2a88927c1e950e43c1cf4b634b.html | 155 + doc/ref/c++/html/doxygen.css | 1366 ++++++ doc/ref/c++/html/doxygen.png | Bin 0 -> 3779 bytes doc/ref/c++/html/dynamic__thread__pool_8h.html | 123 + .../c++/html/dynamic__thread__pool_8h_source.html | 195 + doc/ref/c++/html/dynsections.js | 97 + doc/ref/c++/html/files.html | 144 + doc/ref/c++/html/fixed__size__thread__pool_8h.html | 122 + .../html/fixed__size__thread__pool_8h_source.html | 180 + doc/ref/c++/html/ftv2blank.png | Bin 0 -> 86 bytes doc/ref/c++/html/ftv2cl.png | Bin 0 -> 453 bytes doc/ref/c++/html/ftv2doc.png | Bin 0 -> 746 bytes doc/ref/c++/html/ftv2folderclosed.png | Bin 0 -> 616 bytes doc/ref/c++/html/ftv2folderopen.png | Bin 0 -> 597 bytes doc/ref/c++/html/ftv2lastnode.png | Bin 0 -> 86 bytes doc/ref/c++/html/ftv2link.png | Bin 0 -> 746 bytes doc/ref/c++/html/ftv2mlastnode.png | Bin 0 -> 246 bytes doc/ref/c++/html/ftv2mnode.png | Bin 0 -> 246 bytes doc/ref/c++/html/ftv2mo.png | Bin 0 -> 403 bytes doc/ref/c++/html/ftv2node.png | Bin 0 -> 86 bytes doc/ref/c++/html/ftv2ns.png | Bin 0 -> 388 bytes doc/ref/c++/html/ftv2plastnode.png | Bin 0 -> 229 bytes doc/ref/c++/html/ftv2pnode.png | Bin 0 -> 229 bytes doc/ref/c++/html/ftv2splitbar.png | Bin 0 -> 314 bytes doc/ref/c++/html/ftv2vertline.png | Bin 0 -> 86 bytes doc/ref/c++/html/functions.html | 193 + doc/ref/c++/html/functions_a.html | 198 + doc/ref/c++/html/functions_b.html | 157 + doc/ref/c++/html/functions_c.html | 280 ++ doc/ref/c++/html/functions_d.html | 153 + doc/ref/c++/html/functions_e.html | 144 + doc/ref/c++/html/functions_enum.html | 118 + doc/ref/c++/html/functions_eval.html | 133 + doc/ref/c++/html/functions_f.html | 186 + doc/ref/c++/html/functions_func.html | 189 + doc/ref/c++/html/functions_func_b.html | 146 + doc/ref/c++/html/functions_func_c.html | 252 + doc/ref/c++/html/functions_func_d.html | 152 + doc/ref/c++/html/functions_func_e.html | 143 + doc/ref/c++/html/functions_func_f.html | 182 + doc/ref/c++/html/functions_func_g.html | 163 + doc/ref/c++/html/functions_func_h.html | 142 + doc/ref/c++/html/functions_func_i.html | 139 + doc/ref/c++/html/functions_func_j.html | 136 + doc/ref/c++/html/functions_func_l.html | 145 + doc/ref/c++/html/functions_func_m.html | 145 + doc/ref/c++/html/functions_func_n.html | 145 + doc/ref/c++/html/functions_func_o.html | 153 + doc/ref/c++/html/functions_func_p.html | 143 + doc/ref/c++/html/functions_func_r.html | 212 + doc/ref/c++/html/functions_func_s.html | 258 + doc/ref/c++/html/functions_func_t.html | 144 + doc/ref/c++/html/functions_func_u.html | 142 + doc/ref/c++/html/functions_func_w.html | 170 + doc/ref/c++/html/functions_func_~.html | 235 + doc/ref/c++/html/functions_g.html | 171 + doc/ref/c++/html/functions_h.html | 143 + doc/ref/c++/html/functions_i.html | 146 + doc/ref/c++/html/functions_j.html | 137 + doc/ref/c++/html/functions_l.html | 147 + doc/ref/c++/html/functions_m.html | 150 + doc/ref/c++/html/functions_n.html | 152 + doc/ref/c++/html/functions_o.html | 157 + doc/ref/c++/html/functions_p.html | 160 + doc/ref/c++/html/functions_r.html | 221 + doc/ref/c++/html/functions_rela.html | 280 ++ doc/ref/c++/html/functions_s.html | 298 ++ doc/ref/c++/html/functions_t.html | 151 + doc/ref/c++/html/functions_u.html | 143 + doc/ref/c++/html/functions_vars.html | 162 + doc/ref/c++/html/functions_w.html | 171 + doc/ref/c++/html/functions_~.html | 236 + doc/ref/c++/html/generic__stub_8h.html | 126 + doc/ref/c++/html/generic__stub_8h_source.html | 175 + doc/ref/c++/html/globals.html | 124 + doc/ref/c++/html/globals_defs.html | 124 + doc/ref/c++/html/graph_legend.html | 154 + doc/ref/c++/html/graph_legend.md5 | 1 + doc/ref/c++/html/graph_legend.png | Bin 0 -> 19871 bytes doc/ref/c++/html/grpc__library_8h.html | 117 + doc/ref/c++/html/grpc__library_8h_source.html | 153 + doc/ref/c++/html/hierarchy.html | 336 ++ doc/ref/c++/html/index.html | 90 + doc/ref/c++/html/internal__stub_8h.html | 118 + doc/ref/c++/html/internal__stub_8h_source.html | 163 + doc/ref/c++/html/jquery.js | 31 + doc/ref/c++/html/namespacegrpc.html | 992 ++++ ...pc_1_1_call_op_generic_recv_message_helper.html | 110 + doc/ref/c++/html/namespacegrpc_1_1protobuf.html | 141 + .../c++/html/namespacegrpc_1_1protobuf_1_1io.html | 152 + doc/ref/c++/html/namespacegrpc_1_1testing.html | 100 + doc/ref/c++/html/namespacemembers.html | 335 ++ doc/ref/c++/html/namespacemembers_enum.html | 106 + doc/ref/c++/html/namespacemembers_eval.html | 157 + doc/ref/c++/html/namespacemembers_func.html | 169 + doc/ref/c++/html/namespacemembers_type.html | 130 + doc/ref/c++/html/namespaces.html | 105 + doc/ref/c++/html/nav_f.png | Bin 0 -> 153 bytes doc/ref/c++/html/nav_g.png | Bin 0 -> 95 bytes doc/ref/c++/html/nav_h.png | Bin 0 -> 98 bytes doc/ref/c++/html/open.png | Bin 0 -> 123 bytes doc/ref/c++/html/proto__utils_8h.html | 129 + doc/ref/c++/html/proto__utils_8h_source.html | 186 + doc/ref/c++/html/rpc__method_8h.html | 116 + doc/ref/c++/html/rpc__method_8h_source.html | 173 + doc/ref/c++/html/rpc__service__method_8h.html | 138 + .../c++/html/rpc__service__method_8h_source.html | 386 ++ doc/ref/c++/html/search/all_0.html | 26 + doc/ref/c++/html/search/all_0.js | 20 + doc/ref/c++/html/search/all_1.html | 26 + doc/ref/c++/html/search/all_1.js | 34 + doc/ref/c++/html/search/all_10.html | 26 + doc/ref/c++/html/search/all_10.js | 33 + doc/ref/c++/html/search/all_11.html | 26 + doc/ref/c++/html/search/all_11.js | 94 + doc/ref/c++/html/search/all_12.html | 26 + doc/ref/c++/html/search/all_12.js | 21 + doc/ref/c++/html/search/all_13.html | 26 + doc/ref/c++/html/search/all_13.js | 11 + doc/ref/c++/html/search/all_14.html | 26 + doc/ref/c++/html/search/all_14.js | 10 + doc/ref/c++/html/search/all_15.html | 26 + doc/ref/c++/html/search/all_15.js | 5 + doc/ref/c++/html/search/all_16.html | 26 + doc/ref/c++/html/search/all_16.js | 37 + doc/ref/c++/html/search/all_2.html | 26 + doc/ref/c++/html/search/all_2.js | 12 + doc/ref/c++/html/search/all_3.html | 26 + doc/ref/c++/html/search/all_3.js | 114 + doc/ref/c++/html/search/all_4.html | 26 + doc/ref/c++/html/search/all_4.js | 16 + doc/ref/c++/html/search/all_5.html | 26 + doc/ref/c++/html/search/all_5.js | 6 + doc/ref/c++/html/search/all_6.html | 26 + doc/ref/c++/html/search/all_6.js | 17 + doc/ref/c++/html/search/all_7.html | 26 + doc/ref/c++/html/search/all_7.js | 36 + doc/ref/c++/html/search/all_8.html | 26 + doc/ref/c++/html/search/all_8.js | 7 + doc/ref/c++/html/search/all_9.html | 26 + doc/ref/c++/html/search/all_9.js | 15 + doc/ref/c++/html/search/all_a.html | 26 + doc/ref/c++/html/search/all_a.js | 4 + doc/ref/c++/html/search/all_b.html | 26 + doc/ref/c++/html/search/all_b.js | 8 + doc/ref/c++/html/search/all_c.html | 26 + doc/ref/c++/html/search/all_c.js | 11 + doc/ref/c++/html/search/all_d.html | 26 + doc/ref/c++/html/search/all_d.js | 10 + doc/ref/c++/html/search/all_e.html | 26 + doc/ref/c++/html/search/all_e.js | 10 + doc/ref/c++/html/search/all_f.html | 26 + doc/ref/c++/html/search/all_f.js | 14 + doc/ref/c++/html/search/classes_0.html | 26 + doc/ref/c++/html/search/classes_0.js | 9 + doc/ref/c++/html/search/classes_1.html | 26 + doc/ref/c++/html/search/classes_1.js | 5 + doc/ref/c++/html/search/classes_2.html | 26 + doc/ref/c++/html/search/classes_2.js | 60 + doc/ref/c++/html/search/classes_3.html | 26 + doc/ref/c++/html/search/classes_3.js | 6 + doc/ref/c++/html/search/classes_4.html | 26 + doc/ref/c++/html/search/classes_4.js | 4 + doc/ref/c++/html/search/classes_5.html | 26 + doc/ref/c++/html/search/classes_5.js | 6 + doc/ref/c++/html/search/classes_6.html | 26 + doc/ref/c++/html/search/classes_6.js | 4 + doc/ref/c++/html/search/classes_7.html | 26 + doc/ref/c++/html/search/classes_7.js | 4 + doc/ref/c++/html/search/classes_8.html | 26 + doc/ref/c++/html/search/classes_8.js | 4 + doc/ref/c++/html/search/classes_9.html | 26 + doc/ref/c++/html/search/classes_9.js | 5 + doc/ref/c++/html/search/classes_a.html | 26 + doc/ref/c++/html/search/classes_a.js | 4 + doc/ref/c++/html/search/classes_b.html | 26 + doc/ref/c++/html/search/classes_b.js | 8 + doc/ref/c++/html/search/classes_c.html | 26 + doc/ref/c++/html/search/classes_c.js | 27 + doc/ref/c++/html/search/classes_d.html | 26 + doc/ref/c++/html/search/classes_d.js | 8 + doc/ref/c++/html/search/classes_e.html | 26 + doc/ref/c++/html/search/classes_e.js | 4 + doc/ref/c++/html/search/classes_f.html | 26 + doc/ref/c++/html/search/classes_f.js | 5 + doc/ref/c++/html/search/close.png | Bin 0 -> 273 bytes doc/ref/c++/html/search/defines_0.html | 26 + doc/ref/c++/html/search/defines_0.js | 11 + doc/ref/c++/html/search/enums_0.html | 26 + doc/ref/c++/html/search/enums_0.js | 4 + doc/ref/c++/html/search/enums_1.html | 26 + doc/ref/c++/html/search/enums_1.js | 4 + doc/ref/c++/html/search/enums_2.html | 26 + doc/ref/c++/html/search/enums_2.js | 4 + doc/ref/c++/html/search/enums_3.html | 26 + doc/ref/c++/html/search/enums_3.js | 5 + doc/ref/c++/html/search/enumvalues_0.html | 26 + doc/ref/c++/html/search/enumvalues_0.js | 6 + doc/ref/c++/html/search/enumvalues_1.html | 26 + doc/ref/c++/html/search/enumvalues_1.js | 4 + doc/ref/c++/html/search/enumvalues_2.html | 26 + doc/ref/c++/html/search/enumvalues_2.js | 5 + doc/ref/c++/html/search/enumvalues_3.html | 26 + doc/ref/c++/html/search/enumvalues_3.js | 6 + doc/ref/c++/html/search/enumvalues_4.html | 26 + doc/ref/c++/html/search/enumvalues_4.js | 4 + doc/ref/c++/html/search/enumvalues_5.html | 26 + doc/ref/c++/html/search/enumvalues_5.js | 4 + doc/ref/c++/html/search/enumvalues_6.html | 26 + doc/ref/c++/html/search/enumvalues_6.js | 5 + doc/ref/c++/html/search/enumvalues_7.html | 26 + doc/ref/c++/html/search/enumvalues_7.js | 5 + doc/ref/c++/html/search/enumvalues_8.html | 26 + doc/ref/c++/html/search/enumvalues_8.js | 5 + doc/ref/c++/html/search/enumvalues_9.html | 26 + doc/ref/c++/html/search/enumvalues_9.js | 4 + doc/ref/c++/html/search/enumvalues_a.html | 26 + doc/ref/c++/html/search/enumvalues_a.js | 4 + doc/ref/c++/html/search/enumvalues_b.html | 26 + doc/ref/c++/html/search/enumvalues_b.js | 6 + doc/ref/c++/html/search/enumvalues_c.html | 26 + doc/ref/c++/html/search/enumvalues_c.js | 4 + doc/ref/c++/html/search/enumvalues_d.html | 26 + doc/ref/c++/html/search/enumvalues_d.js | 7 + doc/ref/c++/html/search/files_0.html | 26 + doc/ref/c++/html/search/files_0.js | 7 + doc/ref/c++/html/search/files_1.html | 26 + doc/ref/c++/html/search/files_1.js | 4 + doc/ref/c++/html/search/files_2.html | 26 + doc/ref/c++/html/search/files_2.js | 13 + doc/ref/c++/html/search/files_3.html | 26 + doc/ref/c++/html/search/files_3.js | 4 + doc/ref/c++/html/search/files_4.html | 26 + doc/ref/c++/html/search/files_4.js | 4 + doc/ref/c++/html/search/files_5.html | 26 + doc/ref/c++/html/search/files_5.js | 5 + doc/ref/c++/html/search/files_6.html | 26 + doc/ref/c++/html/search/files_6.js | 4 + doc/ref/c++/html/search/files_7.html | 26 + doc/ref/c++/html/search/files_7.js | 4 + doc/ref/c++/html/search/files_8.html | 26 + doc/ref/c++/html/search/files_8.js | 5 + doc/ref/c++/html/search/files_9.html | 26 + doc/ref/c++/html/search/files_9.js | 16 + doc/ref/c++/html/search/files_a.html | 26 + doc/ref/c++/html/search/files_a.js | 8 + doc/ref/c++/html/search/functions_0.html | 26 + doc/ref/c++/html/search/functions_0.js | 19 + doc/ref/c++/html/search/functions_1.html | 26 + doc/ref/c++/html/search/functions_1.js | 8 + doc/ref/c++/html/search/functions_10.html | 26 + doc/ref/c++/html/search/functions_10.js | 46 + doc/ref/c++/html/search/functions_11.html | 26 + doc/ref/c++/html/search/functions_11.js | 9 + doc/ref/c++/html/search/functions_12.html | 26 + doc/ref/c++/html/search/functions_12.js | 6 + doc/ref/c++/html/search/functions_13.html | 26 + doc/ref/c++/html/search/functions_13.js | 8 + doc/ref/c++/html/search/functions_14.html | 26 + doc/ref/c++/html/search/functions_14.js | 37 + doc/ref/c++/html/search/functions_2.html | 26 + doc/ref/c++/html/search/functions_2.js | 43 + doc/ref/c++/html/search/functions_3.html | 26 + doc/ref/c++/html/search/functions_3.js | 9 + doc/ref/c++/html/search/functions_4.html | 26 + doc/ref/c++/html/search/functions_4.js | 6 + doc/ref/c++/html/search/functions_5.html | 26 + doc/ref/c++/html/search/functions_5.js | 13 + doc/ref/c++/html/search/functions_6.html | 26 + doc/ref/c++/html/search/functions_6.js | 14 + doc/ref/c++/html/search/functions_7.html | 26 + doc/ref/c++/html/search/functions_7.js | 6 + doc/ref/c++/html/search/functions_8.html | 26 + doc/ref/c++/html/search/functions_8.js | 8 + doc/ref/c++/html/search/functions_9.html | 26 + doc/ref/c++/html/search/functions_9.js | 4 + doc/ref/c++/html/search/functions_a.html | 26 + doc/ref/c++/html/search/functions_a.js | 7 + doc/ref/c++/html/search/functions_b.html | 26 + doc/ref/c++/html/search/functions_b.js | 7 + doc/ref/c++/html/search/functions_c.html | 26 + doc/ref/c++/html/search/functions_c.js | 7 + doc/ref/c++/html/search/functions_d.html | 26 + doc/ref/c++/html/search/functions_d.js | 9 + doc/ref/c++/html/search/functions_e.html | 26 + doc/ref/c++/html/search/functions_e.js | 6 + doc/ref/c++/html/search/functions_f.html | 26 + doc/ref/c++/html/search/functions_f.js | 23 + doc/ref/c++/html/search/mag_sel.png | Bin 0 -> 563 bytes doc/ref/c++/html/search/namespaces_0.html | 26 + doc/ref/c++/html/search/namespaces_0.js | 8 + doc/ref/c++/html/search/nomatches.html | 12 + doc/ref/c++/html/search/related_0.html | 26 + doc/ref/c++/html/search/related_0.js | 20 + doc/ref/c++/html/search/related_1.html | 26 + doc/ref/c++/html/search/related_1.js | 5 + doc/ref/c++/html/search/related_2.html | 26 + doc/ref/c++/html/search/related_2.js | 6 + doc/ref/c++/html/search/related_3.html | 26 + doc/ref/c++/html/search/related_3.js | 10 + doc/ref/c++/html/search/related_4.html | 26 + doc/ref/c++/html/search/related_4.js | 4 + doc/ref/c++/html/search/related_5.html | 26 + doc/ref/c++/html/search/related_5.js | 4 + doc/ref/c++/html/search/related_6.html | 26 + doc/ref/c++/html/search/related_6.js | 9 + doc/ref/c++/html/search/related_7.html | 26 + doc/ref/c++/html/search/related_7.js | 4 + doc/ref/c++/html/search/search.css | 271 + doc/ref/c++/html/search/search.js | 813 +++ doc/ref/c++/html/search/search_l.png | Bin 0 -> 604 bytes doc/ref/c++/html/search/search_m.png | Bin 0 -> 158 bytes doc/ref/c++/html/search/search_r.png | Bin 0 -> 612 bytes doc/ref/c++/html/search/typedefs_0.html | 26 + doc/ref/c++/html/search/typedefs_0.js | 4 + doc/ref/c++/html/search/typedefs_1.html | 26 + doc/ref/c++/html/search/typedefs_1.js | 4 + doc/ref/c++/html/search/typedefs_2.html | 26 + doc/ref/c++/html/search/typedefs_2.js | 5 + doc/ref/c++/html/search/typedefs_3.html | 26 + doc/ref/c++/html/search/typedefs_3.js | 4 + doc/ref/c++/html/search/typedefs_4.html | 26 + doc/ref/c++/html/search/typedefs_4.js | 4 + doc/ref/c++/html/search/typedefs_5.html | 26 + doc/ref/c++/html/search/typedefs_5.js | 4 + doc/ref/c++/html/search/typedefs_6.html | 26 + doc/ref/c++/html/search/typedefs_6.js | 5 + doc/ref/c++/html/search/variables_0.html | 26 + doc/ref/c++/html/search/variables_0.js | 6 + doc/ref/c++/html/search/variables_1.html | 26 + doc/ref/c++/html/search/variables_1.js | 4 + doc/ref/c++/html/search/variables_2.html | 26 + doc/ref/c++/html/search/variables_2.js | 4 + doc/ref/c++/html/search/variables_3.html | 26 + doc/ref/c++/html/search/variables_3.js | 5 + doc/ref/c++/html/search/variables_4.html | 26 + doc/ref/c++/html/search/variables_4.js | 5 + doc/ref/c++/html/search/variables_5.html | 26 + doc/ref/c++/html/search/variables_5.js | 4 + doc/ref/c++/html/search/variables_6.html | 26 + doc/ref/c++/html/search/variables_6.js | 8 + doc/ref/c++/html/search/variables_7.html | 26 + doc/ref/c++/html/search/variables_7.js | 4 + doc/ref/c++/html/search/variables_8.html | 26 + doc/ref/c++/html/search/variables_8.js | 5 + doc/ref/c++/html/serialization__traits_8h.html | 117 + .../c++/html/serialization__traits_8h_source.html | 148 + doc/ref/c++/html/server_8h.html | 124 + doc/ref/c++/html/server_8h_source.html | 373 ++ doc/ref/c++/html/server__builder_8h.html | 119 + doc/ref/c++/html/server__builder_8h_source.html | 256 + doc/ref/c++/html/server__context_8h.html | 147 + doc/ref/c++/html/server__context_8h_source.html | 319 ++ doc/ref/c++/html/server__credentials_8h.html | 133 + .../c++/html/server__credentials_8h_source.html | 194 + doc/ref/c++/html/service__type_8h.html | 124 + doc/ref/c++/html/service__type_8h_source.html | 247 + doc/ref/c++/html/slice_8h.html | 118 + doc/ref/c++/html/slice_8h_source.html | 188 + doc/ref/c++/html/status_8h.html | 118 + doc/ref/c++/html/status_8h_source.html | 177 + doc/ref/c++/html/status__code__enum_8h.html | 140 + doc/ref/c++/html/status__code__enum_8h_source.html | 278 ++ doc/ref/c++/html/stream_8h.html | 170 + doc/ref/c++/html/stream_8h_source.html | 994 ++++ ...c_1_1_method_handler_1_1_handler_parameter.html | 223 + .../structgrpc_1_1_ssl_credentials_options.html | 156 + ...uctgrpc_1_1_ssl_server_credentials_options.html | 192 + ..._credentials_options_1_1_pem_key_cert_pair.html | 142 + doc/ref/c++/html/sync_8h.html | 104 + doc/ref/c++/html/sync_8h_source.html | 148 + doc/ref/c++/html/sync__cxx11_8h.html | 112 + doc/ref/c++/html/sync__cxx11_8h_source.html | 149 + doc/ref/c++/html/sync__no__cxx11_8h.html | 125 + doc/ref/c++/html/sync__no__cxx11_8h_source.html | 219 + doc/ref/c++/html/sync_off.png | Bin 0 -> 853 bytes doc/ref/c++/html/sync_on.png | Bin 0 -> 845 bytes doc/ref/c++/html/tab_a.png | Bin 0 -> 142 bytes doc/ref/c++/html/tab_b.png | Bin 0 -> 169 bytes doc/ref/c++/html/tab_h.png | Bin 0 -> 177 bytes doc/ref/c++/html/tab_s.png | Bin 0 -> 184 bytes doc/ref/c++/html/tabs.css | 60 + doc/ref/c++/html/thd_8h.html | 104 + doc/ref/c++/html/thd_8h_source.html | 148 + doc/ref/c++/html/thd__cxx11_8h.html | 111 + doc/ref/c++/html/thd__cxx11_8h_source.html | 145 + doc/ref/c++/html/thd__no__cxx11_8h.html | 117 + doc/ref/c++/html/thd__no__cxx11_8h_source.html | 197 + doc/ref/c++/html/thread__pool__interface_8h.html | 123 + .../html/thread__pool__interface_8h_source.html | 158 + doc/ref/c++/html/time_8h.html | 133 + doc/ref/c++/html/time_8h_source.html | 221 + .../core.internal/html/add__channel__arg_8c.html | 139 + .../core.internal/html/add__channel__arg_8h.html | 140 + .../html/add__channel__arg_8h_source.html | 146 + doc/ref/core.internal/html/alarm_8c.html | 374 ++ doc/ref/core.internal/html/alarm_8h.html | 200 + doc/ref/core.internal/html/alarm_8h_source.html | 205 + doc/ref/core.internal/html/alarm__heap_8c.html | 289 ++ doc/ref/core.internal/html/alarm__heap_8h.html | 261 + .../core.internal/html/alarm__heap_8h_source.html | 169 + doc/ref/core.internal/html/alarm__internal_8h.html | 216 + .../html/alarm__internal_8h_source.html | 170 + doc/ref/core.internal/html/algorithm_8c.html | 217 + doc/ref/core.internal/html/alloc_8c.html | 219 + doc/ref/core.internal/html/alloc_8h.html | 219 + doc/ref/core.internal/html/alloc_8h_source.html | 162 + doc/ref/core.internal/html/alpn_8c.html | 173 + doc/ref/core.internal/html/alpn_8h.html | 173 + doc/ref/core.internal/html/alpn_8h_source.html | 152 + doc/ref/core.internal/html/annotated.html | 346 ++ doc/ref/core.internal/html/atm_8h.html | 102 + doc/ref/core.internal/html/atm_8h_source.html | 195 + .../core.internal/html/atm__gcc__atomic_8h.html | 293 ++ .../html/atm__gcc__atomic_8h_source.html | 177 + doc/ref/core.internal/html/atm__gcc__sync_8h.html | 337 ++ .../html/atm__gcc__sync_8h_source.html | 197 + doc/ref/core.internal/html/atm__win32_8h.html | 142 + .../core.internal/html/atm__win32_8h_source.html | 240 + doc/ref/core.internal/html/auth__filters_8h.html | 137 + .../html/auth__filters_8h_source.html | 145 + doc/ref/core.internal/html/base64_8c.html | 274 ++ doc/ref/core.internal/html/base64_8h.html | 211 + doc/ref/core.internal/html/base64_8h_source.html | 156 + doc/ref/core.internal/html/basic__timers_8c.html | 143 + doc/ref/core.internal/html/bc_s.png | Bin 0 -> 676 bytes doc/ref/core.internal/html/bdwn.png | Bin 0 -> 147 bytes doc/ref/core.internal/html/bin__encoder_8c.html | 200 + doc/ref/core.internal/html/bin__encoder_8h.html | 191 + .../core.internal/html/bin__encoder_8h_source.html | 162 + doc/ref/core.internal/html/byte__buffer_8c.html | 265 + doc/ref/core.internal/html/byte__buffer_8h.html | 416 ++ .../core.internal/html/byte__buffer_8h_source.html | 212 + .../core.internal/html/byte__buffer__queue_8c.html | 227 + .../core.internal/html/byte__buffer__queue_8h.html | 235 + .../html/byte__buffer__queue_8h_source.html | 178 + .../html/byte__buffer__reader_8c.html | 200 + .../html/byte__buffer__reader_8h.html | 111 + .../html/byte__buffer__reader_8h_source.html | 165 + doc/ref/core.internal/html/call_8c.html | 954 ++++ doc/ref/core.internal/html/call_8h.html | 938 ++++ doc/ref/core.internal/html/call_8h_source.html | 330 ++ doc/ref/core.internal/html/call__details_8c.html | 145 + .../core.internal/html/call__log__batch_8c.html | 333 ++ doc/ref/core.internal/html/cancellable_8c.html | 221 + .../html/cancellable__platform_8h.html | 113 + .../html/cancellable__platform_8h_source.html | 168 + doc/ref/core.internal/html/census_2context_8h.html | 110 + .../html/census_2context_8h_source.html | 153 + doc/ref/core.internal/html/census_8h.html | 369 ++ doc/ref/core.internal/html/census_8h_source.html | 232 + doc/ref/core.internal/html/census__filter_8h.html | 137 + .../html/census__filter_8h_source.html | 147 + .../core.internal/html/channel_2context_8h.html | 139 + .../html/channel_2context_8h_source.html | 154 + doc/ref/core.internal/html/channel_8c.html | 639 +++ doc/ref/core.internal/html/channel_8h.html | 405 ++ doc/ref/core.internal/html/channel_8h_source.html | 191 + doc/ref/core.internal/html/channel__args_8c.html | 294 ++ doc/ref/core.internal/html/channel__args_8h.html | 293 ++ .../html/channel__args_8h_source.html | 171 + .../html/channel__connectivity_8c.html | 232 + doc/ref/core.internal/html/channel__create_8c.html | 177 + doc/ref/core.internal/html/channel__stack_8c.html | 556 +++ doc/ref/core.internal/html/channel__stack_8h.html | 622 +++ .../html/channel__stack_8h_source.html | 339 ++ .../core.internal/html/chttp2__transport_8c.html | 651 +++ .../core.internal/html/chttp2__transport_8h.html | 217 + .../html/chttp2__transport_8h_source.html | 160 + doc/ref/core.internal/html/classes.html | 177 + .../html/client__auth__filter_8c.html | 167 + doc/ref/core.internal/html/client__channel_8c.html | 405 ++ doc/ref/core.internal/html/client__channel_8h.html | 293 ++ .../html/client__channel_8h_source.html | 185 + doc/ref/core.internal/html/client__config_8c.html | 214 + doc/ref/core.internal/html/client__config_8h.html | 231 + .../html/client__config_8h_source.html | 158 + doc/ref/core.internal/html/closed.png | Bin 0 -> 132 bytes doc/ref/core.internal/html/cmdline_8c.html | 434 ++ doc/ref/core.internal/html/cmdline_8h.html | 391 ++ doc/ref/core.internal/html/cmdline_8h_source.html | 209 + .../core.internal/html/completion__queue_8c.html | 438 ++ .../core.internal/html/completion__queue_8h.html | 374 ++ .../html/completion__queue_8h_source.html | 199 + .../core.internal/html/compress__filter_8c.html | 196 + .../core.internal/html/compress__filter_8h.html | 154 + .../html/compress__filter_8h_source.html | 145 + doc/ref/core.internal/html/compression_8h.html | 305 ++ .../core.internal/html/compression_8h_source.html | 190 + .../core.internal/html/connected__channel_8c.html | 274 ++ .../core.internal/html/connected__channel_8h.html | 156 + .../html/connected__channel_8h_source.html | 154 + .../core.internal/html/connectivity__state_8c.html | 334 ++ .../core.internal/html/connectivity__state_8h.html | 344 ++ .../html/connectivity__state_8h_source.html | 194 + doc/ref/core.internal/html/connector_8c.html | 183 + doc/ref/core.internal/html/connector_8h.html | 233 + .../core.internal/html/connector_8h_source.html | 208 + doc/ref/core.internal/html/context_8c.html | 190 + doc/ref/core.internal/html/cpu_8h.html | 144 + doc/ref/core.internal/html/cpu_8h_source.html | 158 + doc/ref/core.internal/html/cpu__iphone_8c.html | 100 + doc/ref/core.internal/html/cpu__linux_8c.html | 121 + doc/ref/core.internal/html/cpu__posix_8c.html | 100 + doc/ref/core.internal/html/cpu__windows_8c.html | 100 + doc/ref/core.internal/html/credentials_8c.html | 825 ++++ doc/ref/core.internal/html/credentials_8h.html | 1053 ++++ .../core.internal/html/credentials_8h_source.html | 538 ++ .../html/credentials__metadata_8c.html | 231 + .../core.internal/html/credentials__posix_8c.html | 100 + .../core.internal/html/credentials__win32_8c.html | 100 + .../html/dir_03e3f2561cf9e09e514d23ee8902839b.html | 113 + .../html/dir_35c0979e6ab890cbca79261dc9fc2958.html | 103 + .../html/dir_3f1a464cbd6442b4d6b6ee306c9b0460.html | 229 + .../html/dir_3f4beedb24b0e92d29e048ed944a7adc.html | 105 + .../html/dir_5349cec9f9058ade8b7779c683443df9.html | 101 + .../html/dir_63ea090b1bf0393f23b745b651ae7f2b.html | 109 + .../html/dir_68267d1309a1af8e8297ef4c3efbcdba.html | 99 + .../html/dir_7283b8f5e6e3c4b0819c2b491a18d7d4.html | 113 + .../html/dir_73fa28a1e06161e89b964f34cd202aba.html | 105 + .../html/dir_79268b13b30141157b35932967b4e740.html | 126 + .../html/dir_8aa15e76222df75340b2e23e43efb3e2.html | 133 + .../html/dir_9410f15740cc8f8ab312fa27ab494b45.html | 187 + .../html/dir_99f60d2bb6231896bcd2887028065f74.html | 111 + .../html/dir_9d7a14d6d9adcbe4c35dbdb88d867e2e.html | 116 + .../html/dir_aebb8dcc11953d78e620bbef0b9e2183.html | 125 + .../html/dir_b758f7a0b27044dfb0efa69af3c473f5.html | 145 + .../html/dir_bbc3f91aaf5c0e78deeca586ef449264.html | 101 + .../html/dir_bf8522d75c0d0c872d1b1e399b1737b8.html | 177 + .../html/dir_c11753f61f8d651d8cfd411cfadfafab.html | 105 + .../html/dir_cad3142e04109052413f2d2a2d1813b0.html | 153 + .../html/dir_d44c64559bbebec7f509842c48db8b23.html | 99 + .../html/dir_d6c86f4345f838817939dd561d8a016c.html | 142 + .../html/dir_ea54cbef5e3ffa125df07262bbfc9627.html | 155 + doc/ref/core.internal/html/dns__resolver_8c.html | 141 + doc/ref/core.internal/html/dns__resolver_8h.html | 130 + .../html/dns__resolver_8h_source.html | 143 + doc/ref/core.internal/html/doxygen.css | 1366 ++++++ doc/ref/core.internal/html/doxygen.png | Bin 0 -> 3779 bytes doc/ref/core.internal/html/dynsections.js | 97 + doc/ref/core.internal/html/endpoint_8c.html | 297 ++ doc/ref/core.internal/html/endpoint_8h.html | 459 ++ doc/ref/core.internal/html/endpoint_8h_source.html | 245 + doc/ref/core.internal/html/endpoint__pair_8h.html | 143 + .../html/endpoint__pair_8h_source.html | 152 + .../html/endpoint__pair__posix_8c.html | 100 + .../html/endpoint__pair__windows_8c.html | 100 + doc/ref/core.internal/html/env_8h.html | 156 + doc/ref/core.internal/html/env_8h_source.html | 163 + doc/ref/core.internal/html/env__linux_8c.html | 121 + doc/ref/core.internal/html/env__posix_8c.html | 100 + doc/ref/core.internal/html/env__win32_8c.html | 100 + doc/ref/core.internal/html/event__string_8c.html | 129 + doc/ref/core.internal/html/event__string_8h.html | 127 + .../html/event__string_8h_source.html | 144 + .../html/fake__transport__security_8c.html | 245 + .../html/fake__transport__security_8h.html | 164 + .../html/fake__transport__security_8h_source.html | 165 + doc/ref/core.internal/html/fd__posix_8c.html | 100 + doc/ref/core.internal/html/fd__posix_8h.html | 577 +++ .../core.internal/html/fd__posix_8h_source.html | 325 ++ doc/ref/core.internal/html/file_8c.html | 146 + doc/ref/core.internal/html/file_8h.html | 172 + doc/ref/core.internal/html/file_8h_source.html | 166 + doc/ref/core.internal/html/file__posix_8c.html | 100 + doc/ref/core.internal/html/file__win32_8c.html | 100 + doc/ref/core.internal/html/files.html | 457 ++ doc/ref/core.internal/html/format__request_8c.html | 166 + doc/ref/core.internal/html/format__request_8h.html | 162 + .../html/format__request_8h_source.html | 150 + doc/ref/core.internal/html/frame_8h.html | 371 ++ doc/ref/core.internal/html/frame_8h_source.html | 176 + doc/ref/core.internal/html/frame__data_8c.html | 223 + doc/ref/core.internal/html/frame__data_8h.html | 288 ++ .../core.internal/html/frame__data_8h_source.html | 211 + doc/ref/core.internal/html/frame__goaway_8c.html | 267 + doc/ref/core.internal/html/frame__goaway_8h.html | 326 ++ .../html/frame__goaway_8h_source.html | 207 + doc/ref/core.internal/html/frame__ping_8c.html | 219 + doc/ref/core.internal/html/frame__ping_8h.html | 224 + .../core.internal/html/frame__ping_8h_source.html | 167 + .../core.internal/html/frame__rst__stream_8c.html | 218 + .../core.internal/html/frame__rst__stream_8h.html | 224 + .../html/frame__rst__stream_8h_source.html | 165 + doc/ref/core.internal/html/frame__settings_8c.html | 294 ++ doc/ref/core.internal/html/frame__settings_8h.html | 387 ++ .../html/frame__settings_8h_source.html | 244 + .../html/frame__window__update_8c.html | 217 + .../html/frame__window__update_8h.html | 224 + .../html/frame__window__update_8h_source.html | 170 + doc/ref/core.internal/html/ftv2blank.png | Bin 0 -> 86 bytes doc/ref/core.internal/html/ftv2cl.png | Bin 0 -> 453 bytes doc/ref/core.internal/html/ftv2doc.png | Bin 0 -> 746 bytes doc/ref/core.internal/html/ftv2folderclosed.png | Bin 0 -> 616 bytes doc/ref/core.internal/html/ftv2folderopen.png | Bin 0 -> 597 bytes doc/ref/core.internal/html/ftv2lastnode.png | Bin 0 -> 86 bytes doc/ref/core.internal/html/ftv2link.png | Bin 0 -> 746 bytes doc/ref/core.internal/html/ftv2mlastnode.png | Bin 0 -> 246 bytes doc/ref/core.internal/html/ftv2mnode.png | Bin 0 -> 246 bytes doc/ref/core.internal/html/ftv2mo.png | Bin 0 -> 403 bytes doc/ref/core.internal/html/ftv2node.png | Bin 0 -> 86 bytes doc/ref/core.internal/html/ftv2ns.png | Bin 0 -> 388 bytes doc/ref/core.internal/html/ftv2plastnode.png | Bin 0 -> 229 bytes doc/ref/core.internal/html/ftv2pnode.png | Bin 0 -> 229 bytes doc/ref/core.internal/html/ftv2splitbar.png | Bin 0 -> 314 bytes doc/ref/core.internal/html/ftv2vertline.png | Bin 0 -> 86 bytes doc/ref/core.internal/html/functions.html | 275 ++ doc/ref/core.internal/html/functions_b.html | 250 + doc/ref/core.internal/html/functions_c.html | 508 ++ doc/ref/core.internal/html/functions_d.html | 261 + doc/ref/core.internal/html/functions_e.html | 200 + doc/ref/core.internal/html/functions_f.html | 222 + doc/ref/core.internal/html/functions_g.html | 192 + doc/ref/core.internal/html/functions_h.html | 256 + doc/ref/core.internal/html/functions_i.html | 343 ++ doc/ref/core.internal/html/functions_j.html | 144 + doc/ref/core.internal/html/functions_k.html | 165 + doc/ref/core.internal/html/functions_l.html | 198 + doc/ref/core.internal/html/functions_m.html | 290 ++ doc/ref/core.internal/html/functions_n.html | 255 + doc/ref/core.internal/html/functions_o.html | 276 ++ doc/ref/core.internal/html/functions_p.html | 355 ++ doc/ref/core.internal/html/functions_q.html | 136 + doc/ref/core.internal/html/functions_r.html | 356 ++ doc/ref/core.internal/html/functions_s.html | 533 ++ doc/ref/core.internal/html/functions_t.html | 236 + doc/ref/core.internal/html/functions_u.html | 197 + doc/ref/core.internal/html/functions_v.html | 178 + doc/ref/core.internal/html/functions_vars.html | 275 ++ doc/ref/core.internal/html/functions_vars_b.html | 250 + doc/ref/core.internal/html/functions_vars_c.html | 508 ++ doc/ref/core.internal/html/functions_vars_d.html | 261 + doc/ref/core.internal/html/functions_vars_e.html | 200 + doc/ref/core.internal/html/functions_vars_f.html | 222 + doc/ref/core.internal/html/functions_vars_g.html | 192 + doc/ref/core.internal/html/functions_vars_h.html | 256 + doc/ref/core.internal/html/functions_vars_i.html | 343 ++ doc/ref/core.internal/html/functions_vars_j.html | 144 + doc/ref/core.internal/html/functions_vars_k.html | 165 + doc/ref/core.internal/html/functions_vars_l.html | 198 + doc/ref/core.internal/html/functions_vars_m.html | 290 ++ doc/ref/core.internal/html/functions_vars_n.html | 255 + doc/ref/core.internal/html/functions_vars_o.html | 276 ++ doc/ref/core.internal/html/functions_vars_p.html | 355 ++ doc/ref/core.internal/html/functions_vars_q.html | 136 + doc/ref/core.internal/html/functions_vars_r.html | 356 ++ doc/ref/core.internal/html/functions_vars_s.html | 533 ++ doc/ref/core.internal/html/functions_vars_t.html | 236 + doc/ref/core.internal/html/functions_vars_u.html | 197 + doc/ref/core.internal/html/functions_vars_v.html | 178 + doc/ref/core.internal/html/functions_vars_w.html | 212 + doc/ref/core.internal/html/functions_w.html | 212 + doc/ref/core.internal/html/globals.html | 142 + doc/ref/core.internal/html/globals_a.html | 154 + doc/ref/core.internal/html/globals_b.html | 154 + doc/ref/core.internal/html/globals_c.html | 314 ++ doc/ref/core.internal/html/globals_d.html | 151 + doc/ref/core.internal/html/globals_defs.html | 136 + doc/ref/core.internal/html/globals_defs_a.html | 130 + doc/ref/core.internal/html/globals_defs_c.html | 190 + doc/ref/core.internal/html/globals_defs_d.html | 142 + doc/ref/core.internal/html/globals_defs_e.html | 130 + doc/ref/core.internal/html/globals_defs_f.html | 133 + doc/ref/core.internal/html/globals_defs_g.html | 752 +++ doc/ref/core.internal/html/globals_defs_h.html | 139 + doc/ref/core.internal/html/globals_defs_i.html | 145 + doc/ref/core.internal/html/globals_defs_l.html | 130 + doc/ref/core.internal/html/globals_defs_m.html | 164 + doc/ref/core.internal/html/globals_defs_n.html | 133 + doc/ref/core.internal/html/globals_defs_o.html | 133 + doc/ref/core.internal/html/globals_defs_r.html | 151 + doc/ref/core.internal/html/globals_defs_s.html | 164 + doc/ref/core.internal/html/globals_defs_t.html | 199 + doc/ref/core.internal/html/globals_defs_u.html | 136 + doc/ref/core.internal/html/globals_e.html | 142 + doc/ref/core.internal/html/globals_enum.html | 319 ++ doc/ref/core.internal/html/globals_eval.html | 139 + doc/ref/core.internal/html/globals_eval_b.html | 145 + doc/ref/core.internal/html/globals_eval_c.html | 172 + doc/ref/core.internal/html/globals_eval_d.html | 130 + doc/ref/core.internal/html/globals_eval_e.html | 133 + doc/ref/core.internal/html/globals_eval_g.html | 955 ++++ doc/ref/core.internal/html/globals_eval_h.html | 130 + doc/ref/core.internal/html/globals_eval_i.html | 136 + doc/ref/core.internal/html/globals_eval_l.html | 154 + doc/ref/core.internal/html/globals_eval_m.html | 133 + doc/ref/core.internal/html/globals_eval_n.html | 136 + doc/ref/core.internal/html/globals_eval_p.html | 133 + doc/ref/core.internal/html/globals_eval_r.html | 151 + doc/ref/core.internal/html/globals_eval_s.html | 166 + doc/ref/core.internal/html/globals_eval_t.html | 181 + doc/ref/core.internal/html/globals_eval_w.html | 139 + doc/ref/core.internal/html/globals_eval_z.html | 130 + doc/ref/core.internal/html/globals_f.html | 145 + doc/ref/core.internal/html/globals_func.html | 154 + doc/ref/core.internal/html/globals_func_g.html | 3085 ++++++++++++ doc/ref/core.internal/html/globals_func_o.html | 122 + doc/ref/core.internal/html/globals_func_p.html | 128 + doc/ref/core.internal/html/globals_func_t.html | 228 + doc/ref/core.internal/html/globals_func_v.html | 119 + doc/ref/core.internal/html/globals_g.html | 5171 ++++++++++++++++++++ doc/ref/core.internal/html/globals_h.html | 148 + doc/ref/core.internal/html/globals_i.html | 169 + doc/ref/core.internal/html/globals_k.html | 136 + doc/ref/core.internal/html/globals_l.html | 169 + doc/ref/core.internal/html/globals_m.html | 176 + doc/ref/core.internal/html/globals_n.html | 154 + doc/ref/core.internal/html/globals_o.html | 145 + doc/ref/core.internal/html/globals_p.html | 154 + doc/ref/core.internal/html/globals_r.html | 202 + doc/ref/core.internal/html/globals_s.html | 218 + doc/ref/core.internal/html/globals_t.html | 400 ++ doc/ref/core.internal/html/globals_type.html | 657 +++ doc/ref/core.internal/html/globals_u.html | 142 + doc/ref/core.internal/html/globals_v.html | 139 + doc/ref/core.internal/html/globals_vars.html | 240 + doc/ref/core.internal/html/globals_w.html | 151 + doc/ref/core.internal/html/globals_z.html | 136 + .../html/google__default__credentials_8c.html | 175 + doc/ref/core.internal/html/graph_legend.html | 153 + doc/ref/core.internal/html/graph_legend.md5 | 1 + doc/ref/core.internal/html/graph_legend.png | Bin 0 -> 19871 bytes doc/ref/core.internal/html/grpc_8h.html | 1877 +++++++ doc/ref/core.internal/html/grpc_8h_source.html | 565 +++ doc/ref/core.internal/html/grpc__context_8c.html | 155 + doc/ref/core.internal/html/grpc__security_8h.html | 863 ++++ .../html/grpc__security_8h_source.html | 409 ++ doc/ref/core.internal/html/histogram_8c.html | 486 ++ doc/ref/core.internal/html/histogram_8h.html | 495 ++ .../core.internal/html/histogram_8h_source.html | 198 + doc/ref/core.internal/html/host__port_8c.html | 179 + doc/ref/core.internal/html/host__port_8h.html | 176 + .../core.internal/html/host__port_8h_source.html | 165 + doc/ref/core.internal/html/hpack__parser_8c.html | 387 ++ doc/ref/core.internal/html/hpack__parser_8h.html | 299 ++ .../html/hpack__parser_8h_source.html | 257 + doc/ref/core.internal/html/hpack__table_8c.html | 266 + doc/ref/core.internal/html/hpack__table_8h.html | 328 ++ .../core.internal/html/hpack__table_8h_source.html | 221 + doc/ref/core.internal/html/http2__errors_8h.html | 171 + .../html/http2__errors_8h_source.html | 170 + .../html/http__client__filter_8c.html | 175 + .../html/http__client__filter_8h.html | 142 + .../html/http__client__filter_8h_source.html | 146 + .../html/http__server__filter_8c.html | 174 + .../html/http__server__filter_8h.html | 123 + .../html/http__server__filter_8h_source.html | 144 + doc/ref/core.internal/html/httpcli_8c.html | 305 ++ doc/ref/core.internal/html/httpcli_8h.html | 440 ++ doc/ref/core.internal/html/httpcli_8h_source.html | 279 ++ .../html/httpcli__security__connector_8c.html | 159 + .../html/httpcli__security__connector_8h.html | 149 + .../httpcli__security__connector_8h_source.html | 146 + doc/ref/core.internal/html/huffsyms_8c.html | 121 + doc/ref/core.internal/html/huffsyms_8h.html | 147 + doc/ref/core.internal/html/huffsyms_8h_source.html | 152 + .../core.internal/html/incoming__metadata_8c.html | 351 ++ .../core.internal/html/incoming__metadata_8h.html | 347 ++ .../html/incoming__metadata_8h_source.html | 196 + doc/ref/core.internal/html/index.html | 93 + doc/ref/core.internal/html/init_8c.html | 184 + doc/ref/core.internal/html/init_8h.html | 144 + doc/ref/core.internal/html/init_8h_source.html | 141 + doc/ref/core.internal/html/init__secure_8c.html | 128 + doc/ref/core.internal/html/initialize_8c.html | 189 + doc/ref/core.internal/html/internal_8h.html | 1841 +++++++ doc/ref/core.internal/html/internal_8h_source.html | 887 ++++ doc/ref/core.internal/html/iocp__windows_8c.html | 100 + doc/ref/core.internal/html/iocp__windows_8h.html | 268 + .../html/iocp__windows_8h_source.html | 162 + doc/ref/core.internal/html/iomgr_8c.html | 340 ++ doc/ref/core.internal/html/iomgr_8h.html | 293 ++ doc/ref/core.internal/html/iomgr_8h_source.html | 172 + doc/ref/core.internal/html/iomgr__internal_8h.html | 276 ++ .../html/iomgr__internal_8h_source.html | 169 + doc/ref/core.internal/html/iomgr__posix_8c.html | 100 + doc/ref/core.internal/html/iomgr__posix_8h.html | 145 + .../core.internal/html/iomgr__posix_8h_source.html | 144 + doc/ref/core.internal/html/iomgr__windows_8c.html | 100 + doc/ref/core.internal/html/jquery.js | 31 + doc/ref/core.internal/html/json_8c.html | 145 + doc/ref/core.internal/html/json_8h.html | 245 + doc/ref/core.internal/html/json_8h_source.html | 203 + doc/ref/core.internal/html/json__common_8h.html | 151 + .../core.internal/html/json__common_8h_source.html | 157 + doc/ref/core.internal/html/json__reader_8c.html | 179 + doc/ref/core.internal/html/json__reader_8h.html | 394 ++ .../core.internal/html/json__reader_8h_source.html | 331 ++ doc/ref/core.internal/html/json__string_8c.html | 214 + doc/ref/core.internal/html/json__token_8c.html | 421 ++ doc/ref/core.internal/html/json__token_8h.html | 401 ++ .../core.internal/html/json__token_8h_source.html | 243 + doc/ref/core.internal/html/json__writer_8c.html | 323 ++ doc/ref/core.internal/html/json__writer_8h.html | 366 ++ .../core.internal/html/json__writer_8h_source.html | 214 + doc/ref/core.internal/html/jwt__verifier_8c.html | 514 ++ doc/ref/core.internal/html/jwt__verifier_8h.html | 624 +++ .../html/jwt__verifier_8h_source.html | 274 ++ doc/ref/core.internal/html/lame__client_8c.html | 142 + doc/ref/core.internal/html/lb__policy_8c.html | 343 ++ doc/ref/core.internal/html/lb__policy_8h.html | 465 ++ .../core.internal/html/lb__policy_8h_source.html | 236 + doc/ref/core.internal/html/log_8c.html | 203 + doc/ref/core.internal/html/log_8h.html | 374 ++ doc/ref/core.internal/html/log_8h_source.html | 221 + doc/ref/core.internal/html/log__android_8c.html | 100 + doc/ref/core.internal/html/log__linux_8c.html | 135 + doc/ref/core.internal/html/log__posix_8c.html | 100 + doc/ref/core.internal/html/log__win32_8c.html | 100 + doc/ref/core.internal/html/log__win32_8h.html | 126 + .../core.internal/html/log__win32_8h_source.html | 151 + .../html/merge__channel__args_8c.html | 146 + .../html/merge__channel__args_8h.html | 140 + .../html/merge__channel__args_8h_source.html | 145 + .../core.internal/html/message__compress_8c.html | 232 + .../core.internal/html/message__compress_8h.html | 178 + .../html/message__compress_8h_source.html | 157 + doc/ref/core.internal/html/metadata_8c.html | 915 ++++ doc/ref/core.internal/html/metadata_8h.html | 938 ++++ doc/ref/core.internal/html/metadata_8h_source.html | 322 ++ doc/ref/core.internal/html/metadata__array_8c.html | 145 + doc/ref/core.internal/html/murmur__hash_8c.html | 225 + doc/ref/core.internal/html/murmur__hash_8h.html | 144 + .../core.internal/html/murmur__hash_8h_source.html | 147 + doc/ref/core.internal/html/nav_f.png | Bin 0 -> 153 bytes doc/ref/core.internal/html/nav_g.png | Bin 0 -> 95 bytes doc/ref/core.internal/html/nav_h.png | Bin 0 -> 98 bytes doc/ref/core.internal/html/noop__filter_8c.html | 177 + doc/ref/core.internal/html/noop__filter_8h.html | 123 + .../core.internal/html/noop__filter_8h_source.html | 146 + doc/ref/core.internal/html/open.png | Bin 0 -> 123 bytes doc/ref/core.internal/html/parser_8c.html | 193 + doc/ref/core.internal/html/parser_8h.html | 229 + doc/ref/core.internal/html/parser_8h_source.html | 184 + doc/ref/core.internal/html/parsing_8c.html | 218 + doc/ref/core.internal/html/pick__first_8c.html | 268 + doc/ref/core.internal/html/pick__first_8h.html | 140 + .../core.internal/html/pick__first_8h_source.html | 145 + doc/ref/core.internal/html/pollset_8h.html | 226 + doc/ref/core.internal/html/pollset_8h_source.html | 186 + .../html/pollset__kick__posix_8c.html | 100 + .../html/pollset__kick__posix_8h.html | 357 ++ .../html/pollset__kick__posix_8h_source.html | 215 + .../html/pollset__multipoller__with__epoll_8c.html | 100 + ...pollset__multipoller__with__poll__posix_8c.html | 100 + doc/ref/core.internal/html/pollset__posix_8c.html | 100 + doc/ref/core.internal/html/pollset__posix_8h.html | 379 ++ .../html/pollset__posix_8h_source.html | 254 + doc/ref/core.internal/html/pollset__set_8h.html | 201 + .../core.internal/html/pollset__set_8h_source.html | 167 + .../core.internal/html/pollset__set__posix_8c.html | 100 + .../core.internal/html/pollset__set__posix_8h.html | 191 + .../html/pollset__set__posix_8h_source.html | 170 + .../html/pollset__set__windows_8c.html | 100 + .../html/pollset__set__windows_8h.html | 128 + .../html/pollset__set__windows_8h_source.html | 141 + .../core.internal/html/pollset__windows_8c.html | 100 + .../core.internal/html/pollset__windows_8h.html | 153 + .../html/pollset__windows_8h_source.html | 161 + doc/ref/core.internal/html/port__platform_8h.html | 352 ++ .../html/port__platform_8h_source.html | 441 ++ doc/ref/core.internal/html/record__stat_8c.html | 142 + .../core.internal/html/resolve__address_8h.html | 241 + .../html/resolve__address_8h_source.html | 180 + .../html/resolve__address__posix_8c.html | 100 + .../html/resolve__address__windows_8c.html | 100 + doc/ref/core.internal/html/resolver_8c.html | 266 + doc/ref/core.internal/html/resolver_8h.html | 373 ++ doc/ref/core.internal/html/resolver_8h_source.html | 206 + .../core.internal/html/resolver__factory_8c.html | 180 + .../core.internal/html/resolver__factory_8h.html | 228 + .../html/resolver__factory_8h_source.html | 178 + .../core.internal/html/resolver__registry_8c.html | 236 + .../core.internal/html/resolver__registry_8h.html | 209 + .../html/resolver__registry_8h_source.html | 156 + doc/ref/core.internal/html/rpc__stat__id_8h.html | 206 + .../html/rpc__stat__id_8h_source.html | 145 + doc/ref/core.internal/html/search/all_0.html | 26 + doc/ref/core.internal/html/search/all_0.js | 5 + doc/ref/core.internal/html/search/all_1.html | 26 + doc/ref/core.internal/html/search/all_1.js | 67 + doc/ref/core.internal/html/search/all_10.html | 26 + doc/ref/core.internal/html/search/all_10.js | 95 + doc/ref/core.internal/html/search/all_11.html | 26 + doc/ref/core.internal/html/search/all_11.js | 5 + doc/ref/core.internal/html/search/all_12.html | 26 + doc/ref/core.internal/html/search/all_12.js | 100 + doc/ref/core.internal/html/search/all_13.html | 26 + doc/ref/core.internal/html/search/all_13.js | 219 + doc/ref/core.internal/html/search/all_14.html | 26 + doc/ref/core.internal/html/search/all_14.js | 159 + doc/ref/core.internal/html/search/all_15.html | 26 + doc/ref/core.internal/html/search/all_15.js | 25 + doc/ref/core.internal/html/search/all_16.html | 26 + doc/ref/core.internal/html/search/all_16.js | 14 + doc/ref/core.internal/html/search/all_17.html | 26 + doc/ref/core.internal/html/search/all_17.js | 42 + doc/ref/core.internal/html/search/all_18.html | 26 + doc/ref/core.internal/html/search/all_18.js | 4 + doc/ref/core.internal/html/search/all_2.html | 26 + doc/ref/core.internal/html/search/all_2.js | 50 + doc/ref/core.internal/html/search/all_3.html | 26 + doc/ref/core.internal/html/search/all_3.js | 216 + doc/ref/core.internal/html/search/all_4.html | 26 + doc/ref/core.internal/html/search/all_4.js | 44 + doc/ref/core.internal/html/search/all_5.html | 26 + doc/ref/core.internal/html/search/all_5.js | 40 + doc/ref/core.internal/html/search/all_6.html | 26 + doc/ref/core.internal/html/search/all_6.js | 59 + doc/ref/core.internal/html/search/all_7.html | 26 + doc/ref/core.internal/html/search/all_7.js | 1522 ++++++ doc/ref/core.internal/html/search/all_8.html | 26 + doc/ref/core.internal/html/search/all_8.js | 65 + doc/ref/core.internal/html/search/all_9.html | 26 + doc/ref/core.internal/html/search/all_9.js | 94 + doc/ref/core.internal/html/search/all_a.html | 26 + doc/ref/core.internal/html/search/all_a.js | 23 + doc/ref/core.internal/html/search/all_b.html | 26 + doc/ref/core.internal/html/search/all_b.js | 11 + doc/ref/core.internal/html/search/all_c.html | 26 + doc/ref/core.internal/html/search/all_c.js | 46 + doc/ref/core.internal/html/search/all_d.html | 26 + doc/ref/core.internal/html/search/all_d.js | 70 + doc/ref/core.internal/html/search/all_e.html | 26 + doc/ref/core.internal/html/search/all_e.js | 42 + doc/ref/core.internal/html/search/all_f.html | 26 + doc/ref/core.internal/html/search/all_f.js | 52 + doc/ref/core.internal/html/search/classes_0.html | 26 + doc/ref/core.internal/html/search/classes_0.js | 4 + doc/ref/core.internal/html/search/classes_1.html | 26 + doc/ref/core.internal/html/search/classes_1.js | 4 + doc/ref/core.internal/html/search/classes_10.html | 26 + doc/ref/core.internal/html/search/classes_10.js | 19 + doc/ref/core.internal/html/search/classes_11.html | 26 + doc/ref/core.internal/html/search/classes_11.js | 4 + doc/ref/core.internal/html/search/classes_12.html | 26 + doc/ref/core.internal/html/search/classes_12.js | 5 + doc/ref/core.internal/html/search/classes_2.html | 26 + doc/ref/core.internal/html/search/classes_2.js | 16 + doc/ref/core.internal/html/search/classes_3.html | 26 + doc/ref/core.internal/html/search/classes_3.js | 5 + doc/ref/core.internal/html/search/classes_4.html | 26 + doc/ref/core.internal/html/search/classes_4.js | 4 + doc/ref/core.internal/html/search/classes_5.html | 26 + doc/ref/core.internal/html/search/classes_5.js | 5 + doc/ref/core.internal/html/search/classes_6.html | 26 + doc/ref/core.internal/html/search/classes_6.js | 178 + doc/ref/core.internal/html/search/classes_7.html | 26 + doc/ref/core.internal/html/search/classes_7.js | 4 + doc/ref/core.internal/html/search/classes_8.html | 26 + doc/ref/core.internal/html/search/classes_8.js | 6 + doc/ref/core.internal/html/search/classes_9.html | 26 + doc/ref/core.internal/html/search/classes_9.js | 6 + doc/ref/core.internal/html/search/classes_a.html | 26 + doc/ref/core.internal/html/search/classes_a.js | 7 + doc/ref/core.internal/html/search/classes_b.html | 26 + doc/ref/core.internal/html/search/classes_b.js | 5 + doc/ref/core.internal/html/search/classes_c.html | 26 + doc/ref/core.internal/html/search/classes_c.js | 5 + doc/ref/core.internal/html/search/classes_d.html | 26 + doc/ref/core.internal/html/search/classes_d.js | 5 + doc/ref/core.internal/html/search/classes_e.html | 26 + doc/ref/core.internal/html/search/classes_e.js | 11 + doc/ref/core.internal/html/search/classes_f.html | 26 + doc/ref/core.internal/html/search/classes_f.js | 10 + doc/ref/core.internal/html/search/close.png | Bin 0 -> 273 bytes doc/ref/core.internal/html/search/defines_0.html | 26 + doc/ref/core.internal/html/search/defines_0.js | 5 + doc/ref/core.internal/html/search/defines_1.html | 26 + doc/ref/core.internal/html/search/defines_1.js | 4 + doc/ref/core.internal/html/search/defines_10.html | 26 + doc/ref/core.internal/html/search/defines_10.js | 6 + doc/ref/core.internal/html/search/defines_2.html | 26 + doc/ref/core.internal/html/search/defines_2.js | 24 + doc/ref/core.internal/html/search/defines_3.html | 26 + doc/ref/core.internal/html/search/defines_3.js | 8 + doc/ref/core.internal/html/search/defines_4.html | 26 + doc/ref/core.internal/html/search/defines_4.js | 4 + doc/ref/core.internal/html/search/defines_5.html | 26 + doc/ref/core.internal/html/search/defines_5.js | 5 + doc/ref/core.internal/html/search/defines_6.html | 26 + doc/ref/core.internal/html/search/defines_6.js | 206 + doc/ref/core.internal/html/search/defines_7.html | 26 + doc/ref/core.internal/html/search/defines_7.js | 7 + doc/ref/core.internal/html/search/defines_8.html | 26 + doc/ref/core.internal/html/search/defines_8.js | 9 + doc/ref/core.internal/html/search/defines_9.html | 26 + doc/ref/core.internal/html/search/defines_9.js | 4 + doc/ref/core.internal/html/search/defines_a.html | 26 + doc/ref/core.internal/html/search/defines_a.js | 15 + doc/ref/core.internal/html/search/defines_b.html | 26 + doc/ref/core.internal/html/search/defines_b.js | 5 + doc/ref/core.internal/html/search/defines_c.html | 26 + doc/ref/core.internal/html/search/defines_c.js | 5 + doc/ref/core.internal/html/search/defines_d.html | 26 + doc/ref/core.internal/html/search/defines_d.js | 11 + doc/ref/core.internal/html/search/defines_e.html | 26 + doc/ref/core.internal/html/search/defines_e.js | 15 + doc/ref/core.internal/html/search/defines_f.html | 26 + doc/ref/core.internal/html/search/defines_f.js | 26 + doc/ref/core.internal/html/search/enums_0.html | 26 + doc/ref/core.internal/html/search/enums_0.js | 4 + doc/ref/core.internal/html/search/enums_1.html | 26 + doc/ref/core.internal/html/search/enums_1.js | 4 + doc/ref/core.internal/html/search/enums_2.html | 26 + doc/ref/core.internal/html/search/enums_2.js | 6 + doc/ref/core.internal/html/search/enums_3.html | 26 + doc/ref/core.internal/html/search/enums_3.js | 5 + doc/ref/core.internal/html/search/enums_4.html | 26 + doc/ref/core.internal/html/search/enums_4.js | 41 + doc/ref/core.internal/html/search/enums_5.html | 26 + doc/ref/core.internal/html/search/enums_5.js | 4 + doc/ref/core.internal/html/search/enums_6.html | 26 + doc/ref/core.internal/html/search/enums_6.js | 6 + doc/ref/core.internal/html/search/enums_7.html | 26 + doc/ref/core.internal/html/search/enums_7.js | 5 + doc/ref/core.internal/html/search/enums_8.html | 26 + doc/ref/core.internal/html/search/enums_8.js | 5 + doc/ref/core.internal/html/search/enums_9.html | 26 + doc/ref/core.internal/html/search/enums_9.js | 4 + .../core.internal/html/search/enumvalues_0.html | 26 + doc/ref/core.internal/html/search/enumvalues_0.js | 7 + .../core.internal/html/search/enumvalues_1.html | 26 + doc/ref/core.internal/html/search/enumvalues_1.js | 9 + .../core.internal/html/search/enumvalues_10.html | 26 + doc/ref/core.internal/html/search/enumvalues_10.js | 4 + .../core.internal/html/search/enumvalues_2.html | 26 + doc/ref/core.internal/html/search/enumvalues_2.js | 18 + .../core.internal/html/search/enumvalues_3.html | 26 + doc/ref/core.internal/html/search/enumvalues_3.js | 4 + .../core.internal/html/search/enumvalues_4.html | 26 + doc/ref/core.internal/html/search/enumvalues_4.js | 5 + .../core.internal/html/search/enumvalues_5.html | 26 + doc/ref/core.internal/html/search/enumvalues_5.js | 279 ++ .../core.internal/html/search/enumvalues_6.html | 26 + doc/ref/core.internal/html/search/enumvalues_6.js | 4 + .../core.internal/html/search/enumvalues_7.html | 26 + doc/ref/core.internal/html/search/enumvalues_7.js | 6 + .../core.internal/html/search/enumvalues_8.html | 26 + doc/ref/core.internal/html/search/enumvalues_8.js | 12 + .../core.internal/html/search/enumvalues_9.html | 26 + doc/ref/core.internal/html/search/enumvalues_9.js | 5 + .../core.internal/html/search/enumvalues_a.html | 26 + doc/ref/core.internal/html/search/enumvalues_a.js | 6 + .../core.internal/html/search/enumvalues_b.html | 26 + doc/ref/core.internal/html/search/enumvalues_b.js | 5 + .../core.internal/html/search/enumvalues_c.html | 26 + doc/ref/core.internal/html/search/enumvalues_c.js | 11 + .../core.internal/html/search/enumvalues_d.html | 26 + doc/ref/core.internal/html/search/enumvalues_d.js | 16 + .../core.internal/html/search/enumvalues_e.html | 26 + doc/ref/core.internal/html/search/enumvalues_e.js | 21 + .../core.internal/html/search/enumvalues_f.html | 26 + doc/ref/core.internal/html/search/enumvalues_f.js | 7 + doc/ref/core.internal/html/search/files_0.html | 26 + doc/ref/core.internal/html/search/files_0.js | 20 + doc/ref/core.internal/html/search/files_1.html | 26 + doc/ref/core.internal/html/search/files_1.js | 14 + doc/ref/core.internal/html/search/files_10.html | 26 + doc/ref/core.internal/html/search/files_10.js | 42 + doc/ref/core.internal/html/search/files_11.html | 26 + doc/ref/core.internal/html/search/files_11.js | 6 + doc/ref/core.internal/html/search/files_12.html | 26 + doc/ref/core.internal/html/search/files_12.js | 6 + doc/ref/core.internal/html/search/files_13.html | 26 + doc/ref/core.internal/html/search/files_13.js | 10 + doc/ref/core.internal/html/search/files_2.html | 26 + doc/ref/core.internal/html/search/files_2.js | 52 + doc/ref/core.internal/html/search/files_3.html | 26 + doc/ref/core.internal/html/search/files_3.js | 5 + doc/ref/core.internal/html/search/files_4.html | 26 + doc/ref/core.internal/html/search/files_4.js | 14 + doc/ref/core.internal/html/search/files_5.html | 26 + doc/ref/core.internal/html/search/files_5.js | 26 + doc/ref/core.internal/html/search/files_6.html | 26 + doc/ref/core.internal/html/search/files_6.js | 7 + doc/ref/core.internal/html/search/files_7.html | 26 + doc/ref/core.internal/html/search/files_7.js | 22 + doc/ref/core.internal/html/search/files_8.html | 26 + doc/ref/core.internal/html/search/files_8.js | 18 + doc/ref/core.internal/html/search/files_9.html | 26 + doc/ref/core.internal/html/search/files_9.js | 15 + doc/ref/core.internal/html/search/files_a.html | 26 + doc/ref/core.internal/html/search/files_a.js | 13 + doc/ref/core.internal/html/search/files_b.html | 26 + doc/ref/core.internal/html/search/files_b.js | 12 + doc/ref/core.internal/html/search/files_c.html | 26 + doc/ref/core.internal/html/search/files_c.js | 5 + doc/ref/core.internal/html/search/files_d.html | 26 + doc/ref/core.internal/html/search/files_d.js | 23 + doc/ref/core.internal/html/search/files_e.html | 26 + doc/ref/core.internal/html/search/files_e.js | 14 + doc/ref/core.internal/html/search/files_f.html | 26 + doc/ref/core.internal/html/search/files_f.js | 71 + doc/ref/core.internal/html/search/functions_0.html | 26 + doc/ref/core.internal/html/search/functions_0.js | 13 + doc/ref/core.internal/html/search/functions_1.html | 26 + doc/ref/core.internal/html/search/functions_1.js | 777 +++ doc/ref/core.internal/html/search/functions_2.html | 26 + doc/ref/core.internal/html/search/functions_2.js | 5 + doc/ref/core.internal/html/search/functions_3.html | 26 + doc/ref/core.internal/html/search/functions_3.js | 7 + doc/ref/core.internal/html/search/functions_4.html | 26 + doc/ref/core.internal/html/search/functions_4.js | 31 + doc/ref/core.internal/html/search/functions_5.html | 26 + doc/ref/core.internal/html/search/functions_5.js | 4 + doc/ref/core.internal/html/search/mag_sel.png | Bin 0 -> 563 bytes doc/ref/core.internal/html/search/nomatches.html | 12 + doc/ref/core.internal/html/search/pages_0.html | 26 + doc/ref/core.internal/html/search/pages_0.js | 4 + doc/ref/core.internal/html/search/search.css | 271 + doc/ref/core.internal/html/search/search.js | 811 +++ doc/ref/core.internal/html/search/search_l.png | Bin 0 -> 604 bytes doc/ref/core.internal/html/search/search_m.png | Bin 0 -> 158 bytes doc/ref/core.internal/html/search/search_r.png | Bin 0 -> 612 bytes doc/ref/core.internal/html/search/typedefs_0.html | 26 + doc/ref/core.internal/html/search/typedefs_0.js | 4 + doc/ref/core.internal/html/search/typedefs_1.html | 26 + doc/ref/core.internal/html/search/typedefs_1.js | 7 + doc/ref/core.internal/html/search/typedefs_2.html | 26 + doc/ref/core.internal/html/search/typedefs_2.js | 138 + doc/ref/core.internal/html/search/typedefs_3.html | 26 + doc/ref/core.internal/html/search/typedefs_3.js | 5 + doc/ref/core.internal/html/search/typedefs_4.html | 26 + doc/ref/core.internal/html/search/typedefs_4.js | 5 + doc/ref/core.internal/html/search/typedefs_5.html | 26 + doc/ref/core.internal/html/search/typedefs_5.js | 5 + doc/ref/core.internal/html/search/typedefs_6.html | 26 + doc/ref/core.internal/html/search/typedefs_6.js | 4 + doc/ref/core.internal/html/search/typedefs_7.html | 26 + doc/ref/core.internal/html/search/typedefs_7.js | 7 + doc/ref/core.internal/html/search/typedefs_8.html | 26 + doc/ref/core.internal/html/search/typedefs_8.js | 4 + doc/ref/core.internal/html/search/typedefs_9.html | 26 + doc/ref/core.internal/html/search/typedefs_9.js | 9 + doc/ref/core.internal/html/search/typedefs_a.html | 26 + doc/ref/core.internal/html/search/typedefs_a.js | 4 + doc/ref/core.internal/html/search/variables_0.html | 26 + doc/ref/core.internal/html/search/variables_0.js | 44 + doc/ref/core.internal/html/search/variables_1.html | 26 + doc/ref/core.internal/html/search/variables_1.js | 31 + .../core.internal/html/search/variables_10.html | 26 + doc/ref/core.internal/html/search/variables_10.js | 5 + .../core.internal/html/search/variables_11.html | 26 + doc/ref/core.internal/html/search/variables_11.js | 66 + .../core.internal/html/search/variables_12.html | 26 + doc/ref/core.internal/html/search/variables_12.js | 121 + .../core.internal/html/search/variables_13.html | 26 + doc/ref/core.internal/html/search/variables_13.js | 33 + .../core.internal/html/search/variables_14.html | 26 + doc/ref/core.internal/html/search/variables_14.js | 19 + .../core.internal/html/search/variables_15.html | 26 + doc/ref/core.internal/html/search/variables_15.js | 9 + .../core.internal/html/search/variables_16.html | 26 + doc/ref/core.internal/html/search/variables_16.js | 30 + doc/ref/core.internal/html/search/variables_2.html | 26 + doc/ref/core.internal/html/search/variables_2.js | 109 + doc/ref/core.internal/html/search/variables_3.html | 26 + doc/ref/core.internal/html/search/variables_3.js | 35 + doc/ref/core.internal/html/search/variables_4.html | 26 + doc/ref/core.internal/html/search/variables_4.js | 25 + doc/ref/core.internal/html/search/variables_5.html | 26 + doc/ref/core.internal/html/search/variables_5.js | 31 + doc/ref/core.internal/html/search/variables_6.html | 26 + doc/ref/core.internal/html/search/variables_6.js | 50 + doc/ref/core.internal/html/search/variables_7.html | 26 + doc/ref/core.internal/html/search/variables_7.js | 41 + doc/ref/core.internal/html/search/variables_8.html | 26 + doc/ref/core.internal/html/search/variables_8.js | 66 + doc/ref/core.internal/html/search/variables_9.html | 26 + doc/ref/core.internal/html/search/variables_9.js | 8 + doc/ref/core.internal/html/search/variables_a.html | 26 + doc/ref/core.internal/html/search/variables_a.js | 11 + doc/ref/core.internal/html/search/variables_b.html | 26 + doc/ref/core.internal/html/search/variables_b.js | 22 + doc/ref/core.internal/html/search/variables_c.html | 26 + doc/ref/core.internal/html/search/variables_c.js | 45 + doc/ref/core.internal/html/search/variables_d.html | 26 + doc/ref/core.internal/html/search/variables_d.js | 33 + doc/ref/core.internal/html/search/variables_e.html | 26 + doc/ref/core.internal/html/search/variables_e.js | 48 + doc/ref/core.internal/html/search/variables_f.html | 26 + doc/ref/core.internal/html/search/variables_f.js | 67 + .../html/secure__channel__create_8c.html | 183 + .../core.internal/html/secure__endpoint_8c.html | 199 + .../core.internal/html/secure__endpoint_8h.html | 169 + .../html/secure__endpoint_8h_source.html | 155 + .../html/secure__transport__setup_8c.html | 177 + .../html/secure__transport__setup_8h.html | 169 + .../html/secure__transport__setup_8h_source.html | 161 + .../core.internal/html/security__connector_8c.html | 534 ++ .../core.internal/html/security__connector_8h.html | 689 +++ .../html/security__connector_8h_source.html | 381 ++ .../core.internal/html/security__context_8c.html | 511 ++ .../core.internal/html/security__context_8h.html | 396 ++ .../html/security__context_8h_source.html | 240 + doc/ref/core.internal/html/server_8c.html | 863 ++++ doc/ref/core.internal/html/server_8h.html | 291 ++ doc/ref/core.internal/html/server_8h_source.html | 183 + .../html/server__auth__filter_8c.html | 175 + doc/ref/core.internal/html/server__chttp2_8c.html | 147 + doc/ref/core.internal/html/server__create_8c.html | 132 + .../html/server__secure__chttp2_8c.html | 199 + doc/ref/core.internal/html/slice_8c.html | 538 ++ doc/ref/core.internal/html/slice_8h.html | 643 +++ doc/ref/core.internal/html/slice_8h_source.html | 308 ++ doc/ref/core.internal/html/slice__buffer_8c.html | 380 ++ doc/ref/core.internal/html/slice__buffer_8h.html | 380 ++ .../html/slice__buffer_8h_source.html | 212 + doc/ref/core.internal/html/sockaddr_8h.html | 102 + doc/ref/core.internal/html/sockaddr_8h_source.html | 149 + doc/ref/core.internal/html/sockaddr__posix_8h.html | 107 + .../html/sockaddr__posix_8h_source.html | 143 + .../core.internal/html/sockaddr__resolver_8c.html | 202 + .../core.internal/html/sockaddr__resolver_8h.html | 146 + .../html/sockaddr__resolver_8h_source.html | 154 + doc/ref/core.internal/html/sockaddr__utils_8c.html | 386 ++ doc/ref/core.internal/html/sockaddr__utils_8h.html | 381 ++ .../html/sockaddr__utils_8h_source.html | 199 + doc/ref/core.internal/html/sockaddr__win32_8h.html | 104 + .../html/sockaddr__win32_8h_source.html | 145 + .../html/socket__utils__common__posix_8c.html | 100 + .../html/socket__utils__linux_8c.html | 100 + .../html/socket__utils__posix_8c.html | 100 + .../html/socket__utils__posix_8h.html | 415 ++ .../html/socket__utils__posix_8h_source.html | 226 + doc/ref/core.internal/html/socket__windows_8c.html | 100 + doc/ref/core.internal/html/socket__windows_8h.html | 237 + .../html/socket__windows_8h_source.html | 250 + .../html/ssl__transport__security_8c.html | 451 ++ .../html/ssl__transport__security_8h.html | 446 ++ .../html/ssl__transport__security_8h_source.html | 282 ++ doc/ref/core.internal/html/stack__lockfree_8c.html | 259 + doc/ref/core.internal/html/stack__lockfree_8h.html | 209 + .../html/stack__lockfree_8h_source.html | 156 + doc/ref/core.internal/html/stap__timers_8c.html | 100 + doc/ref/core.internal/html/status_8h.html | 184 + doc/ref/core.internal/html/status_8h_source.html | 281 ++ .../core.internal/html/status__conversion_8c.html | 179 + .../core.internal/html/status__conversion_8h.html | 182 + .../html/status__conversion_8h_source.html | 157 + doc/ref/core.internal/html/stream__encoder_8c.html | 444 ++ doc/ref/core.internal/html/stream__encoder_8h.html | 305 ++ .../html/stream__encoder_8h_source.html | 221 + doc/ref/core.internal/html/stream__lists_8c.html | 995 ++++ doc/ref/core.internal/html/stream__map_8c.html | 327 ++ doc/ref/core.internal/html/stream__map_8h.html | 332 ++ .../core.internal/html/stream__map_8h_source.html | 202 + doc/ref/core.internal/html/stream__op_8c.html | 705 +++ doc/ref/core.internal/html/stream__op_8h.html | 913 ++++ .../core.internal/html/stream__op_8h_source.html | 339 ++ doc/ref/core.internal/html/string_8c.html | 493 ++ doc/ref/core.internal/html/string_8h.html | 521 ++ doc/ref/core.internal/html/string_8h_source.html | 231 + doc/ref/core.internal/html/string__posix_8c.html | 100 + doc/ref/core.internal/html/string__util_8h.html | 160 + .../core.internal/html/string__util_8h_source.html | 162 + doc/ref/core.internal/html/string__win32_8c.html | 100 + doc/ref/core.internal/html/string__win32_8h.html | 102 + .../html/string__win32_8h_source.html | 147 + doc/ref/core.internal/html/structarg.html | 176 + .../core.internal/html/structb64__huff__sym.html | 134 + doc/ref/core.internal/html/structcall__data.html | 874 ++++ doc/ref/core.internal/html/structcall__link.html | 134 + .../core.internal/html/structcensus__context.html | 136 + doc/ref/core.internal/html/structcensus__stat.html | 136 + .../html/structchannel__broadcaster.html | 134 + .../core.internal/html/structchannel__data.html | 849 ++++ .../html/structchannel__registered__method.html | 148 + .../html/structcompleted__request.html | 148 + .../html/structcompute__engine__detector.html | 148 + .../html/structconnected__channel__call__data.html | 120 + .../structconnected__channel__channel__data.html | 120 + doc/ref/core.internal/html/structconnection.html | 140 + doc/ref/core.internal/html/structconnector.html | 191 + .../core.internal/html/structdns__resolver.html | 327 ++ doc/ref/core.internal/html/structdump__out.html | 148 + .../html/structemail__key__mapping.html | 134 + ...structfinished__loose__op__allocated__args.html | 134 + .../core.internal/html/structframer__state.html | 190 + .../core.internal/html/structgpr__cancellable.html | 150 + .../html/structgpr__cancellable__list__.html | 164 + doc/ref/core.internal/html/structgpr__cmdline.html | 232 + doc/ref/core.internal/html/structgpr__event.html | 122 + .../html/structgpr__gcc__thread__local.html | 122 + .../core.internal/html/structgpr__histogram.html | 246 + .../html/structgpr__log__func__args.html | 164 + .../html/structgpr__msvc__thread__local.html | 122 + doc/ref/core.internal/html/structgpr__mu.html | 136 + .../html/structgpr__pthread__thread__local.html | 122 + .../core.internal/html/structgpr__refcount.html | 122 + doc/ref/core.internal/html/structgpr__slice.html | 223 + .../html/structgpr__slice__buffer.html | 178 + .../html/structgpr__slice__refcount.html | 136 + .../html/structgpr__stack__lockfree.html | 148 + .../html/structgpr__stats__counter.html | 122 + doc/ref/core.internal/html/structgpr__strvec.html | 150 + .../html/structgpr__thd__options.html | 122 + .../core.internal/html/structgpr__timespec.html | 153 + .../structgrpc__access__token__credentials.html | 136 + doc/ref/core.internal/html/structgrpc__alarm.html | 206 + .../html/structgrpc__alarm__heap.html | 150 + doc/ref/core.internal/html/structgrpc__arg.html | 245 + .../html/structgrpc__auth__context.html | 178 + .../html/structgrpc__auth__json__key.html | 178 + .../html/structgrpc__auth__property.html | 150 + .../html/structgrpc__auth__property__iterator.html | 150 + .../html/structgrpc__auth__refresh__token.html | 164 + .../core.internal/html/structgrpc__bbq__array.html | 150 + .../html/structgrpc__begin__message.html | 136 + .../html/structgrpc__byte__buffer.html | 180 + .../html/structgrpc__byte__buffer__queue.html | 164 + .../html/structgrpc__byte__buffer__reader.html | 165 + doc/ref/core.internal/html/structgrpc__call.html | 846 ++++ .../html/structgrpc__call__context__element.html | 136 + .../html/structgrpc__call__details.html | 178 + .../html/structgrpc__call__element.html | 150 + .../html/structgrpc__call__stack.html | 122 + .../core.internal/html/structgrpc__channel.html | 308 ++ .../html/structgrpc__channel__args.html | 142 + .../html/structgrpc__channel__element.html | 136 + .../html/structgrpc__channel__filter.html | 248 + .../structgrpc__channel__security__connector.html | 150 + .../html/structgrpc__channel__stack.html | 136 + .../html/structgrpc__chttp2__data__parser.html | 192 + .../html/structgrpc__chttp2__goaway__parser.html | 192 + .../structgrpc__chttp2__hpack__compressor.html | 276 ++ .../html/structgrpc__chttp2__hpack__parser.html | 390 ++ .../structgrpc__chttp2__hpack__parser__string.html | 150 + .../html/structgrpc__chttp2__hptbl.html | 220 + .../structgrpc__chttp2__hptbl__find__result.html | 136 + .../html/structgrpc__chttp2__huffsym.html | 136 + ...ctgrpc__chttp2__incoming__metadata__buffer.html | 164 + ...ttp2__incoming__metadata__live__op__buffer.html | 122 + .../structgrpc__chttp2__outstanding__ping.html | 166 + .../html/structgrpc__chttp2__ping__parser.html | 150 + .../structgrpc__chttp2__rst__stream__parser.html | 136 + .../structgrpc__chttp2__setting__parameters.html | 178 + .../html/structgrpc__chttp2__settings__parser.html | 192 + .../html/structgrpc__chttp2__stream.html | 178 + .../html/structgrpc__chttp2__stream__global.html | 453 ++ .../html/structgrpc__chttp2__stream__link.html | 136 + .../html/structgrpc__chttp2__stream__list.html | 136 + .../html/structgrpc__chttp2__stream__map.html | 178 + .../html/structgrpc__chttp2__stream__parsing.html | 258 + .../html/structgrpc__chttp2__stream__writing.html | 176 + .../html/structgrpc__chttp2__transport.html | 492 ++ .../structgrpc__chttp2__transport__global.html | 411 ++ .../structgrpc__chttp2__transport__parsing.html | 621 +++ .../structgrpc__chttp2__transport__writing.html | 159 + ...structgrpc__chttp2__window__update__parser.html | 150 + .../html/structgrpc__client__config.html | 134 + .../structgrpc__client__security__context.html | 136 + .../html/structgrpc__completion__queue.html | 233 + .../html/structgrpc__composite__credentials.html | 150 + ..._composite__credentials__metadata__context.html | 204 + .../html/structgrpc__connect__in__args.html | 207 + .../html/structgrpc__connect__out__args.html | 156 + .../structgrpc__connectivity__state__tracker.html | 159 + .../structgrpc__connectivity__state__watcher.html | 160 + .../core.internal/html/structgrpc__connector.html | 122 + .../html/structgrpc__connector__vtable.html | 150 + .../html/structgrpc__cq__completion.html | 173 + .../html/structgrpc__credentials.html | 150 + .../html/structgrpc__credentials__array.html | 136 + .../html/structgrpc__credentials__md.html | 136 + .../html/structgrpc__credentials__md__store.html | 164 + ...structgrpc__credentials__metadata__request.html | 162 + .../html/structgrpc__credentials__vtable.html | 178 + .../core.internal/html/structgrpc__endpoint.html | 122 + .../html/structgrpc__endpoint__pair.html | 136 + .../html/structgrpc__endpoint__vtable.html | 206 + doc/ref/core.internal/html/structgrpc__event.html | 167 + ...ctgrpc__fake__channel__security__connector.html | 134 + .../structgrpc__fake__oauth2__credentials.html | 150 + doc/ref/core.internal/html/structgrpc__fd.html | 318 ++ .../html/structgrpc__fd__watcher.html | 164 + .../html/structgrpc__httpcli__context.html | 122 + .../html/structgrpc__httpcli__header.html | 136 + .../html/structgrpc__httpcli__parser.html | 192 + .../html/structgrpc__httpcli__request.html | 178 + .../html/structgrpc__httpcli__response.html | 178 + ...httpcli__ssl__channel__security__connector.html | 148 + .../html/structgrpc__iam__credentials.html | 136 + .../html/structgrpc__iomgr__closure.html | 179 + .../html/structgrpc__iomgr__object.html | 150 + doc/ref/core.internal/html/structgrpc__ioreq.html | 153 + doc/ref/core.internal/html/structgrpc__json.html | 206 + .../html/structgrpc__json__reader.html | 248 + .../html/structgrpc__json__reader__vtable.html | 276 ++ .../html/structgrpc__json__writer.html | 192 + .../html/structgrpc__json__writer__vtable.html | 150 + .../html/structgrpc__jwt__claims.html | 232 + .../html/structgrpc__jwt__verifier.html | 162 + ...verifier__email__domain__key__url__mapping.html | 136 + .../html/structgrpc__kick__fd__info.html | 150 + .../core.internal/html/structgrpc__lb__policy.html | 136 + .../html/structgrpc__lb__policy__vtable.html | 222 + .../html/structgrpc__linked__mdelem.html | 150 + doc/ref/core.internal/html/structgrpc__mdctx.html | 246 + doc/ref/core.internal/html/structgrpc__mdelem.html | 136 + .../html/structgrpc__mdelem__list.html | 136 + doc/ref/core.internal/html/structgrpc__mdstr.html | 136 + .../core.internal/html/structgrpc__metadata.html | 188 + .../html/structgrpc__metadata__array.html | 150 + .../html/structgrpc__metadata__batch.html | 159 + ...tgrpc__oauth2__token__fetcher__credentials.html | 192 + doc/ref/core.internal/html/structgrpc__op.html | 439 ++ .../core.internal/html/structgrpc__pollset.html | 292 ++ .../html/structgrpc__pollset__kick__state.html | 150 + .../html/structgrpc__pollset__set.html | 221 + .../html/structgrpc__pollset__vtable.html | 192 + .../html/structgrpc__precise__clock.html | 122 + .../structgrpc__refresh__token__credentials.html | 136 + .../html/structgrpc__resolved__address.html | 136 + .../html/structgrpc__resolved__addresses.html | 136 + .../core.internal/html/structgrpc__resolver.html | 141 + .../html/structgrpc__resolver__factory.html | 128 + .../structgrpc__resolver__factory__vtable.html | 150 + .../html/structgrpc__resolver__vtable.html | 164 + .../html/structgrpc__secure__transport__setup.html | 232 + .../html/structgrpc__security__connector.html | 179 + .../structgrpc__security__connector__vtable.html | 150 + doc/ref/core.internal/html/structgrpc__server.html | 423 ++ .../html/structgrpc__server__credentials.html | 137 + .../structgrpc__server__credentials__vtable.html | 136 + .../html/structgrpc__server__secure__state.html | 204 + .../structgrpc__server__security__context.html | 122 + .../structgrpc__service__account__credentials.html | 164 + ...service__account__jwt__access__credentials.html | 221 + ...uctgrpc__ssl__channel__security__connector.html | 176 + .../html/structgrpc__ssl__config.html | 192 + .../html/structgrpc__ssl__credentials.html | 136 + .../structgrpc__ssl__pem__key__cert__pair.html | 136 + .../html/structgrpc__ssl__server__config.html | 220 + .../html/structgrpc__ssl__server__credentials.html | 136 + ...ructgrpc__ssl__server__security__connector.html | 134 + .../core.internal/html/structgrpc__stream__op.html | 179 + .../html/structgrpc__stream__op__buffer.html | 169 + .../core.internal/html/structgrpc__subchannel.html | 506 ++ .../html/structgrpc__subchannel__args.html | 224 + .../html/structgrpc__subchannel__call.html | 134 + .../html/structgrpc__subchannel__factory.html | 129 + .../structgrpc__subchannel__factory__vtable.html | 150 + .../html/structgrpc__time__averaged__stats.html | 206 + .../core.internal/html/structgrpc__transport.html | 122 + .../html/structgrpc__transport__op.html | 308 ++ .../html/structgrpc__transport__stream__op.html | 266 + .../html/structgrpc__transport__vtable.html | 206 + doc/ref/core.internal/html/structgrpc__uri.html | 150 + .../html/structgrpc__wakeup__fd__info.html | 136 + .../html/structgrpc__wakeup__fd__vtable.html | 178 + .../core.internal/html/structgrpc__winsocket.html | 220 + .../structgrpc__winsocket__callback__info.html | 206 + doc/ref/core.internal/html/structhuff__out.html | 148 + .../html/structinternal__metadata.html | 218 + .../html/structinternal__request.html | 302 ++ .../core.internal/html/structinternal__string.html | 218 + doc/ref/core.internal/html/structjose__header.html | 162 + .../html/structjson__reader__userdata.html | 218 + .../html/structjson__writer__userdata.html | 162 + .../structlb__policy__connectivity__watcher.html | 168 + doc/ref/core.internal/html/structlistener.html | 162 + .../html/structlockfree__node__contents.html | 120 + .../core.internal/html/structmalloc__refcount.html | 134 + .../html/structmerge__args__factory.html | 162 + .../html/structnew__slice__refcount.html | 162 + .../structnew__with__len__slice__refcount.html | 176 + .../core.internal/html/structpending__pick.html | 162 + .../html/structpick__first__lb__policy.html | 304 ++ .../core.internal/html/structreceived__status.html | 148 + .../core.internal/html/structregistered__call.html | 148 + .../html/structregistered__method.html | 162 + .../html/structregistered__resolver.html | 134 + .../core.internal/html/structreqinfo__master.html | 176 + .../core.internal/html/structrequest__killer.html | 148 + .../core.internal/html/structrequest__matcher.html | 148 + .../core.internal/html/structrequested__call.html | 321 ++ .../core.internal/html/structsecure__endpoint.html | 302 ++ doc/ref/core.internal/html/structshard__type.html | 204 + .../html/structshutdown__cleanup__args.html | 134 + .../core.internal/html/structshutdown__tag.html | 148 + .../html/structsockaddr__resolver.html | 273 ++ .../core.internal/html/structstate__watcher.html | 303 ++ .../html/structsubchannel__factory.html | 191 + .../html/structtcp__endpoint__list.html | 134 + doc/ref/core.internal/html/structtracer.html | 148 + .../core.internal/html/structtsi__fake__frame.html | 176 + .../html/structtsi__fake__frame__protector.html | 162 + .../html/structtsi__fake__handshaker.html | 204 + .../html/structtsi__frame__protector.html | 122 + .../html/structtsi__frame__protector__vtable.html | 164 + .../core.internal/html/structtsi__handshaker.html | 136 + .../html/structtsi__handshaker__vtable.html | 192 + doc/ref/core.internal/html/structtsi__peer.html | 136 + .../html/structtsi__peer__property.html | 165 + ...tructtsi__ssl__client__handshaker__factory.html | 162 + .../html/structtsi__ssl__frame__protector.html | 204 + .../html/structtsi__ssl__handshaker.html | 176 + .../html/structtsi__ssl__handshaker__factory.html | 134 + ...tructtsi__ssl__server__handshaker__factory.html | 190 + .../html/structverifier__cb__ctx.html | 232 + .../core.internal/html/structwaiting__call.html | 134 + .../html/structwaiting__for__connect.html | 190 + doc/ref/core.internal/html/subchannel_8c.html | 789 +++ doc/ref/core.internal/html/subchannel_8h.html | 642 +++ .../core.internal/html/subchannel_8h_source.html | 246 + .../core.internal/html/subchannel__factory_8c.html | 174 + .../core.internal/html/subchannel__factory_8h.html | 221 + .../html/subchannel__factory_8h_source.html | 171 + doc/ref/core.internal/html/subprocess_8h.html | 226 + .../core.internal/html/subprocess_8h_source.html | 162 + .../core.internal/html/subprocess__posix_8c.html | 100 + doc/ref/core.internal/html/surface__trace_8c.html | 121 + doc/ref/core.internal/html/surface__trace_8h.html | 167 + .../html/surface__trace_8h_source.html | 151 + doc/ref/core.internal/html/sync_8c.html | 431 ++ doc/ref/core.internal/html/sync_8h.html | 740 +++ doc/ref/core.internal/html/sync_8h_source.html | 492 ++ doc/ref/core.internal/html/sync__generic_8h.html | 147 + .../html/sync__generic_8h_source.html | 168 + doc/ref/core.internal/html/sync__posix_8c.html | 100 + doc/ref/core.internal/html/sync__posix_8h.html | 171 + .../core.internal/html/sync__posix_8h_source.html | 150 + doc/ref/core.internal/html/sync__win32_8c.html | 100 + doc/ref/core.internal/html/sync__win32_8h.html | 162 + .../core.internal/html/sync__win32_8h_source.html | 154 + doc/ref/core.internal/html/sync_off.png | Bin 0 -> 853 bytes doc/ref/core.internal/html/sync_on.png | Bin 0 -> 845 bytes doc/ref/core.internal/html/tab_a.png | Bin 0 -> 142 bytes doc/ref/core.internal/html/tab_b.png | Bin 0 -> 169 bytes doc/ref/core.internal/html/tab_h.png | Bin 0 -> 177 bytes doc/ref/core.internal/html/tab_s.png | Bin 0 -> 184 bytes doc/ref/core.internal/html/tabs.css | 60 + doc/ref/core.internal/html/tcp__client_8h.html | 164 + .../core.internal/html/tcp__client_8h_source.html | 160 + .../core.internal/html/tcp__client__posix_8c.html | 100 + .../html/tcp__client__windows_8c.html | 100 + doc/ref/core.internal/html/tcp__posix_8c.html | 100 + doc/ref/core.internal/html/tcp__posix_8h.html | 182 + .../core.internal/html/tcp__posix_8h_source.html | 164 + doc/ref/core.internal/html/tcp__server_8h.html | 302 ++ .../core.internal/html/tcp__server_8h_source.html | 188 + .../core.internal/html/tcp__server__posix_8c.html | 121 + .../html/tcp__server__windows_8c.html | 100 + doc/ref/core.internal/html/tcp__windows_8c.html | 100 + doc/ref/core.internal/html/tcp__windows_8h.html | 156 + .../core.internal/html/tcp__windows_8h_source.html | 162 + doc/ref/core.internal/html/thd_8c.html | 222 + doc/ref/core.internal/html/thd_8h.html | 300 ++ doc/ref/core.internal/html/thd_8h_source.html | 204 + doc/ref/core.internal/html/thd__internal_8h.html | 101 + .../html/thd__internal_8h_source.html | 138 + doc/ref/core.internal/html/thd__posix_8c.html | 100 + doc/ref/core.internal/html/thd__win32_8c.html | 100 + doc/ref/core.internal/html/time_8c.html | 652 +++ doc/ref/core.internal/html/time_8h.html | 769 +++ doc/ref/core.internal/html/time_8h_source.html | 254 + .../html/time__averaged__stats_8c.html | 193 + .../html/time__averaged__stats_8h.html | 200 + .../html/time__averaged__stats_8h_source.html | 199 + doc/ref/core.internal/html/time__posix_8c.html | 100 + doc/ref/core.internal/html/time__win32_8c.html | 100 + .../core.internal/html/timeout__encoding_8c.html | 165 + .../core.internal/html/timeout__encoding_8h.html | 185 + .../html/timeout__encoding_8h_source.html | 151 + doc/ref/core.internal/html/timers_8h.html | 524 ++ doc/ref/core.internal/html/timers_8h_source.html | 267 + .../html/timers__preciseclock_8h.html | 168 + .../html/timers__preciseclock_8h_source.html | 207 + doc/ref/core.internal/html/tls_8h.html | 102 + doc/ref/core.internal/html/tls_8h_source.html | 180 + doc/ref/core.internal/html/tls__gcc_8h.html | 214 + doc/ref/core.internal/html/tls__gcc_8h_source.html | 154 + doc/ref/core.internal/html/tls__msvc_8h.html | 214 + .../core.internal/html/tls__msvc_8h_source.html | 154 + doc/ref/core.internal/html/tls__pthread_8c.html | 100 + doc/ref/core.internal/html/tls__pthread_8h.html | 221 + .../core.internal/html/tls__pthread_8h_source.html | 165 + doc/ref/core.internal/html/trace_8c.html | 234 + doc/ref/core.internal/html/trace_8h.html | 173 + doc/ref/core.internal/html/trace_8h_source.html | 146 + doc/ref/core.internal/html/transport_8c.html | 344 ++ doc/ref/core.internal/html/transport_8h.html | 568 +++ .../core.internal/html/transport_8h_source.html | 334 ++ doc/ref/core.internal/html/transport__impl_8h.html | 132 + .../html/transport__impl_8h_source.html | 185 + .../html/transport__op__string_8c.html | 195 + .../core.internal/html/transport__security_8c.html | 670 +++ .../core.internal/html/transport__security_8h.html | 330 ++ .../html/transport__security_8h_source.html | 231 + .../html/transport__security__interface_8h.html | 638 +++ .../transport__security__interface_8h_source.html | 479 ++ .../core.internal/html/uniongrpc__ioreq__data.html | 323 ++ .../core.internal/html/unionlockfree__node.html | 134 + doc/ref/core.internal/html/uri__parser_8c.html | 163 + doc/ref/core.internal/html/uri__parser_8h.html | 166 + .../core.internal/html/uri__parser_8h_source.html | 152 + doc/ref/core.internal/html/useful_8h.html | 450 ++ doc/ref/core.internal/html/useful_8h_source.html | 170 + doc/ref/core.internal/html/varint_8c.html | 159 + doc/ref/core.internal/html/varint_8h.html | 277 ++ doc/ref/core.internal/html/varint_8h_source.html | 177 + doc/ref/core.internal/html/version_8c.html | 128 + .../core.internal/html/wakeup__fd__eventfd_8c.html | 100 + .../html/wakeup__fd__nospecial_8c.html | 100 + .../core.internal/html/wakeup__fd__pipe_8c.html | 100 + .../core.internal/html/wakeup__fd__pipe_8h.html | 123 + .../html/wakeup__fd__pipe_8h_source.html | 143 + .../core.internal/html/wakeup__fd__posix_8c.html | 100 + .../core.internal/html/wakeup__fd__posix_8h.html | 318 ++ .../html/wakeup__fd__posix_8h_source.html | 216 + doc/ref/core.internal/html/writing_8c.html | 197 + doc/ref/core/html/alloc_8h.html | 219 + doc/ref/core/html/alloc_8h_source.html | 162 + doc/ref/core/html/annotated.html | 128 + doc/ref/core/html/atm_8h.html | 102 + doc/ref/core/html/atm_8h_source.html | 195 + doc/ref/core/html/atm__gcc__atomic_8h.html | 293 ++ doc/ref/core/html/atm__gcc__atomic_8h_source.html | 177 + doc/ref/core/html/atm__gcc__sync_8h.html | 337 ++ doc/ref/core/html/atm__gcc__sync_8h_source.html | 196 + doc/ref/core/html/atm__win32_8h.html | 142 + doc/ref/core/html/atm__win32_8h_source.html | 239 + doc/ref/core/html/bc_s.png | Bin 0 -> 676 bytes doc/ref/core/html/bdwn.png | Bin 0 -> 147 bytes doc/ref/core/html/byte__buffer_8h.html | 416 ++ doc/ref/core/html/byte__buffer_8h_source.html | 212 + doc/ref/core/html/byte__buffer__reader_8h.html | 111 + .../core/html/byte__buffer__reader_8h_source.html | 165 + doc/ref/core/html/cancellable__platform_8h.html | 113 + .../core/html/cancellable__platform_8h_source.html | 168 + doc/ref/core/html/census_8h.html | 369 ++ doc/ref/core/html/census_8h_source.html | 232 + doc/ref/core/html/classes.html | 110 + doc/ref/core/html/closed.png | Bin 0 -> 132 bytes doc/ref/core/html/cmdline_8h.html | 391 ++ doc/ref/core/html/cmdline_8h_source.html | 205 + doc/ref/core/html/compression_8h.html | 305 ++ doc/ref/core/html/compression_8h_source.html | 190 + doc/ref/core/html/cpu_8h.html | 144 + doc/ref/core/html/cpu_8h_source.html | 158 + .../html/dir_9d7a14d6d9adcbe4c35dbdb88d867e2e.html | 116 + .../html/dir_cad3142e04109052413f2d2a2d1813b0.html | 153 + .../html/dir_d44c64559bbebec7f509842c48db8b23.html | 99 + doc/ref/core/html/doxygen.css | 1366 ++++++ doc/ref/core/html/doxygen.png | Bin 0 -> 3779 bytes doc/ref/core/html/dynsections.js | 97 + doc/ref/core/html/files.html | 137 + doc/ref/core/html/ftv2blank.png | Bin 0 -> 86 bytes doc/ref/core/html/ftv2cl.png | Bin 0 -> 453 bytes doc/ref/core/html/ftv2doc.png | Bin 0 -> 746 bytes doc/ref/core/html/ftv2folderclosed.png | Bin 0 -> 616 bytes doc/ref/core/html/ftv2folderopen.png | Bin 0 -> 597 bytes doc/ref/core/html/ftv2lastnode.png | Bin 0 -> 86 bytes doc/ref/core/html/ftv2link.png | Bin 0 -> 746 bytes doc/ref/core/html/ftv2mlastnode.png | Bin 0 -> 246 bytes doc/ref/core/html/ftv2mnode.png | Bin 0 -> 246 bytes doc/ref/core/html/ftv2mo.png | Bin 0 -> 403 bytes doc/ref/core/html/ftv2node.png | Bin 0 -> 86 bytes doc/ref/core/html/ftv2ns.png | Bin 0 -> 388 bytes doc/ref/core/html/ftv2plastnode.png | Bin 0 -> 229 bytes doc/ref/core/html/ftv2pnode.png | Bin 0 -> 229 bytes doc/ref/core/html/ftv2splitbar.png | Bin 0 -> 314 bytes doc/ref/core/html/ftv2vertline.png | Bin 0 -> 86 bytes doc/ref/core/html/functions.html | 447 ++ doc/ref/core/html/functions_vars.html | 447 ++ doc/ref/core/html/globals.html | 157 + doc/ref/core/html/globals_defs.html | 344 ++ doc/ref/core/html/globals_enum.html | 140 + doc/ref/core/html/globals_eval.html | 326 ++ doc/ref/core/html/globals_func.html | 136 + doc/ref/core/html/globals_func_g.html | 715 +++ doc/ref/core/html/globals_g.html | 1292 +++++ doc/ref/core/html/globals_type.html | 243 + doc/ref/core/html/globals_vars.html | 107 + doc/ref/core/html/graph_legend.html | 153 + doc/ref/core/html/graph_legend.md5 | 1 + doc/ref/core/html/graph_legend.png | Bin 0 -> 19871 bytes doc/ref/core/html/grpc_8h.html | 1877 +++++++ doc/ref/core/html/grpc_8h_source.html | 563 +++ doc/ref/core/html/grpc__security_8h.html | 863 ++++ doc/ref/core/html/grpc__security_8h_source.html | 409 ++ doc/ref/core/html/histogram_8h.html | 495 ++ doc/ref/core/html/histogram_8h_source.html | 193 + doc/ref/core/html/host__port_8h.html | 176 + doc/ref/core/html/host__port_8h_source.html | 165 + doc/ref/core/html/index.html | 93 + doc/ref/core/html/jquery.js | 31 + doc/ref/core/html/log_8h.html | 374 ++ doc/ref/core/html/log_8h_source.html | 221 + doc/ref/core/html/log__win32_8h.html | 126 + doc/ref/core/html/log__win32_8h_source.html | 151 + doc/ref/core/html/nav_f.png | Bin 0 -> 153 bytes doc/ref/core/html/nav_g.png | Bin 0 -> 95 bytes doc/ref/core/html/nav_h.png | Bin 0 -> 98 bytes doc/ref/core/html/open.png | Bin 0 -> 123 bytes doc/ref/core/html/port__platform_8h.html | 352 ++ doc/ref/core/html/port__platform_8h_source.html | 441 ++ doc/ref/core/html/search/all_0.html | 26 + doc/ref/core/html/search/all_0.js | 9 + doc/ref/core/html/search/all_1.html | 26 + doc/ref/core/html/search/all_1.js | 8 + doc/ref/core/html/search/all_10.html | 26 + doc/ref/core/html/search/all_10.js | 15 + doc/ref/core/html/search/all_11.html | 26 + doc/ref/core/html/search/all_11.js | 5 + doc/ref/core/html/search/all_12.html | 26 + doc/ref/core/html/search/all_12.js | 5 + doc/ref/core/html/search/all_13.html | 26 + doc/ref/core/html/search/all_13.js | 4 + doc/ref/core/html/search/all_2.html | 26 + doc/ref/core/html/search/all_2.js | 35 + doc/ref/core/html/search/all_3.html | 26 + doc/ref/core/html/search/all_3.js | 6 + doc/ref/core/html/search/all_4.html | 26 + doc/ref/core/html/search/all_4.js | 5 + doc/ref/core/html/search/all_5.html | 26 + doc/ref/core/html/search/all_5.js | 405 ++ doc/ref/core/html/search/all_6.html | 26 + doc/ref/core/html/search/all_6.js | 7 + doc/ref/core/html/search/all_7.html | 26 + doc/ref/core/html/search/all_7.js | 8 + doc/ref/core/html/search/all_8.html | 26 + doc/ref/core/html/search/all_8.js | 4 + doc/ref/core/html/search/all_9.html | 26 + doc/ref/core/html/search/all_9.js | 8 + doc/ref/core/html/search/all_a.html | 26 + doc/ref/core/html/search/all_a.js | 8 + doc/ref/core/html/search/all_b.html | 26 + doc/ref/core/html/search/all_b.js | 6 + doc/ref/core/html/search/all_c.html | 26 + doc/ref/core/html/search/all_c.js | 5 + doc/ref/core/html/search/all_d.html | 26 + doc/ref/core/html/search/all_d.js | 8 + doc/ref/core/html/search/all_e.html | 26 + doc/ref/core/html/search/all_e.js | 11 + doc/ref/core/html/search/all_f.html | 26 + doc/ref/core/html/search/all_f.js | 24 + doc/ref/core/html/search/classes_0.html | 26 + doc/ref/core/html/search/classes_0.js | 4 + doc/ref/core/html/search/classes_1.html | 26 + doc/ref/core/html/search/classes_1.js | 30 + doc/ref/core/html/search/close.png | Bin 0 -> 273 bytes doc/ref/core/html/search/defines_0.html | 26 + doc/ref/core/html/search/defines_0.js | 76 + doc/ref/core/html/search/enums_0.html | 26 + doc/ref/core/html/search/enums_0.js | 4 + doc/ref/core/html/search/enums_1.html | 26 + doc/ref/core/html/search/enums_1.js | 14 + doc/ref/core/html/search/enumvalues_0.html | 26 + doc/ref/core/html/search/enumvalues_0.js | 8 + doc/ref/core/html/search/enumvalues_1.html | 26 + doc/ref/core/html/search/enumvalues_1.js | 68 + doc/ref/core/html/search/files_0.html | 26 + doc/ref/core/html/search/files_0.js | 8 + doc/ref/core/html/search/files_1.html | 26 + doc/ref/core/html/search/files_1.js | 5 + doc/ref/core/html/search/files_2.html | 26 + doc/ref/core/html/search/files_2.js | 8 + doc/ref/core/html/search/files_3.html | 26 + doc/ref/core/html/search/files_3.js | 5 + doc/ref/core/html/search/files_4.html | 26 + doc/ref/core/html/search/files_4.js | 5 + doc/ref/core/html/search/files_5.html | 26 + doc/ref/core/html/search/files_5.js | 5 + doc/ref/core/html/search/files_6.html | 26 + doc/ref/core/html/search/files_6.js | 4 + doc/ref/core/html/search/files_7.html | 26 + doc/ref/core/html/search/files_7.js | 12 + doc/ref/core/html/search/files_8.html | 26 + doc/ref/core/html/search/files_8.js | 9 + doc/ref/core/html/search/files_9.html | 26 + doc/ref/core/html/search/files_9.js | 4 + doc/ref/core/html/search/functions_0.html | 26 + doc/ref/core/html/search/functions_0.js | 11 + doc/ref/core/html/search/functions_1.html | 26 + doc/ref/core/html/search/functions_1.js | 204 + doc/ref/core/html/search/mag_sel.png | Bin 0 -> 563 bytes doc/ref/core/html/search/nomatches.html | 12 + doc/ref/core/html/search/pages_0.html | 26 + doc/ref/core/html/search/pages_0.js | 4 + doc/ref/core/html/search/search.css | 271 + doc/ref/core/html/search/search.js | 811 +++ doc/ref/core/html/search/search_l.png | Bin 0 -> 604 bytes doc/ref/core/html/search/search_m.png | Bin 0 -> 158 bytes doc/ref/core/html/search/search_r.png | Bin 0 -> 612 bytes doc/ref/core/html/search/typedefs_0.html | 26 + doc/ref/core/html/search/typedefs_0.js | 4 + doc/ref/core/html/search/typedefs_1.html | 26 + doc/ref/core/html/search/typedefs_1.js | 43 + doc/ref/core/html/search/variables_0.html | 26 + doc/ref/core/html/search/variables_0.js | 4 + doc/ref/core/html/search/variables_1.html | 26 + doc/ref/core/html/search/variables_1.js | 6 + doc/ref/core/html/search/variables_10.html | 26 + doc/ref/core/html/search/variables_10.js | 9 + doc/ref/core/html/search/variables_11.html | 26 + doc/ref/core/html/search/variables_11.js | 4 + doc/ref/core/html/search/variables_12.html | 26 + doc/ref/core/html/search/variables_12.js | 5 + doc/ref/core/html/search/variables_13.html | 26 + doc/ref/core/html/search/variables_13.js | 4 + doc/ref/core/html/search/variables_2.html | 26 + doc/ref/core/html/search/variables_2.js | 14 + doc/ref/core/html/search/variables_3.html | 26 + doc/ref/core/html/search/variables_3.js | 6 + doc/ref/core/html/search/variables_4.html | 26 + doc/ref/core/html/search/variables_4.js | 5 + doc/ref/core/html/search/variables_5.html | 26 + doc/ref/core/html/search/variables_5.js | 4 + doc/ref/core/html/search/variables_6.html | 26 + doc/ref/core/html/search/variables_6.js | 5 + doc/ref/core/html/search/variables_7.html | 26 + doc/ref/core/html/search/variables_7.js | 8 + doc/ref/core/html/search/variables_8.html | 26 + doc/ref/core/html/search/variables_8.js | 4 + doc/ref/core/html/search/variables_9.html | 26 + doc/ref/core/html/search/variables_9.js | 6 + doc/ref/core/html/search/variables_a.html | 26 + doc/ref/core/html/search/variables_a.js | 8 + doc/ref/core/html/search/variables_b.html | 26 + doc/ref/core/html/search/variables_b.js | 6 + doc/ref/core/html/search/variables_c.html | 26 + doc/ref/core/html/search/variables_c.js | 5 + doc/ref/core/html/search/variables_d.html | 26 + doc/ref/core/html/search/variables_d.js | 7 + doc/ref/core/html/search/variables_e.html | 26 + doc/ref/core/html/search/variables_e.js | 11 + doc/ref/core/html/search/variables_f.html | 26 + doc/ref/core/html/search/variables_f.js | 15 + doc/ref/core/html/slice_8h.html | 643 +++ doc/ref/core/html/slice_8h_source.html | 308 ++ doc/ref/core/html/slice__buffer_8h.html | 380 ++ doc/ref/core/html/slice__buffer_8h_source.html | 212 + doc/ref/core/html/status_8h.html | 184 + doc/ref/core/html/status_8h_source.html | 281 ++ doc/ref/core/html/string__util_8h.html | 160 + doc/ref/core/html/string__util_8h_source.html | 162 + doc/ref/core/html/structcensus__stat.html | 136 + doc/ref/core/html/structgpr__cancellable.html | 150 + .../core/html/structgpr__cancellable__list__.html | 164 + doc/ref/core/html/structgpr__event.html | 122 + .../core/html/structgpr__gcc__thread__local.html | 122 + doc/ref/core/html/structgpr__log__func__args.html | 164 + .../core/html/structgpr__msvc__thread__local.html | 122 + doc/ref/core/html/structgpr__mu.html | 136 + .../html/structgpr__pthread__thread__local.html | 122 + doc/ref/core/html/structgpr__refcount.html | 122 + doc/ref/core/html/structgpr__slice.html | 223 + doc/ref/core/html/structgpr__slice__buffer.html | 178 + doc/ref/core/html/structgpr__slice__refcount.html | 136 + doc/ref/core/html/structgpr__stats__counter.html | 122 + doc/ref/core/html/structgpr__thd__options.html | 122 + doc/ref/core/html/structgpr__timespec.html | 153 + doc/ref/core/html/structgrpc__arg.html | 245 + doc/ref/core/html/structgrpc__auth__property.html | 150 + .../html/structgrpc__auth__property__iterator.html | 150 + doc/ref/core/html/structgrpc__byte__buffer.html | 180 + .../html/structgrpc__byte__buffer__reader.html | 165 + doc/ref/core/html/structgrpc__call__details.html | 178 + doc/ref/core/html/structgrpc__channel__args.html | 142 + doc/ref/core/html/structgrpc__event.html | 167 + doc/ref/core/html/structgrpc__metadata.html | 188 + doc/ref/core/html/structgrpc__metadata__array.html | 150 + doc/ref/core/html/structgrpc__op.html | 439 ++ .../structgrpc__ssl__pem__key__cert__pair.html | 136 + doc/ref/core/html/subprocess_8h.html | 226 + doc/ref/core/html/subprocess_8h_source.html | 162 + doc/ref/core/html/sync_8h.html | 740 +++ doc/ref/core/html/sync_8h_source.html | 491 ++ doc/ref/core/html/sync__generic_8h.html | 147 + doc/ref/core/html/sync__generic_8h_source.html | 168 + doc/ref/core/html/sync__posix_8h.html | 171 + doc/ref/core/html/sync__posix_8h_source.html | 150 + doc/ref/core/html/sync__win32_8h.html | 162 + doc/ref/core/html/sync__win32_8h_source.html | 154 + doc/ref/core/html/sync_off.png | Bin 0 -> 853 bytes doc/ref/core/html/sync_on.png | Bin 0 -> 845 bytes doc/ref/core/html/tab_a.png | Bin 0 -> 142 bytes doc/ref/core/html/tab_b.png | Bin 0 -> 169 bytes doc/ref/core/html/tab_h.png | Bin 0 -> 177 bytes doc/ref/core/html/tab_s.png | Bin 0 -> 184 bytes doc/ref/core/html/tabs.css | 60 + doc/ref/core/html/thd_8h.html | 300 ++ doc/ref/core/html/thd_8h_source.html | 203 + doc/ref/core/html/time_8h.html | 769 +++ doc/ref/core/html/time_8h_source.html | 254 + doc/ref/core/html/tls_8h.html | 102 + doc/ref/core/html/tls_8h_source.html | 180 + doc/ref/core/html/tls__gcc_8h.html | 214 + doc/ref/core/html/tls__gcc_8h_source.html | 154 + doc/ref/core/html/tls__msvc_8h.html | 214 + doc/ref/core/html/tls__msvc_8h_source.html | 154 + doc/ref/core/html/tls__pthread_8h.html | 221 + doc/ref/core/html/tls__pthread_8h_source.html | 164 + doc/ref/core/html/useful_8h.html | 450 ++ doc/ref/core/html/useful_8h_source.html | 170 + templates/tools/doxygen/Doxyfile.include | 14 +- tools/doxygen/Doxyfile.c++ | 14 +- tools/doxygen/Doxyfile.c++.internal | 14 +- tools/doxygen/Doxyfile.core | 14 +- tools/doxygen/Doxyfile.core.internal | 14 +- tools/doxygen/run_doxygen.sh | 1 + 2614 files changed, 379157 insertions(+), 36 deletions(-) create mode 100644 doc/ref/c++.internal/html/annotated.html create mode 100644 doc/ref/c++.internal/html/async__generic__service_8cc.html create mode 100644 doc/ref/c++.internal/html/async__generic__service_8h.html create mode 100644 doc/ref/c++.internal/html/async__generic__service_8h_source.html create mode 100644 doc/ref/c++.internal/html/async__unary__call_8h.html create mode 100644 doc/ref/c++.internal/html/async__unary__call_8h_source.html create mode 100644 doc/ref/c++.internal/html/auth__context_8h.html create mode 100644 doc/ref/c++.internal/html/auth__context_8h_source.html create mode 100644 doc/ref/c++.internal/html/auth__property__iterator_8cc.html create mode 100644 doc/ref/c++.internal/html/auth__property__iterator_8h.html create mode 100644 doc/ref/c++.internal/html/auth__property__iterator_8h_source.html create mode 100644 doc/ref/c++.internal/html/bc_s.png create mode 100644 doc/ref/c++.internal/html/bdwn.png create mode 100644 doc/ref/c++.internal/html/byte__buffer_8cc.html create mode 100644 doc/ref/c++.internal/html/byte__buffer_8h.html create mode 100644 doc/ref/c++.internal/html/byte__buffer_8h_source.html create mode 100644 doc/ref/c++.internal/html/call_8cc.html create mode 100644 doc/ref/c++.internal/html/call_8h.html create mode 100644 doc/ref/c++.internal/html/call_8h_source.html create mode 100644 doc/ref/c++.internal/html/channel_8cc.html create mode 100644 doc/ref/c++.internal/html/channel_8h.html create mode 100644 doc/ref/c++.internal/html/channel_8h_source.html create mode 100644 doc/ref/c++.internal/html/channel__arguments_8cc.html create mode 100644 doc/ref/c++.internal/html/channel__arguments_8h.html create mode 100644 doc/ref/c++.internal/html/channel__arguments_8h_source.html create mode 100644 doc/ref/c++.internal/html/channel__interface_8h.html create mode 100644 doc/ref/c++.internal/html/channel__interface_8h_source.html create mode 100644 doc/ref/c++.internal/html/class_grpc_buffer_reader.html create mode 100644 doc/ref/c++.internal/html/class_grpc_buffer_writer.html create mode 100644 doc/ref/c++.internal/html/classes.html create mode 100644 doc/ref/c++.internal/html/classgrpc_1_1_async_generic_service.html create mode 100644 doc/ref/c++.internal/html/classgrpc_1_1_async_reader_interface.html create mode 100644 doc/ref/c++.internal/html/classgrpc_1_1_async_writer_interface.html create mode 100644 doc/ref/c++.internal/html/classgrpc_1_1_asynchronous_service.html create mode 100644 doc/ref/c++.internal/html/classgrpc_1_1_auth_context.html create mode 100644 doc/ref/c++.internal/html/classgrpc_1_1_auth_property_iterator.html create mode 100644 doc/ref/c++.internal/html/classgrpc_1_1_bidi_streaming_handler.html create mode 100644 doc/ref/c++.internal/html/classgrpc_1_1_byte_buffer.html create mode 100644 doc/ref/c++.internal/html/classgrpc_1_1_call.html create mode 100644 doc/ref/c++.internal/html/classgrpc_1_1_call_hook.html create mode 100644 doc/ref/c++.internal/html/classgrpc_1_1_call_no_op.html create mode 100644 doc/ref/c++.internal/html/classgrpc_1_1_call_op_client_recv_status.html create mode 100644 doc/ref/c++.internal/html/classgrpc_1_1_call_op_client_send_close.html create mode 100644 doc/ref/c++.internal/html/classgrpc_1_1_call_op_generic_recv_message.html create mode 100644 doc/ref/c++.internal/html/classgrpc_1_1_call_op_generic_recv_message_helper_1_1_deserialize_func.html create mode 100644 doc/ref/c++.internal/html/classgrpc_1_1_call_op_generic_recv_message_helper_1_1_deserialize_func_type.html create mode 100644 doc/ref/c++.internal/html/classgrpc_1_1_call_op_recv_initial_metadata.html create mode 100644 doc/ref/c++.internal/html/classgrpc_1_1_call_op_recv_message.html create mode 100644 doc/ref/c++.internal/html/classgrpc_1_1_call_op_send_initial_metadata.html create mode 100644 doc/ref/c++.internal/html/classgrpc_1_1_call_op_send_message.html create mode 100644 doc/ref/c++.internal/html/classgrpc_1_1_call_op_server_send_status.html create mode 100644 doc/ref/c++.internal/html/classgrpc_1_1_call_op_set.html create mode 100644 doc/ref/c++.internal/html/classgrpc_1_1_call_op_set_interface.html create mode 100644 doc/ref/c++.internal/html/classgrpc_1_1_channel.html create mode 100644 doc/ref/c++.internal/html/classgrpc_1_1_channel_arguments.html create mode 100644 doc/ref/c++.internal/html/classgrpc_1_1_channel_interface.html create mode 100644 doc/ref/c++.internal/html/classgrpc_1_1_client_async_reader.html create mode 100644 doc/ref/c++.internal/html/classgrpc_1_1_client_async_reader_interface.html create mode 100644 doc/ref/c++.internal/html/classgrpc_1_1_client_async_reader_writer.html create mode 100644 doc/ref/c++.internal/html/classgrpc_1_1_client_async_reader_writer_interface.html create mode 100644 doc/ref/c++.internal/html/classgrpc_1_1_client_async_response_reader.html create mode 100644 doc/ref/c++.internal/html/classgrpc_1_1_client_async_response_reader_interface.html create mode 100644 doc/ref/c++.internal/html/classgrpc_1_1_client_async_streaming_interface.html create mode 100644 doc/ref/c++.internal/html/classgrpc_1_1_client_async_writer.html create mode 100644 doc/ref/c++.internal/html/classgrpc_1_1_client_async_writer_interface.html create mode 100644 doc/ref/c++.internal/html/classgrpc_1_1_client_context.html create mode 100644 doc/ref/c++.internal/html/classgrpc_1_1_client_reader.html create mode 100644 doc/ref/c++.internal/html/classgrpc_1_1_client_reader_interface.html create mode 100644 doc/ref/c++.internal/html/classgrpc_1_1_client_reader_writer.html create mode 100644 doc/ref/c++.internal/html/classgrpc_1_1_client_reader_writer_interface.html create mode 100644 doc/ref/c++.internal/html/classgrpc_1_1_client_streaming_handler.html create mode 100644 doc/ref/c++.internal/html/classgrpc_1_1_client_streaming_interface.html create mode 100644 doc/ref/c++.internal/html/classgrpc_1_1_client_writer.html create mode 100644 doc/ref/c++.internal/html/classgrpc_1_1_client_writer_interface.html create mode 100644 doc/ref/c++.internal/html/classgrpc_1_1_completion_queue.html create mode 100644 doc/ref/c++.internal/html/classgrpc_1_1_completion_queue_tag.html create mode 100644 doc/ref/c++.internal/html/classgrpc_1_1_credentials.html create mode 100644 doc/ref/c++.internal/html/classgrpc_1_1_dynamic_thread_pool.html create mode 100644 doc/ref/c++.internal/html/classgrpc_1_1_fixed_size_thread_pool.html create mode 100644 doc/ref/c++.internal/html/classgrpc_1_1_generic_server_context.html create mode 100644 doc/ref/c++.internal/html/classgrpc_1_1_generic_stub.html create mode 100644 doc/ref/c++.internal/html/classgrpc_1_1_grpc_library.html create mode 100644 doc/ref/c++.internal/html/classgrpc_1_1_internal_stub.html create mode 100644 doc/ref/c++.internal/html/classgrpc_1_1_method_handler.html create mode 100644 doc/ref/c++.internal/html/classgrpc_1_1_reader_interface.html create mode 100644 doc/ref/c++.internal/html/classgrpc_1_1_rpc_method.html create mode 100644 doc/ref/c++.internal/html/classgrpc_1_1_rpc_method_handler.html create mode 100644 doc/ref/c++.internal/html/classgrpc_1_1_rpc_service.html create mode 100644 doc/ref/c++.internal/html/classgrpc_1_1_rpc_service_method.html create mode 100644 doc/ref/c++.internal/html/classgrpc_1_1_secure_auth_context.html create mode 100644 doc/ref/c++.internal/html/classgrpc_1_1_secure_credentials.html create mode 100644 doc/ref/c++.internal/html/classgrpc_1_1_secure_server_credentials.html create mode 100644 doc/ref/c++.internal/html/classgrpc_1_1_serialization_traits.html create mode 100644 doc/ref/c++.internal/html/classgrpc_1_1_serialization_traits_3_01_byte_buffer_00_01void_01_4.html create mode 100644 doc/ref/c++.internal/html/classgrpc_1_1_serialization_traits_3_01_t_00_01typename_01std_1_1enable__if_3_01std_1_1is__base_42903f95c85f031c7724191271564901.html create mode 100644 doc/ref/c++.internal/html/classgrpc_1_1_server.html create mode 100644 doc/ref/c++.internal/html/classgrpc_1_1_server_1_1_shutdown_request.html create mode 100644 doc/ref/c++.internal/html/classgrpc_1_1_server_1_1_sync_request.html create mode 100644 doc/ref/c++.internal/html/classgrpc_1_1_server_1_1_sync_request_1_1_call_data.html create mode 100644 doc/ref/c++.internal/html/classgrpc_1_1_server_async_reader.html create mode 100644 doc/ref/c++.internal/html/classgrpc_1_1_server_async_reader_writer.html create mode 100644 doc/ref/c++.internal/html/classgrpc_1_1_server_async_response_writer.html create mode 100644 doc/ref/c++.internal/html/classgrpc_1_1_server_async_streaming_interface.html create mode 100644 doc/ref/c++.internal/html/classgrpc_1_1_server_async_writer.html create mode 100644 doc/ref/c++.internal/html/classgrpc_1_1_server_builder.html create mode 100644 doc/ref/c++.internal/html/classgrpc_1_1_server_completion_queue.html create mode 100644 doc/ref/c++.internal/html/classgrpc_1_1_server_context.html create mode 100644 doc/ref/c++.internal/html/classgrpc_1_1_server_context_1_1_completion_op.html create mode 100644 doc/ref/c++.internal/html/classgrpc_1_1_server_credentials.html create mode 100644 doc/ref/c++.internal/html/classgrpc_1_1_server_reader.html create mode 100644 doc/ref/c++.internal/html/classgrpc_1_1_server_reader_writer.html create mode 100644 doc/ref/c++.internal/html/classgrpc_1_1_server_streaming_handler.html create mode 100644 doc/ref/c++.internal/html/classgrpc_1_1_server_writer.html create mode 100644 doc/ref/c++.internal/html/classgrpc_1_1_slice.html create mode 100644 doc/ref/c++.internal/html/classgrpc_1_1_sneaky_call_op_set.html create mode 100644 doc/ref/c++.internal/html/classgrpc_1_1_status.html create mode 100644 doc/ref/c++.internal/html/classgrpc_1_1_synchronous_service.html create mode 100644 doc/ref/c++.internal/html/classgrpc_1_1_thread_pool_interface.html create mode 100644 doc/ref/c++.internal/html/classgrpc_1_1_time_point.html create mode 100644 doc/ref/c++.internal/html/classgrpc_1_1_time_point_3_01gpr__timespec_01_4.html create mode 100644 doc/ref/c++.internal/html/classgrpc_1_1_time_point_3_01std_1_1chrono_1_1system__clock_1_1time__point_01_4.html create mode 100644 doc/ref/c++.internal/html/classgrpc_1_1_write_options.html create mode 100644 doc/ref/c++.internal/html/classgrpc_1_1_writer_interface.html create mode 100644 doc/ref/c++.internal/html/classgrpc_1_1condition__variable.html create mode 100644 doc/ref/c++.internal/html/classgrpc_1_1lock__guard.html create mode 100644 doc/ref/c++.internal/html/classgrpc_1_1mutex.html create mode 100644 doc/ref/c++.internal/html/classgrpc_1_1thread.html create mode 100644 doc/ref/c++.internal/html/classgrpc_1_1unique__lock.html create mode 100644 doc/ref/c++.internal/html/client__context_8cc.html create mode 100644 doc/ref/c++.internal/html/client__context_8h.html create mode 100644 doc/ref/c++.internal/html/client__context_8h_source.html create mode 100644 doc/ref/c++.internal/html/client__unary__call_8h.html create mode 100644 doc/ref/c++.internal/html/client__unary__call_8h_source.html create mode 100644 doc/ref/c++.internal/html/closed.png create mode 100644 doc/ref/c++.internal/html/completion__queue_8cc.html create mode 100644 doc/ref/c++.internal/html/completion__queue_8h.html create mode 100644 doc/ref/c++.internal/html/completion__queue_8h_source.html create mode 100644 doc/ref/c++.internal/html/config_8h.html create mode 100644 doc/ref/c++.internal/html/config_8h_source.html create mode 100644 doc/ref/c++.internal/html/config__protobuf_8h.html create mode 100644 doc/ref/c++.internal/html/config__protobuf_8h_source.html create mode 100644 doc/ref/c++.internal/html/create__auth__context_8h.html create mode 100644 doc/ref/c++.internal/html/create__auth__context_8h_source.html create mode 100644 doc/ref/c++.internal/html/create__channel_8cc.html create mode 100644 doc/ref/c++.internal/html/create__channel_8h.html create mode 100644 doc/ref/c++.internal/html/create__channel_8h_source.html create mode 100644 doc/ref/c++.internal/html/create__default__thread__pool_8cc.html create mode 100644 doc/ref/c++.internal/html/credentials_8cc.html create mode 100644 doc/ref/c++.internal/html/credentials_8h.html create mode 100644 doc/ref/c++.internal/html/credentials_8h_source.html create mode 100644 doc/ref/c++.internal/html/dir_0b10d04e5d7dad9a62c383a9247be3d1.html create mode 100644 doc/ref/c++.internal/html/dir_68267d1309a1af8e8297ef4c3efbcdba.html create mode 100644 doc/ref/c++.internal/html/dir_799bce05d9e8d02e411cbb271f1d27d0.html create mode 100644 doc/ref/c++.internal/html/dir_9054dff79f4aef5611b5dbb47b540bd9.html create mode 100644 doc/ref/c++.internal/html/dir_9b13ffd429196d74948b03440343f0b3.html create mode 100644 doc/ref/c++.internal/html/dir_ac8b245a5921095c43c106649fd7bc4b.html create mode 100644 doc/ref/c++.internal/html/dir_d44c64559bbebec7f509842c48db8b23.html create mode 100644 doc/ref/c++.internal/html/dir_dfdbda394c3f7a3aa55229f33a559c41.html create mode 100644 doc/ref/c++.internal/html/dir_f1b2ab2a88927c1e950e43c1cf4b634b.html create mode 100644 doc/ref/c++.internal/html/dir_fdeab67c13c4581d892d240a87ff1c87.html create mode 100644 doc/ref/c++.internal/html/doxygen.css create mode 100644 doc/ref/c++.internal/html/doxygen.png create mode 100644 doc/ref/c++.internal/html/dynamic__thread__pool_8cc.html create mode 100644 doc/ref/c++.internal/html/dynamic__thread__pool_8h.html create mode 100644 doc/ref/c++.internal/html/dynamic__thread__pool_8h_source.html create mode 100644 doc/ref/c++.internal/html/dynsections.js create mode 100644 doc/ref/c++.internal/html/files.html create mode 100644 doc/ref/c++.internal/html/fixed__size__thread__pool_8cc.html create mode 100644 doc/ref/c++.internal/html/fixed__size__thread__pool_8h.html create mode 100644 doc/ref/c++.internal/html/fixed__size__thread__pool_8h_source.html create mode 100644 doc/ref/c++.internal/html/ftv2blank.png create mode 100644 doc/ref/c++.internal/html/ftv2cl.png create mode 100644 doc/ref/c++.internal/html/ftv2doc.png create mode 100644 doc/ref/c++.internal/html/ftv2folderclosed.png create mode 100644 doc/ref/c++.internal/html/ftv2folderopen.png create mode 100644 doc/ref/c++.internal/html/ftv2lastnode.png create mode 100644 doc/ref/c++.internal/html/ftv2link.png create mode 100644 doc/ref/c++.internal/html/ftv2mlastnode.png create mode 100644 doc/ref/c++.internal/html/ftv2mnode.png create mode 100644 doc/ref/c++.internal/html/ftv2mo.png create mode 100644 doc/ref/c++.internal/html/ftv2node.png create mode 100644 doc/ref/c++.internal/html/ftv2ns.png create mode 100644 doc/ref/c++.internal/html/ftv2plastnode.png create mode 100644 doc/ref/c++.internal/html/ftv2pnode.png create mode 100644 doc/ref/c++.internal/html/ftv2splitbar.png create mode 100644 doc/ref/c++.internal/html/ftv2vertline.png create mode 100644 doc/ref/c++.internal/html/functions.html create mode 100644 doc/ref/c++.internal/html/functions_a.html create mode 100644 doc/ref/c++.internal/html/functions_b.html create mode 100644 doc/ref/c++.internal/html/functions_c.html create mode 100644 doc/ref/c++.internal/html/functions_d.html create mode 100644 doc/ref/c++.internal/html/functions_e.html create mode 100644 doc/ref/c++.internal/html/functions_enum.html create mode 100644 doc/ref/c++.internal/html/functions_eval.html create mode 100644 doc/ref/c++.internal/html/functions_f.html create mode 100644 doc/ref/c++.internal/html/functions_func.html create mode 100644 doc/ref/c++.internal/html/functions_func_b.html create mode 100644 doc/ref/c++.internal/html/functions_func_c.html create mode 100644 doc/ref/c++.internal/html/functions_func_d.html create mode 100644 doc/ref/c++.internal/html/functions_func_e.html create mode 100644 doc/ref/c++.internal/html/functions_func_f.html create mode 100644 doc/ref/c++.internal/html/functions_func_g.html create mode 100644 doc/ref/c++.internal/html/functions_func_h.html create mode 100644 doc/ref/c++.internal/html/functions_func_i.html create mode 100644 doc/ref/c++.internal/html/functions_func_j.html create mode 100644 doc/ref/c++.internal/html/functions_func_l.html create mode 100644 doc/ref/c++.internal/html/functions_func_m.html create mode 100644 doc/ref/c++.internal/html/functions_func_n.html create mode 100644 doc/ref/c++.internal/html/functions_func_o.html create mode 100644 doc/ref/c++.internal/html/functions_func_p.html create mode 100644 doc/ref/c++.internal/html/functions_func_r.html create mode 100644 doc/ref/c++.internal/html/functions_func_s.html create mode 100644 doc/ref/c++.internal/html/functions_func_t.html create mode 100644 doc/ref/c++.internal/html/functions_func_u.html create mode 100644 doc/ref/c++.internal/html/functions_func_w.html create mode 100644 doc/ref/c++.internal/html/functions_func_~.html create mode 100644 doc/ref/c++.internal/html/functions_g.html create mode 100644 doc/ref/c++.internal/html/functions_h.html create mode 100644 doc/ref/c++.internal/html/functions_i.html create mode 100644 doc/ref/c++.internal/html/functions_j.html create mode 100644 doc/ref/c++.internal/html/functions_l.html create mode 100644 doc/ref/c++.internal/html/functions_m.html create mode 100644 doc/ref/c++.internal/html/functions_n.html create mode 100644 doc/ref/c++.internal/html/functions_o.html create mode 100644 doc/ref/c++.internal/html/functions_p.html create mode 100644 doc/ref/c++.internal/html/functions_r.html create mode 100644 doc/ref/c++.internal/html/functions_rela.html create mode 100644 doc/ref/c++.internal/html/functions_s.html create mode 100644 doc/ref/c++.internal/html/functions_t.html create mode 100644 doc/ref/c++.internal/html/functions_u.html create mode 100644 doc/ref/c++.internal/html/functions_vars.html create mode 100644 doc/ref/c++.internal/html/functions_w.html create mode 100644 doc/ref/c++.internal/html/functions_~.html create mode 100644 doc/ref/c++.internal/html/generic__stub_8cc.html create mode 100644 doc/ref/c++.internal/html/generic__stub_8h.html create mode 100644 doc/ref/c++.internal/html/generic__stub_8h_source.html create mode 100644 doc/ref/c++.internal/html/globals.html create mode 100644 doc/ref/c++.internal/html/globals_defs.html create mode 100644 doc/ref/c++.internal/html/globals_vars.html create mode 100644 doc/ref/c++.internal/html/graph_legend.html create mode 100644 doc/ref/c++.internal/html/graph_legend.md5 create mode 100644 doc/ref/c++.internal/html/graph_legend.png create mode 100644 doc/ref/c++.internal/html/grpc__library_8h.html create mode 100644 doc/ref/c++.internal/html/grpc__library_8h_source.html create mode 100644 doc/ref/c++.internal/html/hierarchy.html create mode 100644 doc/ref/c++.internal/html/index.html create mode 100644 doc/ref/c++.internal/html/insecure__credentials_8cc.html create mode 100644 doc/ref/c++.internal/html/insecure__server__credentials_8cc.html create mode 100644 doc/ref/c++.internal/html/internal__stub_8cc.html create mode 100644 doc/ref/c++.internal/html/internal__stub_8h.html create mode 100644 doc/ref/c++.internal/html/internal__stub_8h_source.html create mode 100644 doc/ref/c++.internal/html/jquery.js create mode 100644 doc/ref/c++.internal/html/namespacegrpc.html create mode 100644 doc/ref/c++.internal/html/namespacegrpc_1_1_call_op_generic_recv_message_helper.html create mode 100644 doc/ref/c++.internal/html/namespacegrpc_1_1protobuf.html create mode 100644 doc/ref/c++.internal/html/namespacegrpc_1_1protobuf_1_1io.html create mode 100644 doc/ref/c++.internal/html/namespacegrpc_1_1testing.html create mode 100644 doc/ref/c++.internal/html/namespacemembers.html create mode 100644 doc/ref/c++.internal/html/namespacemembers_enum.html create mode 100644 doc/ref/c++.internal/html/namespacemembers_eval.html create mode 100644 doc/ref/c++.internal/html/namespacemembers_func.html create mode 100644 doc/ref/c++.internal/html/namespacemembers_type.html create mode 100644 doc/ref/c++.internal/html/namespaces.html create mode 100644 doc/ref/c++.internal/html/nav_f.png create mode 100644 doc/ref/c++.internal/html/nav_g.png create mode 100644 doc/ref/c++.internal/html/nav_h.png create mode 100644 doc/ref/c++.internal/html/open.png create mode 100644 doc/ref/c++.internal/html/proto__utils_8cc.html create mode 100644 doc/ref/c++.internal/html/proto__utils_8h.html create mode 100644 doc/ref/c++.internal/html/proto__utils_8h_source.html create mode 100644 doc/ref/c++.internal/html/rpc__method_8cc.html create mode 100644 doc/ref/c++.internal/html/rpc__method_8h.html create mode 100644 doc/ref/c++.internal/html/rpc__method_8h_source.html create mode 100644 doc/ref/c++.internal/html/rpc__service__method_8h.html create mode 100644 doc/ref/c++.internal/html/rpc__service__method_8h_source.html create mode 100644 doc/ref/c++.internal/html/search/all_0.html create mode 100644 doc/ref/c++.internal/html/search/all_0.js create mode 100644 doc/ref/c++.internal/html/search/all_1.html create mode 100644 doc/ref/c++.internal/html/search/all_1.js create mode 100644 doc/ref/c++.internal/html/search/all_10.html create mode 100644 doc/ref/c++.internal/html/search/all_10.js create mode 100644 doc/ref/c++.internal/html/search/all_11.html create mode 100644 doc/ref/c++.internal/html/search/all_11.js create mode 100644 doc/ref/c++.internal/html/search/all_12.html create mode 100644 doc/ref/c++.internal/html/search/all_12.js create mode 100644 doc/ref/c++.internal/html/search/all_13.html create mode 100644 doc/ref/c++.internal/html/search/all_13.js create mode 100644 doc/ref/c++.internal/html/search/all_14.html create mode 100644 doc/ref/c++.internal/html/search/all_14.js create mode 100644 doc/ref/c++.internal/html/search/all_15.html create mode 100644 doc/ref/c++.internal/html/search/all_15.js create mode 100644 doc/ref/c++.internal/html/search/all_16.html create mode 100644 doc/ref/c++.internal/html/search/all_16.js create mode 100644 doc/ref/c++.internal/html/search/all_17.html create mode 100644 doc/ref/c++.internal/html/search/all_17.js create mode 100644 doc/ref/c++.internal/html/search/all_2.html create mode 100644 doc/ref/c++.internal/html/search/all_2.js create mode 100644 doc/ref/c++.internal/html/search/all_3.html create mode 100644 doc/ref/c++.internal/html/search/all_3.js create mode 100644 doc/ref/c++.internal/html/search/all_4.html create mode 100644 doc/ref/c++.internal/html/search/all_4.js create mode 100644 doc/ref/c++.internal/html/search/all_5.html create mode 100644 doc/ref/c++.internal/html/search/all_5.js create mode 100644 doc/ref/c++.internal/html/search/all_6.html create mode 100644 doc/ref/c++.internal/html/search/all_6.js create mode 100644 doc/ref/c++.internal/html/search/all_7.html create mode 100644 doc/ref/c++.internal/html/search/all_7.js create mode 100644 doc/ref/c++.internal/html/search/all_8.html create mode 100644 doc/ref/c++.internal/html/search/all_8.js create mode 100644 doc/ref/c++.internal/html/search/all_9.html create mode 100644 doc/ref/c++.internal/html/search/all_9.js create mode 100644 doc/ref/c++.internal/html/search/all_a.html create mode 100644 doc/ref/c++.internal/html/search/all_a.js create mode 100644 doc/ref/c++.internal/html/search/all_b.html create mode 100644 doc/ref/c++.internal/html/search/all_b.js create mode 100644 doc/ref/c++.internal/html/search/all_c.html create mode 100644 doc/ref/c++.internal/html/search/all_c.js create mode 100644 doc/ref/c++.internal/html/search/all_d.html create mode 100644 doc/ref/c++.internal/html/search/all_d.js create mode 100644 doc/ref/c++.internal/html/search/all_e.html create mode 100644 doc/ref/c++.internal/html/search/all_e.js create mode 100644 doc/ref/c++.internal/html/search/all_f.html create mode 100644 doc/ref/c++.internal/html/search/all_f.js create mode 100644 doc/ref/c++.internal/html/search/classes_0.html create mode 100644 doc/ref/c++.internal/html/search/classes_0.js create mode 100644 doc/ref/c++.internal/html/search/classes_1.html create mode 100644 doc/ref/c++.internal/html/search/classes_1.js create mode 100644 doc/ref/c++.internal/html/search/classes_2.html create mode 100644 doc/ref/c++.internal/html/search/classes_2.js create mode 100644 doc/ref/c++.internal/html/search/classes_3.html create mode 100644 doc/ref/c++.internal/html/search/classes_3.js create mode 100644 doc/ref/c++.internal/html/search/classes_4.html create mode 100644 doc/ref/c++.internal/html/search/classes_4.js create mode 100644 doc/ref/c++.internal/html/search/classes_5.html create mode 100644 doc/ref/c++.internal/html/search/classes_5.js create mode 100644 doc/ref/c++.internal/html/search/classes_6.html create mode 100644 doc/ref/c++.internal/html/search/classes_6.js create mode 100644 doc/ref/c++.internal/html/search/classes_7.html create mode 100644 doc/ref/c++.internal/html/search/classes_7.js create mode 100644 doc/ref/c++.internal/html/search/classes_8.html create mode 100644 doc/ref/c++.internal/html/search/classes_8.js create mode 100644 doc/ref/c++.internal/html/search/classes_9.html create mode 100644 doc/ref/c++.internal/html/search/classes_9.js create mode 100644 doc/ref/c++.internal/html/search/classes_a.html create mode 100644 doc/ref/c++.internal/html/search/classes_a.js create mode 100644 doc/ref/c++.internal/html/search/classes_b.html create mode 100644 doc/ref/c++.internal/html/search/classes_b.js create mode 100644 doc/ref/c++.internal/html/search/classes_c.html create mode 100644 doc/ref/c++.internal/html/search/classes_c.js create mode 100644 doc/ref/c++.internal/html/search/classes_d.html create mode 100644 doc/ref/c++.internal/html/search/classes_d.js create mode 100644 doc/ref/c++.internal/html/search/classes_e.html create mode 100644 doc/ref/c++.internal/html/search/classes_e.js create mode 100644 doc/ref/c++.internal/html/search/classes_f.html create mode 100644 doc/ref/c++.internal/html/search/classes_f.js create mode 100644 doc/ref/c++.internal/html/search/close.png create mode 100644 doc/ref/c++.internal/html/search/defines_0.html create mode 100644 doc/ref/c++.internal/html/search/defines_0.js create mode 100644 doc/ref/c++.internal/html/search/enums_0.html create mode 100644 doc/ref/c++.internal/html/search/enums_0.js create mode 100644 doc/ref/c++.internal/html/search/enums_1.html create mode 100644 doc/ref/c++.internal/html/search/enums_1.js create mode 100644 doc/ref/c++.internal/html/search/enums_2.html create mode 100644 doc/ref/c++.internal/html/search/enums_2.js create mode 100644 doc/ref/c++.internal/html/search/enums_3.html create mode 100644 doc/ref/c++.internal/html/search/enums_3.js create mode 100644 doc/ref/c++.internal/html/search/enumvalues_0.html create mode 100644 doc/ref/c++.internal/html/search/enumvalues_0.js create mode 100644 doc/ref/c++.internal/html/search/enumvalues_1.html create mode 100644 doc/ref/c++.internal/html/search/enumvalues_1.js create mode 100644 doc/ref/c++.internal/html/search/enumvalues_2.html create mode 100644 doc/ref/c++.internal/html/search/enumvalues_2.js create mode 100644 doc/ref/c++.internal/html/search/enumvalues_3.html create mode 100644 doc/ref/c++.internal/html/search/enumvalues_3.js create mode 100644 doc/ref/c++.internal/html/search/enumvalues_4.html create mode 100644 doc/ref/c++.internal/html/search/enumvalues_4.js create mode 100644 doc/ref/c++.internal/html/search/enumvalues_5.html create mode 100644 doc/ref/c++.internal/html/search/enumvalues_5.js create mode 100644 doc/ref/c++.internal/html/search/enumvalues_6.html create mode 100644 doc/ref/c++.internal/html/search/enumvalues_6.js create mode 100644 doc/ref/c++.internal/html/search/enumvalues_7.html create mode 100644 doc/ref/c++.internal/html/search/enumvalues_7.js create mode 100644 doc/ref/c++.internal/html/search/enumvalues_8.html create mode 100644 doc/ref/c++.internal/html/search/enumvalues_8.js create mode 100644 doc/ref/c++.internal/html/search/enumvalues_9.html create mode 100644 doc/ref/c++.internal/html/search/enumvalues_9.js create mode 100644 doc/ref/c++.internal/html/search/enumvalues_a.html create mode 100644 doc/ref/c++.internal/html/search/enumvalues_a.js create mode 100644 doc/ref/c++.internal/html/search/enumvalues_b.html create mode 100644 doc/ref/c++.internal/html/search/enumvalues_b.js create mode 100644 doc/ref/c++.internal/html/search/enumvalues_c.html create mode 100644 doc/ref/c++.internal/html/search/enumvalues_c.js create mode 100644 doc/ref/c++.internal/html/search/enumvalues_d.html create mode 100644 doc/ref/c++.internal/html/search/enumvalues_d.js create mode 100644 doc/ref/c++.internal/html/search/files_0.html create mode 100644 doc/ref/c++.internal/html/search/files_0.js create mode 100644 doc/ref/c++.internal/html/search/files_1.html create mode 100644 doc/ref/c++.internal/html/search/files_1.js create mode 100644 doc/ref/c++.internal/html/search/files_2.html create mode 100644 doc/ref/c++.internal/html/search/files_2.js create mode 100644 doc/ref/c++.internal/html/search/files_3.html create mode 100644 doc/ref/c++.internal/html/search/files_3.js create mode 100644 doc/ref/c++.internal/html/search/files_4.html create mode 100644 doc/ref/c++.internal/html/search/files_4.js create mode 100644 doc/ref/c++.internal/html/search/files_5.html create mode 100644 doc/ref/c++.internal/html/search/files_5.js create mode 100644 doc/ref/c++.internal/html/search/files_6.html create mode 100644 doc/ref/c++.internal/html/search/files_6.js create mode 100644 doc/ref/c++.internal/html/search/files_7.html create mode 100644 doc/ref/c++.internal/html/search/files_7.js create mode 100644 doc/ref/c++.internal/html/search/files_8.html create mode 100644 doc/ref/c++.internal/html/search/files_8.js create mode 100644 doc/ref/c++.internal/html/search/files_9.html create mode 100644 doc/ref/c++.internal/html/search/files_9.js create mode 100644 doc/ref/c++.internal/html/search/files_a.html create mode 100644 doc/ref/c++.internal/html/search/files_a.js create mode 100644 doc/ref/c++.internal/html/search/functions_0.html create mode 100644 doc/ref/c++.internal/html/search/functions_0.js create mode 100644 doc/ref/c++.internal/html/search/functions_1.html create mode 100644 doc/ref/c++.internal/html/search/functions_1.js create mode 100644 doc/ref/c++.internal/html/search/functions_10.html create mode 100644 doc/ref/c++.internal/html/search/functions_10.js create mode 100644 doc/ref/c++.internal/html/search/functions_11.html create mode 100644 doc/ref/c++.internal/html/search/functions_11.js create mode 100644 doc/ref/c++.internal/html/search/functions_12.html create mode 100644 doc/ref/c++.internal/html/search/functions_12.js create mode 100644 doc/ref/c++.internal/html/search/functions_13.html create mode 100644 doc/ref/c++.internal/html/search/functions_13.js create mode 100644 doc/ref/c++.internal/html/search/functions_14.html create mode 100644 doc/ref/c++.internal/html/search/functions_14.js create mode 100644 doc/ref/c++.internal/html/search/functions_2.html create mode 100644 doc/ref/c++.internal/html/search/functions_2.js create mode 100644 doc/ref/c++.internal/html/search/functions_3.html create mode 100644 doc/ref/c++.internal/html/search/functions_3.js create mode 100644 doc/ref/c++.internal/html/search/functions_4.html create mode 100644 doc/ref/c++.internal/html/search/functions_4.js create mode 100644 doc/ref/c++.internal/html/search/functions_5.html create mode 100644 doc/ref/c++.internal/html/search/functions_5.js create mode 100644 doc/ref/c++.internal/html/search/functions_6.html create mode 100644 doc/ref/c++.internal/html/search/functions_6.js create mode 100644 doc/ref/c++.internal/html/search/functions_7.html create mode 100644 doc/ref/c++.internal/html/search/functions_7.js create mode 100644 doc/ref/c++.internal/html/search/functions_8.html create mode 100644 doc/ref/c++.internal/html/search/functions_8.js create mode 100644 doc/ref/c++.internal/html/search/functions_9.html create mode 100644 doc/ref/c++.internal/html/search/functions_9.js create mode 100644 doc/ref/c++.internal/html/search/functions_a.html create mode 100644 doc/ref/c++.internal/html/search/functions_a.js create mode 100644 doc/ref/c++.internal/html/search/functions_b.html create mode 100644 doc/ref/c++.internal/html/search/functions_b.js create mode 100644 doc/ref/c++.internal/html/search/functions_c.html create mode 100644 doc/ref/c++.internal/html/search/functions_c.js create mode 100644 doc/ref/c++.internal/html/search/functions_d.html create mode 100644 doc/ref/c++.internal/html/search/functions_d.js create mode 100644 doc/ref/c++.internal/html/search/functions_e.html create mode 100644 doc/ref/c++.internal/html/search/functions_e.js create mode 100644 doc/ref/c++.internal/html/search/functions_f.html create mode 100644 doc/ref/c++.internal/html/search/functions_f.js create mode 100644 doc/ref/c++.internal/html/search/mag_sel.png create mode 100644 doc/ref/c++.internal/html/search/namespaces_0.html create mode 100644 doc/ref/c++.internal/html/search/namespaces_0.js create mode 100644 doc/ref/c++.internal/html/search/nomatches.html create mode 100644 doc/ref/c++.internal/html/search/related_0.html create mode 100644 doc/ref/c++.internal/html/search/related_0.js create mode 100644 doc/ref/c++.internal/html/search/related_1.html create mode 100644 doc/ref/c++.internal/html/search/related_1.js create mode 100644 doc/ref/c++.internal/html/search/related_2.html create mode 100644 doc/ref/c++.internal/html/search/related_2.js create mode 100644 doc/ref/c++.internal/html/search/related_3.html create mode 100644 doc/ref/c++.internal/html/search/related_3.js create mode 100644 doc/ref/c++.internal/html/search/related_4.html create mode 100644 doc/ref/c++.internal/html/search/related_4.js create mode 100644 doc/ref/c++.internal/html/search/related_5.html create mode 100644 doc/ref/c++.internal/html/search/related_5.js create mode 100644 doc/ref/c++.internal/html/search/related_6.html create mode 100644 doc/ref/c++.internal/html/search/related_6.js create mode 100644 doc/ref/c++.internal/html/search/related_7.html create mode 100644 doc/ref/c++.internal/html/search/related_7.js create mode 100644 doc/ref/c++.internal/html/search/search.css create mode 100644 doc/ref/c++.internal/html/search/search.js create mode 100644 doc/ref/c++.internal/html/search/search_l.png create mode 100644 doc/ref/c++.internal/html/search/search_m.png create mode 100644 doc/ref/c++.internal/html/search/search_r.png create mode 100644 doc/ref/c++.internal/html/search/typedefs_0.html create mode 100644 doc/ref/c++.internal/html/search/typedefs_0.js create mode 100644 doc/ref/c++.internal/html/search/typedefs_1.html create mode 100644 doc/ref/c++.internal/html/search/typedefs_1.js create mode 100644 doc/ref/c++.internal/html/search/typedefs_2.html create mode 100644 doc/ref/c++.internal/html/search/typedefs_2.js create mode 100644 doc/ref/c++.internal/html/search/typedefs_3.html create mode 100644 doc/ref/c++.internal/html/search/typedefs_3.js create mode 100644 doc/ref/c++.internal/html/search/typedefs_4.html create mode 100644 doc/ref/c++.internal/html/search/typedefs_4.js create mode 100644 doc/ref/c++.internal/html/search/typedefs_5.html create mode 100644 doc/ref/c++.internal/html/search/typedefs_5.js create mode 100644 doc/ref/c++.internal/html/search/typedefs_6.html create mode 100644 doc/ref/c++.internal/html/search/typedefs_6.js create mode 100644 doc/ref/c++.internal/html/search/variables_0.html create mode 100644 doc/ref/c++.internal/html/search/variables_0.js create mode 100644 doc/ref/c++.internal/html/search/variables_1.html create mode 100644 doc/ref/c++.internal/html/search/variables_1.js create mode 100644 doc/ref/c++.internal/html/search/variables_2.html create mode 100644 doc/ref/c++.internal/html/search/variables_2.js create mode 100644 doc/ref/c++.internal/html/search/variables_3.html create mode 100644 doc/ref/c++.internal/html/search/variables_3.js create mode 100644 doc/ref/c++.internal/html/search/variables_4.html create mode 100644 doc/ref/c++.internal/html/search/variables_4.js create mode 100644 doc/ref/c++.internal/html/search/variables_5.html create mode 100644 doc/ref/c++.internal/html/search/variables_5.js create mode 100644 doc/ref/c++.internal/html/search/variables_6.html create mode 100644 doc/ref/c++.internal/html/search/variables_6.js create mode 100644 doc/ref/c++.internal/html/search/variables_7.html create mode 100644 doc/ref/c++.internal/html/search/variables_7.js create mode 100644 doc/ref/c++.internal/html/search/variables_8.html create mode 100644 doc/ref/c++.internal/html/search/variables_8.js create mode 100644 doc/ref/c++.internal/html/search/variables_9.html create mode 100644 doc/ref/c++.internal/html/search/variables_9.js create mode 100644 doc/ref/c++.internal/html/secure__auth__context_8cc.html create mode 100644 doc/ref/c++.internal/html/secure__auth__context_8h.html create mode 100644 doc/ref/c++.internal/html/secure__auth__context_8h_source.html create mode 100644 doc/ref/c++.internal/html/secure__channel__arguments_8cc.html create mode 100644 doc/ref/c++.internal/html/secure__create__auth__context_8cc.html create mode 100644 doc/ref/c++.internal/html/secure__credentials_8cc.html create mode 100644 doc/ref/c++.internal/html/secure__credentials_8h.html create mode 100644 doc/ref/c++.internal/html/secure__credentials_8h_source.html create mode 100644 doc/ref/c++.internal/html/secure__server__credentials_8cc.html create mode 100644 doc/ref/c++.internal/html/secure__server__credentials_8h.html create mode 100644 doc/ref/c++.internal/html/secure__server__credentials_8h_source.html create mode 100644 doc/ref/c++.internal/html/serialization__traits_8h.html create mode 100644 doc/ref/c++.internal/html/serialization__traits_8h_source.html create mode 100644 doc/ref/c++.internal/html/server_8cc.html create mode 100644 doc/ref/c++.internal/html/server_8h.html create mode 100644 doc/ref/c++.internal/html/server_8h_source.html create mode 100644 doc/ref/c++.internal/html/server__builder_8cc.html create mode 100644 doc/ref/c++.internal/html/server__builder_8h.html create mode 100644 doc/ref/c++.internal/html/server__builder_8h_source.html create mode 100644 doc/ref/c++.internal/html/server__context_8cc.html create mode 100644 doc/ref/c++.internal/html/server__context_8h.html create mode 100644 doc/ref/c++.internal/html/server__context_8h_source.html create mode 100644 doc/ref/c++.internal/html/server__credentials_8cc.html create mode 100644 doc/ref/c++.internal/html/server__credentials_8h.html create mode 100644 doc/ref/c++.internal/html/server__credentials_8h_source.html create mode 100644 doc/ref/c++.internal/html/service__type_8h.html create mode 100644 doc/ref/c++.internal/html/service__type_8h_source.html create mode 100644 doc/ref/c++.internal/html/slice_8cc.html create mode 100644 doc/ref/c++.internal/html/slice_8h.html create mode 100644 doc/ref/c++.internal/html/slice_8h_source.html create mode 100644 doc/ref/c++.internal/html/status_8cc.html create mode 100644 doc/ref/c++.internal/html/status_8h.html create mode 100644 doc/ref/c++.internal/html/status_8h_source.html create mode 100644 doc/ref/c++.internal/html/status__code__enum_8h.html create mode 100644 doc/ref/c++.internal/html/status__code__enum_8h_source.html create mode 100644 doc/ref/c++.internal/html/stream_8h.html create mode 100644 doc/ref/c++.internal/html/stream_8h_source.html create mode 100644 doc/ref/c++.internal/html/structgrpc_1_1_method_handler_1_1_handler_parameter.html create mode 100644 doc/ref/c++.internal/html/structgrpc_1_1_ssl_credentials_options.html create mode 100644 doc/ref/c++.internal/html/structgrpc_1_1_ssl_server_credentials_options.html create mode 100644 doc/ref/c++.internal/html/structgrpc_1_1_ssl_server_credentials_options_1_1_pem_key_cert_pair.html create mode 100644 doc/ref/c++.internal/html/sync_8h.html create mode 100644 doc/ref/c++.internal/html/sync_8h_source.html create mode 100644 doc/ref/c++.internal/html/sync__cxx11_8h.html create mode 100644 doc/ref/c++.internal/html/sync__cxx11_8h_source.html create mode 100644 doc/ref/c++.internal/html/sync__no__cxx11_8h.html create mode 100644 doc/ref/c++.internal/html/sync__no__cxx11_8h_source.html create mode 100644 doc/ref/c++.internal/html/sync_off.png create mode 100644 doc/ref/c++.internal/html/sync_on.png create mode 100644 doc/ref/c++.internal/html/tab_a.png create mode 100644 doc/ref/c++.internal/html/tab_b.png create mode 100644 doc/ref/c++.internal/html/tab_h.png create mode 100644 doc/ref/c++.internal/html/tab_s.png create mode 100644 doc/ref/c++.internal/html/tabs.css create mode 100644 doc/ref/c++.internal/html/thd_8h.html create mode 100644 doc/ref/c++.internal/html/thd_8h_source.html create mode 100644 doc/ref/c++.internal/html/thd__cxx11_8h.html create mode 100644 doc/ref/c++.internal/html/thd__cxx11_8h_source.html create mode 100644 doc/ref/c++.internal/html/thd__no__cxx11_8h.html create mode 100644 doc/ref/c++.internal/html/thd__no__cxx11_8h_source.html create mode 100644 doc/ref/c++.internal/html/thread__pool__interface_8h.html create mode 100644 doc/ref/c++.internal/html/thread__pool__interface_8h_source.html create mode 100644 doc/ref/c++.internal/html/time_8cc.html create mode 100644 doc/ref/c++.internal/html/time_8h.html create mode 100644 doc/ref/c++.internal/html/time_8h_source.html create mode 100644 doc/ref/c++/html/annotated.html create mode 100644 doc/ref/c++/html/async__generic__service_8h.html create mode 100644 doc/ref/c++/html/async__generic__service_8h_source.html create mode 100644 doc/ref/c++/html/async__unary__call_8h.html create mode 100644 doc/ref/c++/html/async__unary__call_8h_source.html create mode 100644 doc/ref/c++/html/auth__context_8h.html create mode 100644 doc/ref/c++/html/auth__context_8h_source.html create mode 100644 doc/ref/c++/html/auth__property__iterator_8h.html create mode 100644 doc/ref/c++/html/auth__property__iterator_8h_source.html create mode 100644 doc/ref/c++/html/bc_s.png create mode 100644 doc/ref/c++/html/bdwn.png create mode 100644 doc/ref/c++/html/byte__buffer_8h.html create mode 100644 doc/ref/c++/html/byte__buffer_8h_source.html create mode 100644 doc/ref/c++/html/call_8h.html create mode 100644 doc/ref/c++/html/call_8h_source.html create mode 100644 doc/ref/c++/html/channel__arguments_8h.html create mode 100644 doc/ref/c++/html/channel__arguments_8h_source.html create mode 100644 doc/ref/c++/html/channel__interface_8h.html create mode 100644 doc/ref/c++/html/channel__interface_8h_source.html create mode 100644 doc/ref/c++/html/classes.html create mode 100644 doc/ref/c++/html/classgrpc_1_1_async_generic_service.html create mode 100644 doc/ref/c++/html/classgrpc_1_1_async_reader_interface.html create mode 100644 doc/ref/c++/html/classgrpc_1_1_async_writer_interface.html create mode 100644 doc/ref/c++/html/classgrpc_1_1_asynchronous_service.html create mode 100644 doc/ref/c++/html/classgrpc_1_1_auth_context.html create mode 100644 doc/ref/c++/html/classgrpc_1_1_auth_property_iterator.html create mode 100644 doc/ref/c++/html/classgrpc_1_1_bidi_streaming_handler.html create mode 100644 doc/ref/c++/html/classgrpc_1_1_byte_buffer.html create mode 100644 doc/ref/c++/html/classgrpc_1_1_call.html create mode 100644 doc/ref/c++/html/classgrpc_1_1_call_hook.html create mode 100644 doc/ref/c++/html/classgrpc_1_1_call_no_op.html create mode 100644 doc/ref/c++/html/classgrpc_1_1_call_op_client_recv_status.html create mode 100644 doc/ref/c++/html/classgrpc_1_1_call_op_client_send_close.html create mode 100644 doc/ref/c++/html/classgrpc_1_1_call_op_generic_recv_message.html create mode 100644 doc/ref/c++/html/classgrpc_1_1_call_op_generic_recv_message_helper_1_1_deserialize_func.html create mode 100644 doc/ref/c++/html/classgrpc_1_1_call_op_generic_recv_message_helper_1_1_deserialize_func_type.html create mode 100644 doc/ref/c++/html/classgrpc_1_1_call_op_recv_initial_metadata.html create mode 100644 doc/ref/c++/html/classgrpc_1_1_call_op_recv_message.html create mode 100644 doc/ref/c++/html/classgrpc_1_1_call_op_send_initial_metadata.html create mode 100644 doc/ref/c++/html/classgrpc_1_1_call_op_send_message.html create mode 100644 doc/ref/c++/html/classgrpc_1_1_call_op_server_send_status.html create mode 100644 doc/ref/c++/html/classgrpc_1_1_call_op_set.html create mode 100644 doc/ref/c++/html/classgrpc_1_1_call_op_set_interface.html create mode 100644 doc/ref/c++/html/classgrpc_1_1_channel_arguments.html create mode 100644 doc/ref/c++/html/classgrpc_1_1_channel_interface.html create mode 100644 doc/ref/c++/html/classgrpc_1_1_client_async_reader.html create mode 100644 doc/ref/c++/html/classgrpc_1_1_client_async_reader_interface.html create mode 100644 doc/ref/c++/html/classgrpc_1_1_client_async_reader_writer.html create mode 100644 doc/ref/c++/html/classgrpc_1_1_client_async_reader_writer_interface.html create mode 100644 doc/ref/c++/html/classgrpc_1_1_client_async_response_reader.html create mode 100644 doc/ref/c++/html/classgrpc_1_1_client_async_response_reader_interface.html create mode 100644 doc/ref/c++/html/classgrpc_1_1_client_async_streaming_interface.html create mode 100644 doc/ref/c++/html/classgrpc_1_1_client_async_writer.html create mode 100644 doc/ref/c++/html/classgrpc_1_1_client_async_writer_interface.html create mode 100644 doc/ref/c++/html/classgrpc_1_1_client_context.html create mode 100644 doc/ref/c++/html/classgrpc_1_1_client_reader.html create mode 100644 doc/ref/c++/html/classgrpc_1_1_client_reader_interface.html create mode 100644 doc/ref/c++/html/classgrpc_1_1_client_reader_writer.html create mode 100644 doc/ref/c++/html/classgrpc_1_1_client_reader_writer_interface.html create mode 100644 doc/ref/c++/html/classgrpc_1_1_client_streaming_handler.html create mode 100644 doc/ref/c++/html/classgrpc_1_1_client_streaming_interface.html create mode 100644 doc/ref/c++/html/classgrpc_1_1_client_writer.html create mode 100644 doc/ref/c++/html/classgrpc_1_1_client_writer_interface.html create mode 100644 doc/ref/c++/html/classgrpc_1_1_completion_queue.html create mode 100644 doc/ref/c++/html/classgrpc_1_1_completion_queue_tag.html create mode 100644 doc/ref/c++/html/classgrpc_1_1_credentials.html create mode 100644 doc/ref/c++/html/classgrpc_1_1_dynamic_thread_pool.html create mode 100644 doc/ref/c++/html/classgrpc_1_1_fixed_size_thread_pool.html create mode 100644 doc/ref/c++/html/classgrpc_1_1_generic_server_context.html create mode 100644 doc/ref/c++/html/classgrpc_1_1_generic_stub.html create mode 100644 doc/ref/c++/html/classgrpc_1_1_grpc_library.html create mode 100644 doc/ref/c++/html/classgrpc_1_1_internal_stub.html create mode 100644 doc/ref/c++/html/classgrpc_1_1_method_handler.html create mode 100644 doc/ref/c++/html/classgrpc_1_1_reader_interface.html create mode 100644 doc/ref/c++/html/classgrpc_1_1_rpc_method.html create mode 100644 doc/ref/c++/html/classgrpc_1_1_rpc_method_handler.html create mode 100644 doc/ref/c++/html/classgrpc_1_1_rpc_service.html create mode 100644 doc/ref/c++/html/classgrpc_1_1_rpc_service_method.html create mode 100644 doc/ref/c++/html/classgrpc_1_1_serialization_traits.html create mode 100644 doc/ref/c++/html/classgrpc_1_1_serialization_traits_3_01_byte_buffer_00_01void_01_4.html create mode 100644 doc/ref/c++/html/classgrpc_1_1_serialization_traits_3_01_t_00_01typename_01std_1_1enable__if_3_01std_1_1is__base_42903f95c85f031c7724191271564901.html create mode 100644 doc/ref/c++/html/classgrpc_1_1_server.html create mode 100644 doc/ref/c++/html/classgrpc_1_1_server_async_reader.html create mode 100644 doc/ref/c++/html/classgrpc_1_1_server_async_reader_writer.html create mode 100644 doc/ref/c++/html/classgrpc_1_1_server_async_response_writer.html create mode 100644 doc/ref/c++/html/classgrpc_1_1_server_async_streaming_interface.html create mode 100644 doc/ref/c++/html/classgrpc_1_1_server_async_writer.html create mode 100644 doc/ref/c++/html/classgrpc_1_1_server_builder.html create mode 100644 doc/ref/c++/html/classgrpc_1_1_server_completion_queue.html create mode 100644 doc/ref/c++/html/classgrpc_1_1_server_context.html create mode 100644 doc/ref/c++/html/classgrpc_1_1_server_credentials.html create mode 100644 doc/ref/c++/html/classgrpc_1_1_server_reader.html create mode 100644 doc/ref/c++/html/classgrpc_1_1_server_reader_writer.html create mode 100644 doc/ref/c++/html/classgrpc_1_1_server_streaming_handler.html create mode 100644 doc/ref/c++/html/classgrpc_1_1_server_writer.html create mode 100644 doc/ref/c++/html/classgrpc_1_1_slice.html create mode 100644 doc/ref/c++/html/classgrpc_1_1_sneaky_call_op_set.html create mode 100644 doc/ref/c++/html/classgrpc_1_1_status.html create mode 100644 doc/ref/c++/html/classgrpc_1_1_synchronous_service.html create mode 100644 doc/ref/c++/html/classgrpc_1_1_thread_pool_interface.html create mode 100644 doc/ref/c++/html/classgrpc_1_1_time_point.html create mode 100644 doc/ref/c++/html/classgrpc_1_1_time_point_3_01gpr__timespec_01_4.html create mode 100644 doc/ref/c++/html/classgrpc_1_1_time_point_3_01std_1_1chrono_1_1system__clock_1_1time__point_01_4.html create mode 100644 doc/ref/c++/html/classgrpc_1_1_write_options.html create mode 100644 doc/ref/c++/html/classgrpc_1_1_writer_interface.html create mode 100644 doc/ref/c++/html/classgrpc_1_1condition__variable.html create mode 100644 doc/ref/c++/html/classgrpc_1_1lock__guard.html create mode 100644 doc/ref/c++/html/classgrpc_1_1mutex.html create mode 100644 doc/ref/c++/html/classgrpc_1_1thread.html create mode 100644 doc/ref/c++/html/classgrpc_1_1unique__lock.html create mode 100644 doc/ref/c++/html/client__context_8h.html create mode 100644 doc/ref/c++/html/client__context_8h_source.html create mode 100644 doc/ref/c++/html/client__unary__call_8h.html create mode 100644 doc/ref/c++/html/client__unary__call_8h_source.html create mode 100644 doc/ref/c++/html/closed.png create mode 100644 doc/ref/c++/html/completion__queue_8h.html create mode 100644 doc/ref/c++/html/completion__queue_8h_source.html create mode 100644 doc/ref/c++/html/config_8h.html create mode 100644 doc/ref/c++/html/config_8h_source.html create mode 100644 doc/ref/c++/html/config__protobuf_8h.html create mode 100644 doc/ref/c++/html/config__protobuf_8h_source.html create mode 100644 doc/ref/c++/html/create__channel_8h.html create mode 100644 doc/ref/c++/html/create__channel_8h_source.html create mode 100644 doc/ref/c++/html/credentials_8h.html create mode 100644 doc/ref/c++/html/credentials_8h_source.html create mode 100644 doc/ref/c++/html/dir_ac8b245a5921095c43c106649fd7bc4b.html create mode 100644 doc/ref/c++/html/dir_d44c64559bbebec7f509842c48db8b23.html create mode 100644 doc/ref/c++/html/dir_f1b2ab2a88927c1e950e43c1cf4b634b.html create mode 100644 doc/ref/c++/html/doxygen.css create mode 100644 doc/ref/c++/html/doxygen.png create mode 100644 doc/ref/c++/html/dynamic__thread__pool_8h.html create mode 100644 doc/ref/c++/html/dynamic__thread__pool_8h_source.html create mode 100644 doc/ref/c++/html/dynsections.js create mode 100644 doc/ref/c++/html/files.html create mode 100644 doc/ref/c++/html/fixed__size__thread__pool_8h.html create mode 100644 doc/ref/c++/html/fixed__size__thread__pool_8h_source.html create mode 100644 doc/ref/c++/html/ftv2blank.png create mode 100644 doc/ref/c++/html/ftv2cl.png create mode 100644 doc/ref/c++/html/ftv2doc.png create mode 100644 doc/ref/c++/html/ftv2folderclosed.png create mode 100644 doc/ref/c++/html/ftv2folderopen.png create mode 100644 doc/ref/c++/html/ftv2lastnode.png create mode 100644 doc/ref/c++/html/ftv2link.png create mode 100644 doc/ref/c++/html/ftv2mlastnode.png create mode 100644 doc/ref/c++/html/ftv2mnode.png create mode 100644 doc/ref/c++/html/ftv2mo.png create mode 100644 doc/ref/c++/html/ftv2node.png create mode 100644 doc/ref/c++/html/ftv2ns.png create mode 100644 doc/ref/c++/html/ftv2plastnode.png create mode 100644 doc/ref/c++/html/ftv2pnode.png create mode 100644 doc/ref/c++/html/ftv2splitbar.png create mode 100644 doc/ref/c++/html/ftv2vertline.png create mode 100644 doc/ref/c++/html/functions.html create mode 100644 doc/ref/c++/html/functions_a.html create mode 100644 doc/ref/c++/html/functions_b.html create mode 100644 doc/ref/c++/html/functions_c.html create mode 100644 doc/ref/c++/html/functions_d.html create mode 100644 doc/ref/c++/html/functions_e.html create mode 100644 doc/ref/c++/html/functions_enum.html create mode 100644 doc/ref/c++/html/functions_eval.html create mode 100644 doc/ref/c++/html/functions_f.html create mode 100644 doc/ref/c++/html/functions_func.html create mode 100644 doc/ref/c++/html/functions_func_b.html create mode 100644 doc/ref/c++/html/functions_func_c.html create mode 100644 doc/ref/c++/html/functions_func_d.html create mode 100644 doc/ref/c++/html/functions_func_e.html create mode 100644 doc/ref/c++/html/functions_func_f.html create mode 100644 doc/ref/c++/html/functions_func_g.html create mode 100644 doc/ref/c++/html/functions_func_h.html create mode 100644 doc/ref/c++/html/functions_func_i.html create mode 100644 doc/ref/c++/html/functions_func_j.html create mode 100644 doc/ref/c++/html/functions_func_l.html create mode 100644 doc/ref/c++/html/functions_func_m.html create mode 100644 doc/ref/c++/html/functions_func_n.html create mode 100644 doc/ref/c++/html/functions_func_o.html create mode 100644 doc/ref/c++/html/functions_func_p.html create mode 100644 doc/ref/c++/html/functions_func_r.html create mode 100644 doc/ref/c++/html/functions_func_s.html create mode 100644 doc/ref/c++/html/functions_func_t.html create mode 100644 doc/ref/c++/html/functions_func_u.html create mode 100644 doc/ref/c++/html/functions_func_w.html create mode 100644 doc/ref/c++/html/functions_func_~.html create mode 100644 doc/ref/c++/html/functions_g.html create mode 100644 doc/ref/c++/html/functions_h.html create mode 100644 doc/ref/c++/html/functions_i.html create mode 100644 doc/ref/c++/html/functions_j.html create mode 100644 doc/ref/c++/html/functions_l.html create mode 100644 doc/ref/c++/html/functions_m.html create mode 100644 doc/ref/c++/html/functions_n.html create mode 100644 doc/ref/c++/html/functions_o.html create mode 100644 doc/ref/c++/html/functions_p.html create mode 100644 doc/ref/c++/html/functions_r.html create mode 100644 doc/ref/c++/html/functions_rela.html create mode 100644 doc/ref/c++/html/functions_s.html create mode 100644 doc/ref/c++/html/functions_t.html create mode 100644 doc/ref/c++/html/functions_u.html create mode 100644 doc/ref/c++/html/functions_vars.html create mode 100644 doc/ref/c++/html/functions_w.html create mode 100644 doc/ref/c++/html/functions_~.html create mode 100644 doc/ref/c++/html/generic__stub_8h.html create mode 100644 doc/ref/c++/html/generic__stub_8h_source.html create mode 100644 doc/ref/c++/html/globals.html create mode 100644 doc/ref/c++/html/globals_defs.html create mode 100644 doc/ref/c++/html/graph_legend.html create mode 100644 doc/ref/c++/html/graph_legend.md5 create mode 100644 doc/ref/c++/html/graph_legend.png create mode 100644 doc/ref/c++/html/grpc__library_8h.html create mode 100644 doc/ref/c++/html/grpc__library_8h_source.html create mode 100644 doc/ref/c++/html/hierarchy.html create mode 100644 doc/ref/c++/html/index.html create mode 100644 doc/ref/c++/html/internal__stub_8h.html create mode 100644 doc/ref/c++/html/internal__stub_8h_source.html create mode 100644 doc/ref/c++/html/jquery.js create mode 100644 doc/ref/c++/html/namespacegrpc.html create mode 100644 doc/ref/c++/html/namespacegrpc_1_1_call_op_generic_recv_message_helper.html create mode 100644 doc/ref/c++/html/namespacegrpc_1_1protobuf.html create mode 100644 doc/ref/c++/html/namespacegrpc_1_1protobuf_1_1io.html create mode 100644 doc/ref/c++/html/namespacegrpc_1_1testing.html create mode 100644 doc/ref/c++/html/namespacemembers.html create mode 100644 doc/ref/c++/html/namespacemembers_enum.html create mode 100644 doc/ref/c++/html/namespacemembers_eval.html create mode 100644 doc/ref/c++/html/namespacemembers_func.html create mode 100644 doc/ref/c++/html/namespacemembers_type.html create mode 100644 doc/ref/c++/html/namespaces.html create mode 100644 doc/ref/c++/html/nav_f.png create mode 100644 doc/ref/c++/html/nav_g.png create mode 100644 doc/ref/c++/html/nav_h.png create mode 100644 doc/ref/c++/html/open.png create mode 100644 doc/ref/c++/html/proto__utils_8h.html create mode 100644 doc/ref/c++/html/proto__utils_8h_source.html create mode 100644 doc/ref/c++/html/rpc__method_8h.html create mode 100644 doc/ref/c++/html/rpc__method_8h_source.html create mode 100644 doc/ref/c++/html/rpc__service__method_8h.html create mode 100644 doc/ref/c++/html/rpc__service__method_8h_source.html create mode 100644 doc/ref/c++/html/search/all_0.html create mode 100644 doc/ref/c++/html/search/all_0.js create mode 100644 doc/ref/c++/html/search/all_1.html create mode 100644 doc/ref/c++/html/search/all_1.js create mode 100644 doc/ref/c++/html/search/all_10.html create mode 100644 doc/ref/c++/html/search/all_10.js create mode 100644 doc/ref/c++/html/search/all_11.html create mode 100644 doc/ref/c++/html/search/all_11.js create mode 100644 doc/ref/c++/html/search/all_12.html create mode 100644 doc/ref/c++/html/search/all_12.js create mode 100644 doc/ref/c++/html/search/all_13.html create mode 100644 doc/ref/c++/html/search/all_13.js create mode 100644 doc/ref/c++/html/search/all_14.html create mode 100644 doc/ref/c++/html/search/all_14.js create mode 100644 doc/ref/c++/html/search/all_15.html create mode 100644 doc/ref/c++/html/search/all_15.js create mode 100644 doc/ref/c++/html/search/all_16.html create mode 100644 doc/ref/c++/html/search/all_16.js create mode 100644 doc/ref/c++/html/search/all_2.html create mode 100644 doc/ref/c++/html/search/all_2.js create mode 100644 doc/ref/c++/html/search/all_3.html create mode 100644 doc/ref/c++/html/search/all_3.js create mode 100644 doc/ref/c++/html/search/all_4.html create mode 100644 doc/ref/c++/html/search/all_4.js create mode 100644 doc/ref/c++/html/search/all_5.html create mode 100644 doc/ref/c++/html/search/all_5.js create mode 100644 doc/ref/c++/html/search/all_6.html create mode 100644 doc/ref/c++/html/search/all_6.js create mode 100644 doc/ref/c++/html/search/all_7.html create mode 100644 doc/ref/c++/html/search/all_7.js create mode 100644 doc/ref/c++/html/search/all_8.html create mode 100644 doc/ref/c++/html/search/all_8.js create mode 100644 doc/ref/c++/html/search/all_9.html create mode 100644 doc/ref/c++/html/search/all_9.js create mode 100644 doc/ref/c++/html/search/all_a.html create mode 100644 doc/ref/c++/html/search/all_a.js create mode 100644 doc/ref/c++/html/search/all_b.html create mode 100644 doc/ref/c++/html/search/all_b.js create mode 100644 doc/ref/c++/html/search/all_c.html create mode 100644 doc/ref/c++/html/search/all_c.js create mode 100644 doc/ref/c++/html/search/all_d.html create mode 100644 doc/ref/c++/html/search/all_d.js create mode 100644 doc/ref/c++/html/search/all_e.html create mode 100644 doc/ref/c++/html/search/all_e.js create mode 100644 doc/ref/c++/html/search/all_f.html create mode 100644 doc/ref/c++/html/search/all_f.js create mode 100644 doc/ref/c++/html/search/classes_0.html create mode 100644 doc/ref/c++/html/search/classes_0.js create mode 100644 doc/ref/c++/html/search/classes_1.html create mode 100644 doc/ref/c++/html/search/classes_1.js create mode 100644 doc/ref/c++/html/search/classes_2.html create mode 100644 doc/ref/c++/html/search/classes_2.js create mode 100644 doc/ref/c++/html/search/classes_3.html create mode 100644 doc/ref/c++/html/search/classes_3.js create mode 100644 doc/ref/c++/html/search/classes_4.html create mode 100644 doc/ref/c++/html/search/classes_4.js create mode 100644 doc/ref/c++/html/search/classes_5.html create mode 100644 doc/ref/c++/html/search/classes_5.js create mode 100644 doc/ref/c++/html/search/classes_6.html create mode 100644 doc/ref/c++/html/search/classes_6.js create mode 100644 doc/ref/c++/html/search/classes_7.html create mode 100644 doc/ref/c++/html/search/classes_7.js create mode 100644 doc/ref/c++/html/search/classes_8.html create mode 100644 doc/ref/c++/html/search/classes_8.js create mode 100644 doc/ref/c++/html/search/classes_9.html create mode 100644 doc/ref/c++/html/search/classes_9.js create mode 100644 doc/ref/c++/html/search/classes_a.html create mode 100644 doc/ref/c++/html/search/classes_a.js create mode 100644 doc/ref/c++/html/search/classes_b.html create mode 100644 doc/ref/c++/html/search/classes_b.js create mode 100644 doc/ref/c++/html/search/classes_c.html create mode 100644 doc/ref/c++/html/search/classes_c.js create mode 100644 doc/ref/c++/html/search/classes_d.html create mode 100644 doc/ref/c++/html/search/classes_d.js create mode 100644 doc/ref/c++/html/search/classes_e.html create mode 100644 doc/ref/c++/html/search/classes_e.js create mode 100644 doc/ref/c++/html/search/classes_f.html create mode 100644 doc/ref/c++/html/search/classes_f.js create mode 100644 doc/ref/c++/html/search/close.png create mode 100644 doc/ref/c++/html/search/defines_0.html create mode 100644 doc/ref/c++/html/search/defines_0.js create mode 100644 doc/ref/c++/html/search/enums_0.html create mode 100644 doc/ref/c++/html/search/enums_0.js create mode 100644 doc/ref/c++/html/search/enums_1.html create mode 100644 doc/ref/c++/html/search/enums_1.js create mode 100644 doc/ref/c++/html/search/enums_2.html create mode 100644 doc/ref/c++/html/search/enums_2.js create mode 100644 doc/ref/c++/html/search/enums_3.html create mode 100644 doc/ref/c++/html/search/enums_3.js create mode 100644 doc/ref/c++/html/search/enumvalues_0.html create mode 100644 doc/ref/c++/html/search/enumvalues_0.js create mode 100644 doc/ref/c++/html/search/enumvalues_1.html create mode 100644 doc/ref/c++/html/search/enumvalues_1.js create mode 100644 doc/ref/c++/html/search/enumvalues_2.html create mode 100644 doc/ref/c++/html/search/enumvalues_2.js create mode 100644 doc/ref/c++/html/search/enumvalues_3.html create mode 100644 doc/ref/c++/html/search/enumvalues_3.js create mode 100644 doc/ref/c++/html/search/enumvalues_4.html create mode 100644 doc/ref/c++/html/search/enumvalues_4.js create mode 100644 doc/ref/c++/html/search/enumvalues_5.html create mode 100644 doc/ref/c++/html/search/enumvalues_5.js create mode 100644 doc/ref/c++/html/search/enumvalues_6.html create mode 100644 doc/ref/c++/html/search/enumvalues_6.js create mode 100644 doc/ref/c++/html/search/enumvalues_7.html create mode 100644 doc/ref/c++/html/search/enumvalues_7.js create mode 100644 doc/ref/c++/html/search/enumvalues_8.html create mode 100644 doc/ref/c++/html/search/enumvalues_8.js create mode 100644 doc/ref/c++/html/search/enumvalues_9.html create mode 100644 doc/ref/c++/html/search/enumvalues_9.js create mode 100644 doc/ref/c++/html/search/enumvalues_a.html create mode 100644 doc/ref/c++/html/search/enumvalues_a.js create mode 100644 doc/ref/c++/html/search/enumvalues_b.html create mode 100644 doc/ref/c++/html/search/enumvalues_b.js create mode 100644 doc/ref/c++/html/search/enumvalues_c.html create mode 100644 doc/ref/c++/html/search/enumvalues_c.js create mode 100644 doc/ref/c++/html/search/enumvalues_d.html create mode 100644 doc/ref/c++/html/search/enumvalues_d.js create mode 100644 doc/ref/c++/html/search/files_0.html create mode 100644 doc/ref/c++/html/search/files_0.js create mode 100644 doc/ref/c++/html/search/files_1.html create mode 100644 doc/ref/c++/html/search/files_1.js create mode 100644 doc/ref/c++/html/search/files_2.html create mode 100644 doc/ref/c++/html/search/files_2.js create mode 100644 doc/ref/c++/html/search/files_3.html create mode 100644 doc/ref/c++/html/search/files_3.js create mode 100644 doc/ref/c++/html/search/files_4.html create mode 100644 doc/ref/c++/html/search/files_4.js create mode 100644 doc/ref/c++/html/search/files_5.html create mode 100644 doc/ref/c++/html/search/files_5.js create mode 100644 doc/ref/c++/html/search/files_6.html create mode 100644 doc/ref/c++/html/search/files_6.js create mode 100644 doc/ref/c++/html/search/files_7.html create mode 100644 doc/ref/c++/html/search/files_7.js create mode 100644 doc/ref/c++/html/search/files_8.html create mode 100644 doc/ref/c++/html/search/files_8.js create mode 100644 doc/ref/c++/html/search/files_9.html create mode 100644 doc/ref/c++/html/search/files_9.js create mode 100644 doc/ref/c++/html/search/files_a.html create mode 100644 doc/ref/c++/html/search/files_a.js create mode 100644 doc/ref/c++/html/search/functions_0.html create mode 100644 doc/ref/c++/html/search/functions_0.js create mode 100644 doc/ref/c++/html/search/functions_1.html create mode 100644 doc/ref/c++/html/search/functions_1.js create mode 100644 doc/ref/c++/html/search/functions_10.html create mode 100644 doc/ref/c++/html/search/functions_10.js create mode 100644 doc/ref/c++/html/search/functions_11.html create mode 100644 doc/ref/c++/html/search/functions_11.js create mode 100644 doc/ref/c++/html/search/functions_12.html create mode 100644 doc/ref/c++/html/search/functions_12.js create mode 100644 doc/ref/c++/html/search/functions_13.html create mode 100644 doc/ref/c++/html/search/functions_13.js create mode 100644 doc/ref/c++/html/search/functions_14.html create mode 100644 doc/ref/c++/html/search/functions_14.js create mode 100644 doc/ref/c++/html/search/functions_2.html create mode 100644 doc/ref/c++/html/search/functions_2.js create mode 100644 doc/ref/c++/html/search/functions_3.html create mode 100644 doc/ref/c++/html/search/functions_3.js create mode 100644 doc/ref/c++/html/search/functions_4.html create mode 100644 doc/ref/c++/html/search/functions_4.js create mode 100644 doc/ref/c++/html/search/functions_5.html create mode 100644 doc/ref/c++/html/search/functions_5.js create mode 100644 doc/ref/c++/html/search/functions_6.html create mode 100644 doc/ref/c++/html/search/functions_6.js create mode 100644 doc/ref/c++/html/search/functions_7.html create mode 100644 doc/ref/c++/html/search/functions_7.js create mode 100644 doc/ref/c++/html/search/functions_8.html create mode 100644 doc/ref/c++/html/search/functions_8.js create mode 100644 doc/ref/c++/html/search/functions_9.html create mode 100644 doc/ref/c++/html/search/functions_9.js create mode 100644 doc/ref/c++/html/search/functions_a.html create mode 100644 doc/ref/c++/html/search/functions_a.js create mode 100644 doc/ref/c++/html/search/functions_b.html create mode 100644 doc/ref/c++/html/search/functions_b.js create mode 100644 doc/ref/c++/html/search/functions_c.html create mode 100644 doc/ref/c++/html/search/functions_c.js create mode 100644 doc/ref/c++/html/search/functions_d.html create mode 100644 doc/ref/c++/html/search/functions_d.js create mode 100644 doc/ref/c++/html/search/functions_e.html create mode 100644 doc/ref/c++/html/search/functions_e.js create mode 100644 doc/ref/c++/html/search/functions_f.html create mode 100644 doc/ref/c++/html/search/functions_f.js create mode 100644 doc/ref/c++/html/search/mag_sel.png create mode 100644 doc/ref/c++/html/search/namespaces_0.html create mode 100644 doc/ref/c++/html/search/namespaces_0.js create mode 100644 doc/ref/c++/html/search/nomatches.html create mode 100644 doc/ref/c++/html/search/related_0.html create mode 100644 doc/ref/c++/html/search/related_0.js create mode 100644 doc/ref/c++/html/search/related_1.html create mode 100644 doc/ref/c++/html/search/related_1.js create mode 100644 doc/ref/c++/html/search/related_2.html create mode 100644 doc/ref/c++/html/search/related_2.js create mode 100644 doc/ref/c++/html/search/related_3.html create mode 100644 doc/ref/c++/html/search/related_3.js create mode 100644 doc/ref/c++/html/search/related_4.html create mode 100644 doc/ref/c++/html/search/related_4.js create mode 100644 doc/ref/c++/html/search/related_5.html create mode 100644 doc/ref/c++/html/search/related_5.js create mode 100644 doc/ref/c++/html/search/related_6.html create mode 100644 doc/ref/c++/html/search/related_6.js create mode 100644 doc/ref/c++/html/search/related_7.html create mode 100644 doc/ref/c++/html/search/related_7.js create mode 100644 doc/ref/c++/html/search/search.css create mode 100644 doc/ref/c++/html/search/search.js create mode 100644 doc/ref/c++/html/search/search_l.png create mode 100644 doc/ref/c++/html/search/search_m.png create mode 100644 doc/ref/c++/html/search/search_r.png create mode 100644 doc/ref/c++/html/search/typedefs_0.html create mode 100644 doc/ref/c++/html/search/typedefs_0.js create mode 100644 doc/ref/c++/html/search/typedefs_1.html create mode 100644 doc/ref/c++/html/search/typedefs_1.js create mode 100644 doc/ref/c++/html/search/typedefs_2.html create mode 100644 doc/ref/c++/html/search/typedefs_2.js create mode 100644 doc/ref/c++/html/search/typedefs_3.html create mode 100644 doc/ref/c++/html/search/typedefs_3.js create mode 100644 doc/ref/c++/html/search/typedefs_4.html create mode 100644 doc/ref/c++/html/search/typedefs_4.js create mode 100644 doc/ref/c++/html/search/typedefs_5.html create mode 100644 doc/ref/c++/html/search/typedefs_5.js create mode 100644 doc/ref/c++/html/search/typedefs_6.html create mode 100644 doc/ref/c++/html/search/typedefs_6.js create mode 100644 doc/ref/c++/html/search/variables_0.html create mode 100644 doc/ref/c++/html/search/variables_0.js create mode 100644 doc/ref/c++/html/search/variables_1.html create mode 100644 doc/ref/c++/html/search/variables_1.js create mode 100644 doc/ref/c++/html/search/variables_2.html create mode 100644 doc/ref/c++/html/search/variables_2.js create mode 100644 doc/ref/c++/html/search/variables_3.html create mode 100644 doc/ref/c++/html/search/variables_3.js create mode 100644 doc/ref/c++/html/search/variables_4.html create mode 100644 doc/ref/c++/html/search/variables_4.js create mode 100644 doc/ref/c++/html/search/variables_5.html create mode 100644 doc/ref/c++/html/search/variables_5.js create mode 100644 doc/ref/c++/html/search/variables_6.html create mode 100644 doc/ref/c++/html/search/variables_6.js create mode 100644 doc/ref/c++/html/search/variables_7.html create mode 100644 doc/ref/c++/html/search/variables_7.js create mode 100644 doc/ref/c++/html/search/variables_8.html create mode 100644 doc/ref/c++/html/search/variables_8.js create mode 100644 doc/ref/c++/html/serialization__traits_8h.html create mode 100644 doc/ref/c++/html/serialization__traits_8h_source.html create mode 100644 doc/ref/c++/html/server_8h.html create mode 100644 doc/ref/c++/html/server_8h_source.html create mode 100644 doc/ref/c++/html/server__builder_8h.html create mode 100644 doc/ref/c++/html/server__builder_8h_source.html create mode 100644 doc/ref/c++/html/server__context_8h.html create mode 100644 doc/ref/c++/html/server__context_8h_source.html create mode 100644 doc/ref/c++/html/server__credentials_8h.html create mode 100644 doc/ref/c++/html/server__credentials_8h_source.html create mode 100644 doc/ref/c++/html/service__type_8h.html create mode 100644 doc/ref/c++/html/service__type_8h_source.html create mode 100644 doc/ref/c++/html/slice_8h.html create mode 100644 doc/ref/c++/html/slice_8h_source.html create mode 100644 doc/ref/c++/html/status_8h.html create mode 100644 doc/ref/c++/html/status_8h_source.html create mode 100644 doc/ref/c++/html/status__code__enum_8h.html create mode 100644 doc/ref/c++/html/status__code__enum_8h_source.html create mode 100644 doc/ref/c++/html/stream_8h.html create mode 100644 doc/ref/c++/html/stream_8h_source.html create mode 100644 doc/ref/c++/html/structgrpc_1_1_method_handler_1_1_handler_parameter.html create mode 100644 doc/ref/c++/html/structgrpc_1_1_ssl_credentials_options.html create mode 100644 doc/ref/c++/html/structgrpc_1_1_ssl_server_credentials_options.html create mode 100644 doc/ref/c++/html/structgrpc_1_1_ssl_server_credentials_options_1_1_pem_key_cert_pair.html create mode 100644 doc/ref/c++/html/sync_8h.html create mode 100644 doc/ref/c++/html/sync_8h_source.html create mode 100644 doc/ref/c++/html/sync__cxx11_8h.html create mode 100644 doc/ref/c++/html/sync__cxx11_8h_source.html create mode 100644 doc/ref/c++/html/sync__no__cxx11_8h.html create mode 100644 doc/ref/c++/html/sync__no__cxx11_8h_source.html create mode 100644 doc/ref/c++/html/sync_off.png create mode 100644 doc/ref/c++/html/sync_on.png create mode 100644 doc/ref/c++/html/tab_a.png create mode 100644 doc/ref/c++/html/tab_b.png create mode 100644 doc/ref/c++/html/tab_h.png create mode 100644 doc/ref/c++/html/tab_s.png create mode 100644 doc/ref/c++/html/tabs.css create mode 100644 doc/ref/c++/html/thd_8h.html create mode 100644 doc/ref/c++/html/thd_8h_source.html create mode 100644 doc/ref/c++/html/thd__cxx11_8h.html create mode 100644 doc/ref/c++/html/thd__cxx11_8h_source.html create mode 100644 doc/ref/c++/html/thd__no__cxx11_8h.html create mode 100644 doc/ref/c++/html/thd__no__cxx11_8h_source.html create mode 100644 doc/ref/c++/html/thread__pool__interface_8h.html create mode 100644 doc/ref/c++/html/thread__pool__interface_8h_source.html create mode 100644 doc/ref/c++/html/time_8h.html create mode 100644 doc/ref/c++/html/time_8h_source.html create mode 100644 doc/ref/core.internal/html/add__channel__arg_8c.html create mode 100644 doc/ref/core.internal/html/add__channel__arg_8h.html create mode 100644 doc/ref/core.internal/html/add__channel__arg_8h_source.html create mode 100644 doc/ref/core.internal/html/alarm_8c.html create mode 100644 doc/ref/core.internal/html/alarm_8h.html create mode 100644 doc/ref/core.internal/html/alarm_8h_source.html create mode 100644 doc/ref/core.internal/html/alarm__heap_8c.html create mode 100644 doc/ref/core.internal/html/alarm__heap_8h.html create mode 100644 doc/ref/core.internal/html/alarm__heap_8h_source.html create mode 100644 doc/ref/core.internal/html/alarm__internal_8h.html create mode 100644 doc/ref/core.internal/html/alarm__internal_8h_source.html create mode 100644 doc/ref/core.internal/html/algorithm_8c.html create mode 100644 doc/ref/core.internal/html/alloc_8c.html create mode 100644 doc/ref/core.internal/html/alloc_8h.html create mode 100644 doc/ref/core.internal/html/alloc_8h_source.html create mode 100644 doc/ref/core.internal/html/alpn_8c.html create mode 100644 doc/ref/core.internal/html/alpn_8h.html create mode 100644 doc/ref/core.internal/html/alpn_8h_source.html create mode 100644 doc/ref/core.internal/html/annotated.html create mode 100644 doc/ref/core.internal/html/atm_8h.html create mode 100644 doc/ref/core.internal/html/atm_8h_source.html create mode 100644 doc/ref/core.internal/html/atm__gcc__atomic_8h.html create mode 100644 doc/ref/core.internal/html/atm__gcc__atomic_8h_source.html create mode 100644 doc/ref/core.internal/html/atm__gcc__sync_8h.html create mode 100644 doc/ref/core.internal/html/atm__gcc__sync_8h_source.html create mode 100644 doc/ref/core.internal/html/atm__win32_8h.html create mode 100644 doc/ref/core.internal/html/atm__win32_8h_source.html create mode 100644 doc/ref/core.internal/html/auth__filters_8h.html create mode 100644 doc/ref/core.internal/html/auth__filters_8h_source.html create mode 100644 doc/ref/core.internal/html/base64_8c.html create mode 100644 doc/ref/core.internal/html/base64_8h.html create mode 100644 doc/ref/core.internal/html/base64_8h_source.html create mode 100644 doc/ref/core.internal/html/basic__timers_8c.html create mode 100644 doc/ref/core.internal/html/bc_s.png create mode 100644 doc/ref/core.internal/html/bdwn.png create mode 100644 doc/ref/core.internal/html/bin__encoder_8c.html create mode 100644 doc/ref/core.internal/html/bin__encoder_8h.html create mode 100644 doc/ref/core.internal/html/bin__encoder_8h_source.html create mode 100644 doc/ref/core.internal/html/byte__buffer_8c.html create mode 100644 doc/ref/core.internal/html/byte__buffer_8h.html create mode 100644 doc/ref/core.internal/html/byte__buffer_8h_source.html create mode 100644 doc/ref/core.internal/html/byte__buffer__queue_8c.html create mode 100644 doc/ref/core.internal/html/byte__buffer__queue_8h.html create mode 100644 doc/ref/core.internal/html/byte__buffer__queue_8h_source.html create mode 100644 doc/ref/core.internal/html/byte__buffer__reader_8c.html create mode 100644 doc/ref/core.internal/html/byte__buffer__reader_8h.html create mode 100644 doc/ref/core.internal/html/byte__buffer__reader_8h_source.html create mode 100644 doc/ref/core.internal/html/call_8c.html create mode 100644 doc/ref/core.internal/html/call_8h.html create mode 100644 doc/ref/core.internal/html/call_8h_source.html create mode 100644 doc/ref/core.internal/html/call__details_8c.html create mode 100644 doc/ref/core.internal/html/call__log__batch_8c.html create mode 100644 doc/ref/core.internal/html/cancellable_8c.html create mode 100644 doc/ref/core.internal/html/cancellable__platform_8h.html create mode 100644 doc/ref/core.internal/html/cancellable__platform_8h_source.html create mode 100644 doc/ref/core.internal/html/census_2context_8h.html create mode 100644 doc/ref/core.internal/html/census_2context_8h_source.html create mode 100644 doc/ref/core.internal/html/census_8h.html create mode 100644 doc/ref/core.internal/html/census_8h_source.html create mode 100644 doc/ref/core.internal/html/census__filter_8h.html create mode 100644 doc/ref/core.internal/html/census__filter_8h_source.html create mode 100644 doc/ref/core.internal/html/channel_2context_8h.html create mode 100644 doc/ref/core.internal/html/channel_2context_8h_source.html create mode 100644 doc/ref/core.internal/html/channel_8c.html create mode 100644 doc/ref/core.internal/html/channel_8h.html create mode 100644 doc/ref/core.internal/html/channel_8h_source.html create mode 100644 doc/ref/core.internal/html/channel__args_8c.html create mode 100644 doc/ref/core.internal/html/channel__args_8h.html create mode 100644 doc/ref/core.internal/html/channel__args_8h_source.html create mode 100644 doc/ref/core.internal/html/channel__connectivity_8c.html create mode 100644 doc/ref/core.internal/html/channel__create_8c.html create mode 100644 doc/ref/core.internal/html/channel__stack_8c.html create mode 100644 doc/ref/core.internal/html/channel__stack_8h.html create mode 100644 doc/ref/core.internal/html/channel__stack_8h_source.html create mode 100644 doc/ref/core.internal/html/chttp2__transport_8c.html create mode 100644 doc/ref/core.internal/html/chttp2__transport_8h.html create mode 100644 doc/ref/core.internal/html/chttp2__transport_8h_source.html create mode 100644 doc/ref/core.internal/html/classes.html create mode 100644 doc/ref/core.internal/html/client__auth__filter_8c.html create mode 100644 doc/ref/core.internal/html/client__channel_8c.html create mode 100644 doc/ref/core.internal/html/client__channel_8h.html create mode 100644 doc/ref/core.internal/html/client__channel_8h_source.html create mode 100644 doc/ref/core.internal/html/client__config_8c.html create mode 100644 doc/ref/core.internal/html/client__config_8h.html create mode 100644 doc/ref/core.internal/html/client__config_8h_source.html create mode 100644 doc/ref/core.internal/html/closed.png create mode 100644 doc/ref/core.internal/html/cmdline_8c.html create mode 100644 doc/ref/core.internal/html/cmdline_8h.html create mode 100644 doc/ref/core.internal/html/cmdline_8h_source.html create mode 100644 doc/ref/core.internal/html/completion__queue_8c.html create mode 100644 doc/ref/core.internal/html/completion__queue_8h.html create mode 100644 doc/ref/core.internal/html/completion__queue_8h_source.html create mode 100644 doc/ref/core.internal/html/compress__filter_8c.html create mode 100644 doc/ref/core.internal/html/compress__filter_8h.html create mode 100644 doc/ref/core.internal/html/compress__filter_8h_source.html create mode 100644 doc/ref/core.internal/html/compression_8h.html create mode 100644 doc/ref/core.internal/html/compression_8h_source.html create mode 100644 doc/ref/core.internal/html/connected__channel_8c.html create mode 100644 doc/ref/core.internal/html/connected__channel_8h.html create mode 100644 doc/ref/core.internal/html/connected__channel_8h_source.html create mode 100644 doc/ref/core.internal/html/connectivity__state_8c.html create mode 100644 doc/ref/core.internal/html/connectivity__state_8h.html create mode 100644 doc/ref/core.internal/html/connectivity__state_8h_source.html create mode 100644 doc/ref/core.internal/html/connector_8c.html create mode 100644 doc/ref/core.internal/html/connector_8h.html create mode 100644 doc/ref/core.internal/html/connector_8h_source.html create mode 100644 doc/ref/core.internal/html/context_8c.html create mode 100644 doc/ref/core.internal/html/cpu_8h.html create mode 100644 doc/ref/core.internal/html/cpu_8h_source.html create mode 100644 doc/ref/core.internal/html/cpu__iphone_8c.html create mode 100644 doc/ref/core.internal/html/cpu__linux_8c.html create mode 100644 doc/ref/core.internal/html/cpu__posix_8c.html create mode 100644 doc/ref/core.internal/html/cpu__windows_8c.html create mode 100644 doc/ref/core.internal/html/credentials_8c.html create mode 100644 doc/ref/core.internal/html/credentials_8h.html create mode 100644 doc/ref/core.internal/html/credentials_8h_source.html create mode 100644 doc/ref/core.internal/html/credentials__metadata_8c.html create mode 100644 doc/ref/core.internal/html/credentials__posix_8c.html create mode 100644 doc/ref/core.internal/html/credentials__win32_8c.html create mode 100644 doc/ref/core.internal/html/dir_03e3f2561cf9e09e514d23ee8902839b.html create mode 100644 doc/ref/core.internal/html/dir_35c0979e6ab890cbca79261dc9fc2958.html create mode 100644 doc/ref/core.internal/html/dir_3f1a464cbd6442b4d6b6ee306c9b0460.html create mode 100644 doc/ref/core.internal/html/dir_3f4beedb24b0e92d29e048ed944a7adc.html create mode 100644 doc/ref/core.internal/html/dir_5349cec9f9058ade8b7779c683443df9.html create mode 100644 doc/ref/core.internal/html/dir_63ea090b1bf0393f23b745b651ae7f2b.html create mode 100644 doc/ref/core.internal/html/dir_68267d1309a1af8e8297ef4c3efbcdba.html create mode 100644 doc/ref/core.internal/html/dir_7283b8f5e6e3c4b0819c2b491a18d7d4.html create mode 100644 doc/ref/core.internal/html/dir_73fa28a1e06161e89b964f34cd202aba.html create mode 100644 doc/ref/core.internal/html/dir_79268b13b30141157b35932967b4e740.html create mode 100644 doc/ref/core.internal/html/dir_8aa15e76222df75340b2e23e43efb3e2.html create mode 100644 doc/ref/core.internal/html/dir_9410f15740cc8f8ab312fa27ab494b45.html create mode 100644 doc/ref/core.internal/html/dir_99f60d2bb6231896bcd2887028065f74.html create mode 100644 doc/ref/core.internal/html/dir_9d7a14d6d9adcbe4c35dbdb88d867e2e.html create mode 100644 doc/ref/core.internal/html/dir_aebb8dcc11953d78e620bbef0b9e2183.html create mode 100644 doc/ref/core.internal/html/dir_b758f7a0b27044dfb0efa69af3c473f5.html create mode 100644 doc/ref/core.internal/html/dir_bbc3f91aaf5c0e78deeca586ef449264.html create mode 100644 doc/ref/core.internal/html/dir_bf8522d75c0d0c872d1b1e399b1737b8.html create mode 100644 doc/ref/core.internal/html/dir_c11753f61f8d651d8cfd411cfadfafab.html create mode 100644 doc/ref/core.internal/html/dir_cad3142e04109052413f2d2a2d1813b0.html create mode 100644 doc/ref/core.internal/html/dir_d44c64559bbebec7f509842c48db8b23.html create mode 100644 doc/ref/core.internal/html/dir_d6c86f4345f838817939dd561d8a016c.html create mode 100644 doc/ref/core.internal/html/dir_ea54cbef5e3ffa125df07262bbfc9627.html create mode 100644 doc/ref/core.internal/html/dns__resolver_8c.html create mode 100644 doc/ref/core.internal/html/dns__resolver_8h.html create mode 100644 doc/ref/core.internal/html/dns__resolver_8h_source.html create mode 100644 doc/ref/core.internal/html/doxygen.css create mode 100644 doc/ref/core.internal/html/doxygen.png create mode 100644 doc/ref/core.internal/html/dynsections.js create mode 100644 doc/ref/core.internal/html/endpoint_8c.html create mode 100644 doc/ref/core.internal/html/endpoint_8h.html create mode 100644 doc/ref/core.internal/html/endpoint_8h_source.html create mode 100644 doc/ref/core.internal/html/endpoint__pair_8h.html create mode 100644 doc/ref/core.internal/html/endpoint__pair_8h_source.html create mode 100644 doc/ref/core.internal/html/endpoint__pair__posix_8c.html create mode 100644 doc/ref/core.internal/html/endpoint__pair__windows_8c.html create mode 100644 doc/ref/core.internal/html/env_8h.html create mode 100644 doc/ref/core.internal/html/env_8h_source.html create mode 100644 doc/ref/core.internal/html/env__linux_8c.html create mode 100644 doc/ref/core.internal/html/env__posix_8c.html create mode 100644 doc/ref/core.internal/html/env__win32_8c.html create mode 100644 doc/ref/core.internal/html/event__string_8c.html create mode 100644 doc/ref/core.internal/html/event__string_8h.html create mode 100644 doc/ref/core.internal/html/event__string_8h_source.html create mode 100644 doc/ref/core.internal/html/fake__transport__security_8c.html create mode 100644 doc/ref/core.internal/html/fake__transport__security_8h.html create mode 100644 doc/ref/core.internal/html/fake__transport__security_8h_source.html create mode 100644 doc/ref/core.internal/html/fd__posix_8c.html create mode 100644 doc/ref/core.internal/html/fd__posix_8h.html create mode 100644 doc/ref/core.internal/html/fd__posix_8h_source.html create mode 100644 doc/ref/core.internal/html/file_8c.html create mode 100644 doc/ref/core.internal/html/file_8h.html create mode 100644 doc/ref/core.internal/html/file_8h_source.html create mode 100644 doc/ref/core.internal/html/file__posix_8c.html create mode 100644 doc/ref/core.internal/html/file__win32_8c.html create mode 100644 doc/ref/core.internal/html/files.html create mode 100644 doc/ref/core.internal/html/format__request_8c.html create mode 100644 doc/ref/core.internal/html/format__request_8h.html create mode 100644 doc/ref/core.internal/html/format__request_8h_source.html create mode 100644 doc/ref/core.internal/html/frame_8h.html create mode 100644 doc/ref/core.internal/html/frame_8h_source.html create mode 100644 doc/ref/core.internal/html/frame__data_8c.html create mode 100644 doc/ref/core.internal/html/frame__data_8h.html create mode 100644 doc/ref/core.internal/html/frame__data_8h_source.html create mode 100644 doc/ref/core.internal/html/frame__goaway_8c.html create mode 100644 doc/ref/core.internal/html/frame__goaway_8h.html create mode 100644 doc/ref/core.internal/html/frame__goaway_8h_source.html create mode 100644 doc/ref/core.internal/html/frame__ping_8c.html create mode 100644 doc/ref/core.internal/html/frame__ping_8h.html create mode 100644 doc/ref/core.internal/html/frame__ping_8h_source.html create mode 100644 doc/ref/core.internal/html/frame__rst__stream_8c.html create mode 100644 doc/ref/core.internal/html/frame__rst__stream_8h.html create mode 100644 doc/ref/core.internal/html/frame__rst__stream_8h_source.html create mode 100644 doc/ref/core.internal/html/frame__settings_8c.html create mode 100644 doc/ref/core.internal/html/frame__settings_8h.html create mode 100644 doc/ref/core.internal/html/frame__settings_8h_source.html create mode 100644 doc/ref/core.internal/html/frame__window__update_8c.html create mode 100644 doc/ref/core.internal/html/frame__window__update_8h.html create mode 100644 doc/ref/core.internal/html/frame__window__update_8h_source.html create mode 100644 doc/ref/core.internal/html/ftv2blank.png create mode 100644 doc/ref/core.internal/html/ftv2cl.png create mode 100644 doc/ref/core.internal/html/ftv2doc.png create mode 100644 doc/ref/core.internal/html/ftv2folderclosed.png create mode 100644 doc/ref/core.internal/html/ftv2folderopen.png create mode 100644 doc/ref/core.internal/html/ftv2lastnode.png create mode 100644 doc/ref/core.internal/html/ftv2link.png create mode 100644 doc/ref/core.internal/html/ftv2mlastnode.png create mode 100644 doc/ref/core.internal/html/ftv2mnode.png create mode 100644 doc/ref/core.internal/html/ftv2mo.png create mode 100644 doc/ref/core.internal/html/ftv2node.png create mode 100644 doc/ref/core.internal/html/ftv2ns.png create mode 100644 doc/ref/core.internal/html/ftv2plastnode.png create mode 100644 doc/ref/core.internal/html/ftv2pnode.png create mode 100644 doc/ref/core.internal/html/ftv2splitbar.png create mode 100644 doc/ref/core.internal/html/ftv2vertline.png create mode 100644 doc/ref/core.internal/html/functions.html create mode 100644 doc/ref/core.internal/html/functions_b.html create mode 100644 doc/ref/core.internal/html/functions_c.html create mode 100644 doc/ref/core.internal/html/functions_d.html create mode 100644 doc/ref/core.internal/html/functions_e.html create mode 100644 doc/ref/core.internal/html/functions_f.html create mode 100644 doc/ref/core.internal/html/functions_g.html create mode 100644 doc/ref/core.internal/html/functions_h.html create mode 100644 doc/ref/core.internal/html/functions_i.html create mode 100644 doc/ref/core.internal/html/functions_j.html create mode 100644 doc/ref/core.internal/html/functions_k.html create mode 100644 doc/ref/core.internal/html/functions_l.html create mode 100644 doc/ref/core.internal/html/functions_m.html create mode 100644 doc/ref/core.internal/html/functions_n.html create mode 100644 doc/ref/core.internal/html/functions_o.html create mode 100644 doc/ref/core.internal/html/functions_p.html create mode 100644 doc/ref/core.internal/html/functions_q.html create mode 100644 doc/ref/core.internal/html/functions_r.html create mode 100644 doc/ref/core.internal/html/functions_s.html create mode 100644 doc/ref/core.internal/html/functions_t.html create mode 100644 doc/ref/core.internal/html/functions_u.html create mode 100644 doc/ref/core.internal/html/functions_v.html create mode 100644 doc/ref/core.internal/html/functions_vars.html create mode 100644 doc/ref/core.internal/html/functions_vars_b.html create mode 100644 doc/ref/core.internal/html/functions_vars_c.html create mode 100644 doc/ref/core.internal/html/functions_vars_d.html create mode 100644 doc/ref/core.internal/html/functions_vars_e.html create mode 100644 doc/ref/core.internal/html/functions_vars_f.html create mode 100644 doc/ref/core.internal/html/functions_vars_g.html create mode 100644 doc/ref/core.internal/html/functions_vars_h.html create mode 100644 doc/ref/core.internal/html/functions_vars_i.html create mode 100644 doc/ref/core.internal/html/functions_vars_j.html create mode 100644 doc/ref/core.internal/html/functions_vars_k.html create mode 100644 doc/ref/core.internal/html/functions_vars_l.html create mode 100644 doc/ref/core.internal/html/functions_vars_m.html create mode 100644 doc/ref/core.internal/html/functions_vars_n.html create mode 100644 doc/ref/core.internal/html/functions_vars_o.html create mode 100644 doc/ref/core.internal/html/functions_vars_p.html create mode 100644 doc/ref/core.internal/html/functions_vars_q.html create mode 100644 doc/ref/core.internal/html/functions_vars_r.html create mode 100644 doc/ref/core.internal/html/functions_vars_s.html create mode 100644 doc/ref/core.internal/html/functions_vars_t.html create mode 100644 doc/ref/core.internal/html/functions_vars_u.html create mode 100644 doc/ref/core.internal/html/functions_vars_v.html create mode 100644 doc/ref/core.internal/html/functions_vars_w.html create mode 100644 doc/ref/core.internal/html/functions_w.html create mode 100644 doc/ref/core.internal/html/globals.html create mode 100644 doc/ref/core.internal/html/globals_a.html create mode 100644 doc/ref/core.internal/html/globals_b.html create mode 100644 doc/ref/core.internal/html/globals_c.html create mode 100644 doc/ref/core.internal/html/globals_d.html create mode 100644 doc/ref/core.internal/html/globals_defs.html create mode 100644 doc/ref/core.internal/html/globals_defs_a.html create mode 100644 doc/ref/core.internal/html/globals_defs_c.html create mode 100644 doc/ref/core.internal/html/globals_defs_d.html create mode 100644 doc/ref/core.internal/html/globals_defs_e.html create mode 100644 doc/ref/core.internal/html/globals_defs_f.html create mode 100644 doc/ref/core.internal/html/globals_defs_g.html create mode 100644 doc/ref/core.internal/html/globals_defs_h.html create mode 100644 doc/ref/core.internal/html/globals_defs_i.html create mode 100644 doc/ref/core.internal/html/globals_defs_l.html create mode 100644 doc/ref/core.internal/html/globals_defs_m.html create mode 100644 doc/ref/core.internal/html/globals_defs_n.html create mode 100644 doc/ref/core.internal/html/globals_defs_o.html create mode 100644 doc/ref/core.internal/html/globals_defs_r.html create mode 100644 doc/ref/core.internal/html/globals_defs_s.html create mode 100644 doc/ref/core.internal/html/globals_defs_t.html create mode 100644 doc/ref/core.internal/html/globals_defs_u.html create mode 100644 doc/ref/core.internal/html/globals_e.html create mode 100644 doc/ref/core.internal/html/globals_enum.html create mode 100644 doc/ref/core.internal/html/globals_eval.html create mode 100644 doc/ref/core.internal/html/globals_eval_b.html create mode 100644 doc/ref/core.internal/html/globals_eval_c.html create mode 100644 doc/ref/core.internal/html/globals_eval_d.html create mode 100644 doc/ref/core.internal/html/globals_eval_e.html create mode 100644 doc/ref/core.internal/html/globals_eval_g.html create mode 100644 doc/ref/core.internal/html/globals_eval_h.html create mode 100644 doc/ref/core.internal/html/globals_eval_i.html create mode 100644 doc/ref/core.internal/html/globals_eval_l.html create mode 100644 doc/ref/core.internal/html/globals_eval_m.html create mode 100644 doc/ref/core.internal/html/globals_eval_n.html create mode 100644 doc/ref/core.internal/html/globals_eval_p.html create mode 100644 doc/ref/core.internal/html/globals_eval_r.html create mode 100644 doc/ref/core.internal/html/globals_eval_s.html create mode 100644 doc/ref/core.internal/html/globals_eval_t.html create mode 100644 doc/ref/core.internal/html/globals_eval_w.html create mode 100644 doc/ref/core.internal/html/globals_eval_z.html create mode 100644 doc/ref/core.internal/html/globals_f.html create mode 100644 doc/ref/core.internal/html/globals_func.html create mode 100644 doc/ref/core.internal/html/globals_func_g.html create mode 100644 doc/ref/core.internal/html/globals_func_o.html create mode 100644 doc/ref/core.internal/html/globals_func_p.html create mode 100644 doc/ref/core.internal/html/globals_func_t.html create mode 100644 doc/ref/core.internal/html/globals_func_v.html create mode 100644 doc/ref/core.internal/html/globals_g.html create mode 100644 doc/ref/core.internal/html/globals_h.html create mode 100644 doc/ref/core.internal/html/globals_i.html create mode 100644 doc/ref/core.internal/html/globals_k.html create mode 100644 doc/ref/core.internal/html/globals_l.html create mode 100644 doc/ref/core.internal/html/globals_m.html create mode 100644 doc/ref/core.internal/html/globals_n.html create mode 100644 doc/ref/core.internal/html/globals_o.html create mode 100644 doc/ref/core.internal/html/globals_p.html create mode 100644 doc/ref/core.internal/html/globals_r.html create mode 100644 doc/ref/core.internal/html/globals_s.html create mode 100644 doc/ref/core.internal/html/globals_t.html create mode 100644 doc/ref/core.internal/html/globals_type.html create mode 100644 doc/ref/core.internal/html/globals_u.html create mode 100644 doc/ref/core.internal/html/globals_v.html create mode 100644 doc/ref/core.internal/html/globals_vars.html create mode 100644 doc/ref/core.internal/html/globals_w.html create mode 100644 doc/ref/core.internal/html/globals_z.html create mode 100644 doc/ref/core.internal/html/google__default__credentials_8c.html create mode 100644 doc/ref/core.internal/html/graph_legend.html create mode 100644 doc/ref/core.internal/html/graph_legend.md5 create mode 100644 doc/ref/core.internal/html/graph_legend.png create mode 100644 doc/ref/core.internal/html/grpc_8h.html create mode 100644 doc/ref/core.internal/html/grpc_8h_source.html create mode 100644 doc/ref/core.internal/html/grpc__context_8c.html create mode 100644 doc/ref/core.internal/html/grpc__security_8h.html create mode 100644 doc/ref/core.internal/html/grpc__security_8h_source.html create mode 100644 doc/ref/core.internal/html/histogram_8c.html create mode 100644 doc/ref/core.internal/html/histogram_8h.html create mode 100644 doc/ref/core.internal/html/histogram_8h_source.html create mode 100644 doc/ref/core.internal/html/host__port_8c.html create mode 100644 doc/ref/core.internal/html/host__port_8h.html create mode 100644 doc/ref/core.internal/html/host__port_8h_source.html create mode 100644 doc/ref/core.internal/html/hpack__parser_8c.html create mode 100644 doc/ref/core.internal/html/hpack__parser_8h.html create mode 100644 doc/ref/core.internal/html/hpack__parser_8h_source.html create mode 100644 doc/ref/core.internal/html/hpack__table_8c.html create mode 100644 doc/ref/core.internal/html/hpack__table_8h.html create mode 100644 doc/ref/core.internal/html/hpack__table_8h_source.html create mode 100644 doc/ref/core.internal/html/http2__errors_8h.html create mode 100644 doc/ref/core.internal/html/http2__errors_8h_source.html create mode 100644 doc/ref/core.internal/html/http__client__filter_8c.html create mode 100644 doc/ref/core.internal/html/http__client__filter_8h.html create mode 100644 doc/ref/core.internal/html/http__client__filter_8h_source.html create mode 100644 doc/ref/core.internal/html/http__server__filter_8c.html create mode 100644 doc/ref/core.internal/html/http__server__filter_8h.html create mode 100644 doc/ref/core.internal/html/http__server__filter_8h_source.html create mode 100644 doc/ref/core.internal/html/httpcli_8c.html create mode 100644 doc/ref/core.internal/html/httpcli_8h.html create mode 100644 doc/ref/core.internal/html/httpcli_8h_source.html create mode 100644 doc/ref/core.internal/html/httpcli__security__connector_8c.html create mode 100644 doc/ref/core.internal/html/httpcli__security__connector_8h.html create mode 100644 doc/ref/core.internal/html/httpcli__security__connector_8h_source.html create mode 100644 doc/ref/core.internal/html/huffsyms_8c.html create mode 100644 doc/ref/core.internal/html/huffsyms_8h.html create mode 100644 doc/ref/core.internal/html/huffsyms_8h_source.html create mode 100644 doc/ref/core.internal/html/incoming__metadata_8c.html create mode 100644 doc/ref/core.internal/html/incoming__metadata_8h.html create mode 100644 doc/ref/core.internal/html/incoming__metadata_8h_source.html create mode 100644 doc/ref/core.internal/html/index.html create mode 100644 doc/ref/core.internal/html/init_8c.html create mode 100644 doc/ref/core.internal/html/init_8h.html create mode 100644 doc/ref/core.internal/html/init_8h_source.html create mode 100644 doc/ref/core.internal/html/init__secure_8c.html create mode 100644 doc/ref/core.internal/html/initialize_8c.html create mode 100644 doc/ref/core.internal/html/internal_8h.html create mode 100644 doc/ref/core.internal/html/internal_8h_source.html create mode 100644 doc/ref/core.internal/html/iocp__windows_8c.html create mode 100644 doc/ref/core.internal/html/iocp__windows_8h.html create mode 100644 doc/ref/core.internal/html/iocp__windows_8h_source.html create mode 100644 doc/ref/core.internal/html/iomgr_8c.html create mode 100644 doc/ref/core.internal/html/iomgr_8h.html create mode 100644 doc/ref/core.internal/html/iomgr_8h_source.html create mode 100644 doc/ref/core.internal/html/iomgr__internal_8h.html create mode 100644 doc/ref/core.internal/html/iomgr__internal_8h_source.html create mode 100644 doc/ref/core.internal/html/iomgr__posix_8c.html create mode 100644 doc/ref/core.internal/html/iomgr__posix_8h.html create mode 100644 doc/ref/core.internal/html/iomgr__posix_8h_source.html create mode 100644 doc/ref/core.internal/html/iomgr__windows_8c.html create mode 100644 doc/ref/core.internal/html/jquery.js create mode 100644 doc/ref/core.internal/html/json_8c.html create mode 100644 doc/ref/core.internal/html/json_8h.html create mode 100644 doc/ref/core.internal/html/json_8h_source.html create mode 100644 doc/ref/core.internal/html/json__common_8h.html create mode 100644 doc/ref/core.internal/html/json__common_8h_source.html create mode 100644 doc/ref/core.internal/html/json__reader_8c.html create mode 100644 doc/ref/core.internal/html/json__reader_8h.html create mode 100644 doc/ref/core.internal/html/json__reader_8h_source.html create mode 100644 doc/ref/core.internal/html/json__string_8c.html create mode 100644 doc/ref/core.internal/html/json__token_8c.html create mode 100644 doc/ref/core.internal/html/json__token_8h.html create mode 100644 doc/ref/core.internal/html/json__token_8h_source.html create mode 100644 doc/ref/core.internal/html/json__writer_8c.html create mode 100644 doc/ref/core.internal/html/json__writer_8h.html create mode 100644 doc/ref/core.internal/html/json__writer_8h_source.html create mode 100644 doc/ref/core.internal/html/jwt__verifier_8c.html create mode 100644 doc/ref/core.internal/html/jwt__verifier_8h.html create mode 100644 doc/ref/core.internal/html/jwt__verifier_8h_source.html create mode 100644 doc/ref/core.internal/html/lame__client_8c.html create mode 100644 doc/ref/core.internal/html/lb__policy_8c.html create mode 100644 doc/ref/core.internal/html/lb__policy_8h.html create mode 100644 doc/ref/core.internal/html/lb__policy_8h_source.html create mode 100644 doc/ref/core.internal/html/log_8c.html create mode 100644 doc/ref/core.internal/html/log_8h.html create mode 100644 doc/ref/core.internal/html/log_8h_source.html create mode 100644 doc/ref/core.internal/html/log__android_8c.html create mode 100644 doc/ref/core.internal/html/log__linux_8c.html create mode 100644 doc/ref/core.internal/html/log__posix_8c.html create mode 100644 doc/ref/core.internal/html/log__win32_8c.html create mode 100644 doc/ref/core.internal/html/log__win32_8h.html create mode 100644 doc/ref/core.internal/html/log__win32_8h_source.html create mode 100644 doc/ref/core.internal/html/merge__channel__args_8c.html create mode 100644 doc/ref/core.internal/html/merge__channel__args_8h.html create mode 100644 doc/ref/core.internal/html/merge__channel__args_8h_source.html create mode 100644 doc/ref/core.internal/html/message__compress_8c.html create mode 100644 doc/ref/core.internal/html/message__compress_8h.html create mode 100644 doc/ref/core.internal/html/message__compress_8h_source.html create mode 100644 doc/ref/core.internal/html/metadata_8c.html create mode 100644 doc/ref/core.internal/html/metadata_8h.html create mode 100644 doc/ref/core.internal/html/metadata_8h_source.html create mode 100644 doc/ref/core.internal/html/metadata__array_8c.html create mode 100644 doc/ref/core.internal/html/murmur__hash_8c.html create mode 100644 doc/ref/core.internal/html/murmur__hash_8h.html create mode 100644 doc/ref/core.internal/html/murmur__hash_8h_source.html create mode 100644 doc/ref/core.internal/html/nav_f.png create mode 100644 doc/ref/core.internal/html/nav_g.png create mode 100644 doc/ref/core.internal/html/nav_h.png create mode 100644 doc/ref/core.internal/html/noop__filter_8c.html create mode 100644 doc/ref/core.internal/html/noop__filter_8h.html create mode 100644 doc/ref/core.internal/html/noop__filter_8h_source.html create mode 100644 doc/ref/core.internal/html/open.png create mode 100644 doc/ref/core.internal/html/parser_8c.html create mode 100644 doc/ref/core.internal/html/parser_8h.html create mode 100644 doc/ref/core.internal/html/parser_8h_source.html create mode 100644 doc/ref/core.internal/html/parsing_8c.html create mode 100644 doc/ref/core.internal/html/pick__first_8c.html create mode 100644 doc/ref/core.internal/html/pick__first_8h.html create mode 100644 doc/ref/core.internal/html/pick__first_8h_source.html create mode 100644 doc/ref/core.internal/html/pollset_8h.html create mode 100644 doc/ref/core.internal/html/pollset_8h_source.html create mode 100644 doc/ref/core.internal/html/pollset__kick__posix_8c.html create mode 100644 doc/ref/core.internal/html/pollset__kick__posix_8h.html create mode 100644 doc/ref/core.internal/html/pollset__kick__posix_8h_source.html create mode 100644 doc/ref/core.internal/html/pollset__multipoller__with__epoll_8c.html create mode 100644 doc/ref/core.internal/html/pollset__multipoller__with__poll__posix_8c.html create mode 100644 doc/ref/core.internal/html/pollset__posix_8c.html create mode 100644 doc/ref/core.internal/html/pollset__posix_8h.html create mode 100644 doc/ref/core.internal/html/pollset__posix_8h_source.html create mode 100644 doc/ref/core.internal/html/pollset__set_8h.html create mode 100644 doc/ref/core.internal/html/pollset__set_8h_source.html create mode 100644 doc/ref/core.internal/html/pollset__set__posix_8c.html create mode 100644 doc/ref/core.internal/html/pollset__set__posix_8h.html create mode 100644 doc/ref/core.internal/html/pollset__set__posix_8h_source.html create mode 100644 doc/ref/core.internal/html/pollset__set__windows_8c.html create mode 100644 doc/ref/core.internal/html/pollset__set__windows_8h.html create mode 100644 doc/ref/core.internal/html/pollset__set__windows_8h_source.html create mode 100644 doc/ref/core.internal/html/pollset__windows_8c.html create mode 100644 doc/ref/core.internal/html/pollset__windows_8h.html create mode 100644 doc/ref/core.internal/html/pollset__windows_8h_source.html create mode 100644 doc/ref/core.internal/html/port__platform_8h.html create mode 100644 doc/ref/core.internal/html/port__platform_8h_source.html create mode 100644 doc/ref/core.internal/html/record__stat_8c.html create mode 100644 doc/ref/core.internal/html/resolve__address_8h.html create mode 100644 doc/ref/core.internal/html/resolve__address_8h_source.html create mode 100644 doc/ref/core.internal/html/resolve__address__posix_8c.html create mode 100644 doc/ref/core.internal/html/resolve__address__windows_8c.html create mode 100644 doc/ref/core.internal/html/resolver_8c.html create mode 100644 doc/ref/core.internal/html/resolver_8h.html create mode 100644 doc/ref/core.internal/html/resolver_8h_source.html create mode 100644 doc/ref/core.internal/html/resolver__factory_8c.html create mode 100644 doc/ref/core.internal/html/resolver__factory_8h.html create mode 100644 doc/ref/core.internal/html/resolver__factory_8h_source.html create mode 100644 doc/ref/core.internal/html/resolver__registry_8c.html create mode 100644 doc/ref/core.internal/html/resolver__registry_8h.html create mode 100644 doc/ref/core.internal/html/resolver__registry_8h_source.html create mode 100644 doc/ref/core.internal/html/rpc__stat__id_8h.html create mode 100644 doc/ref/core.internal/html/rpc__stat__id_8h_source.html create mode 100644 doc/ref/core.internal/html/search/all_0.html create mode 100644 doc/ref/core.internal/html/search/all_0.js create mode 100644 doc/ref/core.internal/html/search/all_1.html create mode 100644 doc/ref/core.internal/html/search/all_1.js create mode 100644 doc/ref/core.internal/html/search/all_10.html create mode 100644 doc/ref/core.internal/html/search/all_10.js create mode 100644 doc/ref/core.internal/html/search/all_11.html create mode 100644 doc/ref/core.internal/html/search/all_11.js create mode 100644 doc/ref/core.internal/html/search/all_12.html create mode 100644 doc/ref/core.internal/html/search/all_12.js create mode 100644 doc/ref/core.internal/html/search/all_13.html create mode 100644 doc/ref/core.internal/html/search/all_13.js create mode 100644 doc/ref/core.internal/html/search/all_14.html create mode 100644 doc/ref/core.internal/html/search/all_14.js create mode 100644 doc/ref/core.internal/html/search/all_15.html create mode 100644 doc/ref/core.internal/html/search/all_15.js create mode 100644 doc/ref/core.internal/html/search/all_16.html create mode 100644 doc/ref/core.internal/html/search/all_16.js create mode 100644 doc/ref/core.internal/html/search/all_17.html create mode 100644 doc/ref/core.internal/html/search/all_17.js create mode 100644 doc/ref/core.internal/html/search/all_18.html create mode 100644 doc/ref/core.internal/html/search/all_18.js create mode 100644 doc/ref/core.internal/html/search/all_2.html create mode 100644 doc/ref/core.internal/html/search/all_2.js create mode 100644 doc/ref/core.internal/html/search/all_3.html create mode 100644 doc/ref/core.internal/html/search/all_3.js create mode 100644 doc/ref/core.internal/html/search/all_4.html create mode 100644 doc/ref/core.internal/html/search/all_4.js create mode 100644 doc/ref/core.internal/html/search/all_5.html create mode 100644 doc/ref/core.internal/html/search/all_5.js create mode 100644 doc/ref/core.internal/html/search/all_6.html create mode 100644 doc/ref/core.internal/html/search/all_6.js create mode 100644 doc/ref/core.internal/html/search/all_7.html create mode 100644 doc/ref/core.internal/html/search/all_7.js create mode 100644 doc/ref/core.internal/html/search/all_8.html create mode 100644 doc/ref/core.internal/html/search/all_8.js create mode 100644 doc/ref/core.internal/html/search/all_9.html create mode 100644 doc/ref/core.internal/html/search/all_9.js create mode 100644 doc/ref/core.internal/html/search/all_a.html create mode 100644 doc/ref/core.internal/html/search/all_a.js create mode 100644 doc/ref/core.internal/html/search/all_b.html create mode 100644 doc/ref/core.internal/html/search/all_b.js create mode 100644 doc/ref/core.internal/html/search/all_c.html create mode 100644 doc/ref/core.internal/html/search/all_c.js create mode 100644 doc/ref/core.internal/html/search/all_d.html create mode 100644 doc/ref/core.internal/html/search/all_d.js create mode 100644 doc/ref/core.internal/html/search/all_e.html create mode 100644 doc/ref/core.internal/html/search/all_e.js create mode 100644 doc/ref/core.internal/html/search/all_f.html create mode 100644 doc/ref/core.internal/html/search/all_f.js create mode 100644 doc/ref/core.internal/html/search/classes_0.html create mode 100644 doc/ref/core.internal/html/search/classes_0.js create mode 100644 doc/ref/core.internal/html/search/classes_1.html create mode 100644 doc/ref/core.internal/html/search/classes_1.js create mode 100644 doc/ref/core.internal/html/search/classes_10.html create mode 100644 doc/ref/core.internal/html/search/classes_10.js create mode 100644 doc/ref/core.internal/html/search/classes_11.html create mode 100644 doc/ref/core.internal/html/search/classes_11.js create mode 100644 doc/ref/core.internal/html/search/classes_12.html create mode 100644 doc/ref/core.internal/html/search/classes_12.js create mode 100644 doc/ref/core.internal/html/search/classes_2.html create mode 100644 doc/ref/core.internal/html/search/classes_2.js create mode 100644 doc/ref/core.internal/html/search/classes_3.html create mode 100644 doc/ref/core.internal/html/search/classes_3.js create mode 100644 doc/ref/core.internal/html/search/classes_4.html create mode 100644 doc/ref/core.internal/html/search/classes_4.js create mode 100644 doc/ref/core.internal/html/search/classes_5.html create mode 100644 doc/ref/core.internal/html/search/classes_5.js create mode 100644 doc/ref/core.internal/html/search/classes_6.html create mode 100644 doc/ref/core.internal/html/search/classes_6.js create mode 100644 doc/ref/core.internal/html/search/classes_7.html create mode 100644 doc/ref/core.internal/html/search/classes_7.js create mode 100644 doc/ref/core.internal/html/search/classes_8.html create mode 100644 doc/ref/core.internal/html/search/classes_8.js create mode 100644 doc/ref/core.internal/html/search/classes_9.html create mode 100644 doc/ref/core.internal/html/search/classes_9.js create mode 100644 doc/ref/core.internal/html/search/classes_a.html create mode 100644 doc/ref/core.internal/html/search/classes_a.js create mode 100644 doc/ref/core.internal/html/search/classes_b.html create mode 100644 doc/ref/core.internal/html/search/classes_b.js create mode 100644 doc/ref/core.internal/html/search/classes_c.html create mode 100644 doc/ref/core.internal/html/search/classes_c.js create mode 100644 doc/ref/core.internal/html/search/classes_d.html create mode 100644 doc/ref/core.internal/html/search/classes_d.js create mode 100644 doc/ref/core.internal/html/search/classes_e.html create mode 100644 doc/ref/core.internal/html/search/classes_e.js create mode 100644 doc/ref/core.internal/html/search/classes_f.html create mode 100644 doc/ref/core.internal/html/search/classes_f.js create mode 100644 doc/ref/core.internal/html/search/close.png create mode 100644 doc/ref/core.internal/html/search/defines_0.html create mode 100644 doc/ref/core.internal/html/search/defines_0.js create mode 100644 doc/ref/core.internal/html/search/defines_1.html create mode 100644 doc/ref/core.internal/html/search/defines_1.js create mode 100644 doc/ref/core.internal/html/search/defines_10.html create mode 100644 doc/ref/core.internal/html/search/defines_10.js create mode 100644 doc/ref/core.internal/html/search/defines_2.html create mode 100644 doc/ref/core.internal/html/search/defines_2.js create mode 100644 doc/ref/core.internal/html/search/defines_3.html create mode 100644 doc/ref/core.internal/html/search/defines_3.js create mode 100644 doc/ref/core.internal/html/search/defines_4.html create mode 100644 doc/ref/core.internal/html/search/defines_4.js create mode 100644 doc/ref/core.internal/html/search/defines_5.html create mode 100644 doc/ref/core.internal/html/search/defines_5.js create mode 100644 doc/ref/core.internal/html/search/defines_6.html create mode 100644 doc/ref/core.internal/html/search/defines_6.js create mode 100644 doc/ref/core.internal/html/search/defines_7.html create mode 100644 doc/ref/core.internal/html/search/defines_7.js create mode 100644 doc/ref/core.internal/html/search/defines_8.html create mode 100644 doc/ref/core.internal/html/search/defines_8.js create mode 100644 doc/ref/core.internal/html/search/defines_9.html create mode 100644 doc/ref/core.internal/html/search/defines_9.js create mode 100644 doc/ref/core.internal/html/search/defines_a.html create mode 100644 doc/ref/core.internal/html/search/defines_a.js create mode 100644 doc/ref/core.internal/html/search/defines_b.html create mode 100644 doc/ref/core.internal/html/search/defines_b.js create mode 100644 doc/ref/core.internal/html/search/defines_c.html create mode 100644 doc/ref/core.internal/html/search/defines_c.js create mode 100644 doc/ref/core.internal/html/search/defines_d.html create mode 100644 doc/ref/core.internal/html/search/defines_d.js create mode 100644 doc/ref/core.internal/html/search/defines_e.html create mode 100644 doc/ref/core.internal/html/search/defines_e.js create mode 100644 doc/ref/core.internal/html/search/defines_f.html create mode 100644 doc/ref/core.internal/html/search/defines_f.js create mode 100644 doc/ref/core.internal/html/search/enums_0.html create mode 100644 doc/ref/core.internal/html/search/enums_0.js create mode 100644 doc/ref/core.internal/html/search/enums_1.html create mode 100644 doc/ref/core.internal/html/search/enums_1.js create mode 100644 doc/ref/core.internal/html/search/enums_2.html create mode 100644 doc/ref/core.internal/html/search/enums_2.js create mode 100644 doc/ref/core.internal/html/search/enums_3.html create mode 100644 doc/ref/core.internal/html/search/enums_3.js create mode 100644 doc/ref/core.internal/html/search/enums_4.html create mode 100644 doc/ref/core.internal/html/search/enums_4.js create mode 100644 doc/ref/core.internal/html/search/enums_5.html create mode 100644 doc/ref/core.internal/html/search/enums_5.js create mode 100644 doc/ref/core.internal/html/search/enums_6.html create mode 100644 doc/ref/core.internal/html/search/enums_6.js create mode 100644 doc/ref/core.internal/html/search/enums_7.html create mode 100644 doc/ref/core.internal/html/search/enums_7.js create mode 100644 doc/ref/core.internal/html/search/enums_8.html create mode 100644 doc/ref/core.internal/html/search/enums_8.js create mode 100644 doc/ref/core.internal/html/search/enums_9.html create mode 100644 doc/ref/core.internal/html/search/enums_9.js create mode 100644 doc/ref/core.internal/html/search/enumvalues_0.html create mode 100644 doc/ref/core.internal/html/search/enumvalues_0.js create mode 100644 doc/ref/core.internal/html/search/enumvalues_1.html create mode 100644 doc/ref/core.internal/html/search/enumvalues_1.js create mode 100644 doc/ref/core.internal/html/search/enumvalues_10.html create mode 100644 doc/ref/core.internal/html/search/enumvalues_10.js create mode 100644 doc/ref/core.internal/html/search/enumvalues_2.html create mode 100644 doc/ref/core.internal/html/search/enumvalues_2.js create mode 100644 doc/ref/core.internal/html/search/enumvalues_3.html create mode 100644 doc/ref/core.internal/html/search/enumvalues_3.js create mode 100644 doc/ref/core.internal/html/search/enumvalues_4.html create mode 100644 doc/ref/core.internal/html/search/enumvalues_4.js create mode 100644 doc/ref/core.internal/html/search/enumvalues_5.html create mode 100644 doc/ref/core.internal/html/search/enumvalues_5.js create mode 100644 doc/ref/core.internal/html/search/enumvalues_6.html create mode 100644 doc/ref/core.internal/html/search/enumvalues_6.js create mode 100644 doc/ref/core.internal/html/search/enumvalues_7.html create mode 100644 doc/ref/core.internal/html/search/enumvalues_7.js create mode 100644 doc/ref/core.internal/html/search/enumvalues_8.html create mode 100644 doc/ref/core.internal/html/search/enumvalues_8.js create mode 100644 doc/ref/core.internal/html/search/enumvalues_9.html create mode 100644 doc/ref/core.internal/html/search/enumvalues_9.js create mode 100644 doc/ref/core.internal/html/search/enumvalues_a.html create mode 100644 doc/ref/core.internal/html/search/enumvalues_a.js create mode 100644 doc/ref/core.internal/html/search/enumvalues_b.html create mode 100644 doc/ref/core.internal/html/search/enumvalues_b.js create mode 100644 doc/ref/core.internal/html/search/enumvalues_c.html create mode 100644 doc/ref/core.internal/html/search/enumvalues_c.js create mode 100644 doc/ref/core.internal/html/search/enumvalues_d.html create mode 100644 doc/ref/core.internal/html/search/enumvalues_d.js create mode 100644 doc/ref/core.internal/html/search/enumvalues_e.html create mode 100644 doc/ref/core.internal/html/search/enumvalues_e.js create mode 100644 doc/ref/core.internal/html/search/enumvalues_f.html create mode 100644 doc/ref/core.internal/html/search/enumvalues_f.js create mode 100644 doc/ref/core.internal/html/search/files_0.html create mode 100644 doc/ref/core.internal/html/search/files_0.js create mode 100644 doc/ref/core.internal/html/search/files_1.html create mode 100644 doc/ref/core.internal/html/search/files_1.js create mode 100644 doc/ref/core.internal/html/search/files_10.html create mode 100644 doc/ref/core.internal/html/search/files_10.js create mode 100644 doc/ref/core.internal/html/search/files_11.html create mode 100644 doc/ref/core.internal/html/search/files_11.js create mode 100644 doc/ref/core.internal/html/search/files_12.html create mode 100644 doc/ref/core.internal/html/search/files_12.js create mode 100644 doc/ref/core.internal/html/search/files_13.html create mode 100644 doc/ref/core.internal/html/search/files_13.js create mode 100644 doc/ref/core.internal/html/search/files_2.html create mode 100644 doc/ref/core.internal/html/search/files_2.js create mode 100644 doc/ref/core.internal/html/search/files_3.html create mode 100644 doc/ref/core.internal/html/search/files_3.js create mode 100644 doc/ref/core.internal/html/search/files_4.html create mode 100644 doc/ref/core.internal/html/search/files_4.js create mode 100644 doc/ref/core.internal/html/search/files_5.html create mode 100644 doc/ref/core.internal/html/search/files_5.js create mode 100644 doc/ref/core.internal/html/search/files_6.html create mode 100644 doc/ref/core.internal/html/search/files_6.js create mode 100644 doc/ref/core.internal/html/search/files_7.html create mode 100644 doc/ref/core.internal/html/search/files_7.js create mode 100644 doc/ref/core.internal/html/search/files_8.html create mode 100644 doc/ref/core.internal/html/search/files_8.js create mode 100644 doc/ref/core.internal/html/search/files_9.html create mode 100644 doc/ref/core.internal/html/search/files_9.js create mode 100644 doc/ref/core.internal/html/search/files_a.html create mode 100644 doc/ref/core.internal/html/search/files_a.js create mode 100644 doc/ref/core.internal/html/search/files_b.html create mode 100644 doc/ref/core.internal/html/search/files_b.js create mode 100644 doc/ref/core.internal/html/search/files_c.html create mode 100644 doc/ref/core.internal/html/search/files_c.js create mode 100644 doc/ref/core.internal/html/search/files_d.html create mode 100644 doc/ref/core.internal/html/search/files_d.js create mode 100644 doc/ref/core.internal/html/search/files_e.html create mode 100644 doc/ref/core.internal/html/search/files_e.js create mode 100644 doc/ref/core.internal/html/search/files_f.html create mode 100644 doc/ref/core.internal/html/search/files_f.js create mode 100644 doc/ref/core.internal/html/search/functions_0.html create mode 100644 doc/ref/core.internal/html/search/functions_0.js create mode 100644 doc/ref/core.internal/html/search/functions_1.html create mode 100644 doc/ref/core.internal/html/search/functions_1.js create mode 100644 doc/ref/core.internal/html/search/functions_2.html create mode 100644 doc/ref/core.internal/html/search/functions_2.js create mode 100644 doc/ref/core.internal/html/search/functions_3.html create mode 100644 doc/ref/core.internal/html/search/functions_3.js create mode 100644 doc/ref/core.internal/html/search/functions_4.html create mode 100644 doc/ref/core.internal/html/search/functions_4.js create mode 100644 doc/ref/core.internal/html/search/functions_5.html create mode 100644 doc/ref/core.internal/html/search/functions_5.js create mode 100644 doc/ref/core.internal/html/search/mag_sel.png create mode 100644 doc/ref/core.internal/html/search/nomatches.html create mode 100644 doc/ref/core.internal/html/search/pages_0.html create mode 100644 doc/ref/core.internal/html/search/pages_0.js create mode 100644 doc/ref/core.internal/html/search/search.css create mode 100644 doc/ref/core.internal/html/search/search.js create mode 100644 doc/ref/core.internal/html/search/search_l.png create mode 100644 doc/ref/core.internal/html/search/search_m.png create mode 100644 doc/ref/core.internal/html/search/search_r.png create mode 100644 doc/ref/core.internal/html/search/typedefs_0.html create mode 100644 doc/ref/core.internal/html/search/typedefs_0.js create mode 100644 doc/ref/core.internal/html/search/typedefs_1.html create mode 100644 doc/ref/core.internal/html/search/typedefs_1.js create mode 100644 doc/ref/core.internal/html/search/typedefs_2.html create mode 100644 doc/ref/core.internal/html/search/typedefs_2.js create mode 100644 doc/ref/core.internal/html/search/typedefs_3.html create mode 100644 doc/ref/core.internal/html/search/typedefs_3.js create mode 100644 doc/ref/core.internal/html/search/typedefs_4.html create mode 100644 doc/ref/core.internal/html/search/typedefs_4.js create mode 100644 doc/ref/core.internal/html/search/typedefs_5.html create mode 100644 doc/ref/core.internal/html/search/typedefs_5.js create mode 100644 doc/ref/core.internal/html/search/typedefs_6.html create mode 100644 doc/ref/core.internal/html/search/typedefs_6.js create mode 100644 doc/ref/core.internal/html/search/typedefs_7.html create mode 100644 doc/ref/core.internal/html/search/typedefs_7.js create mode 100644 doc/ref/core.internal/html/search/typedefs_8.html create mode 100644 doc/ref/core.internal/html/search/typedefs_8.js create mode 100644 doc/ref/core.internal/html/search/typedefs_9.html create mode 100644 doc/ref/core.internal/html/search/typedefs_9.js create mode 100644 doc/ref/core.internal/html/search/typedefs_a.html create mode 100644 doc/ref/core.internal/html/search/typedefs_a.js create mode 100644 doc/ref/core.internal/html/search/variables_0.html create mode 100644 doc/ref/core.internal/html/search/variables_0.js create mode 100644 doc/ref/core.internal/html/search/variables_1.html create mode 100644 doc/ref/core.internal/html/search/variables_1.js create mode 100644 doc/ref/core.internal/html/search/variables_10.html create mode 100644 doc/ref/core.internal/html/search/variables_10.js create mode 100644 doc/ref/core.internal/html/search/variables_11.html create mode 100644 doc/ref/core.internal/html/search/variables_11.js create mode 100644 doc/ref/core.internal/html/search/variables_12.html create mode 100644 doc/ref/core.internal/html/search/variables_12.js create mode 100644 doc/ref/core.internal/html/search/variables_13.html create mode 100644 doc/ref/core.internal/html/search/variables_13.js create mode 100644 doc/ref/core.internal/html/search/variables_14.html create mode 100644 doc/ref/core.internal/html/search/variables_14.js create mode 100644 doc/ref/core.internal/html/search/variables_15.html create mode 100644 doc/ref/core.internal/html/search/variables_15.js create mode 100644 doc/ref/core.internal/html/search/variables_16.html create mode 100644 doc/ref/core.internal/html/search/variables_16.js create mode 100644 doc/ref/core.internal/html/search/variables_2.html create mode 100644 doc/ref/core.internal/html/search/variables_2.js create mode 100644 doc/ref/core.internal/html/search/variables_3.html create mode 100644 doc/ref/core.internal/html/search/variables_3.js create mode 100644 doc/ref/core.internal/html/search/variables_4.html create mode 100644 doc/ref/core.internal/html/search/variables_4.js create mode 100644 doc/ref/core.internal/html/search/variables_5.html create mode 100644 doc/ref/core.internal/html/search/variables_5.js create mode 100644 doc/ref/core.internal/html/search/variables_6.html create mode 100644 doc/ref/core.internal/html/search/variables_6.js create mode 100644 doc/ref/core.internal/html/search/variables_7.html create mode 100644 doc/ref/core.internal/html/search/variables_7.js create mode 100644 doc/ref/core.internal/html/search/variables_8.html create mode 100644 doc/ref/core.internal/html/search/variables_8.js create mode 100644 doc/ref/core.internal/html/search/variables_9.html create mode 100644 doc/ref/core.internal/html/search/variables_9.js create mode 100644 doc/ref/core.internal/html/search/variables_a.html create mode 100644 doc/ref/core.internal/html/search/variables_a.js create mode 100644 doc/ref/core.internal/html/search/variables_b.html create mode 100644 doc/ref/core.internal/html/search/variables_b.js create mode 100644 doc/ref/core.internal/html/search/variables_c.html create mode 100644 doc/ref/core.internal/html/search/variables_c.js create mode 100644 doc/ref/core.internal/html/search/variables_d.html create mode 100644 doc/ref/core.internal/html/search/variables_d.js create mode 100644 doc/ref/core.internal/html/search/variables_e.html create mode 100644 doc/ref/core.internal/html/search/variables_e.js create mode 100644 doc/ref/core.internal/html/search/variables_f.html create mode 100644 doc/ref/core.internal/html/search/variables_f.js create mode 100644 doc/ref/core.internal/html/secure__channel__create_8c.html create mode 100644 doc/ref/core.internal/html/secure__endpoint_8c.html create mode 100644 doc/ref/core.internal/html/secure__endpoint_8h.html create mode 100644 doc/ref/core.internal/html/secure__endpoint_8h_source.html create mode 100644 doc/ref/core.internal/html/secure__transport__setup_8c.html create mode 100644 doc/ref/core.internal/html/secure__transport__setup_8h.html create mode 100644 doc/ref/core.internal/html/secure__transport__setup_8h_source.html create mode 100644 doc/ref/core.internal/html/security__connector_8c.html create mode 100644 doc/ref/core.internal/html/security__connector_8h.html create mode 100644 doc/ref/core.internal/html/security__connector_8h_source.html create mode 100644 doc/ref/core.internal/html/security__context_8c.html create mode 100644 doc/ref/core.internal/html/security__context_8h.html create mode 100644 doc/ref/core.internal/html/security__context_8h_source.html create mode 100644 doc/ref/core.internal/html/server_8c.html create mode 100644 doc/ref/core.internal/html/server_8h.html create mode 100644 doc/ref/core.internal/html/server_8h_source.html create mode 100644 doc/ref/core.internal/html/server__auth__filter_8c.html create mode 100644 doc/ref/core.internal/html/server__chttp2_8c.html create mode 100644 doc/ref/core.internal/html/server__create_8c.html create mode 100644 doc/ref/core.internal/html/server__secure__chttp2_8c.html create mode 100644 doc/ref/core.internal/html/slice_8c.html create mode 100644 doc/ref/core.internal/html/slice_8h.html create mode 100644 doc/ref/core.internal/html/slice_8h_source.html create mode 100644 doc/ref/core.internal/html/slice__buffer_8c.html create mode 100644 doc/ref/core.internal/html/slice__buffer_8h.html create mode 100644 doc/ref/core.internal/html/slice__buffer_8h_source.html create mode 100644 doc/ref/core.internal/html/sockaddr_8h.html create mode 100644 doc/ref/core.internal/html/sockaddr_8h_source.html create mode 100644 doc/ref/core.internal/html/sockaddr__posix_8h.html create mode 100644 doc/ref/core.internal/html/sockaddr__posix_8h_source.html create mode 100644 doc/ref/core.internal/html/sockaddr__resolver_8c.html create mode 100644 doc/ref/core.internal/html/sockaddr__resolver_8h.html create mode 100644 doc/ref/core.internal/html/sockaddr__resolver_8h_source.html create mode 100644 doc/ref/core.internal/html/sockaddr__utils_8c.html create mode 100644 doc/ref/core.internal/html/sockaddr__utils_8h.html create mode 100644 doc/ref/core.internal/html/sockaddr__utils_8h_source.html create mode 100644 doc/ref/core.internal/html/sockaddr__win32_8h.html create mode 100644 doc/ref/core.internal/html/sockaddr__win32_8h_source.html create mode 100644 doc/ref/core.internal/html/socket__utils__common__posix_8c.html create mode 100644 doc/ref/core.internal/html/socket__utils__linux_8c.html create mode 100644 doc/ref/core.internal/html/socket__utils__posix_8c.html create mode 100644 doc/ref/core.internal/html/socket__utils__posix_8h.html create mode 100644 doc/ref/core.internal/html/socket__utils__posix_8h_source.html create mode 100644 doc/ref/core.internal/html/socket__windows_8c.html create mode 100644 doc/ref/core.internal/html/socket__windows_8h.html create mode 100644 doc/ref/core.internal/html/socket__windows_8h_source.html create mode 100644 doc/ref/core.internal/html/ssl__transport__security_8c.html create mode 100644 doc/ref/core.internal/html/ssl__transport__security_8h.html create mode 100644 doc/ref/core.internal/html/ssl__transport__security_8h_source.html create mode 100644 doc/ref/core.internal/html/stack__lockfree_8c.html create mode 100644 doc/ref/core.internal/html/stack__lockfree_8h.html create mode 100644 doc/ref/core.internal/html/stack__lockfree_8h_source.html create mode 100644 doc/ref/core.internal/html/stap__timers_8c.html create mode 100644 doc/ref/core.internal/html/status_8h.html create mode 100644 doc/ref/core.internal/html/status_8h_source.html create mode 100644 doc/ref/core.internal/html/status__conversion_8c.html create mode 100644 doc/ref/core.internal/html/status__conversion_8h.html create mode 100644 doc/ref/core.internal/html/status__conversion_8h_source.html create mode 100644 doc/ref/core.internal/html/stream__encoder_8c.html create mode 100644 doc/ref/core.internal/html/stream__encoder_8h.html create mode 100644 doc/ref/core.internal/html/stream__encoder_8h_source.html create mode 100644 doc/ref/core.internal/html/stream__lists_8c.html create mode 100644 doc/ref/core.internal/html/stream__map_8c.html create mode 100644 doc/ref/core.internal/html/stream__map_8h.html create mode 100644 doc/ref/core.internal/html/stream__map_8h_source.html create mode 100644 doc/ref/core.internal/html/stream__op_8c.html create mode 100644 doc/ref/core.internal/html/stream__op_8h.html create mode 100644 doc/ref/core.internal/html/stream__op_8h_source.html create mode 100644 doc/ref/core.internal/html/string_8c.html create mode 100644 doc/ref/core.internal/html/string_8h.html create mode 100644 doc/ref/core.internal/html/string_8h_source.html create mode 100644 doc/ref/core.internal/html/string__posix_8c.html create mode 100644 doc/ref/core.internal/html/string__util_8h.html create mode 100644 doc/ref/core.internal/html/string__util_8h_source.html create mode 100644 doc/ref/core.internal/html/string__win32_8c.html create mode 100644 doc/ref/core.internal/html/string__win32_8h.html create mode 100644 doc/ref/core.internal/html/string__win32_8h_source.html create mode 100644 doc/ref/core.internal/html/structarg.html create mode 100644 doc/ref/core.internal/html/structb64__huff__sym.html create mode 100644 doc/ref/core.internal/html/structcall__data.html create mode 100644 doc/ref/core.internal/html/structcall__link.html create mode 100644 doc/ref/core.internal/html/structcensus__context.html create mode 100644 doc/ref/core.internal/html/structcensus__stat.html create mode 100644 doc/ref/core.internal/html/structchannel__broadcaster.html create mode 100644 doc/ref/core.internal/html/structchannel__data.html create mode 100644 doc/ref/core.internal/html/structchannel__registered__method.html create mode 100644 doc/ref/core.internal/html/structcompleted__request.html create mode 100644 doc/ref/core.internal/html/structcompute__engine__detector.html create mode 100644 doc/ref/core.internal/html/structconnected__channel__call__data.html create mode 100644 doc/ref/core.internal/html/structconnected__channel__channel__data.html create mode 100644 doc/ref/core.internal/html/structconnection.html create mode 100644 doc/ref/core.internal/html/structconnector.html create mode 100644 doc/ref/core.internal/html/structdns__resolver.html create mode 100644 doc/ref/core.internal/html/structdump__out.html create mode 100644 doc/ref/core.internal/html/structemail__key__mapping.html create mode 100644 doc/ref/core.internal/html/structfinished__loose__op__allocated__args.html create mode 100644 doc/ref/core.internal/html/structframer__state.html create mode 100644 doc/ref/core.internal/html/structgpr__cancellable.html create mode 100644 doc/ref/core.internal/html/structgpr__cancellable__list__.html create mode 100644 doc/ref/core.internal/html/structgpr__cmdline.html create mode 100644 doc/ref/core.internal/html/structgpr__event.html create mode 100644 doc/ref/core.internal/html/structgpr__gcc__thread__local.html create mode 100644 doc/ref/core.internal/html/structgpr__histogram.html create mode 100644 doc/ref/core.internal/html/structgpr__log__func__args.html create mode 100644 doc/ref/core.internal/html/structgpr__msvc__thread__local.html create mode 100644 doc/ref/core.internal/html/structgpr__mu.html create mode 100644 doc/ref/core.internal/html/structgpr__pthread__thread__local.html create mode 100644 doc/ref/core.internal/html/structgpr__refcount.html create mode 100644 doc/ref/core.internal/html/structgpr__slice.html create mode 100644 doc/ref/core.internal/html/structgpr__slice__buffer.html create mode 100644 doc/ref/core.internal/html/structgpr__slice__refcount.html create mode 100644 doc/ref/core.internal/html/structgpr__stack__lockfree.html create mode 100644 doc/ref/core.internal/html/structgpr__stats__counter.html create mode 100644 doc/ref/core.internal/html/structgpr__strvec.html create mode 100644 doc/ref/core.internal/html/structgpr__thd__options.html create mode 100644 doc/ref/core.internal/html/structgpr__timespec.html create mode 100644 doc/ref/core.internal/html/structgrpc__access__token__credentials.html create mode 100644 doc/ref/core.internal/html/structgrpc__alarm.html create mode 100644 doc/ref/core.internal/html/structgrpc__alarm__heap.html create mode 100644 doc/ref/core.internal/html/structgrpc__arg.html create mode 100644 doc/ref/core.internal/html/structgrpc__auth__context.html create mode 100644 doc/ref/core.internal/html/structgrpc__auth__json__key.html create mode 100644 doc/ref/core.internal/html/structgrpc__auth__property.html create mode 100644 doc/ref/core.internal/html/structgrpc__auth__property__iterator.html create mode 100644 doc/ref/core.internal/html/structgrpc__auth__refresh__token.html create mode 100644 doc/ref/core.internal/html/structgrpc__bbq__array.html create mode 100644 doc/ref/core.internal/html/structgrpc__begin__message.html create mode 100644 doc/ref/core.internal/html/structgrpc__byte__buffer.html create mode 100644 doc/ref/core.internal/html/structgrpc__byte__buffer__queue.html create mode 100644 doc/ref/core.internal/html/structgrpc__byte__buffer__reader.html create mode 100644 doc/ref/core.internal/html/structgrpc__call.html create mode 100644 doc/ref/core.internal/html/structgrpc__call__context__element.html create mode 100644 doc/ref/core.internal/html/structgrpc__call__details.html create mode 100644 doc/ref/core.internal/html/structgrpc__call__element.html create mode 100644 doc/ref/core.internal/html/structgrpc__call__stack.html create mode 100644 doc/ref/core.internal/html/structgrpc__channel.html create mode 100644 doc/ref/core.internal/html/structgrpc__channel__args.html create mode 100644 doc/ref/core.internal/html/structgrpc__channel__element.html create mode 100644 doc/ref/core.internal/html/structgrpc__channel__filter.html create mode 100644 doc/ref/core.internal/html/structgrpc__channel__security__connector.html create mode 100644 doc/ref/core.internal/html/structgrpc__channel__stack.html create mode 100644 doc/ref/core.internal/html/structgrpc__chttp2__data__parser.html create mode 100644 doc/ref/core.internal/html/structgrpc__chttp2__goaway__parser.html create mode 100644 doc/ref/core.internal/html/structgrpc__chttp2__hpack__compressor.html create mode 100644 doc/ref/core.internal/html/structgrpc__chttp2__hpack__parser.html create mode 100644 doc/ref/core.internal/html/structgrpc__chttp2__hpack__parser__string.html create mode 100644 doc/ref/core.internal/html/structgrpc__chttp2__hptbl.html create mode 100644 doc/ref/core.internal/html/structgrpc__chttp2__hptbl__find__result.html create mode 100644 doc/ref/core.internal/html/structgrpc__chttp2__huffsym.html create mode 100644 doc/ref/core.internal/html/structgrpc__chttp2__incoming__metadata__buffer.html create mode 100644 doc/ref/core.internal/html/structgrpc__chttp2__incoming__metadata__live__op__buffer.html create mode 100644 doc/ref/core.internal/html/structgrpc__chttp2__outstanding__ping.html create mode 100644 doc/ref/core.internal/html/structgrpc__chttp2__ping__parser.html create mode 100644 doc/ref/core.internal/html/structgrpc__chttp2__rst__stream__parser.html create mode 100644 doc/ref/core.internal/html/structgrpc__chttp2__setting__parameters.html create mode 100644 doc/ref/core.internal/html/structgrpc__chttp2__settings__parser.html create mode 100644 doc/ref/core.internal/html/structgrpc__chttp2__stream.html create mode 100644 doc/ref/core.internal/html/structgrpc__chttp2__stream__global.html create mode 100644 doc/ref/core.internal/html/structgrpc__chttp2__stream__link.html create mode 100644 doc/ref/core.internal/html/structgrpc__chttp2__stream__list.html create mode 100644 doc/ref/core.internal/html/structgrpc__chttp2__stream__map.html create mode 100644 doc/ref/core.internal/html/structgrpc__chttp2__stream__parsing.html create mode 100644 doc/ref/core.internal/html/structgrpc__chttp2__stream__writing.html create mode 100644 doc/ref/core.internal/html/structgrpc__chttp2__transport.html create mode 100644 doc/ref/core.internal/html/structgrpc__chttp2__transport__global.html create mode 100644 doc/ref/core.internal/html/structgrpc__chttp2__transport__parsing.html create mode 100644 doc/ref/core.internal/html/structgrpc__chttp2__transport__writing.html create mode 100644 doc/ref/core.internal/html/structgrpc__chttp2__window__update__parser.html create mode 100644 doc/ref/core.internal/html/structgrpc__client__config.html create mode 100644 doc/ref/core.internal/html/structgrpc__client__security__context.html create mode 100644 doc/ref/core.internal/html/structgrpc__completion__queue.html create mode 100644 doc/ref/core.internal/html/structgrpc__composite__credentials.html create mode 100644 doc/ref/core.internal/html/structgrpc__composite__credentials__metadata__context.html create mode 100644 doc/ref/core.internal/html/structgrpc__connect__in__args.html create mode 100644 doc/ref/core.internal/html/structgrpc__connect__out__args.html create mode 100644 doc/ref/core.internal/html/structgrpc__connectivity__state__tracker.html create mode 100644 doc/ref/core.internal/html/structgrpc__connectivity__state__watcher.html create mode 100644 doc/ref/core.internal/html/structgrpc__connector.html create mode 100644 doc/ref/core.internal/html/structgrpc__connector__vtable.html create mode 100644 doc/ref/core.internal/html/structgrpc__cq__completion.html create mode 100644 doc/ref/core.internal/html/structgrpc__credentials.html create mode 100644 doc/ref/core.internal/html/structgrpc__credentials__array.html create mode 100644 doc/ref/core.internal/html/structgrpc__credentials__md.html create mode 100644 doc/ref/core.internal/html/structgrpc__credentials__md__store.html create mode 100644 doc/ref/core.internal/html/structgrpc__credentials__metadata__request.html create mode 100644 doc/ref/core.internal/html/structgrpc__credentials__vtable.html create mode 100644 doc/ref/core.internal/html/structgrpc__endpoint.html create mode 100644 doc/ref/core.internal/html/structgrpc__endpoint__pair.html create mode 100644 doc/ref/core.internal/html/structgrpc__endpoint__vtable.html create mode 100644 doc/ref/core.internal/html/structgrpc__event.html create mode 100644 doc/ref/core.internal/html/structgrpc__fake__channel__security__connector.html create mode 100644 doc/ref/core.internal/html/structgrpc__fake__oauth2__credentials.html create mode 100644 doc/ref/core.internal/html/structgrpc__fd.html create mode 100644 doc/ref/core.internal/html/structgrpc__fd__watcher.html create mode 100644 doc/ref/core.internal/html/structgrpc__httpcli__context.html create mode 100644 doc/ref/core.internal/html/structgrpc__httpcli__header.html create mode 100644 doc/ref/core.internal/html/structgrpc__httpcli__parser.html create mode 100644 doc/ref/core.internal/html/structgrpc__httpcli__request.html create mode 100644 doc/ref/core.internal/html/structgrpc__httpcli__response.html create mode 100644 doc/ref/core.internal/html/structgrpc__httpcli__ssl__channel__security__connector.html create mode 100644 doc/ref/core.internal/html/structgrpc__iam__credentials.html create mode 100644 doc/ref/core.internal/html/structgrpc__iomgr__closure.html create mode 100644 doc/ref/core.internal/html/structgrpc__iomgr__object.html create mode 100644 doc/ref/core.internal/html/structgrpc__ioreq.html create mode 100644 doc/ref/core.internal/html/structgrpc__json.html create mode 100644 doc/ref/core.internal/html/structgrpc__json__reader.html create mode 100644 doc/ref/core.internal/html/structgrpc__json__reader__vtable.html create mode 100644 doc/ref/core.internal/html/structgrpc__json__writer.html create mode 100644 doc/ref/core.internal/html/structgrpc__json__writer__vtable.html create mode 100644 doc/ref/core.internal/html/structgrpc__jwt__claims.html create mode 100644 doc/ref/core.internal/html/structgrpc__jwt__verifier.html create mode 100644 doc/ref/core.internal/html/structgrpc__jwt__verifier__email__domain__key__url__mapping.html create mode 100644 doc/ref/core.internal/html/structgrpc__kick__fd__info.html create mode 100644 doc/ref/core.internal/html/structgrpc__lb__policy.html create mode 100644 doc/ref/core.internal/html/structgrpc__lb__policy__vtable.html create mode 100644 doc/ref/core.internal/html/structgrpc__linked__mdelem.html create mode 100644 doc/ref/core.internal/html/structgrpc__mdctx.html create mode 100644 doc/ref/core.internal/html/structgrpc__mdelem.html create mode 100644 doc/ref/core.internal/html/structgrpc__mdelem__list.html create mode 100644 doc/ref/core.internal/html/structgrpc__mdstr.html create mode 100644 doc/ref/core.internal/html/structgrpc__metadata.html create mode 100644 doc/ref/core.internal/html/structgrpc__metadata__array.html create mode 100644 doc/ref/core.internal/html/structgrpc__metadata__batch.html create mode 100644 doc/ref/core.internal/html/structgrpc__oauth2__token__fetcher__credentials.html create mode 100644 doc/ref/core.internal/html/structgrpc__op.html create mode 100644 doc/ref/core.internal/html/structgrpc__pollset.html create mode 100644 doc/ref/core.internal/html/structgrpc__pollset__kick__state.html create mode 100644 doc/ref/core.internal/html/structgrpc__pollset__set.html create mode 100644 doc/ref/core.internal/html/structgrpc__pollset__vtable.html create mode 100644 doc/ref/core.internal/html/structgrpc__precise__clock.html create mode 100644 doc/ref/core.internal/html/structgrpc__refresh__token__credentials.html create mode 100644 doc/ref/core.internal/html/structgrpc__resolved__address.html create mode 100644 doc/ref/core.internal/html/structgrpc__resolved__addresses.html create mode 100644 doc/ref/core.internal/html/structgrpc__resolver.html create mode 100644 doc/ref/core.internal/html/structgrpc__resolver__factory.html create mode 100644 doc/ref/core.internal/html/structgrpc__resolver__factory__vtable.html create mode 100644 doc/ref/core.internal/html/structgrpc__resolver__vtable.html create mode 100644 doc/ref/core.internal/html/structgrpc__secure__transport__setup.html create mode 100644 doc/ref/core.internal/html/structgrpc__security__connector.html create mode 100644 doc/ref/core.internal/html/structgrpc__security__connector__vtable.html create mode 100644 doc/ref/core.internal/html/structgrpc__server.html create mode 100644 doc/ref/core.internal/html/structgrpc__server__credentials.html create mode 100644 doc/ref/core.internal/html/structgrpc__server__credentials__vtable.html create mode 100644 doc/ref/core.internal/html/structgrpc__server__secure__state.html create mode 100644 doc/ref/core.internal/html/structgrpc__server__security__context.html create mode 100644 doc/ref/core.internal/html/structgrpc__service__account__credentials.html create mode 100644 doc/ref/core.internal/html/structgrpc__service__account__jwt__access__credentials.html create mode 100644 doc/ref/core.internal/html/structgrpc__ssl__channel__security__connector.html create mode 100644 doc/ref/core.internal/html/structgrpc__ssl__config.html create mode 100644 doc/ref/core.internal/html/structgrpc__ssl__credentials.html create mode 100644 doc/ref/core.internal/html/structgrpc__ssl__pem__key__cert__pair.html create mode 100644 doc/ref/core.internal/html/structgrpc__ssl__server__config.html create mode 100644 doc/ref/core.internal/html/structgrpc__ssl__server__credentials.html create mode 100644 doc/ref/core.internal/html/structgrpc__ssl__server__security__connector.html create mode 100644 doc/ref/core.internal/html/structgrpc__stream__op.html create mode 100644 doc/ref/core.internal/html/structgrpc__stream__op__buffer.html create mode 100644 doc/ref/core.internal/html/structgrpc__subchannel.html create mode 100644 doc/ref/core.internal/html/structgrpc__subchannel__args.html create mode 100644 doc/ref/core.internal/html/structgrpc__subchannel__call.html create mode 100644 doc/ref/core.internal/html/structgrpc__subchannel__factory.html create mode 100644 doc/ref/core.internal/html/structgrpc__subchannel__factory__vtable.html create mode 100644 doc/ref/core.internal/html/structgrpc__time__averaged__stats.html create mode 100644 doc/ref/core.internal/html/structgrpc__transport.html create mode 100644 doc/ref/core.internal/html/structgrpc__transport__op.html create mode 100644 doc/ref/core.internal/html/structgrpc__transport__stream__op.html create mode 100644 doc/ref/core.internal/html/structgrpc__transport__vtable.html create mode 100644 doc/ref/core.internal/html/structgrpc__uri.html create mode 100644 doc/ref/core.internal/html/structgrpc__wakeup__fd__info.html create mode 100644 doc/ref/core.internal/html/structgrpc__wakeup__fd__vtable.html create mode 100644 doc/ref/core.internal/html/structgrpc__winsocket.html create mode 100644 doc/ref/core.internal/html/structgrpc__winsocket__callback__info.html create mode 100644 doc/ref/core.internal/html/structhuff__out.html create mode 100644 doc/ref/core.internal/html/structinternal__metadata.html create mode 100644 doc/ref/core.internal/html/structinternal__request.html create mode 100644 doc/ref/core.internal/html/structinternal__string.html create mode 100644 doc/ref/core.internal/html/structjose__header.html create mode 100644 doc/ref/core.internal/html/structjson__reader__userdata.html create mode 100644 doc/ref/core.internal/html/structjson__writer__userdata.html create mode 100644 doc/ref/core.internal/html/structlb__policy__connectivity__watcher.html create mode 100644 doc/ref/core.internal/html/structlistener.html create mode 100644 doc/ref/core.internal/html/structlockfree__node__contents.html create mode 100644 doc/ref/core.internal/html/structmalloc__refcount.html create mode 100644 doc/ref/core.internal/html/structmerge__args__factory.html create mode 100644 doc/ref/core.internal/html/structnew__slice__refcount.html create mode 100644 doc/ref/core.internal/html/structnew__with__len__slice__refcount.html create mode 100644 doc/ref/core.internal/html/structpending__pick.html create mode 100644 doc/ref/core.internal/html/structpick__first__lb__policy.html create mode 100644 doc/ref/core.internal/html/structreceived__status.html create mode 100644 doc/ref/core.internal/html/structregistered__call.html create mode 100644 doc/ref/core.internal/html/structregistered__method.html create mode 100644 doc/ref/core.internal/html/structregistered__resolver.html create mode 100644 doc/ref/core.internal/html/structreqinfo__master.html create mode 100644 doc/ref/core.internal/html/structrequest__killer.html create mode 100644 doc/ref/core.internal/html/structrequest__matcher.html create mode 100644 doc/ref/core.internal/html/structrequested__call.html create mode 100644 doc/ref/core.internal/html/structsecure__endpoint.html create mode 100644 doc/ref/core.internal/html/structshard__type.html create mode 100644 doc/ref/core.internal/html/structshutdown__cleanup__args.html create mode 100644 doc/ref/core.internal/html/structshutdown__tag.html create mode 100644 doc/ref/core.internal/html/structsockaddr__resolver.html create mode 100644 doc/ref/core.internal/html/structstate__watcher.html create mode 100644 doc/ref/core.internal/html/structsubchannel__factory.html create mode 100644 doc/ref/core.internal/html/structtcp__endpoint__list.html create mode 100644 doc/ref/core.internal/html/structtracer.html create mode 100644 doc/ref/core.internal/html/structtsi__fake__frame.html create mode 100644 doc/ref/core.internal/html/structtsi__fake__frame__protector.html create mode 100644 doc/ref/core.internal/html/structtsi__fake__handshaker.html create mode 100644 doc/ref/core.internal/html/structtsi__frame__protector.html create mode 100644 doc/ref/core.internal/html/structtsi__frame__protector__vtable.html create mode 100644 doc/ref/core.internal/html/structtsi__handshaker.html create mode 100644 doc/ref/core.internal/html/structtsi__handshaker__vtable.html create mode 100644 doc/ref/core.internal/html/structtsi__peer.html create mode 100644 doc/ref/core.internal/html/structtsi__peer__property.html create mode 100644 doc/ref/core.internal/html/structtsi__ssl__client__handshaker__factory.html create mode 100644 doc/ref/core.internal/html/structtsi__ssl__frame__protector.html create mode 100644 doc/ref/core.internal/html/structtsi__ssl__handshaker.html create mode 100644 doc/ref/core.internal/html/structtsi__ssl__handshaker__factory.html create mode 100644 doc/ref/core.internal/html/structtsi__ssl__server__handshaker__factory.html create mode 100644 doc/ref/core.internal/html/structverifier__cb__ctx.html create mode 100644 doc/ref/core.internal/html/structwaiting__call.html create mode 100644 doc/ref/core.internal/html/structwaiting__for__connect.html create mode 100644 doc/ref/core.internal/html/subchannel_8c.html create mode 100644 doc/ref/core.internal/html/subchannel_8h.html create mode 100644 doc/ref/core.internal/html/subchannel_8h_source.html create mode 100644 doc/ref/core.internal/html/subchannel__factory_8c.html create mode 100644 doc/ref/core.internal/html/subchannel__factory_8h.html create mode 100644 doc/ref/core.internal/html/subchannel__factory_8h_source.html create mode 100644 doc/ref/core.internal/html/subprocess_8h.html create mode 100644 doc/ref/core.internal/html/subprocess_8h_source.html create mode 100644 doc/ref/core.internal/html/subprocess__posix_8c.html create mode 100644 doc/ref/core.internal/html/surface__trace_8c.html create mode 100644 doc/ref/core.internal/html/surface__trace_8h.html create mode 100644 doc/ref/core.internal/html/surface__trace_8h_source.html create mode 100644 doc/ref/core.internal/html/sync_8c.html create mode 100644 doc/ref/core.internal/html/sync_8h.html create mode 100644 doc/ref/core.internal/html/sync_8h_source.html create mode 100644 doc/ref/core.internal/html/sync__generic_8h.html create mode 100644 doc/ref/core.internal/html/sync__generic_8h_source.html create mode 100644 doc/ref/core.internal/html/sync__posix_8c.html create mode 100644 doc/ref/core.internal/html/sync__posix_8h.html create mode 100644 doc/ref/core.internal/html/sync__posix_8h_source.html create mode 100644 doc/ref/core.internal/html/sync__win32_8c.html create mode 100644 doc/ref/core.internal/html/sync__win32_8h.html create mode 100644 doc/ref/core.internal/html/sync__win32_8h_source.html create mode 100644 doc/ref/core.internal/html/sync_off.png create mode 100644 doc/ref/core.internal/html/sync_on.png create mode 100644 doc/ref/core.internal/html/tab_a.png create mode 100644 doc/ref/core.internal/html/tab_b.png create mode 100644 doc/ref/core.internal/html/tab_h.png create mode 100644 doc/ref/core.internal/html/tab_s.png create mode 100644 doc/ref/core.internal/html/tabs.css create mode 100644 doc/ref/core.internal/html/tcp__client_8h.html create mode 100644 doc/ref/core.internal/html/tcp__client_8h_source.html create mode 100644 doc/ref/core.internal/html/tcp__client__posix_8c.html create mode 100644 doc/ref/core.internal/html/tcp__client__windows_8c.html create mode 100644 doc/ref/core.internal/html/tcp__posix_8c.html create mode 100644 doc/ref/core.internal/html/tcp__posix_8h.html create mode 100644 doc/ref/core.internal/html/tcp__posix_8h_source.html create mode 100644 doc/ref/core.internal/html/tcp__server_8h.html create mode 100644 doc/ref/core.internal/html/tcp__server_8h_source.html create mode 100644 doc/ref/core.internal/html/tcp__server__posix_8c.html create mode 100644 doc/ref/core.internal/html/tcp__server__windows_8c.html create mode 100644 doc/ref/core.internal/html/tcp__windows_8c.html create mode 100644 doc/ref/core.internal/html/tcp__windows_8h.html create mode 100644 doc/ref/core.internal/html/tcp__windows_8h_source.html create mode 100644 doc/ref/core.internal/html/thd_8c.html create mode 100644 doc/ref/core.internal/html/thd_8h.html create mode 100644 doc/ref/core.internal/html/thd_8h_source.html create mode 100644 doc/ref/core.internal/html/thd__internal_8h.html create mode 100644 doc/ref/core.internal/html/thd__internal_8h_source.html create mode 100644 doc/ref/core.internal/html/thd__posix_8c.html create mode 100644 doc/ref/core.internal/html/thd__win32_8c.html create mode 100644 doc/ref/core.internal/html/time_8c.html create mode 100644 doc/ref/core.internal/html/time_8h.html create mode 100644 doc/ref/core.internal/html/time_8h_source.html create mode 100644 doc/ref/core.internal/html/time__averaged__stats_8c.html create mode 100644 doc/ref/core.internal/html/time__averaged__stats_8h.html create mode 100644 doc/ref/core.internal/html/time__averaged__stats_8h_source.html create mode 100644 doc/ref/core.internal/html/time__posix_8c.html create mode 100644 doc/ref/core.internal/html/time__win32_8c.html create mode 100644 doc/ref/core.internal/html/timeout__encoding_8c.html create mode 100644 doc/ref/core.internal/html/timeout__encoding_8h.html create mode 100644 doc/ref/core.internal/html/timeout__encoding_8h_source.html create mode 100644 doc/ref/core.internal/html/timers_8h.html create mode 100644 doc/ref/core.internal/html/timers_8h_source.html create mode 100644 doc/ref/core.internal/html/timers__preciseclock_8h.html create mode 100644 doc/ref/core.internal/html/timers__preciseclock_8h_source.html create mode 100644 doc/ref/core.internal/html/tls_8h.html create mode 100644 doc/ref/core.internal/html/tls_8h_source.html create mode 100644 doc/ref/core.internal/html/tls__gcc_8h.html create mode 100644 doc/ref/core.internal/html/tls__gcc_8h_source.html create mode 100644 doc/ref/core.internal/html/tls__msvc_8h.html create mode 100644 doc/ref/core.internal/html/tls__msvc_8h_source.html create mode 100644 doc/ref/core.internal/html/tls__pthread_8c.html create mode 100644 doc/ref/core.internal/html/tls__pthread_8h.html create mode 100644 doc/ref/core.internal/html/tls__pthread_8h_source.html create mode 100644 doc/ref/core.internal/html/trace_8c.html create mode 100644 doc/ref/core.internal/html/trace_8h.html create mode 100644 doc/ref/core.internal/html/trace_8h_source.html create mode 100644 doc/ref/core.internal/html/transport_8c.html create mode 100644 doc/ref/core.internal/html/transport_8h.html create mode 100644 doc/ref/core.internal/html/transport_8h_source.html create mode 100644 doc/ref/core.internal/html/transport__impl_8h.html create mode 100644 doc/ref/core.internal/html/transport__impl_8h_source.html create mode 100644 doc/ref/core.internal/html/transport__op__string_8c.html create mode 100644 doc/ref/core.internal/html/transport__security_8c.html create mode 100644 doc/ref/core.internal/html/transport__security_8h.html create mode 100644 doc/ref/core.internal/html/transport__security_8h_source.html create mode 100644 doc/ref/core.internal/html/transport__security__interface_8h.html create mode 100644 doc/ref/core.internal/html/transport__security__interface_8h_source.html create mode 100644 doc/ref/core.internal/html/uniongrpc__ioreq__data.html create mode 100644 doc/ref/core.internal/html/unionlockfree__node.html create mode 100644 doc/ref/core.internal/html/uri__parser_8c.html create mode 100644 doc/ref/core.internal/html/uri__parser_8h.html create mode 100644 doc/ref/core.internal/html/uri__parser_8h_source.html create mode 100644 doc/ref/core.internal/html/useful_8h.html create mode 100644 doc/ref/core.internal/html/useful_8h_source.html create mode 100644 doc/ref/core.internal/html/varint_8c.html create mode 100644 doc/ref/core.internal/html/varint_8h.html create mode 100644 doc/ref/core.internal/html/varint_8h_source.html create mode 100644 doc/ref/core.internal/html/version_8c.html create mode 100644 doc/ref/core.internal/html/wakeup__fd__eventfd_8c.html create mode 100644 doc/ref/core.internal/html/wakeup__fd__nospecial_8c.html create mode 100644 doc/ref/core.internal/html/wakeup__fd__pipe_8c.html create mode 100644 doc/ref/core.internal/html/wakeup__fd__pipe_8h.html create mode 100644 doc/ref/core.internal/html/wakeup__fd__pipe_8h_source.html create mode 100644 doc/ref/core.internal/html/wakeup__fd__posix_8c.html create mode 100644 doc/ref/core.internal/html/wakeup__fd__posix_8h.html create mode 100644 doc/ref/core.internal/html/wakeup__fd__posix_8h_source.html create mode 100644 doc/ref/core.internal/html/writing_8c.html create mode 100644 doc/ref/core/html/alloc_8h.html create mode 100644 doc/ref/core/html/alloc_8h_source.html create mode 100644 doc/ref/core/html/annotated.html create mode 100644 doc/ref/core/html/atm_8h.html create mode 100644 doc/ref/core/html/atm_8h_source.html create mode 100644 doc/ref/core/html/atm__gcc__atomic_8h.html create mode 100644 doc/ref/core/html/atm__gcc__atomic_8h_source.html create mode 100644 doc/ref/core/html/atm__gcc__sync_8h.html create mode 100644 doc/ref/core/html/atm__gcc__sync_8h_source.html create mode 100644 doc/ref/core/html/atm__win32_8h.html create mode 100644 doc/ref/core/html/atm__win32_8h_source.html create mode 100644 doc/ref/core/html/bc_s.png create mode 100644 doc/ref/core/html/bdwn.png create mode 100644 doc/ref/core/html/byte__buffer_8h.html create mode 100644 doc/ref/core/html/byte__buffer_8h_source.html create mode 100644 doc/ref/core/html/byte__buffer__reader_8h.html create mode 100644 doc/ref/core/html/byte__buffer__reader_8h_source.html create mode 100644 doc/ref/core/html/cancellable__platform_8h.html create mode 100644 doc/ref/core/html/cancellable__platform_8h_source.html create mode 100644 doc/ref/core/html/census_8h.html create mode 100644 doc/ref/core/html/census_8h_source.html create mode 100644 doc/ref/core/html/classes.html create mode 100644 doc/ref/core/html/closed.png create mode 100644 doc/ref/core/html/cmdline_8h.html create mode 100644 doc/ref/core/html/cmdline_8h_source.html create mode 100644 doc/ref/core/html/compression_8h.html create mode 100644 doc/ref/core/html/compression_8h_source.html create mode 100644 doc/ref/core/html/cpu_8h.html create mode 100644 doc/ref/core/html/cpu_8h_source.html create mode 100644 doc/ref/core/html/dir_9d7a14d6d9adcbe4c35dbdb88d867e2e.html create mode 100644 doc/ref/core/html/dir_cad3142e04109052413f2d2a2d1813b0.html create mode 100644 doc/ref/core/html/dir_d44c64559bbebec7f509842c48db8b23.html create mode 100644 doc/ref/core/html/doxygen.css create mode 100644 doc/ref/core/html/doxygen.png create mode 100644 doc/ref/core/html/dynsections.js create mode 100644 doc/ref/core/html/files.html create mode 100644 doc/ref/core/html/ftv2blank.png create mode 100644 doc/ref/core/html/ftv2cl.png create mode 100644 doc/ref/core/html/ftv2doc.png create mode 100644 doc/ref/core/html/ftv2folderclosed.png create mode 100644 doc/ref/core/html/ftv2folderopen.png create mode 100644 doc/ref/core/html/ftv2lastnode.png create mode 100644 doc/ref/core/html/ftv2link.png create mode 100644 doc/ref/core/html/ftv2mlastnode.png create mode 100644 doc/ref/core/html/ftv2mnode.png create mode 100644 doc/ref/core/html/ftv2mo.png create mode 100644 doc/ref/core/html/ftv2node.png create mode 100644 doc/ref/core/html/ftv2ns.png create mode 100644 doc/ref/core/html/ftv2plastnode.png create mode 100644 doc/ref/core/html/ftv2pnode.png create mode 100644 doc/ref/core/html/ftv2splitbar.png create mode 100644 doc/ref/core/html/ftv2vertline.png create mode 100644 doc/ref/core/html/functions.html create mode 100644 doc/ref/core/html/functions_vars.html create mode 100644 doc/ref/core/html/globals.html create mode 100644 doc/ref/core/html/globals_defs.html create mode 100644 doc/ref/core/html/globals_enum.html create mode 100644 doc/ref/core/html/globals_eval.html create mode 100644 doc/ref/core/html/globals_func.html create mode 100644 doc/ref/core/html/globals_func_g.html create mode 100644 doc/ref/core/html/globals_g.html create mode 100644 doc/ref/core/html/globals_type.html create mode 100644 doc/ref/core/html/globals_vars.html create mode 100644 doc/ref/core/html/graph_legend.html create mode 100644 doc/ref/core/html/graph_legend.md5 create mode 100644 doc/ref/core/html/graph_legend.png create mode 100644 doc/ref/core/html/grpc_8h.html create mode 100644 doc/ref/core/html/grpc_8h_source.html create mode 100644 doc/ref/core/html/grpc__security_8h.html create mode 100644 doc/ref/core/html/grpc__security_8h_source.html create mode 100644 doc/ref/core/html/histogram_8h.html create mode 100644 doc/ref/core/html/histogram_8h_source.html create mode 100644 doc/ref/core/html/host__port_8h.html create mode 100644 doc/ref/core/html/host__port_8h_source.html create mode 100644 doc/ref/core/html/index.html create mode 100644 doc/ref/core/html/jquery.js create mode 100644 doc/ref/core/html/log_8h.html create mode 100644 doc/ref/core/html/log_8h_source.html create mode 100644 doc/ref/core/html/log__win32_8h.html create mode 100644 doc/ref/core/html/log__win32_8h_source.html create mode 100644 doc/ref/core/html/nav_f.png create mode 100644 doc/ref/core/html/nav_g.png create mode 100644 doc/ref/core/html/nav_h.png create mode 100644 doc/ref/core/html/open.png create mode 100644 doc/ref/core/html/port__platform_8h.html create mode 100644 doc/ref/core/html/port__platform_8h_source.html create mode 100644 doc/ref/core/html/search/all_0.html create mode 100644 doc/ref/core/html/search/all_0.js create mode 100644 doc/ref/core/html/search/all_1.html create mode 100644 doc/ref/core/html/search/all_1.js create mode 100644 doc/ref/core/html/search/all_10.html create mode 100644 doc/ref/core/html/search/all_10.js create mode 100644 doc/ref/core/html/search/all_11.html create mode 100644 doc/ref/core/html/search/all_11.js create mode 100644 doc/ref/core/html/search/all_12.html create mode 100644 doc/ref/core/html/search/all_12.js create mode 100644 doc/ref/core/html/search/all_13.html create mode 100644 doc/ref/core/html/search/all_13.js create mode 100644 doc/ref/core/html/search/all_2.html create mode 100644 doc/ref/core/html/search/all_2.js create mode 100644 doc/ref/core/html/search/all_3.html create mode 100644 doc/ref/core/html/search/all_3.js create mode 100644 doc/ref/core/html/search/all_4.html create mode 100644 doc/ref/core/html/search/all_4.js create mode 100644 doc/ref/core/html/search/all_5.html create mode 100644 doc/ref/core/html/search/all_5.js create mode 100644 doc/ref/core/html/search/all_6.html create mode 100644 doc/ref/core/html/search/all_6.js create mode 100644 doc/ref/core/html/search/all_7.html create mode 100644 doc/ref/core/html/search/all_7.js create mode 100644 doc/ref/core/html/search/all_8.html create mode 100644 doc/ref/core/html/search/all_8.js create mode 100644 doc/ref/core/html/search/all_9.html create mode 100644 doc/ref/core/html/search/all_9.js create mode 100644 doc/ref/core/html/search/all_a.html create mode 100644 doc/ref/core/html/search/all_a.js create mode 100644 doc/ref/core/html/search/all_b.html create mode 100644 doc/ref/core/html/search/all_b.js create mode 100644 doc/ref/core/html/search/all_c.html create mode 100644 doc/ref/core/html/search/all_c.js create mode 100644 doc/ref/core/html/search/all_d.html create mode 100644 doc/ref/core/html/search/all_d.js create mode 100644 doc/ref/core/html/search/all_e.html create mode 100644 doc/ref/core/html/search/all_e.js create mode 100644 doc/ref/core/html/search/all_f.html create mode 100644 doc/ref/core/html/search/all_f.js create mode 100644 doc/ref/core/html/search/classes_0.html create mode 100644 doc/ref/core/html/search/classes_0.js create mode 100644 doc/ref/core/html/search/classes_1.html create mode 100644 doc/ref/core/html/search/classes_1.js create mode 100644 doc/ref/core/html/search/close.png create mode 100644 doc/ref/core/html/search/defines_0.html create mode 100644 doc/ref/core/html/search/defines_0.js create mode 100644 doc/ref/core/html/search/enums_0.html create mode 100644 doc/ref/core/html/search/enums_0.js create mode 100644 doc/ref/core/html/search/enums_1.html create mode 100644 doc/ref/core/html/search/enums_1.js create mode 100644 doc/ref/core/html/search/enumvalues_0.html create mode 100644 doc/ref/core/html/search/enumvalues_0.js create mode 100644 doc/ref/core/html/search/enumvalues_1.html create mode 100644 doc/ref/core/html/search/enumvalues_1.js create mode 100644 doc/ref/core/html/search/files_0.html create mode 100644 doc/ref/core/html/search/files_0.js create mode 100644 doc/ref/core/html/search/files_1.html create mode 100644 doc/ref/core/html/search/files_1.js create mode 100644 doc/ref/core/html/search/files_2.html create mode 100644 doc/ref/core/html/search/files_2.js create mode 100644 doc/ref/core/html/search/files_3.html create mode 100644 doc/ref/core/html/search/files_3.js create mode 100644 doc/ref/core/html/search/files_4.html create mode 100644 doc/ref/core/html/search/files_4.js create mode 100644 doc/ref/core/html/search/files_5.html create mode 100644 doc/ref/core/html/search/files_5.js create mode 100644 doc/ref/core/html/search/files_6.html create mode 100644 doc/ref/core/html/search/files_6.js create mode 100644 doc/ref/core/html/search/files_7.html create mode 100644 doc/ref/core/html/search/files_7.js create mode 100644 doc/ref/core/html/search/files_8.html create mode 100644 doc/ref/core/html/search/files_8.js create mode 100644 doc/ref/core/html/search/files_9.html create mode 100644 doc/ref/core/html/search/files_9.js create mode 100644 doc/ref/core/html/search/functions_0.html create mode 100644 doc/ref/core/html/search/functions_0.js create mode 100644 doc/ref/core/html/search/functions_1.html create mode 100644 doc/ref/core/html/search/functions_1.js create mode 100644 doc/ref/core/html/search/mag_sel.png create mode 100644 doc/ref/core/html/search/nomatches.html create mode 100644 doc/ref/core/html/search/pages_0.html create mode 100644 doc/ref/core/html/search/pages_0.js create mode 100644 doc/ref/core/html/search/search.css create mode 100644 doc/ref/core/html/search/search.js create mode 100644 doc/ref/core/html/search/search_l.png create mode 100644 doc/ref/core/html/search/search_m.png create mode 100644 doc/ref/core/html/search/search_r.png create mode 100644 doc/ref/core/html/search/typedefs_0.html create mode 100644 doc/ref/core/html/search/typedefs_0.js create mode 100644 doc/ref/core/html/search/typedefs_1.html create mode 100644 doc/ref/core/html/search/typedefs_1.js create mode 100644 doc/ref/core/html/search/variables_0.html create mode 100644 doc/ref/core/html/search/variables_0.js create mode 100644 doc/ref/core/html/search/variables_1.html create mode 100644 doc/ref/core/html/search/variables_1.js create mode 100644 doc/ref/core/html/search/variables_10.html create mode 100644 doc/ref/core/html/search/variables_10.js create mode 100644 doc/ref/core/html/search/variables_11.html create mode 100644 doc/ref/core/html/search/variables_11.js create mode 100644 doc/ref/core/html/search/variables_12.html create mode 100644 doc/ref/core/html/search/variables_12.js create mode 100644 doc/ref/core/html/search/variables_13.html create mode 100644 doc/ref/core/html/search/variables_13.js create mode 100644 doc/ref/core/html/search/variables_2.html create mode 100644 doc/ref/core/html/search/variables_2.js create mode 100644 doc/ref/core/html/search/variables_3.html create mode 100644 doc/ref/core/html/search/variables_3.js create mode 100644 doc/ref/core/html/search/variables_4.html create mode 100644 doc/ref/core/html/search/variables_4.js create mode 100644 doc/ref/core/html/search/variables_5.html create mode 100644 doc/ref/core/html/search/variables_5.js create mode 100644 doc/ref/core/html/search/variables_6.html create mode 100644 doc/ref/core/html/search/variables_6.js create mode 100644 doc/ref/core/html/search/variables_7.html create mode 100644 doc/ref/core/html/search/variables_7.js create mode 100644 doc/ref/core/html/search/variables_8.html create mode 100644 doc/ref/core/html/search/variables_8.js create mode 100644 doc/ref/core/html/search/variables_9.html create mode 100644 doc/ref/core/html/search/variables_9.js create mode 100644 doc/ref/core/html/search/variables_a.html create mode 100644 doc/ref/core/html/search/variables_a.js create mode 100644 doc/ref/core/html/search/variables_b.html create mode 100644 doc/ref/core/html/search/variables_b.js create mode 100644 doc/ref/core/html/search/variables_c.html create mode 100644 doc/ref/core/html/search/variables_c.js create mode 100644 doc/ref/core/html/search/variables_d.html create mode 100644 doc/ref/core/html/search/variables_d.js create mode 100644 doc/ref/core/html/search/variables_e.html create mode 100644 doc/ref/core/html/search/variables_e.js create mode 100644 doc/ref/core/html/search/variables_f.html create mode 100644 doc/ref/core/html/search/variables_f.js create mode 100644 doc/ref/core/html/slice_8h.html create mode 100644 doc/ref/core/html/slice_8h_source.html create mode 100644 doc/ref/core/html/slice__buffer_8h.html create mode 100644 doc/ref/core/html/slice__buffer_8h_source.html create mode 100644 doc/ref/core/html/status_8h.html create mode 100644 doc/ref/core/html/status_8h_source.html create mode 100644 doc/ref/core/html/string__util_8h.html create mode 100644 doc/ref/core/html/string__util_8h_source.html create mode 100644 doc/ref/core/html/structcensus__stat.html create mode 100644 doc/ref/core/html/structgpr__cancellable.html create mode 100644 doc/ref/core/html/structgpr__cancellable__list__.html create mode 100644 doc/ref/core/html/structgpr__event.html create mode 100644 doc/ref/core/html/structgpr__gcc__thread__local.html create mode 100644 doc/ref/core/html/structgpr__log__func__args.html create mode 100644 doc/ref/core/html/structgpr__msvc__thread__local.html create mode 100644 doc/ref/core/html/structgpr__mu.html create mode 100644 doc/ref/core/html/structgpr__pthread__thread__local.html create mode 100644 doc/ref/core/html/structgpr__refcount.html create mode 100644 doc/ref/core/html/structgpr__slice.html create mode 100644 doc/ref/core/html/structgpr__slice__buffer.html create mode 100644 doc/ref/core/html/structgpr__slice__refcount.html create mode 100644 doc/ref/core/html/structgpr__stats__counter.html create mode 100644 doc/ref/core/html/structgpr__thd__options.html create mode 100644 doc/ref/core/html/structgpr__timespec.html create mode 100644 doc/ref/core/html/structgrpc__arg.html create mode 100644 doc/ref/core/html/structgrpc__auth__property.html create mode 100644 doc/ref/core/html/structgrpc__auth__property__iterator.html create mode 100644 doc/ref/core/html/structgrpc__byte__buffer.html create mode 100644 doc/ref/core/html/structgrpc__byte__buffer__reader.html create mode 100644 doc/ref/core/html/structgrpc__call__details.html create mode 100644 doc/ref/core/html/structgrpc__channel__args.html create mode 100644 doc/ref/core/html/structgrpc__event.html create mode 100644 doc/ref/core/html/structgrpc__metadata.html create mode 100644 doc/ref/core/html/structgrpc__metadata__array.html create mode 100644 doc/ref/core/html/structgrpc__op.html create mode 100644 doc/ref/core/html/structgrpc__ssl__pem__key__cert__pair.html create mode 100644 doc/ref/core/html/subprocess_8h.html create mode 100644 doc/ref/core/html/subprocess_8h_source.html create mode 100644 doc/ref/core/html/sync_8h.html create mode 100644 doc/ref/core/html/sync_8h_source.html create mode 100644 doc/ref/core/html/sync__generic_8h.html create mode 100644 doc/ref/core/html/sync__generic_8h_source.html create mode 100644 doc/ref/core/html/sync__posix_8h.html create mode 100644 doc/ref/core/html/sync__posix_8h_source.html create mode 100644 doc/ref/core/html/sync__win32_8h.html create mode 100644 doc/ref/core/html/sync__win32_8h_source.html create mode 100644 doc/ref/core/html/sync_off.png create mode 100644 doc/ref/core/html/sync_on.png create mode 100644 doc/ref/core/html/tab_a.png create mode 100644 doc/ref/core/html/tab_b.png create mode 100644 doc/ref/core/html/tab_h.png create mode 100644 doc/ref/core/html/tab_s.png create mode 100644 doc/ref/core/html/tabs.css create mode 100644 doc/ref/core/html/thd_8h.html create mode 100644 doc/ref/core/html/thd_8h_source.html create mode 100644 doc/ref/core/html/time_8h.html create mode 100644 doc/ref/core/html/time_8h_source.html create mode 100644 doc/ref/core/html/tls_8h.html create mode 100644 doc/ref/core/html/tls_8h_source.html create mode 100644 doc/ref/core/html/tls__gcc_8h.html create mode 100644 doc/ref/core/html/tls__gcc_8h_source.html create mode 100644 doc/ref/core/html/tls__msvc_8h.html create mode 100644 doc/ref/core/html/tls__msvc_8h_source.html create mode 100644 doc/ref/core/html/tls__pthread_8h.html create mode 100644 doc/ref/core/html/tls__pthread_8h_source.html create mode 100644 doc/ref/core/html/useful_8h.html create mode 100644 doc/ref/core/html/useful_8h_source.html (limited to 'tools/doxygen') diff --git a/Makefile b/Makefile index d9ede7a6e6..c4c73db76c 100644 --- a/Makefile +++ b/Makefile @@ -18739,7 +18739,6 @@ test/cpp/qps/timer.cc: $(OPENSSL_DEP) test/cpp/util/benchmark_config.cc: $(OPENSSL_DEP) test/cpp/util/cli_call.cc: $(OPENSSL_DEP) test/cpp/util/create_test_channel.cc: $(OPENSSL_DEP) -test/cpp/util/fake_credentials.cc: $(OPENSSL_DEP) test/cpp/util/subprocess.cc: $(OPENSSL_DEP) test/cpp/util/test_config.cc: $(OPENSSL_DEP) endif diff --git a/doc/ref/c++.internal/html/annotated.html b/doc/ref/c++.internal/html/annotated.html new file mode 100644 index 0000000000..b37f89966e --- /dev/null +++ b/doc/ref/c++.internal/html/annotated.html @@ -0,0 +1,211 @@ + + + + + + +GRPC C++: Data Structures + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + +
+ + + + +
+ +
+ +
+
+
Data Structures
+
+
+
Here are the data structures with brief descriptions:
+
[detail level 1234]
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
oNgrpc
|oNCallOpGenericRecvMessageHelper
|oNprotobuf
|oNtesting
|oCGenericServerContext
|oCAsyncGenericService
|oCClientAsyncResponseReaderInterface
|oCClientAsyncResponseReader
|oCServerAsyncResponseWriter
|oCAuthContext
|oCAuthPropertyIterator
|oCByteBuffer
|oCSerializationTraits< ByteBuffer, void >
|oCChannelArguments
|oCChannelInterface
|oCClientReader
|oCClientWriter
|oCClientReaderWriter
|oCClientAsyncReader
|oCClientAsyncWriter
|oCClientAsyncReaderWriter
|oCClientContext
|oCServerReader
|oCServerWriter
|oCServerReaderWriter
|oCRpcMethodHandler
|oCClientStreamingHandler
|oCServerStreamingHandler
|oCBidiStreamingHandler
|oCCompletionQueueTag
|oCCompletionQueue
|oCServerCompletionQueue
|oCCredentials
|oCSslCredentialsOptions
|oCDynamicThreadPool
|oCFixedSizeThreadPool
|oCGenericStub
|oCWriteOptionsPer-message write options
|oCCallNoOpDefault argument for CallOpSet
|oCCallOpSendInitialMetadata
|oCCallOpSendMessage
|oCCallOpRecvMessage
|oCCallOpGenericRecvMessage
|oCCallOpClientSendClose
|oCCallOpServerSendStatus
|oCCallOpRecvInitialMetadata
|oCCallOpClientRecvStatus
|oCCallOpSetInterfaceAn abstract collection of call ops, used to generate the grpc_call_op structure to pass down to the lower layers, and as it is-a CompletionQueueTag, also massages the final completion into the correct form for consumption in the C++ API
|oCCallOpSetPrimary implementaiton of CallOpSetInterface
|oCSneakyCallOpSetA CallOpSet that does not post completions to the completion queue
|oCCallHook
|oCCall
|oCGrpcLibrary
|oCInternalStub
|oCSerializationTraits< T, typename std::enable_if< std::is_base_of< grpc::protobuf::Message, T >::value >::type >
|oCRpcMethod
|oCMethodHandler
|oCRpcServiceMethod
|oCRpcService
|oCSerializationTraitsDefines how to serialize and deserialize some type
|oCSynchronousService
|oCServerAsyncStreamingInterface
|oCAsynchronousService
|oClock_guard
|oCmutex
|oCunique_lock
|oCcondition_variable
|oCthread
|oCServer
|oCServerBuilder
|oCServerAsyncReader
|oCServerAsyncWriter
|oCServerAsyncReaderWriter
|oCServerContext
|oCServerCredentials
|oCSslServerCredentialsOptions
|oCSlice
|oCStatus
|oCClientStreamingInterface
|oCReaderInterface
|oCWriterInterface
|oCClientReaderInterface
|oCClientWriterInterface
|oCClientReaderWriterInterface
|oCClientAsyncStreamingInterface
|oCAsyncReaderInterface
|oCAsyncWriterInterface
|oCClientAsyncReaderInterface
|oCClientAsyncWriterInterface
|oCClientAsyncReaderWriterInterface
|oCThreadPoolInterface
|oCTimePoint
|oCTimePoint< gpr_timespec >
|oCTimePoint< std::chrono::system_clock::time_point >
|oCSecureCredentials
|oCSecureAuthContext
|oCSecureServerCredentials
|\CChannel
oCGrpcBufferReader
\CGrpcBufferWriter
+
+
+ + + + diff --git a/doc/ref/c++.internal/html/async__generic__service_8cc.html b/doc/ref/c++.internal/html/async__generic__service_8cc.html new file mode 100644 index 0000000000..073af1a1ac --- /dev/null +++ b/doc/ref/c++.internal/html/async__generic__service_8cc.html @@ -0,0 +1,110 @@ + + + + + + +GRPC C++: src/cpp/server/async_generic_service.cc File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
async_generic_service.cc File Reference
+
+
+ + + + +

+Namespaces

 grpc
 
+
+ + + + diff --git a/doc/ref/c++.internal/html/async__generic__service_8h.html b/doc/ref/c++.internal/html/async__generic__service_8h.html new file mode 100644 index 0000000000..00fad6432f --- /dev/null +++ b/doc/ref/c++.internal/html/async__generic__service_8h.html @@ -0,0 +1,128 @@ + + + + + + +GRPC C++: include/grpc++/async_generic_service.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
async_generic_service.h File Reference
+
+
+
#include <grpc++/byte_buffer.h>
+#include <grpc++/stream.h>
+
+

Go to the source code of this file.

+ + + + + + +

+Data Structures

class  grpc::GenericServerContext
 
class  grpc::AsyncGenericService
 
+ + + +

+Namespaces

 grpc
 
+ + + +

+Typedefs

typedef
+ServerAsyncReaderWriter
+< ByteBuffer, ByteBuffer > 
grpc::GenericServerAsyncReaderWriter
 
+
+ + + + diff --git a/doc/ref/c++.internal/html/async__generic__service_8h_source.html b/doc/ref/c++.internal/html/async__generic__service_8h_source.html new file mode 100644 index 0000000000..c1d4007b3e --- /dev/null +++ b/doc/ref/c++.internal/html/async__generic__service_8h_source.html @@ -0,0 +1,194 @@ + + + + + + +GRPC C++: include/grpc++/async_generic_service.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
async_generic_service.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPCXX_ASYNC_GENERIC_SERVICE_H
+
35 #define GRPCXX_ASYNC_GENERIC_SERVICE_H
+
36 
+
37 #include <grpc++/byte_buffer.h>
+
38 #include <grpc++/stream.h>
+
39 
+
40 struct grpc_server;
+
41 
+
42 namespace grpc {
+
43 
+ + +
46 
+ +
48  public:
+
49  const grpc::string& method() const { return method_; }
+
50  const grpc::string& host() const { return host_; }
+
51 
+
52  private:
+
53  friend class Server;
+
54 
+
55  grpc::string method_;
+
56  grpc::string host_;
+
57 };
+
58 
+ +
60  public:
+
61  // TODO(yangg) Once we can add multiple completion queues to the server
+
62  // in c core, add a CompletionQueue* argument to the ctor here.
+
63  // TODO(yangg) support methods list.
+
64  AsyncGenericService(const grpc::string& methods) : server_(nullptr) {}
+
65 
+ +
67  GenericServerAsyncReaderWriter* reader_writer,
+
68  CompletionQueue* call_cq,
+
69  ServerCompletionQueue* notification_cq, void* tag);
+
70 
+
71  private:
+
72  friend class Server;
+
73  Server* server_;
+
74 };
+
75 
+
76 } // namespace grpc
+
77 
+
78 #endif // GRPCXX_ASYNC_GENERIC_SERVICE_H
+
std::string string
Definition: config.h:112
+ +
Definition: server_context.h:60
+
AsyncGenericService(const grpc::string &methods)
Definition: async_generic_service.h:64
+
#define GRPC_FINAL
Definition: config.h:71
+
Definition: async_generic_service.h:59
+
void RequestCall(GenericServerContext *ctx, GenericServerAsyncReaderWriter *reader_writer, CompletionQueue *call_cq, ServerCompletionQueue *notification_cq, void *tag)
Definition: async_generic_service.cc:40
+ +
Definition: server.h:61
+
ServerAsyncReaderWriter< ByteBuffer, ByteBuffer > GenericServerAsyncReaderWriter
Definition: async_generic_service.h:45
+
Definition: server_context.h:86
+
Definition: async_generic_service.h:47
+
Definition: completion_queue.h:87
+
Definition: completion_queue.h:162
+
const grpc::string & host() const
Definition: async_generic_service.h:50
+
const grpc::string & method() const
Definition: async_generic_service.h:49
+
+ + + + diff --git a/doc/ref/c++.internal/html/async__unary__call_8h.html b/doc/ref/c++.internal/html/async__unary__call_8h.html new file mode 100644 index 0000000000..a803b835c2 --- /dev/null +++ b/doc/ref/c++.internal/html/async__unary__call_8h.html @@ -0,0 +1,128 @@ + + + + + + +GRPC C++: include/grpc++/async_unary_call.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
async_unary_call.h File Reference
+
+
+
#include <grpc++/channel_interface.h>
+#include <grpc++/client_context.h>
+#include <grpc++/completion_queue.h>
+#include <grpc++/server_context.h>
+#include <grpc++/impl/call.h>
+#include <grpc++/impl/service_type.h>
+#include <grpc++/status.h>
+#include <grpc/support/log.h>
+
+

Go to the source code of this file.

+ + + + + + + + +

+Data Structures

class  grpc::ClientAsyncResponseReaderInterface< R >
 
class  grpc::ClientAsyncResponseReader< R >
 
class  grpc::ServerAsyncResponseWriter< W >
 
+ + + +

+Namespaces

 grpc
 
+
+ + + + diff --git a/doc/ref/c++.internal/html/async__unary__call_8h_source.html b/doc/ref/c++.internal/html/async__unary__call_8h_source.html new file mode 100644 index 0000000000..d09b3083f7 --- /dev/null +++ b/doc/ref/c++.internal/html/async__unary__call_8h_source.html @@ -0,0 +1,293 @@ + + + + + + +GRPC C++: include/grpc++/async_unary_call.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
async_unary_call.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPCXX_ASYNC_UNARY_CALL_H
+
35 #define GRPCXX_ASYNC_UNARY_CALL_H
+
36 
+ +
38 #include <grpc++/client_context.h>
+ +
40 #include <grpc++/server_context.h>
+
41 #include <grpc++/impl/call.h>
+ +
43 #include <grpc++/status.h>
+
44 #include <grpc/support/log.h>
+
45 
+
46 namespace grpc {
+
47 
+
48 template <class R>
+ +
50  public:
+ +
52  virtual void ReadInitialMetadata(void* tag) = 0;
+
53  virtual void Finish(R* msg, Status* status, void* tag) = 0;
+
54 };
+
55 
+
56 template <class R>
+ + +
59  public:
+
60  template <class W>
+ +
62  const RpcMethod& method, ClientContext* context,
+
63  const W& request)
+
64  : context_(context), call_(channel->CreateCall(method, context, cq)) {
+
65  init_buf_.SendInitialMetadata(context->send_initial_metadata_);
+
66  // TODO(ctiller): don't assert
+
67  GPR_ASSERT(init_buf_.SendMessage(request).ok());
+
68  init_buf_.ClientSendClose();
+
69  call_.PerformOps(&init_buf_);
+
70  }
+
71 
+
72  void ReadInitialMetadata(void* tag) {
+
73  GPR_ASSERT(!context_->initial_metadata_received_);
+
74 
+
75  meta_buf_.set_output_tag(tag);
+
76  meta_buf_.RecvInitialMetadata(context_);
+
77  call_.PerformOps(&meta_buf_);
+
78  }
+
79 
+
80  void Finish(R* msg, Status* status, void* tag) {
+
81  finish_buf_.set_output_tag(tag);
+
82  if (!context_->initial_metadata_received_) {
+
83  finish_buf_.RecvInitialMetadata(context_);
+
84  }
+
85  finish_buf_.RecvMessage(msg);
+
86  finish_buf_.ClientRecvStatus(context_, status);
+
87  call_.PerformOps(&finish_buf_);
+
88  }
+
89 
+
90  private:
+
91  ClientContext* context_;
+
92  Call call_;
+ +
94  CallOpClientSendClose> init_buf_;
+ + +
97  CallOpClientRecvStatus> finish_buf_;
+
98 };
+
99 
+
100 template <class W>
+ + +
103  public:
+ +
105  : call_(nullptr, nullptr, nullptr), ctx_(ctx) {}
+
106 
+ +
108  GPR_ASSERT(!ctx_->sent_initial_metadata_);
+
109 
+
110  meta_buf_.set_output_tag(tag);
+
111  meta_buf_.SendInitialMetadata(ctx_->initial_metadata_);
+
112  ctx_->sent_initial_metadata_ = true;
+
113  call_.PerformOps(&meta_buf_);
+
114  }
+
115 
+
116  void Finish(const W& msg, const Status& status, void* tag) {
+
117  finish_buf_.set_output_tag(tag);
+
118  if (!ctx_->sent_initial_metadata_) {
+
119  finish_buf_.SendInitialMetadata(ctx_->initial_metadata_);
+
120  ctx_->sent_initial_metadata_ = true;
+
121  }
+
122  // The response is dropped if the status is not OK.
+
123  if (status.ok()) {
+
124  finish_buf_.ServerSendStatus(
+
125  ctx_->trailing_metadata_, finish_buf_.SendMessage(msg));
+
126  } else {
+
127  finish_buf_.ServerSendStatus(ctx_->trailing_metadata_, status);
+
128  }
+
129  call_.PerformOps(&finish_buf_);
+
130  }
+
131 
+
132  void FinishWithError(const Status& status, void* tag) {
+
133  GPR_ASSERT(!status.ok());
+
134  finish_buf_.set_output_tag(tag);
+
135  if (!ctx_->sent_initial_metadata_) {
+
136  finish_buf_.SendInitialMetadata(ctx_->initial_metadata_);
+
137  ctx_->sent_initial_metadata_ = true;
+
138  }
+
139  finish_buf_.ServerSendStatus(ctx_->trailing_metadata_, status);
+
140  call_.PerformOps(&finish_buf_);
+
141  }
+
142 
+
143  private:
+
144  void BindCall(Call* call) GRPC_OVERRIDE { call_ = *call; }
+
145 
+
146  Call call_;
+
147  ServerContext* ctx_;
+
148  CallOpSet<CallOpSendInitialMetadata> meta_buf_;
+
149  CallOpSet<CallOpSendInitialMetadata, CallOpSendMessage,
+
150  CallOpServerSendStatus> finish_buf_;
+
151 };
+
152 
+
153 } // namespace grpc
+
154 
+
155 #endif // GRPCXX_ASYNC_UNARY_CALL_H
+
void FinishWithError(const Status &status, void *tag)
Definition: async_unary_call.h:132
+
virtual ~ClientAsyncResponseReaderInterface()
Definition: async_unary_call.h:51
+
virtual void Finish(R *msg, Status *status, void *tag)=0
+ +
void Finish(const W &msg, const Status &status, void *tag)
Definition: async_unary_call.h:116
+
Definition: call.h:431
+
Definition: service_type.h:57
+
void SendInitialMetadata(void *tag) GRPC_OVERRIDE
Definition: async_unary_call.h:107
+
void Finish(R *msg, Status *status, void *tag)
Definition: async_unary_call.h:80
+
virtual void ReadInitialMetadata(void *tag)=0
+ +
#define GRPC_FINAL
Definition: config.h:71
+
Definition: async_unary_call.h:57
+
Definition: client_context.h:74
+
void ReadInitialMetadata(void *tag)
Definition: async_unary_call.h:72
+
Definition: call.h:190
+
Definition: call.h:341
+
Definition: async_unary_call.h:49
+
Definition: call.h:565
+
Definition: channel_interface.h:52
+ +
Primary implementaiton of CallOpSetInterface.
Definition: call.h:506
+
Definition: server_context.h:86
+
Definition: completion_queue.h:87
+
ClientAsyncResponseReader(ChannelInterface *channel, CompletionQueue *cq, const RpcMethod &method, ClientContext *context, const W &request)
Definition: async_unary_call.h:61
+ +
ServerAsyncResponseWriter(ServerContext *ctx)
Definition: async_unary_call.h:104
+
Definition: rpc_method.h:39
+ +
void PerformOps(CallOpSetInterface *ops)
Definition: call.cc:85
+
bool ok() const
Definition: status.h:55
+ +
Definition: status.h:42
+
Definition: async_unary_call.h:101
+
Definition: call.h:159
+
A CallOpSet that does not post completions to the completion queue.
Definition: call.h:548
+
#define GRPC_OVERRIDE
Definition: config.h:77
+ +
+ + + + diff --git a/doc/ref/c++.internal/html/auth__context_8h.html b/doc/ref/c++.internal/html/auth__context_8h.html new file mode 100644 index 0000000000..385a5d0a38 --- /dev/null +++ b/doc/ref/c++.internal/html/auth__context_8h.html @@ -0,0 +1,119 @@ + + + + + + +GRPC C++: include/grpc++/auth_context.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
auth_context.h File Reference
+
+
+
#include <vector>
+#include <grpc++/auth_property_iterator.h>
+#include <grpc++/config.h>
+
+

Go to the source code of this file.

+ + + + +

+Data Structures

class  grpc::AuthContext
 
+ + + +

+Namespaces

 grpc
 
+
+ + + + diff --git a/doc/ref/c++.internal/html/auth__context_8h_source.html b/doc/ref/c++.internal/html/auth__context_8h_source.html new file mode 100644 index 0000000000..2e8ff70ca7 --- /dev/null +++ b/doc/ref/c++.internal/html/auth__context_8h_source.html @@ -0,0 +1,176 @@ + + + + + + +GRPC C++: include/grpc++/auth_context.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
auth_context.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPCXX_AUTH_CONTEXT_H
+
35 #define GRPCXX_AUTH_CONTEXT_H
+
36 
+
37 #include <vector>
+
38 
+ +
40 #include <grpc++/config.h>
+
41 
+
42 namespace grpc {
+
43 
+
44 class AuthContext {
+
45  public:
+
46  virtual ~AuthContext() {}
+
47 
+
48  // A peer identity, in general is one or more properties (in which case they
+
49  // have the same name).
+
50  virtual std::vector<grpc::string> GetPeerIdentity() const = 0;
+
51  virtual grpc::string GetPeerIdentityPropertyName() const = 0;
+
52 
+
53  // Returns all the property values with the given name.
+
54  virtual std::vector<grpc::string> FindPropertyValues(
+
55  const grpc::string& name) const = 0;
+
56 
+
57  // Iteration over all the properties.
+
58  virtual AuthPropertyIterator begin() const = 0;
+
59  virtual AuthPropertyIterator end() const = 0;
+
60 };
+
61 
+
62 } // namespace grpc
+
63 
+
64 #endif // GRPCXX_AUTH_CONTEXT_H
+
65 
+
std::string string
Definition: config.h:112
+ +
Definition: auth_context.h:44
+
virtual std::vector< grpc::string > GetPeerIdentity() const =0
+ +
virtual AuthPropertyIterator end() const =0
+
virtual std::vector< grpc::string > FindPropertyValues(const grpc::string &name) const =0
+
virtual AuthPropertyIterator begin() const =0
+
virtual ~AuthContext()
Definition: auth_context.h:46
+
Definition: auth_property_iterator.h:51
+
virtual grpc::string GetPeerIdentityPropertyName() const =0
+
+ + + + diff --git a/doc/ref/c++.internal/html/auth__property__iterator_8cc.html b/doc/ref/c++.internal/html/auth__property__iterator_8cc.html new file mode 100644 index 0000000000..e2057a7779 --- /dev/null +++ b/doc/ref/c++.internal/html/auth__property__iterator_8cc.html @@ -0,0 +1,110 @@ + + + + + + +GRPC C++: src/cpp/common/auth_property_iterator.cc File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
auth_property_iterator.cc File Reference
+
+
+
#include <grpc++/auth_property_iterator.h>
+#include <grpc/grpc_security.h>
+
+ + + +

+Namespaces

 grpc
 
+
+ + + + diff --git a/doc/ref/c++.internal/html/auth__property__iterator_8h.html b/doc/ref/c++.internal/html/auth__property__iterator_8h.html new file mode 100644 index 0000000000..b26963d477 --- /dev/null +++ b/doc/ref/c++.internal/html/auth__property__iterator_8h.html @@ -0,0 +1,126 @@ + + + + + + +GRPC C++: include/grpc++/auth_property_iterator.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
auth_property_iterator.h File Reference
+
+
+
#include <iterator>
+#include <vector>
+#include <grpc++/config.h>
+
+

Go to the source code of this file.

+ + + + +

+Data Structures

class  grpc::AuthPropertyIterator
 
+ + + +

+Namespaces

 grpc
 
+ + + +

+Typedefs

typedef std::pair
+< grpc::string, grpc::string
grpc::AuthProperty
 
+
+ + + + diff --git a/doc/ref/c++.internal/html/auth__property__iterator_8h_source.html b/doc/ref/c++.internal/html/auth__property__iterator_8h_source.html new file mode 100644 index 0000000000..af41323c8a --- /dev/null +++ b/doc/ref/c++.internal/html/auth__property__iterator_8h_source.html @@ -0,0 +1,187 @@ + + + + + + +GRPC C++: include/grpc++/auth_property_iterator.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
auth_property_iterator.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPCXX_AUTH_PROPERTY_ITERATOR_H
+
35 #define GRPCXX_AUTH_PROPERTY_ITERATOR_H
+
36 
+
37 #include <iterator>
+
38 #include <vector>
+
39 
+
40 #include <grpc++/config.h>
+
41 
+
42 struct grpc_auth_context;
+
43 struct grpc_auth_property;
+
44 struct grpc_auth_property_iterator;
+
45 
+
46 namespace grpc {
+ +
48 
+
49 typedef std::pair<grpc::string, grpc::string> AuthProperty;
+
50 
+ +
52  : public std::iterator<std::input_iterator_tag, const AuthProperty> {
+
53  public:
+ + + +
57  bool operator==(const AuthPropertyIterator& rhs) const;
+
58  bool operator!=(const AuthPropertyIterator& rhs) const;
+
59  const AuthProperty operator*();
+
60 
+
61  protected:
+ +
63  AuthPropertyIterator(const grpc_auth_property* property,
+
64  const grpc_auth_property_iterator* iter);
+
65  private:
+
66  friend class SecureAuthContext;
+
67  const grpc_auth_property* property_;
+
68  // The following items form a grpc_auth_property_iterator.
+
69  const grpc_auth_context* ctx_;
+
70  size_t index_;
+
71  const char* name_;
+
72 };
+
73 
+
74 } // namespace grpc
+
75 
+
76  #endif // GRPCXX_AUTH_PROPERTY_ITERATOR_H
+
77 
+
std::pair< grpc::string, grpc::string > AuthProperty
Definition: auth_property_iterator.h:47
+
Definition: secure_auth_context.h:43
+ +
AuthPropertyIterator()
Definition: auth_property_iterator.cc:40
+
AuthPropertyIterator & operator++()
Definition: auth_property_iterator.cc:52
+
bool operator!=(const AuthPropertyIterator &rhs) const
Definition: auth_property_iterator.cc:76
+
const AuthProperty operator*()
Definition: auth_property_iterator.cc:81
+
bool operator==(const AuthPropertyIterator &rhs) const
Definition: auth_property_iterator.cc:67
+
Definition: auth_property_iterator.h:51
+
~AuthPropertyIterator()
Definition: auth_property_iterator.cc:50
+
+ + + + diff --git a/doc/ref/c++.internal/html/bc_s.png b/doc/ref/c++.internal/html/bc_s.png new file mode 100644 index 0000000000..224b29aa98 Binary files /dev/null and b/doc/ref/c++.internal/html/bc_s.png differ diff --git a/doc/ref/c++.internal/html/bdwn.png b/doc/ref/c++.internal/html/bdwn.png new file mode 100644 index 0000000000..940a0b9504 Binary files /dev/null and b/doc/ref/c++.internal/html/bdwn.png differ diff --git a/doc/ref/c++.internal/html/byte__buffer_8cc.html b/doc/ref/c++.internal/html/byte__buffer_8cc.html new file mode 100644 index 0000000000..7ea3acf017 --- /dev/null +++ b/doc/ref/c++.internal/html/byte__buffer_8cc.html @@ -0,0 +1,110 @@ + + + + + + +GRPC C++: src/cpp/util/byte_buffer.cc File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
byte_buffer.cc File Reference
+
+
+
#include <grpc/byte_buffer_reader.h>
+#include <grpc++/byte_buffer.h>
+
+ + + +

+Namespaces

 grpc
 
+
+ + + + diff --git a/doc/ref/c++.internal/html/byte__buffer_8h.html b/doc/ref/c++.internal/html/byte__buffer_8h.html new file mode 100644 index 0000000000..c9d9eeb9df --- /dev/null +++ b/doc/ref/c++.internal/html/byte__buffer_8h.html @@ -0,0 +1,126 @@ + + + + + + +GRPC C++: include/grpc++/byte_buffer.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
byte_buffer.h File Reference
+
+
+
#include <grpc/grpc.h>
+#include <grpc/byte_buffer.h>
+#include <grpc/support/log.h>
+#include <grpc++/config.h>
+#include <grpc++/slice.h>
+#include <grpc++/status.h>
+#include <grpc++/impl/serialization_traits.h>
+#include <vector>
+
+

Go to the source code of this file.

+ + + + + + +

+Data Structures

class  grpc::ByteBuffer
 
class  grpc::SerializationTraits< ByteBuffer, void >
 
+ + + +

+Namespaces

 grpc
 
+
+ + + + diff --git a/doc/ref/c++.internal/html/byte__buffer_8h_source.html b/doc/ref/c++.internal/html/byte__buffer_8h_source.html new file mode 100644 index 0000000000..eddb393f6b --- /dev/null +++ b/doc/ref/c++.internal/html/byte__buffer_8h_source.html @@ -0,0 +1,221 @@ + + + + + + +GRPC C++: include/grpc++/byte_buffer.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
byte_buffer.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPCXX_BYTE_BUFFER_H
+
35 #define GRPCXX_BYTE_BUFFER_H
+
36 
+
37 #include <grpc/grpc.h>
+
38 #include <grpc/byte_buffer.h>
+
39 #include <grpc/support/log.h>
+
40 #include <grpc++/config.h>
+
41 #include <grpc++/slice.h>
+
42 #include <grpc++/status.h>
+ +
44 
+
45 #include <vector>
+
46 
+
47 namespace grpc {
+
48 
+ +
50  public:
+
51  ByteBuffer() : buffer_(nullptr) {}
+
52 
+
53  ByteBuffer(const Slice* slices, size_t nslices);
+
54 
+ +
56  if (buffer_) {
+
57  grpc_byte_buffer_destroy(buffer_);
+
58  }
+
59  }
+
60 
+
61  void Dump(std::vector<Slice>* slices) const;
+
62 
+
63  void Clear();
+
64  size_t Length() const;
+
65 
+
66  private:
+
67  friend class SerializationTraits<ByteBuffer, void>;
+
68 
+
69  ByteBuffer(const ByteBuffer&);
+
70  ByteBuffer& operator=(const ByteBuffer&);
+
71 
+
72  // takes ownership
+
73  void set_buffer(grpc_byte_buffer* buf) {
+
74  if (buffer_) {
+
75  gpr_log(GPR_ERROR, "Overriding existing buffer");
+
76  Clear();
+
77  }
+
78  buffer_ = buf;
+
79  }
+
80 
+
81  grpc_byte_buffer* buffer() const { return buffer_; }
+
82 
+
83  grpc_byte_buffer* buffer_;
+
84 };
+
85 
+
86 template <>
+ +
88  public:
+
89  static Status Deserialize(grpc_byte_buffer* byte_buffer, ByteBuffer* dest,
+
90  int max_message_size) {
+
91  dest->set_buffer(byte_buffer);
+
92  return Status::OK;
+
93  }
+
94  static Status Serialize(const ByteBuffer& source, grpc_byte_buffer** buffer,
+
95  bool* own_buffer) {
+
96  *buffer = source.buffer();
+
97  *own_buffer = false;
+
98  return Status::OK;
+
99  }
+
100 };
+
101 
+
102 } // namespace grpc
+
103 
+
104 #endif // GRPCXX_BYTE_BUFFER_H
+
void Clear()
Definition: byte_buffer.cc:48
+
static const Status & OK
Definition: status.h:49
+
Definition: slice.h:42
+ + +
#define GRPC_FINAL
Definition: config.h:71
+
static Status Deserialize(grpc_byte_buffer *byte_buffer, ByteBuffer *dest, int max_message_size)
Definition: byte_buffer.h:89
+
Defines how to serialize and deserialize some type.
Definition: serialization_traits.h:64
+
size_t Length() const
Definition: byte_buffer.cc:68
+
void Dump(std::vector< Slice > *slices) const
Definition: byte_buffer.cc:55
+ + +
Definition: status.h:42
+
~ByteBuffer()
Definition: byte_buffer.h:55
+
static Status Serialize(const ByteBuffer &source, grpc_byte_buffer **buffer, bool *own_buffer)
Definition: byte_buffer.h:94
+
ByteBuffer()
Definition: byte_buffer.h:51
+
Definition: byte_buffer.h:49
+
+ + + + diff --git a/doc/ref/c++.internal/html/call_8cc.html b/doc/ref/c++.internal/html/call_8cc.html new file mode 100644 index 0000000000..39b84140ec --- /dev/null +++ b/doc/ref/c++.internal/html/call_8cc.html @@ -0,0 +1,122 @@ + + + + + + +GRPC C++: src/cpp/common/call.cc File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
call.cc File Reference
+
+
+
#include <grpc++/impl/call.h>
+#include <grpc/support/alloc.h>
+#include <grpc++/byte_buffer.h>
+#include <grpc++/client_context.h>
+#include <grpc++/channel_interface.h>
+#include "src/core/profiling/timers.h"
+
+ + + +

+Namespaces

 grpc
 
+ + + + + +

+Functions

void grpc::FillMetadataMap (grpc_metadata_array *arr, std::multimap< grpc::string, grpc::string > *metadata)
 
grpc_metadata * grpc::FillMetadataArray (const std::multimap< grpc::string, grpc::string > &metadata)
 
+
+ + + + diff --git a/doc/ref/c++.internal/html/call_8h.html b/doc/ref/c++.internal/html/call_8h.html new file mode 100644 index 0000000000..ceab4c5182 --- /dev/null +++ b/doc/ref/c++.internal/html/call_8h.html @@ -0,0 +1,173 @@ + + + + + + +GRPC C++: include/grpc++/impl/call.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
call.h File Reference
+
+
+
#include <grpc/support/alloc.h>
+#include <grpc++/client_context.h>
+#include <grpc++/completion_queue.h>
+#include <grpc++/config.h>
+#include <grpc++/status.h>
+#include <grpc++/impl/serialization_traits.h>
+#include <functional>
+#include <memory>
+#include <map>
+#include <string.h>
+
+

Go to the source code of this file.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Data Structures

class  grpc::WriteOptions
 Per-message write options. More...
 
class  grpc::CallNoOp< I >
 Default argument for CallOpSet. More...
 
class  grpc::CallOpSendInitialMetadata
 
class  grpc::CallOpSendMessage
 
class  grpc::CallOpRecvMessage< R >
 
class  grpc::CallOpGenericRecvMessageHelper::DeserializeFunc
 
class  grpc::CallOpGenericRecvMessageHelper::DeserializeFuncType< R >
 
class  grpc::CallOpGenericRecvMessage
 
class  grpc::CallOpClientSendClose
 
class  grpc::CallOpServerSendStatus
 
class  grpc::CallOpRecvInitialMetadata
 
class  grpc::CallOpClientRecvStatus
 
class  grpc::CallOpSetInterface
 An abstract collection of call ops, used to generate the grpc_call_op structure to pass down to the lower layers, and as it is-a CompletionQueueTag, also massages the final completion into the correct form for consumption in the C++ API. More...
 
class  grpc::CallOpSet< Op1, Op2, Op3, Op4, Op5, Op6 >
 Primary implementaiton of CallOpSetInterface. More...
 
class  grpc::SneakyCallOpSet< Op1, Op2, Op3, Op4, Op5, Op6 >
 A CallOpSet that does not post completions to the completion queue. More...
 
class  grpc::CallHook
 
class  grpc::Call
 
+ + + + + +

+Namespaces

 grpc
 
 grpc::CallOpGenericRecvMessageHelper
 
+ + + + + +

+Functions

void grpc::FillMetadataMap (grpc_metadata_array *arr, std::multimap< grpc::string, grpc::string > *metadata)
 
grpc_metadata * grpc::FillMetadataArray (const std::multimap< grpc::string, grpc::string > &metadata)
 
+
+ + + + diff --git a/doc/ref/c++.internal/html/call_8h_source.html b/doc/ref/c++.internal/html/call_8h_source.html new file mode 100644 index 0000000000..3ecb37b038 --- /dev/null +++ b/doc/ref/c++.internal/html/call_8h_source.html @@ -0,0 +1,745 @@ + + + + + + +GRPC C++: include/grpc++/impl/call.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
call.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPCXX_IMPL_CALL_H
+
35 #define GRPCXX_IMPL_CALL_H
+
36 
+
37 #include <grpc/support/alloc.h>
+
38 #include <grpc++/client_context.h>
+ +
40 #include <grpc++/config.h>
+
41 #include <grpc++/status.h>
+ +
43 
+
44 #include <functional>
+
45 #include <memory>
+
46 #include <map>
+
47 
+
48 #include <string.h>
+
49 
+
50 struct grpc_call;
+
51 struct grpc_op;
+
52 
+
53 namespace grpc {
+
54 
+
55 class ByteBuffer;
+
56 class Call;
+
57 
+
58 void FillMetadataMap(grpc_metadata_array* arr,
+
59  std::multimap<grpc::string, grpc::string>* metadata);
+
60 grpc_metadata* FillMetadataArray(
+
61  const std::multimap<grpc::string, grpc::string>& metadata);
+
62 
+
64 class WriteOptions {
+
65  public:
+
66  WriteOptions() : flags_(0) {}
+
67  WriteOptions(const WriteOptions& other) : flags_(other.flags_) {}
+
68 
+
70  inline void Clear() {
+
71  flags_ = 0;
+
72  }
+
73 
+
75  inline gpr_uint32 flags() const {
+
76  return flags_;
+
77  }
+
78 
+ +
83  SetBit(GRPC_WRITE_NO_COMPRESS);
+
84  return *this;
+
85  }
+
86 
+ +
91  ClearBit(GRPC_WRITE_NO_COMPRESS);
+
92  return *this;
+
93  }
+
94 
+
99  inline bool get_no_compression() const {
+
100  return GetBit(GRPC_WRITE_NO_COMPRESS);
+
101  }
+
102 
+ +
108  SetBit(GRPC_WRITE_BUFFER_HINT);
+
109  return *this;
+
110  }
+
111 
+ +
117  ClearBit(GRPC_WRITE_BUFFER_HINT);
+
118  return *this;
+
119  }
+
120 
+
125  inline bool get_buffer_hint() const {
+
126  return GetBit(GRPC_WRITE_BUFFER_HINT);
+
127  }
+
128 
+ +
130  flags_ = rhs.flags_;
+
131  return *this;
+
132  }
+
133 
+
134  private:
+
135  void SetBit(const gpr_int32 mask) {
+
136  flags_ |= mask;
+
137  }
+
138 
+
139  void ClearBit(const gpr_int32 mask) {
+
140  flags_ &= ~mask;
+
141  }
+
142 
+
143  bool GetBit(const gpr_int32 mask) const {
+
144  return flags_ & mask;
+
145  }
+
146 
+
147  gpr_uint32 flags_;
+
148 };
+
149 
+
152 template <int I>
+
153 class CallNoOp {
+
154  protected:
+
155  void AddOp(grpc_op* ops, size_t* nops) {}
+
156  void FinishOp(bool* status, int max_message_size) {}
+
157 };
+
158 
+ +
160  public:
+ +
162 
+ +
164  const std::multimap<grpc::string, grpc::string>& metadata) {
+
165  send_ = true;
+
166  initial_metadata_count_ = metadata.size();
+ +
168  }
+
169 
+
170  protected:
+
171  void AddOp(grpc_op* ops, size_t* nops) {
+
172  if (!send_) return;
+
173  grpc_op* op = &ops[(*nops)++];
+
174  op->op = GRPC_OP_SEND_INITIAL_METADATA;
+
175  op->flags = 0;
+
176  op->data.send_initial_metadata.count = initial_metadata_count_;
+
177  op->data.send_initial_metadata.metadata = initial_metadata_;
+
178  }
+
179  void FinishOp(bool* status, int max_message_size) {
+
180  if (!send_) return;
+
181  gpr_free(initial_metadata_);
+
182  send_ = false;
+
183  }
+
184 
+
185  bool send_;
+ +
187  grpc_metadata* initial_metadata_;
+
188 };
+
189 
+ +
191  public:
+
192  CallOpSendMessage() : send_buf_(nullptr), own_buf_(false) {}
+
193 
+
196  template <class M>
+
197  Status SendMessage(const M& message,
+
198  const WriteOptions& options) GRPC_MUST_USE_RESULT;
+
199 
+
200  template <class M>
+
201  Status SendMessage(const M& message) GRPC_MUST_USE_RESULT;
+
202 
+
203  protected:
+
204  void AddOp(grpc_op* ops, size_t* nops) {
+
205  if (send_buf_ == nullptr) return;
+
206  grpc_op* op = &ops[(*nops)++];
+
207  op->op = GRPC_OP_SEND_MESSAGE;
+
208  op->flags = write_options_.flags();
+
209  op->data.send_message = send_buf_;
+
210  // Flags are per-message: clear them after use.
+
211  write_options_.Clear();
+
212  }
+
213  void FinishOp(bool* status, int max_message_size) {
+
214  if (own_buf_) grpc_byte_buffer_destroy(send_buf_);
+
215  send_buf_ = nullptr;
+
216  }
+
217 
+
218  private:
+
219  grpc_byte_buffer* send_buf_;
+
220  WriteOptions write_options_;
+
221  bool own_buf_;
+
222 };
+
223 
+
224 template <class M>
+ +
226  const WriteOptions& options) {
+
227  write_options_ = options;
+
228  return SerializationTraits<M>::Serialize(message, &send_buf_, &own_buf_);
+
229 }
+
230 
+
231 template <class M>
+ +
233  return SendMessage(message, WriteOptions());
+
234 }
+
235 
+
236 template <class R>
+ +
238  public:
+
239  CallOpRecvMessage() : got_message(false), message_(nullptr) {}
+
240 
+
241  void RecvMessage(R* message) { message_ = message; }
+
242 
+ +
244 
+
245  protected:
+
246  void AddOp(grpc_op* ops, size_t* nops) {
+
247  if (message_ == nullptr) return;
+
248  grpc_op* op = &ops[(*nops)++];
+
249  op->op = GRPC_OP_RECV_MESSAGE;
+
250  op->flags = 0;
+
251  op->data.recv_message = &recv_buf_;
+
252  }
+
253 
+
254  void FinishOp(bool* status, int max_message_size) {
+
255  if (message_ == nullptr) return;
+
256  if (recv_buf_) {
+
257  if (*status) {
+
258  got_message = true;
+
259  *status = SerializationTraits<R>::Deserialize(recv_buf_, message_,
+
260  max_message_size)
+
261  .ok();
+
262  } else {
+
263  got_message = false;
+
264  grpc_byte_buffer_destroy(recv_buf_);
+
265  }
+
266  } else {
+
267  got_message = false;
+
268  *status = false;
+
269  }
+
270  message_ = nullptr;
+
271  }
+
272 
+
273  private:
+
274  R* message_;
+
275  grpc_byte_buffer* recv_buf_;
+
276 };
+
277 
+
278 namespace CallOpGenericRecvMessageHelper {
+ +
280  public:
+
281  virtual Status Deserialize(grpc_byte_buffer* buf, int max_message_size) = 0;
+
282 };
+
283 
+
284 template <class R>
+ +
286  public:
+
287  DeserializeFuncType(R* message) : message_(message) {}
+
288  Status Deserialize(grpc_byte_buffer* buf,
+
289  int max_message_size) GRPC_OVERRIDE {
+
290  return SerializationTraits<R>::Deserialize(buf, message_, max_message_size);
+
291  }
+
292 
+
293  private:
+
294  R* message_; // Not a managed pointer because management is external to this
+
295 };
+
296 } // namespace CallOpGenericRecvMessageHelper
+
297 
+ +
299  public:
+ +
301 
+
302  template <class R>
+
303  void RecvMessage(R* message) {
+
304  deserialize_.reset(
+ +
306  }
+
307 
+ +
309 
+
310  protected:
+
311  void AddOp(grpc_op* ops, size_t* nops) {
+
312  if (!deserialize_) return;
+
313  grpc_op* op = &ops[(*nops)++];
+
314  op->op = GRPC_OP_RECV_MESSAGE;
+
315  op->flags = 0;
+
316  op->data.recv_message = &recv_buf_;
+
317  }
+
318 
+
319  void FinishOp(bool* status, int max_message_size) {
+
320  if (!deserialize_) return;
+
321  if (recv_buf_) {
+
322  if (*status) {
+
323  got_message = true;
+
324  *status = deserialize_->Deserialize(recv_buf_, max_message_size).ok();
+
325  } else {
+
326  got_message = false;
+
327  grpc_byte_buffer_destroy(recv_buf_);
+
328  }
+
329  } else {
+
330  got_message = false;
+
331  *status = false;
+
332  }
+
333  deserialize_.reset();
+
334  }
+
335 
+
336  private:
+
337  std::unique_ptr<CallOpGenericRecvMessageHelper::DeserializeFunc> deserialize_;
+
338  grpc_byte_buffer* recv_buf_;
+
339 };
+
340 
+ +
342  public:
+
343  CallOpClientSendClose() : send_(false) {}
+
344 
+
345  void ClientSendClose() { send_ = true; }
+
346 
+
347  protected:
+
348  void AddOp(grpc_op* ops, size_t* nops) {
+
349  if (!send_) return;
+
350  grpc_op* op = &ops[(*nops)++];
+
351  op->op = GRPC_OP_SEND_CLOSE_FROM_CLIENT;
+
352  op->flags = 0;
+
353  }
+
354  void FinishOp(bool* status, int max_message_size) { send_ = false; }
+
355 
+
356  private:
+
357  bool send_;
+
358 };
+
359 
+ +
361  public:
+
362  CallOpServerSendStatus() : send_status_available_(false) {}
+
363 
+ +
365  const std::multimap<grpc::string, grpc::string>& trailing_metadata,
+
366  const Status& status) {
+
367  trailing_metadata_count_ = trailing_metadata.size();
+
368  trailing_metadata_ = FillMetadataArray(trailing_metadata);
+
369  send_status_available_ = true;
+
370  send_status_code_ = static_cast<grpc_status_code>(status.error_code());
+
371  send_status_details_ = status.error_message();
+
372  }
+
373 
+
374  protected:
+
375  void AddOp(grpc_op* ops, size_t* nops) {
+
376  if (!send_status_available_) return;
+
377  grpc_op* op = &ops[(*nops)++];
+
378  op->op = GRPC_OP_SEND_STATUS_FROM_SERVER;
+
379  op->data.send_status_from_server.trailing_metadata_count =
+
380  trailing_metadata_count_;
+
381  op->data.send_status_from_server.trailing_metadata = trailing_metadata_;
+
382  op->data.send_status_from_server.status = send_status_code_;
+
383  op->data.send_status_from_server.status_details =
+
384  send_status_details_.empty() ? nullptr : send_status_details_.c_str();
+
385  op->flags = 0;
+
386  }
+
387 
+
388  void FinishOp(bool* status, int max_message_size) {
+
389  if (!send_status_available_) return;
+
390  gpr_free(trailing_metadata_);
+
391  send_status_available_ = false;
+
392  }
+
393 
+
394  private:
+
395  bool send_status_available_;
+
396  grpc_status_code send_status_code_;
+
397  grpc::string send_status_details_;
+
398  size_t trailing_metadata_count_;
+
399  grpc_metadata* trailing_metadata_;
+
400 };
+
401 
+ +
403  public:
+
404  CallOpRecvInitialMetadata() : recv_initial_metadata_(nullptr) {}
+
405 
+ +
407  context->initial_metadata_received_ = true;
+
408  recv_initial_metadata_ = &context->recv_initial_metadata_;
+
409  }
+
410 
+
411  protected:
+
412  void AddOp(grpc_op* ops, size_t* nops) {
+
413  if (!recv_initial_metadata_) return;
+
414  memset(&recv_initial_metadata_arr_, 0, sizeof(recv_initial_metadata_arr_));
+
415  grpc_op* op = &ops[(*nops)++];
+
416  op->op = GRPC_OP_RECV_INITIAL_METADATA;
+
417  op->data.recv_initial_metadata = &recv_initial_metadata_arr_;
+
418  op->flags = 0;
+
419  }
+
420  void FinishOp(bool* status, int max_message_size) {
+
421  if (recv_initial_metadata_ == nullptr) return;
+
422  FillMetadataMap(&recv_initial_metadata_arr_, recv_initial_metadata_);
+
423  recv_initial_metadata_ = nullptr;
+
424  }
+
425 
+
426  private:
+
427  std::multimap<grpc::string, grpc::string>* recv_initial_metadata_;
+
428  grpc_metadata_array recv_initial_metadata_arr_;
+
429 };
+
430 
+ +
432  public:
+
433  CallOpClientRecvStatus() : recv_status_(nullptr) {}
+
434 
+
435  void ClientRecvStatus(ClientContext* context, Status* status) {
+
436  recv_trailing_metadata_ = &context->trailing_metadata_;
+
437  recv_status_ = status;
+
438  }
+
439 
+
440  protected:
+
441  void AddOp(grpc_op* ops, size_t* nops) {
+
442  if (recv_status_ == nullptr) return;
+
443  memset(&recv_trailing_metadata_arr_, 0,
+
444  sizeof(recv_trailing_metadata_arr_));
+
445  status_details_ = nullptr;
+
446  status_details_capacity_ = 0;
+
447  grpc_op* op = &ops[(*nops)++];
+
448  op->op = GRPC_OP_RECV_STATUS_ON_CLIENT;
+
449  op->data.recv_status_on_client.trailing_metadata =
+
450  &recv_trailing_metadata_arr_;
+
451  op->data.recv_status_on_client.status = &status_code_;
+
452  op->data.recv_status_on_client.status_details = &status_details_;
+
453  op->data.recv_status_on_client.status_details_capacity =
+
454  &status_details_capacity_;
+
455  op->flags = 0;
+
456  }
+
457 
+
458  void FinishOp(bool* status, int max_message_size) {
+
459  if (recv_status_ == nullptr) return;
+
460  FillMetadataMap(&recv_trailing_metadata_arr_, recv_trailing_metadata_);
+
461  *recv_status_ = Status(
+
462  static_cast<StatusCode>(status_code_),
+
463  status_details_ ? grpc::string(status_details_) : grpc::string());
+
464  gpr_free(status_details_);
+
465  recv_status_ = nullptr;
+
466  }
+
467 
+
468  private:
+
469  std::multimap<grpc::string, grpc::string>* recv_trailing_metadata_;
+
470  Status* recv_status_;
+
471  grpc_metadata_array recv_trailing_metadata_arr_;
+
472  grpc_status_code status_code_;
+
473  char* status_details_;
+
474  size_t status_details_capacity_;
+
475 };
+
476 
+ +
483  public:
+ +
487  virtual void FillOps(grpc_op* ops, size_t* nops) = 0;
+
488 
+
489  void set_max_message_size(int max_message_size) {
+
490  max_message_size_ = max_message_size;
+
491  }
+
492 
+
493  protected:
+ +
495 };
+
496 
+
503 template <class Op1 = CallNoOp<1>, class Op2 = CallNoOp<2>,
+
504  class Op3 = CallNoOp<3>, class Op4 = CallNoOp<4>,
+
505  class Op5 = CallNoOp<5>, class Op6 = CallNoOp<6>>
+ +
507  public Op1,
+
508  public Op2,
+
509  public Op3,
+
510  public Op4,
+
511  public Op5,
+
512  public Op6 {
+
513  public:
+
514  CallOpSet() : return_tag_(this) {}
+
515  void FillOps(grpc_op* ops, size_t* nops) GRPC_OVERRIDE {
+
516  this->Op1::AddOp(ops, nops);
+
517  this->Op2::AddOp(ops, nops);
+
518  this->Op3::AddOp(ops, nops);
+
519  this->Op4::AddOp(ops, nops);
+
520  this->Op5::AddOp(ops, nops);
+
521  this->Op6::AddOp(ops, nops);
+
522  }
+
523 
+
524  bool FinalizeResult(void** tag, bool* status) GRPC_OVERRIDE {
+
525  this->Op1::FinishOp(status, max_message_size_);
+
526  this->Op2::FinishOp(status, max_message_size_);
+
527  this->Op3::FinishOp(status, max_message_size_);
+
528  this->Op4::FinishOp(status, max_message_size_);
+
529  this->Op5::FinishOp(status, max_message_size_);
+
530  this->Op6::FinishOp(status, max_message_size_);
+
531  *tag = return_tag_;
+
532  return true;
+
533  }
+
534 
+
535  void set_output_tag(void* return_tag) { return_tag_ = return_tag; }
+
536 
+
537  private:
+
538  void* return_tag_;
+
539 };
+
540 
+
545 template <class Op1 = CallNoOp<1>, class Op2 = CallNoOp<2>,
+
546  class Op3 = CallNoOp<3>, class Op4 = CallNoOp<4>,
+
547  class Op5 = CallNoOp<5>, class Op6 = CallNoOp<6>>
+ +
549  : public CallOpSet<Op1, Op2, Op3, Op4, Op5, Op6> {
+
550  public:
+
551  bool FinalizeResult(void** tag, bool* status) GRPC_OVERRIDE {
+ +
553  return Base::FinalizeResult(tag, status) && false;
+
554  }
+
555 };
+
556 
+
557 // Channel and Server implement this to allow them to hook performing ops
+
558 class CallHook {
+
559  public:
+
560  virtual ~CallHook() {}
+
561  virtual void PerformOpsOnCall(CallOpSetInterface* ops, Call* call) = 0;
+
562 };
+
563 
+
564 // Straightforward wrapping of the C call object
+ +
566  public:
+
567  /* call is owned by the caller */
+
568  Call(grpc_call* call, CallHook* call_hook_, CompletionQueue* cq);
+
569  Call(grpc_call* call, CallHook* call_hook_, CompletionQueue* cq,
+
570  int max_message_size);
+
571 
+
572  void PerformOps(CallOpSetInterface* ops);
+
573 
+
574  grpc_call* call() { return call_; }
+
575  CompletionQueue* cq() { return cq_; }
+
576 
+
577  int max_message_size() { return max_message_size_; }
+
578 
+
579  private:
+
580  CallHook* call_hook_;
+
581  CompletionQueue* cq_;
+
582  grpc_call* call_;
+
583  int max_message_size_;
+
584 };
+
585 
+
586 } // namespace grpc
+
587 
+
588 #endif // GRPCXX_IMPL_CALL_H
+
void ServerSendStatus(const std::multimap< grpc::string, grpc::string > &trailing_metadata, const Status &status)
Definition: call.h:364
+
Call(grpc_call *call, CallHook *call_hook_, CompletionQueue *cq)
Definition: call.cc:75
+
CallOpRecvInitialMetadata()
Definition: call.h:404
+
void RecvMessage(R *message)
Definition: call.h:303
+
Definition: completion_queue.h:75
+
WriteOptions & clear_buffer_hint()
Clears flag indicating that the write may be buffered and need not go out on the wire immediately...
Definition: call.h:116
+
Default argument for CallOpSet.
Definition: call.h:153
+
void AddOp(grpc_op *ops, size_t *nops)
Definition: call.h:348
+
CallOpServerSendStatus()
Definition: call.h:362
+
void SendInitialMetadata(const std::multimap< grpc::string, grpc::string > &metadata)
Definition: call.h:163
+
void FillMetadataMap(grpc_metadata_array *arr, std::multimap< grpc::string, grpc::string > *metadata)
Definition: call.cc:45
+
WriteOptions & set_buffer_hint()
Sets flag indicating that the write may be buffered and need not go out on the wire immediately...
Definition: call.h:107
+
grpc::string error_message() const
Definition: status.h:53
+ +
CallOpSendMessage()
Definition: call.h:192
+
std::string string
Definition: config.h:112
+
void AddOp(grpc_op *ops, size_t *nops)
Definition: call.h:311
+
CompletionQueue * cq()
Definition: call.h:575
+
void FinishOp(bool *status, int max_message_size)
Definition: call.h:319
+
WriteOptions & clear_no_compression()
Clears flag for the disabling of compression for the next message write.
Definition: call.h:90
+
int max_message_size_
Definition: call.h:494
+
bool FinalizeResult(void **tag, bool *status) GRPC_OVERRIDE
Definition: call.h:551
+
An abstract collection of call ops, used to generate the grpc_call_op structure to pass down to the l...
Definition: call.h:482
+
Definition: call.h:431
+
void FinishOp(bool *status, int max_message_size)
Definition: call.h:354
+
void AddOp(grpc_op *ops, size_t *nops)
Definition: call.h:246
+
bool FinalizeResult(void **tag, bool *status) GRPC_OVERRIDE
Definition: call.h:524
+
void Clear()
Clear all flags.
Definition: call.h:70
+
void FinishOp(bool *status, int max_message_size)
Definition: call.h:213
+
void AddOp(grpc_op *ops, size_t *nops)
Definition: call.h:375
+ + +
WriteOptions()
Definition: call.h:66
+
Definition: call.h:360
+
#define GRPC_FINAL
Definition: config.h:71
+
void FillOps(grpc_op *ops, size_t *nops) GRPC_OVERRIDE
Fills in grpc_op, starting from ops[*nops] and moving upwards.
Definition: call.h:515
+
grpc_call * call()
Definition: call.h:574
+
void AddOp(grpc_op *ops, size_t *nops)
Definition: call.h:171
+
WriteOptions & set_no_compression()
Sets flag for the disabling of compression for the next message write.
Definition: call.h:82
+
Definition: client_context.h:74
+
WriteOptions & operator=(const WriteOptions &rhs)
Definition: call.h:129
+
gpr_uint32 flags() const
Returns raw flags bitset.
Definition: call.h:75
+
void FinishOp(bool *status, int max_message_size)
Definition: call.h:458
+
Defines how to serialize and deserialize some type.
Definition: serialization_traits.h:64
+
Definition: call.h:190
+
bool send_
Definition: call.h:185
+
CallOpClientRecvStatus()
Definition: call.h:433
+
bool get_no_compression() const
Get value for the flag indicating whether compression for the next message write is forcefully disabl...
Definition: call.h:99
+
Status Deserialize(grpc_byte_buffer *buf, int max_message_size) GRPC_OVERRIDE
Definition: call.h:288
+
CallOpSet()
Definition: call.h:514
+
void FinishOp(bool *status, int max_message_size)
Definition: call.h:388
+
Definition: call.h:341
+
CallOpSendInitialMetadata()
Definition: call.h:161
+
void AddOp(grpc_op *ops, size_t *nops)
Definition: call.h:441
+
Definition: call.h:565
+
void AddOp(grpc_op *ops, size_t *nops)
Definition: call.h:155
+
void FinishOp(bool *status, int max_message_size)
Definition: call.h:420
+
CallOpSetInterface()
Definition: call.h:484
+ +
WriteOptions(const WriteOptions &other)
Definition: call.h:67
+
Primary implementaiton of CallOpSetInterface.
Definition: call.h:506
+
void ClientSendClose()
Definition: call.h:345
+
Definition: call.h:237
+
int max_message_size()
Definition: call.h:577
+
Per-message write options.
Definition: call.h:64
+
CallOpClientSendClose()
Definition: call.h:343
+
bool get_buffer_hint() const
Get value for the flag indicating that the write may be buffered and need not go out on the wire imme...
Definition: call.h:125
+
CallOpRecvMessage()
Definition: call.h:239
+
StatusCode error_code() const
Definition: status.h:52
+
Definition: completion_queue.h:87
+
Status SendMessage(const M &message, const WriteOptions &options) GRPC_MUST_USE_RESULT
Send message using options for the write.
Definition: call.h:225
+
virtual void PerformOpsOnCall(CallOpSetInterface *ops, Call *call)=0
+
void FinishOp(bool *status, int max_message_size)
Definition: call.h:156
+ + +
bool got_message
Definition: call.h:243
+
void ClientRecvStatus(ClientContext *context, Status *status)
Definition: call.h:435
+
void PerformOps(CallOpSetInterface *ops)
Definition: call.cc:85
+
void FinishOp(bool *status, int max_message_size)
Definition: call.h:254
+
void set_max_message_size(int max_message_size)
Definition: call.h:489
+
DeserializeFuncType(R *message)
Definition: call.h:287
+
Definition: status.h:42
+
grpc_metadata * FillMetadataArray(const std::multimap< grpc::string, grpc::string > &metadata)
Definition: call.cc:59
+
Definition: call.h:159
+
virtual Status Deserialize(grpc_byte_buffer *buf, int max_message_size)=0
+
void AddOp(grpc_op *ops, size_t *nops)
Definition: call.h:412
+
void RecvMessage(R *message)
Definition: call.h:241
+
CallOpGenericRecvMessage()
Definition: call.h:300
+
bool got_message
Definition: call.h:308
+
A CallOpSet that does not post completions to the completion queue.
Definition: call.h:548
+
virtual void FillOps(grpc_op *ops, size_t *nops)=0
Fills in grpc_op, starting from ops[*nops] and moving upwards.
+
void set_output_tag(void *return_tag)
Definition: call.h:535
+
size_t initial_metadata_count_
Definition: call.h:186
+
#define GRPC_OVERRIDE
Definition: config.h:77
+
Definition: call.h:558
+
void RecvInitialMetadata(ClientContext *context)
Definition: call.h:406
+
Definition: call.h:402
+
void AddOp(grpc_op *ops, size_t *nops)
Definition: call.h:204
+
grpc_metadata * initial_metadata_
Definition: call.h:187
+
void FinishOp(bool *status, int max_message_size)
Definition: call.h:179
+
Definition: call.h:298
+
virtual ~CallHook()
Definition: call.h:560
+ +
+ + + + diff --git a/doc/ref/c++.internal/html/channel_8cc.html b/doc/ref/c++.internal/html/channel_8cc.html new file mode 100644 index 0000000000..79f9a985a0 --- /dev/null +++ b/doc/ref/c++.internal/html/channel_8cc.html @@ -0,0 +1,122 @@ + + + + + + +GRPC C++: src/cpp/client/channel.cc File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
channel.cc File Reference
+
+
+
#include "src/cpp/client/channel.h"
+#include <memory>
+#include <grpc/grpc.h>
+#include <grpc/support/log.h>
+#include <grpc/support/slice.h>
+#include "src/core/profiling/timers.h"
+#include <grpc++/channel_arguments.h>
+#include <grpc++/client_context.h>
+#include <grpc++/completion_queue.h>
+#include <grpc++/config.h>
+#include <grpc++/credentials.h>
+#include <grpc++/impl/call.h>
+#include <grpc++/impl/rpc_method.h>
+#include <grpc++/status.h>
+
+ + + +

+Namespaces

 grpc
 
+
+ + + + diff --git a/doc/ref/c++.internal/html/channel_8h.html b/doc/ref/c++.internal/html/channel_8h.html new file mode 100644 index 0000000000..fd37b36e91 --- /dev/null +++ b/doc/ref/c++.internal/html/channel_8h.html @@ -0,0 +1,120 @@ + + + + + + +GRPC C++: src/cpp/client/channel.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
channel.h File Reference
+
+
+
#include <memory>
+#include <grpc++/channel_interface.h>
+#include <grpc++/config.h>
+#include <grpc++/impl/grpc_library.h>
+
+

Go to the source code of this file.

+ + + + +

+Data Structures

class  grpc::Channel
 
+ + + +

+Namespaces

 grpc
 
+
+ + + + diff --git a/doc/ref/c++.internal/html/channel_8h_source.html b/doc/ref/c++.internal/html/channel_8h_source.html new file mode 100644 index 0000000000..6c075dc650 --- /dev/null +++ b/doc/ref/c++.internal/html/channel_8h_source.html @@ -0,0 +1,191 @@ + + + + + + +GRPC C++: src/cpp/client/channel.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
channel.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPC_INTERNAL_CPP_CLIENT_CHANNEL_H
+
35 #define GRPC_INTERNAL_CPP_CLIENT_CHANNEL_H
+
36 
+
37 #include <memory>
+
38 
+ +
40 #include <grpc++/config.h>
+ +
42 
+
43 struct grpc_channel;
+
44 
+
45 namespace grpc {
+
46 class Call;
+
47 class CallOpSetInterface;
+
48 class ChannelArguments;
+
49 class CompletionQueue;
+
50 class Credentials;
+
51 class StreamContextInterface;
+
52 
+ +
54  public:
+
55  explicit Channel(grpc_channel* c_channel);
+
56  Channel(const grpc::string& host, grpc_channel* c_channel);
+ +
58 
+
59  virtual void* RegisterMethod(const char* method) GRPC_OVERRIDE;
+
60  virtual Call CreateCall(const RpcMethod& method, ClientContext* context,
+ +
62  virtual void PerformOpsOnCall(CallOpSetInterface* ops,
+
63  Call* call) GRPC_OVERRIDE;
+
64 
+
65  private:
+
66  const grpc::string host_;
+
67  grpc_channel* const c_channel_; // owned
+
68 };
+
69 
+
70 } // namespace grpc
+
71 
+
72 #endif // GRPC_INTERNAL_CPP_CLIENT_CHANNEL_H
+
std::string string
Definition: config.h:112
+
An abstract collection of call ops, used to generate the grpc_call_op structure to pass down to the l...
Definition: call.h:482
+ + +
virtual Call CreateCall(const RpcMethod &method, ClientContext *context, CompletionQueue *cq) GRPC_OVERRIDE
Definition: channel.cc:61
+ +
#define GRPC_FINAL
Definition: config.h:71
+
Channel(grpc_channel *c_channel)
Definition: channel.cc:54
+
Definition: client_context.h:74
+
virtual void * RegisterMethod(const char *method) GRPC_OVERRIDE
Definition: channel.cc:91
+
Definition: grpc_library.h:41
+
Definition: call.h:565
+
Definition: channel_interface.h:52
+
~Channel() GRPC_OVERRIDE
Definition: channel.cc:59
+
Definition: completion_queue.h:87
+
Definition: rpc_method.h:39
+
virtual void PerformOpsOnCall(CallOpSetInterface *ops, Call *call) GRPC_OVERRIDE
Definition: channel.cc:80
+
#define GRPC_OVERRIDE
Definition: config.h:77
+
Definition: channel.h:53
+
+ + + + diff --git a/doc/ref/c++.internal/html/channel__arguments_8cc.html b/doc/ref/c++.internal/html/channel__arguments_8cc.html new file mode 100644 index 0000000000..34227cf627 --- /dev/null +++ b/doc/ref/c++.internal/html/channel__arguments_8cc.html @@ -0,0 +1,111 @@ + + + + + + +GRPC C++: src/cpp/client/channel_arguments.cc File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
channel_arguments.cc File Reference
+
+
+
#include <grpc++/channel_arguments.h>
+#include <grpc/support/log.h>
+#include "src/core/channel/channel_args.h"
+
+ + + +

+Namespaces

 grpc
 
+
+ + + + diff --git a/doc/ref/c++.internal/html/channel__arguments_8h.html b/doc/ref/c++.internal/html/channel__arguments_8h.html new file mode 100644 index 0000000000..c1662fc020 --- /dev/null +++ b/doc/ref/c++.internal/html/channel__arguments_8h.html @@ -0,0 +1,123 @@ + + + + + + +GRPC C++: include/grpc++/channel_arguments.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
channel_arguments.h File Reference
+
+
+
#include <vector>
+#include <list>
+#include <grpc++/config.h>
+#include <grpc/compression.h>
+#include <grpc/grpc.h>
+
+

Go to the source code of this file.

+ + + + +

+Data Structures

class  grpc::ChannelArguments
 
+ + + + + +

+Namespaces

 grpc
 
 grpc::testing
 
+
+ + + + diff --git a/doc/ref/c++.internal/html/channel__arguments_8h_source.html b/doc/ref/c++.internal/html/channel__arguments_8h_source.html new file mode 100644 index 0000000000..466964ba10 --- /dev/null +++ b/doc/ref/c++.internal/html/channel__arguments_8h_source.html @@ -0,0 +1,207 @@ + + + + + + +GRPC C++: include/grpc++/channel_arguments.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
channel_arguments.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPCXX_CHANNEL_ARGUMENTS_H
+
35 #define GRPCXX_CHANNEL_ARGUMENTS_H
+
36 
+
37 #include <vector>
+
38 #include <list>
+
39 
+
40 #include <grpc++/config.h>
+
41 #include <grpc/compression.h>
+
42 #include <grpc/grpc.h>
+
43 
+
44 namespace grpc {
+
45 namespace testing {
+
46 class ChannelArgumentsTest;
+
47 } // namespace testing
+
48 
+
49 // Options for channel creation. The user can use generic setters to pass
+
50 // key value pairs down to c channel creation code. For grpc related options,
+
51 // concrete setters are provided.
+ +
53  public:
+ + +
56 
+
57  ChannelArguments(const ChannelArguments& other);
+ +
59  Swap(other);
+
60  return *this;
+
61  }
+
62 
+
63  void Swap(ChannelArguments& other);
+
64 
+
65  // grpc specific channel argument setters
+
66  // Set target name override for SSL host name checking.
+
67  void SetSslTargetNameOverride(const grpc::string& name);
+
68  // TODO(yangg) add flow control options
+
69 
+
70  // Set the compression algorithm for the channel.
+
71  void SetCompressionAlgorithm(grpc_compression_algorithm algorithm);
+
72 
+
73  // Generic channel argument setters. Only for advanced use cases.
+
74  void SetInt(const grpc::string& key, int value);
+
75  void SetString(const grpc::string& key, const grpc::string& value);
+
76 
+
77  // Populates given channel_args with args_, does not take ownership.
+
78  void SetChannelArgs(grpc_channel_args* channel_args) const;
+
79 
+
80  private:
+
81  friend class SecureCredentials;
+ +
83 
+
84  // Returns empty string when it is not set.
+
85  grpc::string GetSslTargetNameOverride() const;
+
86 
+
87  std::vector<grpc_arg> args_;
+
88  std::list<grpc::string> strings_;
+
89 };
+
90 
+
91 } // namespace grpc
+
92 
+
93 #endif // GRPCXX_CHANNEL_ARGUMENTS_H
+
friend class testing::ChannelArgumentsTest
Definition: channel_arguments.h:82
+
std::string string
Definition: config.h:112
+
void SetString(const grpc::string &key, const grpc::string &value)
Definition: channel_arguments.cc:93
+
Definition: channel_arguments.h:52
+ +
void Swap(ChannelArguments &other)
Definition: channel_arguments.cc:73
+
void SetCompressionAlgorithm(grpc_compression_algorithm algorithm)
Definition: channel_arguments.cc:78
+
void SetSslTargetNameOverride(const grpc::string &name)
Definition: secure_channel_arguments.cc:41
+
~ChannelArguments()
Definition: channel_arguments.h:55
+
void SetInt(const grpc::string &key, int value)
Definition: channel_arguments.cc:83
+
ChannelArguments & operator=(ChannelArguments other)
Definition: channel_arguments.h:58
+
ChannelArguments()
Definition: channel_arguments.h:54
+
void SetChannelArgs(grpc_channel_args *channel_args) const
Definition: channel_arguments.cc:105
+
Definition: secure_credentials.h:44
+
+ + + + diff --git a/doc/ref/c++.internal/html/channel__interface_8h.html b/doc/ref/c++.internal/html/channel__interface_8h.html new file mode 100644 index 0000000000..bdb105e4fc --- /dev/null +++ b/doc/ref/c++.internal/html/channel__interface_8h.html @@ -0,0 +1,119 @@ + + + + + + +GRPC C++: include/grpc++/channel_interface.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
channel_interface.h File Reference
+
+
+
#include <memory>
+#include <grpc++/status.h>
+#include <grpc++/impl/call.h>
+
+

Go to the source code of this file.

+ + + + +

+Data Structures

class  grpc::ChannelInterface
 
+ + + +

+Namespaces

 grpc
 
+
+ + + + diff --git a/doc/ref/c++.internal/html/channel__interface_8h_source.html b/doc/ref/c++.internal/html/channel__interface_8h_source.html new file mode 100644 index 0000000000..ccc8057429 --- /dev/null +++ b/doc/ref/c++.internal/html/channel__interface_8h_source.html @@ -0,0 +1,175 @@ + + + + + + +GRPC C++: include/grpc++/channel_interface.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
channel_interface.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPCXX_CHANNEL_INTERFACE_H
+
35 #define GRPCXX_CHANNEL_INTERFACE_H
+
36 
+
37 #include <memory>
+
38 
+
39 #include <grpc++/status.h>
+
40 #include <grpc++/impl/call.h>
+
41 
+
42 struct grpc_call;
+
43 
+
44 namespace grpc {
+
45 class Call;
+
46 class CallOpBuffer;
+
47 class ClientContext;
+
48 class CompletionQueue;
+
49 class RpcMethod;
+
50 class CallInterface;
+
51 
+
52 class ChannelInterface : public CallHook,
+
53  public std::enable_shared_from_this<ChannelInterface> {
+
54  public:
+
55  virtual ~ChannelInterface() {}
+
56 
+
57  virtual void* RegisterMethod(const char* method_name) = 0;
+
58  virtual Call CreateCall(const RpcMethod& method, ClientContext* context,
+
59  CompletionQueue* cq) = 0;
+
60 };
+
61 
+
62 } // namespace grpc
+
63 
+
64 #endif // GRPCXX_CHANNEL_INTERFACE_H
+
Definition: client_context.h:74
+
virtual Call CreateCall(const RpcMethod &method, ClientContext *context, CompletionQueue *cq)=0
+
Definition: call.h:565
+
Definition: channel_interface.h:52
+ +
Definition: completion_queue.h:87
+
virtual void * RegisterMethod(const char *method_name)=0
+ +
Definition: rpc_method.h:39
+
virtual ~ChannelInterface()
Definition: channel_interface.h:55
+
Definition: call.h:558
+
+ + + + diff --git a/doc/ref/c++.internal/html/class_grpc_buffer_reader.html b/doc/ref/c++.internal/html/class_grpc_buffer_reader.html new file mode 100644 index 0000000000..bfd5faa19c --- /dev/null +++ b/doc/ref/c++.internal/html/class_grpc_buffer_reader.html @@ -0,0 +1,273 @@ + + + + + + +GRPC C++: GrpcBufferReader Class Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
GrpcBufferReader Class Reference
+
+
+ + + + + + + + + + + + + + +

+Public Member Functions

 GrpcBufferReader (grpc_byte_buffer *buffer)
 
 ~GrpcBufferReader () GRPC_OVERRIDE
 
bool Next (const void **data, int *size) GRPC_OVERRIDE
 
void BackUp (int count) GRPC_OVERRIDE
 
bool Skip (int count) GRPC_OVERRIDE
 
grpc::protobuf::int64 ByteCount () const GRPC_OVERRIDE
 
+

Constructor & Destructor Documentation

+ +
+
+ + + + + +
+ + + + + + + + +
GrpcBufferReader::GrpcBufferReader (grpc_byte_buffer * buffer)
+
+inlineexplicit
+
+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
GrpcBufferReader::~GrpcBufferReader ()
+
+inline
+
+ +
+
+

Member Function Documentation

+ +
+
+ + + + + +
+ + + + + + + + +
void GrpcBufferReader::BackUp (int count)
+
+inline
+
+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
grpc::protobuf::int64 GrpcBufferReader::ByteCount () const
+
+inline
+
+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
bool GrpcBufferReader::Next (const void ** data,
int * size 
)
+
+inline
+
+ +
+
+ +
+
+ + + + + +
+ + + + + + + + +
bool GrpcBufferReader::Skip (int count)
+
+inline
+
+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/doc/ref/c++.internal/html/class_grpc_buffer_writer.html b/doc/ref/c++.internal/html/class_grpc_buffer_writer.html new file mode 100644 index 0000000000..1fa05accdd --- /dev/null +++ b/doc/ref/c++.internal/html/class_grpc_buffer_writer.html @@ -0,0 +1,257 @@ + + + + + + +GRPC C++: GrpcBufferWriter Class Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
GrpcBufferWriter Class Reference
+
+
+ + + + + + + + + + + + +

+Public Member Functions

 GrpcBufferWriter (grpc_byte_buffer **bp, int block_size=kMaxBufferLength)
 
 ~GrpcBufferWriter () GRPC_OVERRIDE
 
bool Next (void **data, int *size) GRPC_OVERRIDE
 
void BackUp (int count) GRPC_OVERRIDE
 
grpc::protobuf::int64 ByteCount () const GRPC_OVERRIDE
 
+

Constructor & Destructor Documentation

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
GrpcBufferWriter::GrpcBufferWriter (grpc_byte_buffer ** bp,
int block_size = kMaxBufferLength 
)
+
+inlineexplicit
+
+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
GrpcBufferWriter::~GrpcBufferWriter ()
+
+inline
+
+ +
+
+

Member Function Documentation

+ +
+
+ + + + + +
+ + + + + + + + +
void GrpcBufferWriter::BackUp (int count)
+
+inline
+
+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
grpc::protobuf::int64 GrpcBufferWriter::ByteCount () const
+
+inline
+
+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
bool GrpcBufferWriter::Next (void ** data,
int * size 
)
+
+inline
+
+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/doc/ref/c++.internal/html/classes.html b/doc/ref/c++.internal/html/classes.html new file mode 100644 index 0000000000..7bdc890d04 --- /dev/null +++ b/doc/ref/c++.internal/html/classes.html @@ -0,0 +1,152 @@ + + + + + + +GRPC C++: Data Structure Index + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + +
+ + + + +
+ +
+ +
+
+
Data Structure Index
+
+
+
A | B | C | D | F | G | H | I | L | M | P | R | S | T | U | W
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  A  
+
Channel (grpc)   DeserializeFuncType (grpc::CallOpGenericRecvMessageHelper)   RpcMethodHandler (grpc)   SslCredentialsOptions (grpc)   
ChannelArguments (grpc)   DynamicThreadPool (grpc)   RpcService (grpc)   SslServerCredentialsOptions (grpc)   
AsyncGenericService (grpc)   ChannelInterface (grpc)   
  F  
+
RpcServiceMethod (grpc)   Status (grpc)   
AsynchronousService (grpc)   ClientAsyncReader (grpc)   
  S  
+
SynchronousService (grpc)   
AsyncReaderInterface (grpc)   ClientAsyncReaderInterface (grpc)   FixedSizeThreadPool (grpc)   Server::SyncRequest (grpc)   
AsyncWriterInterface (grpc)   ClientAsyncReaderWriter (grpc)   
  G  
+
SecureAuthContext (grpc)   
  T  
+
AuthContext (grpc)   ClientAsyncReaderWriterInterface (grpc)   SecureCredentials (grpc)   
AuthPropertyIterator (grpc)   ClientAsyncResponseReader (grpc)   GenericServerContext (grpc)   SecureServerCredentials (grpc)   ThreadPoolInterface (grpc)   
  B  
+
ClientAsyncResponseReaderInterface (grpc)   GenericStub (grpc)   SerializationTraits (grpc)   TimePoint (grpc)   
ClientAsyncStreamingInterface (grpc)   GrpcBufferReader   SerializationTraits< ByteBuffer, void > (grpc)   TimePoint< gpr_timespec > (grpc)   
BidiStreamingHandler (grpc)   ClientAsyncWriter (grpc)   GrpcBufferWriter   SerializationTraits< T, typename std::enable_if< std::is_base_of< grpc::protobuf::Message, T >::value >::type > (grpc)   TimePoint< std::chrono::system_clock::time_point > (grpc)   
ByteBuffer (grpc)   ClientAsyncWriterInterface (grpc)   GrpcLibrary (grpc)   Server (grpc)   
  W  
+
  C  
+
ClientContext (grpc)   
  H  
+
ServerAsyncReader (grpc)   
ClientReader (grpc)   ServerAsyncReaderWriter (grpc)   WriteOptions (grpc)   
Call (grpc)   ClientReaderInterface (grpc)   MethodHandler::HandlerParameter (grpc)   ServerAsyncResponseWriter (grpc)   WriterInterface (grpc)   
Server::SyncRequest::CallData (grpc)   ClientReaderWriter (grpc)   
  I  
+
ServerAsyncStreamingInterface (grpc)   
  c  
+
CallHook (grpc)   ClientReaderWriterInterface (grpc)   ServerAsyncWriter (grpc)   
CallNoOp (grpc)   ClientStreamingHandler (grpc)   InternalStub (grpc)   ServerBuilder (grpc)   condition_variable (grpc)   
CallOpClientRecvStatus (grpc)   ClientStreamingInterface (grpc)   
  M  
+
ServerCompletionQueue (grpc)   
  l  
+
CallOpClientSendClose (grpc)   ClientWriter (grpc)   ServerContext (grpc)   
CallOpGenericRecvMessage (grpc)   ClientWriterInterface (grpc)   MethodHandler (grpc)   ServerCredentials (grpc)   lock_guard (grpc)   
CallOpRecvInitialMetadata (grpc)   ServerContext::CompletionOp (grpc)   
  P  
+
ServerReader (grpc)   
  m  
+
CallOpRecvMessage (grpc)   CompletionQueue (grpc)   ServerReaderWriter (grpc)   
CallOpSendInitialMetadata (grpc)   CompletionQueueTag (grpc)   SslServerCredentialsOptions::PemKeyCertPair (grpc)   ServerStreamingHandler (grpc)   mutex (grpc)   
CallOpSendMessage (grpc)   Credentials (grpc)   
  R  
+
ServerWriter (grpc)   
  t  
+
CallOpServerSendStatus (grpc)   
  D  
+
Server::ShutdownRequest (grpc)   
CallOpSet (grpc)   ReaderInterface (grpc)   Slice (grpc)   thread (grpc)   
CallOpSetInterface (grpc)   DeserializeFunc (grpc::CallOpGenericRecvMessageHelper)   RpcMethod (grpc)   SneakyCallOpSet (grpc)   
  u  
+
unique_lock (grpc)   
+
A | B | C | D | F | G | H | I | L | M | P | R | S | T | U | W
+
+ + + + diff --git a/doc/ref/c++.internal/html/classgrpc_1_1_async_generic_service.html b/doc/ref/c++.internal/html/classgrpc_1_1_async_generic_service.html new file mode 100644 index 0000000000..3abfc48973 --- /dev/null +++ b/doc/ref/c++.internal/html/classgrpc_1_1_async_generic_service.html @@ -0,0 +1,215 @@ + + + + + + +GRPC C++: grpc::AsyncGenericService Class Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc::AsyncGenericService Class Reference
+
+
+ +

#include <async_generic_service.h>

+ + + + + + +

+Public Member Functions

 AsyncGenericService (const grpc::string &methods)
 
void RequestCall (GenericServerContext *ctx, GenericServerAsyncReaderWriter *reader_writer, CompletionQueue *call_cq, ServerCompletionQueue *notification_cq, void *tag)
 
+ + + +

+Friends

class Server
 
+

Constructor & Destructor Documentation

+ +
+
+ + + + + +
+ + + + + + + + +
grpc::AsyncGenericService::AsyncGenericService (const grpc::stringmethods)
+
+inline
+
+ +
+
+

Member Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void grpc::AsyncGenericService::RequestCall (GenericServerContextctx,
GenericServerAsyncReaderWriterreader_writer,
CompletionQueuecall_cq,
ServerCompletionQueuenotification_cq,
void * tag 
)
+
+ +
+
+

Friends And Related Function Documentation

+ +
+
+ + + + + +
+ + + + +
friend class Server
+
+friend
+
+ +
+
+
The documentation for this class was generated from the following files: +
+ + + + diff --git a/doc/ref/c++.internal/html/classgrpc_1_1_async_reader_interface.html b/doc/ref/c++.internal/html/classgrpc_1_1_async_reader_interface.html new file mode 100644 index 0000000000..5c3d2986fd --- /dev/null +++ b/doc/ref/c++.internal/html/classgrpc_1_1_async_reader_interface.html @@ -0,0 +1,182 @@ + + + + + + +GRPC C++: grpc::AsyncReaderInterface< R > Class Template Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc::AsyncReaderInterface< R > Class Template Referenceabstract
+
+
+ +

#include <stream.h>

+ + + + + + +

+Public Member Functions

virtual ~AsyncReaderInterface ()
 
virtual void Read (R *msg, void *tag)=0
 
+

Constructor & Destructor Documentation

+ +
+
+
+template<class R >
+ + + + + +
+ + + + + + + +
virtual grpc::AsyncReaderInterface< R >::~AsyncReaderInterface ()
+
+inlinevirtual
+
+ +
+
+

Member Function Documentation

+ +
+
+
+template<class R >
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
virtual void grpc::AsyncReaderInterface< R >::Read (R * msg,
void * tag 
)
+
+pure virtual
+
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/doc/ref/c++.internal/html/classgrpc_1_1_async_writer_interface.html b/doc/ref/c++.internal/html/classgrpc_1_1_async_writer_interface.html new file mode 100644 index 0000000000..84f2c6fce6 --- /dev/null +++ b/doc/ref/c++.internal/html/classgrpc_1_1_async_writer_interface.html @@ -0,0 +1,182 @@ + + + + + + +GRPC C++: grpc::AsyncWriterInterface< W > Class Template Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc::AsyncWriterInterface< W > Class Template Referenceabstract
+
+
+ +

#include <stream.h>

+ + + + + + +

+Public Member Functions

virtual ~AsyncWriterInterface ()
 
virtual void Write (const W &msg, void *tag)=0
 
+

Constructor & Destructor Documentation

+ +
+
+
+template<class W >
+ + + + + +
+ + + + + + + +
virtual grpc::AsyncWriterInterface< W >::~AsyncWriterInterface ()
+
+inlinevirtual
+
+ +
+
+

Member Function Documentation

+ +
+
+
+template<class W >
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
virtual void grpc::AsyncWriterInterface< W >::Write (const W & msg,
void * tag 
)
+
+pure virtual
+
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/doc/ref/c++.internal/html/classgrpc_1_1_asynchronous_service.html b/doc/ref/c++.internal/html/classgrpc_1_1_asynchronous_service.html new file mode 100644 index 0000000000..7808a67988 --- /dev/null +++ b/doc/ref/c++.internal/html/classgrpc_1_1_asynchronous_service.html @@ -0,0 +1,465 @@ + + + + + + +GRPC C++: grpc::AsynchronousService Class Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc::AsynchronousService Class Reference
+
+
+ +

#include <service_type.h>

+ + + + + + +

+Public Member Functions

 AsynchronousService (const char **method_names, size_t method_count)
 
 ~AsynchronousService ()
 
+ + + + + + + + + + + +

+Protected Member Functions

template<class Message >
void RequestAsyncUnary (int index, ServerContext *context, Message *request, ServerAsyncStreamingInterface *stream, CompletionQueue *call_cq, ServerCompletionQueue *notification_cq, void *tag)
 
void RequestClientStreaming (int index, ServerContext *context, ServerAsyncStreamingInterface *stream, CompletionQueue *call_cq, ServerCompletionQueue *notification_cq, void *tag)
 
template<class Message >
void RequestServerStreaming (int index, ServerContext *context, Message *request, ServerAsyncStreamingInterface *stream, CompletionQueue *call_cq, ServerCompletionQueue *notification_cq, void *tag)
 
void RequestBidiStreaming (int index, ServerContext *context, ServerAsyncStreamingInterface *stream, CompletionQueue *call_cq, ServerCompletionQueue *notification_cq, void *tag)
 
+ + + +

+Friends

class Server
 
+

Constructor & Destructor Documentation

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
grpc::AsynchronousService::AsynchronousService (const char ** method_names,
size_t method_count 
)
+
+inline
+
+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
grpc::AsynchronousService::~AsynchronousService ()
+
+inline
+
+ +
+
+

Member Function Documentation

+ +
+
+
+template<class Message >
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void grpc::AsynchronousService::RequestAsyncUnary (int index,
ServerContextcontext,
Message * request,
ServerAsyncStreamingInterfacestream,
CompletionQueuecall_cq,
ServerCompletionQueuenotification_cq,
void * tag 
)
+
+inlineprotected
+
+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void grpc::AsynchronousService::RequestBidiStreaming (int index,
ServerContextcontext,
ServerAsyncStreamingInterfacestream,
CompletionQueuecall_cq,
ServerCompletionQueuenotification_cq,
void * tag 
)
+
+inlineprotected
+
+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void grpc::AsynchronousService::RequestClientStreaming (int index,
ServerContextcontext,
ServerAsyncStreamingInterfacestream,
CompletionQueuecall_cq,
ServerCompletionQueuenotification_cq,
void * tag 
)
+
+inlineprotected
+
+ +
+
+ +
+
+
+template<class Message >
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void grpc::AsynchronousService::RequestServerStreaming (int index,
ServerContextcontext,
Message * request,
ServerAsyncStreamingInterfacestream,
CompletionQueuecall_cq,
ServerCompletionQueuenotification_cq,
void * tag 
)
+
+inlineprotected
+
+ +
+
+

Friends And Related Function Documentation

+ +
+
+ + + + + +
+ + + + +
friend class Server
+
+friend
+
+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/doc/ref/c++.internal/html/classgrpc_1_1_auth_context.html b/doc/ref/c++.internal/html/classgrpc_1_1_auth_context.html new file mode 100644 index 0000000000..da05d57b07 --- /dev/null +++ b/doc/ref/c++.internal/html/classgrpc_1_1_auth_context.html @@ -0,0 +1,276 @@ + + + + + + +GRPC C++: grpc::AuthContext Class Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc::AuthContext Class Referenceabstract
+
+
+ +

#include <auth_context.h>

+ + + + + + + + + + + + + + +

+Public Member Functions

virtual ~AuthContext ()
 
virtual std::vector< grpc::stringGetPeerIdentity () const =0
 
virtual grpc::string GetPeerIdentityPropertyName () const =0
 
virtual std::vector< grpc::stringFindPropertyValues (const grpc::string &name) const =0
 
virtual AuthPropertyIterator begin () const =0
 
virtual AuthPropertyIterator end () const =0
 
+

Constructor & Destructor Documentation

+ +
+
+ + + + + +
+ + + + + + + +
virtual grpc::AuthContext::~AuthContext ()
+
+inlinevirtual
+
+ +
+
+

Member Function Documentation

+ +
+
+ + + + + +
+ + + + + + + +
virtual AuthPropertyIterator grpc::AuthContext::begin () const
+
+pure virtual
+
+ +

Implemented in grpc::SecureAuthContext.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
virtual AuthPropertyIterator grpc::AuthContext::end () const
+
+pure virtual
+
+ +

Implemented in grpc::SecureAuthContext.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + +
virtual std::vector<grpc::string> grpc::AuthContext::FindPropertyValues (const grpc::stringname) const
+
+pure virtual
+
+ +

Implemented in grpc::SecureAuthContext.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
virtual std::vector<grpc::string> grpc::AuthContext::GetPeerIdentity () const
+
+pure virtual
+
+ +

Implemented in grpc::SecureAuthContext.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
virtual grpc::string grpc::AuthContext::GetPeerIdentityPropertyName () const
+
+pure virtual
+
+ +

Implemented in grpc::SecureAuthContext.

+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/doc/ref/c++.internal/html/classgrpc_1_1_auth_property_iterator.html b/doc/ref/c++.internal/html/classgrpc_1_1_auth_property_iterator.html new file mode 100644 index 0000000000..fc9b3b1602 --- /dev/null +++ b/doc/ref/c++.internal/html/classgrpc_1_1_auth_property_iterator.html @@ -0,0 +1,313 @@ + + + + + + +GRPC C++: grpc::AuthPropertyIterator Class Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc::AuthPropertyIterator Class Reference
+
+
+ +

#include <auth_property_iterator.h>

+ + + + + + + + + + + + + + +

+Public Member Functions

 ~AuthPropertyIterator ()
 
AuthPropertyIteratoroperator++ ()
 
AuthPropertyIterator operator++ (int)
 
bool operator== (const AuthPropertyIterator &rhs) const
 
bool operator!= (const AuthPropertyIterator &rhs) const
 
const AuthProperty operator* ()
 
+ + + + + +

+Protected Member Functions

 AuthPropertyIterator ()
 
 AuthPropertyIterator (const grpc_auth_property *property, const grpc_auth_property_iterator *iter)
 
+ + + +

+Friends

class SecureAuthContext
 
+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + +
grpc::AuthPropertyIterator::~AuthPropertyIterator ()
+
+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
grpc::AuthPropertyIterator::AuthPropertyIterator ()
+
+protected
+
+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
grpc::AuthPropertyIterator::AuthPropertyIterator (const grpc_auth_property * property,
const grpc_auth_property_iterator * iter 
)
+
+protected
+
+ +
+
+

Member Function Documentation

+ +
+
+ + + + + + + + +
bool grpc::AuthPropertyIterator::operator!= (const AuthPropertyIteratorrhs) const
+
+ +
+
+ +
+
+ + + + + + + +
const AuthProperty grpc::AuthPropertyIterator::operator* ()
+
+ +
+
+ +
+
+ + + + + + + +
AuthPropertyIterator & grpc::AuthPropertyIterator::operator++ ()
+
+ +
+
+ +
+
+ + + + + + + + +
AuthPropertyIterator grpc::AuthPropertyIterator::operator++ (int )
+
+ +
+
+ +
+
+ + + + + + + + +
bool grpc::AuthPropertyIterator::operator== (const AuthPropertyIteratorrhs) const
+
+ +
+
+

Friends And Related Function Documentation

+ +
+
+ + + + + +
+ + + + +
friend class SecureAuthContext
+
+friend
+
+ +
+
+
The documentation for this class was generated from the following files: +
+ + + + diff --git a/doc/ref/c++.internal/html/classgrpc_1_1_bidi_streaming_handler.html b/doc/ref/c++.internal/html/classgrpc_1_1_bidi_streaming_handler.html new file mode 100644 index 0000000000..04fcc2aff4 --- /dev/null +++ b/doc/ref/c++.internal/html/classgrpc_1_1_bidi_streaming_handler.html @@ -0,0 +1,187 @@ + + + + + + +GRPC C++: grpc::BidiStreamingHandler< ServiceType, RequestType, ResponseType > Class Template Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc::BidiStreamingHandler< ServiceType, RequestType, ResponseType > Class Template Reference
+
+
+ +

#include <completion_queue.h>

+ + + + + + + + + +

+Public Member Functions

 BidiStreamingHandler (std::function< Status(ServiceType *, ServerContext *, ServerReaderWriter< ResponseType, RequestType > *)> func, ServiceType *service)
 
void RunHandler (const HandlerParameter &param)
 
- Public Member Functions inherited from grpc::MethodHandler
virtual ~MethodHandler ()
 
+

Constructor & Destructor Documentation

+ +
+
+
+template<class ServiceType , class RequestType , class ResponseType >
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
grpc::BidiStreamingHandler< ServiceType, RequestType, ResponseType >::BidiStreamingHandler (std::function< Status(ServiceType *, ServerContext *, ServerReaderWriter< ResponseType, RequestType > *)> func,
ServiceType * service 
)
+
+inline
+
+ +
+
+

Member Function Documentation

+ +
+
+
+template<class ServiceType , class RequestType , class ResponseType >
+ + + + + +
+ + + + + + + + +
void grpc::BidiStreamingHandler< ServiceType, RequestType, ResponseType >::RunHandler (const HandlerParameterparam)
+
+inlinevirtual
+
+ +

Implements grpc::MethodHandler.

+ +
+
+
The documentation for this class was generated from the following files: +
+ + + + diff --git a/doc/ref/c++.internal/html/classgrpc_1_1_byte_buffer.html b/doc/ref/c++.internal/html/classgrpc_1_1_byte_buffer.html new file mode 100644 index 0000000000..0f6bb098f4 --- /dev/null +++ b/doc/ref/c++.internal/html/classgrpc_1_1_byte_buffer.html @@ -0,0 +1,273 @@ + + + + + + +GRPC C++: grpc::ByteBuffer Class Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc::ByteBuffer Class Reference
+
+
+ +

#include <byte_buffer.h>

+ + + + + + + + + + + + + + +

+Public Member Functions

 ByteBuffer ()
 
 ByteBuffer (const Slice *slices, size_t nslices)
 
 ~ByteBuffer ()
 
void Dump (std::vector< Slice > *slices) const
 
void Clear ()
 
size_t Length () const
 
+ + + +

+Friends

class SerializationTraits< ByteBuffer, void >
 
+

Constructor & Destructor Documentation

+ +
+
+ + + + + +
+ + + + + + + +
grpc::ByteBuffer::ByteBuffer ()
+
+inline
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
grpc::ByteBuffer::ByteBuffer (const Sliceslices,
size_t nslices 
)
+
+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
grpc::ByteBuffer::~ByteBuffer ()
+
+inline
+
+ +
+
+

Member Function Documentation

+ +
+
+ + + + + + + +
void grpc::ByteBuffer::Clear ()
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc::ByteBuffer::Dump (std::vector< Slice > * slices) const
+
+ +
+
+ +
+
+ + + + + + + +
size_t grpc::ByteBuffer::Length () const
+
+ +
+
+

Friends And Related Function Documentation

+ +
+
+ + + + + +
+ + + + +
friend class SerializationTraits< ByteBuffer, void >
+
+friend
+
+ +
+
+
The documentation for this class was generated from the following files: +
+ + + + diff --git a/doc/ref/c++.internal/html/classgrpc_1_1_call.html b/doc/ref/c++.internal/html/classgrpc_1_1_call.html new file mode 100644 index 0000000000..a110d28544 --- /dev/null +++ b/doc/ref/c++.internal/html/classgrpc_1_1_call.html @@ -0,0 +1,283 @@ + + + + + + +GRPC C++: grpc::Call Class Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc::Call Class Reference
+
+
+ +

#include <call.h>

+ + + + + + + + + + + + + + +

+Public Member Functions

 Call (grpc_call *call, CallHook *call_hook_, CompletionQueue *cq)
 
 Call (grpc_call *call, CallHook *call_hook_, CompletionQueue *cq, int max_message_size)
 
void PerformOps (CallOpSetInterface *ops)
 
grpc_call * call ()
 
CompletionQueuecq ()
 
int max_message_size ()
 
+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
grpc::Call::Call (grpc_call * call,
CallHookcall_hook_,
CompletionQueuecq 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
grpc::Call::Call (grpc_call * call,
CallHookcall_hook_,
CompletionQueuecq,
int max_message_size 
)
+
+ +
+
+

Member Function Documentation

+ +
+
+ + + + + +
+ + + + + + + +
grpc_call* grpc::Call::call ()
+
+inline
+
+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
CompletionQueue* grpc::Call::cq ()
+
+inline
+
+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
int grpc::Call::max_message_size ()
+
+inline
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc::Call::PerformOps (CallOpSetInterfaceops)
+
+ +
+
+
The documentation for this class was generated from the following files: +
+ + + + diff --git a/doc/ref/c++.internal/html/classgrpc_1_1_call_hook.html b/doc/ref/c++.internal/html/classgrpc_1_1_call_hook.html new file mode 100644 index 0000000000..833187e5c9 --- /dev/null +++ b/doc/ref/c++.internal/html/classgrpc_1_1_call_hook.html @@ -0,0 +1,178 @@ + + + + + + +GRPC C++: grpc::CallHook Class Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc::CallHook Class Referenceabstract
+
+
+ +

#include <call.h>

+ + + + + + +

+Public Member Functions

virtual ~CallHook ()
 
virtual void PerformOpsOnCall (CallOpSetInterface *ops, Call *call)=0
 
+

Constructor & Destructor Documentation

+ +
+
+ + + + + +
+ + + + + + + +
virtual grpc::CallHook::~CallHook ()
+
+inlinevirtual
+
+ +
+
+

Member Function Documentation

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
virtual void grpc::CallHook::PerformOpsOnCall (CallOpSetInterfaceops,
Callcall 
)
+
+pure virtual
+
+ +

Implemented in grpc::Channel.

+ +
+
+
The documentation for this class was generated from the following file:
    +
  • include/grpc++/impl/call.h
  • +
+
+ + + + diff --git a/doc/ref/c++.internal/html/classgrpc_1_1_call_no_op.html b/doc/ref/c++.internal/html/classgrpc_1_1_call_no_op.html new file mode 100644 index 0000000000..61c274c6c4 --- /dev/null +++ b/doc/ref/c++.internal/html/classgrpc_1_1_call_no_op.html @@ -0,0 +1,199 @@ + + + + + + +GRPC C++: grpc::CallNoOp< I > Class Template Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc::CallNoOp< I > Class Template Reference
+
+
+ +

Default argument for CallOpSet. + More...

+ +

#include <call.h>

+ + + + + + +

+Protected Member Functions

void AddOp (grpc_op *ops, size_t *nops)
 
void FinishOp (bool *status, int max_message_size)
 
+

Detailed Description

+

template<int I>
+class grpc::CallNoOp< I >

+ +

Default argument for CallOpSet.

+

I is unused by the class, but can be used for generating multiple names for the same thing.

+

Member Function Documentation

+ +
+
+
+template<int I>
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void grpc::CallNoOp< I >::AddOp (grpc_op * ops,
size_t * nops 
)
+
+inlineprotected
+
+ +
+
+ +
+
+
+template<int I>
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void grpc::CallNoOp< I >::FinishOp (bool * status,
int max_message_size 
)
+
+inlineprotected
+
+ +
+
+
The documentation for this class was generated from the following file:
    +
  • include/grpc++/impl/call.h
  • +
+
+ + + + diff --git a/doc/ref/c++.internal/html/classgrpc_1_1_call_op_client_recv_status.html b/doc/ref/c++.internal/html/classgrpc_1_1_call_op_client_recv_status.html new file mode 100644 index 0000000000..286a387c66 --- /dev/null +++ b/doc/ref/c++.internal/html/classgrpc_1_1_call_op_client_recv_status.html @@ -0,0 +1,252 @@ + + + + + + +GRPC C++: grpc::CallOpClientRecvStatus Class Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc::CallOpClientRecvStatus Class Reference
+
+
+ +

#include <call.h>

+ + + + + + +

+Public Member Functions

 CallOpClientRecvStatus ()
 
void ClientRecvStatus (ClientContext *context, Status *status)
 
+ + + + + +

+Protected Member Functions

void AddOp (grpc_op *ops, size_t *nops)
 
void FinishOp (bool *status, int max_message_size)
 
+

Constructor & Destructor Documentation

+ +
+
+ + + + + +
+ + + + + + + +
grpc::CallOpClientRecvStatus::CallOpClientRecvStatus ()
+
+inline
+
+ +
+
+

Member Function Documentation

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void grpc::CallOpClientRecvStatus::AddOp (grpc_op * ops,
size_t * nops 
)
+
+inlineprotected
+
+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void grpc::CallOpClientRecvStatus::ClientRecvStatus (ClientContextcontext,
Statusstatus 
)
+
+inline
+
+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void grpc::CallOpClientRecvStatus::FinishOp (bool * status,
int max_message_size 
)
+
+inlineprotected
+
+ +
+
+
The documentation for this class was generated from the following file:
    +
  • include/grpc++/impl/call.h
  • +
+
+ + + + diff --git a/doc/ref/c++.internal/html/classgrpc_1_1_call_op_client_send_close.html b/doc/ref/c++.internal/html/classgrpc_1_1_call_op_client_send_close.html new file mode 100644 index 0000000000..fe37ad46dc --- /dev/null +++ b/doc/ref/c++.internal/html/classgrpc_1_1_call_op_client_send_close.html @@ -0,0 +1,241 @@ + + + + + + +GRPC C++: grpc::CallOpClientSendClose Class Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc::CallOpClientSendClose Class Reference
+
+
+ +

#include <call.h>

+ + + + + + +

+Public Member Functions

 CallOpClientSendClose ()
 
void ClientSendClose ()
 
+ + + + + +

+Protected Member Functions

void AddOp (grpc_op *ops, size_t *nops)
 
void FinishOp (bool *status, int max_message_size)
 
+

Constructor & Destructor Documentation

+ +
+
+ + + + + +
+ + + + + + + +
grpc::CallOpClientSendClose::CallOpClientSendClose ()
+
+inline
+
+ +
+
+

Member Function Documentation

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void grpc::CallOpClientSendClose::AddOp (grpc_op * ops,
size_t * nops 
)
+
+inlineprotected
+
+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
void grpc::CallOpClientSendClose::ClientSendClose ()
+
+inline
+
+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void grpc::CallOpClientSendClose::FinishOp (bool * status,
int max_message_size 
)
+
+inlineprotected
+
+ +
+
+
The documentation for this class was generated from the following file:
    +
  • include/grpc++/impl/call.h
  • +
+
+ + + + diff --git a/doc/ref/c++.internal/html/classgrpc_1_1_call_op_generic_recv_message.html b/doc/ref/c++.internal/html/classgrpc_1_1_call_op_generic_recv_message.html new file mode 100644 index 0000000000..a71f042b6e --- /dev/null +++ b/doc/ref/c++.internal/html/classgrpc_1_1_call_op_generic_recv_message.html @@ -0,0 +1,264 @@ + + + + + + +GRPC C++: grpc::CallOpGenericRecvMessage Class Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc::CallOpGenericRecvMessage Class Reference
+
+
+ +

#include <call.h>

+ + + + + + + +

+Public Member Functions

 CallOpGenericRecvMessage ()
 
template<class R >
void RecvMessage (R *message)
 
+ + + +

+Data Fields

bool got_message
 
+ + + + + +

+Protected Member Functions

void AddOp (grpc_op *ops, size_t *nops)
 
void FinishOp (bool *status, int max_message_size)
 
+

Constructor & Destructor Documentation

+ +
+
+ + + + + +
+ + + + + + + +
grpc::CallOpGenericRecvMessage::CallOpGenericRecvMessage ()
+
+inline
+
+ +
+
+

Member Function Documentation

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void grpc::CallOpGenericRecvMessage::AddOp (grpc_op * ops,
size_t * nops 
)
+
+inlineprotected
+
+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void grpc::CallOpGenericRecvMessage::FinishOp (bool * status,
int max_message_size 
)
+
+inlineprotected
+
+ +
+
+ +
+
+
+template<class R >
+ + + + + +
+ + + + + + + + +
void grpc::CallOpGenericRecvMessage::RecvMessage (R * message)
+
+inline
+
+ +
+
+

Field Documentation

+ +
+
+ + + + +
bool grpc::CallOpGenericRecvMessage::got_message
+
+ +
+
+
The documentation for this class was generated from the following file:
    +
  • include/grpc++/impl/call.h
  • +
+
+ + + + diff --git a/doc/ref/c++.internal/html/classgrpc_1_1_call_op_generic_recv_message_helper_1_1_deserialize_func.html b/doc/ref/c++.internal/html/classgrpc_1_1_call_op_generic_recv_message_helper_1_1_deserialize_func.html new file mode 100644 index 0000000000..c3491d09a5 --- /dev/null +++ b/doc/ref/c++.internal/html/classgrpc_1_1_call_op_generic_recv_message_helper_1_1_deserialize_func.html @@ -0,0 +1,152 @@ + + + + + + +GRPC C++: grpc::CallOpGenericRecvMessageHelper::DeserializeFunc Class Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc::CallOpGenericRecvMessageHelper::DeserializeFunc Class Referenceabstract
+
+
+ +

#include <call.h>

+ + + + +

+Public Member Functions

virtual Status Deserialize (grpc_byte_buffer *buf, int max_message_size)=0
 
+

Member Function Documentation

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
virtual Status grpc::CallOpGenericRecvMessageHelper::DeserializeFunc::Deserialize (grpc_byte_buffer * buf,
int max_message_size 
)
+
+pure virtual
+
+
+
The documentation for this class was generated from the following file:
    +
  • include/grpc++/impl/call.h
  • +
+
+ + + + diff --git a/doc/ref/c++.internal/html/classgrpc_1_1_call_op_generic_recv_message_helper_1_1_deserialize_func_type.html b/doc/ref/c++.internal/html/classgrpc_1_1_call_op_generic_recv_message_helper_1_1_deserialize_func_type.html new file mode 100644 index 0000000000..7afd0e4430 --- /dev/null +++ b/doc/ref/c++.internal/html/classgrpc_1_1_call_op_generic_recv_message_helper_1_1_deserialize_func_type.html @@ -0,0 +1,183 @@ + + + + + + +GRPC C++: grpc::CallOpGenericRecvMessageHelper::DeserializeFuncType< R > Class Template Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc::CallOpGenericRecvMessageHelper::DeserializeFuncType< R > Class Template Reference
+
+
+ +

#include <call.h>

+ + + + + + +

+Public Member Functions

 DeserializeFuncType (R *message)
 
Status Deserialize (grpc_byte_buffer *buf, int max_message_size) GRPC_OVERRIDE
 
+

Constructor & Destructor Documentation

+ +
+
+
+template<class R >
+ + + + + +
+ + + + + + + + +
grpc::CallOpGenericRecvMessageHelper::DeserializeFuncType< R >::DeserializeFuncType (R * message)
+
+inline
+
+ +
+
+

Member Function Documentation

+ +
+
+
+template<class R >
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
Status grpc::CallOpGenericRecvMessageHelper::DeserializeFuncType< R >::Deserialize (grpc_byte_buffer * buf,
int max_message_size 
)
+
+inlinevirtual
+
+
+
The documentation for this class was generated from the following file:
    +
  • include/grpc++/impl/call.h
  • +
+
+ + + + diff --git a/doc/ref/c++.internal/html/classgrpc_1_1_call_op_recv_initial_metadata.html b/doc/ref/c++.internal/html/classgrpc_1_1_call_op_recv_initial_metadata.html new file mode 100644 index 0000000000..23e809d33b --- /dev/null +++ b/doc/ref/c++.internal/html/classgrpc_1_1_call_op_recv_initial_metadata.html @@ -0,0 +1,242 @@ + + + + + + +GRPC C++: grpc::CallOpRecvInitialMetadata Class Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc::CallOpRecvInitialMetadata Class Reference
+
+
+ +

#include <call.h>

+ + + + + + +

+Public Member Functions

 CallOpRecvInitialMetadata ()
 
void RecvInitialMetadata (ClientContext *context)
 
+ + + + + +

+Protected Member Functions

void AddOp (grpc_op *ops, size_t *nops)
 
void FinishOp (bool *status, int max_message_size)
 
+

Constructor & Destructor Documentation

+ +
+
+ + + + + +
+ + + + + + + +
grpc::CallOpRecvInitialMetadata::CallOpRecvInitialMetadata ()
+
+inline
+
+ +
+
+

Member Function Documentation

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void grpc::CallOpRecvInitialMetadata::AddOp (grpc_op * ops,
size_t * nops 
)
+
+inlineprotected
+
+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void grpc::CallOpRecvInitialMetadata::FinishOp (bool * status,
int max_message_size 
)
+
+inlineprotected
+
+ +
+
+ +
+
+ + + + + +
+ + + + + + + + +
void grpc::CallOpRecvInitialMetadata::RecvInitialMetadata (ClientContextcontext)
+
+inline
+
+ +
+
+
The documentation for this class was generated from the following file:
    +
  • include/grpc++/impl/call.h
  • +
+
+ + + + diff --git a/doc/ref/c++.internal/html/classgrpc_1_1_call_op_recv_message.html b/doc/ref/c++.internal/html/classgrpc_1_1_call_op_recv_message.html new file mode 100644 index 0000000000..98e9df961f --- /dev/null +++ b/doc/ref/c++.internal/html/classgrpc_1_1_call_op_recv_message.html @@ -0,0 +1,271 @@ + + + + + + +GRPC C++: grpc::CallOpRecvMessage< R > Class Template Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc::CallOpRecvMessage< R > Class Template Reference
+
+
+ +

#include <call.h>

+ + + + + + +

+Public Member Functions

 CallOpRecvMessage ()
 
void RecvMessage (R *message)
 
+ + + +

+Data Fields

bool got_message
 
+ + + + + +

+Protected Member Functions

void AddOp (grpc_op *ops, size_t *nops)
 
void FinishOp (bool *status, int max_message_size)
 
+

Constructor & Destructor Documentation

+ +
+
+
+template<class R >
+ + + + + +
+ + + + + + + +
grpc::CallOpRecvMessage< R >::CallOpRecvMessage ()
+
+inline
+
+ +
+
+

Member Function Documentation

+ +
+
+
+template<class R >
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void grpc::CallOpRecvMessage< R >::AddOp (grpc_op * ops,
size_t * nops 
)
+
+inlineprotected
+
+ +
+
+ +
+
+
+template<class R >
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void grpc::CallOpRecvMessage< R >::FinishOp (bool * status,
int max_message_size 
)
+
+inlineprotected
+
+ +
+
+ +
+
+
+template<class R >
+ + + + + +
+ + + + + + + + +
void grpc::CallOpRecvMessage< R >::RecvMessage (R * message)
+
+inline
+
+ +
+
+

Field Documentation

+ +
+
+
+template<class R >
+ + + + +
bool grpc::CallOpRecvMessage< R >::got_message
+
+ +
+
+
The documentation for this class was generated from the following file:
    +
  • include/grpc++/impl/call.h
  • +
+
+ + + + diff --git a/doc/ref/c++.internal/html/classgrpc_1_1_call_op_send_initial_metadata.html b/doc/ref/c++.internal/html/classgrpc_1_1_call_op_send_initial_metadata.html new file mode 100644 index 0000000000..989d9ff111 --- /dev/null +++ b/doc/ref/c++.internal/html/classgrpc_1_1_call_op_send_initial_metadata.html @@ -0,0 +1,313 @@ + + + + + + +GRPC C++: grpc::CallOpSendInitialMetadata Class Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc::CallOpSendInitialMetadata Class Reference
+
+
+ +

#include <call.h>

+ + + + + + +

+Public Member Functions

 CallOpSendInitialMetadata ()
 
void SendInitialMetadata (const std::multimap< grpc::string, grpc::string > &metadata)
 
+ + + + + +

+Protected Member Functions

void AddOp (grpc_op *ops, size_t *nops)
 
void FinishOp (bool *status, int max_message_size)
 
+ + + + + + + +

+Protected Attributes

bool send_
 
size_t initial_metadata_count_
 
grpc_metadata * initial_metadata_
 
+

Constructor & Destructor Documentation

+ +
+
+ + + + + +
+ + + + + + + +
grpc::CallOpSendInitialMetadata::CallOpSendInitialMetadata ()
+
+inline
+
+ +
+
+

Member Function Documentation

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void grpc::CallOpSendInitialMetadata::AddOp (grpc_op * ops,
size_t * nops 
)
+
+inlineprotected
+
+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void grpc::CallOpSendInitialMetadata::FinishOp (bool * status,
int max_message_size 
)
+
+inlineprotected
+
+ +
+
+ +
+
+ + + + + +
+ + + + + + + + +
void grpc::CallOpSendInitialMetadata::SendInitialMetadata (const std::multimap< grpc::string, grpc::string > & metadata)
+
+inline
+
+ +
+
+

Field Documentation

+ +
+
+ + + + + +
+ + + + +
grpc_metadata* grpc::CallOpSendInitialMetadata::initial_metadata_
+
+protected
+
+ +
+
+ +
+
+ + + + + +
+ + + + +
size_t grpc::CallOpSendInitialMetadata::initial_metadata_count_
+
+protected
+
+ +
+
+ +
+
+ + + + + +
+ + + + +
bool grpc::CallOpSendInitialMetadata::send_
+
+protected
+
+ +
+
+
The documentation for this class was generated from the following file:
    +
  • include/grpc++/impl/call.h
  • +
+
+ + + + diff --git a/doc/ref/c++.internal/html/classgrpc_1_1_call_op_send_message.html b/doc/ref/c++.internal/html/classgrpc_1_1_call_op_send_message.html new file mode 100644 index 0000000000..56cd1c58f0 --- /dev/null +++ b/doc/ref/c++.internal/html/classgrpc_1_1_call_op_send_message.html @@ -0,0 +1,272 @@ + + + + + + +GRPC C++: grpc::CallOpSendMessage Class Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc::CallOpSendMessage Class Reference
+
+
+ +

#include <call.h>

+ + + + + + + + + + + +

+Public Member Functions

 CallOpSendMessage ()
 
template<class M >
Status SendMessage (const M &message, const WriteOptions &options) GRPC_MUST_USE_RESULT
 Send message using options for the write. More...
 
template<class M >
Status SendMessage (const M &message) GRPC_MUST_USE_RESULT
 
+ + + + + +

+Protected Member Functions

void AddOp (grpc_op *ops, size_t *nops)
 
void FinishOp (bool *status, int max_message_size)
 
+

Constructor & Destructor Documentation

+ +
+
+ + + + + +
+ + + + + + + +
grpc::CallOpSendMessage::CallOpSendMessage ()
+
+inline
+
+ +
+
+

Member Function Documentation

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void grpc::CallOpSendMessage::AddOp (grpc_op * ops,
size_t * nops 
)
+
+inlineprotected
+
+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void grpc::CallOpSendMessage::FinishOp (bool * status,
int max_message_size 
)
+
+inlineprotected
+
+ +
+
+ +
+
+
+template<class M >
+ + + + + + + + + + + + + + + + + + +
Status grpc::CallOpSendMessage::SendMessage (const M & message,
const WriteOptionsoptions 
)
+
+ +

Send message using options for the write.

+

The options are cleared after use.

+ +
+
+ +
+
+
+template<class M >
+ + + + + + + + +
Status grpc::CallOpSendMessage::SendMessage (const M & message)
+
+ +
+
+
The documentation for this class was generated from the following file:
    +
  • include/grpc++/impl/call.h
  • +
+
+ + + + diff --git a/doc/ref/c++.internal/html/classgrpc_1_1_call_op_server_send_status.html b/doc/ref/c++.internal/html/classgrpc_1_1_call_op_server_send_status.html new file mode 100644 index 0000000000..c93e077ee3 --- /dev/null +++ b/doc/ref/c++.internal/html/classgrpc_1_1_call_op_server_send_status.html @@ -0,0 +1,252 @@ + + + + + + +GRPC C++: grpc::CallOpServerSendStatus Class Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc::CallOpServerSendStatus Class Reference
+
+
+ +

#include <call.h>

+ + + + + + +

+Public Member Functions

 CallOpServerSendStatus ()
 
void ServerSendStatus (const std::multimap< grpc::string, grpc::string > &trailing_metadata, const Status &status)
 
+ + + + + +

+Protected Member Functions

void AddOp (grpc_op *ops, size_t *nops)
 
void FinishOp (bool *status, int max_message_size)
 
+

Constructor & Destructor Documentation

+ +
+
+ + + + + +
+ + + + + + + +
grpc::CallOpServerSendStatus::CallOpServerSendStatus ()
+
+inline
+
+ +
+
+

Member Function Documentation

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void grpc::CallOpServerSendStatus::AddOp (grpc_op * ops,
size_t * nops 
)
+
+inlineprotected
+
+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void grpc::CallOpServerSendStatus::FinishOp (bool * status,
int max_message_size 
)
+
+inlineprotected
+
+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void grpc::CallOpServerSendStatus::ServerSendStatus (const std::multimap< grpc::string, grpc::string > & trailing_metadata,
const Statusstatus 
)
+
+inline
+
+ +
+
+
The documentation for this class was generated from the following file:
    +
  • include/grpc++/impl/call.h
  • +
+
+ + + + diff --git a/doc/ref/c++.internal/html/classgrpc_1_1_call_op_set.html b/doc/ref/c++.internal/html/classgrpc_1_1_call_op_set.html new file mode 100644 index 0000000000..b3d4b1c1ad --- /dev/null +++ b/doc/ref/c++.internal/html/classgrpc_1_1_call_op_set.html @@ -0,0 +1,278 @@ + + + + + + +GRPC C++: grpc::CallOpSet< Op1, Op2, Op3, Op4, Op5, Op6 > Class Template Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc::CallOpSet< Op1, Op2, Op3, Op4, Op5, Op6 > Class Template Reference
+
+
+ +

Primary implementaiton of CallOpSetInterface. + More...

+ +

#include <call.h>

+ + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 CallOpSet ()
 
void FillOps (grpc_op *ops, size_t *nops) GRPC_OVERRIDE
 Fills in grpc_op, starting from ops[*nops] and moving upwards. More...
 
bool FinalizeResult (void **tag, bool *status) GRPC_OVERRIDE
 
void set_output_tag (void *return_tag)
 
- Public Member Functions inherited from grpc::CallOpSetInterface
 CallOpSetInterface ()
 
void set_max_message_size (int max_message_size)
 
- Public Member Functions inherited from grpc::CompletionQueueTag
virtual ~CompletionQueueTag ()
 
+ + + + +

+Additional Inherited Members

- Protected Attributes inherited from grpc::CallOpSetInterface
int max_message_size_
 
+

Detailed Description

+

template<class Op1 = CallNoOp<1>, class Op2 = CallNoOp<2>, class Op3 = CallNoOp<3>, class Op4 = CallNoOp<4>, class Op5 = CallNoOp<5>, class Op6 = CallNoOp<6>>
+class grpc::CallOpSet< Op1, Op2, Op3, Op4, Op5, Op6 >

+ +

Primary implementaiton of CallOpSetInterface.

+

Since we cannot use variadic templates, we declare slots up to the maximum count of ops we'll need in a set. We leverage the empty base class optimization to slim this class (especially when there are many unused slots used). To avoid duplicate base classes, the template parmeter for CallNoOp is varied by argument position.

+

Constructor & Destructor Documentation

+ +
+
+
+template<class Op1 = CallNoOp<1>, class Op2 = CallNoOp<2>, class Op3 = CallNoOp<3>, class Op4 = CallNoOp<4>, class Op5 = CallNoOp<5>, class Op6 = CallNoOp<6>>
+ + + + + +
+ + + + + + + +
grpc::CallOpSet< Op1, Op2, Op3, Op4, Op5, Op6 >::CallOpSet ()
+
+inline
+
+ +
+
+

Member Function Documentation

+ +
+
+
+template<class Op1 = CallNoOp<1>, class Op2 = CallNoOp<2>, class Op3 = CallNoOp<3>, class Op4 = CallNoOp<4>, class Op5 = CallNoOp<5>, class Op6 = CallNoOp<6>>
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void grpc::CallOpSet< Op1, Op2, Op3, Op4, Op5, Op6 >::FillOps (grpc_op * ops,
size_t * nops 
)
+
+inlinevirtual
+
+ +

Fills in grpc_op, starting from ops[*nops] and moving upwards.

+ +

Implements grpc::CallOpSetInterface.

+ +
+
+ +
+
+
+template<class Op1 = CallNoOp<1>, class Op2 = CallNoOp<2>, class Op3 = CallNoOp<3>, class Op4 = CallNoOp<4>, class Op5 = CallNoOp<5>, class Op6 = CallNoOp<6>>
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
bool grpc::CallOpSet< Op1, Op2, Op3, Op4, Op5, Op6 >::FinalizeResult (void ** tag,
bool * status 
)
+
+inlinevirtual
+
+
+ +
+
+
+template<class Op1 = CallNoOp<1>, class Op2 = CallNoOp<2>, class Op3 = CallNoOp<3>, class Op4 = CallNoOp<4>, class Op5 = CallNoOp<5>, class Op6 = CallNoOp<6>>
+ + + + + +
+ + + + + + + + +
void grpc::CallOpSet< Op1, Op2, Op3, Op4, Op5, Op6 >::set_output_tag (void * return_tag)
+
+inline
+
+ +
+
+
The documentation for this class was generated from the following file:
    +
  • include/grpc++/impl/call.h
  • +
+
+ + + + diff --git a/doc/ref/c++.internal/html/classgrpc_1_1_call_op_set_interface.html b/doc/ref/c++.internal/html/classgrpc_1_1_call_op_set_interface.html new file mode 100644 index 0000000000..220d01ef2c --- /dev/null +++ b/doc/ref/c++.internal/html/classgrpc_1_1_call_op_set_interface.html @@ -0,0 +1,244 @@ + + + + + + +GRPC C++: grpc::CallOpSetInterface Class Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc::CallOpSetInterface Class Referenceabstract
+
+
+ +

An abstract collection of call ops, used to generate the grpc_call_op structure to pass down to the lower layers, and as it is-a CompletionQueueTag, also massages the final completion into the correct form for consumption in the C++ API. + More...

+ +

#include <call.h>

+ + + + + + + + + + + + + + +

+Public Member Functions

 CallOpSetInterface ()
 
virtual void FillOps (grpc_op *ops, size_t *nops)=0
 Fills in grpc_op, starting from ops[*nops] and moving upwards. More...
 
void set_max_message_size (int max_message_size)
 
- Public Member Functions inherited from grpc::CompletionQueueTag
virtual ~CompletionQueueTag ()
 
virtual bool FinalizeResult (void **tag, bool *status)=0
 
+ + + +

+Protected Attributes

int max_message_size_
 
+

Detailed Description

+

An abstract collection of call ops, used to generate the grpc_call_op structure to pass down to the lower layers, and as it is-a CompletionQueueTag, also massages the final completion into the correct form for consumption in the C++ API.

+

Constructor & Destructor Documentation

+ +
+
+ + + + + +
+ + + + + + + +
grpc::CallOpSetInterface::CallOpSetInterface ()
+
+inline
+
+ +
+
+

Member Function Documentation

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
virtual void grpc::CallOpSetInterface::FillOps (grpc_op * ops,
size_t * nops 
)
+
+pure virtual
+
+
+ +
+
+ + + + + +
+ + + + + + + + +
void grpc::CallOpSetInterface::set_max_message_size (int max_message_size)
+
+inline
+
+ +
+
+

Field Documentation

+ +
+
+ + + + + +
+ + + + +
int grpc::CallOpSetInterface::max_message_size_
+
+protected
+
+ +
+
+
The documentation for this class was generated from the following file:
    +
  • include/grpc++/impl/call.h
  • +
+
+ + + + diff --git a/doc/ref/c++.internal/html/classgrpc_1_1_channel.html b/doc/ref/c++.internal/html/classgrpc_1_1_channel.html new file mode 100644 index 0000000000..c5ed98b461 --- /dev/null +++ b/doc/ref/c++.internal/html/classgrpc_1_1_channel.html @@ -0,0 +1,308 @@ + + + + + + +GRPC C++: grpc::Channel Class Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc::Channel Class Reference
+
+
+ +

#include <channel.h>

+ + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 Channel (grpc_channel *c_channel)
 
 Channel (const grpc::string &host, grpc_channel *c_channel)
 
 ~Channel () GRPC_OVERRIDE
 
virtual void * RegisterMethod (const char *method) GRPC_OVERRIDE
 
virtual Call CreateCall (const RpcMethod &method, ClientContext *context, CompletionQueue *cq) GRPC_OVERRIDE
 
virtual void PerformOpsOnCall (CallOpSetInterface *ops, Call *call) GRPC_OVERRIDE
 
- Public Member Functions inherited from grpc::GrpcLibrary
 GrpcLibrary ()
 
virtual ~GrpcLibrary ()
 
- Public Member Functions inherited from grpc::ChannelInterface
virtual ~ChannelInterface ()
 
- Public Member Functions inherited from grpc::CallHook
virtual ~CallHook ()
 
+

Constructor & Destructor Documentation

+ +
+
+ + + + + +
+ + + + + + + + +
grpc::Channel::Channel (grpc_channel * c_channel)
+
+explicit
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
grpc::Channel::Channel (const grpc::stringhost,
grpc_channel * c_channel 
)
+
+ +
+
+ +
+
+ + + + + + + +
grpc::Channel::~Channel ()
+
+ +
+
+

Member Function Documentation

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
Call grpc::Channel::CreateCall (const RpcMethodmethod,
ClientContextcontext,
CompletionQueuecq 
)
+
+virtual
+
+ +

Implements grpc::ChannelInterface.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void grpc::Channel::PerformOpsOnCall (CallOpSetInterfaceops,
Callcall 
)
+
+virtual
+
+ +

Implements grpc::CallHook.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + +
void * grpc::Channel::RegisterMethod (const char * method)
+
+virtual
+
+ +

Implements grpc::ChannelInterface.

+ +
+
+
The documentation for this class was generated from the following files: +
+ + + + diff --git a/doc/ref/c++.internal/html/classgrpc_1_1_channel_arguments.html b/doc/ref/c++.internal/html/classgrpc_1_1_channel_arguments.html new file mode 100644 index 0000000000..aaffc5a0d7 --- /dev/null +++ b/doc/ref/c++.internal/html/classgrpc_1_1_channel_arguments.html @@ -0,0 +1,388 @@ + + + + + + +GRPC C++: grpc::ChannelArguments Class Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc::ChannelArguments Class Reference
+
+
+ +

#include <channel_arguments.h>

+ + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 ChannelArguments ()
 
 ~ChannelArguments ()
 
 ChannelArguments (const ChannelArguments &other)
 
ChannelArgumentsoperator= (ChannelArguments other)
 
void Swap (ChannelArguments &other)
 
void SetSslTargetNameOverride (const grpc::string &name)
 
void SetCompressionAlgorithm (grpc_compression_algorithm algorithm)
 
void SetInt (const grpc::string &key, int value)
 
void SetString (const grpc::string &key, const grpc::string &value)
 
void SetChannelArgs (grpc_channel_args *channel_args) const
 
+ + + + + +

+Friends

class SecureCredentials
 
class testing::ChannelArgumentsTest
 
+

Constructor & Destructor Documentation

+ +
+
+ + + + + +
+ + + + + + + +
grpc::ChannelArguments::ChannelArguments ()
+
+inline
+
+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
grpc::ChannelArguments::~ChannelArguments ()
+
+inline
+
+ +
+
+ +
+
+ + + + + + + + +
grpc::ChannelArguments::ChannelArguments (const ChannelArgumentsother)
+
+ +
+
+

Member Function Documentation

+ +
+
+ + + + + +
+ + + + + + + + +
ChannelArguments& grpc::ChannelArguments::operator= (ChannelArguments other)
+
+inline
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc::ChannelArguments::SetChannelArgs (grpc_channel_args * channel_args) const
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc::ChannelArguments::SetCompressionAlgorithm (grpc_compression_algorithm algorithm)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void grpc::ChannelArguments::SetInt (const grpc::stringkey,
int value 
)
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc::ChannelArguments::SetSslTargetNameOverride (const grpc::stringname)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void grpc::ChannelArguments::SetString (const grpc::stringkey,
const grpc::stringvalue 
)
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc::ChannelArguments::Swap (ChannelArgumentsother)
+
+ +
+
+

Friends And Related Function Documentation

+ +
+
+ + + + + +
+ + + + +
friend class SecureCredentials
+
+friend
+
+ +
+
+ +
+
+ + + + + +
+ + + + +
friend class testing::ChannelArgumentsTest
+
+friend
+
+ +
+
+
The documentation for this class was generated from the following files: +
+ + + + diff --git a/doc/ref/c++.internal/html/classgrpc_1_1_channel_interface.html b/doc/ref/c++.internal/html/classgrpc_1_1_channel_interface.html new file mode 100644 index 0000000000..0b61615cc8 --- /dev/null +++ b/doc/ref/c++.internal/html/classgrpc_1_1_channel_interface.html @@ -0,0 +1,217 @@ + + + + + + +GRPC C++: grpc::ChannelInterface Class Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc::ChannelInterface Class Referenceabstract
+
+
+ +

#include <channel_interface.h>

+ + + + + + + + + + + + + +

+Public Member Functions

virtual ~ChannelInterface ()
 
virtual void * RegisterMethod (const char *method_name)=0
 
virtual Call CreateCall (const RpcMethod &method, ClientContext *context, CompletionQueue *cq)=0
 
- Public Member Functions inherited from grpc::CallHook
virtual ~CallHook ()
 
virtual void PerformOpsOnCall (CallOpSetInterface *ops, Call *call)=0
 
+

Constructor & Destructor Documentation

+ +
+
+ + + + + +
+ + + + + + + +
virtual grpc::ChannelInterface::~ChannelInterface ()
+
+inlinevirtual
+
+ +
+
+

Member Function Documentation

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
virtual Call grpc::ChannelInterface::CreateCall (const RpcMethodmethod,
ClientContextcontext,
CompletionQueuecq 
)
+
+pure virtual
+
+ +

Implemented in grpc::Channel.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + +
virtual void* grpc::ChannelInterface::RegisterMethod (const char * method_name)
+
+pure virtual
+
+ +

Implemented in grpc::Channel.

+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/doc/ref/c++.internal/html/classgrpc_1_1_client_async_reader.html b/doc/ref/c++.internal/html/classgrpc_1_1_client_async_reader.html new file mode 100644 index 0000000000..dd0243e67a --- /dev/null +++ b/doc/ref/c++.internal/html/classgrpc_1_1_client_async_reader.html @@ -0,0 +1,297 @@ + + + + + + +GRPC C++: grpc::ClientAsyncReader< R > Class Template Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc::ClientAsyncReader< R > Class Template Reference
+
+
+ +

#include <client_context.h>

+ + + + + + + + + + + + + + + + + +

+Public Member Functions

template<class W >
 ClientAsyncReader (ChannelInterface *channel, CompletionQueue *cq, const RpcMethod &method, ClientContext *context, const W &request, void *tag)
 
void ReadInitialMetadata (void *tag) GRPC_OVERRIDE
 
void Read (R *msg, void *tag) GRPC_OVERRIDE
 
void Finish (Status *status, void *tag) GRPC_OVERRIDE
 
- Public Member Functions inherited from grpc::ClientAsyncStreamingInterface
virtual ~ClientAsyncStreamingInterface ()
 
- Public Member Functions inherited from grpc::AsyncReaderInterface< R >
virtual ~AsyncReaderInterface ()
 
+

Constructor & Destructor Documentation

+ +
+
+
+template<class R >
+
+template<class W >
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
grpc::ClientAsyncReader< R >::ClientAsyncReader (ChannelInterfacechannel,
CompletionQueuecq,
const RpcMethodmethod,
ClientContextcontext,
const W & request,
void * tag 
)
+
+inline
+
+ +
+
+

Member Function Documentation

+ +
+
+
+template<class R >
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void grpc::ClientAsyncReader< R >::Finish (Statusstatus,
void * tag 
)
+
+inlinevirtual
+
+
+ +
+
+
+template<class R >
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void grpc::ClientAsyncReader< R >::Read (R * msg,
void * tag 
)
+
+inlinevirtual
+
+
+ +
+
+
+template<class R >
+ + + + + +
+ + + + + + + + +
void grpc::ClientAsyncReader< R >::ReadInitialMetadata (void * tag)
+
+inlinevirtual
+
+
+
The documentation for this class was generated from the following files: +
+ + + + diff --git a/doc/ref/c++.internal/html/classgrpc_1_1_client_async_reader_interface.html b/doc/ref/c++.internal/html/classgrpc_1_1_client_async_reader_interface.html new file mode 100644 index 0000000000..c7bbf10d18 --- /dev/null +++ b/doc/ref/c++.internal/html/classgrpc_1_1_client_async_reader_interface.html @@ -0,0 +1,123 @@ + + + + + + +GRPC C++: grpc::ClientAsyncReaderInterface< R > Class Template Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
grpc::ClientAsyncReaderInterface< R > Class Template Reference
+
+
+ +

#include <stream.h>

+ + + + + + + + + + + + + + +

+Additional Inherited Members

- Public Member Functions inherited from grpc::ClientAsyncStreamingInterface
virtual ~ClientAsyncStreamingInterface ()
 
virtual void ReadInitialMetadata (void *tag)=0
 
virtual void Finish (Status *status, void *tag)=0
 
- Public Member Functions inherited from grpc::AsyncReaderInterface< R >
virtual ~AsyncReaderInterface ()
 
virtual void Read (R *msg, void *tag)=0
 
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/doc/ref/c++.internal/html/classgrpc_1_1_client_async_reader_writer.html b/doc/ref/c++.internal/html/classgrpc_1_1_client_async_reader_writer.html new file mode 100644 index 0000000000..c06cb29ed5 --- /dev/null +++ b/doc/ref/c++.internal/html/classgrpc_1_1_client_async_reader_writer.html @@ -0,0 +1,361 @@ + + + + + + +GRPC C++: grpc::ClientAsyncReaderWriter< R, W > Class Template Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc::ClientAsyncReaderWriter< R, W > Class Template Reference
+
+
+ +

#include <client_context.h>

+ + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 ClientAsyncReaderWriter (ChannelInterface *channel, CompletionQueue *cq, const RpcMethod &method, ClientContext *context, void *tag)
 
void ReadInitialMetadata (void *tag) GRPC_OVERRIDE
 
void Read (R *msg, void *tag) GRPC_OVERRIDE
 
void Write (const W &msg, void *tag) GRPC_OVERRIDE
 
void WritesDone (void *tag) GRPC_OVERRIDE
 
void Finish (Status *status, void *tag) GRPC_OVERRIDE
 
- Public Member Functions inherited from grpc::ClientAsyncStreamingInterface
virtual ~ClientAsyncStreamingInterface ()
 
- Public Member Functions inherited from grpc::AsyncWriterInterface< W >
virtual ~AsyncWriterInterface ()
 
- Public Member Functions inherited from grpc::AsyncReaderInterface< R >
virtual ~AsyncReaderInterface ()
 
+

Constructor & Destructor Documentation

+ +
+
+
+template<class R , class W >
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
grpc::ClientAsyncReaderWriter< R, W >::ClientAsyncReaderWriter (ChannelInterfacechannel,
CompletionQueuecq,
const RpcMethodmethod,
ClientContextcontext,
void * tag 
)
+
+inline
+
+ +
+
+

Member Function Documentation

+ +
+
+
+template<class R , class W >
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void grpc::ClientAsyncReaderWriter< R, W >::Finish (Statusstatus,
void * tag 
)
+
+inlinevirtual
+
+
+ +
+
+
+template<class R , class W >
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void grpc::ClientAsyncReaderWriter< R, W >::Read (R * msg,
void * tag 
)
+
+inlinevirtual
+
+
+ +
+
+
+template<class R , class W >
+ + + + + +
+ + + + + + + + +
void grpc::ClientAsyncReaderWriter< R, W >::ReadInitialMetadata (void * tag)
+
+inlinevirtual
+
+
+ +
+
+
+template<class R , class W >
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void grpc::ClientAsyncReaderWriter< R, W >::Write (const W & msg,
void * tag 
)
+
+inlinevirtual
+
+
+ +
+
+
+template<class R , class W >
+ + + + + +
+ + + + + + + + +
void grpc::ClientAsyncReaderWriter< R, W >::WritesDone (void * tag)
+
+inlinevirtual
+
+
+
The documentation for this class was generated from the following files: +
+ + + + diff --git a/doc/ref/c++.internal/html/classgrpc_1_1_client_async_reader_writer_interface.html b/doc/ref/c++.internal/html/classgrpc_1_1_client_async_reader_writer_interface.html new file mode 100644 index 0000000000..1499464c52 --- /dev/null +++ b/doc/ref/c++.internal/html/classgrpc_1_1_client_async_reader_writer_interface.html @@ -0,0 +1,161 @@ + + + + + + +GRPC C++: grpc::ClientAsyncReaderWriterInterface< W, R > Class Template Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc::ClientAsyncReaderWriterInterface< W, R > Class Template Referenceabstract
+
+
+ +

#include <stream.h>

+ + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

virtual void WritesDone (void *tag)=0
 
- Public Member Functions inherited from grpc::ClientAsyncStreamingInterface
virtual ~ClientAsyncStreamingInterface ()
 
virtual void ReadInitialMetadata (void *tag)=0
 
virtual void Finish (Status *status, void *tag)=0
 
- Public Member Functions inherited from grpc::AsyncWriterInterface< W >
virtual ~AsyncWriterInterface ()
 
virtual void Write (const W &msg, void *tag)=0
 
- Public Member Functions inherited from grpc::AsyncReaderInterface< R >
virtual ~AsyncReaderInterface ()
 
virtual void Read (R *msg, void *tag)=0
 
+

Member Function Documentation

+ +
+
+
+template<class W , class R >
+ + + + + +
+ + + + + + + + +
virtual void grpc::ClientAsyncReaderWriterInterface< W, R >::WritesDone (void * tag)
+
+pure virtual
+
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/doc/ref/c++.internal/html/classgrpc_1_1_client_async_response_reader.html b/doc/ref/c++.internal/html/classgrpc_1_1_client_async_response_reader.html new file mode 100644 index 0000000000..214b95c180 --- /dev/null +++ b/doc/ref/c++.internal/html/classgrpc_1_1_client_async_response_reader.html @@ -0,0 +1,253 @@ + + + + + + +GRPC C++: grpc::ClientAsyncResponseReader< R > Class Template Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc::ClientAsyncResponseReader< R > Class Template Reference
+
+
+ +

#include <async_unary_call.h>

+ + + + + + + + + + + + +

+Public Member Functions

template<class W >
 ClientAsyncResponseReader (ChannelInterface *channel, CompletionQueue *cq, const RpcMethod &method, ClientContext *context, const W &request)
 
void ReadInitialMetadata (void *tag)
 
void Finish (R *msg, Status *status, void *tag)
 
- Public Member Functions inherited from grpc::ClientAsyncResponseReaderInterface< R >
virtual ~ClientAsyncResponseReaderInterface ()
 
+

Constructor & Destructor Documentation

+ +
+
+
+template<class R >
+
+template<class W >
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
grpc::ClientAsyncResponseReader< R >::ClientAsyncResponseReader (ChannelInterfacechannel,
CompletionQueuecq,
const RpcMethodmethod,
ClientContextcontext,
const W & request 
)
+
+inline
+
+ +
+
+

Member Function Documentation

+ +
+
+
+template<class R >
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
void grpc::ClientAsyncResponseReader< R >::Finish (R * msg,
Statusstatus,
void * tag 
)
+
+inlinevirtual
+
+
+ +
+
+
+template<class R >
+ + + + + +
+ + + + + + + + +
void grpc::ClientAsyncResponseReader< R >::ReadInitialMetadata (void * tag)
+
+inlinevirtual
+
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/doc/ref/c++.internal/html/classgrpc_1_1_client_async_response_reader_interface.html b/doc/ref/c++.internal/html/classgrpc_1_1_client_async_response_reader_interface.html new file mode 100644 index 0000000000..ede2274108 --- /dev/null +++ b/doc/ref/c++.internal/html/classgrpc_1_1_client_async_response_reader_interface.html @@ -0,0 +1,218 @@ + + + + + + +GRPC C++: grpc::ClientAsyncResponseReaderInterface< R > Class Template Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc::ClientAsyncResponseReaderInterface< R > Class Template Referenceabstract
+
+
+ +

#include <async_unary_call.h>

+ + + + + + + + +

+Public Member Functions

virtual ~ClientAsyncResponseReaderInterface ()
 
virtual void ReadInitialMetadata (void *tag)=0
 
virtual void Finish (R *msg, Status *status, void *tag)=0
 
+

Constructor & Destructor Documentation

+ +
+
+
+template<class R >
+ + + + + +
+ + + + + + + +
virtual grpc::ClientAsyncResponseReaderInterface< R >::~ClientAsyncResponseReaderInterface ()
+
+inlinevirtual
+
+ +
+
+

Member Function Documentation

+ +
+
+
+template<class R >
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
virtual void grpc::ClientAsyncResponseReaderInterface< R >::Finish (R * msg,
Statusstatus,
void * tag 
)
+
+pure virtual
+
+ +

Implemented in grpc::ClientAsyncResponseReader< R >.

+ +
+
+ +
+
+
+template<class R >
+ + + + + +
+ + + + + + + + +
virtual void grpc::ClientAsyncResponseReaderInterface< R >::ReadInitialMetadata (void * tag)
+
+pure virtual
+
+ +

Implemented in grpc::ClientAsyncResponseReader< R >.

+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/doc/ref/c++.internal/html/classgrpc_1_1_client_async_streaming_interface.html b/doc/ref/c++.internal/html/classgrpc_1_1_client_async_streaming_interface.html new file mode 100644 index 0000000000..a8bfd55f93 --- /dev/null +++ b/doc/ref/c++.internal/html/classgrpc_1_1_client_async_streaming_interface.html @@ -0,0 +1,206 @@ + + + + + + +GRPC C++: grpc::ClientAsyncStreamingInterface Class Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc::ClientAsyncStreamingInterface Class Referenceabstract
+
+
+ +

#include <stream.h>

+ + + + + + + + +

+Public Member Functions

virtual ~ClientAsyncStreamingInterface ()
 
virtual void ReadInitialMetadata (void *tag)=0
 
virtual void Finish (Status *status, void *tag)=0
 
+

Constructor & Destructor Documentation

+ +
+
+ + + + + +
+ + + + + + + +
virtual grpc::ClientAsyncStreamingInterface::~ClientAsyncStreamingInterface ()
+
+inlinevirtual
+
+ +
+
+

Member Function Documentation

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
virtual void grpc::ClientAsyncStreamingInterface::Finish (Statusstatus,
void * tag 
)
+
+pure virtual
+
+
+ +
+
+ + + + + +
+ + + + + + + + +
virtual void grpc::ClientAsyncStreamingInterface::ReadInitialMetadata (void * tag)
+
+pure virtual
+
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/doc/ref/c++.internal/html/classgrpc_1_1_client_async_writer.html b/doc/ref/c++.internal/html/classgrpc_1_1_client_async_writer.html new file mode 100644 index 0000000000..1dc0649932 --- /dev/null +++ b/doc/ref/c++.internal/html/classgrpc_1_1_client_async_writer.html @@ -0,0 +1,327 @@ + + + + + + +GRPC C++: grpc::ClientAsyncWriter< W > Class Template Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc::ClientAsyncWriter< W > Class Template Reference
+
+
+ +

#include <client_context.h>

+ + + + + + + + + + + + + + + + + + + +

+Public Member Functions

template<class R >
 ClientAsyncWriter (ChannelInterface *channel, CompletionQueue *cq, const RpcMethod &method, ClientContext *context, R *response, void *tag)
 
void ReadInitialMetadata (void *tag) GRPC_OVERRIDE
 
void Write (const W &msg, void *tag) GRPC_OVERRIDE
 
void WritesDone (void *tag) GRPC_OVERRIDE
 
void Finish (Status *status, void *tag) GRPC_OVERRIDE
 
- Public Member Functions inherited from grpc::ClientAsyncStreamingInterface
virtual ~ClientAsyncStreamingInterface ()
 
- Public Member Functions inherited from grpc::AsyncWriterInterface< W >
virtual ~AsyncWriterInterface ()
 
+

Constructor & Destructor Documentation

+ +
+
+
+template<class W >
+
+template<class R >
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
grpc::ClientAsyncWriter< W >::ClientAsyncWriter (ChannelInterfacechannel,
CompletionQueuecq,
const RpcMethodmethod,
ClientContextcontext,
R * response,
void * tag 
)
+
+inline
+
+ +
+
+

Member Function Documentation

+ +
+
+
+template<class W >
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void grpc::ClientAsyncWriter< W >::Finish (Statusstatus,
void * tag 
)
+
+inlinevirtual
+
+
+ +
+
+
+template<class W >
+ + + + + +
+ + + + + + + + +
void grpc::ClientAsyncWriter< W >::ReadInitialMetadata (void * tag)
+
+inlinevirtual
+
+
+ +
+
+
+template<class W >
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void grpc::ClientAsyncWriter< W >::Write (const W & msg,
void * tag 
)
+
+inlinevirtual
+
+
+ +
+
+
+template<class W >
+ + + + + +
+ + + + + + + + +
void grpc::ClientAsyncWriter< W >::WritesDone (void * tag)
+
+inlinevirtual
+
+
+
The documentation for this class was generated from the following files: +
+ + + + diff --git a/doc/ref/c++.internal/html/classgrpc_1_1_client_async_writer_interface.html b/doc/ref/c++.internal/html/classgrpc_1_1_client_async_writer_interface.html new file mode 100644 index 0000000000..3b287eb95e --- /dev/null +++ b/doc/ref/c++.internal/html/classgrpc_1_1_client_async_writer_interface.html @@ -0,0 +1,156 @@ + + + + + + +GRPC C++: grpc::ClientAsyncWriterInterface< W > Class Template Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc::ClientAsyncWriterInterface< W > Class Template Referenceabstract
+
+
+ +

#include <stream.h>

+ + + + + + + + + + + + + + + + +

+Public Member Functions

virtual void WritesDone (void *tag)=0
 
- Public Member Functions inherited from grpc::ClientAsyncStreamingInterface
virtual ~ClientAsyncStreamingInterface ()
 
virtual void ReadInitialMetadata (void *tag)=0
 
virtual void Finish (Status *status, void *tag)=0
 
- Public Member Functions inherited from grpc::AsyncWriterInterface< W >
virtual ~AsyncWriterInterface ()
 
virtual void Write (const W &msg, void *tag)=0
 
+

Member Function Documentation

+ +
+
+
+template<class W >
+ + + + + +
+ + + + + + + + +
virtual void grpc::ClientAsyncWriterInterface< W >::WritesDone (void * tag)
+
+pure virtual
+
+ +

Implemented in grpc::ClientAsyncWriter< W >.

+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/doc/ref/c++.internal/html/classgrpc_1_1_client_context.html b/doc/ref/c++.internal/html/classgrpc_1_1_client_context.html new file mode 100644 index 0000000000..54d547a574 --- /dev/null +++ b/doc/ref/c++.internal/html/classgrpc_1_1_client_context.html @@ -0,0 +1,810 @@ + + + + + + +GRPC C++: grpc::ClientContext Class Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc::ClientContext Class Reference
+
+
+ +

#include <client_context.h>

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 ClientContext ()
 
 ~ClientContext ()
 
void AddMetadata (const grpc::string &meta_key, const grpc::string &meta_value)
 
const std::multimap
+< grpc::string, grpc::string > & 
GetServerInitialMetadata ()
 
const std::multimap
+< grpc::string, grpc::string > & 
GetServerTrailingMetadata ()
 
template<typename T >
void set_deadline (const T &deadline)
 
std::chrono::system_clock::time_point deadline ()
 
gpr_timespec raw_deadline ()
 
void set_authority (const grpc::string &authority)
 
void set_credentials (const std::shared_ptr< Credentials > &creds)
 
grpc_compression_algorithm compression_algorithm () const
 
void set_compression_algorithm (grpc_compression_algorithm algorithm)
 
std::shared_ptr< const
+AuthContext
auth_context () const
 
grpc::string peer () const
 
void set_census_context (struct census_context *ccp)
 
struct census_context * census_context () const
 
void TryCancel ()
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Friends

class CallOpClientRecvStatus
 
class CallOpRecvInitialMetadata
 
class Channel
 
template<class R >
class ::grpc::ClientReader
 
template<class W >
class ::grpc::ClientWriter
 
template<class R , class W >
class ::grpc::ClientReaderWriter
 
template<class R >
class ::grpc::ClientAsyncReader
 
template<class W >
class ::grpc::ClientAsyncWriter
 
template<class R , class W >
class ::grpc::ClientAsyncReaderWriter
 
template<class R >
class ::grpc::ClientAsyncResponseReader
 
template<class InputMessage , class OutputMessage >
Status BlockingUnaryCall (ChannelInterface *channel, const RpcMethod &method, ClientContext *context, const InputMessage &request, OutputMessage *result)
 
+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + +
grpc::ClientContext::ClientContext ()
+
+ +
+
+ +
+
+ + + + + + + +
grpc::ClientContext::~ClientContext ()
+
+ +
+
+

Member Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
void grpc::ClientContext::AddMetadata (const grpc::stringmeta_key,
const grpc::stringmeta_value 
)
+
+ +
+
+ +
+
+ + + + + + + +
std::shared_ptr< const AuthContext > grpc::ClientContext::auth_context () const
+
+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
struct census_context* grpc::ClientContext::census_context () const
+
+inline
+
+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
grpc_compression_algorithm grpc::ClientContext::compression_algorithm () const
+
+inline
+
+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
std::chrono::system_clock::time_point grpc::ClientContext::deadline ()
+
+inline
+
+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
const std::multimap<grpc::string, grpc::string>& grpc::ClientContext::GetServerInitialMetadata ()
+
+inline
+
+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
const std::multimap<grpc::string, grpc::string>& grpc::ClientContext::GetServerTrailingMetadata ()
+
+inline
+
+ +
+
+ +
+
+ + + + + + + +
grpc::string grpc::ClientContext::peer () const
+
+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
gpr_timespec grpc::ClientContext::raw_deadline ()
+
+inline
+
+ +
+
+ +
+
+ + + + + +
+ + + + + + + + +
void grpc::ClientContext::set_authority (const grpc::stringauthority)
+
+inline
+
+ +
+
+ +
+
+ + + + + +
+ + + + + + + + +
void grpc::ClientContext::set_census_context (struct census_contextccp)
+
+inline
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc::ClientContext::set_compression_algorithm (grpc_compression_algorithm algorithm)
+
+ +
+
+ +
+
+ + + + + +
+ + + + + + + + +
void grpc::ClientContext::set_credentials (const std::shared_ptr< Credentials > & creds)
+
+inline
+
+ +
+
+ +
+
+
+template<typename T >
+ + + + + +
+ + + + + + + + +
void grpc::ClientContext::set_deadline (const T & deadline)
+
+inline
+
+ +
+
+ +
+
+ + + + + + + +
void grpc::ClientContext::TryCancel ()
+
+ +
+
+

Friends And Related Function Documentation

+ +
+
+
+template<class R >
+ + + + + +
+ + + + +
friend class ::grpc::ClientAsyncReader
+
+friend
+
+ +
+
+ +
+
+
+template<class R , class W >
+ + + + + +
+ + + + +
friend class ::grpc::ClientAsyncReaderWriter
+
+friend
+
+ +
+
+ +
+
+
+template<class R >
+ + + + + +
+ + + + +
friend class ::grpc::ClientAsyncResponseReader
+
+friend
+
+ +
+
+ +
+
+
+template<class W >
+ + + + + +
+ + + + +
friend class ::grpc::ClientAsyncWriter
+
+friend
+
+ +
+
+ +
+
+
+template<class R >
+ + + + + +
+ + + + +
friend class ::grpc::ClientReader
+
+friend
+
+ +
+
+ +
+
+
+template<class R , class W >
+ + + + + +
+ + + + +
friend class ::grpc::ClientReaderWriter
+
+friend
+
+ +
+
+ +
+
+
+template<class W >
+ + + + + +
+ + + + +
friend class ::grpc::ClientWriter
+
+friend
+
+ +
+
+ +
+
+
+template<class InputMessage , class OutputMessage >
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Status BlockingUnaryCall (ChannelInterfacechannel,
const RpcMethodmethod,
ClientContextcontext,
const InputMessage & request,
OutputMessage * result 
)
+
+friend
+
+ +
+
+ +
+
+ + + + + +
+ + + + +
friend class CallOpClientRecvStatus
+
+friend
+
+ +
+
+ +
+
+ + + + + +
+ + + + +
friend class CallOpRecvInitialMetadata
+
+friend
+
+ +
+
+ +
+
+ + + + + +
+ + + + +
friend class Channel
+
+friend
+
+ +
+
+
The documentation for this class was generated from the following files: +
+ + + + diff --git a/doc/ref/c++.internal/html/classgrpc_1_1_client_reader.html b/doc/ref/c++.internal/html/classgrpc_1_1_client_reader.html new file mode 100644 index 0000000000..bed01b5abb --- /dev/null +++ b/doc/ref/c++.internal/html/classgrpc_1_1_client_reader.html @@ -0,0 +1,263 @@ + + + + + + +GRPC C++: grpc::ClientReader< R > Class Template Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc::ClientReader< R > Class Template Reference
+
+
+ +

#include <client_context.h>

+ + + + + + + + + + + + + + + + + +

+Public Member Functions

template<class W >
 ClientReader (ChannelInterface *channel, const RpcMethod &method, ClientContext *context, const W &request)
 
void WaitForInitialMetadata ()
 
bool Read (R *msg) GRPC_OVERRIDE
 
Status Finish () GRPC_OVERRIDE
 
- Public Member Functions inherited from grpc::ClientStreamingInterface
virtual ~ClientStreamingInterface ()
 
- Public Member Functions inherited from grpc::ReaderInterface< R >
virtual ~ReaderInterface ()
 
+

Constructor & Destructor Documentation

+ +
+
+
+template<class R >
+
+template<class W >
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
grpc::ClientReader< R >::ClientReader (ChannelInterfacechannel,
const RpcMethodmethod,
ClientContextcontext,
const W & request 
)
+
+inline
+
+ +
+
+

Member Function Documentation

+ +
+
+
+template<class R >
+ + + + + +
+ + + + + + + +
Status grpc::ClientReader< R >::Finish ()
+
+inlinevirtual
+
+ +

Implements grpc::ClientStreamingInterface.

+ +
+
+ +
+
+
+template<class R >
+ + + + + +
+ + + + + + + + +
bool grpc::ClientReader< R >::Read (R * msg)
+
+inlinevirtual
+
+ +

Implements grpc::ReaderInterface< R >.

+ +
+
+ +
+
+
+template<class R >
+ + + + + +
+ + + + + + + +
void grpc::ClientReader< R >::WaitForInitialMetadata ()
+
+inlinevirtual
+
+
+
The documentation for this class was generated from the following files: +
+ + + + diff --git a/doc/ref/c++.internal/html/classgrpc_1_1_client_reader_interface.html b/doc/ref/c++.internal/html/classgrpc_1_1_client_reader_interface.html new file mode 100644 index 0000000000..ae025d46f3 --- /dev/null +++ b/doc/ref/c++.internal/html/classgrpc_1_1_client_reader_interface.html @@ -0,0 +1,153 @@ + + + + + + +GRPC C++: grpc::ClientReaderInterface< R > Class Template Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc::ClientReaderInterface< R > Class Template Referenceabstract
+
+
+ +

#include <stream.h>

+ + + + + + + + + + + + + + +

+Public Member Functions

virtual void WaitForInitialMetadata ()=0
 
- Public Member Functions inherited from grpc::ClientStreamingInterface
virtual ~ClientStreamingInterface ()
 
virtual Status Finish ()=0
 
- Public Member Functions inherited from grpc::ReaderInterface< R >
virtual ~ReaderInterface ()
 
virtual bool Read (R *msg)=0
 
+

Member Function Documentation

+ +
+
+
+template<class R >
+ + + + + +
+ + + + + + + +
virtual void grpc::ClientReaderInterface< R >::WaitForInitialMetadata ()
+
+pure virtual
+
+ +

Implemented in grpc::ClientReader< R >.

+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/doc/ref/c++.internal/html/classgrpc_1_1_client_reader_writer.html b/doc/ref/c++.internal/html/classgrpc_1_1_client_reader_writer.html new file mode 100644 index 0000000000..98dbbba406 --- /dev/null +++ b/doc/ref/c++.internal/html/classgrpc_1_1_client_reader_writer.html @@ -0,0 +1,328 @@ + + + + + + +GRPC C++: grpc::ClientReaderWriter< R, W > Class Template Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc::ClientReaderWriter< R, W > Class Template Reference
+
+
+ +

#include <client_context.h>

+ + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 ClientReaderWriter (ChannelInterface *channel, const RpcMethod &method, ClientContext *context)
 
void WaitForInitialMetadata ()
 
bool Read (R *msg) GRPC_OVERRIDE
 
bool Write (const W &msg, const WriteOptions &options) GRPC_OVERRIDE
 
bool WritesDone () GRPC_OVERRIDE
 
Status Finish () GRPC_OVERRIDE
 
- Public Member Functions inherited from grpc::ClientStreamingInterface
virtual ~ClientStreamingInterface ()
 
- Public Member Functions inherited from grpc::WriterInterface< W >
virtual ~WriterInterface ()
 
bool Write (const W &msg)
 
- Public Member Functions inherited from grpc::ReaderInterface< R >
virtual ~ReaderInterface ()
 
+

Constructor & Destructor Documentation

+ +
+
+
+template<class R , class W >
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
grpc::ClientReaderWriter< R, W >::ClientReaderWriter (ChannelInterfacechannel,
const RpcMethodmethod,
ClientContextcontext 
)
+
+inline
+
+ +
+
+

Member Function Documentation

+ +
+
+
+template<class R , class W >
+ + + + + +
+ + + + + + + +
Status grpc::ClientReaderWriter< R, W >::Finish ()
+
+inlinevirtual
+
+ +

Implements grpc::ClientStreamingInterface.

+ +
+
+ +
+
+
+template<class R , class W >
+ + + + + +
+ + + + + + + + +
bool grpc::ClientReaderWriter< R, W >::Read (R * msg)
+
+inlinevirtual
+
+ +

Implements grpc::ReaderInterface< R >.

+ +
+
+ +
+
+
+template<class R , class W >
+ + + + + +
+ + + + + + + +
void grpc::ClientReaderWriter< R, W >::WaitForInitialMetadata ()
+
+inlinevirtual
+
+
+ +
+
+
+template<class R , class W >
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
bool grpc::ClientReaderWriter< R, W >::Write (const W & msg,
const WriteOptionsoptions 
)
+
+inlinevirtual
+
+ +

Implements grpc::WriterInterface< W >.

+ +
+
+ +
+
+
+template<class R , class W >
+ + + + + +
+ + + + + + + +
bool grpc::ClientReaderWriter< R, W >::WritesDone ()
+
+inlinevirtual
+
+
+
The documentation for this class was generated from the following files: +
+ + + + diff --git a/doc/ref/c++.internal/html/classgrpc_1_1_client_reader_writer_interface.html b/doc/ref/c++.internal/html/classgrpc_1_1_client_reader_writer_interface.html new file mode 100644 index 0000000000..6079982781 --- /dev/null +++ b/doc/ref/c++.internal/html/classgrpc_1_1_client_reader_writer_interface.html @@ -0,0 +1,189 @@ + + + + + + +GRPC C++: grpc::ClientReaderWriterInterface< W, R > Class Template Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc::ClientReaderWriterInterface< W, R > Class Template Referenceabstract
+
+
+ +

#include <stream.h>

+ + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

virtual void WaitForInitialMetadata ()=0
 
virtual bool WritesDone ()=0
 
- Public Member Functions inherited from grpc::ClientStreamingInterface
virtual ~ClientStreamingInterface ()
 
virtual Status Finish ()=0
 
- Public Member Functions inherited from grpc::WriterInterface< W >
virtual ~WriterInterface ()
 
virtual bool Write (const W &msg, const WriteOptions &options)=0
 
bool Write (const W &msg)
 
- Public Member Functions inherited from grpc::ReaderInterface< R >
virtual ~ReaderInterface ()
 
virtual bool Read (R *msg)=0
 
+

Member Function Documentation

+ +
+
+
+template<class W , class R >
+ + + + + +
+ + + + + + + +
virtual void grpc::ClientReaderWriterInterface< W, R >::WaitForInitialMetadata ()
+
+pure virtual
+
+ +

Implemented in grpc::ClientReaderWriter< R, W >.

+ +
+
+ +
+
+
+template<class W , class R >
+ + + + + +
+ + + + + + + +
virtual bool grpc::ClientReaderWriterInterface< W, R >::WritesDone ()
+
+pure virtual
+
+ +

Implemented in grpc::ClientReaderWriter< R, W >.

+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/doc/ref/c++.internal/html/classgrpc_1_1_client_streaming_handler.html b/doc/ref/c++.internal/html/classgrpc_1_1_client_streaming_handler.html new file mode 100644 index 0000000000..6da95675c5 --- /dev/null +++ b/doc/ref/c++.internal/html/classgrpc_1_1_client_streaming_handler.html @@ -0,0 +1,187 @@ + + + + + + +GRPC C++: grpc::ClientStreamingHandler< ServiceType, RequestType, ResponseType > Class Template Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc::ClientStreamingHandler< ServiceType, RequestType, ResponseType > Class Template Reference
+
+
+ +

#include <completion_queue.h>

+ + + + + + + + + +

+Public Member Functions

 ClientStreamingHandler (std::function< Status(ServiceType *, ServerContext *, ServerReader< RequestType > *, ResponseType *)> func, ServiceType *service)
 
void RunHandler (const HandlerParameter &param)
 
- Public Member Functions inherited from grpc::MethodHandler
virtual ~MethodHandler ()
 
+

Constructor & Destructor Documentation

+ +
+
+
+template<class ServiceType , class RequestType , class ResponseType >
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
grpc::ClientStreamingHandler< ServiceType, RequestType, ResponseType >::ClientStreamingHandler (std::function< Status(ServiceType *, ServerContext *, ServerReader< RequestType > *, ResponseType *)> func,
ServiceType * service 
)
+
+inline
+
+ +
+
+

Member Function Documentation

+ +
+
+
+template<class ServiceType , class RequestType , class ResponseType >
+ + + + + +
+ + + + + + + + +
void grpc::ClientStreamingHandler< ServiceType, RequestType, ResponseType >::RunHandler (const HandlerParameterparam)
+
+inlinevirtual
+
+ +

Implements grpc::MethodHandler.

+ +
+
+
The documentation for this class was generated from the following files: +
+ + + + diff --git a/doc/ref/c++.internal/html/classgrpc_1_1_client_streaming_interface.html b/doc/ref/c++.internal/html/classgrpc_1_1_client_streaming_interface.html new file mode 100644 index 0000000000..326310b37f --- /dev/null +++ b/doc/ref/c++.internal/html/classgrpc_1_1_client_streaming_interface.html @@ -0,0 +1,167 @@ + + + + + + +GRPC C++: grpc::ClientStreamingInterface Class Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc::ClientStreamingInterface Class Referenceabstract
+
+
+ +

#include <stream.h>

+ + + + + + +

+Public Member Functions

virtual ~ClientStreamingInterface ()
 
virtual Status Finish ()=0
 
+

Constructor & Destructor Documentation

+ +
+
+ + + + + +
+ + + + + + + +
virtual grpc::ClientStreamingInterface::~ClientStreamingInterface ()
+
+inlinevirtual
+
+ +
+
+

Member Function Documentation

+ +
+
+ + + + + +
+ + + + + + + +
virtual Status grpc::ClientStreamingInterface::Finish ()
+
+pure virtual
+
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/doc/ref/c++.internal/html/classgrpc_1_1_client_writer.html b/doc/ref/c++.internal/html/classgrpc_1_1_client_writer.html new file mode 100644 index 0000000000..cb153b7e7f --- /dev/null +++ b/doc/ref/c++.internal/html/classgrpc_1_1_client_writer.html @@ -0,0 +1,275 @@ + + + + + + +GRPC C++: grpc::ClientWriter< W > Class Template Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc::ClientWriter< W > Class Template Reference
+
+
+ +

#include <client_context.h>

+ + + + + + + + + + + + + + + + + + + +

+Public Member Functions

template<class R >
 ClientWriter (ChannelInterface *channel, const RpcMethod &method, ClientContext *context, R *response)
 
bool Write (const W &msg, const WriteOptions &options) GRPC_OVERRIDE
 
bool WritesDone () GRPC_OVERRIDE
 
Status Finish () GRPC_OVERRIDE
 
- Public Member Functions inherited from grpc::ClientStreamingInterface
virtual ~ClientStreamingInterface ()
 
- Public Member Functions inherited from grpc::WriterInterface< W >
virtual ~WriterInterface ()
 
bool Write (const W &msg)
 
+

Constructor & Destructor Documentation

+ +
+
+
+template<class W >
+
+template<class R >
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
grpc::ClientWriter< W >::ClientWriter (ChannelInterfacechannel,
const RpcMethodmethod,
ClientContextcontext,
R * response 
)
+
+inline
+
+ +
+
+

Member Function Documentation

+ +
+
+
+template<class W >
+ + + + + +
+ + + + + + + +
Status grpc::ClientWriter< W >::Finish ()
+
+inlinevirtual
+
+ +

Implements grpc::ClientStreamingInterface.

+ +
+
+ +
+
+
+template<class W >
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
bool grpc::ClientWriter< W >::Write (const W & msg,
const WriteOptionsoptions 
)
+
+inlinevirtual
+
+ +

Implements grpc::WriterInterface< W >.

+ +
+
+ +
+
+
+template<class W >
+ + + + + +
+ + + + + + + +
bool grpc::ClientWriter< W >::WritesDone ()
+
+inlinevirtual
+
+
+
The documentation for this class was generated from the following files: +
+ + + + diff --git a/doc/ref/c++.internal/html/classgrpc_1_1_client_writer_interface.html b/doc/ref/c++.internal/html/classgrpc_1_1_client_writer_interface.html new file mode 100644 index 0000000000..7bb0aca787 --- /dev/null +++ b/doc/ref/c++.internal/html/classgrpc_1_1_client_writer_interface.html @@ -0,0 +1,155 @@ + + + + + + +GRPC C++: grpc::ClientWriterInterface< W > Class Template Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc::ClientWriterInterface< W > Class Template Referenceabstract
+
+
+ +

#include <stream.h>

+ + + + + + + + + + + + + + + + +

+Public Member Functions

virtual bool WritesDone ()=0
 
- Public Member Functions inherited from grpc::ClientStreamingInterface
virtual ~ClientStreamingInterface ()
 
virtual Status Finish ()=0
 
- Public Member Functions inherited from grpc::WriterInterface< W >
virtual ~WriterInterface ()
 
virtual bool Write (const W &msg, const WriteOptions &options)=0
 
bool Write (const W &msg)
 
+

Member Function Documentation

+ +
+
+
+template<class W >
+ + + + + +
+ + + + + + + +
virtual bool grpc::ClientWriterInterface< W >::WritesDone ()
+
+pure virtual
+
+ +

Implemented in grpc::ClientWriter< W >.

+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/doc/ref/c++.internal/html/classgrpc_1_1_completion_queue.html b/doc/ref/c++.internal/html/classgrpc_1_1_completion_queue.html new file mode 100644 index 0000000000..ea4deb8642 --- /dev/null +++ b/doc/ref/c++.internal/html/classgrpc_1_1_completion_queue.html @@ -0,0 +1,690 @@ + + + + + + +GRPC C++: grpc::CompletionQueue Class Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc::CompletionQueue Class Reference
+
+
+ +

#include <completion_queue.h>

+ + + + +

+Public Types

enum  NextStatus { SHUTDOWN, +GOT_EVENT, +TIMEOUT + }
 
+ + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 CompletionQueue ()
 
 CompletionQueue (grpc_completion_queue *take)
 
 ~CompletionQueue () GRPC_OVERRIDE
 
template<typename T >
NextStatus AsyncNext (void **tag, bool *ok, const T &deadline)
 
bool Next (void **tag, bool *ok)
 
void Shutdown ()
 
grpc_completion_queue * cq ()
 
- Public Member Functions inherited from grpc::GrpcLibrary
 GrpcLibrary ()
 
virtual ~GrpcLibrary ()
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Friends

template<class R >
class ::grpc::ClientReader
 
template<class W >
class ::grpc::ClientWriter
 
template<class R , class W >
class ::grpc::ClientReaderWriter
 
template<class R >
class ::grpc::ServerReader
 
template<class W >
class ::grpc::ServerWriter
 
template<class R , class W >
class ::grpc::ServerReaderWriter
 
template<class ServiceType , class RequestType , class ResponseType >
class RpcMethodHandler
 
template<class ServiceType , class RequestType , class ResponseType >
class ClientStreamingHandler
 
template<class ServiceType , class RequestType , class ResponseType >
class ServerStreamingHandler
 
template<class ServiceType , class RequestType , class ResponseType >
class BidiStreamingHandler
 
class ::grpc::Server
 
class ::grpc::ServerContext
 
template<class InputMessage , class OutputMessage >
Status BlockingUnaryCall (ChannelInterface *channel, const RpcMethod &method, ClientContext *context, const InputMessage &request, OutputMessage *result)
 
+

Member Enumeration Documentation

+ +
+
+ + + + +
Enumerator
SHUTDOWN  +
GOT_EVENT  +
TIMEOUT  +
+ +
+
+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + +
grpc::CompletionQueue::CompletionQueue ()
+
+ +
+
+ +
+
+ + + + + +
+ + + + + + + + +
grpc::CompletionQueue::CompletionQueue (grpc_completion_queue * take)
+
+explicit
+
+ +
+
+ +
+
+ + + + + + + +
grpc::CompletionQueue::~CompletionQueue ()
+
+ +
+
+

Member Function Documentation

+ +
+
+
+template<typename T >
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
NextStatus grpc::CompletionQueue::AsyncNext (void ** tag,
bool * ok,
const T & deadline 
)
+
+inline
+
+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
grpc_completion_queue* grpc::CompletionQueue::cq ()
+
+inline
+
+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
bool grpc::CompletionQueue::Next (void ** tag,
bool * ok 
)
+
+inline
+
+ +
+
+ +
+
+ + + + + + + +
void grpc::CompletionQueue::Shutdown ()
+
+ +
+
+

Friends And Related Function Documentation

+ +
+
+
+template<class R >
+ + + + + +
+ + + + +
friend class ::grpc::ClientReader
+
+friend
+
+ +
+
+ +
+
+
+template<class R , class W >
+ + + + + +
+ + + + +
friend class ::grpc::ClientReaderWriter
+
+friend
+
+ +
+
+ +
+
+
+template<class W >
+ + + + + +
+ + + + +
friend class ::grpc::ClientWriter
+
+friend
+
+ +
+
+ +
+
+ + + + + +
+ + + + +
friend class ::grpc::Server
+
+friend
+
+ +
+
+ +
+
+ + + + + +
+ + + + +
friend class ::grpc::ServerContext
+
+friend
+
+ +
+
+ +
+
+
+template<class R >
+ + + + + +
+ + + + +
friend class ::grpc::ServerReader
+
+friend
+
+ +
+
+ +
+
+
+template<class R , class W >
+ + + + + +
+ + + + +
friend class ::grpc::ServerReaderWriter
+
+friend
+
+ +
+
+ +
+
+
+template<class W >
+ + + + + +
+ + + + +
friend class ::grpc::ServerWriter
+
+friend
+
+ +
+
+ +
+
+
+template<class ServiceType , class RequestType , class ResponseType >
+ + + + + +
+ + + + +
friend class BidiStreamingHandler
+
+friend
+
+ +
+
+ +
+
+
+template<class InputMessage , class OutputMessage >
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Status BlockingUnaryCall (ChannelInterfacechannel,
const RpcMethodmethod,
ClientContextcontext,
const InputMessage & request,
OutputMessage * result 
)
+
+friend
+
+ +
+
+ +
+
+
+template<class ServiceType , class RequestType , class ResponseType >
+ + + + + +
+ + + + +
friend class ClientStreamingHandler
+
+friend
+
+ +
+
+ +
+
+
+template<class ServiceType , class RequestType , class ResponseType >
+ + + + + +
+ + + + +
friend class RpcMethodHandler
+
+friend
+
+ +
+
+ +
+
+
+template<class ServiceType , class RequestType , class ResponseType >
+ + + + + +
+ + + + +
friend class ServerStreamingHandler
+
+friend
+
+ +
+
+
The documentation for this class was generated from the following files: +
+ + + + diff --git a/doc/ref/c++.internal/html/classgrpc_1_1_completion_queue_tag.html b/doc/ref/c++.internal/html/classgrpc_1_1_completion_queue_tag.html new file mode 100644 index 0000000000..71c3f0cdf1 --- /dev/null +++ b/doc/ref/c++.internal/html/classgrpc_1_1_completion_queue_tag.html @@ -0,0 +1,178 @@ + + + + + + +GRPC C++: grpc::CompletionQueueTag Class Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc::CompletionQueueTag Class Referenceabstract
+
+
+ +

#include <completion_queue.h>

+ + + + + + +

+Public Member Functions

virtual ~CompletionQueueTag ()
 
virtual bool FinalizeResult (void **tag, bool *status)=0
 
+

Constructor & Destructor Documentation

+ +
+
+ + + + + +
+ + + + + + + +
virtual grpc::CompletionQueueTag::~CompletionQueueTag ()
+
+inlinevirtual
+
+ +
+
+

Member Function Documentation

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
virtual bool grpc::CompletionQueueTag::FinalizeResult (void ** tag,
bool * status 
)
+
+pure virtual
+
+ +

Implemented in grpc::SneakyCallOpSet< Op1, Op2, Op3, Op4, Op5, Op6 >, grpc::SneakyCallOpSet< grpc::CallOpSendInitialMetadata, grpc::CallOpSendMessage, grpc::CallOpClientSendClose >, grpc::CallOpSet< Op1, Op2, Op3, Op4, Op5, Op6 >, grpc::CallOpSet< grpc::CallOpGenericRecvMessage, grpc::CallOpClientRecvStatus >, grpc::CallOpSet< grpc::CallOpSendInitialMetadata, grpc::CallOpSendMessage >, grpc::CallOpSet< grpc::CallOpSendInitialMetadata >, grpc::CallOpSet< grpc::CallOpRecvInitialMetadata, grpc::CallOpRecvMessage< R >, grpc::CallOpClientRecvStatus >, grpc::CallOpSet< grpc::CallOpClientSendClose >, grpc::CallOpSet< grpc::CallOpSendInitialMetadata, grpc::CallOpSendMessage, grpc::CallOpServerSendStatus >, grpc::CallOpSet< grpc::CallOpSendInitialMetadata, grpc::CallOpServerSendStatus >, grpc::CallOpSet< grpc::CallOpSendMessage >, grpc::CallOpSet< grpc::CallOpRecvInitialMetadata >, grpc::CallOpSet< grpc::CallOpSendInitialMetadata, grpc::CallOpSendMessage, grpc::CallOpClientSendClose, CallNoOp< 4 >, CallNoOp< 5 >, CallNoOp< 6 > >, grpc::CallOpSet< grpc::CallOpRecvInitialMetadata, grpc::CallOpClientRecvStatus >, grpc::CallOpSet< grpc::CallOpRecvMessage< R > >, grpc::CallOpSet< grpc::CallOpRecvInitialMetadata, grpc::CallOpGenericRecvMessage, grpc::CallOpClientRecvStatus >, grpc::CallOpSet< grpc::CallOpSendInitialMetadata, grpc::CallOpSendMessage, grpc::CallOpClientSendClose >, grpc::CallOpSet< grpc::CallOpRecvInitialMetadata, grpc::CallOpRecvMessage< R > >, grpc::Server::SyncRequest, grpc::ServerContext::CompletionOp, and grpc::Server::ShutdownRequest.

+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/doc/ref/c++.internal/html/classgrpc_1_1_credentials.html b/doc/ref/c++.internal/html/classgrpc_1_1_credentials.html new file mode 100644 index 0000000000..5da1ce0f43 --- /dev/null +++ b/doc/ref/c++.internal/html/classgrpc_1_1_credentials.html @@ -0,0 +1,280 @@ + + + + + + +GRPC C++: grpc::Credentials Class Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc::Credentials Class Referenceabstract
+
+
+ +

#include <credentials.h>

+ + + + + + + + + + + +

+Public Member Functions

 ~Credentials () GRPC_OVERRIDE
 
virtual bool ApplyToCall (grpc_call *call)=0
 
- Public Member Functions inherited from grpc::GrpcLibrary
 GrpcLibrary ()
 
virtual ~GrpcLibrary ()
 
+ + + +

+Protected Member Functions

virtual SecureCredentialsAsSecureCredentials ()=0
 
+ + + + + +

+Friends

std::shared_ptr< CredentialsCompositeCredentials (const std::shared_ptr< Credentials > &creds1, const std::shared_ptr< Credentials > &creds2)
 
std::shared_ptr< ChannelInterfaceCreateChannel (const grpc::string &target, const std::shared_ptr< Credentials > &creds, const ChannelArguments &args)
 
+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + +
grpc::Credentials::~Credentials ()
+
+ +
+
+

Member Function Documentation

+ +
+
+ + + + + +
+ + + + + + + + +
virtual bool grpc::Credentials::ApplyToCall (grpc_call * call)
+
+pure virtual
+
+ +

Implemented in grpc::SecureCredentials.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
virtual SecureCredentials* grpc::Credentials::AsSecureCredentials ()
+
+protectedpure virtual
+
+ +

Implemented in grpc::SecureCredentials.

+ +
+
+

Friends And Related Function Documentation

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
std::shared_ptr<Credentials> CompositeCredentials (const std::shared_ptr< Credentials > & creds1,
const std::shared_ptr< Credentials > & creds2 
)
+
+friend
+
+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
std::shared_ptr<ChannelInterface> CreateChannel (const grpc::stringtarget,
const std::shared_ptr< Credentials > & creds,
const ChannelArgumentsargs 
)
+
+friend
+
+ +
+
+
The documentation for this class was generated from the following files: +
+ + + + diff --git a/doc/ref/c++.internal/html/classgrpc_1_1_dynamic_thread_pool.html b/doc/ref/c++.internal/html/classgrpc_1_1_dynamic_thread_pool.html new file mode 100644 index 0000000000..f96a1fa2d5 --- /dev/null +++ b/doc/ref/c++.internal/html/classgrpc_1_1_dynamic_thread_pool.html @@ -0,0 +1,191 @@ + + + + + + +GRPC C++: grpc::DynamicThreadPool Class Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc::DynamicThreadPool Class Reference
+
+
+ +

#include <dynamic_thread_pool.h>

+ + + + + + + + + + + +

+Public Member Functions

 DynamicThreadPool (int reserve_threads)
 
 ~DynamicThreadPool ()
 
void Add (const std::function< void()> &callback) GRPC_OVERRIDE
 
- Public Member Functions inherited from grpc::ThreadPoolInterface
virtual ~ThreadPoolInterface ()
 
+

Constructor & Destructor Documentation

+ +
+
+ + + + + +
+ + + + + + + + +
grpc::DynamicThreadPool::DynamicThreadPool (int reserve_threads)
+
+explicit
+
+ +
+
+ +
+
+ + + + + + + +
grpc::DynamicThreadPool::~DynamicThreadPool ()
+
+ +
+
+

Member Function Documentation

+ +
+
+ + + + + +
+ + + + + + + + +
void grpc::DynamicThreadPool::Add (const std::function< void()> & callback)
+
+virtual
+
+ +

Implements grpc::ThreadPoolInterface.

+ +
+
+
The documentation for this class was generated from the following files: +
+ + + + diff --git a/doc/ref/c++.internal/html/classgrpc_1_1_fixed_size_thread_pool.html b/doc/ref/c++.internal/html/classgrpc_1_1_fixed_size_thread_pool.html new file mode 100644 index 0000000000..db3a02dc27 --- /dev/null +++ b/doc/ref/c++.internal/html/classgrpc_1_1_fixed_size_thread_pool.html @@ -0,0 +1,190 @@ + + + + + + +GRPC C++: grpc::FixedSizeThreadPool Class Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc::FixedSizeThreadPool Class Reference
+
+
+ +

#include <fixed_size_thread_pool.h>

+ + + + + + + + + + + +

+Public Member Functions

 FixedSizeThreadPool (int num_threads)
 
 ~FixedSizeThreadPool ()
 
void Add (const std::function< void()> &callback) GRPC_OVERRIDE
 
- Public Member Functions inherited from grpc::ThreadPoolInterface
virtual ~ThreadPoolInterface ()
 
+

Constructor & Destructor Documentation

+ +
+
+ + + + + +
+ + + + + + + + +
grpc::FixedSizeThreadPool::FixedSizeThreadPool (int num_threads)
+
+explicit
+
+ +
+
+ +
+
+ + + + + + + +
grpc::FixedSizeThreadPool::~FixedSizeThreadPool ()
+
+ +
+
+

Member Function Documentation

+ +
+
+ + + + + +
+ + + + + + + + +
void grpc::FixedSizeThreadPool::Add (const std::function< void()> & callback)
+
+virtual
+
+ +

Implements grpc::ThreadPoolInterface.

+ +
+
+
The documentation for this class was generated from the following files: +
+ + + + diff --git a/doc/ref/c++.internal/html/classgrpc_1_1_generic_server_context.html b/doc/ref/c++.internal/html/classgrpc_1_1_generic_server_context.html new file mode 100644 index 0000000000..e7fb07b1c5 --- /dev/null +++ b/doc/ref/c++.internal/html/classgrpc_1_1_generic_server_context.html @@ -0,0 +1,224 @@ + + + + + + +GRPC C++: grpc::GenericServerContext Class Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc::GenericServerContext Class Reference
+
+
+ +

#include <async_generic_service.h>

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

const grpc::stringmethod () const
 
const grpc::stringhost () const
 
- Public Member Functions inherited from grpc::ServerContext
 ServerContext ()
 
 ~ServerContext ()
 
std::chrono::system_clock::time_point deadline ()
 
gpr_timespec raw_deadline ()
 
void AddInitialMetadata (const grpc::string &key, const grpc::string &value)
 
void AddTrailingMetadata (const grpc::string &key, const grpc::string &value)
 
bool IsCancelled () const
 
const std::multimap
+< grpc::string, grpc::string > & 
client_metadata ()
 
grpc_compression_level compression_level () const
 
void set_compression_level (grpc_compression_level level)
 
grpc_compression_algorithm compression_algorithm () const
 
void set_compression_algorithm (grpc_compression_algorithm algorithm)
 
std::shared_ptr< const
+AuthContext
auth_context () const
 
grpc::string peer () const
 
const struct census_context * census_context () const
 
+ + + +

+Friends

class Server
 
+

Member Function Documentation

+ +
+
+ + + + + +
+ + + + + + + +
const grpc::string& grpc::GenericServerContext::host () const
+
+inline
+
+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
const grpc::string& grpc::GenericServerContext::method () const
+
+inline
+
+ +
+
+

Friends And Related Function Documentation

+ +
+
+ + + + + +
+ + + + +
friend class Server
+
+friend
+
+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/doc/ref/c++.internal/html/classgrpc_1_1_generic_stub.html b/doc/ref/c++.internal/html/classgrpc_1_1_generic_stub.html new file mode 100644 index 0000000000..ede8c1d482 --- /dev/null +++ b/doc/ref/c++.internal/html/classgrpc_1_1_generic_stub.html @@ -0,0 +1,183 @@ + + + + + + +GRPC C++: grpc::GenericStub Class Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc::GenericStub Class Reference
+
+
+ +

#include <generic_stub.h>

+ + + + + + +

+Public Member Functions

 GenericStub (std::shared_ptr< ChannelInterface > channel)
 
std::unique_ptr
+< GenericClientAsyncReaderWriter
Call (ClientContext *context, const grpc::string &method, CompletionQueue *cq, void *tag)
 
+

Constructor & Destructor Documentation

+ +
+
+ + + + + +
+ + + + + + + + +
grpc::GenericStub::GenericStub (std::shared_ptr< ChannelInterfacechannel)
+
+inlineexplicit
+
+ +
+
+

Member Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
std::unique_ptr< GenericClientAsyncReaderWriter > grpc::GenericStub::Call (ClientContextcontext,
const grpc::stringmethod,
CompletionQueuecq,
void * tag 
)
+
+ +
+
+
The documentation for this class was generated from the following files: +
+ + + + diff --git a/doc/ref/c++.internal/html/classgrpc_1_1_grpc_library.html b/doc/ref/c++.internal/html/classgrpc_1_1_grpc_library.html new file mode 100644 index 0000000000..ab2c02eaef --- /dev/null +++ b/doc/ref/c++.internal/html/classgrpc_1_1_grpc_library.html @@ -0,0 +1,164 @@ + + + + + + +GRPC C++: grpc::GrpcLibrary Class Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc::GrpcLibrary Class Reference
+
+
+ +

#include <grpc_library.h>

+ + + + + + +

+Public Member Functions

 GrpcLibrary ()
 
virtual ~GrpcLibrary ()
 
+

Constructor & Destructor Documentation

+ +
+
+ + + + + +
+ + + + + + + +
grpc::GrpcLibrary::GrpcLibrary ()
+
+inline
+
+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
virtual grpc::GrpcLibrary::~GrpcLibrary ()
+
+inlinevirtual
+
+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/doc/ref/c++.internal/html/classgrpc_1_1_internal_stub.html b/doc/ref/c++.internal/html/classgrpc_1_1_internal_stub.html new file mode 100644 index 0000000000..ade10da46f --- /dev/null +++ b/doc/ref/c++.internal/html/classgrpc_1_1_internal_stub.html @@ -0,0 +1,191 @@ + + + + + + +GRPC C++: grpc::InternalStub Class Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc::InternalStub Class Reference
+
+
+ +

#include <internal_stub.h>

+ + + + + + + + +

+Public Member Functions

 InternalStub (const std::shared_ptr< ChannelInterface > &channel)
 
virtual ~InternalStub ()
 
ChannelInterfacechannel ()
 
+

Constructor & Destructor Documentation

+ +
+
+ + + + + +
+ + + + + + + + +
grpc::InternalStub::InternalStub (const std::shared_ptr< ChannelInterface > & channel)
+
+inline
+
+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
virtual grpc::InternalStub::~InternalStub ()
+
+inlinevirtual
+
+ +
+
+

Member Function Documentation

+ +
+
+ + + + + +
+ + + + + + + +
ChannelInterface* grpc::InternalStub::channel ()
+
+inline
+
+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/doc/ref/c++.internal/html/classgrpc_1_1_method_handler.html b/doc/ref/c++.internal/html/classgrpc_1_1_method_handler.html new file mode 100644 index 0000000000..ee222daf16 --- /dev/null +++ b/doc/ref/c++.internal/html/classgrpc_1_1_method_handler.html @@ -0,0 +1,174 @@ + + + + + + +GRPC C++: grpc::MethodHandler Class Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc::MethodHandler Class Referenceabstract
+
+
+ +

#include <rpc_service_method.h>

+ + + + +

+Data Structures

struct  HandlerParameter
 
+ + + + + +

+Public Member Functions

virtual ~MethodHandler ()
 
virtual void RunHandler (const HandlerParameter &param)=0
 
+

Constructor & Destructor Documentation

+ +
+
+ + + + + +
+ + + + + + + +
virtual grpc::MethodHandler::~MethodHandler ()
+
+inlinevirtual
+
+ +
+
+

Member Function Documentation

+ + +
The documentation for this class was generated from the following file: +
+ + + + diff --git a/doc/ref/c++.internal/html/classgrpc_1_1_reader_interface.html b/doc/ref/c++.internal/html/classgrpc_1_1_reader_interface.html new file mode 100644 index 0000000000..b644816d9f --- /dev/null +++ b/doc/ref/c++.internal/html/classgrpc_1_1_reader_interface.html @@ -0,0 +1,172 @@ + + + + + + +GRPC C++: grpc::ReaderInterface< R > Class Template Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc::ReaderInterface< R > Class Template Referenceabstract
+
+
+ +

#include <stream.h>

+ + + + + + +

+Public Member Functions

virtual ~ReaderInterface ()
 
virtual bool Read (R *msg)=0
 
+

Constructor & Destructor Documentation

+ +
+
+
+template<class R >
+ + + + + +
+ + + + + + + +
virtual grpc::ReaderInterface< R >::~ReaderInterface ()
+
+inlinevirtual
+
+ +
+
+

Member Function Documentation

+ +
+
+
+template<class R >
+ + + + + +
+ + + + + + + + +
virtual bool grpc::ReaderInterface< R >::Read (R * msg)
+
+pure virtual
+
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/doc/ref/c++.internal/html/classgrpc_1_1_rpc_method.html b/doc/ref/c++.internal/html/classgrpc_1_1_rpc_method.html new file mode 100644 index 0000000000..816707363a --- /dev/null +++ b/doc/ref/c++.internal/html/classgrpc_1_1_rpc_method.html @@ -0,0 +1,265 @@ + + + + + + +GRPC C++: grpc::RpcMethod Class Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc::RpcMethod Class Reference
+
+
+ +

#include <rpc_method.h>

+ + + + +

+Public Types

enum  RpcType { NORMAL_RPC = 0, +CLIENT_STREAMING, +SERVER_STREAMING, +BIDI_STREAMING + }
 
+ + + + + + + + + +

+Public Member Functions

 RpcMethod (const char *name, RpcType type, void *channel_tag)
 
const char * name () const
 
RpcType method_type () const
 
void * channel_tag () const
 
+

Member Enumeration Documentation

+ +
+
+ + + + +
enum grpc::RpcMethod::RpcType
+
+ + + + + +
Enumerator
NORMAL_RPC  +
CLIENT_STREAMING  +
SERVER_STREAMING  +
BIDI_STREAMING  +
+ +
+
+

Constructor & Destructor Documentation

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
grpc::RpcMethod::RpcMethod (const char * name,
RpcType type,
void * channel_tag 
)
+
+inline
+
+ +
+
+

Member Function Documentation

+ +
+
+ + + + + +
+ + + + + + + +
void* grpc::RpcMethod::channel_tag () const
+
+inline
+
+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
RpcType grpc::RpcMethod::method_type () const
+
+inline
+
+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
const char* grpc::RpcMethod::name () const
+
+inline
+
+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/doc/ref/c++.internal/html/classgrpc_1_1_rpc_method_handler.html b/doc/ref/c++.internal/html/classgrpc_1_1_rpc_method_handler.html new file mode 100644 index 0000000000..78f3fb4dd7 --- /dev/null +++ b/doc/ref/c++.internal/html/classgrpc_1_1_rpc_method_handler.html @@ -0,0 +1,187 @@ + + + + + + +GRPC C++: grpc::RpcMethodHandler< ServiceType, RequestType, ResponseType > Class Template Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc::RpcMethodHandler< ServiceType, RequestType, ResponseType > Class Template Reference
+
+
+ +

#include <completion_queue.h>

+ + + + + + + + + +

+Public Member Functions

 RpcMethodHandler (std::function< Status(ServiceType *, ServerContext *, const RequestType *, ResponseType *)> func, ServiceType *service)
 
void RunHandler (const HandlerParameter &param)
 
- Public Member Functions inherited from grpc::MethodHandler
virtual ~MethodHandler ()
 
+

Constructor & Destructor Documentation

+ +
+
+
+template<class ServiceType , class RequestType , class ResponseType >
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
grpc::RpcMethodHandler< ServiceType, RequestType, ResponseType >::RpcMethodHandler (std::function< Status(ServiceType *, ServerContext *, const RequestType *, ResponseType *)> func,
ServiceType * service 
)
+
+inline
+
+ +
+
+

Member Function Documentation

+ +
+
+
+template<class ServiceType , class RequestType , class ResponseType >
+ + + + + +
+ + + + + + + + +
void grpc::RpcMethodHandler< ServiceType, RequestType, ResponseType >::RunHandler (const HandlerParameterparam)
+
+inlinevirtual
+
+ +

Implements grpc::MethodHandler.

+ +
+
+
The documentation for this class was generated from the following files: +
+ + + + diff --git a/doc/ref/c++.internal/html/classgrpc_1_1_rpc_service.html b/doc/ref/c++.internal/html/classgrpc_1_1_rpc_service.html new file mode 100644 index 0000000000..95eb7f3a2c --- /dev/null +++ b/doc/ref/c++.internal/html/classgrpc_1_1_rpc_service.html @@ -0,0 +1,191 @@ + + + + + + +GRPC C++: grpc::RpcService Class Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc::RpcService Class Reference
+
+
+ +

#include <rpc_service_method.h>

+ + + + + + + + +

+Public Member Functions

void AddMethod (RpcServiceMethod *method)
 
RpcServiceMethodGetMethod (int i)
 
int GetMethodCount () const
 
+

Member Function Documentation

+ +
+
+ + + + + +
+ + + + + + + + +
void grpc::RpcService::AddMethod (RpcServiceMethodmethod)
+
+inline
+
+ +
+
+ +
+
+ + + + + +
+ + + + + + + + +
RpcServiceMethod* grpc::RpcService::GetMethod (int i)
+
+inline
+
+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
int grpc::RpcService::GetMethodCount () const
+
+inline
+
+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/doc/ref/c++.internal/html/classgrpc_1_1_rpc_service_method.html b/doc/ref/c++.internal/html/classgrpc_1_1_rpc_service_method.html new file mode 100644 index 0000000000..7b22368b87 --- /dev/null +++ b/doc/ref/c++.internal/html/classgrpc_1_1_rpc_service_method.html @@ -0,0 +1,201 @@ + + + + + + +GRPC C++: grpc::RpcServiceMethod Class Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc::RpcServiceMethod Class Reference
+
+
+ +

#include <rpc_service_method.h>

+ + + + + + + + + + + + + + + +

+Public Member Functions

 RpcServiceMethod (const char *name, RpcMethod::RpcType type, MethodHandler *handler)
 
MethodHandlerhandler ()
 
- Public Member Functions inherited from grpc::RpcMethod
 RpcMethod (const char *name, RpcType type, void *channel_tag)
 
const char * name () const
 
RpcType method_type () const
 
void * channel_tag () const
 
+ + + + +

+Additional Inherited Members

- Public Types inherited from grpc::RpcMethod
enum  RpcType { NORMAL_RPC = 0, +CLIENT_STREAMING, +SERVER_STREAMING, +BIDI_STREAMING + }
 
+

Constructor & Destructor Documentation

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
grpc::RpcServiceMethod::RpcServiceMethod (const char * name,
RpcMethod::RpcType type,
MethodHandlerhandler 
)
+
+inline
+
+ +
+
+

Member Function Documentation

+ +
+
+ + + + + +
+ + + + + + + +
MethodHandler* grpc::RpcServiceMethod::handler ()
+
+inline
+
+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/doc/ref/c++.internal/html/classgrpc_1_1_secure_auth_context.html b/doc/ref/c++.internal/html/classgrpc_1_1_secure_auth_context.html new file mode 100644 index 0000000000..7f5035addf --- /dev/null +++ b/doc/ref/c++.internal/html/classgrpc_1_1_secure_auth_context.html @@ -0,0 +1,290 @@ + + + + + + +GRPC C++: grpc::SecureAuthContext Class Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc::SecureAuthContext Class Reference
+
+
+ +

#include <secure_auth_context.h>

+ + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 SecureAuthContext (grpc_auth_context *ctx)
 
 ~SecureAuthContext () GRPC_OVERRIDE
 
std::vector< grpc::stringGetPeerIdentity () const GRPC_OVERRIDE
 
grpc::string GetPeerIdentityPropertyName () const GRPC_OVERRIDE
 
std::vector< grpc::stringFindPropertyValues (const grpc::string &name) const GRPC_OVERRIDE
 
AuthPropertyIterator begin () const GRPC_OVERRIDE
 
AuthPropertyIterator end () const GRPC_OVERRIDE
 
- Public Member Functions inherited from grpc::AuthContext
virtual ~AuthContext ()
 
+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + +
grpc::SecureAuthContext::SecureAuthContext (grpc_auth_context * ctx)
+
+ +
+
+ +
+
+ + + + + + + +
grpc::SecureAuthContext::~SecureAuthContext ()
+
+ +
+
+

Member Function Documentation

+ +
+
+ + + + + +
+ + + + + + + +
AuthPropertyIterator grpc::SecureAuthContext::begin () const
+
+virtual
+
+ +

Implements grpc::AuthContext.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
AuthPropertyIterator grpc::SecureAuthContext::end () const
+
+virtual
+
+ +

Implements grpc::AuthContext.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + +
std::vector< grpc::string > grpc::SecureAuthContext::FindPropertyValues (const grpc::stringname) const
+
+virtual
+
+ +

Implements grpc::AuthContext.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
std::vector< grpc::string > grpc::SecureAuthContext::GetPeerIdentity () const
+
+virtual
+
+ +

Implements grpc::AuthContext.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
grpc::string grpc::SecureAuthContext::GetPeerIdentityPropertyName () const
+
+virtual
+
+ +

Implements grpc::AuthContext.

+ +
+
+
The documentation for this class was generated from the following files: +
+ + + + diff --git a/doc/ref/c++.internal/html/classgrpc_1_1_secure_credentials.html b/doc/ref/c++.internal/html/classgrpc_1_1_secure_credentials.html new file mode 100644 index 0000000000..dd8b69c68c --- /dev/null +++ b/doc/ref/c++.internal/html/classgrpc_1_1_secure_credentials.html @@ -0,0 +1,297 @@ + + + + + + +GRPC C++: grpc::SecureCredentials Class Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc::SecureCredentials Class Reference
+
+
+ +

#include <secure_credentials.h>

+ + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 SecureCredentials (grpc_credentials *c_creds)
 
 ~SecureCredentials () GRPC_OVERRIDE
 
grpc_credentials * GetRawCreds ()
 
bool ApplyToCall (grpc_call *call) GRPC_OVERRIDE
 
std::shared_ptr
+< grpc::ChannelInterface
CreateChannel (const string &target, const grpc::ChannelArguments &args) GRPC_OVERRIDE
 
SecureCredentialsAsSecureCredentials () GRPC_OVERRIDE
 
- Public Member Functions inherited from grpc::Credentials
 ~Credentials () GRPC_OVERRIDE
 
- Public Member Functions inherited from grpc::GrpcLibrary
 GrpcLibrary ()
 
virtual ~GrpcLibrary ()
 
+ +

+Additional Inherited Members

+

Constructor & Destructor Documentation

+ +
+
+ + + + + +
+ + + + + + + + +
grpc::SecureCredentials::SecureCredentials (grpc_credentials * c_creds)
+
+inlineexplicit
+
+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
grpc::SecureCredentials::~SecureCredentials ()
+
+inline
+
+ +
+
+

Member Function Documentation

+ +
+
+ + + + + +
+ + + + + + + + +
bool grpc::SecureCredentials::ApplyToCall (grpc_call * call)
+
+virtual
+
+ +

Implements grpc::Credentials.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
SecureCredentials* grpc::SecureCredentials::AsSecureCredentials ()
+
+inlinevirtual
+
+ +

Implements grpc::Credentials.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
std::shared_ptr< grpc::ChannelInterface > grpc::SecureCredentials::CreateChannel (const stringtarget,
const grpc::ChannelArgumentsargs 
)
+
+virtual
+
+ +

Implements grpc::Credentials.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
grpc_credentials* grpc::SecureCredentials::GetRawCreds ()
+
+inline
+
+ +
+
+
The documentation for this class was generated from the following files: +
+ + + + diff --git a/doc/ref/c++.internal/html/classgrpc_1_1_secure_server_credentials.html b/doc/ref/c++.internal/html/classgrpc_1_1_secure_server_credentials.html new file mode 100644 index 0000000000..d5a050e3e0 --- /dev/null +++ b/doc/ref/c++.internal/html/classgrpc_1_1_secure_server_credentials.html @@ -0,0 +1,208 @@ + + + + + + +GRPC C++: grpc::SecureServerCredentials Class Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc::SecureServerCredentials Class Reference
+
+
+ +

#include <secure_server_credentials.h>

+ + + + + + + + + + + +

+Public Member Functions

 SecureServerCredentials (grpc_server_credentials *creds)
 
 ~SecureServerCredentials () GRPC_OVERRIDE
 
int AddPortToServer (const grpc::string &addr, grpc_server *server) GRPC_OVERRIDE
 
- Public Member Functions inherited from grpc::ServerCredentials
virtual ~ServerCredentials ()
 
+

Constructor & Destructor Documentation

+ +
+
+ + + + + +
+ + + + + + + + +
grpc::SecureServerCredentials::SecureServerCredentials (grpc_server_credentials * creds)
+
+inlineexplicit
+
+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
grpc::SecureServerCredentials::~SecureServerCredentials ()
+
+inline
+
+ +
+
+

Member Function Documentation

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
int grpc::SecureServerCredentials::AddPortToServer (const grpc::stringaddr,
grpc_server * server 
)
+
+virtual
+
+ +

Implements grpc::ServerCredentials.

+ +
+
+
The documentation for this class was generated from the following files: +
+ + + + diff --git a/doc/ref/c++.internal/html/classgrpc_1_1_serialization_traits.html b/doc/ref/c++.internal/html/classgrpc_1_1_serialization_traits.html new file mode 100644 index 0000000000..b335e0bf82 --- /dev/null +++ b/doc/ref/c++.internal/html/classgrpc_1_1_serialization_traits.html @@ -0,0 +1,119 @@ + + + + + + +GRPC C++: grpc::SerializationTraits< Message, UnusedButHereForPartialTemplateSpecialization > Class Template Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
grpc::SerializationTraits< Message, UnusedButHereForPartialTemplateSpecialization > Class Template Reference
+
+
+ +

Defines how to serialize and deserialize some type. + More...

+ +

#include <serialization_traits.h>

+

Detailed Description

+

template<class Message, class UnusedButHereForPartialTemplateSpecialization = void>
+class grpc::SerializationTraits< Message, UnusedButHereForPartialTemplateSpecialization >

+ +

Defines how to serialize and deserialize some type.

+

Used for hooking different message serialization API's into GRPC. Each SerializationTraits implementation must provide the following functions: static Status Serialize(const Message& msg, grpc_byte_buffer** buffer, static Status Deserialize(grpc_byte_buffer* buffer, Message* msg, int max_message_size);

+

Serialize is required to convert message to a grpc_byte_buffer, and to store a pointer to that byte buffer at *buffer. *own_buffer should be set to true if the caller owns said byte buffer, or false if ownership is retained elsewhere.

+

Deserialize is required to convert buffer into the message stored at msg. max_message_size is passed in as a bound on the maximum number of message bytes Deserialize should accept.

+

Both functions return a Status, allowing them to explain what went wrong if required.

+

The documentation for this class was generated from the following file: +
+ + + + diff --git a/doc/ref/c++.internal/html/classgrpc_1_1_serialization_traits_3_01_byte_buffer_00_01void_01_4.html b/doc/ref/c++.internal/html/classgrpc_1_1_serialization_traits_3_01_byte_buffer_00_01void_01_4.html new file mode 100644 index 0000000000..e6a4ccdebe --- /dev/null +++ b/doc/ref/c++.internal/html/classgrpc_1_1_serialization_traits_3_01_byte_buffer_00_01void_01_4.html @@ -0,0 +1,198 @@ + + + + + + +GRPC C++: grpc::SerializationTraits< ByteBuffer, void > Class Template Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc::SerializationTraits< ByteBuffer, void > Class Template Reference
+
+
+ +

#include <byte_buffer.h>

+ + + + + + +

+Static Public Member Functions

static Status Deserialize (grpc_byte_buffer *byte_buffer, ByteBuffer *dest, int max_message_size)
 
static Status Serialize (const ByteBuffer &source, grpc_byte_buffer **buffer, bool *own_buffer)
 
+

Member Function Documentation

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
static Status grpc::SerializationTraits< ByteBuffer, void >::Deserialize (grpc_byte_buffer * byte_buffer,
ByteBufferdest,
int max_message_size 
)
+
+inlinestatic
+
+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
static Status grpc::SerializationTraits< ByteBuffer, void >::Serialize (const ByteBuffersource,
grpc_byte_buffer ** buffer,
bool * own_buffer 
)
+
+inlinestatic
+
+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/doc/ref/c++.internal/html/classgrpc_1_1_serialization_traits_3_01_t_00_01typename_01std_1_1enable__if_3_01std_1_1is__base_42903f95c85f031c7724191271564901.html b/doc/ref/c++.internal/html/classgrpc_1_1_serialization_traits_3_01_t_00_01typename_01std_1_1enable__if_3_01std_1_1is__base_42903f95c85f031c7724191271564901.html new file mode 100644 index 0000000000..22b55b5fda --- /dev/null +++ b/doc/ref/c++.internal/html/classgrpc_1_1_serialization_traits_3_01_t_00_01typename_01std_1_1enable__if_3_01std_1_1is__base_42903f95c85f031c7724191271564901.html @@ -0,0 +1,202 @@ + + + + + + +GRPC C++: grpc::SerializationTraits< T, typename std::enable_if< std::is_base_of< grpc::protobuf::Message, T >::value >::type > Class Template Reference + + + + + + + + + + +
+ +
+
grpc::SerializationTraits< T, typename std::enable_if< std::is_base_of< grpc::protobuf::Message, T >::value >::type > Class Template Reference
+
+
+ +

#include <proto_utils.h>

+ + + + + + +

+Static Public Member Functions

static Status Serialize (const grpc::protobuf::Message &msg, grpc_byte_buffer **buffer, bool *own_buffer)
 
static Status Deserialize (grpc_byte_buffer *buffer, grpc::protobuf::Message *msg, int max_message_size)
 
+

Member Function Documentation

+ +
+
+
+template<class T >
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
static Status grpc::SerializationTraits< T, typename std::enable_if< std::is_base_of< grpc::protobuf::Message, T >::value >::type >::Deserialize (grpc_byte_buffer * buffer,
grpc::protobuf::Messagemsg,
int max_message_size 
)
+
+inlinestatic
+
+ +
+
+ +
+
+
+template<class T >
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
static Status grpc::SerializationTraits< T, typename std::enable_if< std::is_base_of< grpc::protobuf::Message, T >::value >::type >::Serialize (const grpc::protobuf::Messagemsg,
grpc_byte_buffer ** buffer,
bool * own_buffer 
)
+
+inlinestatic
+
+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/doc/ref/c++.internal/html/classgrpc_1_1_server.html b/doc/ref/c++.internal/html/classgrpc_1_1_server.html new file mode 100644 index 0000000000..0a8831f4cd --- /dev/null +++ b/doc/ref/c++.internal/html/classgrpc_1_1_server.html @@ -0,0 +1,251 @@ + + + + + + +GRPC C++: grpc::Server Class Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc::Server Class Reference
+
+
+ +

#include <server.h>

+ + + + + + +

+Data Structures

class  ShutdownRequest
 
class  SyncRequest
 
+ + + + + + + + + + + + +

+Public Member Functions

 ~Server ()
 
void Shutdown ()
 
void Wait ()
 
- Public Member Functions inherited from grpc::GrpcLibrary
 GrpcLibrary ()
 
virtual ~GrpcLibrary ()
 
+ + + + + + + +

+Friends

class AsyncGenericService
 
class AsynchronousService
 
class ServerBuilder
 
+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + +
grpc::Server::~Server ()
+
+ +
+
+

Member Function Documentation

+ +
+
+ + + + + + + +
void grpc::Server::Shutdown ()
+
+ +
+
+ +
+
+ + + + + + + +
void grpc::Server::Wait ()
+
+ +
+
+

Friends And Related Function Documentation

+ +
+
+ + + + + +
+ + + + +
friend class AsyncGenericService
+
+friend
+
+ +
+
+ +
+
+ + + + + +
+ + + + +
friend class AsynchronousService
+
+friend
+
+ +
+
+ +
+
+ + + + + +
+ + + + +
friend class ServerBuilder
+
+friend
+
+ +
+
+
The documentation for this class was generated from the following files: +
+ + + + diff --git a/doc/ref/c++.internal/html/classgrpc_1_1_server_1_1_shutdown_request.html b/doc/ref/c++.internal/html/classgrpc_1_1_server_1_1_shutdown_request.html new file mode 100644 index 0000000000..173254cee1 --- /dev/null +++ b/doc/ref/c++.internal/html/classgrpc_1_1_server_1_1_shutdown_request.html @@ -0,0 +1,153 @@ + + + + + + +GRPC C++: grpc::Server::ShutdownRequest Class Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc::Server::ShutdownRequest Class Reference
+
+
+ + + + + + + +

+Public Member Functions

bool FinalizeResult (void **tag, bool *status)
 
- Public Member Functions inherited from grpc::CompletionQueueTag
virtual ~CompletionQueueTag ()
 
+

Member Function Documentation

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
bool grpc::Server::ShutdownRequest::FinalizeResult (void ** tag,
bool * status 
)
+
+inlinevirtual
+
+ +

Implements grpc::CompletionQueueTag.

+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/doc/ref/c++.internal/html/classgrpc_1_1_server_1_1_sync_request.html b/doc/ref/c++.internal/html/classgrpc_1_1_server_1_1_sync_request.html new file mode 100644 index 0000000000..4b18ff3ea4 --- /dev/null +++ b/doc/ref/c++.internal/html/classgrpc_1_1_server_1_1_sync_request.html @@ -0,0 +1,347 @@ + + + + + + +GRPC C++: grpc::Server::SyncRequest Class Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc::Server::SyncRequest Class Reference
+
+
+ + + + +

+Data Structures

class  CallData
 
+ + + + + + + + + + + + + + + + +

+Public Member Functions

 SyncRequest (RpcServiceMethod *method, void *tag)
 
 ~SyncRequest ()
 
void SetupRequest ()
 
void TeardownRequest ()
 
void Request (grpc_server *server, grpc_completion_queue *notify_cq)
 
bool FinalizeResult (void **tag, bool *status) GRPC_OVERRIDE
 
- Public Member Functions inherited from grpc::CompletionQueueTag
virtual ~CompletionQueueTag ()
 
+ + + +

+Static Public Member Functions

static SyncRequestWait (CompletionQueue *cq, bool *ok)
 
+

Constructor & Destructor Documentation

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
grpc::Server::SyncRequest::SyncRequest (RpcServiceMethodmethod,
void * tag 
)
+
+inline
+
+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
grpc::Server::SyncRequest::~SyncRequest ()
+
+inline
+
+ +
+
+

Member Function Documentation

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
bool grpc::Server::SyncRequest::FinalizeResult (void ** tag,
bool * status 
)
+
+inlinevirtual
+
+ +

Implements grpc::CompletionQueueTag.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void grpc::Server::SyncRequest::Request (grpc_server * server,
grpc_completion_queue * notify_cq 
)
+
+inline
+
+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
void grpc::Server::SyncRequest::SetupRequest ()
+
+inline
+
+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
void grpc::Server::SyncRequest::TeardownRequest ()
+
+inline
+
+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
static SyncRequest* grpc::Server::SyncRequest::Wait (CompletionQueuecq,
bool * ok 
)
+
+inlinestatic
+
+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/doc/ref/c++.internal/html/classgrpc_1_1_server_1_1_sync_request_1_1_call_data.html b/doc/ref/c++.internal/html/classgrpc_1_1_server_1_1_sync_request_1_1_call_data.html new file mode 100644 index 0000000000..c06a470e20 --- /dev/null +++ b/doc/ref/c++.internal/html/classgrpc_1_1_server_1_1_sync_request_1_1_call_data.html @@ -0,0 +1,199 @@ + + + + + + +GRPC C++: grpc::Server::SyncRequest::CallData Class Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc::Server::SyncRequest::CallData Class Reference
+
+
+ + + + + + + + +

+Public Member Functions

 CallData (Server *server, SyncRequest *mrd)
 
 ~CallData ()
 
void Run ()
 
+

Constructor & Destructor Documentation

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
grpc::Server::SyncRequest::CallData::CallData (Serverserver,
SyncRequestmrd 
)
+
+inlineexplicit
+
+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
grpc::Server::SyncRequest::CallData::~CallData ()
+
+inline
+
+ +
+
+

Member Function Documentation

+ +
+
+ + + + + +
+ + + + + + + +
void grpc::Server::SyncRequest::CallData::Run ()
+
+inline
+
+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/doc/ref/c++.internal/html/classgrpc_1_1_server_async_reader.html b/doc/ref/c++.internal/html/classgrpc_1_1_server_async_reader.html new file mode 100644 index 0000000000..88f676d332 --- /dev/null +++ b/doc/ref/c++.internal/html/classgrpc_1_1_server_async_reader.html @@ -0,0 +1,302 @@ + + + + + + +GRPC C++: grpc::ServerAsyncReader< W, R > Class Template Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc::ServerAsyncReader< W, R > Class Template Reference
+
+
+ +

#include <server_context.h>

+ + + + + + + + + + + + + + + + + + +

+Public Member Functions

 ServerAsyncReader (ServerContext *ctx)
 
void SendInitialMetadata (void *tag) GRPC_OVERRIDE
 
void Read (R *msg, void *tag) GRPC_OVERRIDE
 
void Finish (const W &msg, const Status &status, void *tag)
 
void FinishWithError (const Status &status, void *tag)
 
- Public Member Functions inherited from grpc::ServerAsyncStreamingInterface
virtual ~ServerAsyncStreamingInterface ()
 
- Public Member Functions inherited from grpc::AsyncReaderInterface< R >
virtual ~AsyncReaderInterface ()
 
+

Constructor & Destructor Documentation

+ +
+
+
+template<class W , class R >
+ + + + + +
+ + + + + + + + +
grpc::ServerAsyncReader< W, R >::ServerAsyncReader (ServerContextctx)
+
+inlineexplicit
+
+ +
+
+

Member Function Documentation

+ +
+
+
+template<class W , class R >
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
void grpc::ServerAsyncReader< W, R >::Finish (const W & msg,
const Statusstatus,
void * tag 
)
+
+inline
+
+ +
+
+ +
+
+
+template<class W , class R >
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void grpc::ServerAsyncReader< W, R >::FinishWithError (const Statusstatus,
void * tag 
)
+
+inline
+
+ +
+
+ +
+
+
+template<class W , class R >
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void grpc::ServerAsyncReader< W, R >::Read (R * msg,
void * tag 
)
+
+inlinevirtual
+
+
+ +
+
+
+template<class W , class R >
+ + + + + +
+ + + + + + + + +
void grpc::ServerAsyncReader< W, R >::SendInitialMetadata (void * tag)
+
+inlinevirtual
+
+
+
The documentation for this class was generated from the following files: +
+ + + + diff --git a/doc/ref/c++.internal/html/classgrpc_1_1_server_async_reader_writer.html b/doc/ref/c++.internal/html/classgrpc_1_1_server_async_reader_writer.html new file mode 100644 index 0000000000..9b3fbd0ac5 --- /dev/null +++ b/doc/ref/c++.internal/html/classgrpc_1_1_server_async_reader_writer.html @@ -0,0 +1,301 @@ + + + + + + +GRPC C++: grpc::ServerAsyncReaderWriter< R, W > Class Template Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc::ServerAsyncReaderWriter< R, W > Class Template Reference
+
+
+ +

#include <server_context.h>

+ + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 ServerAsyncReaderWriter (ServerContext *ctx)
 
void SendInitialMetadata (void *tag) GRPC_OVERRIDE
 
void Read (R *msg, void *tag) GRPC_OVERRIDE
 
void Write (const W &msg, void *tag) GRPC_OVERRIDE
 
void Finish (const Status &status, void *tag)
 
- Public Member Functions inherited from grpc::ServerAsyncStreamingInterface
virtual ~ServerAsyncStreamingInterface ()
 
- Public Member Functions inherited from grpc::AsyncWriterInterface< W >
virtual ~AsyncWriterInterface ()
 
- Public Member Functions inherited from grpc::AsyncReaderInterface< R >
virtual ~AsyncReaderInterface ()
 
+

Constructor & Destructor Documentation

+ +
+
+
+template<class R , class W >
+ + + + + +
+ + + + + + + + +
grpc::ServerAsyncReaderWriter< R, W >::ServerAsyncReaderWriter (ServerContextctx)
+
+inlineexplicit
+
+ +
+
+

Member Function Documentation

+ +
+
+
+template<class R , class W >
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void grpc::ServerAsyncReaderWriter< R, W >::Finish (const Statusstatus,
void * tag 
)
+
+inline
+
+ +
+
+ +
+
+
+template<class R , class W >
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void grpc::ServerAsyncReaderWriter< R, W >::Read (R * msg,
void * tag 
)
+
+inlinevirtual
+
+
+ +
+
+
+template<class R , class W >
+ + + + + +
+ + + + + + + + +
void grpc::ServerAsyncReaderWriter< R, W >::SendInitialMetadata (void * tag)
+
+inlinevirtual
+
+
+ +
+
+
+template<class R , class W >
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void grpc::ServerAsyncReaderWriter< R, W >::Write (const W & msg,
void * tag 
)
+
+inlinevirtual
+
+
+
The documentation for this class was generated from the following files: +
+ + + + diff --git a/doc/ref/c++.internal/html/classgrpc_1_1_server_async_response_writer.html b/doc/ref/c++.internal/html/classgrpc_1_1_server_async_response_writer.html new file mode 100644 index 0000000000..59f5c8329a --- /dev/null +++ b/doc/ref/c++.internal/html/classgrpc_1_1_server_async_response_writer.html @@ -0,0 +1,258 @@ + + + + + + +GRPC C++: grpc::ServerAsyncResponseWriter< W > Class Template Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc::ServerAsyncResponseWriter< W > Class Template Reference
+
+
+ +

#include <async_unary_call.h>

+ + + + + + + + + + + + + +

+Public Member Functions

 ServerAsyncResponseWriter (ServerContext *ctx)
 
void SendInitialMetadata (void *tag) GRPC_OVERRIDE
 
void Finish (const W &msg, const Status &status, void *tag)
 
void FinishWithError (const Status &status, void *tag)
 
- Public Member Functions inherited from grpc::ServerAsyncStreamingInterface
virtual ~ServerAsyncStreamingInterface ()
 
+

Constructor & Destructor Documentation

+ +
+
+
+template<class W >
+ + + + + +
+ + + + + + + + +
grpc::ServerAsyncResponseWriter< W >::ServerAsyncResponseWriter (ServerContextctx)
+
+inlineexplicit
+
+ +
+
+

Member Function Documentation

+ +
+
+
+template<class W >
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
void grpc::ServerAsyncResponseWriter< W >::Finish (const W & msg,
const Statusstatus,
void * tag 
)
+
+inline
+
+ +
+
+ +
+
+
+template<class W >
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void grpc::ServerAsyncResponseWriter< W >::FinishWithError (const Statusstatus,
void * tag 
)
+
+inline
+
+ +
+
+ +
+
+
+template<class W >
+ + + + + +
+ + + + + + + + +
void grpc::ServerAsyncResponseWriter< W >::SendInitialMetadata (void * tag)
+
+inlinevirtual
+
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/doc/ref/c++.internal/html/classgrpc_1_1_server_async_streaming_interface.html b/doc/ref/c++.internal/html/classgrpc_1_1_server_async_streaming_interface.html new file mode 100644 index 0000000000..0e849f0ceb --- /dev/null +++ b/doc/ref/c++.internal/html/classgrpc_1_1_server_async_streaming_interface.html @@ -0,0 +1,195 @@ + + + + + + +GRPC C++: grpc::ServerAsyncStreamingInterface Class Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc::ServerAsyncStreamingInterface Class Referenceabstract
+
+
+ +

#include <service_type.h>

+ + + + + + +

+Public Member Functions

virtual ~ServerAsyncStreamingInterface ()
 
virtual void SendInitialMetadata (void *tag)=0
 
+ + + +

+Friends

class Server
 
+

Constructor & Destructor Documentation

+ +
+
+ + + + + +
+ + + + + + + +
virtual grpc::ServerAsyncStreamingInterface::~ServerAsyncStreamingInterface ()
+
+inlinevirtual
+
+ +
+
+

Member Function Documentation

+ +
+
+ + + + + +
+ + + + + + + + +
virtual void grpc::ServerAsyncStreamingInterface::SendInitialMetadata (void * tag)
+
+pure virtual
+
+
+

Friends And Related Function Documentation

+ +
+
+ + + + + +
+ + + + +
friend class Server
+
+friend
+
+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/doc/ref/c++.internal/html/classgrpc_1_1_server_async_writer.html b/doc/ref/c++.internal/html/classgrpc_1_1_server_async_writer.html new file mode 100644 index 0000000000..65d3cf8b27 --- /dev/null +++ b/doc/ref/c++.internal/html/classgrpc_1_1_server_async_writer.html @@ -0,0 +1,258 @@ + + + + + + +GRPC C++: grpc::ServerAsyncWriter< W > Class Template Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc::ServerAsyncWriter< W > Class Template Reference
+
+
+ +

#include <server_context.h>

+ + + + + + + + + + + + + + + + +

+Public Member Functions

 ServerAsyncWriter (ServerContext *ctx)
 
void SendInitialMetadata (void *tag) GRPC_OVERRIDE
 
void Write (const W &msg, void *tag) GRPC_OVERRIDE
 
void Finish (const Status &status, void *tag)
 
- Public Member Functions inherited from grpc::ServerAsyncStreamingInterface
virtual ~ServerAsyncStreamingInterface ()
 
- Public Member Functions inherited from grpc::AsyncWriterInterface< W >
virtual ~AsyncWriterInterface ()
 
+

Constructor & Destructor Documentation

+ +
+
+
+template<class W >
+ + + + + +
+ + + + + + + + +
grpc::ServerAsyncWriter< W >::ServerAsyncWriter (ServerContextctx)
+
+inlineexplicit
+
+ +
+
+

Member Function Documentation

+ +
+
+
+template<class W >
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void grpc::ServerAsyncWriter< W >::Finish (const Statusstatus,
void * tag 
)
+
+inline
+
+ +
+
+ +
+
+
+template<class W >
+ + + + + +
+ + + + + + + + +
void grpc::ServerAsyncWriter< W >::SendInitialMetadata (void * tag)
+
+inlinevirtual
+
+
+ +
+
+
+template<class W >
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void grpc::ServerAsyncWriter< W >::Write (const W & msg,
void * tag 
)
+
+inlinevirtual
+
+
+
The documentation for this class was generated from the following files: +
+ + + + diff --git a/doc/ref/c++.internal/html/classgrpc_1_1_server_builder.html b/doc/ref/c++.internal/html/classgrpc_1_1_server_builder.html new file mode 100644 index 0000000000..ab38877403 --- /dev/null +++ b/doc/ref/c++.internal/html/classgrpc_1_1_server_builder.html @@ -0,0 +1,357 @@ + + + + + + +GRPC C++: grpc::ServerBuilder Class Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc::ServerBuilder Class Reference
+
+
+ +

#include <server_builder.h>

+ + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 ServerBuilder ()
 
void RegisterService (SynchronousService *service)
 
void RegisterAsyncService (AsynchronousService *service)
 
void RegisterAsyncGenericService (AsyncGenericService *service)
 
void RegisterService (const grpc::string &host, SynchronousService *service)
 
void RegisterAsyncService (const grpc::string &host, AsynchronousService *service)
 
void SetMaxMessageSize (int max_message_size)
 
void AddListeningPort (const grpc::string &addr, std::shared_ptr< ServerCredentials > creds, int *selected_port=nullptr)
 
void SetThreadPool (ThreadPoolInterface *thread_pool)
 
std::unique_ptr
+< ServerCompletionQueue
AddCompletionQueue ()
 
std::unique_ptr< ServerBuildAndStart ()
 
+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + +
grpc::ServerBuilder::ServerBuilder ()
+
+ +
+
+

Member Function Documentation

+ +
+
+ + + + + + + +
std::unique_ptr< ServerCompletionQueue > grpc::ServerBuilder::AddCompletionQueue ()
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void grpc::ServerBuilder::AddListeningPort (const grpc::stringaddr,
std::shared_ptr< ServerCredentialscreds,
int * selected_port = nullptr 
)
+
+ +
+
+ +
+
+ + + + + + + +
std::unique_ptr< Server > grpc::ServerBuilder::BuildAndStart ()
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc::ServerBuilder::RegisterAsyncGenericService (AsyncGenericServiceservice)
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc::ServerBuilder::RegisterAsyncService (AsynchronousServiceservice)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void grpc::ServerBuilder::RegisterAsyncService (const grpc::stringhost,
AsynchronousServiceservice 
)
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc::ServerBuilder::RegisterService (SynchronousServiceservice)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void grpc::ServerBuilder::RegisterService (const grpc::stringhost,
SynchronousServiceservice 
)
+
+ +
+
+ +
+
+ + + + + +
+ + + + + + + + +
void grpc::ServerBuilder::SetMaxMessageSize (int max_message_size)
+
+inline
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc::ServerBuilder::SetThreadPool (ThreadPoolInterfacethread_pool)
+
+ +
+
+
The documentation for this class was generated from the following files: +
+ + + + diff --git a/doc/ref/c++.internal/html/classgrpc_1_1_server_completion_queue.html b/doc/ref/c++.internal/html/classgrpc_1_1_server_completion_queue.html new file mode 100644 index 0000000000..db99aef3e2 --- /dev/null +++ b/doc/ref/c++.internal/html/classgrpc_1_1_server_completion_queue.html @@ -0,0 +1,166 @@ + + + + + + +GRPC C++: grpc::ServerCompletionQueue Class Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc::ServerCompletionQueue Class Reference
+
+
+ +

#include <completion_queue.h>

+ + + + +

+Friends

class ServerBuilder
 
+ + + + + + + + + + + + + + + + + + + + + + + + + +

+Additional Inherited Members

- Public Types inherited from grpc::CompletionQueue
enum  NextStatus { SHUTDOWN, +GOT_EVENT, +TIMEOUT + }
 
- Public Member Functions inherited from grpc::CompletionQueue
 CompletionQueue ()
 
 CompletionQueue (grpc_completion_queue *take)
 
 ~CompletionQueue () GRPC_OVERRIDE
 
template<typename T >
NextStatus AsyncNext (void **tag, bool *ok, const T &deadline)
 
bool Next (void **tag, bool *ok)
 
void Shutdown ()
 
grpc_completion_queue * cq ()
 
- Public Member Functions inherited from grpc::GrpcLibrary
 GrpcLibrary ()
 
virtual ~GrpcLibrary ()
 
+

Friends And Related Function Documentation

+ +
+
+ + + + + +
+ + + + +
friend class ServerBuilder
+
+friend
+
+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/doc/ref/c++.internal/html/classgrpc_1_1_server_context.html b/doc/ref/c++.internal/html/classgrpc_1_1_server_context.html new file mode 100644 index 0000000000..7bf5e28116 --- /dev/null +++ b/doc/ref/c++.internal/html/classgrpc_1_1_server_context.html @@ -0,0 +1,767 @@ + + + + + + +GRPC C++: grpc::ServerContext Class Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc::ServerContext Class Reference
+
+
+ +

#include <server_context.h>

+ + + + +

+Data Structures

class  CompletionOp
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 ServerContext ()
 
 ~ServerContext ()
 
std::chrono::system_clock::time_point deadline ()
 
gpr_timespec raw_deadline ()
 
void AddInitialMetadata (const grpc::string &key, const grpc::string &value)
 
void AddTrailingMetadata (const grpc::string &key, const grpc::string &value)
 
bool IsCancelled () const
 
const std::multimap
+< grpc::string, grpc::string > & 
client_metadata ()
 
grpc_compression_level compression_level () const
 
void set_compression_level (grpc_compression_level level)
 
grpc_compression_algorithm compression_algorithm () const
 
void set_compression_algorithm (grpc_compression_algorithm algorithm)
 
std::shared_ptr< const
+AuthContext
auth_context () const
 
grpc::string peer () const
 
const struct census_context * census_context () const
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Friends

class ::grpc::testing::InteropContextInspector
 
class ::grpc::Server
 
template<class W , class R >
class ::grpc::ServerAsyncReader
 
template<class W >
class ::grpc::ServerAsyncWriter
 
template<class W >
class ::grpc::ServerAsyncResponseWriter
 
template<class R , class W >
class ::grpc::ServerAsyncReaderWriter
 
template<class R >
class ::grpc::ServerReader
 
template<class W >
class ::grpc::ServerWriter
 
template<class R , class W >
class ::grpc::ServerReaderWriter
 
template<class ServiceType , class RequestType , class ResponseType >
class RpcMethodHandler
 
template<class ServiceType , class RequestType , class ResponseType >
class ClientStreamingHandler
 
template<class ServiceType , class RequestType , class ResponseType >
class ServerStreamingHandler
 
template<class ServiceType , class RequestType , class ResponseType >
class BidiStreamingHandler
 
+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + +
grpc::ServerContext::ServerContext ()
+
+ +
+
+ +
+
+ + + + + + + +
grpc::ServerContext::~ServerContext ()
+
+ +
+
+

Member Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
void grpc::ServerContext::AddInitialMetadata (const grpc::stringkey,
const grpc::stringvalue 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void grpc::ServerContext::AddTrailingMetadata (const grpc::stringkey,
const grpc::stringvalue 
)
+
+ +
+
+ +
+
+ + + + + + + +
std::shared_ptr< const AuthContext > grpc::ServerContext::auth_context () const
+
+ +
+
+ +
+
+ + + + + + + +
const struct census_context * grpc::ServerContext::census_context () const
+
+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
const std::multimap<grpc::string, grpc::string>& grpc::ServerContext::client_metadata ()
+
+inline
+
+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
grpc_compression_algorithm grpc::ServerContext::compression_algorithm () const
+
+inline
+
+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
grpc_compression_level grpc::ServerContext::compression_level () const
+
+inline
+
+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
std::chrono::system_clock::time_point grpc::ServerContext::deadline ()
+
+inline
+
+ +
+
+ +
+
+ + + + + + + +
bool grpc::ServerContext::IsCancelled () const
+
+ +
+
+ +
+
+ + + + + + + +
grpc::string grpc::ServerContext::peer () const
+
+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
gpr_timespec grpc::ServerContext::raw_deadline ()
+
+inline
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc::ServerContext::set_compression_algorithm (grpc_compression_algorithm algorithm)
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc::ServerContext::set_compression_level (grpc_compression_level level)
+
+ +
+
+

Friends And Related Function Documentation

+ +
+
+ + + + + +
+ + + + +
friend class ::grpc::Server
+
+friend
+
+ +
+
+ +
+
+
+template<class W , class R >
+ + + + + +
+ + + + +
friend class ::grpc::ServerAsyncReader
+
+friend
+
+ +
+
+ +
+
+
+template<class R , class W >
+ + + + + +
+ + + + +
friend class ::grpc::ServerAsyncReaderWriter
+
+friend
+
+ +
+
+ +
+
+
+template<class W >
+ + + + + +
+ + + + +
friend class ::grpc::ServerAsyncResponseWriter
+
+friend
+
+ +
+
+ +
+
+
+template<class W >
+ + + + + +
+ + + + +
friend class ::grpc::ServerAsyncWriter
+
+friend
+
+ +
+
+ +
+
+
+template<class R >
+ + + + + +
+ + + + +
friend class ::grpc::ServerReader
+
+friend
+
+ +
+
+ +
+
+
+template<class R , class W >
+ + + + + +
+ + + + +
friend class ::grpc::ServerReaderWriter
+
+friend
+
+ +
+
+ +
+
+
+template<class W >
+ + + + + +
+ + + + +
friend class ::grpc::ServerWriter
+
+friend
+
+ +
+
+ +
+
+ + + + + +
+ + + + +
friend class ::grpc::testing::InteropContextInspector
+
+friend
+
+ +
+
+ +
+
+
+template<class ServiceType , class RequestType , class ResponseType >
+ + + + + +
+ + + + +
friend class BidiStreamingHandler
+
+friend
+
+ +
+
+ +
+
+
+template<class ServiceType , class RequestType , class ResponseType >
+ + + + + +
+ + + + +
friend class ClientStreamingHandler
+
+friend
+
+ +
+
+ +
+
+
+template<class ServiceType , class RequestType , class ResponseType >
+ + + + + +
+ + + + +
friend class RpcMethodHandler
+
+friend
+
+ +
+
+ +
+
+
+template<class ServiceType , class RequestType , class ResponseType >
+ + + + + +
+ + + + +
friend class ServerStreamingHandler
+
+friend
+
+ +
+
+
The documentation for this class was generated from the following files: +
+ + + + diff --git a/doc/ref/c++.internal/html/classgrpc_1_1_server_context_1_1_completion_op.html b/doc/ref/c++.internal/html/classgrpc_1_1_server_context_1_1_completion_op.html new file mode 100644 index 0000000000..60be1c595c --- /dev/null +++ b/doc/ref/c++.internal/html/classgrpc_1_1_server_context_1_1_completion_op.html @@ -0,0 +1,266 @@ + + + + + + +GRPC C++: grpc::ServerContext::CompletionOp Class Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc::ServerContext::CompletionOp Class Reference
+
+
+ + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 CompletionOp ()
 
void FillOps (grpc_op *ops, size_t *nops) GRPC_OVERRIDE
 Fills in grpc_op, starting from ops[*nops] and moving upwards. More...
 
bool FinalizeResult (void **tag, bool *status) GRPC_OVERRIDE
 
bool CheckCancelled (CompletionQueue *cq)
 
void Unref ()
 
- Public Member Functions inherited from grpc::CallOpSetInterface
 CallOpSetInterface ()
 
void set_max_message_size (int max_message_size)
 
- Public Member Functions inherited from grpc::CompletionQueueTag
virtual ~CompletionQueueTag ()
 
+ + + + +

+Additional Inherited Members

- Protected Attributes inherited from grpc::CallOpSetInterface
int max_message_size_
 
+

Constructor & Destructor Documentation

+ +
+
+ + + + + +
+ + + + + + + +
grpc::ServerContext::CompletionOp::CompletionOp ()
+
+inline
+
+ +
+
+

Member Function Documentation

+ +
+
+ + + + + + + + +
bool grpc::ServerContext::CompletionOp::CheckCancelled (CompletionQueuecq)
+
+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void grpc::ServerContext::CompletionOp::FillOps (grpc_op * ops,
size_t * nops 
)
+
+virtual
+
+ +

Fills in grpc_op, starting from ops[*nops] and moving upwards.

+ +

Implements grpc::CallOpSetInterface.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
bool grpc::ServerContext::CompletionOp::FinalizeResult (void ** tag,
bool * status 
)
+
+virtual
+
+ +

Implements grpc::CompletionQueueTag.

+ +
+
+ +
+
+ + + + + + + +
void grpc::ServerContext::CompletionOp::Unref ()
+
+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/doc/ref/c++.internal/html/classgrpc_1_1_server_credentials.html b/doc/ref/c++.internal/html/classgrpc_1_1_server_credentials.html new file mode 100644 index 0000000000..a9a5fae927 --- /dev/null +++ b/doc/ref/c++.internal/html/classgrpc_1_1_server_credentials.html @@ -0,0 +1,167 @@ + + + + + + +GRPC C++: grpc::ServerCredentials Class Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc::ServerCredentials Class Referenceabstract
+
+
+ +

#include <server_credentials.h>

+ + + + +

+Public Member Functions

virtual ~ServerCredentials ()
 
+ + + +

+Friends

class ::grpc::Server
 
+

Constructor & Destructor Documentation

+ +
+
+ + + + + +
+ + + + + + + +
grpc::ServerCredentials::~ServerCredentials ()
+
+virtual
+
+ +
+
+

Friends And Related Function Documentation

+ +
+
+ + + + + +
+ + + + +
friend class ::grpc::Server
+
+friend
+
+ +
+
+
The documentation for this class was generated from the following files: +
+ + + + diff --git a/doc/ref/c++.internal/html/classgrpc_1_1_server_reader.html b/doc/ref/c++.internal/html/classgrpc_1_1_server_reader.html new file mode 100644 index 0000000000..47a2b8f709 --- /dev/null +++ b/doc/ref/c++.internal/html/classgrpc_1_1_server_reader.html @@ -0,0 +1,214 @@ + + + + + + +GRPC C++: grpc::ServerReader< R > Class Template Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc::ServerReader< R > Class Template Reference
+
+
+ +

#include <completion_queue.h>

+ + + + + + + + + + + +

+Public Member Functions

 ServerReader (Call *call, ServerContext *ctx)
 
void SendInitialMetadata ()
 
bool Read (R *msg) GRPC_OVERRIDE
 
- Public Member Functions inherited from grpc::ReaderInterface< R >
virtual ~ReaderInterface ()
 
+

Constructor & Destructor Documentation

+ +
+
+
+template<class R>
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
grpc::ServerReader< R >::ServerReader (Callcall,
ServerContextctx 
)
+
+inline
+
+ +
+
+

Member Function Documentation

+ +
+
+
+template<class R>
+ + + + + +
+ + + + + + + + +
bool grpc::ServerReader< R >::Read (R * msg)
+
+inlinevirtual
+
+ +

Implements grpc::ReaderInterface< R >.

+ +
+
+ +
+
+
+template<class R>
+ + + + + +
+ + + + + + + +
void grpc::ServerReader< R >::SendInitialMetadata ()
+
+inline
+
+ +
+
+
The documentation for this class was generated from the following files: +
+ + + + diff --git a/doc/ref/c++.internal/html/classgrpc_1_1_server_reader_writer.html b/doc/ref/c++.internal/html/classgrpc_1_1_server_reader_writer.html new file mode 100644 index 0000000000..f5d8b2ea24 --- /dev/null +++ b/doc/ref/c++.internal/html/classgrpc_1_1_server_reader_writer.html @@ -0,0 +1,259 @@ + + + + + + +GRPC C++: grpc::ServerReaderWriter< R, W > Class Template Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc::ServerReaderWriter< R, W > Class Template Reference
+
+
+ +

#include <completion_queue.h>

+ + + + + + + + + + + + + + + + + + +

+Public Member Functions

 ServerReaderWriter (Call *call, ServerContext *ctx)
 
void SendInitialMetadata ()
 
bool Read (R *msg) GRPC_OVERRIDE
 
bool Write (const W &msg, const WriteOptions &options) GRPC_OVERRIDE
 
- Public Member Functions inherited from grpc::WriterInterface< W >
virtual ~WriterInterface ()
 
bool Write (const W &msg)
 
- Public Member Functions inherited from grpc::ReaderInterface< R >
virtual ~ReaderInterface ()
 
+

Constructor & Destructor Documentation

+ +
+
+
+template<class R, class W>
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
grpc::ServerReaderWriter< R, W >::ServerReaderWriter (Callcall,
ServerContextctx 
)
+
+inline
+
+ +
+
+

Member Function Documentation

+ +
+
+
+template<class R, class W>
+ + + + + +
+ + + + + + + + +
bool grpc::ServerReaderWriter< R, W >::Read (R * msg)
+
+inlinevirtual
+
+ +

Implements grpc::ReaderInterface< R >.

+ +
+
+ +
+
+
+template<class R, class W>
+ + + + + +
+ + + + + + + +
void grpc::ServerReaderWriter< R, W >::SendInitialMetadata ()
+
+inline
+
+ +
+
+ +
+
+
+template<class R, class W>
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
bool grpc::ServerReaderWriter< R, W >::Write (const W & msg,
const WriteOptionsoptions 
)
+
+inlinevirtual
+
+ +

Implements grpc::WriterInterface< W >.

+ +
+
+
The documentation for this class was generated from the following files: +
+ + + + diff --git a/doc/ref/c++.internal/html/classgrpc_1_1_server_streaming_handler.html b/doc/ref/c++.internal/html/classgrpc_1_1_server_streaming_handler.html new file mode 100644 index 0000000000..61f5a84aff --- /dev/null +++ b/doc/ref/c++.internal/html/classgrpc_1_1_server_streaming_handler.html @@ -0,0 +1,187 @@ + + + + + + +GRPC C++: grpc::ServerStreamingHandler< ServiceType, RequestType, ResponseType > Class Template Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc::ServerStreamingHandler< ServiceType, RequestType, ResponseType > Class Template Reference
+
+
+ +

#include <completion_queue.h>

+ + + + + + + + + +

+Public Member Functions

 ServerStreamingHandler (std::function< Status(ServiceType *, ServerContext *, const RequestType *, ServerWriter< ResponseType > *)> func, ServiceType *service)
 
void RunHandler (const HandlerParameter &param)
 
- Public Member Functions inherited from grpc::MethodHandler
virtual ~MethodHandler ()
 
+

Constructor & Destructor Documentation

+ +
+
+
+template<class ServiceType , class RequestType , class ResponseType >
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
grpc::ServerStreamingHandler< ServiceType, RequestType, ResponseType >::ServerStreamingHandler (std::function< Status(ServiceType *, ServerContext *, const RequestType *, ServerWriter< ResponseType > *)> func,
ServiceType * service 
)
+
+inline
+
+ +
+
+

Member Function Documentation

+ +
+
+
+template<class ServiceType , class RequestType , class ResponseType >
+ + + + + +
+ + + + + + + + +
void grpc::ServerStreamingHandler< ServiceType, RequestType, ResponseType >::RunHandler (const HandlerParameterparam)
+
+inlinevirtual
+
+ +

Implements grpc::MethodHandler.

+ +
+
+
The documentation for this class was generated from the following files: +
+ + + + diff --git a/doc/ref/c++.internal/html/classgrpc_1_1_server_writer.html b/doc/ref/c++.internal/html/classgrpc_1_1_server_writer.html new file mode 100644 index 0000000000..a2f6d9d2b6 --- /dev/null +++ b/doc/ref/c++.internal/html/classgrpc_1_1_server_writer.html @@ -0,0 +1,226 @@ + + + + + + +GRPC C++: grpc::ServerWriter< W > Class Template Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc::ServerWriter< W > Class Template Reference
+
+
+ +

#include <completion_queue.h>

+ + + + + + + + + + + + + +

+Public Member Functions

 ServerWriter (Call *call, ServerContext *ctx)
 
void SendInitialMetadata ()
 
bool Write (const W &msg, const WriteOptions &options) GRPC_OVERRIDE
 
- Public Member Functions inherited from grpc::WriterInterface< W >
virtual ~WriterInterface ()
 
bool Write (const W &msg)
 
+

Constructor & Destructor Documentation

+ +
+
+
+template<class W>
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
grpc::ServerWriter< W >::ServerWriter (Callcall,
ServerContextctx 
)
+
+inline
+
+ +
+
+

Member Function Documentation

+ +
+
+
+template<class W>
+ + + + + +
+ + + + + + + +
void grpc::ServerWriter< W >::SendInitialMetadata ()
+
+inline
+
+ +
+
+ +
+
+
+template<class W>
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
bool grpc::ServerWriter< W >::Write (const W & msg,
const WriteOptionsoptions 
)
+
+inlinevirtual
+
+ +

Implements grpc::WriterInterface< W >.

+ +
+
+
The documentation for this class was generated from the following files: +
+ + + + diff --git a/doc/ref/c++.internal/html/classgrpc_1_1_slice.html b/doc/ref/c++.internal/html/classgrpc_1_1_slice.html new file mode 100644 index 0000000000..adadcf4e14 --- /dev/null +++ b/doc/ref/c++.internal/html/classgrpc_1_1_slice.html @@ -0,0 +1,395 @@ + + + + + + +GRPC C++: grpc::Slice Class Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc::Slice Class Reference
+
+
+ +

#include <slice.h>

+ + + + + + +

+Public Types

enum  AddRef { ADD_REF + }
 
enum  StealRef { STEAL_REF + }
 
+ + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 Slice ()
 
 ~Slice ()
 
 Slice (gpr_slice slice, AddRef)
 
 Slice (gpr_slice slice, StealRef)
 
 Slice (const Slice &other)
 
Sliceoperator= (Slice other)
 
size_t size () const
 
const gpr_uint8 * begin () const
 
const gpr_uint8 * end () const
 
+ + + +

+Friends

class ByteBuffer
 
+

Member Enumeration Documentation

+ +
+
+ + + + +
enum grpc::Slice::AddRef
+
+ + +
Enumerator
ADD_REF  +
+ +
+
+ +
+
+ + + + +
enum grpc::Slice::StealRef
+
+ + +
Enumerator
STEAL_REF  +
+ +
+
+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + +
grpc::Slice::Slice ()
+
+ +
+
+ +
+
+ + + + + + + +
grpc::Slice::~Slice ()
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
grpc::Slice::Slice (gpr_slice slice,
AddRef  
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
grpc::Slice::Slice (gpr_slice slice,
StealRef  
)
+
+ +
+
+ +
+
+ + + + + + + + +
grpc::Slice::Slice (const Sliceother)
+
+ +
+
+

Member Function Documentation

+ +
+
+ + + + + +
+ + + + + + + +
const gpr_uint8* grpc::Slice::begin () const
+
+inline
+
+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
const gpr_uint8* grpc::Slice::end () const
+
+inline
+
+ +
+
+ +
+
+ + + + + +
+ + + + + + + + +
Slice& grpc::Slice::operator= (Slice other)
+
+inline
+
+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
size_t grpc::Slice::size () const
+
+inline
+
+ +
+
+

Friends And Related Function Documentation

+ +
+
+ + + + + +
+ + + + +
friend class ByteBuffer
+
+friend
+
+ +
+
+
The documentation for this class was generated from the following files: +
+ + + + diff --git a/doc/ref/c++.internal/html/classgrpc_1_1_sneaky_call_op_set.html b/doc/ref/c++.internal/html/classgrpc_1_1_sneaky_call_op_set.html new file mode 100644 index 0000000000..82e161a78d --- /dev/null +++ b/doc/ref/c++.internal/html/classgrpc_1_1_sneaky_call_op_set.html @@ -0,0 +1,185 @@ + + + + + + +GRPC C++: grpc::SneakyCallOpSet< Op1, Op2, Op3, Op4, Op5, Op6 > Class Template Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc::SneakyCallOpSet< Op1, Op2, Op3, Op4, Op5, Op6 > Class Template Reference
+
+
+ +

A CallOpSet that does not post completions to the completion queue. + More...

+ +

#include <call.h>

+ + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

bool FinalizeResult (void **tag, bool *status) GRPC_OVERRIDE
 
- Public Member Functions inherited from grpc::CallOpSet< Op1, Op2, Op3, Op4, Op5, Op6 >
 CallOpSet ()
 
void FillOps (grpc_op *ops, size_t *nops) GRPC_OVERRIDE
 Fills in grpc_op, starting from ops[*nops] and moving upwards. More...
 
void set_output_tag (void *return_tag)
 
- Public Member Functions inherited from grpc::CallOpSetInterface
 CallOpSetInterface ()
 
void set_max_message_size (int max_message_size)
 
- Public Member Functions inherited from grpc::CompletionQueueTag
virtual ~CompletionQueueTag ()
 
+ + + + +

+Additional Inherited Members

- Protected Attributes inherited from grpc::CallOpSetInterface
int max_message_size_
 
+

Detailed Description

+

template<class Op1 = CallNoOp<1>, class Op2 = CallNoOp<2>, class Op3 = CallNoOp<3>, class Op4 = CallNoOp<4>, class Op5 = CallNoOp<5>, class Op6 = CallNoOp<6>>
+class grpc::SneakyCallOpSet< Op1, Op2, Op3, Op4, Op5, Op6 >

+ +

A CallOpSet that does not post completions to the completion queue.

+

Allows hiding some completions that the C core must generate from C++ users.

+

Member Function Documentation

+ +
+
+
+template<class Op1 = CallNoOp<1>, class Op2 = CallNoOp<2>, class Op3 = CallNoOp<3>, class Op4 = CallNoOp<4>, class Op5 = CallNoOp<5>, class Op6 = CallNoOp<6>>
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
bool grpc::SneakyCallOpSet< Op1, Op2, Op3, Op4, Op5, Op6 >::FinalizeResult (void ** tag,
bool * status 
)
+
+inlinevirtual
+
+
+
The documentation for this class was generated from the following file:
    +
  • include/grpc++/impl/call.h
  • +
+
+ + + + diff --git a/doc/ref/c++.internal/html/classgrpc_1_1_status.html b/doc/ref/c++.internal/html/classgrpc_1_1_status.html new file mode 100644 index 0000000000..8867cc3d87 --- /dev/null +++ b/doc/ref/c++.internal/html/classgrpc_1_1_status.html @@ -0,0 +1,301 @@ + + + + + + +GRPC C++: grpc::Status Class Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc::Status Class Reference
+
+
+ +

#include <status.h>

+ + + + + + + + + + + + +

+Public Member Functions

 Status ()
 
 Status (StatusCode code, const grpc::string &details)
 
StatusCode error_code () const
 
grpc::string error_message () const
 
bool ok () const
 
+ + + + + +

+Static Public Attributes

static const StatusOK = Status()
 
static const StatusCANCELLED = Status(StatusCode::CANCELLED, "")
 
+

Constructor & Destructor Documentation

+ +
+
+ + + + + +
+ + + + + + + +
grpc::Status::Status ()
+
+inline
+
+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
grpc::Status::Status (StatusCode code,
const grpc::stringdetails 
)
+
+inline
+
+ +
+
+

Member Function Documentation

+ +
+
+ + + + + +
+ + + + + + + +
StatusCode grpc::Status::error_code () const
+
+inline
+
+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
grpc::string grpc::Status::error_message () const
+
+inline
+
+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
bool grpc::Status::ok () const
+
+inline
+
+ +
+
+

Field Documentation

+ +
+
+ + + + + +
+ + + + +
const Status & grpc::Status::CANCELLED = Status(StatusCode::CANCELLED, "")
+
+static
+
+ +
+
+ +
+
+ + + + + +
+ + + + +
const Status & grpc::Status::OK = Status()
+
+static
+
+ +
+
+
The documentation for this class was generated from the following files: +
+ + + + diff --git a/doc/ref/c++.internal/html/classgrpc_1_1_synchronous_service.html b/doc/ref/c++.internal/html/classgrpc_1_1_synchronous_service.html new file mode 100644 index 0000000000..4d8dc6cf57 --- /dev/null +++ b/doc/ref/c++.internal/html/classgrpc_1_1_synchronous_service.html @@ -0,0 +1,165 @@ + + + + + + +GRPC C++: grpc::SynchronousService Class Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc::SynchronousService Class Referenceabstract
+
+
+ +

#include <service_type.h>

+ + + + + + +

+Public Member Functions

virtual ~SynchronousService ()
 
virtual RpcServiceservice ()=0
 
+

Constructor & Destructor Documentation

+ +
+
+ + + + + +
+ + + + + + + +
virtual grpc::SynchronousService::~SynchronousService ()
+
+inlinevirtual
+
+ +
+
+

Member Function Documentation

+ +
+
+ + + + + +
+ + + + + + + +
virtual RpcService* grpc::SynchronousService::service ()
+
+pure virtual
+
+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/doc/ref/c++.internal/html/classgrpc_1_1_thread_pool_interface.html b/doc/ref/c++.internal/html/classgrpc_1_1_thread_pool_interface.html new file mode 100644 index 0000000000..8393c487fb --- /dev/null +++ b/doc/ref/c++.internal/html/classgrpc_1_1_thread_pool_interface.html @@ -0,0 +1,168 @@ + + + + + + +GRPC C++: grpc::ThreadPoolInterface Class Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc::ThreadPoolInterface Class Referenceabstract
+
+
+ +

#include <thread_pool_interface.h>

+ + + + + + +

+Public Member Functions

virtual ~ThreadPoolInterface ()
 
virtual void Add (const std::function< void()> &callback)=0
 
+

Constructor & Destructor Documentation

+ +
+
+ + + + + +
+ + + + + + + +
virtual grpc::ThreadPoolInterface::~ThreadPoolInterface ()
+
+inlinevirtual
+
+ +
+
+

Member Function Documentation

+ +
+
+ + + + + +
+ + + + + + + + +
virtual void grpc::ThreadPoolInterface::Add (const std::function< void()> & callback)
+
+pure virtual
+
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/doc/ref/c++.internal/html/classgrpc_1_1_time_point.html b/doc/ref/c++.internal/html/classgrpc_1_1_time_point.html new file mode 100644 index 0000000000..3adf676000 --- /dev/null +++ b/doc/ref/c++.internal/html/classgrpc_1_1_time_point.html @@ -0,0 +1,170 @@ + + + + + + +GRPC C++: grpc::TimePoint< T > Class Template Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc::TimePoint< T > Class Template Reference
+
+
+ +

#include <time.h>

+ + + + + + +

+Public Member Functions

 TimePoint (const T &time)
 
gpr_timespec raw_time ()
 
+

Constructor & Destructor Documentation

+ +
+
+
+template<typename T>
+ + + + + +
+ + + + + + + + +
grpc::TimePoint< T >::TimePoint (const T & time)
+
+inline
+
+ +
+
+

Member Function Documentation

+ +
+
+
+template<typename T>
+ + + + + +
+ + + + + + + +
gpr_timespec grpc::TimePoint< T >::raw_time ()
+
+inline
+
+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/doc/ref/c++.internal/html/classgrpc_1_1_time_point_3_01gpr__timespec_01_4.html b/doc/ref/c++.internal/html/classgrpc_1_1_time_point_3_01gpr__timespec_01_4.html new file mode 100644 index 0000000000..be5571d228 --- /dev/null +++ b/doc/ref/c++.internal/html/classgrpc_1_1_time_point_3_01gpr__timespec_01_4.html @@ -0,0 +1,166 @@ + + + + + + +GRPC C++: grpc::TimePoint< gpr_timespec > Class Template Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc::TimePoint< gpr_timespec > Class Template Reference
+
+
+ +

#include <time.h>

+ + + + + + +

+Public Member Functions

 TimePoint (const gpr_timespec &time)
 
gpr_timespec raw_time ()
 
+

Constructor & Destructor Documentation

+ +
+
+ + + + + +
+ + + + + + + + +
grpc::TimePoint< gpr_timespec >::TimePoint (const gpr_timespec & time)
+
+inline
+
+ +
+
+

Member Function Documentation

+ +
+
+ + + + + +
+ + + + + + + +
gpr_timespec grpc::TimePoint< gpr_timespec >::raw_time ()
+
+inline
+
+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/doc/ref/c++.internal/html/classgrpc_1_1_time_point_3_01std_1_1chrono_1_1system__clock_1_1time__point_01_4.html b/doc/ref/c++.internal/html/classgrpc_1_1_time_point_3_01std_1_1chrono_1_1system__clock_1_1time__point_01_4.html new file mode 100644 index 0000000000..173644d5bb --- /dev/null +++ b/doc/ref/c++.internal/html/classgrpc_1_1_time_point_3_01std_1_1chrono_1_1system__clock_1_1time__point_01_4.html @@ -0,0 +1,166 @@ + + + + + + +GRPC C++: grpc::TimePoint< std::chrono::system_clock::time_point > Class Template Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc::TimePoint< std::chrono::system_clock::time_point > Class Template Reference
+
+
+ +

#include <time.h>

+ + + + + + +

+Public Member Functions

 TimePoint (const std::chrono::system_clock::time_point &time)
 
gpr_timespec raw_time () const
 
+

Constructor & Destructor Documentation

+ +
+
+ + + + + +
+ + + + + + + + +
grpc::TimePoint< std::chrono::system_clock::time_point >::TimePoint (const std::chrono::system_clock::time_point & time)
+
+inline
+
+ +
+
+

Member Function Documentation

+ +
+
+ + + + + +
+ + + + + + + +
gpr_timespec grpc::TimePoint< std::chrono::system_clock::time_point >::raw_time () const
+
+inline
+
+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/doc/ref/c++.internal/html/classgrpc_1_1_write_options.html b/doc/ref/c++.internal/html/classgrpc_1_1_write_options.html new file mode 100644 index 0000000000..f015235d61 --- /dev/null +++ b/doc/ref/c++.internal/html/classgrpc_1_1_write_options.html @@ -0,0 +1,427 @@ + + + + + + +GRPC C++: grpc::WriteOptions Class Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc::WriteOptions Class Reference
+
+
+ +

Per-message write options. + More...

+ +

#include <call.h>

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 WriteOptions ()
 
 WriteOptions (const WriteOptions &other)
 
void Clear ()
 Clear all flags. More...
 
gpr_uint32 flags () const
 Returns raw flags bitset. More...
 
WriteOptionsset_no_compression ()
 Sets flag for the disabling of compression for the next message write. More...
 
WriteOptionsclear_no_compression ()
 Clears flag for the disabling of compression for the next message write. More...
 
bool get_no_compression () const
 Get value for the flag indicating whether compression for the next message write is forcefully disabled. More...
 
WriteOptionsset_buffer_hint ()
 Sets flag indicating that the write may be buffered and need not go out on the wire immediately. More...
 
WriteOptionsclear_buffer_hint ()
 Clears flag indicating that the write may be buffered and need not go out on the wire immediately. More...
 
bool get_buffer_hint () const
 Get value for the flag indicating that the write may be buffered and need not go out on the wire immediately. More...
 
WriteOptionsoperator= (const WriteOptions &rhs)
 
+

Detailed Description

+

Per-message write options.

+

Constructor & Destructor Documentation

+ +
+
+ + + + + +
+ + + + + + + +
grpc::WriteOptions::WriteOptions ()
+
+inline
+
+ +
+
+ +
+
+ + + + + +
+ + + + + + + + +
grpc::WriteOptions::WriteOptions (const WriteOptionsother)
+
+inline
+
+ +
+
+

Member Function Documentation

+ +
+
+ + + + + +
+ + + + + + + +
void grpc::WriteOptions::Clear ()
+
+inline
+
+ +

Clear all flags.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
WriteOptions& grpc::WriteOptions::clear_buffer_hint ()
+
+inline
+
+ +

Clears flag indicating that the write may be buffered and need not go out on the wire immediately.

+
See Also
GRPC_WRITE_BUFFER_HINT
+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
WriteOptions& grpc::WriteOptions::clear_no_compression ()
+
+inline
+
+ +

Clears flag for the disabling of compression for the next message write.

+
See Also
GRPC_WRITE_NO_COMPRESS
+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
gpr_uint32 grpc::WriteOptions::flags () const
+
+inline
+
+ +

Returns raw flags bitset.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
bool grpc::WriteOptions::get_buffer_hint () const
+
+inline
+
+ +

Get value for the flag indicating that the write may be buffered and need not go out on the wire immediately.

+
See Also
GRPC_WRITE_BUFFER_HINT
+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
bool grpc::WriteOptions::get_no_compression () const
+
+inline
+
+ +

Get value for the flag indicating whether compression for the next message write is forcefully disabled.

+
See Also
GRPC_WRITE_NO_COMPRESS
+ +
+
+ +
+
+ + + + + +
+ + + + + + + + +
WriteOptions& grpc::WriteOptions::operator= (const WriteOptionsrhs)
+
+inline
+
+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
WriteOptions& grpc::WriteOptions::set_buffer_hint ()
+
+inline
+
+ +

Sets flag indicating that the write may be buffered and need not go out on the wire immediately.

+
See Also
GRPC_WRITE_BUFFER_HINT
+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
WriteOptions& grpc::WriteOptions::set_no_compression ()
+
+inline
+
+ +

Sets flag for the disabling of compression for the next message write.

+
See Also
GRPC_WRITE_NO_COMPRESS
+ +
+
+
The documentation for this class was generated from the following file:
    +
  • include/grpc++/impl/call.h
  • +
+
+ + + + diff --git a/doc/ref/c++.internal/html/classgrpc_1_1_writer_interface.html b/doc/ref/c++.internal/html/classgrpc_1_1_writer_interface.html new file mode 100644 index 0000000000..eb8da30854 --- /dev/null +++ b/doc/ref/c++.internal/html/classgrpc_1_1_writer_interface.html @@ -0,0 +1,210 @@ + + + + + + +GRPC C++: grpc::WriterInterface< W > Class Template Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc::WriterInterface< W > Class Template Referenceabstract
+
+
+ +

#include <stream.h>

+ + + + + + + + +

+Public Member Functions

virtual ~WriterInterface ()
 
virtual bool Write (const W &msg, const WriteOptions &options)=0
 
bool Write (const W &msg)
 
+

Constructor & Destructor Documentation

+ +
+
+
+template<class W >
+ + + + + +
+ + + + + + + +
virtual grpc::WriterInterface< W >::~WriterInterface ()
+
+inlinevirtual
+
+ +
+
+

Member Function Documentation

+ +
+
+
+template<class W >
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
virtual bool grpc::WriterInterface< W >::Write (const W & msg,
const WriteOptionsoptions 
)
+
+pure virtual
+
+
+ +
+
+
+template<class W >
+ + + + + +
+ + + + + + + + +
bool grpc::WriterInterface< W >::Write (const W & msg)
+
+inline
+
+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/doc/ref/c++.internal/html/classgrpc_1_1condition__variable.html b/doc/ref/c++.internal/html/classgrpc_1_1condition__variable.html new file mode 100644 index 0000000000..9a3112b11e --- /dev/null +++ b/doc/ref/c++.internal/html/classgrpc_1_1condition__variable.html @@ -0,0 +1,241 @@ + + + + + + +GRPC C++: grpc::condition_variable Class Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc::condition_variable Class Reference
+
+
+ +

#include <sync_no_cxx11.h>

+ + + + + + + + + + + + +

+Public Member Functions

 condition_variable ()
 
 ~condition_variable ()
 
void wait (lock_guard< mutex > &mu)
 
void notify_one ()
 
void notify_all ()
 
+

Constructor & Destructor Documentation

+ +
+
+ + + + + +
+ + + + + + + +
grpc::condition_variable::condition_variable ()
+
+inline
+
+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
grpc::condition_variable::~condition_variable ()
+
+inline
+
+ +
+
+

Member Function Documentation

+ +
+
+ + + + + +
+ + + + + + + +
void grpc::condition_variable::notify_all ()
+
+inline
+
+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
void grpc::condition_variable::notify_one ()
+
+inline
+
+ +
+
+ +
+
+ + + + + +
+ + + + + + + + +
void grpc::condition_variable::wait (lock_guard< mutex > & mu)
+
+inline
+
+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/doc/ref/c++.internal/html/classgrpc_1_1lock__guard.html b/doc/ref/c++.internal/html/classgrpc_1_1lock__guard.html new file mode 100644 index 0000000000..ec91378af7 --- /dev/null +++ b/doc/ref/c++.internal/html/classgrpc_1_1lock__guard.html @@ -0,0 +1,257 @@ + + + + + + +GRPC C++: grpc::lock_guard< mutex > Class Template Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc::lock_guard< mutex > Class Template Reference
+
+
+ +

#include <sync_no_cxx11.h>

+ + + + + + +

+Public Member Functions

 lock_guard (mutex &mu)
 
 ~lock_guard ()
 
+ + + + + +

+Protected Member Functions

void lock_internal ()
 
void unlock_internal ()
 
+ + + +

+Friends

class condition_variable
 
+

Constructor & Destructor Documentation

+ +
+
+
+template<class mutex>
+ + + + + +
+ + + + + + + + +
grpc::lock_guard< mutex >::lock_guard (mutexmu)
+
+inline
+
+ +
+
+ +
+
+
+template<class mutex>
+ + + + + +
+ + + + + + + +
grpc::lock_guard< mutex >::~lock_guard ()
+
+inline
+
+ +
+
+

Member Function Documentation

+ +
+
+
+template<class mutex>
+ + + + + +
+ + + + + + + +
void grpc::lock_guard< mutex >::lock_internal ()
+
+inlineprotected
+
+ +
+
+ +
+
+
+template<class mutex>
+ + + + + +
+ + + + + + + +
void grpc::lock_guard< mutex >::unlock_internal ()
+
+inlineprotected
+
+ +
+
+

Friends And Related Function Documentation

+ +
+
+
+template<class mutex>
+ + + + + +
+ + + + +
friend class condition_variable
+
+friend
+
+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/doc/ref/c++.internal/html/classgrpc_1_1mutex.html b/doc/ref/c++.internal/html/classgrpc_1_1mutex.html new file mode 100644 index 0000000000..0c069901be --- /dev/null +++ b/doc/ref/c++.internal/html/classgrpc_1_1mutex.html @@ -0,0 +1,216 @@ + + + + + + +GRPC C++: grpc::mutex Class Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc::mutex Class Reference
+
+
+ +

#include <sync_no_cxx11.h>

+ + + + + + +

+Public Member Functions

 mutex ()
 
 ~mutex ()
 
+ + + + + + +

+Friends

template<class mutex >
class lock_guard
 
class condition_variable
 
+

Constructor & Destructor Documentation

+ +
+
+ + + + + +
+ + + + + + + +
grpc::mutex::mutex ()
+
+inline
+
+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
grpc::mutex::~mutex ()
+
+inline
+
+ +
+
+

Friends And Related Function Documentation

+ +
+
+ + + + + +
+ + + + +
friend class condition_variable
+
+friend
+
+ +
+
+ +
+
+
+template<class mutex >
+ + + + + +
+ + + + +
friend class lock_guard
+
+friend
+
+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/doc/ref/c++.internal/html/classgrpc_1_1thread.html b/doc/ref/c++.internal/html/classgrpc_1_1thread.html new file mode 100644 index 0000000000..62f501d28c --- /dev/null +++ b/doc/ref/c++.internal/html/classgrpc_1_1thread.html @@ -0,0 +1,205 @@ + + + + + + +GRPC C++: grpc::thread Class Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc::thread Class Reference
+
+
+ +

#include <thd_no_cxx11.h>

+ + + + + + + + + +

+Public Member Functions

template<class T >
 thread (void(T::*fptr)(), T *obj)
 
 ~thread ()
 
void join ()
 
+

Constructor & Destructor Documentation

+ +
+
+
+template<class T >
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
grpc::thread::thread (void(T::*)() fptr,
T * obj 
)
+
+inline
+
+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
grpc::thread::~thread ()
+
+inline
+
+ +
+
+

Member Function Documentation

+ +
+
+ + + + + +
+ + + + + + + +
void grpc::thread::join ()
+
+inline
+
+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/doc/ref/c++.internal/html/classgrpc_1_1unique__lock.html b/doc/ref/c++.internal/html/classgrpc_1_1unique__lock.html new file mode 100644 index 0000000000..356d28940c --- /dev/null +++ b/doc/ref/c++.internal/html/classgrpc_1_1unique__lock.html @@ -0,0 +1,210 @@ + + + + + + +GRPC C++: grpc::unique_lock< mutex > Class Template Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc::unique_lock< mutex > Class Template Reference
+
+
+ +

#include <sync_no_cxx11.h>

+ + + + + + + + + + + + + +

+Public Member Functions

 unique_lock (mutex &mu)
 
void lock ()
 
void unlock ()
 
- Public Member Functions inherited from grpc::lock_guard< mutex >
 lock_guard (mutex &mu)
 
 ~lock_guard ()
 
+ + + + + + +

+Additional Inherited Members

- Protected Member Functions inherited from grpc::lock_guard< mutex >
void lock_internal ()
 
void unlock_internal ()
 
+

Constructor & Destructor Documentation

+ +
+
+
+template<class mutex >
+ + + + + +
+ + + + + + + + +
grpc::unique_lock< mutex >::unique_lock (mutexmu)
+
+inline
+
+ +
+
+

Member Function Documentation

+ +
+
+
+template<class mutex >
+ + + + + +
+ + + + + + + +
void grpc::unique_lock< mutex >::lock ()
+
+inline
+
+ +
+
+ +
+
+
+template<class mutex >
+ + + + + +
+ + + + + + + +
void grpc::unique_lock< mutex >::unlock ()
+
+inline
+
+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/doc/ref/c++.internal/html/client__context_8cc.html b/doc/ref/c++.internal/html/client__context_8cc.html new file mode 100644 index 0000000000..b0dbabb2bb --- /dev/null +++ b/doc/ref/c++.internal/html/client__context_8cc.html @@ -0,0 +1,116 @@ + + + + + + +GRPC C++: src/cpp/client/client_context.cc File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
client_context.cc File Reference
+
+
+
#include <grpc++/client_context.h>
+#include <grpc/grpc.h>
+#include <grpc/support/alloc.h>
+#include <grpc/support/string_util.h>
+#include <grpc++/credentials.h>
+#include <grpc++/time.h>
+#include "src/core/channel/compress_filter.h"
+#include "src/cpp/common/create_auth_context.h"
+
+ + + +

+Namespaces

 grpc
 
+
+ + + + diff --git a/doc/ref/c++.internal/html/client__context_8h.html b/doc/ref/c++.internal/html/client__context_8h.html new file mode 100644 index 0000000000..5b11af9d4d --- /dev/null +++ b/doc/ref/c++.internal/html/client__context_8h.html @@ -0,0 +1,140 @@ + + + + + + +GRPC C++: include/grpc++/client_context.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
client_context.h File Reference
+
+
+
#include <map>
+#include <memory>
+#include <string>
+#include <grpc/compression.h>
+#include <grpc/support/log.h>
+#include <grpc/support/time.h>
+#include <grpc++/auth_context.h>
+#include <grpc++/config.h>
+#include <grpc++/status.h>
+#include <grpc++/time.h>
+
+

Go to the source code of this file.

+ + + + + + + + + + + + + + + + + + +

+Data Structures

class  grpc::ClientReader< R >
 
class  grpc::ClientWriter< W >
 
class  grpc::ClientReaderWriter< R, W >
 
class  grpc::ClientAsyncReader< R >
 
class  grpc::ClientAsyncWriter< W >
 
class  grpc::ClientAsyncReaderWriter< R, W >
 
class  grpc::ClientAsyncResponseReader< R >
 
class  grpc::ClientContext
 
+ + + +

+Namespaces

 grpc
 
+
+ + + + diff --git a/doc/ref/c++.internal/html/client__context_8h_source.html b/doc/ref/c++.internal/html/client__context_8h_source.html new file mode 100644 index 0000000000..382a2b0b9d --- /dev/null +++ b/doc/ref/c++.internal/html/client__context_8h_source.html @@ -0,0 +1,329 @@ + + + + + + +GRPC C++: include/grpc++/client_context.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
client_context.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPCXX_CLIENT_CONTEXT_H
+
35 #define GRPCXX_CLIENT_CONTEXT_H
+
36 
+
37 #include <map>
+
38 #include <memory>
+
39 #include <string>
+
40 
+
41 #include <grpc/compression.h>
+
42 #include <grpc/support/log.h>
+
43 #include <grpc/support/time.h>
+
44 #include <grpc++/auth_context.h>
+
45 #include <grpc++/config.h>
+
46 #include <grpc++/status.h>
+
47 #include <grpc++/time.h>
+
48 
+
49 struct grpc_call;
+
50 struct grpc_completion_queue;
+
51 struct census_context;
+
52 
+
53 namespace grpc {
+
54 
+
55 class ChannelInterface;
+
56 class CompletionQueue;
+
57 class Credentials;
+
58 class RpcMethod;
+
59 template <class R>
+ +
61 template <class W>
+ +
63 template <class R, class W>
+ +
65 template <class R>
+ +
67 template <class W>
+ +
69 template <class R, class W>
+ +
71 template <class R>
+ +
73 
+ +
75  public:
+
76  ClientContext();
+ +
78 
+
79  void AddMetadata(const grpc::string& meta_key,
+
80  const grpc::string& meta_value);
+
81 
+
82  const std::multimap<grpc::string, grpc::string>& GetServerInitialMetadata() {
+
83  GPR_ASSERT(initial_metadata_received_);
+
84  return recv_initial_metadata_;
+
85  }
+
86 
+
87  const std::multimap<grpc::string, grpc::string>& GetServerTrailingMetadata() {
+
88  // TODO(yangg) check finished
+
89  return trailing_metadata_;
+
90  }
+
91 
+
92  template <typename T>
+
93  void set_deadline(const T& deadline) {
+
94  TimePoint<T> deadline_tp(deadline);
+
95  deadline_ = deadline_tp.raw_time();
+
96  }
+
97 
+
98 #ifndef GRPC_CXX0X_NO_CHRONO
+
99  std::chrono::system_clock::time_point deadline() {
+
100  return Timespec2Timepoint(deadline_);
+
101  }
+
102 #endif // !GRPC_CXX0X_NO_CHRONO
+
103 
+
104  gpr_timespec raw_deadline() { return deadline_; }
+
105 
+
106  void set_authority(const grpc::string& authority) { authority_ = authority; }
+
107 
+
108  // Set credentials for the rpc.
+
109  void set_credentials(const std::shared_ptr<Credentials>& creds) {
+
110  creds_ = creds;
+
111  }
+
112 
+
113  grpc_compression_algorithm compression_algorithm() const {
+
114  return compression_algorithm_;
+
115  }
+
116 
+
117  void set_compression_algorithm(grpc_compression_algorithm algorithm);
+
118 
+
119  std::shared_ptr<const AuthContext> auth_context() const;
+
120 
+
121  // Return the peer uri in a string.
+
122  // WARNING: this value is never authenticated or subject to any security
+
123  // related code. It must not be used for any authentication related
+
124  // functionality. Instead, use auth_context.
+
125  grpc::string peer() const;
+
126 
+
127  // Get and set census context
+
128  void set_census_context(struct census_context* ccp) { census_context_ = ccp; }
+
129  struct census_context* census_context() const { return census_context_; }
+
130 
+
131  void TryCancel();
+
132 
+
133  private:
+
134  // Disallow copy and assign.
+ +
136  ClientContext& operator=(const ClientContext&);
+
137 
+ + +
140  friend class Channel;
+
141  template <class R>
+
142  friend class ::grpc::ClientReader;
+
143  template <class W>
+
144  friend class ::grpc::ClientWriter;
+
145  template <class R, class W>
+
146  friend class ::grpc::ClientReaderWriter;
+
147  template <class R>
+
148  friend class ::grpc::ClientAsyncReader;
+
149  template <class W>
+
150  friend class ::grpc::ClientAsyncWriter;
+
151  template <class R, class W>
+
152  friend class ::grpc::ClientAsyncReaderWriter;
+
153  template <class R>
+
154  friend class ::grpc::ClientAsyncResponseReader;
+
155  template <class InputMessage, class OutputMessage>
+
156  friend Status BlockingUnaryCall(ChannelInterface* channel,
+
157  const RpcMethod& method,
+
158  ClientContext* context,
+
159  const InputMessage& request,
+
160  OutputMessage* result);
+
161 
+
162  grpc_call* call() { return call_; }
+
163  void set_call(grpc_call* call,
+
164  const std::shared_ptr<ChannelInterface>& channel);
+
165 
+
166  grpc_completion_queue* cq() { return cq_; }
+
167  void set_cq(grpc_completion_queue* cq) { cq_ = cq; }
+
168 
+
169  grpc::string authority() { return authority_; }
+
170 
+
171  bool initial_metadata_received_;
+
172  std::shared_ptr<ChannelInterface> channel_;
+
173  grpc_call* call_;
+
174  grpc_completion_queue* cq_;
+
175  gpr_timespec deadline_;
+
176  grpc::string authority_;
+
177  std::shared_ptr<Credentials> creds_;
+
178  mutable std::shared_ptr<const AuthContext> auth_context_;
+
179  struct census_context* census_context_;
+
180  std::multimap<grpc::string, grpc::string> send_initial_metadata_;
+
181  std::multimap<grpc::string, grpc::string> recv_initial_metadata_;
+
182  std::multimap<grpc::string, grpc::string> trailing_metadata_;
+
183 
+
184  grpc_compression_algorithm compression_algorithm_;
+
185 };
+
186 
+
187 } // namespace grpc
+
188 
+
189 #endif // GRPCXX_CLIENT_CONTEXT_H
+
Definition: client_context.h:70
+
Definition: client_context.h:60
+
std::string string
Definition: config.h:112
+
std::chrono::system_clock::time_point deadline()
Definition: client_context.h:99
+ +
const std::multimap< grpc::string, grpc::string > & GetServerTrailingMetadata()
Definition: client_context.h:87
+
Definition: call.h:431
+
void set_deadline(const T &deadline)
Definition: client_context.h:93
+
grpc::string peer() const
Definition: client_context.cc:108
+ +
std::shared_ptr< const AuthContext > auth_context() const
Definition: client_context.cc:95
+
gpr_timespec raw_time()
Definition: time.h:56
+
Definition: time.h:53
+
Definition: async_unary_call.h:57
+
Definition: client_context.h:74
+ +
ClientContext()
Definition: client_context.cc:47
+
struct census_context * census_context() const
Definition: client_context.h:129
+
void TryCancel()
Definition: client_context.cc:102
+
void set_census_context(struct census_context *ccp)
Definition: client_context.h:128
+
grpc_compression_algorithm compression_algorithm() const
Definition: client_context.h:113
+
std::chrono::system_clock::time_point Timespec2Timepoint(gpr_timespec t)
Definition: time.cc:81
+
friend Status BlockingUnaryCall(ChannelInterface *channel, const RpcMethod &method, ClientContext *context, const InputMessage &request, OutputMessage *result)
Definition: client_unary_call.h:51
+
Definition: channel_interface.h:52
+
Definition: client_context.h:68
+ +
Definition: rpc_method.h:39
+
void set_authority(const grpc::string &authority)
Definition: client_context.h:106
+
gpr_timespec raw_deadline()
Definition: client_context.h:104
+
Definition: status.h:42
+
const std::multimap< grpc::string, grpc::string > & GetServerInitialMetadata()
Definition: client_context.h:82
+
Definition: client_context.h:64
+
Definition: client_context.h:66
+
Definition: client_context.h:62
+
void set_compression_algorithm(grpc_compression_algorithm algorithm)
Definition: client_context.cc:83
+
Definition: call.h:402
+
void set_credentials(const std::shared_ptr< Credentials > &creds)
Definition: client_context.h:109
+
void AddMetadata(const grpc::string &meta_key, const grpc::string &meta_value)
Definition: client_context.cc:67
+
Definition: channel.h:53
+
~ClientContext()
Definition: client_context.cc:53
+
+ + + + diff --git a/doc/ref/c++.internal/html/client__unary__call_8h.html b/doc/ref/c++.internal/html/client__unary__call_8h.html new file mode 100644 index 0000000000..5eeee2bf1f --- /dev/null +++ b/doc/ref/c++.internal/html/client__unary__call_8h.html @@ -0,0 +1,120 @@ + + + + + + +GRPC C++: include/grpc++/impl/client_unary_call.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
client_unary_call.h File Reference
+
+
+
#include <grpc++/config.h>
+#include <grpc++/status.h>
+#include <grpc++/impl/call.h>
+
+

Go to the source code of this file.

+ + + + +

+Namespaces

 grpc
 
+ + + + +

+Functions

template<class InputMessage , class OutputMessage >
Status grpc::BlockingUnaryCall (ChannelInterface *channel, const RpcMethod &method, ClientContext *context, const InputMessage &request, OutputMessage *result)
 
+
+ + + + diff --git a/doc/ref/c++.internal/html/client__unary__call_8h_source.html b/doc/ref/c++.internal/html/client__unary__call_8h_source.html new file mode 100644 index 0000000000..c4c2e431bb --- /dev/null +++ b/doc/ref/c++.internal/html/client__unary__call_8h_source.html @@ -0,0 +1,194 @@ + + + + + + +GRPC C++: include/grpc++/impl/client_unary_call.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
client_unary_call.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPCXX_IMPL_CLIENT_UNARY_CALL_H
+
35 #define GRPCXX_IMPL_CLIENT_UNARY_CALL_H
+
36 
+
37 #include <grpc++/config.h>
+
38 #include <grpc++/status.h>
+
39 
+
40 #include <grpc++/impl/call.h>
+
41 
+
42 namespace grpc {
+
43 
+
44 class ChannelInterface;
+
45 class ClientContext;
+
46 class CompletionQueue;
+
47 class RpcMethod;
+
48 
+
49 // Wrapper that performs a blocking unary call
+
50 template <class InputMessage, class OutputMessage>
+ +
52  ClientContext* context, const InputMessage& request,
+
53  OutputMessage* result) {
+
54  CompletionQueue cq;
+
55  Call call(channel->CreateCall(method, context, &cq));
+ + + +
59  Status status = ops.SendMessage(request);
+
60  if (!status.ok()) {
+
61  return status;
+
62  }
+
63  ops.SendInitialMetadata(context->send_initial_metadata_);
+
64  ops.RecvInitialMetadata(context);
+
65  ops.RecvMessage(result);
+
66  ops.ClientSendClose();
+
67  ops.ClientRecvStatus(context, &status);
+
68  call.PerformOps(&ops);
+
69  GPR_ASSERT((cq.Pluck(&ops) && ops.got_message) || !status.ok());
+
70  return status;
+
71 }
+
72 
+
73 } // namespace grpc
+
74 
+
75 #endif // GRPCXX_IMPL_CLIENT_UNARY_CALL_H
+
Definition: call.h:431
+ +
Definition: client_context.h:74
+
virtual Call CreateCall(const RpcMethod &method, ClientContext *context, CompletionQueue *cq)=0
+
Definition: call.h:190
+
Definition: call.h:341
+
Definition: call.h:565
+
Definition: channel_interface.h:52
+ +
Status BlockingUnaryCall(ChannelInterface *channel, const RpcMethod &method, ClientContext *context, const InputMessage &request, OutputMessage *result)
Definition: client_unary_call.h:51
+
Primary implementaiton of CallOpSetInterface.
Definition: call.h:506
+
Definition: call.h:237
+
Definition: completion_queue.h:87
+ +
Definition: rpc_method.h:39
+
bool ok() const
Definition: status.h:55
+
Definition: status.h:42
+
Definition: call.h:159
+
Definition: call.h:402
+
+ + + + diff --git a/doc/ref/c++.internal/html/closed.png b/doc/ref/c++.internal/html/closed.png new file mode 100644 index 0000000000..98cc2c909d Binary files /dev/null and b/doc/ref/c++.internal/html/closed.png differ diff --git a/doc/ref/c++.internal/html/completion__queue_8cc.html b/doc/ref/c++.internal/html/completion__queue_8cc.html new file mode 100644 index 0000000000..9efb039f4f --- /dev/null +++ b/doc/ref/c++.internal/html/completion__queue_8cc.html @@ -0,0 +1,113 @@ + + + + + + +GRPC C++: src/cpp/common/completion_queue.cc File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
completion_queue.cc File Reference
+
+
+
#include <grpc++/completion_queue.h>
+#include <memory>
+#include <grpc/grpc.h>
+#include <grpc/support/log.h>
+#include <grpc++/time.h>
+
+ + + +

+Namespaces

 grpc
 
+
+ + + + diff --git a/doc/ref/c++.internal/html/completion__queue_8h.html b/doc/ref/c++.internal/html/completion__queue_8h.html new file mode 100644 index 0000000000..8bf63d1cc9 --- /dev/null +++ b/doc/ref/c++.internal/html/completion__queue_8h.html @@ -0,0 +1,144 @@ + + + + + + +GRPC C++: include/grpc++/completion_queue.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
completion_queue.h File Reference
+
+ + + + + diff --git a/doc/ref/c++.internal/html/completion__queue_8h_source.html b/doc/ref/c++.internal/html/completion__queue_8h_source.html new file mode 100644 index 0000000000..fa3a432c98 --- /dev/null +++ b/doc/ref/c++.internal/html/completion__queue_8h_source.html @@ -0,0 +1,307 @@ + + + + + + +GRPC C++: include/grpc++/completion_queue.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
completion_queue.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPCXX_COMPLETION_QUEUE_H
+
35 #define GRPCXX_COMPLETION_QUEUE_H
+
36 
+
37 #include <grpc/support/time.h>
+ +
39 #include <grpc++/status.h>
+
40 #include <grpc++/time.h>
+
41 
+
42 struct grpc_completion_queue;
+
43 
+
44 namespace grpc {
+
45 
+
46 template <class R>
+
47 class ClientReader;
+
48 template <class W>
+
49 class ClientWriter;
+
50 template <class R, class W>
+
51 class ClientReaderWriter;
+
52 template <class R>
+ +
54 template <class W>
+ +
56 template <class R, class W>
+ +
58 template <class ServiceType, class RequestType, class ResponseType>
+ +
60 template <class ServiceType, class RequestType, class ResponseType>
+ +
62 template <class ServiceType, class RequestType, class ResponseType>
+ +
64 template <class ServiceType, class RequestType, class ResponseType>
+ +
66 
+
67 class ChannelInterface;
+
68 class ClientContext;
+
69 class CompletionQueue;
+
70 class RpcMethod;
+
71 class Server;
+
72 class ServerBuilder;
+
73 class ServerContext;
+
74 
+ +
76  public:
+
77  virtual ~CompletionQueueTag() {}
+
78  // Called prior to returning from Next(), return value
+
79  // is the status of the operation (return status is the default thing
+
80  // to do)
+
81  // If this function returns false, the tag is dropped and not returned
+
82  // from the completion queue
+
83  virtual bool FinalizeResult(void** tag, bool* status) = 0;
+
84 };
+
85 
+
86 // grpc_completion_queue wrapper class
+
87 class CompletionQueue : public GrpcLibrary {
+
88  public:
+ +
90  explicit CompletionQueue(grpc_completion_queue* take);
+ +
92 
+
93  // Tri-state return for AsyncNext: SHUTDOWN, GOT_EVENT, TIMEOUT
+ +
95 
+
96  // Nonblocking (until deadline) read from queue.
+
97  // Cannot rely on result of tag or ok if return is TIMEOUT
+
98  template <typename T>
+
99  NextStatus AsyncNext(void** tag, bool* ok, const T& deadline) {
+
100  TimePoint<T> deadline_tp(deadline);
+
101  return AsyncNextInternal(tag, ok, deadline_tp.raw_time());
+
102  }
+
103 
+
104  // Blocking read from queue.
+
105  // Returns false if the queue is ready for destruction, true if event
+
106 
+
107  bool Next(void** tag, bool* ok) {
+
108  return (AsyncNextInternal(tag, ok, gpr_inf_future(GPR_CLOCK_REALTIME)) !=
+
109  SHUTDOWN);
+
110  }
+
111 
+
112  // Shutdown has to be called, and the CompletionQueue can only be
+
113  // destructed when false is returned from Next().
+
114  void Shutdown();
+
115 
+
116  grpc_completion_queue* cq() { return cq_; }
+
117 
+
118  private:
+
119  // Friend synchronous wrappers so that they can access Pluck(), which is
+
120  // a semi-private API geared towards the synchronous implementation.
+
121  template <class R>
+
122  friend class ::grpc::ClientReader;
+
123  template <class W>
+
124  friend class ::grpc::ClientWriter;
+
125  template <class R, class W>
+
126  friend class ::grpc::ClientReaderWriter;
+
127  template <class R>
+
128  friend class ::grpc::ServerReader;
+
129  template <class W>
+
130  friend class ::grpc::ServerWriter;
+
131  template <class R, class W>
+
132  friend class ::grpc::ServerReaderWriter;
+
133  template <class ServiceType, class RequestType, class ResponseType>
+
134  friend class RpcMethodHandler;
+
135  template <class ServiceType, class RequestType, class ResponseType>
+ +
137  template <class ServiceType, class RequestType, class ResponseType>
+ +
139  template <class ServiceType, class RequestType, class ResponseType>
+
140  friend class BidiStreamingHandler;
+
141  friend class ::grpc::Server;
+
142  friend class ::grpc::ServerContext;
+
143  template <class InputMessage, class OutputMessage>
+
144  friend Status BlockingUnaryCall(ChannelInterface* channel,
+
145  const RpcMethod& method,
+
146  ClientContext* context,
+
147  const InputMessage& request,
+
148  OutputMessage* result);
+
149 
+
150  NextStatus AsyncNextInternal(void** tag, bool* ok, gpr_timespec deadline);
+
151 
+
152  // Wraps grpc_completion_queue_pluck.
+
153  // Cannot be mixed with calls to Next().
+
154  bool Pluck(CompletionQueueTag* tag);
+
155 
+
156  // Does a single polling pluck on tag
+
157  void TryPluck(CompletionQueueTag* tag);
+
158 
+
159  grpc_completion_queue* cq_; // owned
+
160 };
+
161 
+ +
163  private:
+
164  friend class ServerBuilder;
+ +
166 };
+
167 
+
168 } // namespace grpc
+
169 
+
170 #endif // GRPCXX_COMPLETION_QUEUE_H
+
Definition: completion_queue.h:75
+
friend Status BlockingUnaryCall(ChannelInterface *channel, const RpcMethod &method, ClientContext *context, const InputMessage &request, OutputMessage *result)
Definition: client_unary_call.h:51
+ +
virtual bool FinalizeResult(void **tag, bool *status)=0
+
Definition: completion_queue.h:94
+ +
Definition: completion_queue.h:94
+
gpr_timespec raw_time()
Definition: time.h:56
+
Definition: time.h:53
+
grpc_completion_queue * cq()
Definition: completion_queue.h:116
+
Definition: client_context.h:74
+
Definition: completion_queue.h:53
+
~CompletionQueue() GRPC_OVERRIDE
Definition: completion_queue.cc:47
+
bool Next(void **tag, bool *ok)
Definition: completion_queue.h:107
+
Definition: grpc_library.h:41
+
NextStatus AsyncNext(void **tag, bool *ok, const T &deadline)
Definition: completion_queue.h:99
+
virtual ~CompletionQueueTag()
Definition: completion_queue.h:77
+
Definition: server.h:61
+
Definition: completion_queue.h:59
+
void Shutdown()
Definition: completion_queue.cc:49
+
Definition: channel_interface.h:52
+
NextStatus
Definition: completion_queue.h:94
+
CompletionQueue()
Definition: completion_queue.cc:43
+
Definition: server_context.h:86
+
Definition: completion_queue.h:55
+
Definition: completion_queue.h:87
+
Definition: completion_queue.h:61
+ +
Definition: rpc_method.h:39
+
Definition: completion_queue.h:57
+
Definition: completion_queue.h:63
+
Definition: status.h:42
+
Definition: completion_queue.h:162
+
#define GRPC_OVERRIDE
Definition: config.h:77
+
Definition: completion_queue.h:65
+
Definition: server_builder.h:54
+
Definition: completion_queue.h:94
+
+ + + + diff --git a/doc/ref/c++.internal/html/config_8h.html b/doc/ref/c++.internal/html/config_8h.html new file mode 100644 index 0000000000..2d4ed2b1c2 --- /dev/null +++ b/doc/ref/c++.internal/html/config_8h.html @@ -0,0 +1,164 @@ + + + + + + +GRPC C++: include/grpc++/config.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
config.h File Reference
+
+
+
#include <string>
+
+

Go to the source code of this file.

+ + + + +

+Namespaces

 grpc
 
+ + + + + + + +

+Macros

#define GRPC_FINAL   final
 
#define GRPC_OVERRIDE   override
 
#define GRPC_CUSTOM_STRING   std::string
 
+ + + +

+Typedefs

typedef std::string grpc::string
 
+

Macro Definition Documentation

+ +
+
+ + + + +
#define GRPC_CUSTOM_STRING   std::string
+
+ +
+
+ +
+
+ + + + +
#define GRPC_FINAL   final
+
+ +
+
+ +
+
+ + + + +
#define GRPC_OVERRIDE   override
+
+ +
+
+
+ + + + diff --git a/doc/ref/c++.internal/html/config_8h_source.html b/doc/ref/c++.internal/html/config_8h_source.html new file mode 100644 index 0000000000..4d83e0e694 --- /dev/null +++ b/doc/ref/c++.internal/html/config_8h_source.html @@ -0,0 +1,218 @@ + + + + + + +GRPC C++: include/grpc++/config.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
config.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPCXX_CONFIG_H
+
35 #define GRPCXX_CONFIG_H
+
36 
+
37 #if !defined(GRPC_NO_AUTODETECT_PLATFORM)
+
38 
+
39 #ifdef _MSC_VER
+
40 // Visual Studio 2010 is 1600.
+
41 #if _MSC_VER < 1600
+
42 #error "gRPC is only supported with Visual Studio starting at 2010"
+
43 // Visual Studio 2013 is 1800.
+
44 #elif _MSC_VER < 1800
+
45 #define GRPC_CXX0X_NO_FINAL 1
+
46 #define GRPC_CXX0X_NO_OVERRIDE 1
+
47 #define GRPC_CXX0X_NO_CHRONO 1
+
48 #define GRPC_CXX0X_NO_THREAD 1
+
49 #endif
+
50 #endif // Visual Studio
+
51 
+
52 #ifndef __clang__
+
53 #ifdef __GNUC__
+
54 // nullptr was added in gcc 4.6
+
55 #if (__GNUC__ * 100 + __GNUC_MINOR__ < 406)
+
56 #define GRPC_CXX0X_NO_NULLPTR 1
+
57 #endif
+
58 // final and override were added in gcc 4.7
+
59 #if (__GNUC__ * 100 + __GNUC_MINOR__ < 407)
+
60 #define GRPC_CXX0X_NO_FINAL 1
+
61 #define GRPC_CXX0X_NO_OVERRIDE 1
+
62 #endif
+
63 #endif
+
64 #endif
+
65 
+
66 #endif
+
67 
+
68 #ifdef GRPC_CXX0X_NO_FINAL
+
69 #define GRPC_FINAL
+
70 #else
+
71 #define GRPC_FINAL final
+
72 #endif
+
73 
+
74 #ifdef GRPC_CXX0X_NO_OVERRIDE
+
75 #define GRPC_OVERRIDE
+
76 #else
+
77 #define GRPC_OVERRIDE override
+
78 #endif
+
79 
+
80 #ifdef GRPC_CXX0X_NO_NULLPTR
+
81 #include <memory>
+
82 namespace grpc {
+
83 const class {
+
84  public:
+
85  template <class T>
+
86  operator T *() const {
+
87  return static_cast<T *>(0);
+
88  }
+
89  template <class T>
+
90  operator std::unique_ptr<T>() const {
+
91  return std::unique_ptr<T>(static_cast<T *>(0));
+
92  }
+
93  template <class T>
+
94  operator std::shared_ptr<T>() const {
+
95  return std::shared_ptr<T>(static_cast<T *>(0));
+
96  }
+
97  operator bool() const { return false; }
+
98 
+
99  private:
+
100  void operator&() const = delete;
+
101 } nullptr = {};
+
102 }
+
103 #endif
+
104 
+
105 #ifndef GRPC_CUSTOM_STRING
+
106 #include <string>
+
107 #define GRPC_CUSTOM_STRING std::string
+
108 #endif
+
109 
+
110 namespace grpc {
+
111 
+ +
113 
+
114 } // namespace grpc
+
115 
+
116 #endif // GRPCXX_CONFIG_H
+
std::string string
Definition: config.h:112
+
#define GRPC_CUSTOM_STRING
Definition: config.h:107
+
+ + + + diff --git a/doc/ref/c++.internal/html/config__protobuf_8h.html b/doc/ref/c++.internal/html/config__protobuf_8h.html new file mode 100644 index 0000000000..5ce2c3d77a --- /dev/null +++ b/doc/ref/c++.internal/html/config__protobuf_8h.html @@ -0,0 +1,210 @@ + + + + + + +GRPC C++: include/grpc++/config_protobuf.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
config_protobuf.h File Reference
+
+
+
#include <google/protobuf/stubs/common.h>
+#include <google/protobuf/message.h>
+#include <google/protobuf/io/coded_stream.h>
+#include <google/protobuf/io/zero_copy_stream.h>
+
+

Go to the source code of this file.

+ + + + + + + + +

+Namespaces

 grpc
 
 grpc::protobuf
 
 grpc::protobuf::io
 
+ + + + + + + + + + + +

+Macros

#define GRPC_CUSTOM_PROTOBUF_INT64   ::google::protobuf::int64
 
#define GRPC_CUSTOM_MESSAGE   ::google::protobuf::Message
 
#define GRPC_CUSTOM_ZEROCOPYOUTPUTSTREAM   ::google::protobuf::io::ZeroCopyOutputStream
 
#define GRPC_CUSTOM_ZEROCOPYINPUTSTREAM   ::google::protobuf::io::ZeroCopyInputStream
 
#define GRPC_CUSTOM_CODEDINPUTSTREAM   ::google::protobuf::io::CodedInputStream
 
+ + + + + + + + + + + +

+Typedefs

typedef ::google::protobuf::Message grpc::protobuf::Message
 
typedef ::google::protobuf::int64 grpc::protobuf::int64
 
typedef
+::google::protobuf::io::ZeroCopyOutputStream 
grpc::protobuf::io::ZeroCopyOutputStream
 
typedef
+::google::protobuf::io::ZeroCopyInputStream 
grpc::protobuf::io::ZeroCopyInputStream
 
typedef
+::google::protobuf::io::CodedInputStream 
grpc::protobuf::io::CodedInputStream
 
+

Macro Definition Documentation

+ +
+
+ + + + +
#define GRPC_CUSTOM_CODEDINPUTSTREAM   ::google::protobuf::io::CodedInputStream
+
+ +
+
+ +
+
+ + + + +
#define GRPC_CUSTOM_MESSAGE   ::google::protobuf::Message
+
+ +
+
+ +
+
+ + + + +
#define GRPC_CUSTOM_PROTOBUF_INT64   ::google::protobuf::int64
+
+ +
+
+ +
+
+ + + + +
#define GRPC_CUSTOM_ZEROCOPYINPUTSTREAM   ::google::protobuf::io::ZeroCopyInputStream
+
+ +
+
+ +
+
+ + + + +
#define GRPC_CUSTOM_ZEROCOPYOUTPUTSTREAM   ::google::protobuf::io::ZeroCopyOutputStream
+
+ +
+
+
+ + + + diff --git a/doc/ref/c++.internal/html/config__protobuf_8h_source.html b/doc/ref/c++.internal/html/config__protobuf_8h_source.html new file mode 100644 index 0000000000..b45c625a19 --- /dev/null +++ b/doc/ref/c++.internal/html/config__protobuf_8h_source.html @@ -0,0 +1,182 @@ + + + + + + +GRPC C++: include/grpc++/config_protobuf.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
config_protobuf.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPCXX_CONFIG_PROTOBUF_H
+
35 #define GRPCXX_CONFIG_PROTOBUF_H
+
36 
+
37 #ifndef GRPC_CUSTOM_PROTOBUF_INT64
+
38 #include <google/protobuf/stubs/common.h>
+
39 #define GRPC_CUSTOM_PROTOBUF_INT64 ::google::protobuf::int64
+
40 #endif
+
41 
+
42 #ifndef GRPC_CUSTOM_MESSAGE
+
43 #include <google/protobuf/message.h>
+
44 #define GRPC_CUSTOM_MESSAGE ::google::protobuf::Message
+
45 #endif
+
46 
+
47 #ifndef GRPC_CUSTOM_ZEROCOPYOUTPUTSTREAM
+
48 #include <google/protobuf/io/coded_stream.h>
+
49 #include <google/protobuf/io/zero_copy_stream.h>
+
50 #define GRPC_CUSTOM_ZEROCOPYOUTPUTSTREAM \
+
51  ::google::protobuf::io::ZeroCopyOutputStream
+
52 #define GRPC_CUSTOM_ZEROCOPYINPUTSTREAM \
+
53  ::google::protobuf::io::ZeroCopyInputStream
+
54 #define GRPC_CUSTOM_CODEDINPUTSTREAM ::google::protobuf::io::CodedInputStream
+
55 #endif
+
56 
+
57 namespace grpc {
+
58 namespace protobuf {
+
59 
+ + +
62 
+
63 namespace io {
+ + + +
67 } // namespace io
+
68 
+
69 } // namespace protobuf
+
70 } // namespace grpc
+
71 
+
72 #endif // GRPCXX_CONFIG_PROTOBUF_H
+
#define GRPC_CUSTOM_MESSAGE
Definition: config_protobuf.h:44
+
#define GRPC_CUSTOM_CODEDINPUTSTREAM
Definition: config_protobuf.h:54
+
::google::protobuf::io::ZeroCopyInputStream ZeroCopyInputStream
Definition: config_protobuf.h:65
+
#define GRPC_CUSTOM_PROTOBUF_INT64
Definition: config_protobuf.h:39
+
::google::protobuf::int64 int64
Definition: config_protobuf.h:61
+
#define GRPC_CUSTOM_ZEROCOPYINPUTSTREAM
Definition: config_protobuf.h:52
+
::google::protobuf::io::ZeroCopyOutputStream ZeroCopyOutputStream
Definition: config_protobuf.h:64
+
#define GRPC_CUSTOM_ZEROCOPYOUTPUTSTREAM
Definition: config_protobuf.h:50
+
::google::protobuf::Message Message
Definition: config_protobuf.h:60
+
::google::protobuf::io::CodedInputStream CodedInputStream
Definition: config_protobuf.h:66
+
+ + + + diff --git a/doc/ref/c++.internal/html/create__auth__context_8h.html b/doc/ref/c++.internal/html/create__auth__context_8h.html new file mode 100644 index 0000000000..ef3a73062a --- /dev/null +++ b/doc/ref/c++.internal/html/create__auth__context_8h.html @@ -0,0 +1,120 @@ + + + + + + +GRPC C++: src/cpp/common/create_auth_context.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
create_auth_context.h File Reference
+
+
+
#include <memory>
+#include <grpc/grpc.h>
+#include <grpc++/auth_context.h>
+
+

Go to the source code of this file.

+ + + + +

+Namespaces

 grpc
 
+ + + +

+Functions

std::shared_ptr< const
+AuthContext > 
grpc::CreateAuthContext (grpc_call *call)
 
+
+ + + + diff --git a/doc/ref/c++.internal/html/create__auth__context_8h_source.html b/doc/ref/c++.internal/html/create__auth__context_8h_source.html new file mode 100644 index 0000000000..07ae922be4 --- /dev/null +++ b/doc/ref/c++.internal/html/create__auth__context_8h_source.html @@ -0,0 +1,144 @@ + + + + + + +GRPC C++: src/cpp/common/create_auth_context.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
create_auth_context.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 #include <memory>
+
34 
+
35 #include <grpc/grpc.h>
+
36 #include <grpc++/auth_context.h>
+
37 
+
38 namespace grpc {
+
39 
+
40 std::shared_ptr<const AuthContext> CreateAuthContext(grpc_call* call);
+
41 
+
42 } // namespace grpc
+
std::shared_ptr< const AuthContext > CreateAuthContext(grpc_call *call)
Definition: secure_create_auth_context.cc:42
+ +
+ + + + diff --git a/doc/ref/c++.internal/html/create__channel_8cc.html b/doc/ref/c++.internal/html/create__channel_8cc.html new file mode 100644 index 0000000000..6600c7ab0c --- /dev/null +++ b/doc/ref/c++.internal/html/create__channel_8cc.html @@ -0,0 +1,120 @@ + + + + + + +GRPC C++: src/cpp/client/create_channel.cc File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
create_channel.cc File Reference
+
+
+
#include <memory>
+#include <sstream>
+#include "src/cpp/client/channel.h"
+#include <grpc++/channel_interface.h>
+#include <grpc++/channel_arguments.h>
+#include <grpc++/create_channel.h>
+
+ + + +

+Namespaces

 grpc
 
+ + + +

+Functions

std::shared_ptr< ChannelInterface > grpc::CreateChannel (const grpc::string &target, const std::shared_ptr< Credentials > &creds, const ChannelArguments &args)
 
+
+ + + + diff --git a/doc/ref/c++.internal/html/create__channel_8h.html b/doc/ref/c++.internal/html/create__channel_8h.html new file mode 100644 index 0000000000..6ea7d87291 --- /dev/null +++ b/doc/ref/c++.internal/html/create__channel_8h.html @@ -0,0 +1,119 @@ + + + + + + +GRPC C++: include/grpc++/create_channel.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
create_channel.h File Reference
+
+
+
#include <memory>
+#include <grpc++/config.h>
+#include <grpc++/credentials.h>
+
+

Go to the source code of this file.

+ + + + +

+Namespaces

 grpc
 
+ + + +

+Functions

std::shared_ptr< ChannelInterface > grpc::CreateChannel (const grpc::string &target, const std::shared_ptr< Credentials > &creds, const ChannelArguments &args)
 
+
+ + + + diff --git a/doc/ref/c++.internal/html/create__channel_8h_source.html b/doc/ref/c++.internal/html/create__channel_8h_source.html new file mode 100644 index 0000000000..b59f258a09 --- /dev/null +++ b/doc/ref/c++.internal/html/create__channel_8h_source.html @@ -0,0 +1,157 @@ + + + + + + +GRPC C++: include/grpc++/create_channel.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
create_channel.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPCXX_CREATE_CHANNEL_H
+
35 #define GRPCXX_CREATE_CHANNEL_H
+
36 
+
37 #include <memory>
+
38 
+
39 #include <grpc++/config.h>
+
40 #include <grpc++/credentials.h>
+
41 
+
42 namespace grpc {
+
43 class ChannelArguments;
+
44 class ChannelInterface;
+
45 
+
46 // If creds does not hold an object or is invalid, a lame channel is returned.
+
47 std::shared_ptr<ChannelInterface> CreateChannel(
+
48  const grpc::string& target, const std::shared_ptr<Credentials>& creds,
+
49  const ChannelArguments& args);
+
50 
+
51 } // namespace grpc
+
52 
+
53 #endif // GRPCXX_CREATE_CHANNEL_H
+
std::string string
Definition: config.h:112
+ +
std::shared_ptr< ChannelInterface > CreateChannel(const grpc::string &target, const std::shared_ptr< Credentials > &creds, const ChannelArguments &args)
Definition: create_channel.cc:45
+ +
+ + + + diff --git a/doc/ref/c++.internal/html/create__default__thread__pool_8cc.html b/doc/ref/c++.internal/html/create__default__thread__pool_8cc.html new file mode 100644 index 0000000000..7bc2188555 --- /dev/null +++ b/doc/ref/c++.internal/html/create__default__thread__pool_8cc.html @@ -0,0 +1,116 @@ + + + + + + +GRPC C++: src/cpp/server/create_default_thread_pool.cc File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
create_default_thread_pool.cc File Reference
+
+
+
#include <grpc/support/cpu.h>
+#include <grpc++/dynamic_thread_pool.h>
+
+ + + +

+Namespaces

 grpc
 
+ + + +

+Functions

ThreadPoolInterface * grpc::CreateDefaultThreadPool ()
 
+
+ + + + diff --git a/doc/ref/c++.internal/html/credentials_8cc.html b/doc/ref/c++.internal/html/credentials_8cc.html new file mode 100644 index 0000000000..9eabce5cda --- /dev/null +++ b/doc/ref/c++.internal/html/credentials_8cc.html @@ -0,0 +1,109 @@ + + + + + + +GRPC C++: src/cpp/client/credentials.cc File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
credentials.cc File Reference
+
+
+ + + + +

+Namespaces

 grpc
 
+
+ + + + diff --git a/doc/ref/c++.internal/html/credentials_8h.html b/doc/ref/c++.internal/html/credentials_8h.html new file mode 100644 index 0000000000..adb7ced348 --- /dev/null +++ b/doc/ref/c++.internal/html/credentials_8h.html @@ -0,0 +1,145 @@ + + + + + + +GRPC C++: include/grpc++/credentials.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
credentials.h File Reference
+
+
+
#include <memory>
+#include <grpc++/config.h>
+#include <grpc++/impl/grpc_library.h>
+
+

Go to the source code of this file.

+ + + + + + +

+Data Structures

class  grpc::Credentials
 
struct  grpc::SslCredentialsOptions
 
+ + + +

+Namespaces

 grpc
 
+ + + + + + + + + + + + + + + + + + + + + +

+Functions

std::shared_ptr< Credentials > grpc::GoogleDefaultCredentials ()
 
std::shared_ptr< Credentials > grpc::SslCredentials (const SslCredentialsOptions &options)
 
std::shared_ptr< Credentials > grpc::ComputeEngineCredentials ()
 
std::shared_ptr< Credentials > grpc::ServiceAccountCredentials (const grpc::string &json_key, const grpc::string &scope, long token_lifetime_seconds)
 
std::shared_ptr< Credentials > grpc::ServiceAccountJWTAccessCredentials (const grpc::string &json_key, long token_lifetime_seconds)
 
std::shared_ptr< Credentials > grpc::RefreshTokenCredentials (const grpc::string &json_refresh_token)
 
std::shared_ptr< Credentials > grpc::AccessTokenCredentials (const grpc::string &access_token)
 
std::shared_ptr< Credentials > grpc::IAMCredentials (const grpc::string &authorization_token, const grpc::string &authority_selector)
 
std::shared_ptr< Credentials > grpc::CompositeCredentials (const std::shared_ptr< Credentials > &creds1, const std::shared_ptr< Credentials > &creds2)
 
std::shared_ptr< Credentials > grpc::InsecureCredentials ()
 
+
+ + + + diff --git a/doc/ref/c++.internal/html/credentials_8h_source.html b/doc/ref/c++.internal/html/credentials_8h_source.html new file mode 100644 index 0000000000..1f267350cb --- /dev/null +++ b/doc/ref/c++.internal/html/credentials_8h_source.html @@ -0,0 +1,271 @@ + + + + + + +GRPC C++: include/grpc++/credentials.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
credentials.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPCXX_CREDENTIALS_H
+
35 #define GRPCXX_CREDENTIALS_H
+
36 
+
37 #include <memory>
+
38 
+
39 #include <grpc++/config.h>
+ +
41 
+
42 namespace grpc {
+
43 class ChannelArguments;
+
44 class ChannelInterface;
+
45 class SecureCredentials;
+
46 
+
47 class Credentials : public GrpcLibrary {
+
48  public:
+ +
50  virtual bool ApplyToCall(grpc_call* call) = 0;
+
51 
+
52  protected:
+
53  friend std::shared_ptr<Credentials> CompositeCredentials(
+
54  const std::shared_ptr<Credentials>& creds1,
+
55  const std::shared_ptr<Credentials>& creds2);
+
56 
+ +
58 
+
59  private:
+
60  friend std::shared_ptr<ChannelInterface> CreateChannel(
+
61  const grpc::string& target, const std::shared_ptr<Credentials>& creds,
+
62  const ChannelArguments& args);
+
63 
+
64  virtual std::shared_ptr<ChannelInterface> CreateChannel(
+
65  const grpc::string& target, const ChannelArguments& args) = 0;
+
66 };
+
67 
+
68 // Options used to build SslCredentials
+
69 // pem_roots_cert is the buffer containing the PEM encoding of the server root
+
70 // certificates. If this parameter is empty, the default roots will be used.
+
71 // pem_private_key is the buffer containing the PEM encoding of the client's
+
72 // private key. This parameter can be empty if the client does not have a
+
73 // private key.
+
74 // pem_cert_chain is the buffer containing the PEM encoding of the client's
+
75 // certificate chain. This parameter can be empty if the client does not have
+
76 // a certificate chain.
+ + + + +
81 };
+
82 
+
83 // Factories for building different types of Credentials
+
84 // The functions may return empty shared_ptr when credentials cannot be created.
+
85 // If a Credentials pointer is returned, it can still be invalid when used to
+
86 // create a channel. A lame channel will be created then and all rpcs will
+
87 // fail on it.
+
88 
+
89 // Builds credentials with reasonable defaults.
+
90 std::shared_ptr<Credentials> GoogleDefaultCredentials();
+
91 
+
92 // Builds SSL Credentials given SSL specific options
+
93 std::shared_ptr<Credentials> SslCredentials(
+
94  const SslCredentialsOptions& options);
+
95 
+
96 // Builds credentials for use when running in GCE
+
97 std::shared_ptr<Credentials> ComputeEngineCredentials();
+
98 
+
99 // Builds service account credentials.
+
100 // json_key is the JSON key string containing the client's private key.
+
101 // scope is a space-delimited list of the requested permissions.
+
102 // token_lifetime_seconds is the lifetime in seconds of each token acquired
+
103 // through this service account credentials. It should be positive and should
+
104 // not exceed grpc_max_auth_token_lifetime or will be cropped to this value.
+
105 std::shared_ptr<Credentials> ServiceAccountCredentials(
+
106  const grpc::string& json_key, const grpc::string& scope,
+
107  long token_lifetime_seconds);
+
108 
+
109 // Builds Service Account JWT Access credentials.
+
110 // json_key is the JSON key string containing the client's private key.
+
111 // token_lifetime_seconds is the lifetime in seconds of each Json Web Token
+
112 // (JWT) created with this credentials. It should not exceed
+
113 // grpc_max_auth_token_lifetime or will be cropped to this value.
+
114 std::shared_ptr<Credentials> ServiceAccountJWTAccessCredentials(
+
115  const grpc::string& json_key, long token_lifetime_seconds);
+
116 
+
117 // Builds refresh token credentials.
+
118 // json_refresh_token is the JSON string containing the refresh token along
+
119 // with a client_id and client_secret.
+
120 std::shared_ptr<Credentials> RefreshTokenCredentials(
+
121  const grpc::string& json_refresh_token);
+
122 
+
123 // Builds access token credentials.
+
124 // access_token is an oauth2 access token that was fetched using an out of band
+
125 // mechanism.
+
126 std::shared_ptr<Credentials> AccessTokenCredentials(
+
127  const grpc::string& access_token);
+
128 
+
129 // Builds IAM credentials.
+
130 std::shared_ptr<Credentials> IAMCredentials(
+
131  const grpc::string& authorization_token,
+
132  const grpc::string& authority_selector);
+
133 
+
134 // Combines two credentials objects into a composite credentials
+
135 std::shared_ptr<Credentials> CompositeCredentials(
+
136  const std::shared_ptr<Credentials>& creds1,
+
137  const std::shared_ptr<Credentials>& creds2);
+
138 
+
139 // Credentials for an unencrypted, unauthenticated channel
+
140 std::shared_ptr<Credentials> InsecureCredentials();
+
141 
+
142 } // namespace grpc
+
143 
+
144 #endif // GRPCXX_CREDENTIALS_H
+
std::shared_ptr< Credentials > CompositeCredentials(const std::shared_ptr< Credentials > &creds1, const std::shared_ptr< Credentials > &creds2)
Definition: secure_credentials.cc:137
+
std::string string
Definition: config.h:112
+
std::shared_ptr< Credentials > AccessTokenCredentials(const grpc::string &access_token)
Definition: secure_credentials.cc:122
+
Definition: channel_arguments.h:52
+ + +
~Credentials() GRPC_OVERRIDE
Definition: credentials.cc:38
+
virtual bool ApplyToCall(grpc_call *call)=0
+
std::shared_ptr< Credentials > InsecureCredentials()
Definition: insecure_credentials.cc:62
+
std::shared_ptr< Credentials > ServiceAccountJWTAccessCredentials(const grpc::string &json_key, long token_lifetime_seconds)
Definition: secure_credentials.cc:101
+
grpc::string pem_root_certs
Definition: credentials.h:78
+
Definition: credentials.h:77
+
Definition: grpc_library.h:41
+
virtual SecureCredentials * AsSecureCredentials()=0
+
grpc::string pem_cert_chain
Definition: credentials.h:80
+
Definition: credentials.h:47
+
grpc::string pem_private_key
Definition: credentials.h:79
+
friend std::shared_ptr< ChannelInterface > CreateChannel(const grpc::string &target, const std::shared_ptr< Credentials > &creds, const ChannelArguments &args)
Definition: create_channel.cc:45
+
std::shared_ptr< Credentials > ComputeEngineCredentials()
Definition: secure_credentials.cc:80
+
std::shared_ptr< Credentials > ServiceAccountCredentials(const grpc::string &json_key, const grpc::string &scope, long token_lifetime_seconds)
Definition: secure_credentials.cc:85
+
std::shared_ptr< Credentials > RefreshTokenCredentials(const grpc::string &json_refresh_token)
Definition: secure_credentials.cc:115
+
friend std::shared_ptr< Credentials > CompositeCredentials(const std::shared_ptr< Credentials > &creds1, const std::shared_ptr< Credentials > &creds2)
Definition: secure_credentials.cc:137
+
std::shared_ptr< Credentials > SslCredentials(const SslCredentialsOptions &options)
Definition: secure_credentials.cc:68
+
std::shared_ptr< Credentials > GoogleDefaultCredentials()
Definition: secure_credentials.cc:63
+
#define GRPC_OVERRIDE
Definition: config.h:77
+
Definition: secure_credentials.h:44
+
std::shared_ptr< Credentials > IAMCredentials(const grpc::string &authorization_token, const grpc::string &authority_selector)
Definition: secure_credentials.cc:129
+
+ + + + diff --git a/doc/ref/c++.internal/html/dir_0b10d04e5d7dad9a62c383a9247be3d1.html b/doc/ref/c++.internal/html/dir_0b10d04e5d7dad9a62c383a9247be3d1.html new file mode 100644 index 0000000000..8af035b69b --- /dev/null +++ b/doc/ref/c++.internal/html/dir_0b10d04e5d7dad9a62c383a9247be3d1.html @@ -0,0 +1,120 @@ + + + + + + +GRPC C++: src/cpp/server Directory Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + +
+ +
+ + +
+
+
+
server Directory Reference
+
+ + + + + diff --git a/doc/ref/c++.internal/html/dir_68267d1309a1af8e8297ef4c3efbcdba.html b/doc/ref/c++.internal/html/dir_68267d1309a1af8e8297ef4c3efbcdba.html new file mode 100644 index 0000000000..3b62c8454a --- /dev/null +++ b/doc/ref/c++.internal/html/dir_68267d1309a1af8e8297ef4c3efbcdba.html @@ -0,0 +1,100 @@ + + + + + + +GRPC C++: src Directory Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + +
+ +
+ + +
+
+
+
src Directory Reference
+
+
+ + + + +

+Directories

directory  cpp
 
+
+ + + + diff --git a/doc/ref/c++.internal/html/dir_799bce05d9e8d02e411cbb271f1d27d0.html b/doc/ref/c++.internal/html/dir_799bce05d9e8d02e411cbb271f1d27d0.html new file mode 100644 index 0000000000..910262c7f4 --- /dev/null +++ b/doc/ref/c++.internal/html/dir_799bce05d9e8d02e411cbb271f1d27d0.html @@ -0,0 +1,100 @@ + + + + + + +GRPC C++: src/cpp/proto Directory Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + +
+ +
+ + +
+
+
+
proto Directory Reference
+
+
+ + + + +

+Files

file  proto_utils.cc
 
+
+ + + + diff --git a/doc/ref/c++.internal/html/dir_9054dff79f4aef5611b5dbb47b540bd9.html b/doc/ref/c++.internal/html/dir_9054dff79f4aef5611b5dbb47b540bd9.html new file mode 100644 index 0000000000..3e8a9f1f17 --- /dev/null +++ b/doc/ref/c++.internal/html/dir_9054dff79f4aef5611b5dbb47b540bd9.html @@ -0,0 +1,106 @@ + + + + + + +GRPC C++: src/cpp/util Directory Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + +
+ +
+ + +
+
+
+
util Directory Reference
+
+
+ + + + + + + + + + +

+Files

file  byte_buffer.cc
 
file  slice.cc
 
file  status.cc
 
file  time.cc
 
+
+ + + + diff --git a/doc/ref/c++.internal/html/dir_9b13ffd429196d74948b03440343f0b3.html b/doc/ref/c++.internal/html/dir_9b13ffd429196d74948b03440343f0b3.html new file mode 100644 index 0000000000..1a7dc23746 --- /dev/null +++ b/doc/ref/c++.internal/html/dir_9b13ffd429196d74948b03440343f0b3.html @@ -0,0 +1,122 @@ + + + + + + +GRPC C++: src/cpp/client Directory Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + +
+ +
+ + +
+
+
+
client Directory Reference
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

+Files

file  channel.cc
 
file  channel.h [code]
 
file  channel_arguments.cc
 
file  client_context.cc
 
file  create_channel.cc
 
file  credentials.cc
 
file  generic_stub.cc
 
file  insecure_credentials.cc
 
file  internal_stub.cc
 
file  secure_channel_arguments.cc
 
file  secure_credentials.cc
 
file  secure_credentials.h [code]
 
+
+ + + + diff --git a/doc/ref/c++.internal/html/dir_ac8b245a5921095c43c106649fd7bc4b.html b/doc/ref/c++.internal/html/dir_ac8b245a5921095c43c106649fd7bc4b.html new file mode 100644 index 0000000000..c912b569dd --- /dev/null +++ b/doc/ref/c++.internal/html/dir_ac8b245a5921095c43c106649fd7bc4b.html @@ -0,0 +1,128 @@ + + + + + + +GRPC C++: include/grpc++/impl Directory Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + +
+ +
+ + +
+
+
+
impl Directory Reference
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Files

file  call.h [code]
 
file  client_unary_call.h [code]
 
file  grpc_library.h [code]
 
file  internal_stub.h [code]
 
file  proto_utils.h [code]
 
file  rpc_method.h [code]
 
file  rpc_service_method.h [code]
 
file  serialization_traits.h [code]
 
file  service_type.h [code]
 
file  sync.h [code]
 
file  sync_cxx11.h [code]
 
file  sync_no_cxx11.h [code]
 
file  thd.h [code]
 
file  thd_cxx11.h [code]
 
file  thd_no_cxx11.h [code]
 
+
+ + + + diff --git a/doc/ref/c++.internal/html/dir_d44c64559bbebec7f509842c48db8b23.html b/doc/ref/c++.internal/html/dir_d44c64559bbebec7f509842c48db8b23.html new file mode 100644 index 0000000000..f35cc6da29 --- /dev/null +++ b/doc/ref/c++.internal/html/dir_d44c64559bbebec7f509842c48db8b23.html @@ -0,0 +1,100 @@ + + + + + + +GRPC C++: include Directory Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + +
+ +
+ + +
+
+
+
include Directory Reference
+
+
+ + + + +

+Directories

directory  grpc++
 
+
+ + + + diff --git a/doc/ref/c++.internal/html/dir_dfdbda394c3f7a3aa55229f33a559c41.html b/doc/ref/c++.internal/html/dir_dfdbda394c3f7a3aa55229f33a559c41.html new file mode 100644 index 0000000000..61b780ff5f --- /dev/null +++ b/doc/ref/c++.internal/html/dir_dfdbda394c3f7a3aa55229f33a559c41.html @@ -0,0 +1,108 @@ + + + + + + +GRPC C++: src/cpp Directory Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + +
+ +
+ + +
+
+
+
cpp Directory Reference
+
+
+ + + + + + + + + + + + +

+Directories

directory  client
 
directory  common
 
directory  proto
 
directory  server
 
directory  util
 
+
+ + + + diff --git a/doc/ref/c++.internal/html/dir_f1b2ab2a88927c1e950e43c1cf4b634b.html b/doc/ref/c++.internal/html/dir_f1b2ab2a88927c1e950e43c1cf4b634b.html new file mode 100644 index 0000000000..2aba8c592b --- /dev/null +++ b/doc/ref/c++.internal/html/dir_f1b2ab2a88927c1e950e43c1cf4b634b.html @@ -0,0 +1,155 @@ + + + + + + +GRPC C++: include/grpc++ Directory Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + +
+ +
+ + +
+
+
+
grpc++ Directory Reference
+
+
+ + + + +

+Directories

directory  impl
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Files

file  async_generic_service.h [code]
 
file  async_unary_call.h [code]
 
file  auth_context.h [code]
 
file  auth_property_iterator.h [code]
 
file  byte_buffer.h [code]
 
file  channel_arguments.h [code]
 
file  channel_interface.h [code]
 
file  client_context.h [code]
 
file  completion_queue.h [code]
 
file  config.h [code]
 
file  config_protobuf.h [code]
 
file  create_channel.h [code]
 
file  credentials.h [code]
 
file  dynamic_thread_pool.h [code]
 
file  fixed_size_thread_pool.h [code]
 
file  generic_stub.h [code]
 
file  server.h [code]
 
file  server_builder.h [code]
 
file  server_context.h [code]
 
file  server_credentials.h [code]
 
file  slice.h [code]
 
file  status.h [code]
 
file  status_code_enum.h [code]
 
file  stream.h [code]
 
file  thread_pool_interface.h [code]
 
file  time.h [code]
 
+
+ + + + diff --git a/doc/ref/c++.internal/html/dir_fdeab67c13c4581d892d240a87ff1c87.html b/doc/ref/c++.internal/html/dir_fdeab67c13c4581d892d240a87ff1c87.html new file mode 100644 index 0000000000..295099f13d --- /dev/null +++ b/doc/ref/c++.internal/html/dir_fdeab67c13c4581d892d240a87ff1c87.html @@ -0,0 +1,114 @@ + + + + + + +GRPC C++: src/cpp/common Directory Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + +
+ +
+ + +
+
+
+
common Directory Reference
+
+
+ + + + + + + + + + + + + + + + + + +

+Files

file  auth_property_iterator.cc
 
file  call.cc
 
file  completion_queue.cc
 
file  create_auth_context.h [code]
 
file  rpc_method.cc
 
file  secure_auth_context.cc
 
file  secure_auth_context.h [code]
 
file  secure_create_auth_context.cc
 
+
+ + + + diff --git a/doc/ref/c++.internal/html/doxygen.css b/doc/ref/c++.internal/html/doxygen.css new file mode 100644 index 0000000000..f0f36f89f5 --- /dev/null +++ b/doc/ref/c++.internal/html/doxygen.css @@ -0,0 +1,1366 @@ +/* The standard CSS for doxygen 1.8.6 */ + +body, table, div, p, dl { + font: 400 14px/22px Roboto,sans-serif; +} + +/* @group Heading Levels */ + +h1.groupheader { + font-size: 150%; +} + +.title { + font: 400 14px/28px Roboto,sans-serif; + font-size: 150%; + font-weight: bold; + margin: 10px 2px; +} + +h2.groupheader { + border-bottom: 1px solid #879ECB; + color: #354C7B; + font-size: 150%; + font-weight: normal; + margin-top: 1.75em; + padding-top: 8px; + padding-bottom: 4px; + width: 100%; +} + +h3.groupheader { + font-size: 100%; +} + +h1, h2, h3, h4, h5, h6 { + -webkit-transition: text-shadow 0.5s linear; + -moz-transition: text-shadow 0.5s linear; + -ms-transition: text-shadow 0.5s linear; + -o-transition: text-shadow 0.5s linear; + transition: text-shadow 0.5s linear; + margin-right: 15px; +} + +h1.glow, h2.glow, h3.glow, h4.glow, h5.glow, h6.glow { + text-shadow: 0 0 15px cyan; +} + +dt { + font-weight: bold; +} + +div.multicol { + -moz-column-gap: 1em; + -webkit-column-gap: 1em; + -moz-column-count: 3; + -webkit-column-count: 3; +} + +p.startli, p.startdd { + margin-top: 2px; +} + +p.starttd { + margin-top: 0px; +} + +p.endli { + margin-bottom: 0px; +} + +p.enddd { + margin-bottom: 4px; +} + +p.endtd { + margin-bottom: 2px; +} + +/* @end */ + +caption { + font-weight: bold; +} + +span.legend { + font-size: 70%; + text-align: center; +} + +h3.version { + font-size: 90%; + text-align: center; +} + +div.qindex, div.navtab{ + background-color: #EBEFF6; + border: 1px solid #A3B4D7; + text-align: center; +} + +div.qindex, div.navpath { + width: 100%; + line-height: 140%; +} + +div.navtab { + margin-right: 15px; +} + +/* @group Link Styling */ + +a { + color: #3D578C; + font-weight: normal; + text-decoration: none; +} + +.contents a:visited { + color: #4665A2; +} + +a:hover { + text-decoration: underline; +} + +a.qindex { + font-weight: bold; +} + +a.qindexHL { + font-weight: bold; + background-color: #9CAFD4; + color: #ffffff; + border: 1px double #869DCA; +} + +.contents a.qindexHL:visited { + color: #ffffff; +} + +a.el { + font-weight: bold; +} + +a.elRef { +} + +a.code, a.code:visited, a.line, a.line:visited { + color: #4665A2; +} + +a.codeRef, a.codeRef:visited, a.lineRef, a.lineRef:visited { + color: #4665A2; +} + +/* @end */ + +dl.el { + margin-left: -1cm; +} + +pre.fragment { + border: 1px solid #C4CFE5; + background-color: #FBFCFD; + padding: 4px 6px; + margin: 4px 8px 4px 2px; + overflow: auto; + word-wrap: break-word; + font-size: 9pt; + line-height: 125%; + font-family: monospace, fixed; + font-size: 105%; +} + +div.fragment { + padding: 4px 6px; + margin: 4px 8px 4px 2px; + background-color: #FBFCFD; + border: 1px solid #C4CFE5; +} + +div.line { + font-family: monospace, fixed; + font-size: 13px; + min-height: 13px; + line-height: 1.0; + text-wrap: unrestricted; + white-space: -moz-pre-wrap; /* Moz */ + white-space: -pre-wrap; /* Opera 4-6 */ + white-space: -o-pre-wrap; /* Opera 7 */ + white-space: pre-wrap; /* CSS3 */ + word-wrap: break-word; /* IE 5.5+ */ + text-indent: -53px; + padding-left: 53px; + padding-bottom: 0px; + margin: 0px; + -webkit-transition-property: background-color, box-shadow; + -webkit-transition-duration: 0.5s; + -moz-transition-property: background-color, box-shadow; + -moz-transition-duration: 0.5s; + -ms-transition-property: background-color, box-shadow; + -ms-transition-duration: 0.5s; + -o-transition-property: background-color, box-shadow; + -o-transition-duration: 0.5s; + transition-property: background-color, box-shadow; + transition-duration: 0.5s; +} + +div.line.glow { + background-color: cyan; + box-shadow: 0 0 10px cyan; +} + + +span.lineno { + padding-right: 4px; + text-align: right; + border-right: 2px solid #0F0; + background-color: #E8E8E8; + white-space: pre; +} +span.lineno a { + background-color: #D8D8D8; +} + +span.lineno a:hover { + background-color: #C8C8C8; +} + +div.ah { + background-color: black; + font-weight: bold; + color: #ffffff; + margin-bottom: 3px; + margin-top: 3px; + padding: 0.2em; + border: solid thin #333; + border-radius: 0.5em; + -webkit-border-radius: .5em; + -moz-border-radius: .5em; + box-shadow: 2px 2px 3px #999; + -webkit-box-shadow: 2px 2px 3px #999; + -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px; + background-image: -webkit-gradient(linear, left top, left bottom, from(#eee), to(#000),color-stop(0.3, #444)); + background-image: -moz-linear-gradient(center top, #eee 0%, #444 40%, #000); +} + +div.groupHeader { + margin-left: 16px; + margin-top: 12px; + font-weight: bold; +} + +div.groupText { + margin-left: 16px; + font-style: italic; +} + +body { + background-color: white; + color: black; + margin: 0; +} + +div.contents { + margin-top: 10px; + margin-left: 12px; + margin-right: 8px; +} + +td.indexkey { + background-color: #EBEFF6; + font-weight: bold; + border: 1px solid #C4CFE5; + margin: 2px 0px 2px 0; + padding: 2px 10px; + white-space: nowrap; + vertical-align: top; +} + +td.indexvalue { + background-color: #EBEFF6; + border: 1px solid #C4CFE5; + padding: 2px 10px; + margin: 2px 0px; +} + +tr.memlist { + background-color: #EEF1F7; +} + +p.formulaDsp { + text-align: center; +} + +img.formulaDsp { + +} + +img.formulaInl { + vertical-align: middle; +} + +div.center { + text-align: center; + margin-top: 0px; + margin-bottom: 0px; + padding: 0px; +} + +div.center img { + border: 0px; +} + +address.footer { + text-align: right; + padding-right: 12px; +} + +img.footer { + border: 0px; + vertical-align: middle; +} + +/* @group Code Colorization */ + +span.keyword { + color: #008000 +} + +span.keywordtype { + color: #604020 +} + +span.keywordflow { + color: #e08000 +} + +span.comment { + color: #800000 +} + +span.preprocessor { + color: #806020 +} + +span.stringliteral { + color: #002080 +} + +span.charliteral { + color: #008080 +} + +span.vhdldigit { + color: #ff00ff +} + +span.vhdlchar { + color: #000000 +} + +span.vhdlkeyword { + color: #700070 +} + +span.vhdllogic { + color: #ff0000 +} + +blockquote { + background-color: #F7F8FB; + border-left: 2px solid #9CAFD4; + margin: 0 24px 0 4px; + padding: 0 12px 0 16px; +} + +/* @end */ + +/* +.search { + color: #003399; + font-weight: bold; +} + +form.search { + margin-bottom: 0px; + margin-top: 0px; +} + +input.search { + font-size: 75%; + color: #000080; + font-weight: normal; + background-color: #e8eef2; +} +*/ + +td.tiny { + font-size: 75%; +} + +.dirtab { + padding: 4px; + border-collapse: collapse; + border: 1px solid #A3B4D7; +} + +th.dirtab { + background: #EBEFF6; + font-weight: bold; +} + +hr { + height: 0px; + border: none; + border-top: 1px solid #4A6AAA; +} + +hr.footer { + height: 1px; +} + +/* @group Member Descriptions */ + +table.memberdecls { + border-spacing: 0px; + padding: 0px; +} + +.memberdecls td, .fieldtable tr { + -webkit-transition-property: background-color, box-shadow; + -webkit-transition-duration: 0.5s; + -moz-transition-property: background-color, box-shadow; + -moz-transition-duration: 0.5s; + -ms-transition-property: background-color, box-shadow; + -ms-transition-duration: 0.5s; + -o-transition-property: background-color, box-shadow; + -o-transition-duration: 0.5s; + transition-property: background-color, box-shadow; + transition-duration: 0.5s; +} + +.memberdecls td.glow, .fieldtable tr.glow { + background-color: cyan; + box-shadow: 0 0 15px cyan; +} + +.mdescLeft, .mdescRight, +.memItemLeft, .memItemRight, +.memTemplItemLeft, .memTemplItemRight, .memTemplParams { + background-color: #F9FAFC; + border: none; + margin: 4px; + padding: 1px 0 0 8px; +} + +.mdescLeft, .mdescRight { + padding: 0px 8px 4px 8px; + color: #555; +} + +.memSeparator { + border-bottom: 1px solid #DEE4F0; + line-height: 1px; + margin: 0px; + padding: 0px; +} + +.memItemLeft, .memTemplItemLeft { + white-space: nowrap; +} + +.memItemRight { + width: 100%; +} + +.memTemplParams { + color: #4665A2; + white-space: nowrap; + font-size: 80%; +} + +/* @end */ + +/* @group Member Details */ + +/* Styles for detailed member documentation */ + +.memtemplate { + font-size: 80%; + color: #4665A2; + font-weight: normal; + margin-left: 9px; +} + +.memnav { + background-color: #EBEFF6; + border: 1px solid #A3B4D7; + text-align: center; + margin: 2px; + margin-right: 15px; + padding: 2px; +} + +.mempage { + width: 100%; +} + +.memitem { + padding: 0; + margin-bottom: 10px; + margin-right: 5px; + -webkit-transition: box-shadow 0.5s linear; + -moz-transition: box-shadow 0.5s linear; + -ms-transition: box-shadow 0.5s linear; + -o-transition: box-shadow 0.5s linear; + transition: box-shadow 0.5s linear; + display: table !important; + width: 100%; +} + +.memitem.glow { + box-shadow: 0 0 15px cyan; +} + +.memname { + font-weight: bold; + margin-left: 6px; +} + +.memname td { + vertical-align: bottom; +} + +.memproto, dl.reflist dt { + border-top: 1px solid #A8B8D9; + border-left: 1px solid #A8B8D9; + border-right: 1px solid #A8B8D9; + padding: 6px 0px 6px 0px; + color: #253555; + font-weight: bold; + text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); + background-image:url('nav_f.png'); + background-repeat:repeat-x; + background-color: #E2E8F2; + /* opera specific markup */ + box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); + border-top-right-radius: 4px; + border-top-left-radius: 4px; + /* firefox specific markup */ + -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px; + -moz-border-radius-topright: 4px; + -moz-border-radius-topleft: 4px; + /* webkit specific markup */ + -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); + -webkit-border-top-right-radius: 4px; + -webkit-border-top-left-radius: 4px; + +} + +.memdoc, dl.reflist dd { + border-bottom: 1px solid #A8B8D9; + border-left: 1px solid #A8B8D9; + border-right: 1px solid #A8B8D9; + padding: 6px 10px 2px 10px; + background-color: #FBFCFD; + border-top-width: 0; + background-image:url('nav_g.png'); + background-repeat:repeat-x; + background-color: #FFFFFF; + /* opera specific markup */ + border-bottom-left-radius: 4px; + border-bottom-right-radius: 4px; + box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); + /* firefox specific markup */ + -moz-border-radius-bottomleft: 4px; + -moz-border-radius-bottomright: 4px; + -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px; + /* webkit specific markup */ + -webkit-border-bottom-left-radius: 4px; + -webkit-border-bottom-right-radius: 4px; + -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); +} + +dl.reflist dt { + padding: 5px; +} + +dl.reflist dd { + margin: 0px 0px 10px 0px; + padding: 5px; +} + +.paramkey { + text-align: right; +} + +.paramtype { + white-space: nowrap; +} + +.paramname { + color: #602020; + white-space: nowrap; +} +.paramname em { + font-style: normal; +} +.paramname code { + line-height: 14px; +} + +.params, .retval, .exception, .tparams { + margin-left: 0px; + padding-left: 0px; +} + +.params .paramname, .retval .paramname { + font-weight: bold; + vertical-align: top; +} + +.params .paramtype { + font-style: italic; + vertical-align: top; +} + +.params .paramdir { + font-family: "courier new",courier,monospace; + vertical-align: top; +} + +table.mlabels { + border-spacing: 0px; +} + +td.mlabels-left { + width: 100%; + padding: 0px; +} + +td.mlabels-right { + vertical-align: bottom; + padding: 0px; + white-space: nowrap; +} + +span.mlabels { + margin-left: 8px; +} + +span.mlabel { + background-color: #728DC1; + border-top:1px solid #5373B4; + border-left:1px solid #5373B4; + border-right:1px solid #C4CFE5; + border-bottom:1px solid #C4CFE5; + text-shadow: none; + color: white; + margin-right: 4px; + padding: 2px 3px; + border-radius: 3px; + font-size: 7pt; + white-space: nowrap; + vertical-align: middle; +} + + + +/* @end */ + +/* these are for tree view when not used as main index */ + +div.directory { + margin: 10px 0px; + border-top: 1px solid #A8B8D9; + border-bottom: 1px solid #A8B8D9; + width: 100%; +} + +.directory table { + border-collapse:collapse; +} + +.directory td { + margin: 0px; + padding: 0px; + vertical-align: top; +} + +.directory td.entry { + white-space: nowrap; + padding-right: 6px; + padding-top: 3px; +} + +.directory td.entry a { + outline:none; +} + +.directory td.entry a img { + border: none; +} + +.directory td.desc { + width: 100%; + padding-left: 6px; + padding-right: 6px; + padding-top: 3px; + border-left: 1px solid rgba(0,0,0,0.05); +} + +.directory tr.even { + padding-left: 6px; + background-color: #F7F8FB; +} + +.directory img { + vertical-align: -30%; +} + +.directory .levels { + white-space: nowrap; + width: 100%; + text-align: right; + font-size: 9pt; +} + +.directory .levels span { + cursor: pointer; + padding-left: 2px; + padding-right: 2px; + color: #3D578C; +} + +div.dynheader { + margin-top: 8px; + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +address { + font-style: normal; + color: #2A3D61; +} + +table.doxtable { + border-collapse:collapse; + margin-top: 4px; + margin-bottom: 4px; +} + +table.doxtable td, table.doxtable th { + border: 1px solid #2D4068; + padding: 3px 7px 2px; +} + +table.doxtable th { + background-color: #374F7F; + color: #FFFFFF; + font-size: 110%; + padding-bottom: 4px; + padding-top: 5px; +} + +table.fieldtable { + /*width: 100%;*/ + margin-bottom: 10px; + border: 1px solid #A8B8D9; + border-spacing: 0px; + -moz-border-radius: 4px; + -webkit-border-radius: 4px; + border-radius: 4px; + -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px; + -webkit-box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15); + box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15); +} + +.fieldtable td, .fieldtable th { + padding: 3px 7px 2px; +} + +.fieldtable td.fieldtype, .fieldtable td.fieldname { + white-space: nowrap; + border-right: 1px solid #A8B8D9; + border-bottom: 1px solid #A8B8D9; + vertical-align: top; +} + +.fieldtable td.fieldname { + padding-top: 3px; +} + +.fieldtable td.fielddoc { + border-bottom: 1px solid #A8B8D9; + /*width: 100%;*/ +} + +.fieldtable td.fielddoc p:first-child { + margin-top: 0px; +} + +.fieldtable td.fielddoc p:last-child { + margin-bottom: 2px; +} + +.fieldtable tr:last-child td { + border-bottom: none; +} + +.fieldtable th { + background-image:url('nav_f.png'); + background-repeat:repeat-x; + background-color: #E2E8F2; + font-size: 90%; + color: #253555; + padding-bottom: 4px; + padding-top: 5px; + text-align:left; + -moz-border-radius-topleft: 4px; + -moz-border-radius-topright: 4px; + -webkit-border-top-left-radius: 4px; + -webkit-border-top-right-radius: 4px; + border-top-left-radius: 4px; + border-top-right-radius: 4px; + border-bottom: 1px solid #A8B8D9; +} + + +.tabsearch { + top: 0px; + left: 10px; + height: 36px; + background-image: url('tab_b.png'); + z-index: 101; + overflow: hidden; + font-size: 13px; +} + +.navpath ul +{ + font-size: 11px; + background-image:url('tab_b.png'); + background-repeat:repeat-x; + background-position: 0 -5px; + height:30px; + line-height:30px; + color:#8AA0CC; + border:solid 1px #C2CDE4; + overflow:hidden; + margin:0px; + padding:0px; +} + +.navpath li +{ + list-style-type:none; + float:left; + padding-left:10px; + padding-right:15px; + background-image:url('bc_s.png'); + background-repeat:no-repeat; + background-position:right; + color:#364D7C; +} + +.navpath li.navelem a +{ + height:32px; + display:block; + text-decoration: none; + outline: none; + color: #283A5D; + font-family: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif; + text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); + text-decoration: none; +} + +.navpath li.navelem a:hover +{ + color:#6884BD; +} + +.navpath li.footer +{ + list-style-type:none; + float:right; + padding-left:10px; + padding-right:15px; + background-image:none; + background-repeat:no-repeat; + background-position:right; + color:#364D7C; + font-size: 8pt; +} + + +div.summary +{ + float: right; + font-size: 8pt; + padding-right: 5px; + width: 50%; + text-align: right; +} + +div.summary a +{ + white-space: nowrap; +} + +div.ingroups +{ + font-size: 8pt; + width: 50%; + text-align: left; +} + +div.ingroups a +{ + white-space: nowrap; +} + +div.header +{ + background-image:url('nav_h.png'); + background-repeat:repeat-x; + background-color: #F9FAFC; + margin: 0px; + border-bottom: 1px solid #C4CFE5; +} + +div.headertitle +{ + padding: 5px 5px 5px 10px; +} + +dl +{ + padding: 0 0 0 10px; +} + +/* dl.note, dl.warning, dl.attention, dl.pre, dl.post, dl.invariant, dl.deprecated, dl.todo, dl.test, dl.bug */ +dl.section +{ + margin-left: 0px; + padding-left: 0px; +} + +dl.note +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #D0C000; +} + +dl.warning, dl.attention +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #FF0000; +} + +dl.pre, dl.post, dl.invariant +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #00D000; +} + +dl.deprecated +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #505050; +} + +dl.todo +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #00C0E0; +} + +dl.test +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #3030E0; +} + +dl.bug +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #C08050; +} + +dl.section dd { + margin-bottom: 6px; +} + + +#projectlogo +{ + text-align: center; + vertical-align: bottom; + border-collapse: separate; +} + +#projectlogo img +{ + border: 0px none; +} + +#projectname +{ + font: 300% Tahoma, Arial,sans-serif; + margin: 0px; + padding: 2px 0px; +} + +#projectbrief +{ + font: 120% Tahoma, Arial,sans-serif; + margin: 0px; + padding: 0px; +} + +#projectnumber +{ + font: 50% Tahoma, Arial,sans-serif; + margin: 0px; + padding: 0px; +} + +#titlearea +{ + padding: 0px; + margin: 0px; + width: 100%; + border-bottom: 1px solid #5373B4; +} + +.image +{ + text-align: center; +} + +.dotgraph +{ + text-align: center; +} + +.mscgraph +{ + text-align: center; +} + +.diagraph +{ + text-align: center; +} + +.caption +{ + font-weight: bold; +} + +div.zoom +{ + border: 1px solid #90A5CE; +} + +dl.citelist { + margin-bottom:50px; +} + +dl.citelist dt { + color:#334975; + float:left; + font-weight:bold; + margin-right:10px; + padding:5px; +} + +dl.citelist dd { + margin:2px 0; + padding:5px 0; +} + +div.toc { + padding: 14px 25px; + background-color: #F4F6FA; + border: 1px solid #D8DFEE; + border-radius: 7px 7px 7px 7px; + float: right; + height: auto; + margin: 0 20px 10px 10px; + width: 200px; +} + +div.toc li { + background: url("bdwn.png") no-repeat scroll 0 5px transparent; + font: 10px/1.2 Verdana,DejaVu Sans,Geneva,sans-serif; + margin-top: 5px; + padding-left: 10px; + padding-top: 2px; +} + +div.toc h3 { + font: bold 12px/1.2 Arial,FreeSans,sans-serif; + color: #4665A2; + border-bottom: 0 none; + margin: 0; +} + +div.toc ul { + list-style: none outside none; + border: medium none; + padding: 0px; +} + +div.toc li.level1 { + margin-left: 0px; +} + +div.toc li.level2 { + margin-left: 15px; +} + +div.toc li.level3 { + margin-left: 30px; +} + +div.toc li.level4 { + margin-left: 45px; +} + +.inherit_header { + font-weight: bold; + color: gray; + cursor: pointer; + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +.inherit_header td { + padding: 6px 0px 2px 5px; +} + +.inherit { + display: none; +} + +tr.heading h2 { + margin-top: 12px; + margin-bottom: 4px; +} + +/* tooltip related style info */ + +.ttc { + position: absolute; + display: none; +} + +#powerTip { + cursor: default; + white-space: nowrap; + background-color: white; + border: 1px solid gray; + border-radius: 4px 4px 4px 4px; + box-shadow: 1px 1px 7px gray; + display: none; + font-size: smaller; + max-width: 80%; + opacity: 0.9; + padding: 1ex 1em 1em; + position: absolute; + z-index: 2147483647; +} + +#powerTip div.ttdoc { + color: grey; + font-style: italic; +} + +#powerTip div.ttname a { + font-weight: bold; +} + +#powerTip div.ttname { + font-weight: bold; +} + +#powerTip div.ttdeci { + color: #006318; +} + +#powerTip div { + margin: 0px; + padding: 0px; + font: 12px/16px Roboto,sans-serif; +} + +#powerTip:before, #powerTip:after { + content: ""; + position: absolute; + margin: 0px; +} + +#powerTip.n:after, #powerTip.n:before, +#powerTip.s:after, #powerTip.s:before, +#powerTip.w:after, #powerTip.w:before, +#powerTip.e:after, #powerTip.e:before, +#powerTip.ne:after, #powerTip.ne:before, +#powerTip.se:after, #powerTip.se:before, +#powerTip.nw:after, #powerTip.nw:before, +#powerTip.sw:after, #powerTip.sw:before { + border: solid transparent; + content: " "; + height: 0; + width: 0; + position: absolute; +} + +#powerTip.n:after, #powerTip.s:after, +#powerTip.w:after, #powerTip.e:after, +#powerTip.nw:after, #powerTip.ne:after, +#powerTip.sw:after, #powerTip.se:after { + border-color: rgba(255, 255, 255, 0); +} + +#powerTip.n:before, #powerTip.s:before, +#powerTip.w:before, #powerTip.e:before, +#powerTip.nw:before, #powerTip.ne:before, +#powerTip.sw:before, #powerTip.se:before { + border-color: rgba(128, 128, 128, 0); +} + +#powerTip.n:after, #powerTip.n:before, +#powerTip.ne:after, #powerTip.ne:before, +#powerTip.nw:after, #powerTip.nw:before { + top: 100%; +} + +#powerTip.n:after, #powerTip.ne:after, #powerTip.nw:after { + border-top-color: #ffffff; + border-width: 10px; + margin: 0px -10px; +} +#powerTip.n:before { + border-top-color: #808080; + border-width: 11px; + margin: 0px -11px; +} +#powerTip.n:after, #powerTip.n:before { + left: 50%; +} + +#powerTip.nw:after, #powerTip.nw:before { + right: 14px; +} + +#powerTip.ne:after, #powerTip.ne:before { + left: 14px; +} + +#powerTip.s:after, #powerTip.s:before, +#powerTip.se:after, #powerTip.se:before, +#powerTip.sw:after, #powerTip.sw:before { + bottom: 100%; +} + +#powerTip.s:after, #powerTip.se:after, #powerTip.sw:after { + border-bottom-color: #ffffff; + border-width: 10px; + margin: 0px -10px; +} + +#powerTip.s:before, #powerTip.se:before, #powerTip.sw:before { + border-bottom-color: #808080; + border-width: 11px; + margin: 0px -11px; +} + +#powerTip.s:after, #powerTip.s:before { + left: 50%; +} + +#powerTip.sw:after, #powerTip.sw:before { + right: 14px; +} + +#powerTip.se:after, #powerTip.se:before { + left: 14px; +} + +#powerTip.e:after, #powerTip.e:before { + left: 100%; +} +#powerTip.e:after { + border-left-color: #ffffff; + border-width: 10px; + top: 50%; + margin-top: -10px; +} +#powerTip.e:before { + border-left-color: #808080; + border-width: 11px; + top: 50%; + margin-top: -11px; +} + +#powerTip.w:after, #powerTip.w:before { + right: 100%; +} +#powerTip.w:after { + border-right-color: #ffffff; + border-width: 10px; + top: 50%; + margin-top: -10px; +} +#powerTip.w:before { + border-right-color: #808080; + border-width: 11px; + top: 50%; + margin-top: -11px; +} + +@media print +{ + #top { display: none; } + #side-nav { display: none; } + #nav-path { display: none; } + body { overflow:visible; } + h1, h2, h3, h4, h5, h6 { page-break-after: avoid; } + .summary { display: none; } + .memitem { page-break-inside: avoid; } + #doc-content + { + margin-left:0 !important; + height:auto !important; + width:auto !important; + overflow:inherit; + display:inline; + } +} + diff --git a/doc/ref/c++.internal/html/doxygen.png b/doc/ref/c++.internal/html/doxygen.png new file mode 100644 index 0000000000..3ff17d807f Binary files /dev/null and b/doc/ref/c++.internal/html/doxygen.png differ diff --git a/doc/ref/c++.internal/html/dynamic__thread__pool_8cc.html b/doc/ref/c++.internal/html/dynamic__thread__pool_8cc.html new file mode 100644 index 0000000000..281c310e15 --- /dev/null +++ b/doc/ref/c++.internal/html/dynamic__thread__pool_8cc.html @@ -0,0 +1,111 @@ + + + + + + +GRPC C++: src/cpp/server/dynamic_thread_pool.cc File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
dynamic_thread_pool.cc File Reference
+
+
+ + + + +

+Namespaces

 grpc
 
+
+ + + + diff --git a/doc/ref/c++.internal/html/dynamic__thread__pool_8h.html b/doc/ref/c++.internal/html/dynamic__thread__pool_8h.html new file mode 100644 index 0000000000..fcacefb56a --- /dev/null +++ b/doc/ref/c++.internal/html/dynamic__thread__pool_8h.html @@ -0,0 +1,123 @@ + + + + + + +GRPC C++: include/grpc++/dynamic_thread_pool.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
dynamic_thread_pool.h File Reference
+
+
+
#include <grpc++/config.h>
+#include <grpc++/impl/sync.h>
+#include <grpc++/impl/thd.h>
+#include <grpc++/thread_pool_interface.h>
+#include <list>
+#include <memory>
+#include <queue>
+
+

Go to the source code of this file.

+ + + + +

+Data Structures

class  grpc::DynamicThreadPool
 
+ + + +

+Namespaces

 grpc
 
+
+ + + + diff --git a/doc/ref/c++.internal/html/dynamic__thread__pool_8h_source.html b/doc/ref/c++.internal/html/dynamic__thread__pool_8h_source.html new file mode 100644 index 0000000000..b57a986a34 --- /dev/null +++ b/doc/ref/c++.internal/html/dynamic__thread__pool_8h_source.html @@ -0,0 +1,195 @@ + + + + + + +GRPC C++: include/grpc++/dynamic_thread_pool.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
dynamic_thread_pool.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPCXX_DYNAMIC_THREAD_POOL_H
+
35 #define GRPCXX_DYNAMIC_THREAD_POOL_H
+
36 
+
37 #include <grpc++/config.h>
+
38 
+
39 #include <grpc++/impl/sync.h>
+
40 #include <grpc++/impl/thd.h>
+ +
42 
+
43 #include <list>
+
44 #include <memory>
+
45 #include <queue>
+
46 
+
47 namespace grpc {
+
48 
+ +
50  public:
+
51  explicit DynamicThreadPool(int reserve_threads);
+ +
53 
+
54  void Add(const std::function<void()>& callback) GRPC_OVERRIDE;
+
55 
+
56  private:
+
57  class DynamicThread {
+
58  public:
+
59  DynamicThread(DynamicThreadPool *pool);
+
60  ~DynamicThread();
+
61  private:
+
62  DynamicThreadPool *pool_;
+
63  std::unique_ptr<grpc::thread> thd_;
+
64  void ThreadFunc();
+
65  };
+
66  grpc::mutex mu_;
+ +
68  grpc::condition_variable shutdown_cv_;
+
69  bool shutdown_;
+
70  std::queue<std::function<void()>> callbacks_;
+
71  int reserve_threads_;
+
72  int nthreads_;
+
73  int threads_waiting_;
+
74  std::list<DynamicThread*> dead_threads_;
+
75 
+
76  void ThreadFunc();
+
77  static void ReapThreads(std::list<DynamicThread*>* tlist);
+
78 };
+
79 
+
80 } // namespace grpc
+
81 
+
82 #endif // GRPCXX_DYNAMIC_THREAD_POOL_H
+
Definition: sync_no_cxx11.h:45
+ +
#define GRPC_FINAL
Definition: config.h:71
+
Definition: thread_pool_interface.h:42
+
DynamicThreadPool(int reserve_threads)
Definition: dynamic_thread_pool.cc:87
+
Definition: sync_no_cxx11.h:84
+ +
void Add(const std::function< void()> &callback) GRPC_OVERRIDE
Definition: dynamic_thread_pool.cc:113
+
~DynamicThreadPool()
Definition: dynamic_thread_pool.cc:103
+ +
Definition: dynamic_thread_pool.h:49
+
#define GRPC_OVERRIDE
Definition: config.h:77
+ +
+ + + + diff --git a/doc/ref/c++.internal/html/dynsections.js b/doc/ref/c++.internal/html/dynsections.js new file mode 100644 index 0000000000..ed092c7f63 --- /dev/null +++ b/doc/ref/c++.internal/html/dynsections.js @@ -0,0 +1,97 @@ +function toggleVisibility(linkObj) +{ + var base = $(linkObj).attr('id'); + var summary = $('#'+base+'-summary'); + var content = $('#'+base+'-content'); + var trigger = $('#'+base+'-trigger'); + var src=$(trigger).attr('src'); + if (content.is(':visible')===true) { + content.hide(); + summary.show(); + $(linkObj).addClass('closed').removeClass('opened'); + $(trigger).attr('src',src.substring(0,src.length-8)+'closed.png'); + } else { + content.show(); + summary.hide(); + $(linkObj).removeClass('closed').addClass('opened'); + $(trigger).attr('src',src.substring(0,src.length-10)+'open.png'); + } + return false; +} + +function updateStripes() +{ + $('table.directory tr'). + removeClass('even').filter(':visible:even').addClass('even'); +} +function toggleLevel(level) +{ + $('table.directory tr').each(function(){ + var l = this.id.split('_').length-1; + var i = $('#img'+this.id.substring(3)); + var a = $('#arr'+this.id.substring(3)); + if (l + + + + + +GRPC C++: File List + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + +
+ + + + +
+ +
+ +
+
+
File List
+
+
+
Here is a list of all files with brief descriptions:
+
[detail level 1234]
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
o-include
|\-grpc++
| o-impl
| |o*call.h
| |o*client_unary_call.h
| |o*grpc_library.h
| |o*internal_stub.h
| |o*proto_utils.h
| |o*rpc_method.h
| |o*rpc_service_method.h
| |o*serialization_traits.h
| |o*service_type.h
| |o*sync.h
| |o*sync_cxx11.h
| |o*sync_no_cxx11.h
| |o*thd.h
| |o*thd_cxx11.h
| |\*thd_no_cxx11.h
| o*async_generic_service.h
| o*async_unary_call.h
| o*auth_context.h
| o*auth_property_iterator.h
| o*byte_buffer.h
| o*channel_arguments.h
| o*channel_interface.h
| o*client_context.h
| o*completion_queue.h
| o*config.h
| o*config_protobuf.h
| o*create_channel.h
| o*credentials.h
| o*dynamic_thread_pool.h
| o*fixed_size_thread_pool.h
| o*generic_stub.h
| o*server.h
| o*server_builder.h
| o*server_context.h
| o*server_credentials.h
| o*slice.h
| o*status.h
| o*status_code_enum.h
| o*stream.h
| o*thread_pool_interface.h
| \*time.h
\-src
 \-cpp
  o-client
  |o*channel.cc
  |o*channel.h
  |o*channel_arguments.cc
  |o*client_context.cc
  |o*create_channel.cc
  |o*credentials.cc
  |o*generic_stub.cc
  |o*insecure_credentials.cc
  |o*internal_stub.cc
  |o*secure_channel_arguments.cc
  |o*secure_credentials.cc
  |\*secure_credentials.h
  o-common
  |o*auth_property_iterator.cc
  |o*call.cc
  |o*completion_queue.cc
  |o*create_auth_context.h
  |o*rpc_method.cc
  |o*secure_auth_context.cc
  |o*secure_auth_context.h
  |\*secure_create_auth_context.cc
  o-proto
  |\*proto_utils.cc
  o-server
  |o*async_generic_service.cc
  |o*create_default_thread_pool.cc
  |o*dynamic_thread_pool.cc
  |o*fixed_size_thread_pool.cc
  |o*insecure_server_credentials.cc
  |o*secure_server_credentials.cc
  |o*secure_server_credentials.h
  |o*server.cc
  |o*server_builder.cc
  |o*server_context.cc
  |\*server_credentials.cc
  \-util
   o*byte_buffer.cc
   o*slice.cc
   o*status.cc
   \*time.cc
+
+
+ + + + diff --git a/doc/ref/c++.internal/html/fixed__size__thread__pool_8cc.html b/doc/ref/c++.internal/html/fixed__size__thread__pool_8cc.html new file mode 100644 index 0000000000..f8d2714f5f --- /dev/null +++ b/doc/ref/c++.internal/html/fixed__size__thread__pool_8cc.html @@ -0,0 +1,111 @@ + + + + + + +GRPC C++: src/cpp/server/fixed_size_thread_pool.cc File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
fixed_size_thread_pool.cc File Reference
+
+
+ + + + +

+Namespaces

 grpc
 
+
+ + + + diff --git a/doc/ref/c++.internal/html/fixed__size__thread__pool_8h.html b/doc/ref/c++.internal/html/fixed__size__thread__pool_8h.html new file mode 100644 index 0000000000..7fa70d976a --- /dev/null +++ b/doc/ref/c++.internal/html/fixed__size__thread__pool_8h.html @@ -0,0 +1,122 @@ + + + + + + +GRPC C++: include/grpc++/fixed_size_thread_pool.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
fixed_size_thread_pool.h File Reference
+
+
+
#include <grpc++/config.h>
+#include <grpc++/impl/sync.h>
+#include <grpc++/impl/thd.h>
+#include <grpc++/thread_pool_interface.h>
+#include <queue>
+#include <vector>
+
+

Go to the source code of this file.

+ + + + +

+Data Structures

class  grpc::FixedSizeThreadPool
 
+ + + +

+Namespaces

 grpc
 
+
+ + + + diff --git a/doc/ref/c++.internal/html/fixed__size__thread__pool_8h_source.html b/doc/ref/c++.internal/html/fixed__size__thread__pool_8h_source.html new file mode 100644 index 0000000000..b51ec15b97 --- /dev/null +++ b/doc/ref/c++.internal/html/fixed__size__thread__pool_8h_source.html @@ -0,0 +1,180 @@ + + + + + + +GRPC C++: include/grpc++/fixed_size_thread_pool.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
fixed_size_thread_pool.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPCXX_FIXED_SIZE_THREAD_POOL_H
+
35 #define GRPCXX_FIXED_SIZE_THREAD_POOL_H
+
36 
+
37 #include <grpc++/config.h>
+
38 
+
39 #include <grpc++/impl/sync.h>
+
40 #include <grpc++/impl/thd.h>
+ +
42 
+
43 #include <queue>
+
44 #include <vector>
+
45 
+
46 namespace grpc {
+
47 
+ +
49  public:
+
50  explicit FixedSizeThreadPool(int num_threads);
+ +
52 
+
53  void Add(const std::function<void()>& callback) GRPC_OVERRIDE;
+
54 
+
55  private:
+
56  grpc::mutex mu_;
+ +
58  bool shutdown_;
+
59  std::queue<std::function<void()>> callbacks_;
+
60  std::vector<grpc::thread*> threads_;
+
61 
+
62  void ThreadFunc();
+
63 };
+
64 
+
65 } // namespace grpc
+
66 
+
67 #endif // GRPCXX_FIXED_SIZE_THREAD_POOL_H
+
~FixedSizeThreadPool()
Definition: fixed_size_thread_pool.cc:67
+
Definition: sync_no_cxx11.h:45
+ +
#define GRPC_FINAL
Definition: config.h:71
+
Definition: thread_pool_interface.h:42
+
Definition: sync_no_cxx11.h:84
+ +
FixedSizeThreadPool(int num_threads)
Definition: fixed_size_thread_pool.cc:60
+ +
void Add(const std::function< void()> &callback) GRPC_OVERRIDE
Definition: fixed_size_thread_pool.cc:79
+
#define GRPC_OVERRIDE
Definition: config.h:77
+
Definition: fixed_size_thread_pool.h:48
+ +
+ + + + diff --git a/doc/ref/c++.internal/html/ftv2blank.png b/doc/ref/c++.internal/html/ftv2blank.png new file mode 100644 index 0000000000..63c605bb4c Binary files /dev/null and b/doc/ref/c++.internal/html/ftv2blank.png differ diff --git a/doc/ref/c++.internal/html/ftv2cl.png b/doc/ref/c++.internal/html/ftv2cl.png new file mode 100644 index 0000000000..132f6577bf Binary files /dev/null and b/doc/ref/c++.internal/html/ftv2cl.png differ diff --git a/doc/ref/c++.internal/html/ftv2doc.png b/doc/ref/c++.internal/html/ftv2doc.png new file mode 100644 index 0000000000..17edabff95 Binary files /dev/null and b/doc/ref/c++.internal/html/ftv2doc.png differ diff --git a/doc/ref/c++.internal/html/ftv2folderclosed.png b/doc/ref/c++.internal/html/ftv2folderclosed.png new file mode 100644 index 0000000000..bb8ab35edc Binary files /dev/null and b/doc/ref/c++.internal/html/ftv2folderclosed.png differ diff --git a/doc/ref/c++.internal/html/ftv2folderopen.png b/doc/ref/c++.internal/html/ftv2folderopen.png new file mode 100644 index 0000000000..d6c7f676a3 Binary files /dev/null and b/doc/ref/c++.internal/html/ftv2folderopen.png differ diff --git a/doc/ref/c++.internal/html/ftv2lastnode.png b/doc/ref/c++.internal/html/ftv2lastnode.png new file mode 100644 index 0000000000..63c605bb4c Binary files /dev/null and b/doc/ref/c++.internal/html/ftv2lastnode.png differ diff --git a/doc/ref/c++.internal/html/ftv2link.png b/doc/ref/c++.internal/html/ftv2link.png new file mode 100644 index 0000000000..17edabff95 Binary files /dev/null and b/doc/ref/c++.internal/html/ftv2link.png differ diff --git a/doc/ref/c++.internal/html/ftv2mlastnode.png b/doc/ref/c++.internal/html/ftv2mlastnode.png new file mode 100644 index 0000000000..0b63f6d38c Binary files /dev/null and b/doc/ref/c++.internal/html/ftv2mlastnode.png differ diff --git a/doc/ref/c++.internal/html/ftv2mnode.png b/doc/ref/c++.internal/html/ftv2mnode.png new file mode 100644 index 0000000000..0b63f6d38c Binary files /dev/null and b/doc/ref/c++.internal/html/ftv2mnode.png differ diff --git a/doc/ref/c++.internal/html/ftv2mo.png b/doc/ref/c++.internal/html/ftv2mo.png new file mode 100644 index 0000000000..4bfb80f76e Binary files /dev/null and b/doc/ref/c++.internal/html/ftv2mo.png differ diff --git a/doc/ref/c++.internal/html/ftv2node.png b/doc/ref/c++.internal/html/ftv2node.png new file mode 100644 index 0000000000..63c605bb4c Binary files /dev/null and b/doc/ref/c++.internal/html/ftv2node.png differ diff --git a/doc/ref/c++.internal/html/ftv2ns.png b/doc/ref/c++.internal/html/ftv2ns.png new file mode 100644 index 0000000000..72e3d71c28 Binary files /dev/null and b/doc/ref/c++.internal/html/ftv2ns.png differ diff --git a/doc/ref/c++.internal/html/ftv2plastnode.png b/doc/ref/c++.internal/html/ftv2plastnode.png new file mode 100644 index 0000000000..c6ee22f937 Binary files /dev/null and b/doc/ref/c++.internal/html/ftv2plastnode.png differ diff --git a/doc/ref/c++.internal/html/ftv2pnode.png b/doc/ref/c++.internal/html/ftv2pnode.png new file mode 100644 index 0000000000..c6ee22f937 Binary files /dev/null and b/doc/ref/c++.internal/html/ftv2pnode.png differ diff --git a/doc/ref/c++.internal/html/ftv2splitbar.png b/doc/ref/c++.internal/html/ftv2splitbar.png new file mode 100644 index 0000000000..fe895f2c58 Binary files /dev/null and b/doc/ref/c++.internal/html/ftv2splitbar.png differ diff --git a/doc/ref/c++.internal/html/ftv2vertline.png b/doc/ref/c++.internal/html/ftv2vertline.png new file mode 100644 index 0000000000..63c605bb4c Binary files /dev/null and b/doc/ref/c++.internal/html/ftv2vertline.png differ diff --git a/doc/ref/c++.internal/html/functions.html b/doc/ref/c++.internal/html/functions.html new file mode 100644 index 0000000000..f43e2d70f1 --- /dev/null +++ b/doc/ref/c++.internal/html/functions.html @@ -0,0 +1,193 @@ + + + + + + +GRPC C++: Data Fields + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+
Here is a list of all struct and union fields with links to the structures/unions they belong to:
+ +

- : -

+
+ + + + diff --git a/doc/ref/c++.internal/html/functions_a.html b/doc/ref/c++.internal/html/functions_a.html new file mode 100644 index 0000000000..0f046c2928 --- /dev/null +++ b/doc/ref/c++.internal/html/functions_a.html @@ -0,0 +1,203 @@ + + + + + + +GRPC C++: Data Fields + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+
Here is a list of all struct and union fields with links to the structures/unions they belong to:
+ +

- a -

+
+ + + + diff --git a/doc/ref/c++.internal/html/functions_b.html b/doc/ref/c++.internal/html/functions_b.html new file mode 100644 index 0000000000..620ce2985d --- /dev/null +++ b/doc/ref/c++.internal/html/functions_b.html @@ -0,0 +1,166 @@ + + + + + + +GRPC C++: Data Fields + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+
Here is a list of all struct and union fields with links to the structures/unions they belong to:
+ +

- b -

+
+ + + + diff --git a/doc/ref/c++.internal/html/functions_c.html b/doc/ref/c++.internal/html/functions_c.html new file mode 100644 index 0000000000..d3ea3e4c48 --- /dev/null +++ b/doc/ref/c++.internal/html/functions_c.html @@ -0,0 +1,292 @@ + + + + + + +GRPC C++: Data Fields + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+
Here is a list of all struct and union fields with links to the structures/unions they belong to:
+ +

- c -

+
+ + + + diff --git a/doc/ref/c++.internal/html/functions_d.html b/doc/ref/c++.internal/html/functions_d.html new file mode 100644 index 0000000000..9b65ba034a --- /dev/null +++ b/doc/ref/c++.internal/html/functions_d.html @@ -0,0 +1,153 @@ + + + + + + +GRPC C++: Data Fields + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ + + + + + diff --git a/doc/ref/c++.internal/html/functions_e.html b/doc/ref/c++.internal/html/functions_e.html new file mode 100644 index 0000000000..e627f53104 --- /dev/null +++ b/doc/ref/c++.internal/html/functions_e.html @@ -0,0 +1,145 @@ + + + + + + +GRPC C++: Data Fields + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+
Here is a list of all struct and union fields with links to the structures/unions they belong to:
+ +

- e -

+
+ + + + diff --git a/doc/ref/c++.internal/html/functions_enum.html b/doc/ref/c++.internal/html/functions_enum.html new file mode 100644 index 0000000000..92d63006a2 --- /dev/null +++ b/doc/ref/c++.internal/html/functions_enum.html @@ -0,0 +1,118 @@ + + + + + + +GRPC C++: Data Fields - Enumerations + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + +
+ + + + +
+ +
+ +
+
+ + + + diff --git a/doc/ref/c++.internal/html/functions_eval.html b/doc/ref/c++.internal/html/functions_eval.html new file mode 100644 index 0000000000..3489b18a74 --- /dev/null +++ b/doc/ref/c++.internal/html/functions_eval.html @@ -0,0 +1,133 @@ + + + + + + +GRPC C++: Data Fields - Enumerator + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + +
+ + + + +
+ +
+ +
+
+ + + + diff --git a/doc/ref/c++.internal/html/functions_f.html b/doc/ref/c++.internal/html/functions_f.html new file mode 100644 index 0000000000..1d07c7aab8 --- /dev/null +++ b/doc/ref/c++.internal/html/functions_f.html @@ -0,0 +1,191 @@ + + + + + + +GRPC C++: Data Fields + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+
Here is a list of all struct and union fields with links to the structures/unions they belong to:
+ +

- f -

+
+ + + + diff --git a/doc/ref/c++.internal/html/functions_func.html b/doc/ref/c++.internal/html/functions_func.html new file mode 100644 index 0000000000..e635fe52e9 --- /dev/null +++ b/doc/ref/c++.internal/html/functions_func.html @@ -0,0 +1,194 @@ + + + + + + +GRPC C++: Data Fields - Functions + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+  + +

- a -

+
+ + + + diff --git a/doc/ref/c++.internal/html/functions_func_b.html b/doc/ref/c++.internal/html/functions_func_b.html new file mode 100644 index 0000000000..7757c2bc71 --- /dev/null +++ b/doc/ref/c++.internal/html/functions_func_b.html @@ -0,0 +1,155 @@ + + + + + + +GRPC C++: Data Fields - Functions + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+  + +

- b -

+
+ + + + diff --git a/doc/ref/c++.internal/html/functions_func_c.html b/doc/ref/c++.internal/html/functions_func_c.html new file mode 100644 index 0000000000..86a6f1614d --- /dev/null +++ b/doc/ref/c++.internal/html/functions_func_c.html @@ -0,0 +1,268 @@ + + + + + + +GRPC C++: Data Fields - Functions + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+  + +

- c -

+
+ + + + diff --git a/doc/ref/c++.internal/html/functions_func_d.html b/doc/ref/c++.internal/html/functions_func_d.html new file mode 100644 index 0000000000..74f28da75d --- /dev/null +++ b/doc/ref/c++.internal/html/functions_func_d.html @@ -0,0 +1,152 @@ + + + + + + +GRPC C++: Data Fields - Functions + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ + + + + + diff --git a/doc/ref/c++.internal/html/functions_func_e.html b/doc/ref/c++.internal/html/functions_func_e.html new file mode 100644 index 0000000000..673e785682 --- /dev/null +++ b/doc/ref/c++.internal/html/functions_func_e.html @@ -0,0 +1,144 @@ + + + + + + +GRPC C++: Data Fields - Functions + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+  + +

- e -

+
+ + + + diff --git a/doc/ref/c++.internal/html/functions_func_f.html b/doc/ref/c++.internal/html/functions_func_f.html new file mode 100644 index 0000000000..2758b427bd --- /dev/null +++ b/doc/ref/c++.internal/html/functions_func_f.html @@ -0,0 +1,187 @@ + + + + + + +GRPC C++: Data Fields - Functions + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ + + + + + diff --git a/doc/ref/c++.internal/html/functions_func_g.html b/doc/ref/c++.internal/html/functions_func_g.html new file mode 100644 index 0000000000..a529aa59cb --- /dev/null +++ b/doc/ref/c++.internal/html/functions_func_g.html @@ -0,0 +1,174 @@ + + + + + + +GRPC C++: Data Fields - Functions + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+  + +

- g -

+
+ + + + diff --git a/doc/ref/c++.internal/html/functions_func_h.html b/doc/ref/c++.internal/html/functions_func_h.html new file mode 100644 index 0000000000..ed773bd81a --- /dev/null +++ b/doc/ref/c++.internal/html/functions_func_h.html @@ -0,0 +1,142 @@ + + + + + + +GRPC C++: Data Fields - Functions + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+  + +

- h -

+
+ + + + diff --git a/doc/ref/c++.internal/html/functions_func_i.html b/doc/ref/c++.internal/html/functions_func_i.html new file mode 100644 index 0000000000..dec2b865aa --- /dev/null +++ b/doc/ref/c++.internal/html/functions_func_i.html @@ -0,0 +1,139 @@ + + + + + + +GRPC C++: Data Fields - Functions + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+  + +

- i -

+
+ + + + diff --git a/doc/ref/c++.internal/html/functions_func_j.html b/doc/ref/c++.internal/html/functions_func_j.html new file mode 100644 index 0000000000..7f091827a2 --- /dev/null +++ b/doc/ref/c++.internal/html/functions_func_j.html @@ -0,0 +1,136 @@ + + + + + + +GRPC C++: Data Fields - Functions + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+  + +

- j -

+
+ + + + diff --git a/doc/ref/c++.internal/html/functions_func_l.html b/doc/ref/c++.internal/html/functions_func_l.html new file mode 100644 index 0000000000..60b1af9d0e --- /dev/null +++ b/doc/ref/c++.internal/html/functions_func_l.html @@ -0,0 +1,145 @@ + + + + + + +GRPC C++: Data Fields - Functions + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+  + +

- l -

+
+ + + + diff --git a/doc/ref/c++.internal/html/functions_func_m.html b/doc/ref/c++.internal/html/functions_func_m.html new file mode 100644 index 0000000000..4c347d1eb6 --- /dev/null +++ b/doc/ref/c++.internal/html/functions_func_m.html @@ -0,0 +1,145 @@ + + + + + + +GRPC C++: Data Fields - Functions + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+  + +

- m -

+
+ + + + diff --git a/doc/ref/c++.internal/html/functions_func_n.html b/doc/ref/c++.internal/html/functions_func_n.html new file mode 100644 index 0000000000..e742a2e534 --- /dev/null +++ b/doc/ref/c++.internal/html/functions_func_n.html @@ -0,0 +1,147 @@ + + + + + + +GRPC C++: Data Fields - Functions + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+  + +

- n -

+
+ + + + diff --git a/doc/ref/c++.internal/html/functions_func_o.html b/doc/ref/c++.internal/html/functions_func_o.html new file mode 100644 index 0000000000..58533383ed --- /dev/null +++ b/doc/ref/c++.internal/html/functions_func_o.html @@ -0,0 +1,153 @@ + + + + + + +GRPC C++: Data Fields - Functions + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+  + +

- o -

+
+ + + + diff --git a/doc/ref/c++.internal/html/functions_func_p.html b/doc/ref/c++.internal/html/functions_func_p.html new file mode 100644 index 0000000000..8a47579df7 --- /dev/null +++ b/doc/ref/c++.internal/html/functions_func_p.html @@ -0,0 +1,144 @@ + + + + + + +GRPC C++: Data Fields - Functions + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+  + +

- p -

+
+ + + + diff --git a/doc/ref/c++.internal/html/functions_func_r.html b/doc/ref/c++.internal/html/functions_func_r.html new file mode 100644 index 0000000000..e2e5b51d6d --- /dev/null +++ b/doc/ref/c++.internal/html/functions_func_r.html @@ -0,0 +1,219 @@ + + + + + + +GRPC C++: Data Fields - Functions + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+  + +

- r -

+
+ + + + diff --git a/doc/ref/c++.internal/html/functions_func_s.html b/doc/ref/c++.internal/html/functions_func_s.html new file mode 100644 index 0000000000..d68f373cf9 --- /dev/null +++ b/doc/ref/c++.internal/html/functions_func_s.html @@ -0,0 +1,276 @@ + + + + + + +GRPC C++: Data Fields - Functions + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+  + +

- s -

+
+ + + + diff --git a/doc/ref/c++.internal/html/functions_func_t.html b/doc/ref/c++.internal/html/functions_func_t.html new file mode 100644 index 0000000000..16b46c2514 --- /dev/null +++ b/doc/ref/c++.internal/html/functions_func_t.html @@ -0,0 +1,147 @@ + + + + + + +GRPC C++: Data Fields - Functions + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ + + + + + diff --git a/doc/ref/c++.internal/html/functions_func_u.html b/doc/ref/c++.internal/html/functions_func_u.html new file mode 100644 index 0000000000..6e7fe9919d --- /dev/null +++ b/doc/ref/c++.internal/html/functions_func_u.html @@ -0,0 +1,145 @@ + + + + + + +GRPC C++: Data Fields - Functions + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+  + +

- u -

+
+ + + + diff --git a/doc/ref/c++.internal/html/functions_func_w.html b/doc/ref/c++.internal/html/functions_func_w.html new file mode 100644 index 0000000000..1abbe7b917 --- /dev/null +++ b/doc/ref/c++.internal/html/functions_func_w.html @@ -0,0 +1,171 @@ + + + + + + +GRPC C++: Data Fields - Functions + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ + + + + + diff --git a/doc/ref/c++.internal/html/functions_func_~.html b/doc/ref/c++.internal/html/functions_func_~.html new file mode 100644 index 0000000000..9fd819a2da --- /dev/null +++ b/doc/ref/c++.internal/html/functions_func_~.html @@ -0,0 +1,259 @@ + + + + + + +GRPC C++: Data Fields - Functions + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+  + +

- ~ -

+
+ + + + diff --git a/doc/ref/c++.internal/html/functions_g.html b/doc/ref/c++.internal/html/functions_g.html new file mode 100644 index 0000000000..26a6d6d740 --- /dev/null +++ b/doc/ref/c++.internal/html/functions_g.html @@ -0,0 +1,182 @@ + + + + + + +GRPC C++: Data Fields + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+
Here is a list of all struct and union fields with links to the structures/unions they belong to:
+ +

- g -

+
+ + + + diff --git a/doc/ref/c++.internal/html/functions_h.html b/doc/ref/c++.internal/html/functions_h.html new file mode 100644 index 0000000000..75cba1c49c --- /dev/null +++ b/doc/ref/c++.internal/html/functions_h.html @@ -0,0 +1,143 @@ + + + + + + +GRPC C++: Data Fields + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+
Here is a list of all struct and union fields with links to the structures/unions they belong to:
+ +

- h -

+
+ + + + diff --git a/doc/ref/c++.internal/html/functions_i.html b/doc/ref/c++.internal/html/functions_i.html new file mode 100644 index 0000000000..803df921ea --- /dev/null +++ b/doc/ref/c++.internal/html/functions_i.html @@ -0,0 +1,146 @@ + + + + + + +GRPC C++: Data Fields + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+
Here is a list of all struct and union fields with links to the structures/unions they belong to:
+ +

- i -

+
+ + + + diff --git a/doc/ref/c++.internal/html/functions_j.html b/doc/ref/c++.internal/html/functions_j.html new file mode 100644 index 0000000000..442f8d82fb --- /dev/null +++ b/doc/ref/c++.internal/html/functions_j.html @@ -0,0 +1,137 @@ + + + + + + +GRPC C++: Data Fields + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+
Here is a list of all struct and union fields with links to the structures/unions they belong to:
+ +

- j -

+
+ + + + diff --git a/doc/ref/c++.internal/html/functions_l.html b/doc/ref/c++.internal/html/functions_l.html new file mode 100644 index 0000000000..cc6e7e6cb8 --- /dev/null +++ b/doc/ref/c++.internal/html/functions_l.html @@ -0,0 +1,147 @@ + + + + + + +GRPC C++: Data Fields + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+
Here is a list of all struct and union fields with links to the structures/unions they belong to:
+ +

- l -

+
+ + + + diff --git a/doc/ref/c++.internal/html/functions_m.html b/doc/ref/c++.internal/html/functions_m.html new file mode 100644 index 0000000000..525bf9193e --- /dev/null +++ b/doc/ref/c++.internal/html/functions_m.html @@ -0,0 +1,150 @@ + + + + + + +GRPC C++: Data Fields + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+
Here is a list of all struct and union fields with links to the structures/unions they belong to:
+ +

- m -

+
+ + + + diff --git a/doc/ref/c++.internal/html/functions_n.html b/doc/ref/c++.internal/html/functions_n.html new file mode 100644 index 0000000000..14092b2408 --- /dev/null +++ b/doc/ref/c++.internal/html/functions_n.html @@ -0,0 +1,154 @@ + + + + + + +GRPC C++: Data Fields + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+
Here is a list of all struct and union fields with links to the structures/unions they belong to:
+ +

- n -

+
+ + + + diff --git a/doc/ref/c++.internal/html/functions_o.html b/doc/ref/c++.internal/html/functions_o.html new file mode 100644 index 0000000000..6abd72a0ee --- /dev/null +++ b/doc/ref/c++.internal/html/functions_o.html @@ -0,0 +1,157 @@ + + + + + + +GRPC C++: Data Fields + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+
Here is a list of all struct and union fields with links to the structures/unions they belong to:
+ +

- o -

+
+ + + + diff --git a/doc/ref/c++.internal/html/functions_p.html b/doc/ref/c++.internal/html/functions_p.html new file mode 100644 index 0000000000..816c6469ea --- /dev/null +++ b/doc/ref/c++.internal/html/functions_p.html @@ -0,0 +1,161 @@ + + + + + + +GRPC C++: Data Fields + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+
Here is a list of all struct and union fields with links to the structures/unions they belong to:
+ +

- p -

+
+ + + + diff --git a/doc/ref/c++.internal/html/functions_r.html b/doc/ref/c++.internal/html/functions_r.html new file mode 100644 index 0000000000..430be0753f --- /dev/null +++ b/doc/ref/c++.internal/html/functions_r.html @@ -0,0 +1,228 @@ + + + + + + +GRPC C++: Data Fields + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+
Here is a list of all struct and union fields with links to the structures/unions they belong to:
+ +

- r -

+
+ + + + diff --git a/doc/ref/c++.internal/html/functions_rela.html b/doc/ref/c++.internal/html/functions_rela.html new file mode 100644 index 0000000000..d111ca07cb --- /dev/null +++ b/doc/ref/c++.internal/html/functions_rela.html @@ -0,0 +1,280 @@ + + + + + + +GRPC C++: Data Fields - Related Functions + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+  + +

- : -

+ + +

- a -

+ + +

- b -

+ + +

- c -

+ + +

- l -

+ + +

- r -

+ + +

- s -

+ + +

- t -

+
+ + + + diff --git a/doc/ref/c++.internal/html/functions_s.html b/doc/ref/c++.internal/html/functions_s.html new file mode 100644 index 0000000000..255b4487ce --- /dev/null +++ b/doc/ref/c++.internal/html/functions_s.html @@ -0,0 +1,310 @@ + + + + + + +GRPC C++: Data Fields + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+
Here is a list of all struct and union fields with links to the structures/unions they belong to:
+ +

- s -

+
+ + + + diff --git a/doc/ref/c++.internal/html/functions_t.html b/doc/ref/c++.internal/html/functions_t.html new file mode 100644 index 0000000000..a3f28444f6 --- /dev/null +++ b/doc/ref/c++.internal/html/functions_t.html @@ -0,0 +1,154 @@ + + + + + + +GRPC C++: Data Fields + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+
Here is a list of all struct and union fields with links to the structures/unions they belong to:
+ +

- t -

+
+ + + + diff --git a/doc/ref/c++.internal/html/functions_u.html b/doc/ref/c++.internal/html/functions_u.html new file mode 100644 index 0000000000..3b6dedca53 --- /dev/null +++ b/doc/ref/c++.internal/html/functions_u.html @@ -0,0 +1,146 @@ + + + + + + +GRPC C++: Data Fields + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+
Here is a list of all struct and union fields with links to the structures/unions they belong to:
+ +

- u -

+
+ + + + diff --git a/doc/ref/c++.internal/html/functions_vars.html b/doc/ref/c++.internal/html/functions_vars.html new file mode 100644 index 0000000000..f91b2b8e9f --- /dev/null +++ b/doc/ref/c++.internal/html/functions_vars.html @@ -0,0 +1,162 @@ + + + + + + +GRPC C++: Data Fields - Variables + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + +
+ + + + +
+ +
+ + + + + + diff --git a/doc/ref/c++.internal/html/functions_w.html b/doc/ref/c++.internal/html/functions_w.html new file mode 100644 index 0000000000..4b58baff1b --- /dev/null +++ b/doc/ref/c++.internal/html/functions_w.html @@ -0,0 +1,172 @@ + + + + + + +GRPC C++: Data Fields + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ + + + + + diff --git a/doc/ref/c++.internal/html/functions_~.html b/doc/ref/c++.internal/html/functions_~.html new file mode 100644 index 0000000000..e2df00da40 --- /dev/null +++ b/doc/ref/c++.internal/html/functions_~.html @@ -0,0 +1,260 @@ + + + + + + +GRPC C++: Data Fields + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+
Here is a list of all struct and union fields with links to the structures/unions they belong to:
+ +

- ~ -

+
+ + + + diff --git a/doc/ref/c++.internal/html/generic__stub_8cc.html b/doc/ref/c++.internal/html/generic__stub_8cc.html new file mode 100644 index 0000000000..ac2a4e3b07 --- /dev/null +++ b/doc/ref/c++.internal/html/generic__stub_8cc.html @@ -0,0 +1,110 @@ + + + + + + +GRPC C++: src/cpp/client/generic_stub.cc File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
generic_stub.cc File Reference
+
+
+ + + + +

+Namespaces

 grpc
 
+
+ + + + diff --git a/doc/ref/c++.internal/html/generic__stub_8h.html b/doc/ref/c++.internal/html/generic__stub_8h.html new file mode 100644 index 0000000000..a9f1ee9a91 --- /dev/null +++ b/doc/ref/c++.internal/html/generic__stub_8h.html @@ -0,0 +1,126 @@ + + + + + + +GRPC C++: include/grpc++/generic_stub.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
generic_stub.h File Reference
+
+
+
#include <grpc++/byte_buffer.h>
+#include <grpc++/stream.h>
+
+

Go to the source code of this file.

+ + + + +

+Data Structures

class  grpc::GenericStub
 
+ + + +

+Namespaces

 grpc
 
+ + + +

+Typedefs

typedef
+ClientAsyncReaderWriter
+< ByteBuffer, ByteBuffer > 
grpc::GenericClientAsyncReaderWriter
 
+
+ + + + diff --git a/doc/ref/c++.internal/html/generic__stub_8h_source.html b/doc/ref/c++.internal/html/generic__stub_8h_source.html new file mode 100644 index 0000000000..5c7dff5ef7 --- /dev/null +++ b/doc/ref/c++.internal/html/generic__stub_8h_source.html @@ -0,0 +1,175 @@ + + + + + + +GRPC C++: include/grpc++/generic_stub.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
generic_stub.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPCXX_GENERIC_STUB_H
+
35 #define GRPCXX_GENERIC_STUB_H
+
36 
+
37 #include <grpc++/byte_buffer.h>
+
38 #include <grpc++/stream.h>
+
39 
+
40 namespace grpc {
+
41 
+ + + +
45 
+
46 // Generic stubs provide a type-unsafe interface to call gRPC methods
+
47 // by name.
+ +
49  public:
+
50  explicit GenericStub(std::shared_ptr<ChannelInterface> channel)
+
51  : channel_(channel) {}
+
52 
+
53  // begin a call to a named method
+
54  std::unique_ptr<GenericClientAsyncReaderWriter> Call(
+
55  ClientContext* context, const grpc::string& method,
+
56  CompletionQueue* cq, void* tag);
+
57 
+
58  private:
+
59  std::shared_ptr<ChannelInterface> channel_;
+
60 };
+
61 
+
62 } // namespace grpc
+
63 
+
64 #endif // GRPCXX_GENERIC_STUB_H
+
Definition: client_context.h:70
+
std::string string
Definition: config.h:112
+ +
#define GRPC_FINAL
Definition: config.h:71
+
Definition: client_context.h:74
+ +
std::unique_ptr< GenericClientAsyncReaderWriter > Call(ClientContext *context, const grpc::string &method, CompletionQueue *cq, void *tag)
Definition: generic_stub.cc:41
+
Definition: completion_queue.h:87
+
ClientAsyncReaderWriter< ByteBuffer, ByteBuffer > GenericClientAsyncReaderWriter
Definition: generic_stub.h:42
+
Definition: generic_stub.h:48
+
GenericStub(std::shared_ptr< ChannelInterface > channel)
Definition: generic_stub.h:50
+
+ + + + diff --git a/doc/ref/c++.internal/html/globals.html b/doc/ref/c++.internal/html/globals.html new file mode 100644 index 0000000000..7225fae4af --- /dev/null +++ b/doc/ref/c++.internal/html/globals.html @@ -0,0 +1,128 @@ + + + + + + +GRPC C++: Globals + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + +
+ + + + +
+ +
+ +
+
Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:
+
+ + + + diff --git a/doc/ref/c++.internal/html/globals_defs.html b/doc/ref/c++.internal/html/globals_defs.html new file mode 100644 index 0000000000..6ef30b7c3e --- /dev/null +++ b/doc/ref/c++.internal/html/globals_defs.html @@ -0,0 +1,125 @@ + + + + + + +GRPC C++: Globals + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + +
+ + + + +
+ +
+ +
+
+ + + + diff --git a/doc/ref/c++.internal/html/globals_vars.html b/doc/ref/c++.internal/html/globals_vars.html new file mode 100644 index 0000000000..56299b8be1 --- /dev/null +++ b/doc/ref/c++.internal/html/globals_vars.html @@ -0,0 +1,104 @@ + + + + + + +GRPC C++: Globals + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + +
+ + + + +
+ +
+ +
+
+ + + + diff --git a/doc/ref/c++.internal/html/graph_legend.html b/doc/ref/c++.internal/html/graph_legend.html new file mode 100644 index 0000000000..60ba12fc2b --- /dev/null +++ b/doc/ref/c++.internal/html/graph_legend.html @@ -0,0 +1,154 @@ + + + + + + +GRPC C++: Graph Legend + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + +
+ + + + +
+ +
+ +
+
+
Graph Legend
+
+
+

This page explains how to interpret the graphs that are generated by doxygen.

+

Consider the following example:

+
/*! Invisible class because of truncation */
+
class Invisible { };
+
+
/*! Truncated class, inheritance relation is hidden */
+
class Truncated : public Invisible { };
+
+
/* Class not documented with doxygen comments */
+
class Undocumented { };
+
+
/*! Class that is inherited using public inheritance */
+
class PublicBase : public Truncated { };
+
+
/*! A template class */
+
template<class T> class Templ { };
+
+
/*! Class that is inherited using protected inheritance */
+
class ProtectedBase { };
+
+
/*! Class that is inherited using private inheritance */
+
class PrivateBase { };
+
+
/*! Class that is used by the Inherited class */
+
class Used { };
+
+
/*! Super class that inherits a number of other classes */
+
class Inherited : public PublicBase,
+
protected ProtectedBase,
+
private PrivateBase,
+
public Undocumented,
+
public Templ<int>
+
{
+
private:
+
Used *m_usedClass;
+
};
+

This will result in the following graph:

+
+ +
+

The boxes in the above graph have the following meaning:

+
    +
  • +A filled gray box represents the struct or class for which the graph is generated.
  • +
  • +A box with a black border denotes a documented struct or class.
  • +
  • +A box with a grey border denotes an undocumented struct or class.
  • +
  • +A box with a red border denotes a documented struct or class forwhich not all inheritance/containment relations are shown. A graph is truncated if it does not fit within the specified boundaries.
  • +
+

The arrows have the following meaning:

+
    +
  • +A dark blue arrow is used to visualize a public inheritance relation between two classes.
  • +
  • +A dark green arrow is used for protected inheritance.
  • +
  • +A dark red arrow is used for private inheritance.
  • +
  • +A purple dashed arrow is used if a class is contained or used by another class. The arrow is labeled with the variable(s) through which the pointed class or struct is accessible.
  • +
  • +A yellow dashed arrow denotes a relation between a template instance and the template class it was instantiated from. The arrow is labeled with the template parameters of the instance.
  • +
+
+ + + + diff --git a/doc/ref/c++.internal/html/graph_legend.md5 b/doc/ref/c++.internal/html/graph_legend.md5 new file mode 100644 index 0000000000..a06ed050cb --- /dev/null +++ b/doc/ref/c++.internal/html/graph_legend.md5 @@ -0,0 +1 @@ +387ff8eb65306fa251338d3c9bd7bfff \ No newline at end of file diff --git a/doc/ref/c++.internal/html/graph_legend.png b/doc/ref/c++.internal/html/graph_legend.png new file mode 100644 index 0000000000..6c1d0c239c Binary files /dev/null and b/doc/ref/c++.internal/html/graph_legend.png differ diff --git a/doc/ref/c++.internal/html/grpc__library_8h.html b/doc/ref/c++.internal/html/grpc__library_8h.html new file mode 100644 index 0000000000..18ccf60def --- /dev/null +++ b/doc/ref/c++.internal/html/grpc__library_8h.html @@ -0,0 +1,117 @@ + + + + + + +GRPC C++: include/grpc++/impl/grpc_library.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc_library.h File Reference
+
+
+
#include <grpc/grpc.h>
+
+

Go to the source code of this file.

+ + + + +

+Data Structures

class  grpc::GrpcLibrary
 
+ + + +

+Namespaces

 grpc
 
+
+ + + + diff --git a/doc/ref/c++.internal/html/grpc__library_8h_source.html b/doc/ref/c++.internal/html/grpc__library_8h_source.html new file mode 100644 index 0000000000..ce5c0f60b0 --- /dev/null +++ b/doc/ref/c++.internal/html/grpc__library_8h_source.html @@ -0,0 +1,153 @@ + + + + + + +GRPC C++: include/grpc++/impl/grpc_library.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
grpc_library.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPCXX_IMPL_GRPC_LIBRARY_H
+
35 #define GRPCXX_IMPL_GRPC_LIBRARY_H
+
36 
+
37 #include <grpc/grpc.h>
+
38 
+
39 namespace grpc {
+
40 
+
41 class GrpcLibrary {
+
42  public:
+
43  GrpcLibrary() { grpc_init(); }
+
44  virtual ~GrpcLibrary() { grpc_shutdown(); }
+
45 };
+
46 
+
47 } // namespace grpc
+
48 
+
49 
+
50 #endif // GRPCXX_IMPL_GRPC_LIBRARY_H
+
Definition: grpc_library.h:41
+
GrpcLibrary()
Definition: grpc_library.h:43
+
virtual ~GrpcLibrary()
Definition: grpc_library.h:44
+
+ + + + diff --git a/doc/ref/c++.internal/html/hierarchy.html b/doc/ref/c++.internal/html/hierarchy.html new file mode 100644 index 0000000000..d48a7a084a --- /dev/null +++ b/doc/ref/c++.internal/html/hierarchy.html @@ -0,0 +1,349 @@ + + + + + + +GRPC C++: Class Hierarchy + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + +
+ + + + +
+ +
+ +
+
+
Class Hierarchy
+
+
+
This inheritance list is sorted roughly, but not completely, alphabetically:
+
[detail level 1234]
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
oCgrpc::AsyncGenericService
oCgrpc::AsynchronousService
oCgrpc::AsyncReaderInterface< R >
oCgrpc::AsyncWriterInterface< W >
oCgrpc::AuthContext
oCgrpc::ByteBuffer
oCgrpc::Call
oCgrpc::Server::SyncRequest::CallData
oCgrpc::CallHook
oCgrpc::CallNoOp< I >Default argument for CallOpSet
oCgrpc::CallNoOp< 2 >
oCgrpc::CallNoOp< 3 >
oCgrpc::CallNoOp< 4 >
oCgrpc::CallNoOp< 5 >
oCgrpc::CallNoOp< 6 >
oCgrpc::CallOpClientRecvStatus
oCgrpc::CallOpClientSendClose
oCgrpc::CallOpGenericRecvMessage
oCgrpc::CallOpRecvInitialMetadata
oCgrpc::CallOpRecvMessage< R >
oCgrpc::CallOpSendInitialMetadata
oCgrpc::CallOpSendMessage
oCgrpc::CallOpServerSendStatus
oCgrpc::ChannelArguments
oCgrpc::ClientAsyncResponseReaderInterface< R >
oCgrpc::ClientAsyncStreamingInterface
oCgrpc::ClientContext
oCgrpc::ClientStreamingInterface
oCgrpc::CompletionQueueTag
oCgrpc::condition_variable
oCgrpc::CallOpGenericRecvMessageHelper::DeserializeFunc
oCenable_shared_from_this
oCgrpc::GenericStub
oCgrpc::GrpcLibrary
oCgrpc::MethodHandler::HandlerParameter
oCgrpc::InternalStub
oCiterator
oCgrpc::lock_guard< mutex >
oCgrpc::MethodHandler
oCgrpc::mutex
oCgrpc::SslServerCredentialsOptions::PemKeyCertPair
oCgrpc::ReaderInterface< R >
oCgrpc::RpcMethod
oCgrpc::RpcService
oCgrpc::SerializationTraits< Message, UnusedButHereForPartialTemplateSpecialization >Defines how to serialize and deserialize some type
oCgrpc::SerializationTraits< ByteBuffer, void >
oCgrpc::SerializationTraits< T, typename std::enable_if< std::is_base_of< grpc::protobuf::Message, T >::value >::type >
oCgrpc::ServerAsyncStreamingInterface
oCgrpc::ServerBuilder
oCgrpc::ServerContext
oCgrpc::ServerCredentials
oCgrpc::Slice
oCgrpc::SslCredentialsOptions
oCgrpc::SslServerCredentialsOptions
oCgrpc::Status
oCgrpc::SynchronousService
oCgrpc::thread
oCgrpc::ThreadPoolInterface
oCgrpc::TimePoint< T >
oCgrpc::TimePoint< gpr_timespec >
oCgrpc::TimePoint< std::chrono::system_clock::time_point >
oCgrpc::WriteOptionsPer-message write options
oCgrpc::WriterInterface< W >
oCZeroCopyInputStream
oCZeroCopyOutputStream
oCOp1
oCOp2
oCOp3
oCOp4
oCOp5
\COp6
+
+
+ + + + diff --git a/doc/ref/c++.internal/html/index.html b/doc/ref/c++.internal/html/index.html new file mode 100644 index 0000000000..3e6df9663a --- /dev/null +++ b/doc/ref/c++.internal/html/index.html @@ -0,0 +1,90 @@ + + + + + + +GRPC C++: Main Page + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + +
+ + + + +
+ +
+ +
+
+
GRPC C++ Documentation
+
+
+
+ + + + diff --git a/doc/ref/c++.internal/html/insecure__credentials_8cc.html b/doc/ref/c++.internal/html/insecure__credentials_8cc.html new file mode 100644 index 0000000000..813c6cd381 --- /dev/null +++ b/doc/ref/c++.internal/html/insecure__credentials_8cc.html @@ -0,0 +1,120 @@ + + + + + + +GRPC C++: src/cpp/client/insecure_credentials.cc File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
insecure_credentials.cc File Reference
+
+
+
#include <grpc/grpc.h>
+#include <grpc/support/log.h>
+#include <grpc++/channel_arguments.h>
+#include <grpc++/config.h>
+#include <grpc++/credentials.h>
+#include "src/cpp/client/channel.h"
+
+ + + +

+Namespaces

 grpc
 
+ + + +

+Functions

std::shared_ptr< Credentials > grpc::InsecureCredentials ()
 
+
+ + + + diff --git a/doc/ref/c++.internal/html/insecure__server__credentials_8cc.html b/doc/ref/c++.internal/html/insecure__server__credentials_8cc.html new file mode 100644 index 0000000000..d30a90da90 --- /dev/null +++ b/doc/ref/c++.internal/html/insecure__server__credentials_8cc.html @@ -0,0 +1,117 @@ + + + + + + +GRPC C++: src/cpp/server/insecure_server_credentials.cc File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
insecure_server_credentials.cc File Reference
+
+
+
#include <grpc++/server_credentials.h>
+#include <grpc/grpc.h>
+
+ + + +

+Namespaces

 grpc
 
+ + + +

+Functions

std::shared_ptr
+< ServerCredentials > 
grpc::InsecureServerCredentials ()
 
+
+ + + + diff --git a/doc/ref/c++.internal/html/internal__stub_8cc.html b/doc/ref/c++.internal/html/internal__stub_8cc.html new file mode 100644 index 0000000000..52ed937670 --- /dev/null +++ b/doc/ref/c++.internal/html/internal__stub_8cc.html @@ -0,0 +1,109 @@ + + + + + + +GRPC C++: src/cpp/client/internal_stub.cc File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
internal_stub.cc File Reference
+
+
+ + + + +

+Namespaces

 grpc
 
+
+ + + + diff --git a/doc/ref/c++.internal/html/internal__stub_8h.html b/doc/ref/c++.internal/html/internal__stub_8h.html new file mode 100644 index 0000000000..35d90c8040 --- /dev/null +++ b/doc/ref/c++.internal/html/internal__stub_8h.html @@ -0,0 +1,118 @@ + + + + + + +GRPC C++: include/grpc++/impl/internal_stub.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
internal_stub.h File Reference
+
+
+
#include <memory>
+#include <grpc++/channel_interface.h>
+
+

Go to the source code of this file.

+ + + + +

+Data Structures

class  grpc::InternalStub
 
+ + + +

+Namespaces

 grpc
 
+
+ + + + diff --git a/doc/ref/c++.internal/html/internal__stub_8h_source.html b/doc/ref/c++.internal/html/internal__stub_8h_source.html new file mode 100644 index 0000000000..42391d8b70 --- /dev/null +++ b/doc/ref/c++.internal/html/internal__stub_8h_source.html @@ -0,0 +1,163 @@ + + + + + + +GRPC C++: include/grpc++/impl/internal_stub.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
internal_stub.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPCXX_IMPL_INTERNAL_STUB_H
+
35 #define GRPCXX_IMPL_INTERNAL_STUB_H
+
36 
+
37 #include <memory>
+
38 
+ +
40 
+
41 namespace grpc {
+
42 
+
43 class InternalStub {
+
44  public:
+
45  InternalStub(const std::shared_ptr<ChannelInterface>& channel)
+
46  : channel_(channel) {}
+
47  virtual ~InternalStub() {}
+
48 
+
49  ChannelInterface* channel() { return channel_.get(); }
+
50 
+
51  private:
+
52  const std::shared_ptr<ChannelInterface> channel_;
+
53 };
+
54 
+
55 } // namespace grpc
+
56 
+
57 #endif // GRPCXX_IMPL_INTERNAL_STUB_H
+ +
Definition: channel_interface.h:52
+
virtual ~InternalStub()
Definition: internal_stub.h:47
+
InternalStub(const std::shared_ptr< ChannelInterface > &channel)
Definition: internal_stub.h:45
+
Definition: internal_stub.h:43
+
ChannelInterface * channel()
Definition: internal_stub.h:49
+
+ + + + diff --git a/doc/ref/c++.internal/html/jquery.js b/doc/ref/c++.internal/html/jquery.js new file mode 100644 index 0000000000..c197801c5d --- /dev/null +++ b/doc/ref/c++.internal/html/jquery.js @@ -0,0 +1,31 @@ +/*! + * jQuery JavaScript Library v1.7.1 + * http://jquery.com/ + * + * Copyright 2011, John Resig + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * Includes Sizzle.js + * http://sizzlejs.com/ + * Copyright 2011, The Dojo Foundation + * Released under the MIT, BSD, and GPL Licenses. + * + * Date: Mon Nov 21 21:11:03 2011 -0500 + */ +(function(bb,L){var av=bb.document,bu=bb.navigator,bl=bb.location;var b=(function(){var bF=function(b0,b1){return new bF.fn.init(b0,b1,bD)},bU=bb.jQuery,bH=bb.$,bD,bY=/^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,bM=/\S/,bI=/^\s+/,bE=/\s+$/,bA=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,bN=/^[\],:{}\s]*$/,bW=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,bP=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,bJ=/(?:^|:|,)(?:\s*\[)+/g,by=/(webkit)[ \/]([\w.]+)/,bR=/(opera)(?:.*version)?[ \/]([\w.]+)/,bQ=/(msie) ([\w.]+)/,bS=/(mozilla)(?:.*? rv:([\w.]+))?/,bB=/-([a-z]|[0-9])/ig,bZ=/^-ms-/,bT=function(b0,b1){return(b1+"").toUpperCase()},bX=bu.userAgent,bV,bC,e,bL=Object.prototype.toString,bG=Object.prototype.hasOwnProperty,bz=Array.prototype.push,bK=Array.prototype.slice,bO=String.prototype.trim,bv=Array.prototype.indexOf,bx={};bF.fn=bF.prototype={constructor:bF,init:function(b0,b4,b3){var b2,b5,b1,b6;if(!b0){return this}if(b0.nodeType){this.context=this[0]=b0;this.length=1;return this}if(b0==="body"&&!b4&&av.body){this.context=av;this[0]=av.body;this.selector=b0;this.length=1;return this}if(typeof b0==="string"){if(b0.charAt(0)==="<"&&b0.charAt(b0.length-1)===">"&&b0.length>=3){b2=[null,b0,null]}else{b2=bY.exec(b0)}if(b2&&(b2[1]||!b4)){if(b2[1]){b4=b4 instanceof bF?b4[0]:b4;b6=(b4?b4.ownerDocument||b4:av);b1=bA.exec(b0);if(b1){if(bF.isPlainObject(b4)){b0=[av.createElement(b1[1])];bF.fn.attr.call(b0,b4,true)}else{b0=[b6.createElement(b1[1])]}}else{b1=bF.buildFragment([b2[1]],[b6]);b0=(b1.cacheable?bF.clone(b1.fragment):b1.fragment).childNodes}return bF.merge(this,b0)}else{b5=av.getElementById(b2[2]);if(b5&&b5.parentNode){if(b5.id!==b2[2]){return b3.find(b0)}this.length=1;this[0]=b5}this.context=av;this.selector=b0;return this}}else{if(!b4||b4.jquery){return(b4||b3).find(b0)}else{return this.constructor(b4).find(b0)}}}else{if(bF.isFunction(b0)){return b3.ready(b0)}}if(b0.selector!==L){this.selector=b0.selector;this.context=b0.context}return bF.makeArray(b0,this)},selector:"",jquery:"1.7.1",length:0,size:function(){return this.length},toArray:function(){return bK.call(this,0)},get:function(b0){return b0==null?this.toArray():(b0<0?this[this.length+b0]:this[b0])},pushStack:function(b1,b3,b0){var b2=this.constructor();if(bF.isArray(b1)){bz.apply(b2,b1)}else{bF.merge(b2,b1)}b2.prevObject=this;b2.context=this.context;if(b3==="find"){b2.selector=this.selector+(this.selector?" ":"")+b0}else{if(b3){b2.selector=this.selector+"."+b3+"("+b0+")"}}return b2},each:function(b1,b0){return bF.each(this,b1,b0)},ready:function(b0){bF.bindReady();bC.add(b0);return this},eq:function(b0){b0=+b0;return b0===-1?this.slice(b0):this.slice(b0,b0+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(bK.apply(this,arguments),"slice",bK.call(arguments).join(","))},map:function(b0){return this.pushStack(bF.map(this,function(b2,b1){return b0.call(b2,b1,b2)}))},end:function(){return this.prevObject||this.constructor(null)},push:bz,sort:[].sort,splice:[].splice};bF.fn.init.prototype=bF.fn;bF.extend=bF.fn.extend=function(){var b9,b2,b0,b1,b6,b7,b5=arguments[0]||{},b4=1,b3=arguments.length,b8=false;if(typeof b5==="boolean"){b8=b5;b5=arguments[1]||{};b4=2}if(typeof b5!=="object"&&!bF.isFunction(b5)){b5={}}if(b3===b4){b5=this;--b4}for(;b40){return}bC.fireWith(av,[bF]);if(bF.fn.trigger){bF(av).trigger("ready").off("ready")}}},bindReady:function(){if(bC){return}bC=bF.Callbacks("once memory");if(av.readyState==="complete"){return setTimeout(bF.ready,1)}if(av.addEventListener){av.addEventListener("DOMContentLoaded",e,false);bb.addEventListener("load",bF.ready,false)}else{if(av.attachEvent){av.attachEvent("onreadystatechange",e);bb.attachEvent("onload",bF.ready);var b0=false;try{b0=bb.frameElement==null}catch(b1){}if(av.documentElement.doScroll&&b0){bw()}}}},isFunction:function(b0){return bF.type(b0)==="function"},isArray:Array.isArray||function(b0){return bF.type(b0)==="array"},isWindow:function(b0){return b0&&typeof b0==="object"&&"setInterval" in b0},isNumeric:function(b0){return !isNaN(parseFloat(b0))&&isFinite(b0)},type:function(b0){return b0==null?String(b0):bx[bL.call(b0)]||"object"},isPlainObject:function(b2){if(!b2||bF.type(b2)!=="object"||b2.nodeType||bF.isWindow(b2)){return false}try{if(b2.constructor&&!bG.call(b2,"constructor")&&!bG.call(b2.constructor.prototype,"isPrototypeOf")){return false}}catch(b1){return false}var b0;for(b0 in b2){}return b0===L||bG.call(b2,b0)},isEmptyObject:function(b1){for(var b0 in b1){return false}return true},error:function(b0){throw new Error(b0)},parseJSON:function(b0){if(typeof b0!=="string"||!b0){return null}b0=bF.trim(b0);if(bb.JSON&&bb.JSON.parse){return bb.JSON.parse(b0)}if(bN.test(b0.replace(bW,"@").replace(bP,"]").replace(bJ,""))){return(new Function("return "+b0))()}bF.error("Invalid JSON: "+b0)},parseXML:function(b2){var b0,b1;try{if(bb.DOMParser){b1=new DOMParser();b0=b1.parseFromString(b2,"text/xml")}else{b0=new ActiveXObject("Microsoft.XMLDOM");b0.async="false";b0.loadXML(b2)}}catch(b3){b0=L}if(!b0||!b0.documentElement||b0.getElementsByTagName("parsererror").length){bF.error("Invalid XML: "+b2)}return b0},noop:function(){},globalEval:function(b0){if(b0&&bM.test(b0)){(bb.execScript||function(b1){bb["eval"].call(bb,b1)})(b0)}},camelCase:function(b0){return b0.replace(bZ,"ms-").replace(bB,bT)},nodeName:function(b1,b0){return b1.nodeName&&b1.nodeName.toUpperCase()===b0.toUpperCase()},each:function(b3,b6,b2){var b1,b4=0,b5=b3.length,b0=b5===L||bF.isFunction(b3);if(b2){if(b0){for(b1 in b3){if(b6.apply(b3[b1],b2)===false){break}}}else{for(;b40&&b0[0]&&b0[b1-1])||b1===0||bF.isArray(b0));if(b3){for(;b21?aJ.call(arguments,0):bG;if(!(--bw)){bC.resolveWith(bC,bx)}}}function bz(bF){return function(bG){bB[bF]=arguments.length>1?aJ.call(arguments,0):bG;bC.notifyWith(bE,bB)}}if(e>1){for(;bv
a";bI=bv.getElementsByTagName("*");bF=bv.getElementsByTagName("a")[0];if(!bI||!bI.length||!bF){return{}}bG=av.createElement("select");bx=bG.appendChild(av.createElement("option"));bE=bv.getElementsByTagName("input")[0];bJ={leadingWhitespace:(bv.firstChild.nodeType===3),tbody:!bv.getElementsByTagName("tbody").length,htmlSerialize:!!bv.getElementsByTagName("link").length,style:/top/.test(bF.getAttribute("style")),hrefNormalized:(bF.getAttribute("href")==="/a"),opacity:/^0.55/.test(bF.style.opacity),cssFloat:!!bF.style.cssFloat,checkOn:(bE.value==="on"),optSelected:bx.selected,getSetAttribute:bv.className!=="t",enctype:!!av.createElement("form").enctype,html5Clone:av.createElement("nav").cloneNode(true).outerHTML!=="<:nav>",submitBubbles:true,changeBubbles:true,focusinBubbles:false,deleteExpando:true,noCloneEvent:true,inlineBlockNeedsLayout:false,shrinkWrapBlocks:false,reliableMarginRight:true};bE.checked=true;bJ.noCloneChecked=bE.cloneNode(true).checked;bG.disabled=true;bJ.optDisabled=!bx.disabled;try{delete bv.test}catch(bC){bJ.deleteExpando=false}if(!bv.addEventListener&&bv.attachEvent&&bv.fireEvent){bv.attachEvent("onclick",function(){bJ.noCloneEvent=false});bv.cloneNode(true).fireEvent("onclick")}bE=av.createElement("input");bE.value="t";bE.setAttribute("type","radio");bJ.radioValue=bE.value==="t";bE.setAttribute("checked","checked");bv.appendChild(bE);bD=av.createDocumentFragment();bD.appendChild(bv.lastChild);bJ.checkClone=bD.cloneNode(true).cloneNode(true).lastChild.checked;bJ.appendChecked=bE.checked;bD.removeChild(bE);bD.appendChild(bv);bv.innerHTML="";if(bb.getComputedStyle){bA=av.createElement("div");bA.style.width="0";bA.style.marginRight="0";bv.style.width="2px";bv.appendChild(bA);bJ.reliableMarginRight=(parseInt((bb.getComputedStyle(bA,null)||{marginRight:0}).marginRight,10)||0)===0}if(bv.attachEvent){for(by in {submit:1,change:1,focusin:1}){bB="on"+by;bw=(bB in bv);if(!bw){bv.setAttribute(bB,"return;");bw=(typeof bv[bB]==="function")}bJ[by+"Bubbles"]=bw}}bD.removeChild(bv);bD=bG=bx=bA=bv=bE=null;b(function(){var bM,bU,bV,bT,bN,bO,bL,bS,bR,e,bP,bQ=av.getElementsByTagName("body")[0];if(!bQ){return}bL=1;bS="position:absolute;top:0;left:0;width:1px;height:1px;margin:0;";bR="visibility:hidden;border:0;";e="style='"+bS+"border:5px solid #000;padding:0;'";bP="
";bM=av.createElement("div");bM.style.cssText=bR+"width:0;height:0;position:static;top:0;margin-top:"+bL+"px";bQ.insertBefore(bM,bQ.firstChild);bv=av.createElement("div");bM.appendChild(bv);bv.innerHTML="
t
";bz=bv.getElementsByTagName("td");bw=(bz[0].offsetHeight===0);bz[0].style.display="";bz[1].style.display="none";bJ.reliableHiddenOffsets=bw&&(bz[0].offsetHeight===0);bv.innerHTML="";bv.style.width=bv.style.paddingLeft="1px";b.boxModel=bJ.boxModel=bv.offsetWidth===2;if(typeof bv.style.zoom!=="undefined"){bv.style.display="inline";bv.style.zoom=1;bJ.inlineBlockNeedsLayout=(bv.offsetWidth===2);bv.style.display="";bv.innerHTML="
";bJ.shrinkWrapBlocks=(bv.offsetWidth!==2)}bv.style.cssText=bS+bR;bv.innerHTML=bP;bU=bv.firstChild;bV=bU.firstChild;bN=bU.nextSibling.firstChild.firstChild;bO={doesNotAddBorder:(bV.offsetTop!==5),doesAddBorderForTableAndCells:(bN.offsetTop===5)};bV.style.position="fixed";bV.style.top="20px";bO.fixedPosition=(bV.offsetTop===20||bV.offsetTop===15);bV.style.position=bV.style.top="";bU.style.overflow="hidden";bU.style.position="relative";bO.subtractsBorderForOverflowNotVisible=(bV.offsetTop===-5);bO.doesNotIncludeMarginInBodyOffset=(bQ.offsetTop!==bL);bQ.removeChild(bM);bv=bM=null;b.extend(bJ,bO)});return bJ})();var aS=/^(?:\{.*\}|\[.*\])$/,aA=/([A-Z])/g;b.extend({cache:{},uuid:0,expando:"jQuery"+(b.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:true,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:true},hasData:function(e){e=e.nodeType?b.cache[e[b.expando]]:e[b.expando];return !!e&&!S(e)},data:function(bx,bv,bz,by){if(!b.acceptData(bx)){return}var bG,bA,bD,bE=b.expando,bC=typeof bv==="string",bF=bx.nodeType,e=bF?b.cache:bx,bw=bF?bx[bE]:bx[bE]&&bE,bB=bv==="events";if((!bw||!e[bw]||(!bB&&!by&&!e[bw].data))&&bC&&bz===L){return}if(!bw){if(bF){bx[bE]=bw=++b.uuid}else{bw=bE}}if(!e[bw]){e[bw]={};if(!bF){e[bw].toJSON=b.noop}}if(typeof bv==="object"||typeof bv==="function"){if(by){e[bw]=b.extend(e[bw],bv)}else{e[bw].data=b.extend(e[bw].data,bv)}}bG=bA=e[bw];if(!by){if(!bA.data){bA.data={}}bA=bA.data}if(bz!==L){bA[b.camelCase(bv)]=bz}if(bB&&!bA[bv]){return bG.events}if(bC){bD=bA[bv];if(bD==null){bD=bA[b.camelCase(bv)]}}else{bD=bA}return bD},removeData:function(bx,bv,by){if(!b.acceptData(bx)){return}var bB,bA,bz,bC=b.expando,bD=bx.nodeType,e=bD?b.cache:bx,bw=bD?bx[bC]:bC;if(!e[bw]){return}if(bv){bB=by?e[bw]:e[bw].data;if(bB){if(!b.isArray(bv)){if(bv in bB){bv=[bv]}else{bv=b.camelCase(bv);if(bv in bB){bv=[bv]}else{bv=bv.split(" ")}}}for(bA=0,bz=bv.length;bA-1){return true}}return false},val:function(bx){var e,bv,by,bw=this[0];if(!arguments.length){if(bw){e=b.valHooks[bw.nodeName.toLowerCase()]||b.valHooks[bw.type];if(e&&"get" in e&&(bv=e.get(bw,"value"))!==L){return bv}bv=bw.value;return typeof bv==="string"?bv.replace(aU,""):bv==null?"":bv}return}by=b.isFunction(bx);return this.each(function(bA){var bz=b(this),bB;if(this.nodeType!==1){return}if(by){bB=bx.call(this,bA,bz.val())}else{bB=bx}if(bB==null){bB=""}else{if(typeof bB==="number"){bB+=""}else{if(b.isArray(bB)){bB=b.map(bB,function(bC){return bC==null?"":bC+""})}}}e=b.valHooks[this.nodeName.toLowerCase()]||b.valHooks[this.type];if(!e||!("set" in e)||e.set(this,bB,"value")===L){this.value=bB}})}});b.extend({valHooks:{option:{get:function(e){var bv=e.attributes.value;return !bv||bv.specified?e.value:e.text}},select:{get:function(e){var bA,bv,bz,bx,by=e.selectedIndex,bB=[],bC=e.options,bw=e.type==="select-one";if(by<0){return null}bv=bw?by:0;bz=bw?by+1:bC.length;for(;bv=0});if(!e.length){bv.selectedIndex=-1}return e}}},attrFn:{val:true,css:true,html:true,text:true,data:true,width:true,height:true,offset:true},attr:function(bA,bx,bB,bz){var bw,e,by,bv=bA.nodeType; +if(!bA||bv===3||bv===8||bv===2){return}if(bz&&bx in b.attrFn){return b(bA)[bx](bB)}if(typeof bA.getAttribute==="undefined"){return b.prop(bA,bx,bB)}by=bv!==1||!b.isXMLDoc(bA);if(by){bx=bx.toLowerCase();e=b.attrHooks[bx]||(ao.test(bx)?aY:be)}if(bB!==L){if(bB===null){b.removeAttr(bA,bx);return}else{if(e&&"set" in e&&by&&(bw=e.set(bA,bB,bx))!==L){return bw}else{bA.setAttribute(bx,""+bB);return bB}}}else{if(e&&"get" in e&&by&&(bw=e.get(bA,bx))!==null){return bw}else{bw=bA.getAttribute(bx);return bw===null?L:bw}}},removeAttr:function(bx,bz){var by,bA,bv,e,bw=0;if(bz&&bx.nodeType===1){bA=bz.toLowerCase().split(af);e=bA.length;for(;bw=0)}}})});var bd=/^(?:textarea|input|select)$/i,n=/^([^\.]*)?(?:\.(.+))?$/,J=/\bhover(\.\S+)?\b/,aO=/^key/,bf=/^(?:mouse|contextmenu)|click/,T=/^(?:focusinfocus|focusoutblur)$/,U=/^(\w*)(?:#([\w\-]+))?(?:\.([\w\-]+))?$/,Y=function(e){var bv=U.exec(e);if(bv){bv[1]=(bv[1]||"").toLowerCase();bv[3]=bv[3]&&new RegExp("(?:^|\\s)"+bv[3]+"(?:\\s|$)")}return bv},j=function(bw,e){var bv=bw.attributes||{};return((!e[1]||bw.nodeName.toLowerCase()===e[1])&&(!e[2]||(bv.id||{}).value===e[2])&&(!e[3]||e[3].test((bv["class"]||{}).value)))},bt=function(e){return b.event.special.hover?e:e.replace(J,"mouseenter$1 mouseleave$1")};b.event={add:function(bx,bC,bJ,bA,by){var bD,bB,bK,bI,bH,bF,e,bG,bv,bz,bw,bE;if(bx.nodeType===3||bx.nodeType===8||!bC||!bJ||!(bD=b._data(bx))){return}if(bJ.handler){bv=bJ;bJ=bv.handler}if(!bJ.guid){bJ.guid=b.guid++}bK=bD.events;if(!bK){bD.events=bK={}}bB=bD.handle;if(!bB){bD.handle=bB=function(bL){return typeof b!=="undefined"&&(!bL||b.event.triggered!==bL.type)?b.event.dispatch.apply(bB.elem,arguments):L};bB.elem=bx}bC=b.trim(bt(bC)).split(" ");for(bI=0;bI=0){bG=bG.slice(0,-1);bw=true}if(bG.indexOf(".")>=0){bx=bG.split(".");bG=bx.shift();bx.sort()}if((!bA||b.event.customEvent[bG])&&!b.event.global[bG]){return}bv=typeof bv==="object"?bv[b.expando]?bv:new b.Event(bG,bv):new b.Event(bG);bv.type=bG;bv.isTrigger=true;bv.exclusive=bw;bv.namespace=bx.join(".");bv.namespace_re=bv.namespace?new RegExp("(^|\\.)"+bx.join("\\.(?:.*\\.)?")+"(\\.|$)"):null;by=bG.indexOf(":")<0?"on"+bG:"";if(!bA){e=b.cache;for(bC in e){if(e[bC].events&&e[bC].events[bG]){b.event.trigger(bv,bD,e[bC].handle.elem,true)}}return}bv.result=L;if(!bv.target){bv.target=bA}bD=bD!=null?b.makeArray(bD):[];bD.unshift(bv);bF=b.event.special[bG]||{};if(bF.trigger&&bF.trigger.apply(bA,bD)===false){return}bB=[[bA,bF.bindType||bG]];if(!bJ&&!bF.noBubble&&!b.isWindow(bA)){bI=bF.delegateType||bG;bH=T.test(bI+bG)?bA:bA.parentNode;bz=null;for(;bH;bH=bH.parentNode){bB.push([bH,bI]);bz=bH}if(bz&&bz===bA.ownerDocument){bB.push([bz.defaultView||bz.parentWindow||bb,bI])}}for(bC=0;bCbA){bH.push({elem:this,matches:bz.slice(bA)})}for(bC=0;bC0?this.on(e,null,bx,bw):this.trigger(e)};if(b.attrFn){b.attrFn[e]=true}if(aO.test(e)){b.event.fixHooks[e]=b.event.keyHooks}if(bf.test(e)){b.event.fixHooks[e]=b.event.mouseHooks}}); +/*! + * Sizzle CSS Selector Engine + * Copyright 2011, The Dojo Foundation + * Released under the MIT, BSD, and GPL Licenses. + * More information: http://sizzlejs.com/ + */ +(function(){var bH=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,bC="sizcache"+(Math.random()+"").replace(".",""),bI=0,bL=Object.prototype.toString,bB=false,bA=true,bK=/\\/g,bO=/\r\n/g,bQ=/\W/;[0,0].sort(function(){bA=false;return 0});var by=function(bV,e,bY,bZ){bY=bY||[];e=e||av;var b1=e;if(e.nodeType!==1&&e.nodeType!==9){return[]}if(!bV||typeof bV!=="string"){return bY}var bS,b3,b6,bR,b2,b5,b4,bX,bU=true,bT=by.isXML(e),bW=[],b0=bV;do{bH.exec("");bS=bH.exec(b0);if(bS){b0=bS[3];bW.push(bS[1]);if(bS[2]){bR=bS[3];break}}}while(bS);if(bW.length>1&&bD.exec(bV)){if(bW.length===2&&bE.relative[bW[0]]){b3=bM(bW[0]+bW[1],e,bZ)}else{b3=bE.relative[bW[0]]?[e]:by(bW.shift(),e);while(bW.length){bV=bW.shift();if(bE.relative[bV]){bV+=bW.shift()}b3=bM(bV,b3,bZ)}}}else{if(!bZ&&bW.length>1&&e.nodeType===9&&!bT&&bE.match.ID.test(bW[0])&&!bE.match.ID.test(bW[bW.length-1])){b2=by.find(bW.shift(),e,bT);e=b2.expr?by.filter(b2.expr,b2.set)[0]:b2.set[0]}if(e){b2=bZ?{expr:bW.pop(),set:bF(bZ)}:by.find(bW.pop(),bW.length===1&&(bW[0]==="~"||bW[0]==="+")&&e.parentNode?e.parentNode:e,bT);b3=b2.expr?by.filter(b2.expr,b2.set):b2.set;if(bW.length>0){b6=bF(b3)}else{bU=false}while(bW.length){b5=bW.pop();b4=b5;if(!bE.relative[b5]){b5=""}else{b4=bW.pop()}if(b4==null){b4=e}bE.relative[b5](b6,b4,bT)}}else{b6=bW=[]}}if(!b6){b6=b3}if(!b6){by.error(b5||bV)}if(bL.call(b6)==="[object Array]"){if(!bU){bY.push.apply(bY,b6)}else{if(e&&e.nodeType===1){for(bX=0;b6[bX]!=null;bX++){if(b6[bX]&&(b6[bX]===true||b6[bX].nodeType===1&&by.contains(e,b6[bX]))){bY.push(b3[bX])}}}else{for(bX=0;b6[bX]!=null;bX++){if(b6[bX]&&b6[bX].nodeType===1){bY.push(b3[bX])}}}}}else{bF(b6,bY)}if(bR){by(bR,b1,bY,bZ);by.uniqueSort(bY)}return bY};by.uniqueSort=function(bR){if(bJ){bB=bA;bR.sort(bJ);if(bB){for(var e=1;e0};by.find=function(bX,e,bY){var bW,bS,bU,bT,bV,bR;if(!bX){return[]}for(bS=0,bU=bE.order.length;bS":function(bW,bR){var bV,bU=typeof bR==="string",bS=0,e=bW.length;if(bU&&!bQ.test(bR)){bR=bR.toLowerCase();for(;bS=0)){if(!bS){e.push(bV)}}else{if(bS){bR[bU]=false}}}}return false},ID:function(e){return e[1].replace(bK,"")},TAG:function(bR,e){return bR[1].replace(bK,"").toLowerCase()},CHILD:function(e){if(e[1]==="nth"){if(!e[2]){by.error(e[0])}e[2]=e[2].replace(/^\+|\s*/g,"");var bR=/(-?)(\d*)(?:n([+\-]?\d*))?/.exec(e[2]==="even"&&"2n"||e[2]==="odd"&&"2n+1"||!/\D/.test(e[2])&&"0n+"+e[2]||e[2]);e[2]=(bR[1]+(bR[2]||1))-0;e[3]=bR[3]-0}else{if(e[2]){by.error(e[0])}}e[0]=bI++;return e},ATTR:function(bU,bR,bS,e,bV,bW){var bT=bU[1]=bU[1].replace(bK,"");if(!bW&&bE.attrMap[bT]){bU[1]=bE.attrMap[bT]}bU[4]=(bU[4]||bU[5]||"").replace(bK,"");if(bU[2]==="~="){bU[4]=" "+bU[4]+" "}return bU},PSEUDO:function(bU,bR,bS,e,bV){if(bU[1]==="not"){if((bH.exec(bU[3])||"").length>1||/^\w/.test(bU[3])){bU[3]=by(bU[3],null,null,bR)}else{var bT=by.filter(bU[3],bR,bS,true^bV);if(!bS){e.push.apply(e,bT)}return false}}else{if(bE.match.POS.test(bU[0])||bE.match.CHILD.test(bU[0])){return true}}return bU},POS:function(e){e.unshift(true);return e}},filters:{enabled:function(e){return e.disabled===false&&e.type!=="hidden"},disabled:function(e){return e.disabled===true},checked:function(e){return e.checked===true},selected:function(e){if(e.parentNode){e.parentNode.selectedIndex}return e.selected===true},parent:function(e){return !!e.firstChild},empty:function(e){return !e.firstChild},has:function(bS,bR,e){return !!by(e[3],bS).length},header:function(e){return(/h\d/i).test(e.nodeName)},text:function(bS){var e=bS.getAttribute("type"),bR=bS.type;return bS.nodeName.toLowerCase()==="input"&&"text"===bR&&(e===bR||e===null)},radio:function(e){return e.nodeName.toLowerCase()==="input"&&"radio"===e.type},checkbox:function(e){return e.nodeName.toLowerCase()==="input"&&"checkbox"===e.type},file:function(e){return e.nodeName.toLowerCase()==="input"&&"file"===e.type},password:function(e){return e.nodeName.toLowerCase()==="input"&&"password"===e.type},submit:function(bR){var e=bR.nodeName.toLowerCase();return(e==="input"||e==="button")&&"submit"===bR.type},image:function(e){return e.nodeName.toLowerCase()==="input"&&"image"===e.type},reset:function(bR){var e=bR.nodeName.toLowerCase();return(e==="input"||e==="button")&&"reset"===bR.type},button:function(bR){var e=bR.nodeName.toLowerCase();return e==="input"&&"button"===bR.type||e==="button"},input:function(e){return(/input|select|textarea|button/i).test(e.nodeName)},focus:function(e){return e===e.ownerDocument.activeElement}},setFilters:{first:function(bR,e){return e===0},last:function(bS,bR,e,bT){return bR===bT.length-1},even:function(bR,e){return e%2===0},odd:function(bR,e){return e%2===1 +},lt:function(bS,bR,e){return bRe[3]-0},nth:function(bS,bR,e){return e[3]-0===bR},eq:function(bS,bR,e){return e[3]-0===bR}},filter:{PSEUDO:function(bS,bX,bW,bY){var e=bX[1],bR=bE.filters[e];if(bR){return bR(bS,bW,bX,bY)}else{if(e==="contains"){return(bS.textContent||bS.innerText||bw([bS])||"").indexOf(bX[3])>=0}else{if(e==="not"){var bT=bX[3];for(var bV=0,bU=bT.length;bV=0)}}},ID:function(bR,e){return bR.nodeType===1&&bR.getAttribute("id")===e},TAG:function(bR,e){return(e==="*"&&bR.nodeType===1)||!!bR.nodeName&&bR.nodeName.toLowerCase()===e},CLASS:function(bR,e){return(" "+(bR.className||bR.getAttribute("class"))+" ").indexOf(e)>-1},ATTR:function(bV,bT){var bS=bT[1],e=by.attr?by.attr(bV,bS):bE.attrHandle[bS]?bE.attrHandle[bS](bV):bV[bS]!=null?bV[bS]:bV.getAttribute(bS),bW=e+"",bU=bT[2],bR=bT[4];return e==null?bU==="!=":!bU&&by.attr?e!=null:bU==="="?bW===bR:bU==="*="?bW.indexOf(bR)>=0:bU==="~="?(" "+bW+" ").indexOf(bR)>=0:!bR?bW&&e!==false:bU==="!="?bW!==bR:bU==="^="?bW.indexOf(bR)===0:bU==="$="?bW.substr(bW.length-bR.length)===bR:bU==="|="?bW===bR||bW.substr(0,bR.length+1)===bR+"-":false},POS:function(bU,bR,bS,bV){var e=bR[2],bT=bE.setFilters[e];if(bT){return bT(bU,bS,bR,bV)}}}};var bD=bE.match.POS,bx=function(bR,e){return"\\"+(e-0+1)};for(var bz in bE.match){bE.match[bz]=new RegExp(bE.match[bz].source+(/(?![^\[]*\])(?![^\(]*\))/.source));bE.leftMatch[bz]=new RegExp(/(^(?:.|\r|\n)*?)/.source+bE.match[bz].source.replace(/\\(\d+)/g,bx))}var bF=function(bR,e){bR=Array.prototype.slice.call(bR,0);if(e){e.push.apply(e,bR);return e}return bR};try{Array.prototype.slice.call(av.documentElement.childNodes,0)[0].nodeType}catch(bP){bF=function(bU,bT){var bS=0,bR=bT||[];if(bL.call(bU)==="[object Array]"){Array.prototype.push.apply(bR,bU)}else{if(typeof bU.length==="number"){for(var e=bU.length;bS";e.insertBefore(bR,e.firstChild);if(av.getElementById(bS)){bE.find.ID=function(bU,bV,bW){if(typeof bV.getElementById!=="undefined"&&!bW){var bT=bV.getElementById(bU[1]);return bT?bT.id===bU[1]||typeof bT.getAttributeNode!=="undefined"&&bT.getAttributeNode("id").nodeValue===bU[1]?[bT]:L:[]}};bE.filter.ID=function(bV,bT){var bU=typeof bV.getAttributeNode!=="undefined"&&bV.getAttributeNode("id");return bV.nodeType===1&&bU&&bU.nodeValue===bT}}e.removeChild(bR);e=bR=null})();(function(){var e=av.createElement("div");e.appendChild(av.createComment(""));if(e.getElementsByTagName("*").length>0){bE.find.TAG=function(bR,bV){var bU=bV.getElementsByTagName(bR[1]);if(bR[1]==="*"){var bT=[];for(var bS=0;bU[bS];bS++){if(bU[bS].nodeType===1){bT.push(bU[bS])}}bU=bT}return bU}}e.innerHTML="";if(e.firstChild&&typeof e.firstChild.getAttribute!=="undefined"&&e.firstChild.getAttribute("href")!=="#"){bE.attrHandle.href=function(bR){return bR.getAttribute("href",2)}}e=null})();if(av.querySelectorAll){(function(){var e=by,bT=av.createElement("div"),bS="__sizzle__";bT.innerHTML="

";if(bT.querySelectorAll&&bT.querySelectorAll(".TEST").length===0){return}by=function(b4,bV,bZ,b3){bV=bV||av;if(!b3&&!by.isXML(bV)){var b2=/^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(b4);if(b2&&(bV.nodeType===1||bV.nodeType===9)){if(b2[1]){return bF(bV.getElementsByTagName(b4),bZ)}else{if(b2[2]&&bE.find.CLASS&&bV.getElementsByClassName){return bF(bV.getElementsByClassName(b2[2]),bZ)}}}if(bV.nodeType===9){if(b4==="body"&&bV.body){return bF([bV.body],bZ)}else{if(b2&&b2[3]){var bY=bV.getElementById(b2[3]);if(bY&&bY.parentNode){if(bY.id===b2[3]){return bF([bY],bZ)}}else{return bF([],bZ)}}}try{return bF(bV.querySelectorAll(b4),bZ)}catch(b0){}}else{if(bV.nodeType===1&&bV.nodeName.toLowerCase()!=="object"){var bW=bV,bX=bV.getAttribute("id"),bU=bX||bS,b6=bV.parentNode,b5=/^\s*[+~]/.test(b4);if(!bX){bV.setAttribute("id",bU)}else{bU=bU.replace(/'/g,"\\$&")}if(b5&&b6){bV=bV.parentNode}try{if(!b5||b6){return bF(bV.querySelectorAll("[id='"+bU+"'] "+b4),bZ)}}catch(b1){}finally{if(!bX){bW.removeAttribute("id")}}}}}return e(b4,bV,bZ,b3)};for(var bR in e){by[bR]=e[bR]}bT=null})()}(function(){var e=av.documentElement,bS=e.matchesSelector||e.mozMatchesSelector||e.webkitMatchesSelector||e.msMatchesSelector;if(bS){var bU=!bS.call(av.createElement("div"),"div"),bR=false;try{bS.call(av.documentElement,"[test!='']:sizzle")}catch(bT){bR=true}by.matchesSelector=function(bW,bY){bY=bY.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!by.isXML(bW)){try{if(bR||!bE.match.PSEUDO.test(bY)&&!/!=/.test(bY)){var bV=bS.call(bW,bY);if(bV||!bU||bW.document&&bW.document.nodeType!==11){return bV}}}catch(bX){}}return by(bY,null,null,[bW]).length>0}}})();(function(){var e=av.createElement("div");e.innerHTML="
";if(!e.getElementsByClassName||e.getElementsByClassName("e").length===0){return}e.lastChild.className="e";if(e.getElementsByClassName("e").length===1){return}bE.order.splice(1,0,"CLASS");bE.find.CLASS=function(bR,bS,bT){if(typeof bS.getElementsByClassName!=="undefined"&&!bT){return bS.getElementsByClassName(bR[1])}};e=null})();function bv(bR,bW,bV,bZ,bX,bY){for(var bT=0,bS=bZ.length;bT0){bU=e;break}}}e=e[bR]}bZ[bT]=bU}}}if(av.documentElement.contains){by.contains=function(bR,e){return bR!==e&&(bR.contains?bR.contains(e):true)}}else{if(av.documentElement.compareDocumentPosition){by.contains=function(bR,e){return !!(bR.compareDocumentPosition(e)&16)}}else{by.contains=function(){return false}}}by.isXML=function(e){var bR=(e?e.ownerDocument||e:0).documentElement;return bR?bR.nodeName!=="HTML":false};var bM=function(bS,e,bW){var bV,bX=[],bU="",bY=e.nodeType?[e]:e;while((bV=bE.match.PSEUDO.exec(bS))){bU+=bV[0];bS=bS.replace(bE.match.PSEUDO,"")}bS=bE.relative[bS]?bS+"*":bS;for(var bT=0,bR=bY.length;bT0){for(bB=bA;bB=0:b.filter(e,this).length>0:this.filter(e).length>0)},closest:function(by,bx){var bv=[],bw,e,bz=this[0];if(b.isArray(by)){var bB=1;while(bz&&bz.ownerDocument&&bz!==bx){for(bw=0;bw-1:b.find.matchesSelector(bz,by)){bv.push(bz);break}else{bz=bz.parentNode;if(!bz||!bz.ownerDocument||bz===bx||bz.nodeType===11){break}}}}bv=bv.length>1?b.unique(bv):bv;return this.pushStack(bv,"closest",by)},index:function(e){if(!e){return(this[0]&&this[0].parentNode)?this.prevAll().length:-1}if(typeof e==="string"){return b.inArray(this[0],b(e))}return b.inArray(e.jquery?e[0]:e,this)},add:function(e,bv){var bx=typeof e==="string"?b(e,bv):b.makeArray(e&&e.nodeType?[e]:e),bw=b.merge(this.get(),bx);return this.pushStack(C(bx[0])||C(bw[0])?bw:b.unique(bw))},andSelf:function(){return this.add(this.prevObject)}});function C(e){return !e||!e.parentNode||e.parentNode.nodeType===11}b.each({parent:function(bv){var e=bv.parentNode;return e&&e.nodeType!==11?e:null},parents:function(e){return b.dir(e,"parentNode")},parentsUntil:function(bv,e,bw){return b.dir(bv,"parentNode",bw)},next:function(e){return b.nth(e,2,"nextSibling")},prev:function(e){return b.nth(e,2,"previousSibling")},nextAll:function(e){return b.dir(e,"nextSibling")},prevAll:function(e){return b.dir(e,"previousSibling")},nextUntil:function(bv,e,bw){return b.dir(bv,"nextSibling",bw)},prevUntil:function(bv,e,bw){return b.dir(bv,"previousSibling",bw)},siblings:function(e){return b.sibling(e.parentNode.firstChild,e)},children:function(e){return b.sibling(e.firstChild)},contents:function(e){return b.nodeName(e,"iframe")?e.contentDocument||e.contentWindow.document:b.makeArray(e.childNodes)}},function(e,bv){b.fn[e]=function(by,bw){var bx=b.map(this,bv,by);if(!ab.test(e)){bw=by}if(bw&&typeof bw==="string"){bx=b.filter(bw,bx)}bx=this.length>1&&!ay[e]?b.unique(bx):bx;if((this.length>1||a9.test(bw))&&aq.test(e)){bx=bx.reverse()}return this.pushStack(bx,e,P.call(arguments).join(","))}});b.extend({filter:function(bw,e,bv){if(bv){bw=":not("+bw+")"}return e.length===1?b.find.matchesSelector(e[0],bw)?[e[0]]:[]:b.find.matches(bw,e)},dir:function(bw,bv,by){var e=[],bx=bw[bv];while(bx&&bx.nodeType!==9&&(by===L||bx.nodeType!==1||!b(bx).is(by))){if(bx.nodeType===1){e.push(bx)}bx=bx[bv]}return e},nth:function(by,e,bw,bx){e=e||1;var bv=0;for(;by;by=by[bw]){if(by.nodeType===1&&++bv===e){break}}return by},sibling:function(bw,bv){var e=[];for(;bw;bw=bw.nextSibling){if(bw.nodeType===1&&bw!==bv){e.push(bw)}}return e}});function aG(bx,bw,e){bw=bw||0;if(b.isFunction(bw)){return b.grep(bx,function(bz,by){var bA=!!bw.call(bz,by,bz);return bA===e})}else{if(bw.nodeType){return b.grep(bx,function(bz,by){return(bz===bw)===e})}else{if(typeof bw==="string"){var bv=b.grep(bx,function(by){return by.nodeType===1});if(bp.test(bw)){return b.filter(bw,bv,!e)}else{bw=b.filter(bw,bv)}}}}return b.grep(bx,function(bz,by){return(b.inArray(bz,bw)>=0)===e})}function a(e){var bw=aR.split("|"),bv=e.createDocumentFragment();if(bv.createElement){while(bw.length){bv.createElement(bw.pop())}}return bv}var aR="abbr|article|aside|audio|canvas|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",ag=/ jQuery\d+="(?:\d+|null)"/g,ar=/^\s+/,R=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,d=/<([\w:]+)/,w=/",""],legend:[1,"
","
"],thead:[1,"","
"],tr:[2,"","
"],td:[3,"","
"],col:[2,"","
"],area:[1,"",""],_default:[0,"",""]},ac=a(av); +ax.optgroup=ax.option;ax.tbody=ax.tfoot=ax.colgroup=ax.caption=ax.thead;ax.th=ax.td;if(!b.support.htmlSerialize){ax._default=[1,"div
","
"]}b.fn.extend({text:function(e){if(b.isFunction(e)){return this.each(function(bw){var bv=b(this);bv.text(e.call(this,bw,bv.text()))})}if(typeof e!=="object"&&e!==L){return this.empty().append((this[0]&&this[0].ownerDocument||av).createTextNode(e))}return b.text(this)},wrapAll:function(e){if(b.isFunction(e)){return this.each(function(bw){b(this).wrapAll(e.call(this,bw))})}if(this[0]){var bv=b(e,this[0].ownerDocument).eq(0).clone(true);if(this[0].parentNode){bv.insertBefore(this[0])}bv.map(function(){var bw=this;while(bw.firstChild&&bw.firstChild.nodeType===1){bw=bw.firstChild}return bw}).append(this)}return this},wrapInner:function(e){if(b.isFunction(e)){return this.each(function(bv){b(this).wrapInner(e.call(this,bv))})}return this.each(function(){var bv=b(this),bw=bv.contents();if(bw.length){bw.wrapAll(e)}else{bv.append(e)}})},wrap:function(e){var bv=b.isFunction(e);return this.each(function(bw){b(this).wrapAll(bv?e.call(this,bw):e)})},unwrap:function(){return this.parent().each(function(){if(!b.nodeName(this,"body")){b(this).replaceWith(this.childNodes)}}).end()},append:function(){return this.domManip(arguments,true,function(e){if(this.nodeType===1){this.appendChild(e)}})},prepend:function(){return this.domManip(arguments,true,function(e){if(this.nodeType===1){this.insertBefore(e,this.firstChild)}})},before:function(){if(this[0]&&this[0].parentNode){return this.domManip(arguments,false,function(bv){this.parentNode.insertBefore(bv,this)})}else{if(arguments.length){var e=b.clean(arguments);e.push.apply(e,this.toArray());return this.pushStack(e,"before",arguments)}}},after:function(){if(this[0]&&this[0].parentNode){return this.domManip(arguments,false,function(bv){this.parentNode.insertBefore(bv,this.nextSibling)})}else{if(arguments.length){var e=this.pushStack(this,"after",arguments);e.push.apply(e,b.clean(arguments));return e}}},remove:function(e,bx){for(var bv=0,bw;(bw=this[bv])!=null;bv++){if(!e||b.filter(e,[bw]).length){if(!bx&&bw.nodeType===1){b.cleanData(bw.getElementsByTagName("*"));b.cleanData([bw])}if(bw.parentNode){bw.parentNode.removeChild(bw)}}}return this},empty:function(){for(var e=0,bv;(bv=this[e])!=null;e++){if(bv.nodeType===1){b.cleanData(bv.getElementsByTagName("*"))}while(bv.firstChild){bv.removeChild(bv.firstChild)}}return this},clone:function(bv,e){bv=bv==null?false:bv;e=e==null?bv:e;return this.map(function(){return b.clone(this,bv,e)})},html:function(bx){if(bx===L){return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(ag,""):null}else{if(typeof bx==="string"&&!ae.test(bx)&&(b.support.leadingWhitespace||!ar.test(bx))&&!ax[(d.exec(bx)||["",""])[1].toLowerCase()]){bx=bx.replace(R,"<$1>");try{for(var bw=0,bv=this.length;bw1&&bw0?this.clone(true):this).get();b(bC[bA])[bv](by);bz=bz.concat(by)}return this.pushStack(bz,e,bC.selector)}}});function bg(e){if(typeof e.getElementsByTagName!=="undefined"){return e.getElementsByTagName("*")}else{if(typeof e.querySelectorAll!=="undefined"){return e.querySelectorAll("*")}else{return[]}}}function az(e){if(e.type==="checkbox"||e.type==="radio"){e.defaultChecked=e.checked}}function E(e){var bv=(e.nodeName||"").toLowerCase();if(bv==="input"){az(e)}else{if(bv!=="script"&&typeof e.getElementsByTagName!=="undefined"){b.grep(e.getElementsByTagName("input"),az)}}}function al(e){var bv=av.createElement("div");ac.appendChild(bv);bv.innerHTML=e.outerHTML;return bv.firstChild}b.extend({clone:function(by,bA,bw){var e,bv,bx,bz=b.support.html5Clone||!ah.test("<"+by.nodeName)?by.cloneNode(true):al(by);if((!b.support.noCloneEvent||!b.support.noCloneChecked)&&(by.nodeType===1||by.nodeType===11)&&!b.isXMLDoc(by)){ai(by,bz);e=bg(by);bv=bg(bz);for(bx=0;e[bx];++bx){if(bv[bx]){ai(e[bx],bv[bx])}}}if(bA){t(by,bz);if(bw){e=bg(by);bv=bg(bz);for(bx=0;e[bx];++bx){t(e[bx],bv[bx])}}}e=bv=null;return bz},clean:function(bw,by,bH,bA){var bF;by=by||av;if(typeof by.createElement==="undefined"){by=by.ownerDocument||by[0]&&by[0].ownerDocument||av}var bI=[],bB;for(var bE=0,bz;(bz=bw[bE])!=null;bE++){if(typeof bz==="number"){bz+=""}if(!bz){continue}if(typeof bz==="string"){if(!W.test(bz)){bz=by.createTextNode(bz)}else{bz=bz.replace(R,"<$1>");var bK=(d.exec(bz)||["",""])[1].toLowerCase(),bx=ax[bK]||ax._default,bD=bx[0],bv=by.createElement("div");if(by===av){ac.appendChild(bv)}else{a(by).appendChild(bv)}bv.innerHTML=bx[1]+bz+bx[2];while(bD--){bv=bv.lastChild}if(!b.support.tbody){var e=w.test(bz),bC=bK==="table"&&!e?bv.firstChild&&bv.firstChild.childNodes:bx[1]===""&&!e?bv.childNodes:[];for(bB=bC.length-1;bB>=0;--bB){if(b.nodeName(bC[bB],"tbody")&&!bC[bB].childNodes.length){bC[bB].parentNode.removeChild(bC[bB])}}}if(!b.support.leadingWhitespace&&ar.test(bz)){bv.insertBefore(by.createTextNode(ar.exec(bz)[0]),bv.firstChild)}bz=bv.childNodes}}var bG;if(!b.support.appendChecked){if(bz[0]&&typeof(bG=bz.length)==="number"){for(bB=0;bB=0){return bx+"px"}}else{return bx}}}});if(!b.support.opacity){b.cssHooks.opacity={get:function(bv,e){return au.test((e&&bv.currentStyle?bv.currentStyle.filter:bv.style.filter)||"")?(parseFloat(RegExp.$1)/100)+"":e?"1":""},set:function(by,bz){var bx=by.style,bv=by.currentStyle,e=b.isNumeric(bz)?"alpha(opacity="+bz*100+")":"",bw=bv&&bv.filter||bx.filter||"";bx.zoom=1;if(bz>=1&&b.trim(bw.replace(ak,""))===""){bx.removeAttribute("filter");if(bv&&!bv.filter){return}}bx.filter=ak.test(bw)?bw.replace(ak,e):bw+" "+e}}}b(function(){if(!b.support.reliableMarginRight){b.cssHooks.marginRight={get:function(bw,bv){var e;b.swap(bw,{display:"inline-block"},function(){if(bv){e=Z(bw,"margin-right","marginRight")}else{e=bw.style.marginRight}});return e}}}});if(av.defaultView&&av.defaultView.getComputedStyle){aI=function(by,bw){var bv,bx,e;bw=bw.replace(z,"-$1").toLowerCase();if((bx=by.ownerDocument.defaultView)&&(e=bx.getComputedStyle(by,null))){bv=e.getPropertyValue(bw);if(bv===""&&!b.contains(by.ownerDocument.documentElement,by)){bv=b.style(by,bw)}}return bv}}if(av.documentElement.currentStyle){aX=function(bz,bw){var bA,e,by,bv=bz.currentStyle&&bz.currentStyle[bw],bx=bz.style;if(bv===null&&bx&&(by=bx[bw])){bv=by}if(!bc.test(bv)&&bn.test(bv)){bA=bx.left;e=bz.runtimeStyle&&bz.runtimeStyle.left;if(e){bz.runtimeStyle.left=bz.currentStyle.left}bx.left=bw==="fontSize"?"1em":(bv||0);bv=bx.pixelLeft+"px";bx.left=bA;if(e){bz.runtimeStyle.left=e}}return bv===""?"auto":bv}}Z=aI||aX;function p(by,bw,bv){var bA=bw==="width"?by.offsetWidth:by.offsetHeight,bz=bw==="width"?an:a1,bx=0,e=bz.length; +if(bA>0){if(bv!=="border"){for(;bx)<[^<]*)*<\/script>/gi,q=/^(?:select|textarea)/i,h=/\s+/,br=/([?&])_=[^&]*/,K=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+))?)?/,A=b.fn.load,aa={},r={},aE,s,aV=["*/"]+["*"];try{aE=bl.href}catch(aw){aE=av.createElement("a");aE.href="";aE=aE.href}s=K.exec(aE.toLowerCase())||[];function f(e){return function(by,bA){if(typeof by!=="string"){bA=by;by="*"}if(b.isFunction(bA)){var bx=by.toLowerCase().split(h),bw=0,bz=bx.length,bv,bB,bC;for(;bw=0){var e=bw.slice(by,bw.length);bw=bw.slice(0,by)}var bx="GET";if(bz){if(b.isFunction(bz)){bA=bz;bz=L}else{if(typeof bz==="object"){bz=b.param(bz,b.ajaxSettings.traditional);bx="POST"}}}var bv=this;b.ajax({url:bw,type:bx,dataType:"html",data:bz,complete:function(bC,bB,bD){bD=bC.responseText;if(bC.isResolved()){bC.done(function(bE){bD=bE});bv.html(e?b("
").append(bD.replace(a6,"")).find(e):bD)}if(bA){bv.each(bA,[bD,bB,bC])}}});return this},serialize:function(){return b.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?b.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||q.test(this.nodeName)||aZ.test(this.type))}).map(function(e,bv){var bw=b(this).val();return bw==null?null:b.isArray(bw)?b.map(bw,function(by,bx){return{name:bv.name,value:by.replace(bs,"\r\n")}}):{name:bv.name,value:bw.replace(bs,"\r\n")}}).get()}});b.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(e,bv){b.fn[bv]=function(bw){return this.on(bv,bw)}});b.each(["get","post"],function(e,bv){b[bv]=function(bw,by,bz,bx){if(b.isFunction(by)){bx=bx||bz;bz=by;by=L}return b.ajax({type:bv,url:bw,data:by,success:bz,dataType:bx})}});b.extend({getScript:function(e,bv){return b.get(e,L,bv,"script")},getJSON:function(e,bv,bw){return b.get(e,bv,bw,"json")},ajaxSetup:function(bv,e){if(e){am(bv,b.ajaxSettings)}else{e=bv;bv=b.ajaxSettings}am(bv,e);return bv},ajaxSettings:{url:aE,isLocal:aM.test(s[1]),global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":aV},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":bb.String,"text html":true,"text json":b.parseJSON,"text xml":b.parseXML},flatOptions:{context:true,url:true}},ajaxPrefilter:f(aa),ajaxTransport:f(r),ajax:function(bz,bx){if(typeof bz==="object"){bx=bz;bz=L}bx=bx||{};var bD=b.ajaxSetup({},bx),bS=bD.context||bD,bG=bS!==bD&&(bS.nodeType||bS instanceof b)?b(bS):b.event,bR=b.Deferred(),bN=b.Callbacks("once memory"),bB=bD.statusCode||{},bC,bH={},bO={},bQ,by,bL,bE,bI,bA=0,bw,bK,bJ={readyState:0,setRequestHeader:function(bT,bU){if(!bA){var e=bT.toLowerCase();bT=bO[e]=bO[e]||bT;bH[bT]=bU}return this},getAllResponseHeaders:function(){return bA===2?bQ:null},getResponseHeader:function(bT){var e;if(bA===2){if(!by){by={};while((e=aD.exec(bQ))){by[e[1].toLowerCase()]=e[2]}}e=by[bT.toLowerCase()]}return e===L?null:e},overrideMimeType:function(e){if(!bA){bD.mimeType=e}return this},abort:function(e){e=e||"abort";if(bL){bL.abort(e)}bF(0,e);return this}};function bF(bZ,bU,b0,bW){if(bA===2){return}bA=2;if(bE){clearTimeout(bE)}bL=L;bQ=bW||"";bJ.readyState=bZ>0?4:0;var bT,b4,b3,bX=bU,bY=b0?bj(bD,bJ,b0):L,bV,b2;if(bZ>=200&&bZ<300||bZ===304){if(bD.ifModified){if((bV=bJ.getResponseHeader("Last-Modified"))){b.lastModified[bC]=bV}if((b2=bJ.getResponseHeader("Etag"))){b.etag[bC]=b2}}if(bZ===304){bX="notmodified";bT=true}else{try{b4=G(bD,bY);bX="success";bT=true}catch(b1){bX="parsererror";b3=b1}}}else{b3=bX;if(!bX||bZ){bX="error";if(bZ<0){bZ=0}}}bJ.status=bZ;bJ.statusText=""+(bU||bX);if(bT){bR.resolveWith(bS,[b4,bX,bJ])}else{bR.rejectWith(bS,[bJ,bX,b3])}bJ.statusCode(bB);bB=L;if(bw){bG.trigger("ajax"+(bT?"Success":"Error"),[bJ,bD,bT?b4:b3])}bN.fireWith(bS,[bJ,bX]);if(bw){bG.trigger("ajaxComplete",[bJ,bD]);if(!(--b.active)){b.event.trigger("ajaxStop")}}}bR.promise(bJ);bJ.success=bJ.done;bJ.error=bJ.fail;bJ.complete=bN.add;bJ.statusCode=function(bT){if(bT){var e;if(bA<2){for(e in bT){bB[e]=[bB[e],bT[e]]}}else{e=bT[bJ.status];bJ.then(e,e)}}return this};bD.url=((bz||bD.url)+"").replace(bq,"").replace(c,s[1]+"//");bD.dataTypes=b.trim(bD.dataType||"*").toLowerCase().split(h);if(bD.crossDomain==null){bI=K.exec(bD.url.toLowerCase());bD.crossDomain=!!(bI&&(bI[1]!=s[1]||bI[2]!=s[2]||(bI[3]||(bI[1]==="http:"?80:443))!=(s[3]||(s[1]==="http:"?80:443))))}if(bD.data&&bD.processData&&typeof bD.data!=="string"){bD.data=b.param(bD.data,bD.traditional)}aW(aa,bD,bx,bJ);if(bA===2){return false}bw=bD.global;bD.type=bD.type.toUpperCase();bD.hasContent=!aQ.test(bD.type);if(bw&&b.active++===0){b.event.trigger("ajaxStart")}if(!bD.hasContent){if(bD.data){bD.url+=(M.test(bD.url)?"&":"?")+bD.data;delete bD.data}bC=bD.url;if(bD.cache===false){var bv=b.now(),bP=bD.url.replace(br,"$1_="+bv);bD.url=bP+((bP===bD.url)?(M.test(bD.url)?"&":"?")+"_="+bv:"")}}if(bD.data&&bD.hasContent&&bD.contentType!==false||bx.contentType){bJ.setRequestHeader("Content-Type",bD.contentType)}if(bD.ifModified){bC=bC||bD.url;if(b.lastModified[bC]){bJ.setRequestHeader("If-Modified-Since",b.lastModified[bC])}if(b.etag[bC]){bJ.setRequestHeader("If-None-Match",b.etag[bC])}}bJ.setRequestHeader("Accept",bD.dataTypes[0]&&bD.accepts[bD.dataTypes[0]]?bD.accepts[bD.dataTypes[0]]+(bD.dataTypes[0]!=="*"?", "+aV+"; q=0.01":""):bD.accepts["*"]);for(bK in bD.headers){bJ.setRequestHeader(bK,bD.headers[bK])}if(bD.beforeSend&&(bD.beforeSend.call(bS,bJ,bD)===false||bA===2)){bJ.abort();return false}for(bK in {success:1,error:1,complete:1}){bJ[bK](bD[bK])}bL=aW(r,bD,bx,bJ);if(!bL){bF(-1,"No Transport")}else{bJ.readyState=1;if(bw){bG.trigger("ajaxSend",[bJ,bD])}if(bD.async&&bD.timeout>0){bE=setTimeout(function(){bJ.abort("timeout")},bD.timeout)}try{bA=1;bL.send(bH,bF)}catch(bM){if(bA<2){bF(-1,bM)}else{throw bM}}}return bJ},param:function(e,bw){var bv=[],by=function(bz,bA){bA=b.isFunction(bA)?bA():bA;bv[bv.length]=encodeURIComponent(bz)+"="+encodeURIComponent(bA)};if(bw===L){bw=b.ajaxSettings.traditional}if(b.isArray(e)||(e.jquery&&!b.isPlainObject(e))){b.each(e,function(){by(this.name,this.value)})}else{for(var bx in e){v(bx,e[bx],bw,by)}}return bv.join("&").replace(k,"+")}});function v(bw,by,bv,bx){if(b.isArray(by)){b.each(by,function(bA,bz){if(bv||ap.test(bw)){bx(bw,bz)}else{v(bw+"["+(typeof bz==="object"||b.isArray(bz)?bA:"")+"]",bz,bv,bx)}})}else{if(!bv&&by!=null&&typeof by==="object"){for(var e in by){v(bw+"["+e+"]",by[e],bv,bx)}}else{bx(bw,by)}}}b.extend({active:0,lastModified:{},etag:{}});function bj(bD,bC,bz){var bv=bD.contents,bB=bD.dataTypes,bw=bD.responseFields,by,bA,bx,e;for(bA in bw){if(bA in bz){bC[bw[bA]]=bz[bA]}}while(bB[0]==="*"){bB.shift();if(by===L){by=bD.mimeType||bC.getResponseHeader("content-type")}}if(by){for(bA in bv){if(bv[bA]&&bv[bA].test(by)){bB.unshift(bA);break}}}if(bB[0] in bz){bx=bB[0]}else{for(bA in bz){if(!bB[0]||bD.converters[bA+" "+bB[0]]){bx=bA;break}if(!e){e=bA}}bx=bx||e}if(bx){if(bx!==bB[0]){bB.unshift(bx)}return bz[bx]}}function G(bH,bz){if(bH.dataFilter){bz=bH.dataFilter(bz,bH.dataType)}var bD=bH.dataTypes,bG={},bA,bE,bw=bD.length,bB,bC=bD[0],bx,by,bF,bv,e;for(bA=1;bA=bw.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();bw.animatedProperties[this.prop]=true;for(bA in bw.animatedProperties){if(bw.animatedProperties[bA]!==true){e=false}}if(e){if(bw.overflow!=null&&!b.support.shrinkWrapBlocks){b.each(["","X","Y"],function(bC,bD){bz.style["overflow"+bD]=bw.overflow[bC]})}if(bw.hide){b(bz).hide()}if(bw.hide||bw.show){for(bA in bw.animatedProperties){b.style(bz,bA,bw.orig[bA]);b.removeData(bz,"fxshow"+bA,true);b.removeData(bz,"toggle"+bA,true)}}bv=bw.complete;if(bv){bw.complete=false;bv.call(bz)}}return false}else{if(bw.duration==Infinity){this.now=bx}else{bB=bx-this.startTime;this.state=bB/bw.duration;this.pos=b.easing[bw.animatedProperties[this.prop]](this.state,bB,0,1,bw.duration);this.now=this.start+((this.end-this.start)*this.pos)}this.update()}return true}};b.extend(b.fx,{tick:function(){var bw,bv=b.timers,e=0;for(;e").appendTo(e),bw=bv.css("display");bv.remove();if(bw==="none"||bw===""){if(!a8){a8=av.createElement("iframe");a8.frameBorder=a8.width=a8.height=0}e.appendChild(a8);if(!m||!a8.createElement){m=(a8.contentWindow||a8.contentDocument).document;m.write((av.compatMode==="CSS1Compat"?"":"")+"");m.close()}bv=m.createElement(bx);m.body.appendChild(bv);bw=b.css(bv,"display");e.removeChild(a8)}Q[bx]=bw}return Q[bx]}var V=/^t(?:able|d|h)$/i,ad=/^(?:body|html)$/i;if("getBoundingClientRect" in av.documentElement){b.fn.offset=function(bI){var by=this[0],bB;if(bI){return this.each(function(e){b.offset.setOffset(this,bI,e)})}if(!by||!by.ownerDocument){return null}if(by===by.ownerDocument.body){return b.offset.bodyOffset(by)}try{bB=by.getBoundingClientRect()}catch(bF){}var bH=by.ownerDocument,bw=bH.documentElement;if(!bB||!b.contains(bw,by)){return bB?{top:bB.top,left:bB.left}:{top:0,left:0}}var bC=bH.body,bD=aK(bH),bA=bw.clientTop||bC.clientTop||0,bE=bw.clientLeft||bC.clientLeft||0,bv=bD.pageYOffset||b.support.boxModel&&bw.scrollTop||bC.scrollTop,bz=bD.pageXOffset||b.support.boxModel&&bw.scrollLeft||bC.scrollLeft,bG=bB.top+bv-bA,bx=bB.left+bz-bE;return{top:bG,left:bx}}}else{b.fn.offset=function(bF){var bz=this[0];if(bF){return this.each(function(bG){b.offset.setOffset(this,bF,bG)})}if(!bz||!bz.ownerDocument){return null}if(bz===bz.ownerDocument.body){return b.offset.bodyOffset(bz)}var bC,bw=bz.offsetParent,bv=bz,bE=bz.ownerDocument,bx=bE.documentElement,bA=bE.body,bB=bE.defaultView,e=bB?bB.getComputedStyle(bz,null):bz.currentStyle,bD=bz.offsetTop,by=bz.offsetLeft;while((bz=bz.parentNode)&&bz!==bA&&bz!==bx){if(b.support.fixedPosition&&e.position==="fixed"){break}bC=bB?bB.getComputedStyle(bz,null):bz.currentStyle;bD-=bz.scrollTop;by-=bz.scrollLeft;if(bz===bw){bD+=bz.offsetTop;by+=bz.offsetLeft;if(b.support.doesNotAddBorder&&!(b.support.doesAddBorderForTableAndCells&&V.test(bz.nodeName))){bD+=parseFloat(bC.borderTopWidth)||0;by+=parseFloat(bC.borderLeftWidth)||0}bv=bw;bw=bz.offsetParent}if(b.support.subtractsBorderForOverflowNotVisible&&bC.overflow!=="visible"){bD+=parseFloat(bC.borderTopWidth)||0;by+=parseFloat(bC.borderLeftWidth)||0}e=bC}if(e.position==="relative"||e.position==="static"){bD+=bA.offsetTop;by+=bA.offsetLeft}if(b.support.fixedPosition&&e.position==="fixed"){bD+=Math.max(bx.scrollTop,bA.scrollTop);by+=Math.max(bx.scrollLeft,bA.scrollLeft)}return{top:bD,left:by}}}b.offset={bodyOffset:function(e){var bw=e.offsetTop,bv=e.offsetLeft;if(b.support.doesNotIncludeMarginInBodyOffset){bw+=parseFloat(b.css(e,"marginTop"))||0;bv+=parseFloat(b.css(e,"marginLeft"))||0}return{top:bw,left:bv}},setOffset:function(bx,bG,bA){var bB=b.css(bx,"position");if(bB==="static"){bx.style.position="relative"}var bz=b(bx),bv=bz.offset(),e=b.css(bx,"top"),bE=b.css(bx,"left"),bF=(bB==="absolute"||bB==="fixed")&&b.inArray("auto",[e,bE])>-1,bD={},bC={},bw,by;if(bF){bC=bz.position();bw=bC.top;by=bC.left}else{bw=parseFloat(e)||0;by=parseFloat(bE)||0}if(b.isFunction(bG)){bG=bG.call(bx,bA,bv)}if(bG.top!=null){bD.top=(bG.top-bv.top)+bw}if(bG.left!=null){bD.left=(bG.left-bv.left)+by}if("using" in bG){bG.using.call(bx,bD)}else{bz.css(bD)}}};b.fn.extend({position:function(){if(!this[0]){return null}var bw=this[0],bv=this.offsetParent(),bx=this.offset(),e=ad.test(bv[0].nodeName)?{top:0,left:0}:bv.offset();bx.top-=parseFloat(b.css(bw,"marginTop"))||0;bx.left-=parseFloat(b.css(bw,"marginLeft"))||0;e.top+=parseFloat(b.css(bv[0],"borderTopWidth"))||0;e.left+=parseFloat(b.css(bv[0],"borderLeftWidth"))||0;return{top:bx.top-e.top,left:bx.left-e.left}},offsetParent:function(){return this.map(function(){var e=this.offsetParent||av.body;while(e&&(!ad.test(e.nodeName)&&b.css(e,"position")==="static")){e=e.offsetParent}return e})}});b.each(["Left","Top"],function(bv,e){var bw="scroll"+e;b.fn[bw]=function(bz){var bx,by;if(bz===L){bx=this[0];if(!bx){return null}by=aK(bx);return by?("pageXOffset" in by)?by[bv?"pageYOffset":"pageXOffset"]:b.support.boxModel&&by.document.documentElement[bw]||by.document.body[bw]:bx[bw]}return this.each(function(){by=aK(this);if(by){by.scrollTo(!bv?bz:b(by).scrollLeft(),bv?bz:b(by).scrollTop())}else{this[bw]=bz}})}});function aK(e){return b.isWindow(e)?e:e.nodeType===9?e.defaultView||e.parentWindow:false}b.each(["Height","Width"],function(bv,e){var bw=e.toLowerCase();b.fn["inner"+e]=function(){var bx=this[0];return bx?bx.style?parseFloat(b.css(bx,bw,"padding")):this[bw]():null};b.fn["outer"+e]=function(by){var bx=this[0];return bx?bx.style?parseFloat(b.css(bx,bw,by?"margin":"border")):this[bw]():null};b.fn[bw]=function(bz){var bA=this[0];if(!bA){return bz==null?null:this}if(b.isFunction(bz)){return this.each(function(bE){var bD=b(this);bD[bw](bz.call(this,bE,bD[bw]()))})}if(b.isWindow(bA)){var bB=bA.document.documentElement["client"+e],bx=bA.document.body;return bA.document.compatMode==="CSS1Compat"&&bB||bx&&bx["client"+e]||bB}else{if(bA.nodeType===9){return Math.max(bA.documentElement["client"+e],bA.body["scroll"+e],bA.documentElement["scroll"+e],bA.body["offset"+e],bA.documentElement["offset"+e])}else{if(bz===L){var bC=b.css(bA,bw),by=parseFloat(bC);return b.isNumeric(by)?by:bC}else{return this.css(bw,typeof bz==="string"?bz:bz+"px")}}}}});bb.jQuery=bb.$=b;if(typeof define==="function"&&define.amd&&define.amd.jQuery){define("jquery",[],function(){return b +})}})(window); diff --git a/doc/ref/c++.internal/html/namespacegrpc.html b/doc/ref/c++.internal/html/namespacegrpc.html new file mode 100644 index 0000000000..75a71cb7e3 --- /dev/null +++ b/doc/ref/c++.internal/html/namespacegrpc.html @@ -0,0 +1,1075 @@ + + + + + + +GRPC C++: grpc Namespace Reference + + + + + + + + + +
+
+
+ + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+ + + + + + + + + + +
+ +
+ + +
+ +
+
grpc Namespace Reference
+
+
+ + + + + + + + +

+Namespaces

 CallOpGenericRecvMessageHelper
 
 protobuf
 
 testing
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Data Structures

class  GenericServerContext
 
class  AsyncGenericService
 
class  ClientAsyncResponseReaderInterface
 
class  ClientAsyncResponseReader
 
class  ServerAsyncResponseWriter
 
class  AuthContext
 
class  AuthPropertyIterator
 
class  ByteBuffer
 
class  SerializationTraits< ByteBuffer, void >
 
class  ChannelArguments
 
class  ChannelInterface
 
class  ClientReader
 
class  ClientWriter
 
class  ClientReaderWriter
 
class  ClientAsyncReader
 
class  ClientAsyncWriter
 
class  ClientAsyncReaderWriter
 
class  ClientContext
 
class  ServerReader
 
class  ServerWriter
 
class  ServerReaderWriter
 
class  RpcMethodHandler
 
class  ClientStreamingHandler
 
class  ServerStreamingHandler
 
class  BidiStreamingHandler
 
class  CompletionQueueTag
 
class  CompletionQueue
 
class  ServerCompletionQueue
 
class  Credentials
 
struct  SslCredentialsOptions
 
class  DynamicThreadPool
 
class  FixedSizeThreadPool
 
class  GenericStub
 
class  WriteOptions
 Per-message write options. More...
 
class  CallNoOp
 Default argument for CallOpSet. More...
 
class  CallOpSendInitialMetadata
 
class  CallOpSendMessage
 
class  CallOpRecvMessage
 
class  CallOpGenericRecvMessage
 
class  CallOpClientSendClose
 
class  CallOpServerSendStatus
 
class  CallOpRecvInitialMetadata
 
class  CallOpClientRecvStatus
 
class  CallOpSetInterface
 An abstract collection of call ops, used to generate the grpc_call_op structure to pass down to the lower layers, and as it is-a CompletionQueueTag, also massages the final completion into the correct form for consumption in the C++ API. More...
 
class  CallOpSet
 Primary implementaiton of CallOpSetInterface. More...
 
class  SneakyCallOpSet
 A CallOpSet that does not post completions to the completion queue. More...
 
class  CallHook
 
class  Call
 
class  GrpcLibrary
 
class  InternalStub
 
class  SerializationTraits< T, typename std::enable_if< std::is_base_of< grpc::protobuf::Message, T >::value >::type >
 
class  RpcMethod
 
class  MethodHandler
 
class  RpcServiceMethod
 
class  RpcService
 
class  SerializationTraits
 Defines how to serialize and deserialize some type. More...
 
class  SynchronousService
 
class  ServerAsyncStreamingInterface
 
class  AsynchronousService
 
class  lock_guard
 
class  mutex
 
class  unique_lock
 
class  condition_variable
 
class  thread
 
class  Server
 
class  ServerBuilder
 
class  ServerAsyncReader
 
class  ServerAsyncWriter
 
class  ServerAsyncReaderWriter
 
class  ServerContext
 
class  ServerCredentials
 
struct  SslServerCredentialsOptions
 
class  Slice
 
class  Status
 
class  ClientStreamingInterface
 
class  ReaderInterface
 
class  WriterInterface
 
class  ClientReaderInterface
 
class  ClientWriterInterface
 
class  ClientReaderWriterInterface
 
class  ClientAsyncStreamingInterface
 
class  AsyncReaderInterface
 
class  AsyncWriterInterface
 
class  ClientAsyncReaderInterface
 
class  ClientAsyncWriterInterface
 
class  ClientAsyncReaderWriterInterface
 
class  ThreadPoolInterface
 
class  TimePoint
 
class  TimePoint< gpr_timespec >
 
class  TimePoint< std::chrono::system_clock::time_point >
 
class  SecureCredentials
 
class  SecureAuthContext
 
class  SecureServerCredentials
 
class  Channel
 
+ + + + + + + + + +

+Typedefs

typedef
+ServerAsyncReaderWriter
+< ByteBuffer, ByteBuffer
GenericServerAsyncReaderWriter
 
typedef std::pair
+< grpc::string, grpc::string
AuthProperty
 
typedef std::string string
 
typedef
+ClientAsyncReaderWriter
+< ByteBuffer, ByteBuffer
GenericClientAsyncReaderWriter
 
+ + + +

+Enumerations

enum  StatusCode {
+  OK = 0, +CANCELLED = 1, +UNKNOWN = 2, +INVALID_ARGUMENT = 3, +
+  DEADLINE_EXCEEDED = 4, +NOT_FOUND = 5, +ALREADY_EXISTS = 6, +PERMISSION_DENIED = 7, +
+  UNAUTHENTICATED = 16, +RESOURCE_EXHAUSTED = 8, +FAILED_PRECONDITION = 9, +ABORTED = 10, +
+  OUT_OF_RANGE = 11, +UNIMPLEMENTED = 12, +INTERNAL = 13, +UNAVAILABLE = 14, +
+  DATA_LOSS = 15, +DO_NOT_USE = -1 +
+ }
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

std::shared_ptr< ChannelInterfaceCreateChannel (const grpc::string &target, const std::shared_ptr< Credentials > &creds, const ChannelArguments &args)
 
std::shared_ptr< CredentialsGoogleDefaultCredentials ()
 
std::shared_ptr< CredentialsSslCredentials (const SslCredentialsOptions &options)
 
std::shared_ptr< CredentialsComputeEngineCredentials ()
 
std::shared_ptr< CredentialsServiceAccountCredentials (const grpc::string &json_key, const grpc::string &scope, long token_lifetime_seconds)
 
std::shared_ptr< CredentialsServiceAccountJWTAccessCredentials (const grpc::string &json_key, long token_lifetime_seconds)
 
std::shared_ptr< CredentialsRefreshTokenCredentials (const grpc::string &json_refresh_token)
 
std::shared_ptr< CredentialsAccessTokenCredentials (const grpc::string &access_token)
 
std::shared_ptr< CredentialsIAMCredentials (const grpc::string &authorization_token, const grpc::string &authority_selector)
 
std::shared_ptr< CredentialsCompositeCredentials (const std::shared_ptr< Credentials > &creds1, const std::shared_ptr< Credentials > &creds2)
 
std::shared_ptr< CredentialsInsecureCredentials ()
 
void FillMetadataMap (grpc_metadata_array *arr, std::multimap< grpc::string, grpc::string > *metadata)
 
grpc_metadata * FillMetadataArray (const std::multimap< grpc::string, grpc::string > &metadata)
 
template<class InputMessage , class OutputMessage >
Status BlockingUnaryCall (ChannelInterface *channel, const RpcMethod &method, ClientContext *context, const InputMessage &request, OutputMessage *result)
 
Status SerializeProto (const grpc::protobuf::Message &msg, grpc_byte_buffer **buffer)
 
Status DeserializeProto (grpc_byte_buffer *buffer, grpc::protobuf::Message *msg, int max_message_size)
 
std::shared_ptr
+< ServerCredentials
SslServerCredentials (const SslServerCredentialsOptions &options)
 
std::shared_ptr
+< ServerCredentials
InsecureServerCredentials ()
 
ThreadPoolInterfaceCreateDefaultThreadPool ()
 
void Timepoint2Timespec (const std::chrono::system_clock::time_point &from, gpr_timespec *to)
 
void TimepointHR2Timespec (const std::chrono::high_resolution_clock::time_point &from, gpr_timespec *to)
 
std::chrono::system_clock::time_point Timespec2Timepoint (gpr_timespec t)
 
std::shared_ptr< const
+AuthContext
CreateAuthContext (grpc_call *call)
 
void Timepoint2Timespec (const system_clock::time_point &from, gpr_timespec *to)
 
void TimepointHR2Timespec (const high_resolution_clock::time_point &from, gpr_timespec *to)
 
+

Typedef Documentation

+ +
+
+ + + + +
typedef std::pair<grpc::string, grpc::string> grpc::AuthProperty
+
+ +
+
+ + + + + +
+
+ + + + +
typedef std::string grpc::string
+
+ +
+
+

Enumeration Type Documentation

+ +
+
+ + + + +
enum grpc::StatusCode
+
+ + + + + + + + + + + + + + + + + + + +
Enumerator
OK  +
CANCELLED  +
UNKNOWN  +
INVALID_ARGUMENT  +
DEADLINE_EXCEEDED  +
NOT_FOUND  +
ALREADY_EXISTS  +
PERMISSION_DENIED  +
UNAUTHENTICATED  +
RESOURCE_EXHAUSTED  +
FAILED_PRECONDITION  +
ABORTED  +
OUT_OF_RANGE  +
UNIMPLEMENTED  +
INTERNAL  +
UNAVAILABLE  +
DATA_LOSS  +
DO_NOT_USE  +
+ +
+
+

Function Documentation

+ +
+
+ + + + + + + + +
std::shared_ptr< Credentials > grpc::AccessTokenCredentials (const grpc::stringaccess_token)
+
+ +
+
+ +
+
+
+template<class InputMessage , class OutputMessage >
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Status grpc::BlockingUnaryCall (ChannelInterface * channel,
const RpcMethod & method,
ClientContext * context,
const InputMessage & request,
OutputMessage * result 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
std::shared_ptr< Credentials > grpc::CompositeCredentials (const std::shared_ptr< Credentials > & creds1,
const std::shared_ptr< Credentials > & creds2 
)
+
+ +
+
+ +
+
+ + + + + + + +
std::shared_ptr< Credentials > grpc::ComputeEngineCredentials ()
+
+ +
+
+ +
+
+ + + + + + + + +
std::shared_ptr< const AuthContext > grpc::CreateAuthContext (grpc_call * call)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
std::shared_ptr< ChannelInterface > grpc::CreateChannel (const grpc::stringtarget,
const std::shared_ptr< Credentials > & creds,
const ChannelArguments & args 
)
+
+ +
+
+ +
+
+ + + + + + + +
ThreadPoolInterface * grpc::CreateDefaultThreadPool ()
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
Status grpc::DeserializeProto (grpc_byte_buffer * buffer,
grpc::protobuf::Messagemsg,
int max_message_size 
)
+
+ +
+
+ +
+
+ + + + + + + + +
grpc_metadata * grpc::FillMetadataArray (const std::multimap< grpc::string, grpc::string > & metadata)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void grpc::FillMetadataMap (grpc_metadata_array * arr,
std::multimap< grpc::string, grpc::string > * metadata 
)
+
+ +
+
+ +
+
+ + + + + + + +
std::shared_ptr< Credentials > grpc::GoogleDefaultCredentials ()
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
std::shared_ptr< Credentials > grpc::IAMCredentials (const grpc::stringauthorization_token,
const grpc::stringauthority_selector 
)
+
+ +
+
+ +
+
+ + + + + + + +
std::shared_ptr< Credentials > grpc::InsecureCredentials ()
+
+ +
+
+ +
+
+ + + + + + + +
std::shared_ptr< ServerCredentials > grpc::InsecureServerCredentials ()
+
+ +
+
+ +
+
+ + + + + + + + +
std::shared_ptr< Credentials > grpc::RefreshTokenCredentials (const grpc::stringjson_refresh_token)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
Status grpc::SerializeProto (const grpc::protobuf::Messagemsg,
grpc_byte_buffer ** buffer 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
std::shared_ptr< Credentials > grpc::ServiceAccountCredentials (const grpc::stringjson_key,
const grpc::stringscope,
long token_lifetime_seconds 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
std::shared_ptr< Credentials > grpc::ServiceAccountJWTAccessCredentials (const grpc::stringjson_key,
long token_lifetime_seconds 
)
+
+ +
+
+ +
+
+ + + + + + + + +
std::shared_ptr< Credentials > grpc::SslCredentials (const SslCredentialsOptions & options)
+
+ +
+
+ +
+
+ + + + + + + + +
std::shared_ptr< ServerCredentials > grpc::SslServerCredentials (const SslServerCredentialsOptions & options)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void grpc::Timepoint2Timespec (const system_clock::time_point & from,
gpr_timespec * to 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void grpc::Timepoint2Timespec (const std::chrono::system_clock::time_point & from,
gpr_timespec * to 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void grpc::TimepointHR2Timespec (const high_resolution_clock::time_point & from,
gpr_timespec * to 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void grpc::TimepointHR2Timespec (const std::chrono::high_resolution_clock::time_point & from,
gpr_timespec * to 
)
+
+ +
+
+ +
+
+ + + + + + + + +
system_clock::time_point grpc::Timespec2Timepoint (gpr_timespec t)
+
+ +
+
+
+ + + + diff --git a/doc/ref/c++.internal/html/namespacegrpc_1_1_call_op_generic_recv_message_helper.html b/doc/ref/c++.internal/html/namespacegrpc_1_1_call_op_generic_recv_message_helper.html new file mode 100644 index 0000000000..109015b2a9 --- /dev/null +++ b/doc/ref/c++.internal/html/namespacegrpc_1_1_call_op_generic_recv_message_helper.html @@ -0,0 +1,110 @@ + + + + + + +GRPC C++: grpc::CallOpGenericRecvMessageHelper Namespace Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc::CallOpGenericRecvMessageHelper Namespace Reference
+
+
+ + + + + + +

+Data Structures

class  DeserializeFunc
 
class  DeserializeFuncType
 
+
+ + + + diff --git a/doc/ref/c++.internal/html/namespacegrpc_1_1protobuf.html b/doc/ref/c++.internal/html/namespacegrpc_1_1protobuf.html new file mode 100644 index 0000000000..997ddce9d0 --- /dev/null +++ b/doc/ref/c++.internal/html/namespacegrpc_1_1protobuf.html @@ -0,0 +1,141 @@ + + + + + + +GRPC C++: grpc::protobuf Namespace Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc::protobuf Namespace Reference
+
+
+ + + + +

+Namespaces

 io
 
+ + + + + +

+Typedefs

typedef ::google::protobuf::Message Message
 
typedef ::google::protobuf::int64 int64
 
+

Typedef Documentation

+ +
+
+ + + + +
typedef ::google::protobuf::int64 grpc::protobuf::int64
+
+ +
+
+ +
+
+ + + + +
typedef ::google::protobuf::Message grpc::protobuf::Message
+
+ +
+
+
+ + + + diff --git a/doc/ref/c++.internal/html/namespacegrpc_1_1protobuf_1_1io.html b/doc/ref/c++.internal/html/namespacegrpc_1_1protobuf_1_1io.html new file mode 100644 index 0000000000..eac3b5ce49 --- /dev/null +++ b/doc/ref/c++.internal/html/namespacegrpc_1_1protobuf_1_1io.html @@ -0,0 +1,152 @@ + + + + + + +GRPC C++: grpc::protobuf::io Namespace Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc::protobuf::io Namespace Reference
+
+
+ + + + + + + + +

+Typedefs

typedef
+::google::protobuf::io::ZeroCopyOutputStream 
ZeroCopyOutputStream
 
typedef
+::google::protobuf::io::ZeroCopyInputStream 
ZeroCopyInputStream
 
typedef
+::google::protobuf::io::CodedInputStream 
CodedInputStream
 
+

Typedef Documentation

+ +
+
+ + + + +
typedef ::google::protobuf::io::CodedInputStream grpc::protobuf::io::CodedInputStream
+
+ +
+
+ +
+
+ + + + +
typedef ::google::protobuf::io::ZeroCopyInputStream grpc::protobuf::io::ZeroCopyInputStream
+
+ +
+
+ +
+
+ + + + +
typedef ::google::protobuf::io::ZeroCopyOutputStream grpc::protobuf::io::ZeroCopyOutputStream
+
+ +
+
+
+ + + + diff --git a/doc/ref/c++.internal/html/namespacegrpc_1_1testing.html b/doc/ref/c++.internal/html/namespacegrpc_1_1testing.html new file mode 100644 index 0000000000..12c82cb3f1 --- /dev/null +++ b/doc/ref/c++.internal/html/namespacegrpc_1_1testing.html @@ -0,0 +1,100 @@ + + + + + + +GRPC C++: grpc::testing Namespace Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
grpc::testing Namespace Reference
+
+
+
+ + + + diff --git a/doc/ref/c++.internal/html/namespacemembers.html b/doc/ref/c++.internal/html/namespacemembers.html new file mode 100644 index 0000000000..d638470f66 --- /dev/null +++ b/doc/ref/c++.internal/html/namespacemembers.html @@ -0,0 +1,338 @@ + + + + + + +GRPC C++: Namespace Members + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+
Here is a list of all namespace members with links to the namespace documentation for each member:
+ +

- a -

    +
  • ABORTED +: grpc +
  • +
  • AccessTokenCredentials() +: grpc +
  • +
  • ALREADY_EXISTS +: grpc +
  • +
  • AuthProperty +: grpc +
  • +
+ + +

- b -

    +
  • BlockingUnaryCall() +: grpc +
  • +
+ + +

- c -

    +
  • CANCELLED +: grpc +
  • +
  • CodedInputStream +: grpc::protobuf::io +
  • +
  • CompositeCredentials() +: grpc +
  • +
  • ComputeEngineCredentials() +: grpc +
  • +
  • CreateAuthContext() +: grpc +
  • +
  • CreateChannel() +: grpc +
  • +
  • CreateDefaultThreadPool() +: grpc +
  • +
+ + +

- d -

    +
  • DATA_LOSS +: grpc +
  • +
  • DEADLINE_EXCEEDED +: grpc +
  • +
  • DeserializeProto() +: grpc +
  • +
  • DO_NOT_USE +: grpc +
  • +
+ + +

- f -

    +
  • FAILED_PRECONDITION +: grpc +
  • +
  • FillMetadataArray() +: grpc +
  • +
  • FillMetadataMap() +: grpc +
  • +
+ + +

- g -

    +
  • GenericClientAsyncReaderWriter +: grpc +
  • +
  • GenericServerAsyncReaderWriter +: grpc +
  • +
  • GoogleDefaultCredentials() +: grpc +
  • +
+ + +

- i -

    +
  • IAMCredentials() +: grpc +
  • +
  • InsecureCredentials() +: grpc +
  • +
  • InsecureServerCredentials() +: grpc +
  • +
  • int64 +: grpc::protobuf +
  • +
  • INTERNAL +: grpc +
  • +
  • INVALID_ARGUMENT +: grpc +
  • +
+ + +

- m -

+ + +

- n -

    +
  • NOT_FOUND +: grpc +
  • +
+ + +

- o -

    +
  • OK +: grpc +
  • +
  • OUT_OF_RANGE +: grpc +
  • +
+ + +

- p -

    +
  • PERMISSION_DENIED +: grpc +
  • +
+ + +

- r -

    +
  • RefreshTokenCredentials() +: grpc +
  • +
  • RESOURCE_EXHAUSTED +: grpc +
  • +
+ + +

- s -

    +
  • SerializeProto() +: grpc +
  • +
  • ServiceAccountCredentials() +: grpc +
  • +
  • ServiceAccountJWTAccessCredentials() +: grpc +
  • +
  • SslCredentials() +: grpc +
  • +
  • SslServerCredentials() +: grpc +
  • +
  • StatusCode +: grpc +
  • +
  • string +: grpc +
  • +
+ + +

- t -

    +
  • Timepoint2Timespec() +: grpc +
  • +
  • TimepointHR2Timespec() +: grpc +
  • +
  • Timespec2Timepoint() +: grpc +
  • +
+ + +

- u -

    +
  • UNAUTHENTICATED +: grpc +
  • +
  • UNAVAILABLE +: grpc +
  • +
  • UNIMPLEMENTED +: grpc +
  • +
  • UNKNOWN +: grpc +
  • +
+ + +

- z -

+
+ + + + diff --git a/doc/ref/c++.internal/html/namespacemembers_enum.html b/doc/ref/c++.internal/html/namespacemembers_enum.html new file mode 100644 index 0000000000..36d6977280 --- /dev/null +++ b/doc/ref/c++.internal/html/namespacemembers_enum.html @@ -0,0 +1,106 @@ + + + + + + +GRPC C++: Namespace Members + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + +
+ + + + +
+ +
+ +
    +
  • StatusCode +: grpc +
  • +
+
+ + + + diff --git a/doc/ref/c++.internal/html/namespacemembers_eval.html b/doc/ref/c++.internal/html/namespacemembers_eval.html new file mode 100644 index 0000000000..58e23f13eb --- /dev/null +++ b/doc/ref/c++.internal/html/namespacemembers_eval.html @@ -0,0 +1,157 @@ + + + + + + +GRPC C++: Namespace Members + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + +
+ + + + +
+ +
+ +
    +
  • ABORTED +: grpc +
  • +
  • ALREADY_EXISTS +: grpc +
  • +
  • CANCELLED +: grpc +
  • +
  • DATA_LOSS +: grpc +
  • +
  • DEADLINE_EXCEEDED +: grpc +
  • +
  • DO_NOT_USE +: grpc +
  • +
  • FAILED_PRECONDITION +: grpc +
  • +
  • INTERNAL +: grpc +
  • +
  • INVALID_ARGUMENT +: grpc +
  • +
  • NOT_FOUND +: grpc +
  • +
  • OK +: grpc +
  • +
  • OUT_OF_RANGE +: grpc +
  • +
  • PERMISSION_DENIED +: grpc +
  • +
  • RESOURCE_EXHAUSTED +: grpc +
  • +
  • UNAUTHENTICATED +: grpc +
  • +
  • UNAVAILABLE +: grpc +
  • +
  • UNIMPLEMENTED +: grpc +
  • +
  • UNKNOWN +: grpc +
  • +
+
+ + + + diff --git a/doc/ref/c++.internal/html/namespacemembers_func.html b/doc/ref/c++.internal/html/namespacemembers_func.html new file mode 100644 index 0000000000..cfe40e554b --- /dev/null +++ b/doc/ref/c++.internal/html/namespacemembers_func.html @@ -0,0 +1,172 @@ + + + + + + +GRPC C++: Namespace Members + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + +
+ + + + +
+ +
+ +
    +
  • AccessTokenCredentials() +: grpc +
  • +
  • BlockingUnaryCall() +: grpc +
  • +
  • CompositeCredentials() +: grpc +
  • +
  • ComputeEngineCredentials() +: grpc +
  • +
  • CreateAuthContext() +: grpc +
  • +
  • CreateChannel() +: grpc +
  • +
  • CreateDefaultThreadPool() +: grpc +
  • +
  • DeserializeProto() +: grpc +
  • +
  • FillMetadataArray() +: grpc +
  • +
  • FillMetadataMap() +: grpc +
  • +
  • GoogleDefaultCredentials() +: grpc +
  • +
  • IAMCredentials() +: grpc +
  • +
  • InsecureCredentials() +: grpc +
  • +
  • InsecureServerCredentials() +: grpc +
  • +
  • RefreshTokenCredentials() +: grpc +
  • +
  • SerializeProto() +: grpc +
  • +
  • ServiceAccountCredentials() +: grpc +
  • +
  • ServiceAccountJWTAccessCredentials() +: grpc +
  • +
  • SslCredentials() +: grpc +
  • +
  • SslServerCredentials() +: grpc +
  • +
  • Timepoint2Timespec() +: grpc +
  • +
  • TimepointHR2Timespec() +: grpc +
  • +
  • Timespec2Timepoint() +: grpc +
  • +
+
+ + + + diff --git a/doc/ref/c++.internal/html/namespacemembers_type.html b/doc/ref/c++.internal/html/namespacemembers_type.html new file mode 100644 index 0000000000..014235b5d9 --- /dev/null +++ b/doc/ref/c++.internal/html/namespacemembers_type.html @@ -0,0 +1,130 @@ + + + + + + +GRPC C++: Namespace Members + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + +
+ + + + +
+ +
+ +
+
+ + + + diff --git a/doc/ref/c++.internal/html/namespaces.html b/doc/ref/c++.internal/html/namespaces.html new file mode 100644 index 0000000000..8509a469b9 --- /dev/null +++ b/doc/ref/c++.internal/html/namespaces.html @@ -0,0 +1,105 @@ + + + + + + +GRPC C++: Namespace List + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + +
+ + + + +
+ +
+ +
+
+
Namespace List
+
+
+
Here is a list of all namespaces with brief descriptions:
+
[detail level 123]
+ + + + + +
\Ngrpc
 oNCallOpGenericRecvMessageHelper
 oNprotobuf
 |\Nio
 \Ntesting
+
+
+ + + + diff --git a/doc/ref/c++.internal/html/nav_f.png b/doc/ref/c++.internal/html/nav_f.png new file mode 100644 index 0000000000..72a58a529e Binary files /dev/null and b/doc/ref/c++.internal/html/nav_f.png differ diff --git a/doc/ref/c++.internal/html/nav_g.png b/doc/ref/c++.internal/html/nav_g.png new file mode 100644 index 0000000000..2093a237a9 Binary files /dev/null and b/doc/ref/c++.internal/html/nav_g.png differ diff --git a/doc/ref/c++.internal/html/nav_h.png b/doc/ref/c++.internal/html/nav_h.png new file mode 100644 index 0000000000..33389b101d Binary files /dev/null and b/doc/ref/c++.internal/html/nav_h.png differ diff --git a/doc/ref/c++.internal/html/open.png b/doc/ref/c++.internal/html/open.png new file mode 100644 index 0000000000..30f75c7efe Binary files /dev/null and b/doc/ref/c++.internal/html/open.png differ diff --git a/doc/ref/c++.internal/html/proto__utils_8cc.html b/doc/ref/c++.internal/html/proto__utils_8cc.html new file mode 100644 index 0000000000..8f1239d8e0 --- /dev/null +++ b/doc/ref/c++.internal/html/proto__utils_8cc.html @@ -0,0 +1,151 @@ + + + + + + +GRPC C++: src/cpp/proto/proto_utils.cc File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
proto_utils.cc File Reference
+
+
+
#include <grpc++/impl/proto_utils.h>
+#include <grpc++/config.h>
+#include <grpc/grpc.h>
+#include <grpc/byte_buffer.h>
+#include <grpc/byte_buffer_reader.h>
+#include <grpc/support/slice.h>
+#include <grpc/support/slice_buffer.h>
+#include <grpc/support/port_platform.h>
+
+ + + + + +

+Data Structures

class  GrpcBufferWriter
 
class  GrpcBufferReader
 
+ + + +

+Namespaces

 grpc
 
+ + + + + +

+Functions

Status grpc::SerializeProto (const grpc::protobuf::Message &msg, grpc_byte_buffer **buffer)
 
Status grpc::DeserializeProto (grpc_byte_buffer *buffer, grpc::protobuf::Message *msg, int max_message_size)
 
+ + + +

+Variables

const int kMaxBufferLength = 8192
 
+

Variable Documentation

+ +
+
+ + + + +
const int kMaxBufferLength = 8192
+
+ +
+
+
+ + + + diff --git a/doc/ref/c++.internal/html/proto__utils_8h.html b/doc/ref/c++.internal/html/proto__utils_8h.html new file mode 100644 index 0000000000..2df98856c6 --- /dev/null +++ b/doc/ref/c++.internal/html/proto__utils_8h.html @@ -0,0 +1,129 @@ + + + + + + +GRPC C++: include/grpc++/impl/proto_utils.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
proto_utils.h File Reference
+
+
+
#include <type_traits>
+#include <grpc/grpc.h>
+#include <grpc++/impl/serialization_traits.h>
+#include <grpc++/config_protobuf.h>
+#include <grpc++/status.h>
+
+

Go to the source code of this file.

+ + + + +

+Data Structures

class  grpc::SerializationTraits< T, typename std::enable_if< std::is_base_of< grpc::protobuf::Message, T >::value >::type >
 
+ + + +

+Namespaces

 grpc
 
+ + + + + +

+Functions

Status grpc::SerializeProto (const grpc::protobuf::Message &msg, grpc_byte_buffer **buffer)
 
Status grpc::DeserializeProto (grpc_byte_buffer *buffer, grpc::protobuf::Message *msg, int max_message_size)
 
+
+ + + + diff --git a/doc/ref/c++.internal/html/proto__utils_8h_source.html b/doc/ref/c++.internal/html/proto__utils_8h_source.html new file mode 100644 index 0000000000..e4c79af491 --- /dev/null +++ b/doc/ref/c++.internal/html/proto__utils_8h_source.html @@ -0,0 +1,186 @@ + + + + + + +GRPC C++: include/grpc++/impl/proto_utils.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
proto_utils.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPC_INTERNAL_CPP_PROTO_PROTO_UTILS_H
+
35 #define GRPC_INTERNAL_CPP_PROTO_PROTO_UTILS_H
+
36 
+
37 #include <type_traits>
+
38 
+
39 #include <grpc/grpc.h>
+ +
41 #include <grpc++/config_protobuf.h>
+
42 #include <grpc++/status.h>
+
43 
+
44 namespace grpc {
+
45 
+
46 // Serialize the msg into a buffer created inside the function. The caller
+
47 // should destroy the returned buffer when done with it. If serialization fails,
+
48 // false is returned and buffer is left unchanged.
+
49 Status SerializeProto(const grpc::protobuf::Message& msg,
+
50  grpc_byte_buffer** buffer);
+
51 
+
52 // The caller keeps ownership of buffer and msg.
+
53 Status DeserializeProto(grpc_byte_buffer* buffer, grpc::protobuf::Message* msg,
+
54  int max_message_size);
+
55 
+
56 template <class T>
+
57 class SerializationTraits<T, typename std::enable_if<std::is_base_of<
+
58  grpc::protobuf::Message, T>::value>::type> {
+
59  public:
+ +
61  grpc_byte_buffer** buffer, bool* own_buffer) {
+
62  *own_buffer = true;
+
63  return SerializeProto(msg, buffer);
+
64  }
+
65  static Status Deserialize(grpc_byte_buffer* buffer,
+ +
67  int max_message_size) {
+
68  auto status = DeserializeProto(buffer, msg, max_message_size);
+
69  grpc_byte_buffer_destroy(buffer);
+
70  return status;
+
71  }
+
72 };
+
73 
+
74 } // namespace grpc
+
75 
+
76 #endif // GRPC_INTERNAL_CPP_PROTO_PROTO_UTILS_H
+
static Status Serialize(const grpc::protobuf::Message &msg, grpc_byte_buffer **buffer, bool *own_buffer)
Definition: proto_utils.h:60
+
static Status Deserialize(grpc_byte_buffer *buffer, grpc::protobuf::Message *msg, int max_message_size)
Definition: proto_utils.h:65
+ +
Status DeserializeProto(grpc_byte_buffer *buffer, grpc::protobuf::Message *msg, int max_message_size)
Definition: proto_utils.cc:165
+
Defines how to serialize and deserialize some type.
Definition: serialization_traits.h:64
+
Status SerializeProto(const grpc::protobuf::Message &msg, grpc_byte_buffer **buffer)
Definition: proto_utils.cc:157
+ + +
Definition: status.h:42
+
::google::protobuf::Message Message
Definition: config_protobuf.h:60
+
+ + + + diff --git a/doc/ref/c++.internal/html/rpc__method_8cc.html b/doc/ref/c++.internal/html/rpc__method_8cc.html new file mode 100644 index 0000000000..23a9dbb084 --- /dev/null +++ b/doc/ref/c++.internal/html/rpc__method_8cc.html @@ -0,0 +1,109 @@ + + + + + + +GRPC C++: src/cpp/common/rpc_method.cc File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
rpc_method.cc File Reference
+
+
+ + + + +

+Namespaces

 grpc
 
+
+ + + + diff --git a/doc/ref/c++.internal/html/rpc__method_8h.html b/doc/ref/c++.internal/html/rpc__method_8h.html new file mode 100644 index 0000000000..897aac4f01 --- /dev/null +++ b/doc/ref/c++.internal/html/rpc__method_8h.html @@ -0,0 +1,116 @@ + + + + + + +GRPC C++: include/grpc++/impl/rpc_method.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
rpc_method.h File Reference
+
+
+ +

Go to the source code of this file.

+ + + + +

+Data Structures

class  grpc::RpcMethod
 
+ + + +

+Namespaces

 grpc
 
+
+ + + + diff --git a/doc/ref/c++.internal/html/rpc__method_8h_source.html b/doc/ref/c++.internal/html/rpc__method_8h_source.html new file mode 100644 index 0000000000..0b65c49e7f --- /dev/null +++ b/doc/ref/c++.internal/html/rpc__method_8h_source.html @@ -0,0 +1,173 @@ + + + + + + +GRPC C++: include/grpc++/impl/rpc_method.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
rpc_method.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPCXX_IMPL_RPC_METHOD_H
+
35 #define GRPCXX_IMPL_RPC_METHOD_H
+
36 
+
37 namespace grpc {
+
38 
+
39 class RpcMethod {
+
40  public:
+
41  enum RpcType {
+ +
43  CLIENT_STREAMING, // request streaming
+
44  SERVER_STREAMING, // response streaming
+ +
46  };
+
47 
+
48  RpcMethod(const char* name, RpcType type, void* channel_tag)
+
49  : name_(name), method_type_(type), channel_tag_(channel_tag) {}
+
50 
+
51  const char* name() const { return name_; }
+
52  RpcType method_type() const { return method_type_; }
+
53  void* channel_tag() const { return channel_tag_; }
+
54 
+
55  private:
+
56  const char* const name_;
+
57  const RpcType method_type_;
+
58  void* const channel_tag_;
+
59 };
+
60 
+
61 } // namespace grpc
+
62 
+
63 #endif // GRPCXX_IMPL_RPC_METHOD_H
+
Definition: rpc_method.h:44
+
RpcType
Definition: rpc_method.h:41
+
RpcMethod(const char *name, RpcType type, void *channel_tag)
Definition: rpc_method.h:48
+
RpcType method_type() const
Definition: rpc_method.h:52
+
Definition: rpc_method.h:43
+
void * channel_tag() const
Definition: rpc_method.h:53
+
Definition: rpc_method.h:39
+
Definition: rpc_method.h:45
+
Definition: rpc_method.h:42
+
const char * name() const
Definition: rpc_method.h:51
+
+ + + + diff --git a/doc/ref/c++.internal/html/rpc__service__method_8h.html b/doc/ref/c++.internal/html/rpc__service__method_8h.html new file mode 100644 index 0000000000..6201314ca9 --- /dev/null +++ b/doc/ref/c++.internal/html/rpc__service__method_8h.html @@ -0,0 +1,138 @@ + + + + + + +GRPC C++: include/grpc++/impl/rpc_service_method.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
rpc_service_method.h File Reference
+
+ + + + + diff --git a/doc/ref/c++.internal/html/rpc__service__method_8h_source.html b/doc/ref/c++.internal/html/rpc__service__method_8h_source.html new file mode 100644 index 0000000000..df32c2ce9a --- /dev/null +++ b/doc/ref/c++.internal/html/rpc__service__method_8h_source.html @@ -0,0 +1,386 @@ + + + + + + +GRPC C++: include/grpc++/impl/rpc_service_method.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
rpc_service_method.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPCXX_IMPL_RPC_SERVICE_METHOD_H
+
35 #define GRPCXX_IMPL_RPC_SERVICE_METHOD_H
+
36 
+
37 #include <functional>
+
38 #include <map>
+
39 #include <memory>
+
40 #include <vector>
+
41 
+
42 #include <grpc++/config.h>
+
43 #include <grpc++/impl/rpc_method.h>
+
44 #include <grpc++/status.h>
+
45 #include <grpc++/stream.h>
+
46 
+
47 namespace grpc {
+
48 class ServerContext;
+
49 class StreamContextInterface;
+
50 
+
51 // TODO(rocking): we might need to split this file into multiple ones.
+
52 
+
53 // Base class for running an RPC handler.
+ +
55  public:
+
56  virtual ~MethodHandler() {}
+ +
58  HandlerParameter(Call* c, ServerContext* context, grpc_byte_buffer* req,
+
59  int max_size)
+
60  : call(c),
+
61  server_context(context),
+
62  request(req),
+
63  max_message_size(max_size) {}
+ + +
66  // Handler required to grpc_byte_buffer_destroy this
+
67  grpc_byte_buffer* request;
+ +
69  };
+
70  virtual void RunHandler(const HandlerParameter& param) = 0;
+
71 };
+
72 
+
73 // A wrapper class of an application provided rpc method handler.
+
74 template <class ServiceType, class RequestType, class ResponseType>
+
75 class RpcMethodHandler : public MethodHandler {
+
76  public:
+ +
78  std::function<Status(ServiceType*, ServerContext*, const RequestType*,
+
79  ResponseType*)> func,
+
80  ServiceType* service)
+
81  : func_(func), service_(service) {}
+
82 
+
83  void RunHandler(const HandlerParameter& param) GRPC_FINAL {
+
84  RequestType req;
+ +
86  param.request, &req, param.max_message_size);
+
87  ResponseType rsp;
+
88  if (status.ok()) {
+
89  status = func_(service_, param.server_context, &req, &rsp);
+
90  }
+
91 
+
92  GPR_ASSERT(!param.server_context->sent_initial_metadata_);
+ + +
95  ops.SendInitialMetadata(param.server_context->initial_metadata_);
+
96  if (status.ok()) {
+
97  status = ops.SendMessage(rsp);
+
98  }
+
99  ops.ServerSendStatus(param.server_context->trailing_metadata_, status);
+
100  param.call->PerformOps(&ops);
+
101  param.call->cq()->Pluck(&ops);
+
102  }
+
103 
+
104  private:
+
105  // Application provided rpc handler function.
+
106  std::function<Status(ServiceType*, ServerContext*, const RequestType*,
+
107  ResponseType*)> func_;
+
108  // The class the above handler function lives in.
+
109  ServiceType* service_;
+
110 };
+
111 
+
112 // A wrapper class of an application provided client streaming handler.
+
113 template <class ServiceType, class RequestType, class ResponseType>
+
114 class ClientStreamingHandler : public MethodHandler {
+
115  public:
+ +
117  std::function<Status(ServiceType*, ServerContext*,
+
118  ServerReader<RequestType>*, ResponseType*)> func,
+
119  ServiceType* service)
+
120  : func_(func), service_(service) {}
+
121 
+ +
123  ServerReader<RequestType> reader(param.call, param.server_context);
+
124  ResponseType rsp;
+
125  Status status = func_(service_, param.server_context, &reader, &rsp);
+
126 
+
127  GPR_ASSERT(!param.server_context->sent_initial_metadata_);
+ + +
130  ops.SendInitialMetadata(param.server_context->initial_metadata_);
+
131  if (status.ok()) {
+
132  status = ops.SendMessage(rsp);
+
133  }
+
134  ops.ServerSendStatus(param.server_context->trailing_metadata_, status);
+
135  param.call->PerformOps(&ops);
+
136  param.call->cq()->Pluck(&ops);
+
137  }
+
138 
+
139  private:
+
140  std::function<Status(ServiceType*, ServerContext*, ServerReader<RequestType>*,
+
141  ResponseType*)> func_;
+
142  ServiceType* service_;
+
143 };
+
144 
+
145 // A wrapper class of an application provided server streaming handler.
+
146 template <class ServiceType, class RequestType, class ResponseType>
+
147 class ServerStreamingHandler : public MethodHandler {
+
148  public:
+ +
150  std::function<Status(ServiceType*, ServerContext*, const RequestType*,
+ +
152  ServiceType* service)
+
153  : func_(func), service_(service) {}
+
154 
+ +
156  RequestType req;
+ +
158  param.request, &req, param.max_message_size);
+
159 
+
160  if (status.ok()) {
+
161  ServerWriter<ResponseType> writer(param.call, param.server_context);
+
162  status = func_(service_, param.server_context, &req, &writer);
+
163  }
+
164 
+ +
166  if (!param.server_context->sent_initial_metadata_) {
+
167  ops.SendInitialMetadata(param.server_context->initial_metadata_);
+
168  }
+
169  ops.ServerSendStatus(param.server_context->trailing_metadata_, status);
+
170  param.call->PerformOps(&ops);
+
171  param.call->cq()->Pluck(&ops);
+
172  }
+
173 
+
174  private:
+
175  std::function<Status(ServiceType*, ServerContext*, const RequestType*,
+ +
177  ServiceType* service_;
+
178 };
+
179 
+
180 // A wrapper class of an application provided bidi-streaming handler.
+
181 template <class ServiceType, class RequestType, class ResponseType>
+
182 class BidiStreamingHandler : public MethodHandler {
+
183  public:
+ +
185  std::function<Status(ServiceType*, ServerContext*,
+ +
187  func,
+
188  ServiceType* service)
+
189  : func_(func), service_(service) {}
+
190 
+ + +
193  param.server_context);
+
194  Status status = func_(service_, param.server_context, &stream);
+
195 
+ +
197  if (!param.server_context->sent_initial_metadata_) {
+
198  ops.SendInitialMetadata(param.server_context->initial_metadata_);
+
199  }
+
200  ops.ServerSendStatus(param.server_context->trailing_metadata_, status);
+
201  param.call->PerformOps(&ops);
+
202  param.call->cq()->Pluck(&ops);
+
203  }
+
204 
+
205  private:
+
206  std::function<Status(ServiceType*, ServerContext*,
+ +
208  ServiceType* service_;
+
209 };
+
210 
+
211 // Server side rpc method class
+
212 class RpcServiceMethod : public RpcMethod {
+
213  public:
+
214  // Takes ownership of the handler
+ + +
217  : RpcMethod(name, type, nullptr), handler_(handler) {}
+
218 
+
219  MethodHandler* handler() { return handler_.get(); }
+
220 
+
221  private:
+
222  std::unique_ptr<MethodHandler> handler_;
+
223 };
+
224 
+
225 // This class contains all the method information for an rpc service. It is
+
226 // used for registering a service on a grpc server.
+
227 class RpcService {
+
228  public:
+
229  // Takes ownership.
+
230  void AddMethod(RpcServiceMethod* method) { methods_.emplace_back(method); }
+
231 
+
232  RpcServiceMethod* GetMethod(int i) { return methods_[i].get(); }
+
233  int GetMethodCount() const { return methods_.size(); }
+
234 
+
235  private:
+
236  std::vector<std::unique_ptr<RpcServiceMethod>> methods_;
+
237 };
+
238 
+
239 } // namespace grpc
+
240 
+
241 #endif // GRPCXX_IMPL_RPC_SERVICE_METHOD_H
+
Definition: rpc_service_method.h:54
+
void AddMethod(RpcServiceMethod *method)
Definition: rpc_service_method.h:230
+
RpcServiceMethod * GetMethod(int i)
Definition: rpc_service_method.h:232
+
ClientStreamingHandler(std::function< Status(ServiceType *, ServerContext *, ServerReader< RequestType > *, ResponseType *)> func, ServiceType *service)
Definition: rpc_service_method.h:116
+
ServerStreamingHandler(std::function< Status(ServiceType *, ServerContext *, const RequestType *, ServerWriter< ResponseType > *)> func, ServiceType *service)
Definition: rpc_service_method.h:149
+
int max_message_size
Definition: rpc_service_method.h:68
+ +
ServerContext * server_context
Definition: rpc_service_method.h:65
+
RpcType
Definition: rpc_method.h:41
+
Call * call
Definition: rpc_service_method.h:64
+
void RunHandler(const HandlerParameter &param)
Definition: rpc_service_method.h:155
+
Definition: call.h:360
+
#define GRPC_FINAL
Definition: config.h:71
+
void RunHandler(const HandlerParameter &param)
Definition: rpc_service_method.h:122
+ +
Definition: completion_queue.h:53
+
Definition: rpc_service_method.h:212
+
Defines how to serialize and deserialize some type.
Definition: serialization_traits.h:64
+
Definition: call.h:190
+
Definition: rpc_service_method.h:227
+
virtual void RunHandler(const HandlerParameter &param)=0
+
void RunHandler(const HandlerParameter &param)
Definition: rpc_service_method.h:191
+
Definition: call.h:565
+
Definition: completion_queue.h:59
+
RpcMethodHandler(std::function< Status(ServiceType *, ServerContext *, const RequestType *, ResponseType *)> func, ServiceType *service)
Definition: rpc_service_method.h:77
+
virtual ~MethodHandler()
Definition: rpc_service_method.h:56
+
Primary implementaiton of CallOpSetInterface.
Definition: call.h:506
+
Definition: server_context.h:86
+
void RunHandler(const HandlerParameter &param)
Definition: rpc_service_method.h:83
+
Definition: completion_queue.h:55
+ +
Definition: rpc_method.h:39
+
BidiStreamingHandler(std::function< Status(ServiceType *, ServerContext *, ServerReaderWriter< ResponseType, RequestType > *)> func, ServiceType *service)
Definition: rpc_service_method.h:184
+ +
Definition: completion_queue.h:57
+
bool ok() const
Definition: status.h:55
+
Definition: rpc_service_method.h:57
+
Definition: status.h:42
+
Definition: call.h:159
+
HandlerParameter(Call *c, ServerContext *context, grpc_byte_buffer *req, int max_size)
Definition: rpc_service_method.h:58
+
const char * name() const
Definition: rpc_method.h:51
+
MethodHandler * handler()
Definition: rpc_service_method.h:219
+
int GetMethodCount() const
Definition: rpc_service_method.h:233
+
grpc_byte_buffer * request
Definition: rpc_service_method.h:67
+
RpcServiceMethod(const char *name, RpcMethod::RpcType type, MethodHandler *handler)
Definition: rpc_service_method.h:215
+
+ + + + diff --git a/doc/ref/c++.internal/html/search/all_0.html b/doc/ref/c++.internal/html/search/all_0.html new file mode 100644 index 0000000000..17b6da85df --- /dev/null +++ b/doc/ref/c++.internal/html/search/all_0.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++.internal/html/search/all_0.js b/doc/ref/c++.internal/html/search/all_0.js new file mode 100644 index 0000000000..0dd29abe92 --- /dev/null +++ b/doc/ref/c++.internal/html/search/all_0.js @@ -0,0 +1,20 @@ +var searchData= +[ + ['clientasyncreader',['ClientAsyncReader',['../classgrpc_1_1_client_context.html#af5343062a44a5633b144751e59969237',1,'grpc::ClientContext']]], + ['clientasyncreaderwriter',['ClientAsyncReaderWriter',['../classgrpc_1_1_client_context.html#a5c0c96957129933bfe94a299c764eaa7',1,'grpc::ClientContext']]], + ['clientasyncresponsereader',['ClientAsyncResponseReader',['../classgrpc_1_1_client_context.html#a4b00162a9bd86e07669f2af67f85c73a',1,'grpc::ClientContext']]], + ['clientasyncwriter',['ClientAsyncWriter',['../classgrpc_1_1_client_context.html#af3547958eadfaeb18692865bd73999ad',1,'grpc::ClientContext']]], + ['clientreader',['ClientReader',['../classgrpc_1_1_client_context.html#ade499098cc91745c1c87147d7a7fb7bf',1,'grpc::ClientContext::ClientReader()'],['../classgrpc_1_1_completion_queue.html#ade499098cc91745c1c87147d7a7fb7bf',1,'grpc::CompletionQueue::ClientReader()']]], + ['clientreaderwriter',['ClientReaderWriter',['../classgrpc_1_1_client_context.html#a6d5659aa24edba057895be774e2752ec',1,'grpc::ClientContext::ClientReaderWriter()'],['../classgrpc_1_1_completion_queue.html#a6d5659aa24edba057895be774e2752ec',1,'grpc::CompletionQueue::ClientReaderWriter()']]], + ['clientwriter',['ClientWriter',['../classgrpc_1_1_client_context.html#a4498fada67d531d99a8642f47d746544',1,'grpc::ClientContext::ClientWriter()'],['../classgrpc_1_1_completion_queue.html#a4498fada67d531d99a8642f47d746544',1,'grpc::CompletionQueue::ClientWriter()']]], + ['interopcontextinspector',['InteropContextInspector',['../classgrpc_1_1_server_context.html#a54fd90aaca3685b127354412368eb1c6',1,'grpc::ServerContext']]], + ['server',['Server',['../classgrpc_1_1_completion_queue.html#a8c3fa4c066981aae114e41c3f9340144',1,'grpc::CompletionQueue::Server()'],['../classgrpc_1_1_server_context.html#a8c3fa4c066981aae114e41c3f9340144',1,'grpc::ServerContext::Server()'],['../classgrpc_1_1_server_credentials.html#a8c3fa4c066981aae114e41c3f9340144',1,'grpc::ServerCredentials::Server()']]], + ['serverasyncreader',['ServerAsyncReader',['../classgrpc_1_1_server_context.html#a774bb57486686958c67f29072de768ed',1,'grpc::ServerContext']]], + ['serverasyncreaderwriter',['ServerAsyncReaderWriter',['../classgrpc_1_1_server_context.html#a85f3f3dc5b92690c676b86571be20684',1,'grpc::ServerContext']]], + ['serverasyncresponsewriter',['ServerAsyncResponseWriter',['../classgrpc_1_1_server_context.html#a2c679b602d120c70a6713fe742704b4e',1,'grpc::ServerContext']]], + ['serverasyncwriter',['ServerAsyncWriter',['../classgrpc_1_1_server_context.html#a6068d9e3369a1016e7b75350b80f4f45',1,'grpc::ServerContext']]], + ['servercontext',['ServerContext',['../classgrpc_1_1_completion_queue.html#a6c5b4f4c66d254f341915982a17aac95',1,'grpc::CompletionQueue']]], + ['serverreader',['ServerReader',['../classgrpc_1_1_completion_queue.html#a4f20e2d049342ae00242bbc8021a44bd',1,'grpc::CompletionQueue::ServerReader()'],['../classgrpc_1_1_server_context.html#a4f20e2d049342ae00242bbc8021a44bd',1,'grpc::ServerContext::ServerReader()']]], + ['serverreaderwriter',['ServerReaderWriter',['../classgrpc_1_1_completion_queue.html#a8c0a0d64c582a952c8f16d8eac71c677',1,'grpc::CompletionQueue::ServerReaderWriter()'],['../classgrpc_1_1_server_context.html#a8c0a0d64c582a952c8f16d8eac71c677',1,'grpc::ServerContext::ServerReaderWriter()']]], + ['serverwriter',['ServerWriter',['../classgrpc_1_1_completion_queue.html#a2f2dfa831a62c43ad5647a45080488e3',1,'grpc::CompletionQueue::ServerWriter()'],['../classgrpc_1_1_server_context.html#a2f2dfa831a62c43ad5647a45080488e3',1,'grpc::ServerContext::ServerWriter()']]] +]; diff --git a/doc/ref/c++.internal/html/search/all_1.html b/doc/ref/c++.internal/html/search/all_1.html new file mode 100644 index 0000000000..e2906449f2 --- /dev/null +++ b/doc/ref/c++.internal/html/search/all_1.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++.internal/html/search/all_1.js b/doc/ref/c++.internal/html/search/all_1.js new file mode 100644 index 0000000000..d3f5877dda --- /dev/null +++ b/doc/ref/c++.internal/html/search/all_1.js @@ -0,0 +1,37 @@ +var searchData= +[ + ['aborted',['ABORTED',['../namespacegrpc.html#aff1730578c90160528f6a8d67ef5c43ba8387a7175771975bee404def25236b0c',1,'grpc']]], + ['accesstokencredentials',['AccessTokenCredentials',['../namespacegrpc.html#a5d4b5b51b066fe0d578d7eb8dd859e84',1,'grpc']]], + ['add',['Add',['../classgrpc_1_1_dynamic_thread_pool.html#aea1cdc7989a2d6ab8fb1906428dbea30',1,'grpc::DynamicThreadPool::Add()'],['../classgrpc_1_1_fixed_size_thread_pool.html#ad7ee348722d8d120720032fae96d3026',1,'grpc::FixedSizeThreadPool::Add()'],['../classgrpc_1_1_thread_pool_interface.html#aac6d805cc95ff8e0c8e366102cdd4dce',1,'grpc::ThreadPoolInterface::Add()']]], + ['add_5fref',['ADD_REF',['../classgrpc_1_1_slice.html#ac1e8469bbb6dfa9ab9e646e0b48f5fe2a2ea965f79036dea69221557ec04580b2',1,'grpc::Slice']]], + ['addcompletionqueue',['AddCompletionQueue',['../classgrpc_1_1_server_builder.html#a92141556060fa1d07d1513383608fb1d',1,'grpc::ServerBuilder']]], + ['addinitialmetadata',['AddInitialMetadata',['../classgrpc_1_1_server_context.html#ae3371f0adf8521c7097eee437fc4ca4f',1,'grpc::ServerContext']]], + ['addlisteningport',['AddListeningPort',['../classgrpc_1_1_server_builder.html#a256e035e62b43cd79137abf7c066902a',1,'grpc::ServerBuilder']]], + ['addmetadata',['AddMetadata',['../classgrpc_1_1_client_context.html#a69a026f073ef5934697568d689440bd4',1,'grpc::ClientContext']]], + ['addmethod',['AddMethod',['../classgrpc_1_1_rpc_service.html#af2c7369056129ef2e6fde87f040ba578',1,'grpc::RpcService']]], + ['addop',['AddOp',['../classgrpc_1_1_call_no_op.html#a72c69197fb8ad18542e459bffbd8cbd8',1,'grpc::CallNoOp::AddOp()'],['../classgrpc_1_1_call_op_send_initial_metadata.html#ac57cf7a43da437b8b4556839f0403a77',1,'grpc::CallOpSendInitialMetadata::AddOp()'],['../classgrpc_1_1_call_op_send_message.html#a5d19fd3ab26c2b54868c9006f374728e',1,'grpc::CallOpSendMessage::AddOp()'],['../classgrpc_1_1_call_op_recv_message.html#a2d939fbfc75732244f389a5e2b97ab0a',1,'grpc::CallOpRecvMessage::AddOp()'],['../classgrpc_1_1_call_op_generic_recv_message.html#ac95faf8549212febce73cf6301238dfc',1,'grpc::CallOpGenericRecvMessage::AddOp()'],['../classgrpc_1_1_call_op_client_send_close.html#a4415b250cd6d5a82818ba159c272343a',1,'grpc::CallOpClientSendClose::AddOp()'],['../classgrpc_1_1_call_op_server_send_status.html#a7381b06ae0268853ebf9ed3b2737698b',1,'grpc::CallOpServerSendStatus::AddOp()'],['../classgrpc_1_1_call_op_recv_initial_metadata.html#a4f1684c4b023b4e2d348e53f80797f74',1,'grpc::CallOpRecvInitialMetadata::AddOp()'],['../classgrpc_1_1_call_op_client_recv_status.html#a12467c52794548c0022256c153ed7e62',1,'grpc::CallOpClientRecvStatus::AddOp()']]], + ['addporttoserver',['AddPortToServer',['../classgrpc_1_1_secure_server_credentials.html#aa32c2dc77540dfa81f0fd14ceb13fdc2',1,'grpc::SecureServerCredentials']]], + ['addref',['AddRef',['../classgrpc_1_1_slice.html#ac1e8469bbb6dfa9ab9e646e0b48f5fe2',1,'grpc::Slice']]], + ['addtrailingmetadata',['AddTrailingMetadata',['../classgrpc_1_1_server_context.html#ac30e12c4ee3ca008522b24157f4f886c',1,'grpc::ServerContext']]], + ['already_5fexists',['ALREADY_EXISTS',['../namespacegrpc.html#aff1730578c90160528f6a8d67ef5c43baf48ac5527afcabd618d8b86f2de45b9b',1,'grpc']]], + ['applytocall',['ApplyToCall',['../classgrpc_1_1_credentials.html#a2b3162e0dbb4530ac1c4b81a0339b1e1',1,'grpc::Credentials::ApplyToCall()'],['../classgrpc_1_1_secure_credentials.html#a31c8428461d6f8cc063fc27bc20e8111',1,'grpc::SecureCredentials::ApplyToCall()']]], + ['assecurecredentials',['AsSecureCredentials',['../classgrpc_1_1_credentials.html#aefc960d2b52b15f2561946e0f840874f',1,'grpc::Credentials::AsSecureCredentials()'],['../classgrpc_1_1_secure_credentials.html#a38b7fab7095405703f806dd59084d6e0',1,'grpc::SecureCredentials::AsSecureCredentials()']]], + ['async_5fgeneric_5fservice_2ecc',['async_generic_service.cc',['../async__generic__service_8cc.html',1,'']]], + ['async_5fgeneric_5fservice_2eh',['async_generic_service.h',['../async__generic__service_8h.html',1,'']]], + ['async_5funary_5fcall_2eh',['async_unary_call.h',['../async__unary__call_8h.html',1,'']]], + ['asyncgenericservice',['AsyncGenericService',['../classgrpc_1_1_server.html#afa12bc5912105e1966887391881de595',1,'grpc::Server::AsyncGenericService()'],['../classgrpc_1_1_async_generic_service.html#a60e3bd7ac8673ed0b49b1260a91518ae',1,'grpc::AsyncGenericService::AsyncGenericService()']]], + ['asyncgenericservice',['AsyncGenericService',['../classgrpc_1_1_async_generic_service.html',1,'grpc']]], + ['asynchronousservice',['AsynchronousService',['../classgrpc_1_1_asynchronous_service.html',1,'grpc']]], + ['asynchronousservice',['AsynchronousService',['../classgrpc_1_1_server.html#a9f65421947ee8cbae15ff96b44f6d532',1,'grpc::Server::AsynchronousService()'],['../classgrpc_1_1_asynchronous_service.html#aacdfbb6050c0d572892681ecd8c5b01b',1,'grpc::AsynchronousService::AsynchronousService()']]], + ['asyncnext',['AsyncNext',['../classgrpc_1_1_completion_queue.html#a290ddf3d96e6d1d5886580e60b0602b4',1,'grpc::CompletionQueue']]], + ['asyncreaderinterface',['AsyncReaderInterface',['../classgrpc_1_1_async_reader_interface.html',1,'grpc']]], + ['asyncwriterinterface',['AsyncWriterInterface',['../classgrpc_1_1_async_writer_interface.html',1,'grpc']]], + ['auth_5fcontext',['auth_context',['../classgrpc_1_1_client_context.html#aa1bbd84015982b7bd9cd1e847edfde25',1,'grpc::ClientContext::auth_context()'],['../classgrpc_1_1_server_context.html#afee5f4996648b22c9973579b6912e82d',1,'grpc::ServerContext::auth_context()']]], + ['auth_5fcontext_2eh',['auth_context.h',['../auth__context_8h.html',1,'']]], + ['auth_5fproperty_5fiterator_2ecc',['auth_property_iterator.cc',['../auth__property__iterator_8cc.html',1,'']]], + ['auth_5fproperty_5fiterator_2eh',['auth_property_iterator.h',['../auth__property__iterator_8h.html',1,'']]], + ['authcontext',['AuthContext',['../classgrpc_1_1_auth_context.html',1,'grpc']]], + ['authproperty',['AuthProperty',['../namespacegrpc.html#a8e3a499d0002aae3afd1cae08f44a9ee',1,'grpc']]], + ['authpropertyiterator',['AuthPropertyIterator',['../classgrpc_1_1_auth_property_iterator.html',1,'grpc']]], + ['authpropertyiterator',['AuthPropertyIterator',['../classgrpc_1_1_auth_property_iterator.html#a2885e02ba1b9caad818a1bcdf648d949',1,'grpc::AuthPropertyIterator::AuthPropertyIterator()'],['../classgrpc_1_1_auth_property_iterator.html#aee44bb7255a99611cf490532b7e110d5',1,'grpc::AuthPropertyIterator::AuthPropertyIterator(const grpc_auth_property *property, const grpc_auth_property_iterator *iter)']]] +]; diff --git a/doc/ref/c++.internal/html/search/all_10.html b/doc/ref/c++.internal/html/search/all_10.html new file mode 100644 index 0000000000..c55c8367e4 --- /dev/null +++ b/doc/ref/c++.internal/html/search/all_10.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++.internal/html/search/all_10.js b/doc/ref/c++.internal/html/search/all_10.js new file mode 100644 index 0000000000..61d99a1c70 --- /dev/null +++ b/doc/ref/c++.internal/html/search/all_10.js @@ -0,0 +1,15 @@ +var searchData= +[ + ['peer',['peer',['../classgrpc_1_1_client_context.html#a905d667d96613e022cd83c13dbedb4c3',1,'grpc::ClientContext::peer()'],['../classgrpc_1_1_server_context.html#a5ef7910ccd61514eafa7087519bb17bb',1,'grpc::ServerContext::peer()']]], + ['pem_5fcert_5fchain',['pem_cert_chain',['../structgrpc_1_1_ssl_credentials_options.html#a01015d8ec7dbf49f2ac3cd21f21d383b',1,'grpc::SslCredentialsOptions']]], + ['pem_5fkey_5fcert_5fpairs',['pem_key_cert_pairs',['../structgrpc_1_1_ssl_server_credentials_options.html#a3a042e846edd3d1e2f24e846e36c694d',1,'grpc::SslServerCredentialsOptions']]], + ['pem_5fprivate_5fkey',['pem_private_key',['../structgrpc_1_1_ssl_credentials_options.html#a5b661f8daf02db7283774e0fb9a8979e',1,'grpc::SslCredentialsOptions']]], + ['pem_5froot_5fcerts',['pem_root_certs',['../structgrpc_1_1_ssl_credentials_options.html#a0ce1730020e18d04b6af48c88e069869',1,'grpc::SslCredentialsOptions::pem_root_certs()'],['../structgrpc_1_1_ssl_server_credentials_options.html#acdde73dba83ee30aeda4a678f5ce8e74',1,'grpc::SslServerCredentialsOptions::pem_root_certs()']]], + ['pemkeycertpair',['PemKeyCertPair',['../structgrpc_1_1_ssl_server_credentials_options_1_1_pem_key_cert_pair.html',1,'grpc::SslServerCredentialsOptions']]], + ['performops',['PerformOps',['../classgrpc_1_1_call.html#a78ca141a1008fbbb122ee4de076edcc4',1,'grpc::Call']]], + ['performopsoncall',['PerformOpsOnCall',['../classgrpc_1_1_call_hook.html#acf08b6dd7d1faba4efeeb4937bc81d29',1,'grpc::CallHook::PerformOpsOnCall()'],['../classgrpc_1_1_channel.html#a2c6a3cb1c87c457fb0562e17df304ec3',1,'grpc::Channel::PerformOpsOnCall()']]], + ['permission_5fdenied',['PERMISSION_DENIED',['../namespacegrpc.html#aff1730578c90160528f6a8d67ef5c43ba671e44044d68f82be37c8ec3b0a9c449',1,'grpc']]], + ['private_5fkey',['private_key',['../structgrpc_1_1_ssl_server_credentials_options_1_1_pem_key_cert_pair.html#ad9fa2a2083a40127d264e61cca637050',1,'grpc::SslServerCredentialsOptions::PemKeyCertPair']]], + ['proto_5futils_2ecc',['proto_utils.cc',['../proto__utils_8cc.html',1,'']]], + ['proto_5futils_2eh',['proto_utils.h',['../proto__utils_8h.html',1,'']]] +]; diff --git a/doc/ref/c++.internal/html/search/all_11.html b/doc/ref/c++.internal/html/search/all_11.html new file mode 100644 index 0000000000..6f3943a941 --- /dev/null +++ b/doc/ref/c++.internal/html/search/all_11.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++.internal/html/search/all_11.js b/doc/ref/c++.internal/html/search/all_11.js new file mode 100644 index 0000000000..25dc5c46df --- /dev/null +++ b/doc/ref/c++.internal/html/search/all_11.js @@ -0,0 +1,35 @@ +var searchData= +[ + ['raw_5fdeadline',['raw_deadline',['../classgrpc_1_1_client_context.html#a5057cab6d547678dded90c024efab652',1,'grpc::ClientContext::raw_deadline()'],['../classgrpc_1_1_server_context.html#add483537d23d3e06125dbe3f2bf50adc',1,'grpc::ServerContext::raw_deadline()']]], + ['raw_5ftime',['raw_time',['../classgrpc_1_1_time_point.html#adb76465d3bf0fef9ad5b918f0ea6a9b6',1,'grpc::TimePoint::raw_time()'],['../classgrpc_1_1_time_point_3_01gpr__timespec_01_4.html#a2f952629962fc23855496ac08a70f6e2',1,'grpc::TimePoint< gpr_timespec >::raw_time()'],['../classgrpc_1_1_time_point_3_01std_1_1chrono_1_1system__clock_1_1time__point_01_4.html#ac6d6a7d1e3ed219fff1dcc5961874f93',1,'grpc::TimePoint< std::chrono::system_clock::time_point >::raw_time()']]], + ['read',['Read',['../classgrpc_1_1_reader_interface.html#a04a1da8610d790ea86ecd5a14fe892b8',1,'grpc::ReaderInterface::Read()'],['../classgrpc_1_1_client_reader.html#a1305f6a3159b73866b4b66621f573ae7',1,'grpc::ClientReader::Read()'],['../classgrpc_1_1_client_reader_writer.html#adcf4e48162a850ae106e9d2f6fd03d0c',1,'grpc::ClientReaderWriter::Read()'],['../classgrpc_1_1_server_reader.html#a8bd737fbe8d5094fbcf40c45dc7723e0',1,'grpc::ServerReader::Read()'],['../classgrpc_1_1_server_reader_writer.html#a0398eca2f3cb613273a77c28bd55489d',1,'grpc::ServerReaderWriter::Read()'],['../classgrpc_1_1_async_reader_interface.html#aa644cf63c12ae8c9d5fda16a361f8a11',1,'grpc::AsyncReaderInterface::Read()'],['../classgrpc_1_1_client_async_reader.html#aaf9f76ba76be0a0144bbdf44d740731d',1,'grpc::ClientAsyncReader::Read()'],['../classgrpc_1_1_client_async_reader_writer.html#a8b6a32ede877fc2d5d4cfc5b95ac163f',1,'grpc::ClientAsyncReaderWriter::Read()'],['../classgrpc_1_1_server_async_reader.html#ac60c1f8d5373644f952377096f1a5b2f',1,'grpc::ServerAsyncReader::Read()'],['../classgrpc_1_1_server_async_reader_writer.html#a7d8d9d36449700c19cd08ecc608cb96a',1,'grpc::ServerAsyncReaderWriter::Read()']]], + ['readerinterface',['ReaderInterface',['../classgrpc_1_1_reader_interface.html',1,'grpc']]], + ['readinitialmetadata',['ReadInitialMetadata',['../classgrpc_1_1_client_async_response_reader_interface.html#a676e3a03a61c49a82b630d85bbfd366c',1,'grpc::ClientAsyncResponseReaderInterface::ReadInitialMetadata()'],['../classgrpc_1_1_client_async_response_reader.html#a963aefc43f34c9182e265647bbcdb91b',1,'grpc::ClientAsyncResponseReader::ReadInitialMetadata()'],['../classgrpc_1_1_client_async_streaming_interface.html#ad83bfe2febf4a6296b7d2646799b8174',1,'grpc::ClientAsyncStreamingInterface::ReadInitialMetadata()'],['../classgrpc_1_1_client_async_reader.html#a0e5b71e2620dc95fe41305eef7ee7863',1,'grpc::ClientAsyncReader::ReadInitialMetadata()'],['../classgrpc_1_1_client_async_writer.html#a1db45c4f5817db4f770c08dab64916c7',1,'grpc::ClientAsyncWriter::ReadInitialMetadata()'],['../classgrpc_1_1_client_async_reader_writer.html#a69f0115acf443d7820adefc7b2a6f162',1,'grpc::ClientAsyncReaderWriter::ReadInitialMetadata()']]], + ['recvinitialmetadata',['RecvInitialMetadata',['../classgrpc_1_1_call_op_recv_initial_metadata.html#a4dcc9f22c6966baca69cb1935c823a8e',1,'grpc::CallOpRecvInitialMetadata']]], + ['recvmessage',['RecvMessage',['../classgrpc_1_1_call_op_recv_message.html#aa2bdc2952010ab3a017bb859a1c6161c',1,'grpc::CallOpRecvMessage::RecvMessage()'],['../classgrpc_1_1_call_op_generic_recv_message.html#a0235adb3ae82cf78552f556856feb788',1,'grpc::CallOpGenericRecvMessage::RecvMessage()']]], + ['refreshtokencredentials',['RefreshTokenCredentials',['../namespacegrpc.html#a799468624a1f9c4bfb1956c5dd5c4894',1,'grpc']]], + ['registerasyncgenericservice',['RegisterAsyncGenericService',['../classgrpc_1_1_server_builder.html#ac62b0aa4c0448907e02d15386d58ef86',1,'grpc::ServerBuilder']]], + ['registerasyncservice',['RegisterAsyncService',['../classgrpc_1_1_server_builder.html#a2da69a943b10839d6993f9b292aaf578',1,'grpc::ServerBuilder::RegisterAsyncService(AsynchronousService *service)'],['../classgrpc_1_1_server_builder.html#a2107596214baf71230f4f270dec1d064',1,'grpc::ServerBuilder::RegisterAsyncService(const grpc::string &host, AsynchronousService *service)']]], + ['registermethod',['RegisterMethod',['../classgrpc_1_1_channel_interface.html#a267926300784051328390b2f7648c99f',1,'grpc::ChannelInterface::RegisterMethod()'],['../classgrpc_1_1_channel.html#a9f4af1b920ae0f381415cd62f9301001',1,'grpc::Channel::RegisterMethod()']]], + ['registerservice',['RegisterService',['../classgrpc_1_1_server_builder.html#a40f39b2ac8224a91c426b0e75bbb3c66',1,'grpc::ServerBuilder::RegisterService(SynchronousService *service)'],['../classgrpc_1_1_server_builder.html#ad961d91042fe44aa38fa3e1d57120861',1,'grpc::ServerBuilder::RegisterService(const grpc::string &host, SynchronousService *service)']]], + ['request',['Request',['../classgrpc_1_1_server_1_1_sync_request.html#a389812edac20f9c25c400663aeeea595',1,'grpc::Server::SyncRequest::Request()'],['../structgrpc_1_1_method_handler_1_1_handler_parameter.html#a82558a5f8a8d3c9b16be620092f67fa4',1,'grpc::MethodHandler::HandlerParameter::request()']]], + ['requestasyncunary',['RequestAsyncUnary',['../classgrpc_1_1_asynchronous_service.html#a19c9368c6cd8ea4b296c9023cc96b990',1,'grpc::AsynchronousService']]], + ['requestbidistreaming',['RequestBidiStreaming',['../classgrpc_1_1_asynchronous_service.html#a3b7e40607e2bb45b2901a4990847f608',1,'grpc::AsynchronousService']]], + ['requestcall',['RequestCall',['../classgrpc_1_1_async_generic_service.html#aeab5c20e89a754d5add4bdaad01a3ef6',1,'grpc::AsyncGenericService']]], + ['requestclientstreaming',['RequestClientStreaming',['../classgrpc_1_1_asynchronous_service.html#a3694e436bb163a5162cf915a7e277369',1,'grpc::AsynchronousService']]], + ['requestserverstreaming',['RequestServerStreaming',['../classgrpc_1_1_asynchronous_service.html#a197117ab963be83b26e1c67d5a7fd564',1,'grpc::AsynchronousService']]], + ['resource_5fexhausted',['RESOURCE_EXHAUSTED',['../namespacegrpc.html#aff1730578c90160528f6a8d67ef5c43ba663615dcb59881e3fe4206066666086f',1,'grpc']]], + ['rpc_5fmethod_2ecc',['rpc_method.cc',['../rpc__method_8cc.html',1,'']]], + ['rpc_5fmethod_2eh',['rpc_method.h',['../rpc__method_8h.html',1,'']]], + ['rpc_5fservice_5fmethod_2eh',['rpc_service_method.h',['../rpc__service__method_8h.html',1,'']]], + ['rpcmethod',['RpcMethod',['../classgrpc_1_1_rpc_method.html',1,'grpc']]], + ['rpcmethod',['RpcMethod',['../classgrpc_1_1_rpc_method.html#ab06ace199b65e09f1d4c9fde93dafc94',1,'grpc::RpcMethod']]], + ['rpcmethodhandler',['RpcMethodHandler',['../classgrpc_1_1_rpc_method_handler.html',1,'grpc']]], + ['rpcmethodhandler',['RpcMethodHandler',['../classgrpc_1_1_completion_queue.html#a76b9bb18b02084e9eaa8c9b99c668676',1,'grpc::CompletionQueue::RpcMethodHandler()'],['../classgrpc_1_1_server_context.html#a76b9bb18b02084e9eaa8c9b99c668676',1,'grpc::ServerContext::RpcMethodHandler()'],['../classgrpc_1_1_rpc_method_handler.html#af18c4bdcfc73d0238b238097547e6a48',1,'grpc::RpcMethodHandler::RpcMethodHandler()']]], + ['rpcservice',['RpcService',['../classgrpc_1_1_rpc_service.html',1,'grpc']]], + ['rpcservicemethod',['RpcServiceMethod',['../classgrpc_1_1_rpc_service_method.html#a9a4a54d93c2c5d2b5b52ff50af5971da',1,'grpc::RpcServiceMethod']]], + ['rpcservicemethod',['RpcServiceMethod',['../classgrpc_1_1_rpc_service_method.html',1,'grpc']]], + ['rpctype',['RpcType',['../classgrpc_1_1_rpc_method.html#ace95416ed07409e43059a0dfe9e23688',1,'grpc::RpcMethod']]], + ['run',['Run',['../classgrpc_1_1_server_1_1_sync_request_1_1_call_data.html#a564db86babb9cb7fb5a02336bcd3f4e8',1,'grpc::Server::SyncRequest::CallData']]], + ['runhandler',['RunHandler',['../classgrpc_1_1_method_handler.html#a8f901c44915f81bb86ecba0278f7db16',1,'grpc::MethodHandler::RunHandler()'],['../classgrpc_1_1_rpc_method_handler.html#a3dd04e9149c844224390b403ff24fa41',1,'grpc::RpcMethodHandler::RunHandler()'],['../classgrpc_1_1_client_streaming_handler.html#a702cbf84fa766383bfbb818c8a16e67c',1,'grpc::ClientStreamingHandler::RunHandler()'],['../classgrpc_1_1_server_streaming_handler.html#afd874fc0f3a73c4037d626d3ecbcccca',1,'grpc::ServerStreamingHandler::RunHandler()'],['../classgrpc_1_1_bidi_streaming_handler.html#a674385b5e9f48ffff0bcbc5d77f99bf1',1,'grpc::BidiStreamingHandler::RunHandler()']]] +]; diff --git a/doc/ref/c++.internal/html/search/all_12.html b/doc/ref/c++.internal/html/search/all_12.html new file mode 100644 index 0000000000..3c7c89ef60 --- /dev/null +++ b/doc/ref/c++.internal/html/search/all_12.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++.internal/html/search/all_12.js b/doc/ref/c++.internal/html/search/all_12.js new file mode 100644 index 0000000000..966a22c5b9 --- /dev/null +++ b/doc/ref/c++.internal/html/search/all_12.js @@ -0,0 +1,117 @@ +var searchData= +[ + ['secure_5fauth_5fcontext_2ecc',['secure_auth_context.cc',['../secure__auth__context_8cc.html',1,'']]], + ['secure_5fauth_5fcontext_2eh',['secure_auth_context.h',['../secure__auth__context_8h.html',1,'']]], + ['secure_5fchannel_5farguments_2ecc',['secure_channel_arguments.cc',['../secure__channel__arguments_8cc.html',1,'']]], + ['secure_5fcreate_5fauth_5fcontext_2ecc',['secure_create_auth_context.cc',['../secure__create__auth__context_8cc.html',1,'']]], + ['secure_5fcredentials_2ecc',['secure_credentials.cc',['../secure__credentials_8cc.html',1,'']]], + ['secure_5fcredentials_2eh',['secure_credentials.h',['../secure__credentials_8h.html',1,'']]], + ['secure_5fserver_5fcredentials_2ecc',['secure_server_credentials.cc',['../secure__server__credentials_8cc.html',1,'']]], + ['secure_5fserver_5fcredentials_2eh',['secure_server_credentials.h',['../secure__server__credentials_8h.html',1,'']]], + ['secureauthcontext',['SecureAuthContext',['../classgrpc_1_1_secure_auth_context.html',1,'grpc']]], + ['secureauthcontext',['SecureAuthContext',['../classgrpc_1_1_auth_property_iterator.html#a18a70918b1f73cdd22cb263845b78d6d',1,'grpc::AuthPropertyIterator::SecureAuthContext()'],['../classgrpc_1_1_secure_auth_context.html#a3a02a60cd745c30565135c1e5bc0a902',1,'grpc::SecureAuthContext::SecureAuthContext()']]], + ['securecredentials',['SecureCredentials',['../classgrpc_1_1_secure_credentials.html',1,'grpc']]], + ['securecredentials',['SecureCredentials',['../classgrpc_1_1_channel_arguments.html#ae60893d904f922c32a57fb18e618db66',1,'grpc::ChannelArguments::SecureCredentials()'],['../classgrpc_1_1_secure_credentials.html#a6ba57068df1de399ed4e87e0bbf2956b',1,'grpc::SecureCredentials::SecureCredentials()']]], + ['secureservercredentials',['SecureServerCredentials',['../classgrpc_1_1_secure_server_credentials.html',1,'grpc']]], + ['secureservercredentials',['SecureServerCredentials',['../classgrpc_1_1_secure_server_credentials.html#a541575567f8fa9c31d116ec05d9d445b',1,'grpc::SecureServerCredentials']]], + ['send_5f',['send_',['../classgrpc_1_1_call_op_send_initial_metadata.html#a2e867bf1e2a14f51fbda7ffe4a9d0e30',1,'grpc::CallOpSendInitialMetadata']]], + ['sendinitialmetadata',['SendInitialMetadata',['../classgrpc_1_1_server_async_response_writer.html#a76be68485a36629af40560aa1f1de0b7',1,'grpc::ServerAsyncResponseWriter::SendInitialMetadata()'],['../classgrpc_1_1_call_op_send_initial_metadata.html#a1d7682714b83f3bf495be8a7804fd34d',1,'grpc::CallOpSendInitialMetadata::SendInitialMetadata()'],['../classgrpc_1_1_server_async_streaming_interface.html#ab2d5db2b2ca3032994396543a8bb044c',1,'grpc::ServerAsyncStreamingInterface::SendInitialMetadata()'],['../classgrpc_1_1_server_reader.html#ad2cc630d207d246a851daa339bda479b',1,'grpc::ServerReader::SendInitialMetadata()'],['../classgrpc_1_1_server_writer.html#aa53df518d62478d0dbbe6f2f6ec44274',1,'grpc::ServerWriter::SendInitialMetadata()'],['../classgrpc_1_1_server_reader_writer.html#a91d0c7316a266b7e8f5447a6f3362fe5',1,'grpc::ServerReaderWriter::SendInitialMetadata()'],['../classgrpc_1_1_server_async_reader.html#a5d05028563e789203225c0ba548710b6',1,'grpc::ServerAsyncReader::SendInitialMetadata()'],['../classgrpc_1_1_server_async_writer.html#ad3a6ab6a46639131770efd0149d04455',1,'grpc::ServerAsyncWriter::SendInitialMetadata()'],['../classgrpc_1_1_server_async_reader_writer.html#ab40293c8bda8123b5c0e7a0455860533',1,'grpc::ServerAsyncReaderWriter::SendInitialMetadata()']]], + ['sendmessage',['SendMessage',['../classgrpc_1_1_call_op_send_message.html#a3cf3a795e98b7db1488ba6c098ac7dd9',1,'grpc::CallOpSendMessage::SendMessage(const M &message, const WriteOptions &options) GRPC_MUST_USE_RESULT'],['../classgrpc_1_1_call_op_send_message.html#ad9928eeba69f23f54d1c378517a15222',1,'grpc::CallOpSendMessage::SendMessage(const M &message) GRPC_MUST_USE_RESULT']]], + ['serialization_5ftraits_2eh',['serialization_traits.h',['../serialization__traits_8h.html',1,'']]], + ['serializationtraits',['SerializationTraits',['../classgrpc_1_1_serialization_traits.html',1,'grpc']]], + ['serializationtraits_3c_20bytebuffer_2c_20void_20_3e',['SerializationTraits< ByteBuffer, void >',['../classgrpc_1_1_serialization_traits_3_01_byte_buffer_00_01void_01_4.html',1,'grpc']]], + ['serializationtraits_3c_20bytebuffer_2c_20void_20_3e',['SerializationTraits< ByteBuffer, void >',['../classgrpc_1_1_byte_buffer.html#ab90fe50537dd6fe009b7b913652420f0',1,'grpc::ByteBuffer']]], + ['serializationtraits_3c_20t_2c_20typename_20std_3a_3aenable_5fif_3c_20std_3a_3ais_5fbase_5fof_3c_20grpc_3a_3aprotobuf_3a_3amessage_2c_20t_20_3e_3a_3avalue_20_3e_3a_3atype_20_3e',['SerializationTraits< T, typename std::enable_if< std::is_base_of< grpc::protobuf::Message, T >::value >::type >',['../classgrpc_1_1_serialization_traits_3_01_t_00_01typename_01std_1_1enable__if_3_01std_1_1is__base_42903f95c85f031c7724191271564901.html',1,'grpc']]], + ['serialize',['Serialize',['../classgrpc_1_1_serialization_traits_3_01_byte_buffer_00_01void_01_4.html#a142e6455c0e040332f57bd3a35eebd33',1,'grpc::SerializationTraits< ByteBuffer, void >::Serialize()'],['../classgrpc_1_1_serialization_traits_3_01_t_00_01typename_01std_1_1enable__if_3_01std_1_1is__base_42903f95c85f031c7724191271564901.html#adeebcdc9be666be418d94c021179762c',1,'grpc::SerializationTraits< T, typename std::enable_if< std::is_base_of< grpc::protobuf::Message, T >::value >::type >::Serialize()']]], + ['serializeproto',['SerializeProto',['../namespacegrpc.html#a453a85937625eaa278403fd7e33cd7bb',1,'grpc']]], + ['server',['Server',['../classgrpc_1_1_generic_server_context.html#ac2055578ac48afabe5af487878450f68',1,'grpc::GenericServerContext::Server()'],['../classgrpc_1_1_async_generic_service.html#ac2055578ac48afabe5af487878450f68',1,'grpc::AsyncGenericService::Server()'],['../classgrpc_1_1_server_async_streaming_interface.html#ac2055578ac48afabe5af487878450f68',1,'grpc::ServerAsyncStreamingInterface::Server()'],['../classgrpc_1_1_asynchronous_service.html#ac2055578ac48afabe5af487878450f68',1,'grpc::AsynchronousService::Server()']]], + ['server',['Server',['../classgrpc_1_1_server.html',1,'grpc']]], + ['server_2ecc',['server.cc',['../server_8cc.html',1,'']]], + ['server_2eh',['server.h',['../server_8h.html',1,'']]], + ['server_5fbuilder_2ecc',['server_builder.cc',['../server__builder_8cc.html',1,'']]], + ['server_5fbuilder_2eh',['server_builder.h',['../server__builder_8h.html',1,'']]], + ['server_5fcontext',['server_context',['../structgrpc_1_1_method_handler_1_1_handler_parameter.html#a281166394b3ec1fc0962f3841ef22c3c',1,'grpc::MethodHandler::HandlerParameter']]], + ['server_5fcontext_2ecc',['server_context.cc',['../server__context_8cc.html',1,'']]], + ['server_5fcontext_2eh',['server_context.h',['../server__context_8h.html',1,'']]], + ['server_5fcredentials_2ecc',['server_credentials.cc',['../server__credentials_8cc.html',1,'']]], + ['server_5fcredentials_2eh',['server_credentials.h',['../server__credentials_8h.html',1,'']]], + ['server_5fstreaming',['SERVER_STREAMING',['../classgrpc_1_1_rpc_method.html#ace95416ed07409e43059a0dfe9e23688a86f700048be78a1204139f70912f7775',1,'grpc::RpcMethod']]], + ['serverasyncreader',['ServerAsyncReader',['../classgrpc_1_1_server_async_reader.html',1,'grpc']]], + ['serverasyncreader',['ServerAsyncReader',['../classgrpc_1_1_server_async_reader.html#a7f351e1d526b250336402ee03b8cc75e',1,'grpc::ServerAsyncReader']]], + ['serverasyncreaderwriter',['ServerAsyncReaderWriter',['../classgrpc_1_1_server_async_reader_writer.html#af2b106bee556273e61541950502237ef',1,'grpc::ServerAsyncReaderWriter']]], + ['serverasyncreaderwriter',['ServerAsyncReaderWriter',['../classgrpc_1_1_server_async_reader_writer.html',1,'grpc']]], + ['serverasyncresponsewriter',['ServerAsyncResponseWriter',['../classgrpc_1_1_server_async_response_writer.html#a3c97a19ba6eaa0b9eef9b6b86dbad9e9',1,'grpc::ServerAsyncResponseWriter']]], + ['serverasyncresponsewriter',['ServerAsyncResponseWriter',['../classgrpc_1_1_server_async_response_writer.html',1,'grpc']]], + ['serverasyncstreaminginterface',['ServerAsyncStreamingInterface',['../classgrpc_1_1_server_async_streaming_interface.html',1,'grpc']]], + ['serverasyncwriter',['ServerAsyncWriter',['../classgrpc_1_1_server_async_writer.html#aa841b99fddf9ce347b9c617058f179f2',1,'grpc::ServerAsyncWriter']]], + ['serverasyncwriter',['ServerAsyncWriter',['../classgrpc_1_1_server_async_writer.html',1,'grpc']]], + ['serverbuilder',['ServerBuilder',['../classgrpc_1_1_server_completion_queue.html#a8c2db91f514d534f06396d90c1b1f2c4',1,'grpc::ServerCompletionQueue::ServerBuilder()'],['../classgrpc_1_1_server.html#a8c2db91f514d534f06396d90c1b1f2c4',1,'grpc::Server::ServerBuilder()'],['../classgrpc_1_1_server_builder.html#a208346e343cd01351492f0cace59b242',1,'grpc::ServerBuilder::ServerBuilder()']]], + ['serverbuilder',['ServerBuilder',['../classgrpc_1_1_server_builder.html',1,'grpc']]], + ['servercompletionqueue',['ServerCompletionQueue',['../classgrpc_1_1_server_completion_queue.html',1,'grpc']]], + ['servercontext',['ServerContext',['../classgrpc_1_1_server_context.html#a10f47e15934195dcaed6b756498b8fff',1,'grpc::ServerContext']]], + ['servercontext',['ServerContext',['../classgrpc_1_1_server_context.html',1,'grpc']]], + ['servercredentials',['ServerCredentials',['../classgrpc_1_1_server_credentials.html',1,'grpc']]], + ['serverreader',['ServerReader',['../classgrpc_1_1_server_reader.html',1,'grpc']]], + ['serverreader',['ServerReader',['../classgrpc_1_1_server_reader.html#a43e6b5258cfc623fa719884fce957521',1,'grpc::ServerReader']]], + ['serverreaderwriter',['ServerReaderWriter',['../classgrpc_1_1_server_reader_writer.html',1,'grpc']]], + ['serverreaderwriter',['ServerReaderWriter',['../classgrpc_1_1_server_reader_writer.html#a8dfe4a7bf682d51c423c2cb2a71e8b52',1,'grpc::ServerReaderWriter']]], + ['serversendstatus',['ServerSendStatus',['../classgrpc_1_1_call_op_server_send_status.html#ac2720fa707f1fe321afdf3a971bebcf7',1,'grpc::CallOpServerSendStatus']]], + ['serverstreaminghandler',['ServerStreamingHandler',['../classgrpc_1_1_completion_queue.html#ac2a23a31e1f8f09e2e51f09e7f50ba0c',1,'grpc::CompletionQueue::ServerStreamingHandler()'],['../classgrpc_1_1_server_context.html#ac2a23a31e1f8f09e2e51f09e7f50ba0c',1,'grpc::ServerContext::ServerStreamingHandler()'],['../classgrpc_1_1_server_streaming_handler.html#af846a2bd80177f74bca1007597fbd2a5',1,'grpc::ServerStreamingHandler::ServerStreamingHandler()']]], + ['serverstreaminghandler',['ServerStreamingHandler',['../classgrpc_1_1_server_streaming_handler.html',1,'grpc']]], + ['serverwriter',['ServerWriter',['../classgrpc_1_1_server_writer.html#a119c720c14d6835a8bc40a4ed615f0f2',1,'grpc::ServerWriter']]], + ['serverwriter',['ServerWriter',['../classgrpc_1_1_server_writer.html',1,'grpc']]], + ['service',['service',['../classgrpc_1_1_synchronous_service.html#ad9eb51c9dc0cedfd838c23db47349796',1,'grpc::SynchronousService']]], + ['service_5ftype_2eh',['service_type.h',['../service__type_8h.html',1,'']]], + ['serviceaccountcredentials',['ServiceAccountCredentials',['../namespacegrpc.html#a31d9cd50a7d56e09e3cefff9d6bb8f89',1,'grpc']]], + ['serviceaccountjwtaccesscredentials',['ServiceAccountJWTAccessCredentials',['../namespacegrpc.html#a027f47806ebddcccf72bde6c936abbfc',1,'grpc']]], + ['set_5fauthority',['set_authority',['../classgrpc_1_1_client_context.html#a43bb17bbd6ab49face3793e8883c5682',1,'grpc::ClientContext']]], + ['set_5fbuffer_5fhint',['set_buffer_hint',['../classgrpc_1_1_write_options.html#aecd282a8c7424e4b0c1a5f512c44b8a8',1,'grpc::WriteOptions']]], + ['set_5fcensus_5fcontext',['set_census_context',['../classgrpc_1_1_client_context.html#a48672c1e42084d2cd6975746b84658dd',1,'grpc::ClientContext']]], + ['set_5fcompression_5falgorithm',['set_compression_algorithm',['../classgrpc_1_1_client_context.html#a67a71b32afe1d71189aa3a24146ec61d',1,'grpc::ClientContext::set_compression_algorithm()'],['../classgrpc_1_1_server_context.html#ade949b886faed50627e5cbd35fe4ec72',1,'grpc::ServerContext::set_compression_algorithm()']]], + ['set_5fcompression_5flevel',['set_compression_level',['../classgrpc_1_1_server_context.html#accfdf160f46aa20eda843443c3eea91d',1,'grpc::ServerContext']]], + ['set_5fcredentials',['set_credentials',['../classgrpc_1_1_client_context.html#ac09d9bcb018a58c970adbab7ecd201cb',1,'grpc::ClientContext']]], + ['set_5fdeadline',['set_deadline',['../classgrpc_1_1_client_context.html#ad4e16866fee3f6ee5a10efb5be6f4da6',1,'grpc::ClientContext']]], + ['set_5fmax_5fmessage_5fsize',['set_max_message_size',['../classgrpc_1_1_call_op_set_interface.html#ac1e3a95ce9a1727011b7e7ce76829f0a',1,'grpc::CallOpSetInterface']]], + ['set_5fno_5fcompression',['set_no_compression',['../classgrpc_1_1_write_options.html#afe5f12d1bf9ed01b7a833458dc889b66',1,'grpc::WriteOptions']]], + ['set_5foutput_5ftag',['set_output_tag',['../classgrpc_1_1_call_op_set.html#a798d253af317730a5b996a4a55d86274',1,'grpc::CallOpSet']]], + ['setchannelargs',['SetChannelArgs',['../classgrpc_1_1_channel_arguments.html#a90ce1857947d36ff894402ad10cb6048',1,'grpc::ChannelArguments']]], + ['setcompressionalgorithm',['SetCompressionAlgorithm',['../classgrpc_1_1_channel_arguments.html#aaf332071bbdff5e4a7f3352f4ad564d5',1,'grpc::ChannelArguments']]], + ['setint',['SetInt',['../classgrpc_1_1_channel_arguments.html#a2b1c60568a4906bfe0b21781b09cdbbf',1,'grpc::ChannelArguments']]], + ['setmaxmessagesize',['SetMaxMessageSize',['../classgrpc_1_1_server_builder.html#ae1e6314004fba16607b883b8cc81f5c9',1,'grpc::ServerBuilder']]], + ['setssltargetnameoverride',['SetSslTargetNameOverride',['../classgrpc_1_1_channel_arguments.html#af4182e659448184f9618f079a1570328',1,'grpc::ChannelArguments']]], + ['setstring',['SetString',['../classgrpc_1_1_channel_arguments.html#a852ac2fe0ac7421fa82927ddda612947',1,'grpc::ChannelArguments']]], + ['setthreadpool',['SetThreadPool',['../classgrpc_1_1_server_builder.html#aea5dd313149029114c60571e5ee8b4cd',1,'grpc::ServerBuilder']]], + ['setuprequest',['SetupRequest',['../classgrpc_1_1_server_1_1_sync_request.html#a6e7cd999c893d4577d048b228f2a7f57',1,'grpc::Server::SyncRequest']]], + ['shutdown',['SHUTDOWN',['../classgrpc_1_1_completion_queue.html#a6227657fb2f29291f80cd092f9baf572a5d05c1c970154dad10e5f648890c215b',1,'grpc::CompletionQueue::SHUTDOWN()'],['../classgrpc_1_1_completion_queue.html#a40efddadd9073386fbcb4f46e8325670',1,'grpc::CompletionQueue::Shutdown()'],['../classgrpc_1_1_server.html#a777a9c8873ae4969585083e0e62482dc',1,'grpc::Server::Shutdown()']]], + ['shutdownrequest',['ShutdownRequest',['../classgrpc_1_1_server_1_1_shutdown_request.html',1,'grpc::Server']]], + ['size',['size',['../classgrpc_1_1_slice.html#aa216fa6d6e98e5e2677b7d33fb4af724',1,'grpc::Slice']]], + ['skip',['Skip',['../class_grpc_buffer_reader.html#ad542723a90fdfb58684f32bb37de1263',1,'GrpcBufferReader']]], + ['slice',['Slice',['../classgrpc_1_1_slice.html',1,'grpc']]], + ['slice',['Slice',['../classgrpc_1_1_slice.html#a8c5179cf7a39f66d65887bf298dc548f',1,'grpc::Slice::Slice()'],['../classgrpc_1_1_slice.html#a0cf5718377c0ae4584d58bb6c1b042f2',1,'grpc::Slice::Slice(gpr_slice slice, AddRef)'],['../classgrpc_1_1_slice.html#ad952f787620a1fe4c519e53e9e1aa921',1,'grpc::Slice::Slice(gpr_slice slice, StealRef)'],['../classgrpc_1_1_slice.html#a0a6b936d72f7ae35f083d003d3e0c8a3',1,'grpc::Slice::Slice(const Slice &other)']]], + ['slice_2ecc',['slice.cc',['../slice_8cc.html',1,'']]], + ['slice_2eh',['slice.h',['../slice_8h.html',1,'']]], + ['sneakycallopset',['SneakyCallOpSet',['../classgrpc_1_1_sneaky_call_op_set.html',1,'grpc']]], + ['sneakycallopset_3c_20grpc_3a_3acallopsendinitialmetadata_2c_20grpc_3a_3acallopsendmessage_2c_20grpc_3a_3acallopclientsendclose_20_3e',['SneakyCallOpSet< grpc::CallOpSendInitialMetadata, grpc::CallOpSendMessage, grpc::CallOpClientSendClose >',['../classgrpc_1_1_sneaky_call_op_set.html',1,'grpc']]], + ['sslcredentials',['SslCredentials',['../namespacegrpc.html#abb65df13904322b61514ce2e9a0b5621',1,'grpc']]], + ['sslcredentialsoptions',['SslCredentialsOptions',['../structgrpc_1_1_ssl_credentials_options.html',1,'grpc']]], + ['sslservercredentials',['SslServerCredentials',['../namespacegrpc.html#a272e1577b841b0df980486da04a71b80',1,'grpc']]], + ['sslservercredentialsoptions',['SslServerCredentialsOptions',['../structgrpc_1_1_ssl_server_credentials_options.html#ae85661f17b0dd9f4fc27275203e5f105',1,'grpc::SslServerCredentialsOptions']]], + ['sslservercredentialsoptions',['SslServerCredentialsOptions',['../structgrpc_1_1_ssl_server_credentials_options.html',1,'grpc']]], + ['status',['Status',['../classgrpc_1_1_status.html#a46537b45349a95126a16dcd67b5cf54c',1,'grpc::Status::Status()'],['../classgrpc_1_1_status.html#a8419a0b716f961c8d2d781c65f03def6',1,'grpc::Status::Status(StatusCode code, const grpc::string &details)']]], + ['status',['Status',['../classgrpc_1_1_status.html',1,'grpc']]], + ['status_2ecc',['status.cc',['../status_8cc.html',1,'']]], + ['status_2eh',['status.h',['../status_8h.html',1,'']]], + ['status_5fcode_5fenum_2eh',['status_code_enum.h',['../status__code__enum_8h.html',1,'']]], + ['statuscode',['StatusCode',['../namespacegrpc.html#aff1730578c90160528f6a8d67ef5c43b',1,'grpc']]], + ['steal_5fref',['STEAL_REF',['../classgrpc_1_1_slice.html#a13fbbec0e9121a8b948d563f9730d75aae0777a96d69fe69aec2acd1f0f9cefb7',1,'grpc::Slice']]], + ['stealref',['StealRef',['../classgrpc_1_1_slice.html#a13fbbec0e9121a8b948d563f9730d75a',1,'grpc::Slice']]], + ['stream_2eh',['stream.h',['../stream_8h.html',1,'']]], + ['string',['string',['../namespacegrpc.html#ab04a87625da3bf85cdaf5e7856b00203',1,'grpc']]], + ['swap',['Swap',['../classgrpc_1_1_channel_arguments.html#a3ff4f22c2cf31c01885b2aaefbdd227d',1,'grpc::ChannelArguments']]], + ['sync_2eh',['sync.h',['../sync_8h.html',1,'']]], + ['sync_5fcxx11_2eh',['sync_cxx11.h',['../sync__cxx11_8h.html',1,'']]], + ['sync_5fno_5fcxx11_2eh',['sync_no_cxx11.h',['../sync__no__cxx11_8h.html',1,'']]], + ['synchronousservice',['SynchronousService',['../classgrpc_1_1_synchronous_service.html',1,'grpc']]], + ['syncrequest',['SyncRequest',['../classgrpc_1_1_server_1_1_sync_request.html',1,'grpc::Server']]], + ['syncrequest',['SyncRequest',['../classgrpc_1_1_server_1_1_sync_request.html#a3f4a56d6ccdbc6929ab4fa8102e56fd9',1,'grpc::Server::SyncRequest']]] +]; diff --git a/doc/ref/c++.internal/html/search/all_13.html b/doc/ref/c++.internal/html/search/all_13.html new file mode 100644 index 0000000000..0bd629b86b --- /dev/null +++ b/doc/ref/c++.internal/html/search/all_13.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++.internal/html/search/all_13.js b/doc/ref/c++.internal/html/search/all_13.js new file mode 100644 index 0000000000..3de2fea876 --- /dev/null +++ b/doc/ref/c++.internal/html/search/all_13.js @@ -0,0 +1,23 @@ +var searchData= +[ + ['channelargumentstest',['ChannelArgumentsTest',['../classgrpc_1_1_channel_arguments.html#ab9fc942609a77bb3021ba172be262c7b',1,'grpc::ChannelArguments']]], + ['teardownrequest',['TeardownRequest',['../classgrpc_1_1_server_1_1_sync_request.html#a32ac7bb8bf79723ba355216578c3d268',1,'grpc::Server::SyncRequest']]], + ['thd_2eh',['thd.h',['../thd_8h.html',1,'']]], + ['thd_5fcxx11_2eh',['thd_cxx11.h',['../thd__cxx11_8h.html',1,'']]], + ['thd_5fno_5fcxx11_2eh',['thd_no_cxx11.h',['../thd__no__cxx11_8h.html',1,'']]], + ['thread',['thread',['../classgrpc_1_1thread.html',1,'grpc']]], + ['thread',['thread',['../classgrpc_1_1thread.html#a02b103e08092d24bf65e1a7b5b384269',1,'grpc::thread']]], + ['thread_5fpool_5finterface_2eh',['thread_pool_interface.h',['../thread__pool__interface_8h.html',1,'']]], + ['threadpoolinterface',['ThreadPoolInterface',['../classgrpc_1_1_thread_pool_interface.html',1,'grpc']]], + ['time_2ecc',['time.cc',['../time_8cc.html',1,'']]], + ['time_2eh',['time.h',['../time_8h.html',1,'']]], + ['timeout',['TIMEOUT',['../classgrpc_1_1_completion_queue.html#a6227657fb2f29291f80cd092f9baf572ae88eecb45f91413b425511ee973e2e04',1,'grpc::CompletionQueue']]], + ['timepoint',['TimePoint',['../classgrpc_1_1_time_point.html#aebfa8f327b7609f7e895845b36f060ad',1,'grpc::TimePoint::TimePoint()'],['../classgrpc_1_1_time_point_3_01gpr__timespec_01_4.html#a092aa1afe85bf73a10bf906bb9924007',1,'grpc::TimePoint< gpr_timespec >::TimePoint()'],['../classgrpc_1_1_time_point_3_01std_1_1chrono_1_1system__clock_1_1time__point_01_4.html#ad4276af3251c142fbe7f161391609d4f',1,'grpc::TimePoint< std::chrono::system_clock::time_point >::TimePoint()']]], + ['timepoint',['TimePoint',['../classgrpc_1_1_time_point.html',1,'grpc']]], + ['timepoint2timespec',['Timepoint2Timespec',['../namespacegrpc.html#a4e160d3739280d51ec130ab1bb1c549c',1,'grpc::Timepoint2Timespec(const std::chrono::system_clock::time_point &from, gpr_timespec *to)'],['../namespacegrpc.html#a4f1aa4ee286379d897c8b8e2ab6f1f00',1,'grpc::Timepoint2Timespec(const system_clock::time_point &from, gpr_timespec *to)']]], + ['timepoint_3c_20gpr_5ftimespec_20_3e',['TimePoint< gpr_timespec >',['../classgrpc_1_1_time_point_3_01gpr__timespec_01_4.html',1,'grpc']]], + ['timepoint_3c_20std_3a_3achrono_3a_3asystem_5fclock_3a_3atime_5fpoint_20_3e',['TimePoint< std::chrono::system_clock::time_point >',['../classgrpc_1_1_time_point_3_01std_1_1chrono_1_1system__clock_1_1time__point_01_4.html',1,'grpc']]], + ['timepointhr2timespec',['TimepointHR2Timespec',['../namespacegrpc.html#a8b3b542af97e1ae35f327c7095d98369',1,'grpc::TimepointHR2Timespec(const std::chrono::high_resolution_clock::time_point &from, gpr_timespec *to)'],['../namespacegrpc.html#af4a2a430353e00ac851d23bd3014cf7c',1,'grpc::TimepointHR2Timespec(const high_resolution_clock::time_point &from, gpr_timespec *to)']]], + ['timespec2timepoint',['Timespec2Timepoint',['../namespacegrpc.html#ab2f7cd00954a3e1cdccee66049c48684',1,'grpc']]], + ['trycancel',['TryCancel',['../classgrpc_1_1_client_context.html#abd0f6715c30287b75288015eee628984',1,'grpc::ClientContext']]] +]; diff --git a/doc/ref/c++.internal/html/search/all_14.html b/doc/ref/c++.internal/html/search/all_14.html new file mode 100644 index 0000000000..2ad638b277 --- /dev/null +++ b/doc/ref/c++.internal/html/search/all_14.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++.internal/html/search/all_14.js b/doc/ref/c++.internal/html/search/all_14.js new file mode 100644 index 0000000000..cef1578a8f --- /dev/null +++ b/doc/ref/c++.internal/html/search/all_14.js @@ -0,0 +1,12 @@ +var searchData= +[ + ['unauthenticated',['UNAUTHENTICATED',['../namespacegrpc.html#aff1730578c90160528f6a8d67ef5c43ba4290323b58d11554a249a870532c908e',1,'grpc']]], + ['unavailable',['UNAVAILABLE',['../namespacegrpc.html#aff1730578c90160528f6a8d67ef5c43ba87779003bbcfd441fd0ef335c13cb2c3',1,'grpc']]], + ['unimplemented',['UNIMPLEMENTED',['../namespacegrpc.html#aff1730578c90160528f6a8d67ef5c43ba31d8b2f1f3307ed261328cb3eece163b',1,'grpc']]], + ['unique_5flock',['unique_lock',['../classgrpc_1_1unique__lock.html#ad82b43eea850ccccf7a1682668c3a633',1,'grpc::unique_lock']]], + ['unique_5flock',['unique_lock',['../classgrpc_1_1unique__lock.html',1,'grpc']]], + ['unknown',['UNKNOWN',['../namespacegrpc.html#aff1730578c90160528f6a8d67ef5c43bab32b226dd4ccbe5b70fbceb3a915b256',1,'grpc']]], + ['unlock',['unlock',['../classgrpc_1_1unique__lock.html#af631f112239d5fb5aeff2ed1335e7ccd',1,'grpc::unique_lock']]], + ['unlock_5finternal',['unlock_internal',['../classgrpc_1_1lock__guard.html#a84bc9261c3b0c0bb3824265c31ce26c5',1,'grpc::lock_guard']]], + ['unref',['Unref',['../classgrpc_1_1_server_context_1_1_completion_op.html#a1001865953607435c94ed4d8a1343885',1,'grpc::ServerContext::CompletionOp']]] +]; diff --git a/doc/ref/c++.internal/html/search/all_15.html b/doc/ref/c++.internal/html/search/all_15.html new file mode 100644 index 0000000000..d3b5274ba7 --- /dev/null +++ b/doc/ref/c++.internal/html/search/all_15.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++.internal/html/search/all_15.js b/doc/ref/c++.internal/html/search/all_15.js new file mode 100644 index 0000000000..461d4df242 --- /dev/null +++ b/doc/ref/c++.internal/html/search/all_15.js @@ -0,0 +1,10 @@ +var searchData= +[ + ['wait',['Wait',['../classgrpc_1_1_server.html#a6f1ec2700c94637813178a5b5f71d6d5',1,'grpc::Server::Wait()'],['../classgrpc_1_1_server_1_1_sync_request.html#a19e3fa644a1905a9803d37572f9161d3',1,'grpc::Server::SyncRequest::Wait()'],['../classgrpc_1_1condition__variable.html#a58cced6338389e99d7e663ba0ab5aed8',1,'grpc::condition_variable::wait()']]], + ['waitforinitialmetadata',['WaitForInitialMetadata',['../classgrpc_1_1_client_reader_interface.html#aee87dd6e3e8a40853207ceb53b590b19',1,'grpc::ClientReaderInterface::WaitForInitialMetadata()'],['../classgrpc_1_1_client_reader.html#ad471c81c02db253508b9fd599beab93e',1,'grpc::ClientReader::WaitForInitialMetadata()'],['../classgrpc_1_1_client_reader_writer_interface.html#a6ead554cc1b991f2289b26fb80fdde5e',1,'grpc::ClientReaderWriterInterface::WaitForInitialMetadata()'],['../classgrpc_1_1_client_reader_writer.html#af19ce81004b69300aa18d9ce14be29be',1,'grpc::ClientReaderWriter::WaitForInitialMetadata()']]], + ['write',['Write',['../classgrpc_1_1_writer_interface.html#aa6b2aeb8957265b62bdc063b48f15d44',1,'grpc::WriterInterface::Write(const W &msg, const WriteOptions &options)=0'],['../classgrpc_1_1_writer_interface.html#a5ddbce2a74455afea61fc21e16b01c6a',1,'grpc::WriterInterface::Write(const W &msg)'],['../classgrpc_1_1_client_writer.html#a4c6b81e2d624886c7e86b9b774121e36',1,'grpc::ClientWriter::Write()'],['../classgrpc_1_1_client_reader_writer.html#a5e579c3ff2854b7776fe125a0a0cf762',1,'grpc::ClientReaderWriter::Write()'],['../classgrpc_1_1_server_writer.html#a995e4cbb3661bfdb2cf51ec2b5975a1a',1,'grpc::ServerWriter::Write()'],['../classgrpc_1_1_server_reader_writer.html#ab416079f6464c056c772f7a1ecb69467',1,'grpc::ServerReaderWriter::Write()'],['../classgrpc_1_1_async_writer_interface.html#a40c1091ac5cb5243c874da725ae291b4',1,'grpc::AsyncWriterInterface::Write()'],['../classgrpc_1_1_client_async_writer.html#a544f9e4c310b251bf3c7b84fd035d20a',1,'grpc::ClientAsyncWriter::Write()'],['../classgrpc_1_1_client_async_reader_writer.html#ac3cb288c3bd9d1b826fd726bd2655be3',1,'grpc::ClientAsyncReaderWriter::Write()'],['../classgrpc_1_1_server_async_writer.html#a7027a65f3d84ff275b130cf9a0f170f5',1,'grpc::ServerAsyncWriter::Write()'],['../classgrpc_1_1_server_async_reader_writer.html#ad0d2750db5e195d053e3361e1ff0df35',1,'grpc::ServerAsyncReaderWriter::Write()']]], + ['writeoptions',['WriteOptions',['../classgrpc_1_1_write_options.html#a6a4e429313200ed6c017c5d306e26e93',1,'grpc::WriteOptions::WriteOptions()'],['../classgrpc_1_1_write_options.html#a4d7753bbd8d9d61e2c6d3e49e29be021',1,'grpc::WriteOptions::WriteOptions(const WriteOptions &other)']]], + ['writeoptions',['WriteOptions',['../classgrpc_1_1_write_options.html',1,'grpc']]], + ['writerinterface',['WriterInterface',['../classgrpc_1_1_writer_interface.html',1,'grpc']]], + ['writesdone',['WritesDone',['../classgrpc_1_1_client_writer_interface.html#aff19574252338e9ac1b5446e82ed8ac5',1,'grpc::ClientWriterInterface::WritesDone()'],['../classgrpc_1_1_client_writer.html#abfb6738c132b9ebe49024dc1bf1e9352',1,'grpc::ClientWriter::WritesDone()'],['../classgrpc_1_1_client_reader_writer_interface.html#a52f4e5d5ac7fe0e4995cb337aa0ecfc8',1,'grpc::ClientReaderWriterInterface::WritesDone()'],['../classgrpc_1_1_client_reader_writer.html#a5ed775777711d64b848f31260aef2898',1,'grpc::ClientReaderWriter::WritesDone()'],['../classgrpc_1_1_client_async_writer_interface.html#a488d42d85f8e34902401e013572ff822',1,'grpc::ClientAsyncWriterInterface::WritesDone()'],['../classgrpc_1_1_client_async_writer.html#af9fbf77049c3e5402913c0edeccf3d47',1,'grpc::ClientAsyncWriter::WritesDone()'],['../classgrpc_1_1_client_async_reader_writer_interface.html#a878193880df68ab969b697f1fcd7dbc3',1,'grpc::ClientAsyncReaderWriterInterface::WritesDone()'],['../classgrpc_1_1_client_async_reader_writer.html#ae431aa00a64f2685b60ec853334e6637',1,'grpc::ClientAsyncReaderWriter::WritesDone()']]] +]; diff --git a/doc/ref/c++.internal/html/search/all_16.html b/doc/ref/c++.internal/html/search/all_16.html new file mode 100644 index 0000000000..b4e3666ffb --- /dev/null +++ b/doc/ref/c++.internal/html/search/all_16.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++.internal/html/search/all_16.js b/doc/ref/c++.internal/html/search/all_16.js new file mode 100644 index 0000000000..8cdae6f76f --- /dev/null +++ b/doc/ref/c++.internal/html/search/all_16.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['zerocopyinputstream',['ZeroCopyInputStream',['../namespacegrpc_1_1protobuf_1_1io.html#ae16bb38d6b730de308f0be4eb43931b4',1,'grpc::protobuf::io']]], + ['zerocopyoutputstream',['ZeroCopyOutputStream',['../namespacegrpc_1_1protobuf_1_1io.html#aafcf83341d287d00418952374bc82ce1',1,'grpc::protobuf::io']]] +]; diff --git a/doc/ref/c++.internal/html/search/all_17.html b/doc/ref/c++.internal/html/search/all_17.html new file mode 100644 index 0000000000..6dcb33cf18 --- /dev/null +++ b/doc/ref/c++.internal/html/search/all_17.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++.internal/html/search/all_17.js b/doc/ref/c++.internal/html/search/all_17.js new file mode 100644 index 0000000000..50ca02719f --- /dev/null +++ b/doc/ref/c++.internal/html/search/all_17.js @@ -0,0 +1,45 @@ +var searchData= +[ + ['_7easynchronousservice',['~AsynchronousService',['../classgrpc_1_1_asynchronous_service.html#a0f1526b3617c6b69d4774194acc6aa00',1,'grpc::AsynchronousService']]], + ['_7easyncreaderinterface',['~AsyncReaderInterface',['../classgrpc_1_1_async_reader_interface.html#ac7845d2df90fb380008aadb7f5f2f379',1,'grpc::AsyncReaderInterface']]], + ['_7easyncwriterinterface',['~AsyncWriterInterface',['../classgrpc_1_1_async_writer_interface.html#a94cc9e4ed13c8fe4a1d883d465477ddd',1,'grpc::AsyncWriterInterface']]], + ['_7eauthcontext',['~AuthContext',['../classgrpc_1_1_auth_context.html#a3784c5f4eeab56a8524da29981548464',1,'grpc::AuthContext']]], + ['_7eauthpropertyiterator',['~AuthPropertyIterator',['../classgrpc_1_1_auth_property_iterator.html#a91a3a2ce5085a948aac11d7371c13b49',1,'grpc::AuthPropertyIterator']]], + ['_7ebytebuffer',['~ByteBuffer',['../classgrpc_1_1_byte_buffer.html#aeb5dd0045ed262de06481465326bd64a',1,'grpc::ByteBuffer']]], + ['_7ecalldata',['~CallData',['../classgrpc_1_1_server_1_1_sync_request_1_1_call_data.html#ae06ac19a60c8cdde3e763692cb49da3a',1,'grpc::Server::SyncRequest::CallData']]], + ['_7ecallhook',['~CallHook',['../classgrpc_1_1_call_hook.html#a4aa1cf199f80f6475c6da0ad679c5d9d',1,'grpc::CallHook']]], + ['_7echannel',['~Channel',['../classgrpc_1_1_channel.html#a328cc15191befeead2e67c505172fdc1',1,'grpc::Channel']]], + ['_7echannelarguments',['~ChannelArguments',['../classgrpc_1_1_channel_arguments.html#a8058adf243855c3a44030c23ccec05ad',1,'grpc::ChannelArguments']]], + ['_7echannelinterface',['~ChannelInterface',['../classgrpc_1_1_channel_interface.html#a3f5145d4778aa952540dc9983cefe13f',1,'grpc::ChannelInterface']]], + ['_7eclientasyncresponsereaderinterface',['~ClientAsyncResponseReaderInterface',['../classgrpc_1_1_client_async_response_reader_interface.html#aa97dc1ab6a7160a489d2e555102bf5a0',1,'grpc::ClientAsyncResponseReaderInterface']]], + ['_7eclientasyncstreaminginterface',['~ClientAsyncStreamingInterface',['../classgrpc_1_1_client_async_streaming_interface.html#a103c33e82dbf1715749886c4249f3f28',1,'grpc::ClientAsyncStreamingInterface']]], + ['_7eclientcontext',['~ClientContext',['../classgrpc_1_1_client_context.html#aeb77ea760faf8f96e775812806c0a3d9',1,'grpc::ClientContext']]], + ['_7eclientstreaminginterface',['~ClientStreamingInterface',['../classgrpc_1_1_client_streaming_interface.html#a312c9454c0f950e1c75b5c802bcbb00e',1,'grpc::ClientStreamingInterface']]], + ['_7ecompletionqueue',['~CompletionQueue',['../classgrpc_1_1_completion_queue.html#aa0534391b20562e7e4cdc12daf0e36b0',1,'grpc::CompletionQueue']]], + ['_7ecompletionqueuetag',['~CompletionQueueTag',['../classgrpc_1_1_completion_queue_tag.html#a2cbf0212ed795c79f98c3421ed0cb4ab',1,'grpc::CompletionQueueTag']]], + ['_7econdition_5fvariable',['~condition_variable',['../classgrpc_1_1condition__variable.html#ab96cbd3448680ce017794565847181ca',1,'grpc::condition_variable']]], + ['_7ecredentials',['~Credentials',['../classgrpc_1_1_credentials.html#af4e8a65a6cee2b847e11134671c213f2',1,'grpc::Credentials']]], + ['_7edynamicthreadpool',['~DynamicThreadPool',['../classgrpc_1_1_dynamic_thread_pool.html#a9a81f1b15a357a8ca6cb3d7fef7a5456',1,'grpc::DynamicThreadPool']]], + ['_7efixedsizethreadpool',['~FixedSizeThreadPool',['../classgrpc_1_1_fixed_size_thread_pool.html#aa31a8326a490c77e0e04b6df7ac3d7f8',1,'grpc::FixedSizeThreadPool']]], + ['_7egrpcbufferreader',['~GrpcBufferReader',['../class_grpc_buffer_reader.html#aaf5586a8c67cc704a5650008f1e48a44',1,'GrpcBufferReader']]], + ['_7egrpcbufferwriter',['~GrpcBufferWriter',['../class_grpc_buffer_writer.html#ab6262128ae47d86f6989314d20d23807',1,'GrpcBufferWriter']]], + ['_7egrpclibrary',['~GrpcLibrary',['../classgrpc_1_1_grpc_library.html#adadb2fbc794175c8c4578bf283b009a8',1,'grpc::GrpcLibrary']]], + ['_7einternalstub',['~InternalStub',['../classgrpc_1_1_internal_stub.html#a43127d606386366f5935c08a21da059e',1,'grpc::InternalStub']]], + ['_7elock_5fguard',['~lock_guard',['../classgrpc_1_1lock__guard.html#ac99f7ed1e7b1e177a20b23f230eaf1c2',1,'grpc::lock_guard']]], + ['_7emethodhandler',['~MethodHandler',['../classgrpc_1_1_method_handler.html#afc792a35059d6c46b78d7d9410f9a4b0',1,'grpc::MethodHandler']]], + ['_7emutex',['~mutex',['../classgrpc_1_1mutex.html#a318a9bdff2281779aaea87344d6a3e5a',1,'grpc::mutex']]], + ['_7ereaderinterface',['~ReaderInterface',['../classgrpc_1_1_reader_interface.html#a1fbd3d6e86e2f97e5444f29b0af0a9d5',1,'grpc::ReaderInterface']]], + ['_7esecureauthcontext',['~SecureAuthContext',['../classgrpc_1_1_secure_auth_context.html#ac21ea6e884d194a7f8003dbea4e548a1',1,'grpc::SecureAuthContext']]], + ['_7esecurecredentials',['~SecureCredentials',['../classgrpc_1_1_secure_credentials.html#a644bb9f3b5942f2777a3db813e2df3b1',1,'grpc::SecureCredentials']]], + ['_7esecureservercredentials',['~SecureServerCredentials',['../classgrpc_1_1_secure_server_credentials.html#a7d8f7333b93e998e502ce61062868a5f',1,'grpc::SecureServerCredentials']]], + ['_7eserver',['~Server',['../classgrpc_1_1_server.html#aa13591ff1bb2c5d871778189b391feb2',1,'grpc::Server']]], + ['_7eserverasyncstreaminginterface',['~ServerAsyncStreamingInterface',['../classgrpc_1_1_server_async_streaming_interface.html#af7c2bc176a6658e86a74a1cacd53d3bc',1,'grpc::ServerAsyncStreamingInterface']]], + ['_7eservercontext',['~ServerContext',['../classgrpc_1_1_server_context.html#afd37847b1bdba2f82e472fed6f31cea6',1,'grpc::ServerContext']]], + ['_7eservercredentials',['~ServerCredentials',['../classgrpc_1_1_server_credentials.html#a58d3eff33fffb0ecf55e44ac864011e1',1,'grpc::ServerCredentials']]], + ['_7eslice',['~Slice',['../classgrpc_1_1_slice.html#a1f89af608ad9e5bbc2870d4ee7140c94',1,'grpc::Slice']]], + ['_7esynchronousservice',['~SynchronousService',['../classgrpc_1_1_synchronous_service.html#a7799f247e0928ff36e32ead579585a05',1,'grpc::SynchronousService']]], + ['_7esyncrequest',['~SyncRequest',['../classgrpc_1_1_server_1_1_sync_request.html#a2bac1a04842183cc0ccc9f9860708c71',1,'grpc::Server::SyncRequest']]], + ['_7ethread',['~thread',['../classgrpc_1_1thread.html#a821416c0e9319e93ae8b8e5cdaa9f52f',1,'grpc::thread']]], + ['_7ethreadpoolinterface',['~ThreadPoolInterface',['../classgrpc_1_1_thread_pool_interface.html#a74a3380787d9be6e261c2849cdc84538',1,'grpc::ThreadPoolInterface']]], + ['_7ewriterinterface',['~WriterInterface',['../classgrpc_1_1_writer_interface.html#a447d71736fb6e8c6bd21287ecc3a9f75',1,'grpc::WriterInterface']]] +]; diff --git a/doc/ref/c++.internal/html/search/all_2.html b/doc/ref/c++.internal/html/search/all_2.html new file mode 100644 index 0000000000..95ded1222d --- /dev/null +++ b/doc/ref/c++.internal/html/search/all_2.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++.internal/html/search/all_2.js b/doc/ref/c++.internal/html/search/all_2.js new file mode 100644 index 0000000000..c79f4e5396 --- /dev/null +++ b/doc/ref/c++.internal/html/search/all_2.js @@ -0,0 +1,15 @@ +var searchData= +[ + ['backup',['BackUp',['../class_grpc_buffer_writer.html#ab08794d15bc1db23d1723be2e72b3543',1,'GrpcBufferWriter::BackUp()'],['../class_grpc_buffer_reader.html#a4d9fd10f652d41ec9d9ab3282443c057',1,'GrpcBufferReader::BackUp()']]], + ['begin',['begin',['../classgrpc_1_1_auth_context.html#a4a4a9e18e05e1a06cf25b8a77edd8c89',1,'grpc::AuthContext::begin()'],['../classgrpc_1_1_slice.html#ad7b0a21bd37c2ed9899c369777cc9fb8',1,'grpc::Slice::begin()'],['../classgrpc_1_1_secure_auth_context.html#a397366aa80dc3b213a97a9210fa34671',1,'grpc::SecureAuthContext::begin()']]], + ['bidi_5fstreaming',['BIDI_STREAMING',['../classgrpc_1_1_rpc_method.html#ace95416ed07409e43059a0dfe9e23688ae482ab481fdc406d88adcdd088269894',1,'grpc::RpcMethod']]], + ['bidistreaminghandler',['BidiStreamingHandler',['../classgrpc_1_1_bidi_streaming_handler.html',1,'grpc']]], + ['bidistreaminghandler',['BidiStreamingHandler',['../classgrpc_1_1_completion_queue.html#a9fcf1462b4ea3c6a37e54076aafb93e1',1,'grpc::CompletionQueue::BidiStreamingHandler()'],['../classgrpc_1_1_server_context.html#a9fcf1462b4ea3c6a37e54076aafb93e1',1,'grpc::ServerContext::BidiStreamingHandler()'],['../classgrpc_1_1_bidi_streaming_handler.html#a341a08e8b6bab7dfd8debe0ed0178b34',1,'grpc::BidiStreamingHandler::BidiStreamingHandler()']]], + ['blockingunarycall',['BlockingUnaryCall',['../classgrpc_1_1_client_context.html#a4aac0a120f3498d1151460ef89ce8446',1,'grpc::ClientContext::BlockingUnaryCall()'],['../classgrpc_1_1_completion_queue.html#a4aac0a120f3498d1151460ef89ce8446',1,'grpc::CompletionQueue::BlockingUnaryCall()'],['../namespacegrpc.html#a35d5687ea2da09f9376f2caa42a1db1b',1,'grpc::BlockingUnaryCall()']]], + ['buildandstart',['BuildAndStart',['../classgrpc_1_1_server_builder.html#a59c693f49d4260ec07db097256dae478',1,'grpc::ServerBuilder']]], + ['byte_5fbuffer_2ecc',['byte_buffer.cc',['../byte__buffer_8cc.html',1,'']]], + ['byte_5fbuffer_2eh',['byte_buffer.h',['../byte__buffer_8h.html',1,'']]], + ['bytebuffer',['ByteBuffer',['../classgrpc_1_1_slice.html#ac6c83f28f4b17ae317094a794e92e99e',1,'grpc::Slice::ByteBuffer()'],['../classgrpc_1_1_byte_buffer.html#aa3037355cbd37dce99c97e5c3700a76b',1,'grpc::ByteBuffer::ByteBuffer()'],['../classgrpc_1_1_byte_buffer.html#aa1f69f81c3cb03c61b544a0222e83004',1,'grpc::ByteBuffer::ByteBuffer(const Slice *slices, size_t nslices)']]], + ['bytebuffer',['ByteBuffer',['../classgrpc_1_1_byte_buffer.html',1,'grpc']]], + ['bytecount',['ByteCount',['../class_grpc_buffer_writer.html#a7394171ca12458395ebd50c4f2deb911',1,'GrpcBufferWriter::ByteCount()'],['../class_grpc_buffer_reader.html#ab7e3a645aa8db0acbd43022cc88b4243',1,'GrpcBufferReader::ByteCount()']]] +]; diff --git a/doc/ref/c++.internal/html/search/all_3.html b/doc/ref/c++.internal/html/search/all_3.html new file mode 100644 index 0000000000..4d312d03dd --- /dev/null +++ b/doc/ref/c++.internal/html/search/all_3.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++.internal/html/search/all_3.js b/doc/ref/c++.internal/html/search/all_3.js new file mode 100644 index 0000000000..c316749928 --- /dev/null +++ b/doc/ref/c++.internal/html/search/all_3.js @@ -0,0 +1,131 @@ +var searchData= +[ + ['call',['Call',['../classgrpc_1_1_call.html',1,'grpc']]], + ['call',['Call',['../classgrpc_1_1_generic_stub.html#ac56595f6faa4911cac85818d146d1812',1,'grpc::GenericStub::Call()'],['../classgrpc_1_1_call.html#ac588bdaf930ff18cab36271a686b9a0a',1,'grpc::Call::Call(grpc_call *call, CallHook *call_hook_, CompletionQueue *cq)'],['../classgrpc_1_1_call.html#a82dc146935bbbb535d6c4c9fb9887373',1,'grpc::Call::Call(grpc_call *call, CallHook *call_hook_, CompletionQueue *cq, int max_message_size)'],['../structgrpc_1_1_method_handler_1_1_handler_parameter.html#aebd5b34a7b5bc6e04ef5ab5df42e7e72',1,'grpc::MethodHandler::HandlerParameter::call()'],['../classgrpc_1_1_call.html#a38a1f110afa06bdfd666d00dfa281a38',1,'grpc::Call::call()']]], + ['call_2ecc',['call.cc',['../call_8cc.html',1,'']]], + ['call_2eh',['call.h',['../call_8h.html',1,'']]], + ['calldata',['CallData',['../classgrpc_1_1_server_1_1_sync_request_1_1_call_data.html',1,'grpc::Server::SyncRequest']]], + ['calldata',['CallData',['../classgrpc_1_1_server_1_1_sync_request_1_1_call_data.html#aa01b3aff1ae967fe531c317afca49dee',1,'grpc::Server::SyncRequest::CallData']]], + ['callhook',['CallHook',['../classgrpc_1_1_call_hook.html',1,'grpc']]], + ['callnoop',['CallNoOp',['../classgrpc_1_1_call_no_op.html',1,'grpc']]], + ['callnoop_3c_202_20_3e',['CallNoOp< 2 >',['../classgrpc_1_1_call_no_op.html',1,'grpc']]], + ['callnoop_3c_203_20_3e',['CallNoOp< 3 >',['../classgrpc_1_1_call_no_op.html',1,'grpc']]], + ['callnoop_3c_204_20_3e',['CallNoOp< 4 >',['../classgrpc_1_1_call_no_op.html',1,'grpc']]], + ['callnoop_3c_205_20_3e',['CallNoOp< 5 >',['../classgrpc_1_1_call_no_op.html',1,'grpc']]], + ['callnoop_3c_206_20_3e',['CallNoOp< 6 >',['../classgrpc_1_1_call_no_op.html',1,'grpc']]], + ['callopclientrecvstatus',['CallOpClientRecvStatus',['../classgrpc_1_1_call_op_client_recv_status.html',1,'grpc']]], + ['callopclientrecvstatus',['CallOpClientRecvStatus',['../classgrpc_1_1_client_context.html#aa7c3f046b48d55b5a82cbee3fd84faa2',1,'grpc::ClientContext::CallOpClientRecvStatus()'],['../classgrpc_1_1_call_op_client_recv_status.html#a86b01d095cec90f64a2fbd02da9be7de',1,'grpc::CallOpClientRecvStatus::CallOpClientRecvStatus()']]], + ['callopclientsendclose',['CallOpClientSendClose',['../classgrpc_1_1_call_op_client_send_close.html#a1601bc705c51e46133f2ee97921c712e',1,'grpc::CallOpClientSendClose']]], + ['callopclientsendclose',['CallOpClientSendClose',['../classgrpc_1_1_call_op_client_send_close.html',1,'grpc']]], + ['callopgenericrecvmessage',['CallOpGenericRecvMessage',['../classgrpc_1_1_call_op_generic_recv_message.html#ae40448871744eb8a25b42003e2543eda',1,'grpc::CallOpGenericRecvMessage']]], + ['callopgenericrecvmessage',['CallOpGenericRecvMessage',['../classgrpc_1_1_call_op_generic_recv_message.html',1,'grpc']]], + ['calloprecvinitialmetadata',['CallOpRecvInitialMetadata',['../classgrpc_1_1_client_context.html#a94ad025954d211da7d27efa58cb2ea91',1,'grpc::ClientContext::CallOpRecvInitialMetadata()'],['../classgrpc_1_1_call_op_recv_initial_metadata.html#a6c99b156711d0dc093a8578b45901cd8',1,'grpc::CallOpRecvInitialMetadata::CallOpRecvInitialMetadata()']]], + ['calloprecvinitialmetadata',['CallOpRecvInitialMetadata',['../classgrpc_1_1_call_op_recv_initial_metadata.html',1,'grpc']]], + ['calloprecvmessage',['CallOpRecvMessage',['../classgrpc_1_1_call_op_recv_message.html#a5f2ead0399f19a906b82f87a82f24253',1,'grpc::CallOpRecvMessage']]], + ['calloprecvmessage',['CallOpRecvMessage',['../classgrpc_1_1_call_op_recv_message.html',1,'grpc']]], + ['callopsendinitialmetadata',['CallOpSendInitialMetadata',['../classgrpc_1_1_call_op_send_initial_metadata.html#a1cf749118f03392e186d251c48200dd8',1,'grpc::CallOpSendInitialMetadata']]], + ['callopsendinitialmetadata',['CallOpSendInitialMetadata',['../classgrpc_1_1_call_op_send_initial_metadata.html',1,'grpc']]], + ['callopsendmessage',['CallOpSendMessage',['../classgrpc_1_1_call_op_send_message.html',1,'grpc']]], + ['callopsendmessage',['CallOpSendMessage',['../classgrpc_1_1_call_op_send_message.html#a049e460b94bad04d19e3fbe70ba43291',1,'grpc::CallOpSendMessage']]], + ['callopserversendstatus',['CallOpServerSendStatus',['../classgrpc_1_1_call_op_server_send_status.html',1,'grpc']]], + ['callopserversendstatus',['CallOpServerSendStatus',['../classgrpc_1_1_call_op_server_send_status.html#ab7a24493e9b8c6f2cc122cf3bd7796e4',1,'grpc::CallOpServerSendStatus']]], + ['callopset',['CallOpSet',['../classgrpc_1_1_call_op_set.html',1,'grpc']]], + ['callopset',['CallOpSet',['../classgrpc_1_1_call_op_set.html#ae06e1a2d051b6b404eec88c4be303bcf',1,'grpc::CallOpSet']]], + ['callopset_3c_20grpc_3a_3acallopclientsendclose_20_3e',['CallOpSet< grpc::CallOpClientSendClose >',['../classgrpc_1_1_call_op_set.html',1,'grpc']]], + ['callopset_3c_20grpc_3a_3acallopgenericrecvmessage_2c_20grpc_3a_3acallopclientrecvstatus_20_3e',['CallOpSet< grpc::CallOpGenericRecvMessage, grpc::CallOpClientRecvStatus >',['../classgrpc_1_1_call_op_set.html',1,'grpc']]], + ['callopset_3c_20grpc_3a_3acalloprecvinitialmetadata_20_3e',['CallOpSet< grpc::CallOpRecvInitialMetadata >',['../classgrpc_1_1_call_op_set.html',1,'grpc']]], + ['callopset_3c_20grpc_3a_3acalloprecvinitialmetadata_2c_20grpc_3a_3acallopclientrecvstatus_20_3e',['CallOpSet< grpc::CallOpRecvInitialMetadata, grpc::CallOpClientRecvStatus >',['../classgrpc_1_1_call_op_set.html',1,'grpc']]], + ['callopset_3c_20grpc_3a_3acalloprecvinitialmetadata_2c_20grpc_3a_3acallopgenericrecvmessage_2c_20grpc_3a_3acallopclientrecvstatus_20_3e',['CallOpSet< grpc::CallOpRecvInitialMetadata, grpc::CallOpGenericRecvMessage, grpc::CallOpClientRecvStatus >',['../classgrpc_1_1_call_op_set.html',1,'grpc']]], + ['callopset_3c_20grpc_3a_3acalloprecvinitialmetadata_2c_20grpc_3a_3acalloprecvmessage_3c_20r_20_3e_20_3e',['CallOpSet< grpc::CallOpRecvInitialMetadata, grpc::CallOpRecvMessage< R > >',['../classgrpc_1_1_call_op_set.html',1,'grpc']]], + ['callopset_3c_20grpc_3a_3acalloprecvinitialmetadata_2c_20grpc_3a_3acalloprecvmessage_3c_20r_20_3e_2c_20grpc_3a_3acallopclientrecvstatus_20_3e',['CallOpSet< grpc::CallOpRecvInitialMetadata, grpc::CallOpRecvMessage< R >, grpc::CallOpClientRecvStatus >',['../classgrpc_1_1_call_op_set.html',1,'grpc']]], + ['callopset_3c_20grpc_3a_3acalloprecvmessage_3c_20r_20_3e_20_3e',['CallOpSet< grpc::CallOpRecvMessage< R > >',['../classgrpc_1_1_call_op_set.html',1,'grpc']]], + ['callopset_3c_20grpc_3a_3acallopsendinitialmetadata_20_3e',['CallOpSet< grpc::CallOpSendInitialMetadata >',['../classgrpc_1_1_call_op_set.html',1,'grpc']]], + ['callopset_3c_20grpc_3a_3acallopsendinitialmetadata_2c_20grpc_3a_3acallopsendmessage_20_3e',['CallOpSet< grpc::CallOpSendInitialMetadata, grpc::CallOpSendMessage >',['../classgrpc_1_1_call_op_set.html',1,'grpc']]], + ['callopset_3c_20grpc_3a_3acallopsendinitialmetadata_2c_20grpc_3a_3acallopsendmessage_2c_20grpc_3a_3acallopclientsendclose_20_3e',['CallOpSet< grpc::CallOpSendInitialMetadata, grpc::CallOpSendMessage, grpc::CallOpClientSendClose >',['../classgrpc_1_1_call_op_set.html',1,'grpc']]], + ['callopset_3c_20grpc_3a_3acallopsendinitialmetadata_2c_20grpc_3a_3acallopsendmessage_2c_20grpc_3a_3acallopclientsendclose_2c_20callnoop_3c_204_20_3e_2c_20callnoop_3c_205_20_3e_2c_20callnoop_3c_206_20_3e_20_3e',['CallOpSet< grpc::CallOpSendInitialMetadata, grpc::CallOpSendMessage, grpc::CallOpClientSendClose, CallNoOp< 4 >, CallNoOp< 5 >, CallNoOp< 6 > >',['../classgrpc_1_1_call_op_set.html',1,'grpc']]], + ['callopset_3c_20grpc_3a_3acallopsendinitialmetadata_2c_20grpc_3a_3acallopsendmessage_2c_20grpc_3a_3acallopserversendstatus_20_3e',['CallOpSet< grpc::CallOpSendInitialMetadata, grpc::CallOpSendMessage, grpc::CallOpServerSendStatus >',['../classgrpc_1_1_call_op_set.html',1,'grpc']]], + ['callopset_3c_20grpc_3a_3acallopsendinitialmetadata_2c_20grpc_3a_3acallopserversendstatus_20_3e',['CallOpSet< grpc::CallOpSendInitialMetadata, grpc::CallOpServerSendStatus >',['../classgrpc_1_1_call_op_set.html',1,'grpc']]], + ['callopset_3c_20grpc_3a_3acallopsendmessage_20_3e',['CallOpSet< grpc::CallOpSendMessage >',['../classgrpc_1_1_call_op_set.html',1,'grpc']]], + ['callopsetinterface',['CallOpSetInterface',['../classgrpc_1_1_call_op_set_interface.html',1,'grpc']]], + ['callopsetinterface',['CallOpSetInterface',['../classgrpc_1_1_call_op_set_interface.html#ad331a10c0fd65f5a9db680e95682f000',1,'grpc::CallOpSetInterface']]], + ['cancelled',['CANCELLED',['../classgrpc_1_1_status.html#a400d9822f15151c502f13b935098bcc0',1,'grpc::Status::CANCELLED()'],['../namespacegrpc.html#aff1730578c90160528f6a8d67ef5c43bac3ef309c0b3f1c8a01265fa1a39ae4b2',1,'grpc::CANCELLED()']]], + ['census_5fcontext',['census_context',['../classgrpc_1_1_client_context.html#a958acd964fe9feb32bca775c96ad5117',1,'grpc::ClientContext::census_context()'],['../classgrpc_1_1_server_context.html#a4a63356adb72a31f77ce2a8bb227d8f0',1,'grpc::ServerContext::census_context()']]], + ['cert_5fchain',['cert_chain',['../structgrpc_1_1_ssl_server_credentials_options_1_1_pem_key_cert_pair.html#ad58d2824d15cc6a1d646b8bef0b8352e',1,'grpc::SslServerCredentialsOptions::PemKeyCertPair']]], + ['channel',['Channel',['../classgrpc_1_1_channel.html',1,'grpc']]], + ['channel',['channel',['../classgrpc_1_1_internal_stub.html#ae314e47d92a7aed9779724d3a81c2729',1,'grpc::InternalStub::channel()'],['../classgrpc_1_1_client_context.html#ac47342240f21ce36f47485e4ab41a10d',1,'grpc::ClientContext::Channel()'],['../classgrpc_1_1_channel.html#ab5ae726213995c9859d8e736e3090189',1,'grpc::Channel::Channel(grpc_channel *c_channel)'],['../classgrpc_1_1_channel.html#a22e7e491d79f4b4703e7d840cb9b443e',1,'grpc::Channel::Channel(const grpc::string &host, grpc_channel *c_channel)']]], + ['channel_2ecc',['channel.cc',['../channel_8cc.html',1,'']]], + ['channel_2eh',['channel.h',['../channel_8h.html',1,'']]], + ['channel_5farguments_2ecc',['channel_arguments.cc',['../channel__arguments_8cc.html',1,'']]], + ['channel_5farguments_2eh',['channel_arguments.h',['../channel__arguments_8h.html',1,'']]], + ['channel_5finterface_2eh',['channel_interface.h',['../channel__interface_8h.html',1,'']]], + ['channel_5ftag',['channel_tag',['../classgrpc_1_1_rpc_method.html#a59527e676d274583ec6961fb3f4356b3',1,'grpc::RpcMethod']]], + ['channelarguments',['ChannelArguments',['../classgrpc_1_1_channel_arguments.html',1,'grpc']]], + ['channelarguments',['ChannelArguments',['../classgrpc_1_1_channel_arguments.html#aecabf1ea1c78a3202544571cf857e8eb',1,'grpc::ChannelArguments::ChannelArguments()'],['../classgrpc_1_1_channel_arguments.html#ade11dfb5cac0e1da5e9ed5e86c18c4fe',1,'grpc::ChannelArguments::ChannelArguments(const ChannelArguments &other)']]], + ['channelinterface',['ChannelInterface',['../classgrpc_1_1_channel_interface.html',1,'grpc']]], + ['checkcancelled',['CheckCancelled',['../classgrpc_1_1_server_context_1_1_completion_op.html#a06fa507ddaa3a43708f5ebef32d1cfd7',1,'grpc::ServerContext::CompletionOp']]], + ['clear',['Clear',['../classgrpc_1_1_byte_buffer.html#a185b593e5c7d2b888fa377989a6bae80',1,'grpc::ByteBuffer::Clear()'],['../classgrpc_1_1_write_options.html#a9fc0e51224292b15dcfefec342fa0e02',1,'grpc::WriteOptions::Clear()']]], + ['clear_5fbuffer_5fhint',['clear_buffer_hint',['../classgrpc_1_1_write_options.html#a897ba94e51b1f6ead41ade8f92efa89f',1,'grpc::WriteOptions']]], + ['clear_5fno_5fcompression',['clear_no_compression',['../classgrpc_1_1_write_options.html#a7bc26dd151ed56bc49329ca895fe15e7',1,'grpc::WriteOptions']]], + ['client_5fcontext_2ecc',['client_context.cc',['../client__context_8cc.html',1,'']]], + ['client_5fcontext_2eh',['client_context.h',['../client__context_8h.html',1,'']]], + ['client_5fmetadata',['client_metadata',['../classgrpc_1_1_server_context.html#a82f70d1b5b56ca2a4a8a2f5bad6d8ca1',1,'grpc::ServerContext']]], + ['client_5fstreaming',['CLIENT_STREAMING',['../classgrpc_1_1_rpc_method.html#ace95416ed07409e43059a0dfe9e23688a93445bd936c37c2f089f8a9075ebcb2a',1,'grpc::RpcMethod']]], + ['client_5funary_5fcall_2eh',['client_unary_call.h',['../client__unary__call_8h.html',1,'']]], + ['clientasyncreader',['ClientAsyncReader',['../classgrpc_1_1_client_async_reader.html',1,'grpc']]], + ['clientasyncreader',['ClientAsyncReader',['../classgrpc_1_1_client_async_reader.html#aa14e3bc04d9852009f8b3094ce0d3ed4',1,'grpc::ClientAsyncReader']]], + ['clientasyncreaderinterface',['ClientAsyncReaderInterface',['../classgrpc_1_1_client_async_reader_interface.html',1,'grpc']]], + ['clientasyncreaderwriter',['ClientAsyncReaderWriter',['../classgrpc_1_1_client_async_reader_writer.html',1,'grpc']]], + ['clientasyncreaderwriter',['ClientAsyncReaderWriter',['../classgrpc_1_1_client_async_reader_writer.html#ae0595a950e2917399bbcef7e70e06066',1,'grpc::ClientAsyncReaderWriter']]], + ['clientasyncreaderwriterinterface',['ClientAsyncReaderWriterInterface',['../classgrpc_1_1_client_async_reader_writer_interface.html',1,'grpc']]], + ['clientasyncresponsereader',['ClientAsyncResponseReader',['../classgrpc_1_1_client_async_response_reader.html',1,'grpc']]], + ['clientasyncresponsereader',['ClientAsyncResponseReader',['../classgrpc_1_1_client_async_response_reader.html#a4868e0f82053062c95fea7bd197acadf',1,'grpc::ClientAsyncResponseReader']]], + ['clientasyncresponsereaderinterface',['ClientAsyncResponseReaderInterface',['../classgrpc_1_1_client_async_response_reader_interface.html',1,'grpc']]], + ['clientasyncstreaminginterface',['ClientAsyncStreamingInterface',['../classgrpc_1_1_client_async_streaming_interface.html',1,'grpc']]], + ['clientasyncwriter',['ClientAsyncWriter',['../classgrpc_1_1_client_async_writer.html',1,'grpc']]], + ['clientasyncwriter',['ClientAsyncWriter',['../classgrpc_1_1_client_async_writer.html#ad4903b1736b423c076bac8e23db345f6',1,'grpc::ClientAsyncWriter']]], + ['clientasyncwriterinterface',['ClientAsyncWriterInterface',['../classgrpc_1_1_client_async_writer_interface.html',1,'grpc']]], + ['clientcontext',['ClientContext',['../classgrpc_1_1_client_context.html',1,'grpc']]], + ['clientcontext',['ClientContext',['../classgrpc_1_1_client_context.html#acabbcf3c160a0628da8a9274b10f54b9',1,'grpc::ClientContext']]], + ['clientreader',['ClientReader',['../classgrpc_1_1_client_reader.html',1,'grpc']]], + ['clientreader',['ClientReader',['../classgrpc_1_1_client_reader.html#abf0d84e441443c364b29b206fd7d0c56',1,'grpc::ClientReader']]], + ['clientreaderinterface',['ClientReaderInterface',['../classgrpc_1_1_client_reader_interface.html',1,'grpc']]], + ['clientreaderwriter',['ClientReaderWriter',['../classgrpc_1_1_client_reader_writer.html#a787e8b30520c9b32ef877bf1d3298dcc',1,'grpc::ClientReaderWriter']]], + ['clientreaderwriter',['ClientReaderWriter',['../classgrpc_1_1_client_reader_writer.html',1,'grpc']]], + ['clientreaderwriterinterface',['ClientReaderWriterInterface',['../classgrpc_1_1_client_reader_writer_interface.html',1,'grpc']]], + ['clientrecvstatus',['ClientRecvStatus',['../classgrpc_1_1_call_op_client_recv_status.html#aa5af560ab0bb741197553bbb2538b813',1,'grpc::CallOpClientRecvStatus']]], + ['clientsendclose',['ClientSendClose',['../classgrpc_1_1_call_op_client_send_close.html#a43cd5b76bc82ccd2292e318bcc2a34cc',1,'grpc::CallOpClientSendClose']]], + ['clientstreaminghandler',['ClientStreamingHandler',['../classgrpc_1_1_completion_queue.html#ae11583f8aab976055b1feae895d7e12a',1,'grpc::CompletionQueue::ClientStreamingHandler()'],['../classgrpc_1_1_server_context.html#ae11583f8aab976055b1feae895d7e12a',1,'grpc::ServerContext::ClientStreamingHandler()'],['../classgrpc_1_1_client_streaming_handler.html#a193efc3ca1c668dddacd42e25c4956ff',1,'grpc::ClientStreamingHandler::ClientStreamingHandler()']]], + ['clientstreaminghandler',['ClientStreamingHandler',['../classgrpc_1_1_client_streaming_handler.html',1,'grpc']]], + ['clientstreaminginterface',['ClientStreamingInterface',['../classgrpc_1_1_client_streaming_interface.html',1,'grpc']]], + ['clientwriter',['ClientWriter',['../classgrpc_1_1_client_writer.html',1,'grpc']]], + ['clientwriter',['ClientWriter',['../classgrpc_1_1_client_writer.html#aed7d44896e0630a13409803459bd3cbe',1,'grpc::ClientWriter']]], + ['clientwriterinterface',['ClientWriterInterface',['../classgrpc_1_1_client_writer_interface.html',1,'grpc']]], + ['codedinputstream',['CodedInputStream',['../namespacegrpc_1_1protobuf_1_1io.html#a8be5a5d13d5471daee11dd8203973bf3',1,'grpc::protobuf::io']]], + ['completion_5fqueue_2ecc',['completion_queue.cc',['../completion__queue_8cc.html',1,'']]], + ['completion_5fqueue_2eh',['completion_queue.h',['../completion__queue_8h.html',1,'']]], + ['completionop',['CompletionOp',['../classgrpc_1_1_server_context_1_1_completion_op.html#a3b351db6aba15c5e740a7abd066ec555',1,'grpc::ServerContext::CompletionOp']]], + ['completionop',['CompletionOp',['../classgrpc_1_1_server_context_1_1_completion_op.html',1,'grpc::ServerContext']]], + ['completionqueue',['CompletionQueue',['../classgrpc_1_1_completion_queue.html#aea987a15a475923e949934e481fe3566',1,'grpc::CompletionQueue::CompletionQueue()'],['../classgrpc_1_1_completion_queue.html#a081a954044215a7ca8554da4220fb369',1,'grpc::CompletionQueue::CompletionQueue(grpc_completion_queue *take)']]], + ['completionqueue',['CompletionQueue',['../classgrpc_1_1_completion_queue.html',1,'grpc']]], + ['completionqueuetag',['CompletionQueueTag',['../classgrpc_1_1_completion_queue_tag.html',1,'grpc']]], + ['compositecredentials',['CompositeCredentials',['../classgrpc_1_1_credentials.html#a319db47fafb1868e66fd34b8bc084f3f',1,'grpc::Credentials::CompositeCredentials()'],['../namespacegrpc.html#abee28d0f7beda2c77afb5bc4f7ea644f',1,'grpc::CompositeCredentials()']]], + ['compression_5falgorithm',['compression_algorithm',['../classgrpc_1_1_client_context.html#a91691d52182f45043ce9698424d26a56',1,'grpc::ClientContext::compression_algorithm()'],['../classgrpc_1_1_server_context.html#a825f46891cc7db6c896add746eec8171',1,'grpc::ServerContext::compression_algorithm()']]], + ['compression_5flevel',['compression_level',['../classgrpc_1_1_server_context.html#a401d5c77fde5cccb13155ccd668787e8',1,'grpc::ServerContext']]], + ['computeenginecredentials',['ComputeEngineCredentials',['../namespacegrpc.html#a5fe566683ee20fb25ed3760a4b604a44',1,'grpc']]], + ['condition_5fvariable',['condition_variable',['../classgrpc_1_1mutex.html#a89c9b6aa2256fa5efd92a333d96381d4',1,'grpc::mutex::condition_variable()'],['../classgrpc_1_1lock__guard.html#a89c9b6aa2256fa5efd92a333d96381d4',1,'grpc::lock_guard::condition_variable()'],['../classgrpc_1_1condition__variable.html#ac254c7b505f7b6e3c5c244f971aef611',1,'grpc::condition_variable::condition_variable()']]], + ['condition_5fvariable',['condition_variable',['../classgrpc_1_1condition__variable.html',1,'grpc']]], + ['config_2eh',['config.h',['../config_8h.html',1,'']]], + ['config_5fprotobuf_2eh',['config_protobuf.h',['../config__protobuf_8h.html',1,'']]], + ['cq',['cq',['../classgrpc_1_1_completion_queue.html#a999c317e716d1e74aca2eb050912302b',1,'grpc::CompletionQueue::cq()'],['../classgrpc_1_1_call.html#a5a7336b857c427aff2a210b89bb4ac14',1,'grpc::Call::cq()']]], + ['create_5fauth_5fcontext_2eh',['create_auth_context.h',['../create__auth__context_8h.html',1,'']]], + ['create_5fchannel_2ecc',['create_channel.cc',['../create__channel_8cc.html',1,'']]], + ['create_5fchannel_2eh',['create_channel.h',['../create__channel_8h.html',1,'']]], + ['create_5fdefault_5fthread_5fpool_2ecc',['create_default_thread_pool.cc',['../create__default__thread__pool_8cc.html',1,'']]], + ['createauthcontext',['CreateAuthContext',['../namespacegrpc.html#a932ed4267291210b7e0bb378e3ff7be8',1,'grpc']]], + ['createcall',['CreateCall',['../classgrpc_1_1_channel_interface.html#a9fd365d30961e8e40805a3c8faf276d0',1,'grpc::ChannelInterface::CreateCall()'],['../classgrpc_1_1_channel.html#a1eba522535fdc85a69efd3e2fc400e09',1,'grpc::Channel::CreateCall()']]], + ['createchannel',['CreateChannel',['../classgrpc_1_1_credentials.html#a6cd496f9dd7e19b5bdbafaa41036fe69',1,'grpc::Credentials::CreateChannel()'],['../classgrpc_1_1_secure_credentials.html#af437fe5c55f111163116fd8b8cb2ec4e',1,'grpc::SecureCredentials::CreateChannel()'],['../namespacegrpc.html#a61b64d32193030bed7112b49b8e21006',1,'grpc::CreateChannel()']]], + ['createdefaultthreadpool',['CreateDefaultThreadPool',['../namespacegrpc.html#a3bed8851b28e51827368c71effab7b85',1,'grpc']]], + ['credentials',['Credentials',['../classgrpc_1_1_credentials.html',1,'grpc']]], + ['credentials_2ecc',['credentials.cc',['../credentials_8cc.html',1,'']]], + ['credentials_2eh',['credentials.h',['../credentials_8h.html',1,'']]] +]; diff --git a/doc/ref/c++.internal/html/search/all_4.html b/doc/ref/c++.internal/html/search/all_4.html new file mode 100644 index 0000000000..d72a9104cd --- /dev/null +++ b/doc/ref/c++.internal/html/search/all_4.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++.internal/html/search/all_4.js b/doc/ref/c++.internal/html/search/all_4.js new file mode 100644 index 0000000000..1f9d89e002 --- /dev/null +++ b/doc/ref/c++.internal/html/search/all_4.js @@ -0,0 +1,17 @@ +var searchData= +[ + ['data_5floss',['DATA_LOSS',['../namespacegrpc.html#aff1730578c90160528f6a8d67ef5c43bac956d5194137e0238de8544479133688',1,'grpc']]], + ['deadline',['deadline',['../classgrpc_1_1_client_context.html#af29e0113f661e1fbbecc20c268a3be6e',1,'grpc::ClientContext::deadline()'],['../classgrpc_1_1_server_context.html#a9e43d1edb334addb8bf672efcfe03052',1,'grpc::ServerContext::deadline()']]], + ['deadline_5fexceeded',['DEADLINE_EXCEEDED',['../namespacegrpc.html#aff1730578c90160528f6a8d67ef5c43baed5a57c7db66fbdf1860e81edf716628',1,'grpc']]], + ['deserialize',['Deserialize',['../classgrpc_1_1_serialization_traits_3_01_byte_buffer_00_01void_01_4.html#ab84ad3da236c61aab17db403b48367f5',1,'grpc::SerializationTraits< ByteBuffer, void >::Deserialize()'],['../classgrpc_1_1_call_op_generic_recv_message_helper_1_1_deserialize_func.html#af2bc8b34d88cc5d355755ec94bf04bcb',1,'grpc::CallOpGenericRecvMessageHelper::DeserializeFunc::Deserialize()'],['../classgrpc_1_1_call_op_generic_recv_message_helper_1_1_deserialize_func_type.html#aff7b6d6d9e51e6d0bdb3a150bc5f99d4',1,'grpc::CallOpGenericRecvMessageHelper::DeserializeFuncType::Deserialize()'],['../classgrpc_1_1_serialization_traits_3_01_t_00_01typename_01std_1_1enable__if_3_01std_1_1is__base_42903f95c85f031c7724191271564901.html#a6a6966d3807ba3c7b3ccc79dca93b92a',1,'grpc::SerializationTraits< T, typename std::enable_if< std::is_base_of< grpc::protobuf::Message, T >::value >::type >::Deserialize()']]], + ['deserializefunc',['DeserializeFunc',['../classgrpc_1_1_call_op_generic_recv_message_helper_1_1_deserialize_func.html',1,'grpc::CallOpGenericRecvMessageHelper']]], + ['deserializefunctype',['DeserializeFuncType',['../classgrpc_1_1_call_op_generic_recv_message_helper_1_1_deserialize_func_type.html#ae14165824fb892eefb683da1405e0316',1,'grpc::CallOpGenericRecvMessageHelper::DeserializeFuncType']]], + ['deserializefunctype',['DeserializeFuncType',['../classgrpc_1_1_call_op_generic_recv_message_helper_1_1_deserialize_func_type.html',1,'grpc::CallOpGenericRecvMessageHelper']]], + ['deserializeproto',['DeserializeProto',['../namespacegrpc.html#a9124f8212366355212b2fefb8a6ccc1f',1,'grpc']]], + ['do_5fnot_5fuse',['DO_NOT_USE',['../namespacegrpc.html#aff1730578c90160528f6a8d67ef5c43ba7216941fd727fb92d71e10d85bfa5234',1,'grpc']]], + ['dump',['Dump',['../classgrpc_1_1_byte_buffer.html#a1b284d25c0c3c594c386800c548048f1',1,'grpc::ByteBuffer']]], + ['dynamic_5fthread_5fpool_2ecc',['dynamic_thread_pool.cc',['../dynamic__thread__pool_8cc.html',1,'']]], + ['dynamic_5fthread_5fpool_2eh',['dynamic_thread_pool.h',['../dynamic__thread__pool_8h.html',1,'']]], + ['dynamicthreadpool',['DynamicThreadPool',['../classgrpc_1_1_dynamic_thread_pool.html#af4b6567a60ddfa8551dfbddab4cb7209',1,'grpc::DynamicThreadPool']]], + ['dynamicthreadpool',['DynamicThreadPool',['../classgrpc_1_1_dynamic_thread_pool.html',1,'grpc']]] +]; diff --git a/doc/ref/c++.internal/html/search/all_5.html b/doc/ref/c++.internal/html/search/all_5.html new file mode 100644 index 0000000000..99ef726704 --- /dev/null +++ b/doc/ref/c++.internal/html/search/all_5.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++.internal/html/search/all_5.js b/doc/ref/c++.internal/html/search/all_5.js new file mode 100644 index 0000000000..f6c40f3e3e --- /dev/null +++ b/doc/ref/c++.internal/html/search/all_5.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['end',['end',['../classgrpc_1_1_auth_context.html#a81d358b427e0f1096e148918cdeef991',1,'grpc::AuthContext::end()'],['../classgrpc_1_1_slice.html#a15f9576be1afa1048ed8963d50581b60',1,'grpc::Slice::end()'],['../classgrpc_1_1_secure_auth_context.html#a24e12e67d53e45f033bd2b23623fd500',1,'grpc::SecureAuthContext::end()']]], + ['error_5fcode',['error_code',['../classgrpc_1_1_status.html#a78b50cb074bcd9f1dd50e8f212f7e181',1,'grpc::Status']]], + ['error_5fmessage',['error_message',['../classgrpc_1_1_status.html#a87888a7acefced58302f89a295940f16',1,'grpc::Status']]] +]; diff --git a/doc/ref/c++.internal/html/search/all_6.html b/doc/ref/c++.internal/html/search/all_6.html new file mode 100644 index 0000000000..6133ab3af1 --- /dev/null +++ b/doc/ref/c++.internal/html/search/all_6.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++.internal/html/search/all_6.js b/doc/ref/c++.internal/html/search/all_6.js new file mode 100644 index 0000000000..1f91c60195 --- /dev/null +++ b/doc/ref/c++.internal/html/search/all_6.js @@ -0,0 +1,18 @@ +var searchData= +[ + ['failed_5fprecondition',['FAILED_PRECONDITION',['../namespacegrpc.html#aff1730578c90160528f6a8d67ef5c43ba7f49e2cd3c20ab00710f61d7dbb88aa2',1,'grpc']]], + ['fillmetadataarray',['FillMetadataArray',['../namespacegrpc.html#a431c01f228527dd6ff54632632b36af6',1,'grpc']]], + ['fillmetadatamap',['FillMetadataMap',['../namespacegrpc.html#a00d2939a7b40a674459016f6148f372d',1,'grpc']]], + ['fillops',['FillOps',['../classgrpc_1_1_call_op_set_interface.html#ae0c95dfc28fc2a0add3e3bec1a703874',1,'grpc::CallOpSetInterface::FillOps()'],['../classgrpc_1_1_call_op_set.html#a886b55145cdad0994ec589b4f4c7df9c',1,'grpc::CallOpSet::FillOps()'],['../classgrpc_1_1_server_context_1_1_completion_op.html#ad2c4895e848880c7df1b11832cdc8546',1,'grpc::ServerContext::CompletionOp::FillOps()']]], + ['finalizeresult',['FinalizeResult',['../classgrpc_1_1_completion_queue_tag.html#af7b1abfcd9e506d118dfdcf29ce7fe8d',1,'grpc::CompletionQueueTag::FinalizeResult()'],['../classgrpc_1_1_call_op_set.html#a66575110fdb84b974182154a01464180',1,'grpc::CallOpSet::FinalizeResult()'],['../classgrpc_1_1_sneaky_call_op_set.html#a0ade5b329d43a4002388bac90a8bbafd',1,'grpc::SneakyCallOpSet::FinalizeResult()'],['../classgrpc_1_1_server_1_1_shutdown_request.html#a42c35a145a0ae74c4ddba64abb9d1bbe',1,'grpc::Server::ShutdownRequest::FinalizeResult()'],['../classgrpc_1_1_server_1_1_sync_request.html#a3cc60801adf9554054f89442230ae1bb',1,'grpc::Server::SyncRequest::FinalizeResult()'],['../classgrpc_1_1_server_context_1_1_completion_op.html#aef20db2535fbee767d19f769df50d67d',1,'grpc::ServerContext::CompletionOp::FinalizeResult()']]], + ['findpropertyvalues',['FindPropertyValues',['../classgrpc_1_1_auth_context.html#ad34c79f4934c974aa9e77ca69eed82aa',1,'grpc::AuthContext::FindPropertyValues()'],['../classgrpc_1_1_secure_auth_context.html#a980da034327f6706944f334f95d7f96c',1,'grpc::SecureAuthContext::FindPropertyValues()']]], + ['finish',['Finish',['../classgrpc_1_1_client_async_response_reader_interface.html#a379b1d7477431729e01cd48cf6fc78bb',1,'grpc::ClientAsyncResponseReaderInterface::Finish()'],['../classgrpc_1_1_client_async_response_reader.html#a585dc15817999f82a72120a783800830',1,'grpc::ClientAsyncResponseReader::Finish()'],['../classgrpc_1_1_server_async_response_writer.html#ad1e22d187c82a537ded4504fbdef6809',1,'grpc::ServerAsyncResponseWriter::Finish()'],['../classgrpc_1_1_client_streaming_interface.html#a98e2927a42c793017ce7d8c6e88539c4',1,'grpc::ClientStreamingInterface::Finish()'],['../classgrpc_1_1_client_reader.html#abb69eb7672e42eb09fbc4d7110d142df',1,'grpc::ClientReader::Finish()'],['../classgrpc_1_1_client_writer.html#afe847df1fec5c40f6650498c026eb658',1,'grpc::ClientWriter::Finish()'],['../classgrpc_1_1_client_reader_writer.html#aabd46ba35f39419bbcfeff8c0843c116',1,'grpc::ClientReaderWriter::Finish()'],['../classgrpc_1_1_client_async_streaming_interface.html#afc1cfbd1514fea47088bc837bb578a24',1,'grpc::ClientAsyncStreamingInterface::Finish()'],['../classgrpc_1_1_client_async_reader.html#a91bfabf65e2dc955b6983bc0ece5a73f',1,'grpc::ClientAsyncReader::Finish()'],['../classgrpc_1_1_client_async_writer.html#ad37af0a7fc27fc90e168fdb90eb52d8b',1,'grpc::ClientAsyncWriter::Finish()'],['../classgrpc_1_1_client_async_reader_writer.html#a4316a3e8d1b4d148a695c8afa240ea23',1,'grpc::ClientAsyncReaderWriter::Finish()'],['../classgrpc_1_1_server_async_reader.html#aaa77b67709c07ab60bc190bce5ee9a59',1,'grpc::ServerAsyncReader::Finish()'],['../classgrpc_1_1_server_async_writer.html#afbb050c198cbbc7f91f9f7fb8bf8c004',1,'grpc::ServerAsyncWriter::Finish()'],['../classgrpc_1_1_server_async_reader_writer.html#ae4daaf42b4077d171638e574a67418b5',1,'grpc::ServerAsyncReaderWriter::Finish()']]], + ['finishop',['FinishOp',['../classgrpc_1_1_call_no_op.html#a2e39baf8e169ec930d2234c85ca577ae',1,'grpc::CallNoOp::FinishOp()'],['../classgrpc_1_1_call_op_send_initial_metadata.html#a70bd2ec3f8b7b95b02657902ee445a13',1,'grpc::CallOpSendInitialMetadata::FinishOp()'],['../classgrpc_1_1_call_op_send_message.html#a214a005bed5dd03d6dfa16f7a28b205b',1,'grpc::CallOpSendMessage::FinishOp()'],['../classgrpc_1_1_call_op_recv_message.html#ac235a695ea9beb6d4ff3f4f220f695c6',1,'grpc::CallOpRecvMessage::FinishOp()'],['../classgrpc_1_1_call_op_generic_recv_message.html#a40eba461f56840935c97934829b38e16',1,'grpc::CallOpGenericRecvMessage::FinishOp()'],['../classgrpc_1_1_call_op_client_send_close.html#a7c9bcf88cc1ddf2c6cf85cf141c85656',1,'grpc::CallOpClientSendClose::FinishOp()'],['../classgrpc_1_1_call_op_server_send_status.html#a91b57e7b08540afa237cf7621558c978',1,'grpc::CallOpServerSendStatus::FinishOp()'],['../classgrpc_1_1_call_op_recv_initial_metadata.html#a85e4703487b89a0557d82237ed4a74eb',1,'grpc::CallOpRecvInitialMetadata::FinishOp()'],['../classgrpc_1_1_call_op_client_recv_status.html#ac6fcc3bc9d7725d1ce822b560156445f',1,'grpc::CallOpClientRecvStatus::FinishOp()']]], + ['finishwitherror',['FinishWithError',['../classgrpc_1_1_server_async_response_writer.html#af1e5812c2a8017bf82e84748f201ce93',1,'grpc::ServerAsyncResponseWriter::FinishWithError()'],['../classgrpc_1_1_server_async_reader.html#a4407f30ef2dbce2b650824536a6f76fb',1,'grpc::ServerAsyncReader::FinishWithError()']]], + ['fixed_5fsize_5fthread_5fpool_2ecc',['fixed_size_thread_pool.cc',['../fixed__size__thread__pool_8cc.html',1,'']]], + ['fixed_5fsize_5fthread_5fpool_2eh',['fixed_size_thread_pool.h',['../fixed__size__thread__pool_8h.html',1,'']]], + ['fixedsizethreadpool',['FixedSizeThreadPool',['../classgrpc_1_1_fixed_size_thread_pool.html',1,'grpc']]], + ['fixedsizethreadpool',['FixedSizeThreadPool',['../classgrpc_1_1_fixed_size_thread_pool.html#a7b1d9cbdaedc89f5f4dd6e5782bfe5e0',1,'grpc::FixedSizeThreadPool']]], + ['flags',['flags',['../classgrpc_1_1_write_options.html#a0e047a4f3d159749153bff276880e153',1,'grpc::WriteOptions']]], + ['force_5fclient_5fauth',['force_client_auth',['../structgrpc_1_1_ssl_server_credentials_options.html#aa563c0e5a34e389dbc2f4dfa3c097e3e',1,'grpc::SslServerCredentialsOptions']]] +]; diff --git a/doc/ref/c++.internal/html/search/all_7.html b/doc/ref/c++.internal/html/search/all_7.html new file mode 100644 index 0000000000..574812594f --- /dev/null +++ b/doc/ref/c++.internal/html/search/all_7.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++.internal/html/search/all_7.js b/doc/ref/c++.internal/html/search/all_7.js new file mode 100644 index 0000000000..2417181f84 --- /dev/null +++ b/doc/ref/c++.internal/html/search/all_7.js @@ -0,0 +1,40 @@ +var searchData= +[ + ['callopgenericrecvmessagehelper',['CallOpGenericRecvMessageHelper',['../namespacegrpc_1_1_call_op_generic_recv_message_helper.html',1,'grpc']]], + ['generic_5fstub_2ecc',['generic_stub.cc',['../generic__stub_8cc.html',1,'']]], + ['generic_5fstub_2eh',['generic_stub.h',['../generic__stub_8h.html',1,'']]], + ['genericclientasyncreaderwriter',['GenericClientAsyncReaderWriter',['../namespacegrpc.html#aba53fb6f2502caa167e9528e5c560539',1,'grpc']]], + ['genericserverasyncreaderwriter',['GenericServerAsyncReaderWriter',['../namespacegrpc.html#a7b3db9e9e4d0c7faf701c9ebd455196a',1,'grpc']]], + ['genericservercontext',['GenericServerContext',['../classgrpc_1_1_generic_server_context.html',1,'grpc']]], + ['genericstub',['GenericStub',['../classgrpc_1_1_generic_stub.html',1,'grpc']]], + ['genericstub',['GenericStub',['../classgrpc_1_1_generic_stub.html#a1523f381907ac18b841bb4064f2a3b88',1,'grpc::GenericStub']]], + ['get_5fbuffer_5fhint',['get_buffer_hint',['../classgrpc_1_1_write_options.html#a58a983a81a17d0b8f3996164f55912ef',1,'grpc::WriteOptions']]], + ['get_5fno_5fcompression',['get_no_compression',['../classgrpc_1_1_write_options.html#accb16dd92f4001a6d024ffb01178d4bf',1,'grpc::WriteOptions']]], + ['getmethod',['GetMethod',['../classgrpc_1_1_rpc_service.html#adb8bee7f95fdd7bfb12e9c510fbdd192',1,'grpc::RpcService']]], + ['getmethodcount',['GetMethodCount',['../classgrpc_1_1_rpc_service.html#a779c023a42b33893a5ae2b7ca0ef5191',1,'grpc::RpcService']]], + ['getpeeridentity',['GetPeerIdentity',['../classgrpc_1_1_auth_context.html#a94f653509ddd988ce8fd4f22746fead9',1,'grpc::AuthContext::GetPeerIdentity()'],['../classgrpc_1_1_secure_auth_context.html#a1bfd2588633e41a1aeaa098a734266b2',1,'grpc::SecureAuthContext::GetPeerIdentity()']]], + ['getpeeridentitypropertyname',['GetPeerIdentityPropertyName',['../classgrpc_1_1_auth_context.html#ad7b2e589590246b953decd05cdaa4465',1,'grpc::AuthContext::GetPeerIdentityPropertyName()'],['../classgrpc_1_1_secure_auth_context.html#ae2788f289ec4b42eb57efeb8a203170b',1,'grpc::SecureAuthContext::GetPeerIdentityPropertyName()']]], + ['getrawcreds',['GetRawCreds',['../classgrpc_1_1_secure_credentials.html#a47caa26509a093e41bce0572918b0ee9',1,'grpc::SecureCredentials']]], + ['getserverinitialmetadata',['GetServerInitialMetadata',['../classgrpc_1_1_client_context.html#a971f592cb4c3d4cc4be227c413264d15',1,'grpc::ClientContext']]], + ['getservertrailingmetadata',['GetServerTrailingMetadata',['../classgrpc_1_1_client_context.html#ab2ad079046a7f9e6dba922274e11aaa3',1,'grpc::ClientContext']]], + ['googledefaultcredentials',['GoogleDefaultCredentials',['../namespacegrpc.html#a1b065446b2eaf89f413e58b78602a7d8',1,'grpc']]], + ['got_5fevent',['GOT_EVENT',['../classgrpc_1_1_completion_queue.html#a6227657fb2f29291f80cd092f9baf572a5d8344849fb99341b7edaa9da7b42c08',1,'grpc::CompletionQueue']]], + ['got_5fmessage',['got_message',['../classgrpc_1_1_call_op_recv_message.html#a95f94e74f704a7f40e1f2e30aba24c57',1,'grpc::CallOpRecvMessage::got_message()'],['../classgrpc_1_1_call_op_generic_recv_message.html#a1dc0ca6159bc74ec6cbfeacb06c697a0',1,'grpc::CallOpGenericRecvMessage::got_message()']]], + ['grpc',['grpc',['../namespacegrpc.html',1,'']]], + ['grpc_5fcustom_5fcodedinputstream',['GRPC_CUSTOM_CODEDINPUTSTREAM',['../config__protobuf_8h.html#adab2e3bf138e8ee14fc7dc7957618d2f',1,'config_protobuf.h']]], + ['grpc_5fcustom_5fmessage',['GRPC_CUSTOM_MESSAGE',['../config__protobuf_8h.html#a9dada7a420bf3d91c428fa9699bd2ef3',1,'config_protobuf.h']]], + ['grpc_5fcustom_5fprotobuf_5fint64',['GRPC_CUSTOM_PROTOBUF_INT64',['../config__protobuf_8h.html#a42a6e2b3f439893077e50cdaa72e98f2',1,'config_protobuf.h']]], + ['grpc_5fcustom_5fstring',['GRPC_CUSTOM_STRING',['../config_8h.html#af6ef913b6d13d83d79be41d007120992',1,'config.h']]], + ['grpc_5fcustom_5fzerocopyinputstream',['GRPC_CUSTOM_ZEROCOPYINPUTSTREAM',['../config__protobuf_8h.html#a1a6610a655f8fd6d36672c729a865ca0',1,'config_protobuf.h']]], + ['grpc_5fcustom_5fzerocopyoutputstream',['GRPC_CUSTOM_ZEROCOPYOUTPUTSTREAM',['../config__protobuf_8h.html#a7630e432db31b2693f8c2be7d3c79ef8',1,'config_protobuf.h']]], + ['grpc_5ffinal',['GRPC_FINAL',['../config_8h.html#ab2216aa6e0ffe505e1ec362a9621a7f9',1,'config.h']]], + ['grpc_5flibrary_2eh',['grpc_library.h',['../grpc__library_8h.html',1,'']]], + ['grpc_5foverride',['GRPC_OVERRIDE',['../config_8h.html#a9a884d706be26697c9c892365a3402a9',1,'config.h']]], + ['grpcbufferreader',['GrpcBufferReader',['../class_grpc_buffer_reader.html',1,'GrpcBufferReader'],['../class_grpc_buffer_reader.html#a2bb6cb370de06bd857f6a9763a954721',1,'GrpcBufferReader::GrpcBufferReader()']]], + ['grpcbufferwriter',['GrpcBufferWriter',['../class_grpc_buffer_writer.html',1,'GrpcBufferWriter'],['../class_grpc_buffer_writer.html#a7277718b7111b1e06a0bd794587cb097',1,'GrpcBufferWriter::GrpcBufferWriter()']]], + ['grpclibrary',['GrpcLibrary',['../classgrpc_1_1_grpc_library.html',1,'grpc']]], + ['grpclibrary',['GrpcLibrary',['../classgrpc_1_1_grpc_library.html#af026f86430cf235d7eaf532231a44528',1,'grpc::GrpcLibrary']]], + ['io',['io',['../namespacegrpc_1_1protobuf_1_1io.html',1,'grpc::protobuf']]], + ['protobuf',['protobuf',['../namespacegrpc_1_1protobuf.html',1,'grpc']]], + ['testing',['testing',['../namespacegrpc_1_1testing.html',1,'grpc']]] +]; diff --git a/doc/ref/c++.internal/html/search/all_8.html b/doc/ref/c++.internal/html/search/all_8.html new file mode 100644 index 0000000000..0179bdd463 --- /dev/null +++ b/doc/ref/c++.internal/html/search/all_8.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++.internal/html/search/all_8.js b/doc/ref/c++.internal/html/search/all_8.js new file mode 100644 index 0000000000..8802d97e2a --- /dev/null +++ b/doc/ref/c++.internal/html/search/all_8.js @@ -0,0 +1,7 @@ +var searchData= +[ + ['handler',['handler',['../classgrpc_1_1_rpc_service_method.html#adcc8bfb7dc592f6b64fec6660f1cbaf1',1,'grpc::RpcServiceMethod']]], + ['handlerparameter',['HandlerParameter',['../structgrpc_1_1_method_handler_1_1_handler_parameter.html',1,'grpc::MethodHandler']]], + ['handlerparameter',['HandlerParameter',['../structgrpc_1_1_method_handler_1_1_handler_parameter.html#a339310bf784411fd5e7d7b9118704693',1,'grpc::MethodHandler::HandlerParameter']]], + ['host',['host',['../classgrpc_1_1_generic_server_context.html#a2962278c0c6280a2d95f5747ea03babc',1,'grpc::GenericServerContext']]] +]; diff --git a/doc/ref/c++.internal/html/search/all_9.html b/doc/ref/c++.internal/html/search/all_9.html new file mode 100644 index 0000000000..cd46d44056 --- /dev/null +++ b/doc/ref/c++.internal/html/search/all_9.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++.internal/html/search/all_9.js b/doc/ref/c++.internal/html/search/all_9.js new file mode 100644 index 0000000000..eb7a13965d --- /dev/null +++ b/doc/ref/c++.internal/html/search/all_9.js @@ -0,0 +1,18 @@ +var searchData= +[ + ['iamcredentials',['IAMCredentials',['../namespacegrpc.html#a7ce3cd6c57b1d943ce2e8e75f90682ad',1,'grpc']]], + ['initial_5fmetadata_5f',['initial_metadata_',['../classgrpc_1_1_call_op_send_initial_metadata.html#a032d474971352a0f3ca5b1a468fa5fd4',1,'grpc::CallOpSendInitialMetadata']]], + ['initial_5fmetadata_5fcount_5f',['initial_metadata_count_',['../classgrpc_1_1_call_op_send_initial_metadata.html#a19f3366cf32ceb0199e7f636f870dd63',1,'grpc::CallOpSendInitialMetadata']]], + ['insecure_5fcredentials_2ecc',['insecure_credentials.cc',['../insecure__credentials_8cc.html',1,'']]], + ['insecure_5fserver_5fcredentials_2ecc',['insecure_server_credentials.cc',['../insecure__server__credentials_8cc.html',1,'']]], + ['insecurecredentials',['InsecureCredentials',['../namespacegrpc.html#a3419442b393550c967079efa490b7c78',1,'grpc']]], + ['insecureservercredentials',['InsecureServerCredentials',['../namespacegrpc.html#a541547fb14f2b28eca35d21bc921a0fa',1,'grpc']]], + ['int64',['int64',['../namespacegrpc_1_1protobuf.html#ad614bff24fe4674ca81af74c769a7b32',1,'grpc::protobuf']]], + ['internal',['INTERNAL',['../namespacegrpc.html#aff1730578c90160528f6a8d67ef5c43ba0ae30536146394965fd8ad64c2d414f3',1,'grpc']]], + ['internal_5fstub_2ecc',['internal_stub.cc',['../internal__stub_8cc.html',1,'']]], + ['internal_5fstub_2eh',['internal_stub.h',['../internal__stub_8h.html',1,'']]], + ['internalstub',['InternalStub',['../classgrpc_1_1_internal_stub.html',1,'grpc']]], + ['internalstub',['InternalStub',['../classgrpc_1_1_internal_stub.html#a5af6cf82c3f8218d94704226559e1b3c',1,'grpc::InternalStub']]], + ['invalid_5fargument',['INVALID_ARGUMENT',['../namespacegrpc.html#aff1730578c90160528f6a8d67ef5c43ba8d75876e087d1950914920f499d4a8d2',1,'grpc']]], + ['iscancelled',['IsCancelled',['../classgrpc_1_1_server_context.html#ae52a89bbf70c27be3325080000757864',1,'grpc::ServerContext']]] +]; diff --git a/doc/ref/c++.internal/html/search/all_a.html b/doc/ref/c++.internal/html/search/all_a.html new file mode 100644 index 0000000000..eab655301b --- /dev/null +++ b/doc/ref/c++.internal/html/search/all_a.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++.internal/html/search/all_a.js b/doc/ref/c++.internal/html/search/all_a.js new file mode 100644 index 0000000000..14e6845c12 --- /dev/null +++ b/doc/ref/c++.internal/html/search/all_a.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['join',['join',['../classgrpc_1_1thread.html#a2d1d3437f2ff58bb1eacb5417a85c29f',1,'grpc::thread']]] +]; diff --git a/doc/ref/c++.internal/html/search/all_b.html b/doc/ref/c++.internal/html/search/all_b.html new file mode 100644 index 0000000000..a2c161e0bd --- /dev/null +++ b/doc/ref/c++.internal/html/search/all_b.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++.internal/html/search/all_b.js b/doc/ref/c++.internal/html/search/all_b.js new file mode 100644 index 0000000000..4aaa942e04 --- /dev/null +++ b/doc/ref/c++.internal/html/search/all_b.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['kmaxbufferlength',['kMaxBufferLength',['../proto__utils_8cc.html#a97d286a6ee4a913916c920b8a00f0438',1,'proto_utils.cc']]] +]; diff --git a/doc/ref/c++.internal/html/search/all_c.html b/doc/ref/c++.internal/html/search/all_c.html new file mode 100644 index 0000000000..bdd3ee2c50 --- /dev/null +++ b/doc/ref/c++.internal/html/search/all_c.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++.internal/html/search/all_c.js b/doc/ref/c++.internal/html/search/all_c.js new file mode 100644 index 0000000000..3e0a8ad660 --- /dev/null +++ b/doc/ref/c++.internal/html/search/all_c.js @@ -0,0 +1,8 @@ +var searchData= +[ + ['length',['Length',['../classgrpc_1_1_byte_buffer.html#a9429e928982f8d94ff93a1a91032ad59',1,'grpc::ByteBuffer']]], + ['lock',['lock',['../classgrpc_1_1unique__lock.html#ae29c07f1bdca4a39516f3841dac5cb54',1,'grpc::unique_lock']]], + ['lock_5fguard',['lock_guard',['../classgrpc_1_1mutex.html#a4cfa68eb2ccf47f11c725b6773ff9a5b',1,'grpc::mutex::lock_guard()'],['../classgrpc_1_1lock__guard.html#ad5556ef1ebffe0cf983871fbc61fe264',1,'grpc::lock_guard::lock_guard()']]], + ['lock_5fguard',['lock_guard',['../classgrpc_1_1lock__guard.html',1,'grpc']]], + ['lock_5finternal',['lock_internal',['../classgrpc_1_1lock__guard.html#ac6236e52082bd62d20f17de1625fd649',1,'grpc::lock_guard']]] +]; diff --git a/doc/ref/c++.internal/html/search/all_d.html b/doc/ref/c++.internal/html/search/all_d.html new file mode 100644 index 0000000000..d51093367e --- /dev/null +++ b/doc/ref/c++.internal/html/search/all_d.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++.internal/html/search/all_d.js b/doc/ref/c++.internal/html/search/all_d.js new file mode 100644 index 0000000000..898dc420b9 --- /dev/null +++ b/doc/ref/c++.internal/html/search/all_d.js @@ -0,0 +1,11 @@ +var searchData= +[ + ['max_5fmessage_5fsize',['max_message_size',['../structgrpc_1_1_method_handler_1_1_handler_parameter.html#ae079bb60a6b69f4e7bca79a11cfa0756',1,'grpc::MethodHandler::HandlerParameter::max_message_size()'],['../classgrpc_1_1_call.html#aabd1f570cd026b4e5630abc58498a095',1,'grpc::Call::max_message_size()']]], + ['max_5fmessage_5fsize_5f',['max_message_size_',['../classgrpc_1_1_call_op_set_interface.html#a06354e63efdbbd34fa18270490aaabbf',1,'grpc::CallOpSetInterface']]], + ['message',['Message',['../namespacegrpc_1_1protobuf.html#a58557bfd4af54f1c54a6de69ab1fb43c',1,'grpc::protobuf']]], + ['method',['method',['../classgrpc_1_1_generic_server_context.html#ae08880fa4adb490326953ad905715c37',1,'grpc::GenericServerContext']]], + ['method_5ftype',['method_type',['../classgrpc_1_1_rpc_method.html#a1de5a64a1e57b5938c4733f9152291b6',1,'grpc::RpcMethod']]], + ['methodhandler',['MethodHandler',['../classgrpc_1_1_method_handler.html',1,'grpc']]], + ['mutex',['mutex',['../classgrpc_1_1mutex.html#ae012e9f1c5cafd9d6f77a9a81d641581',1,'grpc::mutex']]], + ['mutex',['mutex',['../classgrpc_1_1mutex.html',1,'grpc']]] +]; diff --git a/doc/ref/c++.internal/html/search/all_e.html b/doc/ref/c++.internal/html/search/all_e.html new file mode 100644 index 0000000000..3cda0172ed --- /dev/null +++ b/doc/ref/c++.internal/html/search/all_e.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++.internal/html/search/all_e.js b/doc/ref/c++.internal/html/search/all_e.js new file mode 100644 index 0000000000..53226bdb46 --- /dev/null +++ b/doc/ref/c++.internal/html/search/all_e.js @@ -0,0 +1,10 @@ +var searchData= +[ + ['name',['name',['../classgrpc_1_1_rpc_method.html#a6fb4872e0af4c79faffe2bb30b2cafe3',1,'grpc::RpcMethod']]], + ['next',['Next',['../classgrpc_1_1_completion_queue.html#a86d9810ced694e50f7987ac90b9f8c1a',1,'grpc::CompletionQueue::Next()'],['../class_grpc_buffer_writer.html#a5f0c083e372be3d1925e013aa1362393',1,'GrpcBufferWriter::Next()'],['../class_grpc_buffer_reader.html#a8f4bd953eded6402fbf35e8f00bec29a',1,'GrpcBufferReader::Next()']]], + ['nextstatus',['NextStatus',['../classgrpc_1_1_completion_queue.html#a6227657fb2f29291f80cd092f9baf572',1,'grpc::CompletionQueue']]], + ['normal_5frpc',['NORMAL_RPC',['../classgrpc_1_1_rpc_method.html#ace95416ed07409e43059a0dfe9e23688a8f7dac3c5cdbdbb204e3d3dbab033c2e',1,'grpc::RpcMethod']]], + ['not_5ffound',['NOT_FOUND',['../namespacegrpc.html#aff1730578c90160528f6a8d67ef5c43bae5d4bec40cae17f03007d4febf36c8f5',1,'grpc']]], + ['notify_5fall',['notify_all',['../classgrpc_1_1condition__variable.html#a09a9b8a854f939962c6080bd2764dd36',1,'grpc::condition_variable']]], + ['notify_5fone',['notify_one',['../classgrpc_1_1condition__variable.html#abc49965bc36f319781bb315fff7d9fb3',1,'grpc::condition_variable']]] +]; diff --git a/doc/ref/c++.internal/html/search/all_f.html b/doc/ref/c++.internal/html/search/all_f.html new file mode 100644 index 0000000000..7419b0297e --- /dev/null +++ b/doc/ref/c++.internal/html/search/all_f.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++.internal/html/search/all_f.js b/doc/ref/c++.internal/html/search/all_f.js new file mode 100644 index 0000000000..b308c8c091 --- /dev/null +++ b/doc/ref/c++.internal/html/search/all_f.js @@ -0,0 +1,10 @@ +var searchData= +[ + ['ok',['OK',['../classgrpc_1_1_status.html#a52ef6235ab76c5328a50f84a058da2c3',1,'grpc::Status::OK()'],['../classgrpc_1_1_status.html#a1f5b65c54d4e6dd502897e36040714dc',1,'grpc::Status::ok() const '],['../namespacegrpc.html#aff1730578c90160528f6a8d67ef5c43baf6f3078af147d683afc70e09695c7a65',1,'grpc::OK()']]], + ['operator_21_3d',['operator!=',['../classgrpc_1_1_auth_property_iterator.html#af3d2671fe70be36b2ed26a75874f2fc1',1,'grpc::AuthPropertyIterator']]], + ['operator_2a',['operator*',['../classgrpc_1_1_auth_property_iterator.html#a564f39b91f4168c6f660bbd3144f1f0e',1,'grpc::AuthPropertyIterator']]], + ['operator_2b_2b',['operator++',['../classgrpc_1_1_auth_property_iterator.html#aaf574384fc615dc281f8b6b43b2fa3f1',1,'grpc::AuthPropertyIterator::operator++()'],['../classgrpc_1_1_auth_property_iterator.html#a76dd5ef5047b10f889d85ce2bb33b84b',1,'grpc::AuthPropertyIterator::operator++(int)']]], + ['operator_3d',['operator=',['../classgrpc_1_1_channel_arguments.html#ac75ba90de32a5c7f3cb6c62f7ce649be',1,'grpc::ChannelArguments::operator=()'],['../classgrpc_1_1_write_options.html#abe3d32a3e5879022e7b8f1c6a7533841',1,'grpc::WriteOptions::operator=()'],['../classgrpc_1_1_slice.html#ac5a109779239ed4d3fd58e8124abdba1',1,'grpc::Slice::operator=()']]], + ['operator_3d_3d',['operator==',['../classgrpc_1_1_auth_property_iterator.html#ab5ab6a2c9a4df2b02086513716553dee',1,'grpc::AuthPropertyIterator']]], + ['out_5fof_5frange',['OUT_OF_RANGE',['../namespacegrpc.html#aff1730578c90160528f6a8d67ef5c43babb9d017cdfdd51b177b3591301c42901',1,'grpc']]] +]; diff --git a/doc/ref/c++.internal/html/search/classes_0.html b/doc/ref/c++.internal/html/search/classes_0.html new file mode 100644 index 0000000000..fabdc03679 --- /dev/null +++ b/doc/ref/c++.internal/html/search/classes_0.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++.internal/html/search/classes_0.js b/doc/ref/c++.internal/html/search/classes_0.js new file mode 100644 index 0000000000..9cc15c048e --- /dev/null +++ b/doc/ref/c++.internal/html/search/classes_0.js @@ -0,0 +1,9 @@ +var searchData= +[ + ['asyncgenericservice',['AsyncGenericService',['../classgrpc_1_1_async_generic_service.html',1,'grpc']]], + ['asynchronousservice',['AsynchronousService',['../classgrpc_1_1_asynchronous_service.html',1,'grpc']]], + ['asyncreaderinterface',['AsyncReaderInterface',['../classgrpc_1_1_async_reader_interface.html',1,'grpc']]], + ['asyncwriterinterface',['AsyncWriterInterface',['../classgrpc_1_1_async_writer_interface.html',1,'grpc']]], + ['authcontext',['AuthContext',['../classgrpc_1_1_auth_context.html',1,'grpc']]], + ['authpropertyiterator',['AuthPropertyIterator',['../classgrpc_1_1_auth_property_iterator.html',1,'grpc']]] +]; diff --git a/doc/ref/c++.internal/html/search/classes_1.html b/doc/ref/c++.internal/html/search/classes_1.html new file mode 100644 index 0000000000..800b6ae1bf --- /dev/null +++ b/doc/ref/c++.internal/html/search/classes_1.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++.internal/html/search/classes_1.js b/doc/ref/c++.internal/html/search/classes_1.js new file mode 100644 index 0000000000..be02f51276 --- /dev/null +++ b/doc/ref/c++.internal/html/search/classes_1.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['bidistreaminghandler',['BidiStreamingHandler',['../classgrpc_1_1_bidi_streaming_handler.html',1,'grpc']]], + ['bytebuffer',['ByteBuffer',['../classgrpc_1_1_byte_buffer.html',1,'grpc']]] +]; diff --git a/doc/ref/c++.internal/html/search/classes_2.html b/doc/ref/c++.internal/html/search/classes_2.html new file mode 100644 index 0000000000..f65d263c0c --- /dev/null +++ b/doc/ref/c++.internal/html/search/classes_2.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++.internal/html/search/classes_2.js b/doc/ref/c++.internal/html/search/classes_2.js new file mode 100644 index 0000000000..19676a3a05 --- /dev/null +++ b/doc/ref/c++.internal/html/search/classes_2.js @@ -0,0 +1,63 @@ +var searchData= +[ + ['call',['Call',['../classgrpc_1_1_call.html',1,'grpc']]], + ['calldata',['CallData',['../classgrpc_1_1_server_1_1_sync_request_1_1_call_data.html',1,'grpc::Server::SyncRequest']]], + ['callhook',['CallHook',['../classgrpc_1_1_call_hook.html',1,'grpc']]], + ['callnoop',['CallNoOp',['../classgrpc_1_1_call_no_op.html',1,'grpc']]], + ['callnoop_3c_202_20_3e',['CallNoOp< 2 >',['../classgrpc_1_1_call_no_op.html',1,'grpc']]], + ['callnoop_3c_203_20_3e',['CallNoOp< 3 >',['../classgrpc_1_1_call_no_op.html',1,'grpc']]], + ['callnoop_3c_204_20_3e',['CallNoOp< 4 >',['../classgrpc_1_1_call_no_op.html',1,'grpc']]], + ['callnoop_3c_205_20_3e',['CallNoOp< 5 >',['../classgrpc_1_1_call_no_op.html',1,'grpc']]], + ['callnoop_3c_206_20_3e',['CallNoOp< 6 >',['../classgrpc_1_1_call_no_op.html',1,'grpc']]], + ['callopclientrecvstatus',['CallOpClientRecvStatus',['../classgrpc_1_1_call_op_client_recv_status.html',1,'grpc']]], + ['callopclientsendclose',['CallOpClientSendClose',['../classgrpc_1_1_call_op_client_send_close.html',1,'grpc']]], + ['callopgenericrecvmessage',['CallOpGenericRecvMessage',['../classgrpc_1_1_call_op_generic_recv_message.html',1,'grpc']]], + ['calloprecvinitialmetadata',['CallOpRecvInitialMetadata',['../classgrpc_1_1_call_op_recv_initial_metadata.html',1,'grpc']]], + ['calloprecvmessage',['CallOpRecvMessage',['../classgrpc_1_1_call_op_recv_message.html',1,'grpc']]], + ['callopsendinitialmetadata',['CallOpSendInitialMetadata',['../classgrpc_1_1_call_op_send_initial_metadata.html',1,'grpc']]], + ['callopsendmessage',['CallOpSendMessage',['../classgrpc_1_1_call_op_send_message.html',1,'grpc']]], + ['callopserversendstatus',['CallOpServerSendStatus',['../classgrpc_1_1_call_op_server_send_status.html',1,'grpc']]], + ['callopset',['CallOpSet',['../classgrpc_1_1_call_op_set.html',1,'grpc']]], + ['callopset_3c_20grpc_3a_3acallopclientsendclose_20_3e',['CallOpSet< grpc::CallOpClientSendClose >',['../classgrpc_1_1_call_op_set.html',1,'grpc']]], + ['callopset_3c_20grpc_3a_3acallopgenericrecvmessage_2c_20grpc_3a_3acallopclientrecvstatus_20_3e',['CallOpSet< grpc::CallOpGenericRecvMessage, grpc::CallOpClientRecvStatus >',['../classgrpc_1_1_call_op_set.html',1,'grpc']]], + ['callopset_3c_20grpc_3a_3acalloprecvinitialmetadata_20_3e',['CallOpSet< grpc::CallOpRecvInitialMetadata >',['../classgrpc_1_1_call_op_set.html',1,'grpc']]], + ['callopset_3c_20grpc_3a_3acalloprecvinitialmetadata_2c_20grpc_3a_3acallopclientrecvstatus_20_3e',['CallOpSet< grpc::CallOpRecvInitialMetadata, grpc::CallOpClientRecvStatus >',['../classgrpc_1_1_call_op_set.html',1,'grpc']]], + ['callopset_3c_20grpc_3a_3acalloprecvinitialmetadata_2c_20grpc_3a_3acallopgenericrecvmessage_2c_20grpc_3a_3acallopclientrecvstatus_20_3e',['CallOpSet< grpc::CallOpRecvInitialMetadata, grpc::CallOpGenericRecvMessage, grpc::CallOpClientRecvStatus >',['../classgrpc_1_1_call_op_set.html',1,'grpc']]], + ['callopset_3c_20grpc_3a_3acalloprecvinitialmetadata_2c_20grpc_3a_3acalloprecvmessage_3c_20r_20_3e_20_3e',['CallOpSet< grpc::CallOpRecvInitialMetadata, grpc::CallOpRecvMessage< R > >',['../classgrpc_1_1_call_op_set.html',1,'grpc']]], + ['callopset_3c_20grpc_3a_3acalloprecvinitialmetadata_2c_20grpc_3a_3acalloprecvmessage_3c_20r_20_3e_2c_20grpc_3a_3acallopclientrecvstatus_20_3e',['CallOpSet< grpc::CallOpRecvInitialMetadata, grpc::CallOpRecvMessage< R >, grpc::CallOpClientRecvStatus >',['../classgrpc_1_1_call_op_set.html',1,'grpc']]], + ['callopset_3c_20grpc_3a_3acalloprecvmessage_3c_20r_20_3e_20_3e',['CallOpSet< grpc::CallOpRecvMessage< R > >',['../classgrpc_1_1_call_op_set.html',1,'grpc']]], + ['callopset_3c_20grpc_3a_3acallopsendinitialmetadata_20_3e',['CallOpSet< grpc::CallOpSendInitialMetadata >',['../classgrpc_1_1_call_op_set.html',1,'grpc']]], + ['callopset_3c_20grpc_3a_3acallopsendinitialmetadata_2c_20grpc_3a_3acallopsendmessage_20_3e',['CallOpSet< grpc::CallOpSendInitialMetadata, grpc::CallOpSendMessage >',['../classgrpc_1_1_call_op_set.html',1,'grpc']]], + ['callopset_3c_20grpc_3a_3acallopsendinitialmetadata_2c_20grpc_3a_3acallopsendmessage_2c_20grpc_3a_3acallopclientsendclose_20_3e',['CallOpSet< grpc::CallOpSendInitialMetadata, grpc::CallOpSendMessage, grpc::CallOpClientSendClose >',['../classgrpc_1_1_call_op_set.html',1,'grpc']]], + ['callopset_3c_20grpc_3a_3acallopsendinitialmetadata_2c_20grpc_3a_3acallopsendmessage_2c_20grpc_3a_3acallopclientsendclose_2c_20callnoop_3c_204_20_3e_2c_20callnoop_3c_205_20_3e_2c_20callnoop_3c_206_20_3e_20_3e',['CallOpSet< grpc::CallOpSendInitialMetadata, grpc::CallOpSendMessage, grpc::CallOpClientSendClose, CallNoOp< 4 >, CallNoOp< 5 >, CallNoOp< 6 > >',['../classgrpc_1_1_call_op_set.html',1,'grpc']]], + ['callopset_3c_20grpc_3a_3acallopsendinitialmetadata_2c_20grpc_3a_3acallopsendmessage_2c_20grpc_3a_3acallopserversendstatus_20_3e',['CallOpSet< grpc::CallOpSendInitialMetadata, grpc::CallOpSendMessage, grpc::CallOpServerSendStatus >',['../classgrpc_1_1_call_op_set.html',1,'grpc']]], + ['callopset_3c_20grpc_3a_3acallopsendinitialmetadata_2c_20grpc_3a_3acallopserversendstatus_20_3e',['CallOpSet< grpc::CallOpSendInitialMetadata, grpc::CallOpServerSendStatus >',['../classgrpc_1_1_call_op_set.html',1,'grpc']]], + ['callopset_3c_20grpc_3a_3acallopsendmessage_20_3e',['CallOpSet< grpc::CallOpSendMessage >',['../classgrpc_1_1_call_op_set.html',1,'grpc']]], + ['callopsetinterface',['CallOpSetInterface',['../classgrpc_1_1_call_op_set_interface.html',1,'grpc']]], + ['channel',['Channel',['../classgrpc_1_1_channel.html',1,'grpc']]], + ['channelarguments',['ChannelArguments',['../classgrpc_1_1_channel_arguments.html',1,'grpc']]], + ['channelinterface',['ChannelInterface',['../classgrpc_1_1_channel_interface.html',1,'grpc']]], + ['clientasyncreader',['ClientAsyncReader',['../classgrpc_1_1_client_async_reader.html',1,'grpc']]], + ['clientasyncreaderinterface',['ClientAsyncReaderInterface',['../classgrpc_1_1_client_async_reader_interface.html',1,'grpc']]], + ['clientasyncreaderwriter',['ClientAsyncReaderWriter',['../classgrpc_1_1_client_async_reader_writer.html',1,'grpc']]], + ['clientasyncreaderwriterinterface',['ClientAsyncReaderWriterInterface',['../classgrpc_1_1_client_async_reader_writer_interface.html',1,'grpc']]], + ['clientasyncresponsereader',['ClientAsyncResponseReader',['../classgrpc_1_1_client_async_response_reader.html',1,'grpc']]], + ['clientasyncresponsereaderinterface',['ClientAsyncResponseReaderInterface',['../classgrpc_1_1_client_async_response_reader_interface.html',1,'grpc']]], + ['clientasyncstreaminginterface',['ClientAsyncStreamingInterface',['../classgrpc_1_1_client_async_streaming_interface.html',1,'grpc']]], + ['clientasyncwriter',['ClientAsyncWriter',['../classgrpc_1_1_client_async_writer.html',1,'grpc']]], + ['clientasyncwriterinterface',['ClientAsyncWriterInterface',['../classgrpc_1_1_client_async_writer_interface.html',1,'grpc']]], + ['clientcontext',['ClientContext',['../classgrpc_1_1_client_context.html',1,'grpc']]], + ['clientreader',['ClientReader',['../classgrpc_1_1_client_reader.html',1,'grpc']]], + ['clientreaderinterface',['ClientReaderInterface',['../classgrpc_1_1_client_reader_interface.html',1,'grpc']]], + ['clientreaderwriter',['ClientReaderWriter',['../classgrpc_1_1_client_reader_writer.html',1,'grpc']]], + ['clientreaderwriterinterface',['ClientReaderWriterInterface',['../classgrpc_1_1_client_reader_writer_interface.html',1,'grpc']]], + ['clientstreaminghandler',['ClientStreamingHandler',['../classgrpc_1_1_client_streaming_handler.html',1,'grpc']]], + ['clientstreaminginterface',['ClientStreamingInterface',['../classgrpc_1_1_client_streaming_interface.html',1,'grpc']]], + ['clientwriter',['ClientWriter',['../classgrpc_1_1_client_writer.html',1,'grpc']]], + ['clientwriterinterface',['ClientWriterInterface',['../classgrpc_1_1_client_writer_interface.html',1,'grpc']]], + ['completionop',['CompletionOp',['../classgrpc_1_1_server_context_1_1_completion_op.html',1,'grpc::ServerContext']]], + ['completionqueue',['CompletionQueue',['../classgrpc_1_1_completion_queue.html',1,'grpc']]], + ['completionqueuetag',['CompletionQueueTag',['../classgrpc_1_1_completion_queue_tag.html',1,'grpc']]], + ['condition_5fvariable',['condition_variable',['../classgrpc_1_1condition__variable.html',1,'grpc']]], + ['credentials',['Credentials',['../classgrpc_1_1_credentials.html',1,'grpc']]] +]; diff --git a/doc/ref/c++.internal/html/search/classes_3.html b/doc/ref/c++.internal/html/search/classes_3.html new file mode 100644 index 0000000000..927e837f11 --- /dev/null +++ b/doc/ref/c++.internal/html/search/classes_3.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++.internal/html/search/classes_3.js b/doc/ref/c++.internal/html/search/classes_3.js new file mode 100644 index 0000000000..8a1a922e1b --- /dev/null +++ b/doc/ref/c++.internal/html/search/classes_3.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['deserializefunc',['DeserializeFunc',['../classgrpc_1_1_call_op_generic_recv_message_helper_1_1_deserialize_func.html',1,'grpc::CallOpGenericRecvMessageHelper']]], + ['deserializefunctype',['DeserializeFuncType',['../classgrpc_1_1_call_op_generic_recv_message_helper_1_1_deserialize_func_type.html',1,'grpc::CallOpGenericRecvMessageHelper']]], + ['dynamicthreadpool',['DynamicThreadPool',['../classgrpc_1_1_dynamic_thread_pool.html',1,'grpc']]] +]; diff --git a/doc/ref/c++.internal/html/search/classes_4.html b/doc/ref/c++.internal/html/search/classes_4.html new file mode 100644 index 0000000000..a447290ed6 --- /dev/null +++ b/doc/ref/c++.internal/html/search/classes_4.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++.internal/html/search/classes_4.js b/doc/ref/c++.internal/html/search/classes_4.js new file mode 100644 index 0000000000..9f0dd3dc9f --- /dev/null +++ b/doc/ref/c++.internal/html/search/classes_4.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['fixedsizethreadpool',['FixedSizeThreadPool',['../classgrpc_1_1_fixed_size_thread_pool.html',1,'grpc']]] +]; diff --git a/doc/ref/c++.internal/html/search/classes_5.html b/doc/ref/c++.internal/html/search/classes_5.html new file mode 100644 index 0000000000..63484c451e --- /dev/null +++ b/doc/ref/c++.internal/html/search/classes_5.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++.internal/html/search/classes_5.js b/doc/ref/c++.internal/html/search/classes_5.js new file mode 100644 index 0000000000..9316b2f2b2 --- /dev/null +++ b/doc/ref/c++.internal/html/search/classes_5.js @@ -0,0 +1,8 @@ +var searchData= +[ + ['genericservercontext',['GenericServerContext',['../classgrpc_1_1_generic_server_context.html',1,'grpc']]], + ['genericstub',['GenericStub',['../classgrpc_1_1_generic_stub.html',1,'grpc']]], + ['grpcbufferreader',['GrpcBufferReader',['../class_grpc_buffer_reader.html',1,'']]], + ['grpcbufferwriter',['GrpcBufferWriter',['../class_grpc_buffer_writer.html',1,'']]], + ['grpclibrary',['GrpcLibrary',['../classgrpc_1_1_grpc_library.html',1,'grpc']]] +]; diff --git a/doc/ref/c++.internal/html/search/classes_6.html b/doc/ref/c++.internal/html/search/classes_6.html new file mode 100644 index 0000000000..f3d70354c6 --- /dev/null +++ b/doc/ref/c++.internal/html/search/classes_6.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++.internal/html/search/classes_6.js b/doc/ref/c++.internal/html/search/classes_6.js new file mode 100644 index 0000000000..f218202f9b --- /dev/null +++ b/doc/ref/c++.internal/html/search/classes_6.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['handlerparameter',['HandlerParameter',['../structgrpc_1_1_method_handler_1_1_handler_parameter.html',1,'grpc::MethodHandler']]] +]; diff --git a/doc/ref/c++.internal/html/search/classes_7.html b/doc/ref/c++.internal/html/search/classes_7.html new file mode 100644 index 0000000000..9e5f5c9861 --- /dev/null +++ b/doc/ref/c++.internal/html/search/classes_7.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++.internal/html/search/classes_7.js b/doc/ref/c++.internal/html/search/classes_7.js new file mode 100644 index 0000000000..ab09a6d93e --- /dev/null +++ b/doc/ref/c++.internal/html/search/classes_7.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['internalstub',['InternalStub',['../classgrpc_1_1_internal_stub.html',1,'grpc']]] +]; diff --git a/doc/ref/c++.internal/html/search/classes_8.html b/doc/ref/c++.internal/html/search/classes_8.html new file mode 100644 index 0000000000..82c35b32ef --- /dev/null +++ b/doc/ref/c++.internal/html/search/classes_8.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++.internal/html/search/classes_8.js b/doc/ref/c++.internal/html/search/classes_8.js new file mode 100644 index 0000000000..0dbb8ec3cf --- /dev/null +++ b/doc/ref/c++.internal/html/search/classes_8.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['lock_5fguard',['lock_guard',['../classgrpc_1_1lock__guard.html',1,'grpc']]] +]; diff --git a/doc/ref/c++.internal/html/search/classes_9.html b/doc/ref/c++.internal/html/search/classes_9.html new file mode 100644 index 0000000000..4e83ac829b --- /dev/null +++ b/doc/ref/c++.internal/html/search/classes_9.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++.internal/html/search/classes_9.js b/doc/ref/c++.internal/html/search/classes_9.js new file mode 100644 index 0000000000..22592dafa5 --- /dev/null +++ b/doc/ref/c++.internal/html/search/classes_9.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['methodhandler',['MethodHandler',['../classgrpc_1_1_method_handler.html',1,'grpc']]], + ['mutex',['mutex',['../classgrpc_1_1mutex.html',1,'grpc']]] +]; diff --git a/doc/ref/c++.internal/html/search/classes_a.html b/doc/ref/c++.internal/html/search/classes_a.html new file mode 100644 index 0000000000..616feb69a2 --- /dev/null +++ b/doc/ref/c++.internal/html/search/classes_a.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++.internal/html/search/classes_a.js b/doc/ref/c++.internal/html/search/classes_a.js new file mode 100644 index 0000000000..03e0761f94 --- /dev/null +++ b/doc/ref/c++.internal/html/search/classes_a.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['pemkeycertpair',['PemKeyCertPair',['../structgrpc_1_1_ssl_server_credentials_options_1_1_pem_key_cert_pair.html',1,'grpc::SslServerCredentialsOptions']]] +]; diff --git a/doc/ref/c++.internal/html/search/classes_b.html b/doc/ref/c++.internal/html/search/classes_b.html new file mode 100644 index 0000000000..4461152200 --- /dev/null +++ b/doc/ref/c++.internal/html/search/classes_b.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++.internal/html/search/classes_b.js b/doc/ref/c++.internal/html/search/classes_b.js new file mode 100644 index 0000000000..a293bc664d --- /dev/null +++ b/doc/ref/c++.internal/html/search/classes_b.js @@ -0,0 +1,8 @@ +var searchData= +[ + ['readerinterface',['ReaderInterface',['../classgrpc_1_1_reader_interface.html',1,'grpc']]], + ['rpcmethod',['RpcMethod',['../classgrpc_1_1_rpc_method.html',1,'grpc']]], + ['rpcmethodhandler',['RpcMethodHandler',['../classgrpc_1_1_rpc_method_handler.html',1,'grpc']]], + ['rpcservice',['RpcService',['../classgrpc_1_1_rpc_service.html',1,'grpc']]], + ['rpcservicemethod',['RpcServiceMethod',['../classgrpc_1_1_rpc_service_method.html',1,'grpc']]] +]; diff --git a/doc/ref/c++.internal/html/search/classes_c.html b/doc/ref/c++.internal/html/search/classes_c.html new file mode 100644 index 0000000000..8f92c8632a --- /dev/null +++ b/doc/ref/c++.internal/html/search/classes_c.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++.internal/html/search/classes_c.js b/doc/ref/c++.internal/html/search/classes_c.js new file mode 100644 index 0000000000..9da0a700ae --- /dev/null +++ b/doc/ref/c++.internal/html/search/classes_c.js @@ -0,0 +1,32 @@ +var searchData= +[ + ['secureauthcontext',['SecureAuthContext',['../classgrpc_1_1_secure_auth_context.html',1,'grpc']]], + ['securecredentials',['SecureCredentials',['../classgrpc_1_1_secure_credentials.html',1,'grpc']]], + ['secureservercredentials',['SecureServerCredentials',['../classgrpc_1_1_secure_server_credentials.html',1,'grpc']]], + ['serializationtraits',['SerializationTraits',['../classgrpc_1_1_serialization_traits.html',1,'grpc']]], + ['serializationtraits_3c_20bytebuffer_2c_20void_20_3e',['SerializationTraits< ByteBuffer, void >',['../classgrpc_1_1_serialization_traits_3_01_byte_buffer_00_01void_01_4.html',1,'grpc']]], + ['serializationtraits_3c_20t_2c_20typename_20std_3a_3aenable_5fif_3c_20std_3a_3ais_5fbase_5fof_3c_20grpc_3a_3aprotobuf_3a_3amessage_2c_20t_20_3e_3a_3avalue_20_3e_3a_3atype_20_3e',['SerializationTraits< T, typename std::enable_if< std::is_base_of< grpc::protobuf::Message, T >::value >::type >',['../classgrpc_1_1_serialization_traits_3_01_t_00_01typename_01std_1_1enable__if_3_01std_1_1is__base_42903f95c85f031c7724191271564901.html',1,'grpc']]], + ['server',['Server',['../classgrpc_1_1_server.html',1,'grpc']]], + ['serverasyncreader',['ServerAsyncReader',['../classgrpc_1_1_server_async_reader.html',1,'grpc']]], + ['serverasyncreaderwriter',['ServerAsyncReaderWriter',['../classgrpc_1_1_server_async_reader_writer.html',1,'grpc']]], + ['serverasyncresponsewriter',['ServerAsyncResponseWriter',['../classgrpc_1_1_server_async_response_writer.html',1,'grpc']]], + ['serverasyncstreaminginterface',['ServerAsyncStreamingInterface',['../classgrpc_1_1_server_async_streaming_interface.html',1,'grpc']]], + ['serverasyncwriter',['ServerAsyncWriter',['../classgrpc_1_1_server_async_writer.html',1,'grpc']]], + ['serverbuilder',['ServerBuilder',['../classgrpc_1_1_server_builder.html',1,'grpc']]], + ['servercompletionqueue',['ServerCompletionQueue',['../classgrpc_1_1_server_completion_queue.html',1,'grpc']]], + ['servercontext',['ServerContext',['../classgrpc_1_1_server_context.html',1,'grpc']]], + ['servercredentials',['ServerCredentials',['../classgrpc_1_1_server_credentials.html',1,'grpc']]], + ['serverreader',['ServerReader',['../classgrpc_1_1_server_reader.html',1,'grpc']]], + ['serverreaderwriter',['ServerReaderWriter',['../classgrpc_1_1_server_reader_writer.html',1,'grpc']]], + ['serverstreaminghandler',['ServerStreamingHandler',['../classgrpc_1_1_server_streaming_handler.html',1,'grpc']]], + ['serverwriter',['ServerWriter',['../classgrpc_1_1_server_writer.html',1,'grpc']]], + ['shutdownrequest',['ShutdownRequest',['../classgrpc_1_1_server_1_1_shutdown_request.html',1,'grpc::Server']]], + ['slice',['Slice',['../classgrpc_1_1_slice.html',1,'grpc']]], + ['sneakycallopset',['SneakyCallOpSet',['../classgrpc_1_1_sneaky_call_op_set.html',1,'grpc']]], + ['sneakycallopset_3c_20grpc_3a_3acallopsendinitialmetadata_2c_20grpc_3a_3acallopsendmessage_2c_20grpc_3a_3acallopclientsendclose_20_3e',['SneakyCallOpSet< grpc::CallOpSendInitialMetadata, grpc::CallOpSendMessage, grpc::CallOpClientSendClose >',['../classgrpc_1_1_sneaky_call_op_set.html',1,'grpc']]], + ['sslcredentialsoptions',['SslCredentialsOptions',['../structgrpc_1_1_ssl_credentials_options.html',1,'grpc']]], + ['sslservercredentialsoptions',['SslServerCredentialsOptions',['../structgrpc_1_1_ssl_server_credentials_options.html',1,'grpc']]], + ['status',['Status',['../classgrpc_1_1_status.html',1,'grpc']]], + ['synchronousservice',['SynchronousService',['../classgrpc_1_1_synchronous_service.html',1,'grpc']]], + ['syncrequest',['SyncRequest',['../classgrpc_1_1_server_1_1_sync_request.html',1,'grpc::Server']]] +]; diff --git a/doc/ref/c++.internal/html/search/classes_d.html b/doc/ref/c++.internal/html/search/classes_d.html new file mode 100644 index 0000000000..9690cf0bac --- /dev/null +++ b/doc/ref/c++.internal/html/search/classes_d.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++.internal/html/search/classes_d.js b/doc/ref/c++.internal/html/search/classes_d.js new file mode 100644 index 0000000000..d1fd4bc820 --- /dev/null +++ b/doc/ref/c++.internal/html/search/classes_d.js @@ -0,0 +1,8 @@ +var searchData= +[ + ['thread',['thread',['../classgrpc_1_1thread.html',1,'grpc']]], + ['threadpoolinterface',['ThreadPoolInterface',['../classgrpc_1_1_thread_pool_interface.html',1,'grpc']]], + ['timepoint',['TimePoint',['../classgrpc_1_1_time_point.html',1,'grpc']]], + ['timepoint_3c_20gpr_5ftimespec_20_3e',['TimePoint< gpr_timespec >',['../classgrpc_1_1_time_point_3_01gpr__timespec_01_4.html',1,'grpc']]], + ['timepoint_3c_20std_3a_3achrono_3a_3asystem_5fclock_3a_3atime_5fpoint_20_3e',['TimePoint< std::chrono::system_clock::time_point >',['../classgrpc_1_1_time_point_3_01std_1_1chrono_1_1system__clock_1_1time__point_01_4.html',1,'grpc']]] +]; diff --git a/doc/ref/c++.internal/html/search/classes_e.html b/doc/ref/c++.internal/html/search/classes_e.html new file mode 100644 index 0000000000..24a3ef3aba --- /dev/null +++ b/doc/ref/c++.internal/html/search/classes_e.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++.internal/html/search/classes_e.js b/doc/ref/c++.internal/html/search/classes_e.js new file mode 100644 index 0000000000..71c7b99b3b --- /dev/null +++ b/doc/ref/c++.internal/html/search/classes_e.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['unique_5flock',['unique_lock',['../classgrpc_1_1unique__lock.html',1,'grpc']]] +]; diff --git a/doc/ref/c++.internal/html/search/classes_f.html b/doc/ref/c++.internal/html/search/classes_f.html new file mode 100644 index 0000000000..cee523ad6b --- /dev/null +++ b/doc/ref/c++.internal/html/search/classes_f.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++.internal/html/search/classes_f.js b/doc/ref/c++.internal/html/search/classes_f.js new file mode 100644 index 0000000000..782df7c817 --- /dev/null +++ b/doc/ref/c++.internal/html/search/classes_f.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['writeoptions',['WriteOptions',['../classgrpc_1_1_write_options.html',1,'grpc']]], + ['writerinterface',['WriterInterface',['../classgrpc_1_1_writer_interface.html',1,'grpc']]] +]; diff --git a/doc/ref/c++.internal/html/search/close.png b/doc/ref/c++.internal/html/search/close.png new file mode 100644 index 0000000000..9342d3dfee Binary files /dev/null and b/doc/ref/c++.internal/html/search/close.png differ diff --git a/doc/ref/c++.internal/html/search/defines_0.html b/doc/ref/c++.internal/html/search/defines_0.html new file mode 100644 index 0000000000..c2f0b46cfb --- /dev/null +++ b/doc/ref/c++.internal/html/search/defines_0.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++.internal/html/search/defines_0.js b/doc/ref/c++.internal/html/search/defines_0.js new file mode 100644 index 0000000000..ef46b23b6b --- /dev/null +++ b/doc/ref/c++.internal/html/search/defines_0.js @@ -0,0 +1,11 @@ +var searchData= +[ + ['grpc_5fcustom_5fcodedinputstream',['GRPC_CUSTOM_CODEDINPUTSTREAM',['../config__protobuf_8h.html#adab2e3bf138e8ee14fc7dc7957618d2f',1,'config_protobuf.h']]], + ['grpc_5fcustom_5fmessage',['GRPC_CUSTOM_MESSAGE',['../config__protobuf_8h.html#a9dada7a420bf3d91c428fa9699bd2ef3',1,'config_protobuf.h']]], + ['grpc_5fcustom_5fprotobuf_5fint64',['GRPC_CUSTOM_PROTOBUF_INT64',['../config__protobuf_8h.html#a42a6e2b3f439893077e50cdaa72e98f2',1,'config_protobuf.h']]], + ['grpc_5fcustom_5fstring',['GRPC_CUSTOM_STRING',['../config_8h.html#af6ef913b6d13d83d79be41d007120992',1,'config.h']]], + ['grpc_5fcustom_5fzerocopyinputstream',['GRPC_CUSTOM_ZEROCOPYINPUTSTREAM',['../config__protobuf_8h.html#a1a6610a655f8fd6d36672c729a865ca0',1,'config_protobuf.h']]], + ['grpc_5fcustom_5fzerocopyoutputstream',['GRPC_CUSTOM_ZEROCOPYOUTPUTSTREAM',['../config__protobuf_8h.html#a7630e432db31b2693f8c2be7d3c79ef8',1,'config_protobuf.h']]], + ['grpc_5ffinal',['GRPC_FINAL',['../config_8h.html#ab2216aa6e0ffe505e1ec362a9621a7f9',1,'config.h']]], + ['grpc_5foverride',['GRPC_OVERRIDE',['../config_8h.html#a9a884d706be26697c9c892365a3402a9',1,'config.h']]] +]; diff --git a/doc/ref/c++.internal/html/search/enums_0.html b/doc/ref/c++.internal/html/search/enums_0.html new file mode 100644 index 0000000000..b4cbe1e3ca --- /dev/null +++ b/doc/ref/c++.internal/html/search/enums_0.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++.internal/html/search/enums_0.js b/doc/ref/c++.internal/html/search/enums_0.js new file mode 100644 index 0000000000..7e7b809a18 --- /dev/null +++ b/doc/ref/c++.internal/html/search/enums_0.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['addref',['AddRef',['../classgrpc_1_1_slice.html#ac1e8469bbb6dfa9ab9e646e0b48f5fe2',1,'grpc::Slice']]] +]; diff --git a/doc/ref/c++.internal/html/search/enums_1.html b/doc/ref/c++.internal/html/search/enums_1.html new file mode 100644 index 0000000000..2af2a03ec9 --- /dev/null +++ b/doc/ref/c++.internal/html/search/enums_1.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++.internal/html/search/enums_1.js b/doc/ref/c++.internal/html/search/enums_1.js new file mode 100644 index 0000000000..af4facc6cc --- /dev/null +++ b/doc/ref/c++.internal/html/search/enums_1.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['nextstatus',['NextStatus',['../classgrpc_1_1_completion_queue.html#a6227657fb2f29291f80cd092f9baf572',1,'grpc::CompletionQueue']]] +]; diff --git a/doc/ref/c++.internal/html/search/enums_2.html b/doc/ref/c++.internal/html/search/enums_2.html new file mode 100644 index 0000000000..f96cf0a736 --- /dev/null +++ b/doc/ref/c++.internal/html/search/enums_2.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++.internal/html/search/enums_2.js b/doc/ref/c++.internal/html/search/enums_2.js new file mode 100644 index 0000000000..9799e04f4b --- /dev/null +++ b/doc/ref/c++.internal/html/search/enums_2.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['rpctype',['RpcType',['../classgrpc_1_1_rpc_method.html#ace95416ed07409e43059a0dfe9e23688',1,'grpc::RpcMethod']]] +]; diff --git a/doc/ref/c++.internal/html/search/enums_3.html b/doc/ref/c++.internal/html/search/enums_3.html new file mode 100644 index 0000000000..77df324aff --- /dev/null +++ b/doc/ref/c++.internal/html/search/enums_3.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++.internal/html/search/enums_3.js b/doc/ref/c++.internal/html/search/enums_3.js new file mode 100644 index 0000000000..3aef7f9dbc --- /dev/null +++ b/doc/ref/c++.internal/html/search/enums_3.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['statuscode',['StatusCode',['../namespacegrpc.html#aff1730578c90160528f6a8d67ef5c43b',1,'grpc']]], + ['stealref',['StealRef',['../classgrpc_1_1_slice.html#a13fbbec0e9121a8b948d563f9730d75a',1,'grpc::Slice']]] +]; diff --git a/doc/ref/c++.internal/html/search/enumvalues_0.html b/doc/ref/c++.internal/html/search/enumvalues_0.html new file mode 100644 index 0000000000..3e00fcf61a --- /dev/null +++ b/doc/ref/c++.internal/html/search/enumvalues_0.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++.internal/html/search/enumvalues_0.js b/doc/ref/c++.internal/html/search/enumvalues_0.js new file mode 100644 index 0000000000..1595a760a4 --- /dev/null +++ b/doc/ref/c++.internal/html/search/enumvalues_0.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['aborted',['ABORTED',['../namespacegrpc.html#aff1730578c90160528f6a8d67ef5c43ba8387a7175771975bee404def25236b0c',1,'grpc']]], + ['add_5fref',['ADD_REF',['../classgrpc_1_1_slice.html#ac1e8469bbb6dfa9ab9e646e0b48f5fe2a2ea965f79036dea69221557ec04580b2',1,'grpc::Slice']]], + ['already_5fexists',['ALREADY_EXISTS',['../namespacegrpc.html#aff1730578c90160528f6a8d67ef5c43baf48ac5527afcabd618d8b86f2de45b9b',1,'grpc']]] +]; diff --git a/doc/ref/c++.internal/html/search/enumvalues_1.html b/doc/ref/c++.internal/html/search/enumvalues_1.html new file mode 100644 index 0000000000..0e575c969a --- /dev/null +++ b/doc/ref/c++.internal/html/search/enumvalues_1.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++.internal/html/search/enumvalues_1.js b/doc/ref/c++.internal/html/search/enumvalues_1.js new file mode 100644 index 0000000000..b49693e2a2 --- /dev/null +++ b/doc/ref/c++.internal/html/search/enumvalues_1.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['bidi_5fstreaming',['BIDI_STREAMING',['../classgrpc_1_1_rpc_method.html#ace95416ed07409e43059a0dfe9e23688ae482ab481fdc406d88adcdd088269894',1,'grpc::RpcMethod']]] +]; diff --git a/doc/ref/c++.internal/html/search/enumvalues_2.html b/doc/ref/c++.internal/html/search/enumvalues_2.html new file mode 100644 index 0000000000..e59f4acb75 --- /dev/null +++ b/doc/ref/c++.internal/html/search/enumvalues_2.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++.internal/html/search/enumvalues_2.js b/doc/ref/c++.internal/html/search/enumvalues_2.js new file mode 100644 index 0000000000..cd81ea50c3 --- /dev/null +++ b/doc/ref/c++.internal/html/search/enumvalues_2.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['cancelled',['CANCELLED',['../namespacegrpc.html#aff1730578c90160528f6a8d67ef5c43bac3ef309c0b3f1c8a01265fa1a39ae4b2',1,'grpc']]], + ['client_5fstreaming',['CLIENT_STREAMING',['../classgrpc_1_1_rpc_method.html#ace95416ed07409e43059a0dfe9e23688a93445bd936c37c2f089f8a9075ebcb2a',1,'grpc::RpcMethod']]] +]; diff --git a/doc/ref/c++.internal/html/search/enumvalues_3.html b/doc/ref/c++.internal/html/search/enumvalues_3.html new file mode 100644 index 0000000000..0a2d754e4d --- /dev/null +++ b/doc/ref/c++.internal/html/search/enumvalues_3.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++.internal/html/search/enumvalues_3.js b/doc/ref/c++.internal/html/search/enumvalues_3.js new file mode 100644 index 0000000000..31f375d694 --- /dev/null +++ b/doc/ref/c++.internal/html/search/enumvalues_3.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['data_5floss',['DATA_LOSS',['../namespacegrpc.html#aff1730578c90160528f6a8d67ef5c43bac956d5194137e0238de8544479133688',1,'grpc']]], + ['deadline_5fexceeded',['DEADLINE_EXCEEDED',['../namespacegrpc.html#aff1730578c90160528f6a8d67ef5c43baed5a57c7db66fbdf1860e81edf716628',1,'grpc']]], + ['do_5fnot_5fuse',['DO_NOT_USE',['../namespacegrpc.html#aff1730578c90160528f6a8d67ef5c43ba7216941fd727fb92d71e10d85bfa5234',1,'grpc']]] +]; diff --git a/doc/ref/c++.internal/html/search/enumvalues_4.html b/doc/ref/c++.internal/html/search/enumvalues_4.html new file mode 100644 index 0000000000..1258082bbf --- /dev/null +++ b/doc/ref/c++.internal/html/search/enumvalues_4.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++.internal/html/search/enumvalues_4.js b/doc/ref/c++.internal/html/search/enumvalues_4.js new file mode 100644 index 0000000000..2b0cf91706 --- /dev/null +++ b/doc/ref/c++.internal/html/search/enumvalues_4.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['failed_5fprecondition',['FAILED_PRECONDITION',['../namespacegrpc.html#aff1730578c90160528f6a8d67ef5c43ba7f49e2cd3c20ab00710f61d7dbb88aa2',1,'grpc']]] +]; diff --git a/doc/ref/c++.internal/html/search/enumvalues_5.html b/doc/ref/c++.internal/html/search/enumvalues_5.html new file mode 100644 index 0000000000..e42d495996 --- /dev/null +++ b/doc/ref/c++.internal/html/search/enumvalues_5.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++.internal/html/search/enumvalues_5.js b/doc/ref/c++.internal/html/search/enumvalues_5.js new file mode 100644 index 0000000000..10390f9de8 --- /dev/null +++ b/doc/ref/c++.internal/html/search/enumvalues_5.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['got_5fevent',['GOT_EVENT',['../classgrpc_1_1_completion_queue.html#a6227657fb2f29291f80cd092f9baf572a5d8344849fb99341b7edaa9da7b42c08',1,'grpc::CompletionQueue']]] +]; diff --git a/doc/ref/c++.internal/html/search/enumvalues_6.html b/doc/ref/c++.internal/html/search/enumvalues_6.html new file mode 100644 index 0000000000..96249ec49e --- /dev/null +++ b/doc/ref/c++.internal/html/search/enumvalues_6.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++.internal/html/search/enumvalues_6.js b/doc/ref/c++.internal/html/search/enumvalues_6.js new file mode 100644 index 0000000000..96a196818d --- /dev/null +++ b/doc/ref/c++.internal/html/search/enumvalues_6.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['internal',['INTERNAL',['../namespacegrpc.html#aff1730578c90160528f6a8d67ef5c43ba0ae30536146394965fd8ad64c2d414f3',1,'grpc']]], + ['invalid_5fargument',['INVALID_ARGUMENT',['../namespacegrpc.html#aff1730578c90160528f6a8d67ef5c43ba8d75876e087d1950914920f499d4a8d2',1,'grpc']]] +]; diff --git a/doc/ref/c++.internal/html/search/enumvalues_7.html b/doc/ref/c++.internal/html/search/enumvalues_7.html new file mode 100644 index 0000000000..d38c296a1c --- /dev/null +++ b/doc/ref/c++.internal/html/search/enumvalues_7.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++.internal/html/search/enumvalues_7.js b/doc/ref/c++.internal/html/search/enumvalues_7.js new file mode 100644 index 0000000000..950b3d878f --- /dev/null +++ b/doc/ref/c++.internal/html/search/enumvalues_7.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['normal_5frpc',['NORMAL_RPC',['../classgrpc_1_1_rpc_method.html#ace95416ed07409e43059a0dfe9e23688a8f7dac3c5cdbdbb204e3d3dbab033c2e',1,'grpc::RpcMethod']]], + ['not_5ffound',['NOT_FOUND',['../namespacegrpc.html#aff1730578c90160528f6a8d67ef5c43bae5d4bec40cae17f03007d4febf36c8f5',1,'grpc']]] +]; diff --git a/doc/ref/c++.internal/html/search/enumvalues_8.html b/doc/ref/c++.internal/html/search/enumvalues_8.html new file mode 100644 index 0000000000..9966e4688c --- /dev/null +++ b/doc/ref/c++.internal/html/search/enumvalues_8.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++.internal/html/search/enumvalues_8.js b/doc/ref/c++.internal/html/search/enumvalues_8.js new file mode 100644 index 0000000000..82f4afa6bd --- /dev/null +++ b/doc/ref/c++.internal/html/search/enumvalues_8.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['ok',['OK',['../namespacegrpc.html#aff1730578c90160528f6a8d67ef5c43baf6f3078af147d683afc70e09695c7a65',1,'grpc']]], + ['out_5fof_5frange',['OUT_OF_RANGE',['../namespacegrpc.html#aff1730578c90160528f6a8d67ef5c43babb9d017cdfdd51b177b3591301c42901',1,'grpc']]] +]; diff --git a/doc/ref/c++.internal/html/search/enumvalues_9.html b/doc/ref/c++.internal/html/search/enumvalues_9.html new file mode 100644 index 0000000000..926ed9f2ec --- /dev/null +++ b/doc/ref/c++.internal/html/search/enumvalues_9.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++.internal/html/search/enumvalues_9.js b/doc/ref/c++.internal/html/search/enumvalues_9.js new file mode 100644 index 0000000000..f595bbb03c --- /dev/null +++ b/doc/ref/c++.internal/html/search/enumvalues_9.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['permission_5fdenied',['PERMISSION_DENIED',['../namespacegrpc.html#aff1730578c90160528f6a8d67ef5c43ba671e44044d68f82be37c8ec3b0a9c449',1,'grpc']]] +]; diff --git a/doc/ref/c++.internal/html/search/enumvalues_a.html b/doc/ref/c++.internal/html/search/enumvalues_a.html new file mode 100644 index 0000000000..fa2cf426b2 --- /dev/null +++ b/doc/ref/c++.internal/html/search/enumvalues_a.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++.internal/html/search/enumvalues_a.js b/doc/ref/c++.internal/html/search/enumvalues_a.js new file mode 100644 index 0000000000..7836a4f2c7 --- /dev/null +++ b/doc/ref/c++.internal/html/search/enumvalues_a.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['resource_5fexhausted',['RESOURCE_EXHAUSTED',['../namespacegrpc.html#aff1730578c90160528f6a8d67ef5c43ba663615dcb59881e3fe4206066666086f',1,'grpc']]] +]; diff --git a/doc/ref/c++.internal/html/search/enumvalues_b.html b/doc/ref/c++.internal/html/search/enumvalues_b.html new file mode 100644 index 0000000000..f45e84c9bb --- /dev/null +++ b/doc/ref/c++.internal/html/search/enumvalues_b.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++.internal/html/search/enumvalues_b.js b/doc/ref/c++.internal/html/search/enumvalues_b.js new file mode 100644 index 0000000000..786ebe30f8 --- /dev/null +++ b/doc/ref/c++.internal/html/search/enumvalues_b.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['server_5fstreaming',['SERVER_STREAMING',['../classgrpc_1_1_rpc_method.html#ace95416ed07409e43059a0dfe9e23688a86f700048be78a1204139f70912f7775',1,'grpc::RpcMethod']]], + ['shutdown',['SHUTDOWN',['../classgrpc_1_1_completion_queue.html#a6227657fb2f29291f80cd092f9baf572a5d05c1c970154dad10e5f648890c215b',1,'grpc::CompletionQueue']]], + ['steal_5fref',['STEAL_REF',['../classgrpc_1_1_slice.html#a13fbbec0e9121a8b948d563f9730d75aae0777a96d69fe69aec2acd1f0f9cefb7',1,'grpc::Slice']]] +]; diff --git a/doc/ref/c++.internal/html/search/enumvalues_c.html b/doc/ref/c++.internal/html/search/enumvalues_c.html new file mode 100644 index 0000000000..6ad81ca5dd --- /dev/null +++ b/doc/ref/c++.internal/html/search/enumvalues_c.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++.internal/html/search/enumvalues_c.js b/doc/ref/c++.internal/html/search/enumvalues_c.js new file mode 100644 index 0000000000..827d08ef08 --- /dev/null +++ b/doc/ref/c++.internal/html/search/enumvalues_c.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['timeout',['TIMEOUT',['../classgrpc_1_1_completion_queue.html#a6227657fb2f29291f80cd092f9baf572ae88eecb45f91413b425511ee973e2e04',1,'grpc::CompletionQueue']]] +]; diff --git a/doc/ref/c++.internal/html/search/enumvalues_d.html b/doc/ref/c++.internal/html/search/enumvalues_d.html new file mode 100644 index 0000000000..526907ab4d --- /dev/null +++ b/doc/ref/c++.internal/html/search/enumvalues_d.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++.internal/html/search/enumvalues_d.js b/doc/ref/c++.internal/html/search/enumvalues_d.js new file mode 100644 index 0000000000..0fbd3f597e --- /dev/null +++ b/doc/ref/c++.internal/html/search/enumvalues_d.js @@ -0,0 +1,7 @@ +var searchData= +[ + ['unauthenticated',['UNAUTHENTICATED',['../namespacegrpc.html#aff1730578c90160528f6a8d67ef5c43ba4290323b58d11554a249a870532c908e',1,'grpc']]], + ['unavailable',['UNAVAILABLE',['../namespacegrpc.html#aff1730578c90160528f6a8d67ef5c43ba87779003bbcfd441fd0ef335c13cb2c3',1,'grpc']]], + ['unimplemented',['UNIMPLEMENTED',['../namespacegrpc.html#aff1730578c90160528f6a8d67ef5c43ba31d8b2f1f3307ed261328cb3eece163b',1,'grpc']]], + ['unknown',['UNKNOWN',['../namespacegrpc.html#aff1730578c90160528f6a8d67ef5c43bab32b226dd4ccbe5b70fbceb3a915b256',1,'grpc']]] +]; diff --git a/doc/ref/c++.internal/html/search/files_0.html b/doc/ref/c++.internal/html/search/files_0.html new file mode 100644 index 0000000000..c7aa36c96f --- /dev/null +++ b/doc/ref/c++.internal/html/search/files_0.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++.internal/html/search/files_0.js b/doc/ref/c++.internal/html/search/files_0.js new file mode 100644 index 0000000000..91f2c6078d --- /dev/null +++ b/doc/ref/c++.internal/html/search/files_0.js @@ -0,0 +1,9 @@ +var searchData= +[ + ['async_5fgeneric_5fservice_2ecc',['async_generic_service.cc',['../async__generic__service_8cc.html',1,'']]], + ['async_5fgeneric_5fservice_2eh',['async_generic_service.h',['../async__generic__service_8h.html',1,'']]], + ['async_5funary_5fcall_2eh',['async_unary_call.h',['../async__unary__call_8h.html',1,'']]], + ['auth_5fcontext_2eh',['auth_context.h',['../auth__context_8h.html',1,'']]], + ['auth_5fproperty_5fiterator_2ecc',['auth_property_iterator.cc',['../auth__property__iterator_8cc.html',1,'']]], + ['auth_5fproperty_5fiterator_2eh',['auth_property_iterator.h',['../auth__property__iterator_8h.html',1,'']]] +]; diff --git a/doc/ref/c++.internal/html/search/files_1.html b/doc/ref/c++.internal/html/search/files_1.html new file mode 100644 index 0000000000..eca1c80542 --- /dev/null +++ b/doc/ref/c++.internal/html/search/files_1.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++.internal/html/search/files_1.js b/doc/ref/c++.internal/html/search/files_1.js new file mode 100644 index 0000000000..911509f506 --- /dev/null +++ b/doc/ref/c++.internal/html/search/files_1.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['byte_5fbuffer_2ecc',['byte_buffer.cc',['../byte__buffer_8cc.html',1,'']]], + ['byte_5fbuffer_2eh',['byte_buffer.h',['../byte__buffer_8h.html',1,'']]] +]; diff --git a/doc/ref/c++.internal/html/search/files_2.html b/doc/ref/c++.internal/html/search/files_2.html new file mode 100644 index 0000000000..04a8a46342 --- /dev/null +++ b/doc/ref/c++.internal/html/search/files_2.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++.internal/html/search/files_2.js b/doc/ref/c++.internal/html/search/files_2.js new file mode 100644 index 0000000000..32a93ab551 --- /dev/null +++ b/doc/ref/c++.internal/html/search/files_2.js @@ -0,0 +1,23 @@ +var searchData= +[ + ['call_2ecc',['call.cc',['../call_8cc.html',1,'']]], + ['call_2eh',['call.h',['../call_8h.html',1,'']]], + ['channel_2ecc',['channel.cc',['../channel_8cc.html',1,'']]], + ['channel_2eh',['channel.h',['../channel_8h.html',1,'']]], + ['channel_5farguments_2ecc',['channel_arguments.cc',['../channel__arguments_8cc.html',1,'']]], + ['channel_5farguments_2eh',['channel_arguments.h',['../channel__arguments_8h.html',1,'']]], + ['channel_5finterface_2eh',['channel_interface.h',['../channel__interface_8h.html',1,'']]], + ['client_5fcontext_2ecc',['client_context.cc',['../client__context_8cc.html',1,'']]], + ['client_5fcontext_2eh',['client_context.h',['../client__context_8h.html',1,'']]], + ['client_5funary_5fcall_2eh',['client_unary_call.h',['../client__unary__call_8h.html',1,'']]], + ['completion_5fqueue_2ecc',['completion_queue.cc',['../completion__queue_8cc.html',1,'']]], + ['completion_5fqueue_2eh',['completion_queue.h',['../completion__queue_8h.html',1,'']]], + ['config_2eh',['config.h',['../config_8h.html',1,'']]], + ['config_5fprotobuf_2eh',['config_protobuf.h',['../config__protobuf_8h.html',1,'']]], + ['create_5fauth_5fcontext_2eh',['create_auth_context.h',['../create__auth__context_8h.html',1,'']]], + ['create_5fchannel_2ecc',['create_channel.cc',['../create__channel_8cc.html',1,'']]], + ['create_5fchannel_2eh',['create_channel.h',['../create__channel_8h.html',1,'']]], + ['create_5fdefault_5fthread_5fpool_2ecc',['create_default_thread_pool.cc',['../create__default__thread__pool_8cc.html',1,'']]], + ['credentials_2ecc',['credentials.cc',['../credentials_8cc.html',1,'']]], + ['credentials_2eh',['credentials.h',['../credentials_8h.html',1,'']]] +]; diff --git a/doc/ref/c++.internal/html/search/files_3.html b/doc/ref/c++.internal/html/search/files_3.html new file mode 100644 index 0000000000..0dc9a561e5 --- /dev/null +++ b/doc/ref/c++.internal/html/search/files_3.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++.internal/html/search/files_3.js b/doc/ref/c++.internal/html/search/files_3.js new file mode 100644 index 0000000000..071ae18d08 --- /dev/null +++ b/doc/ref/c++.internal/html/search/files_3.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['dynamic_5fthread_5fpool_2ecc',['dynamic_thread_pool.cc',['../dynamic__thread__pool_8cc.html',1,'']]], + ['dynamic_5fthread_5fpool_2eh',['dynamic_thread_pool.h',['../dynamic__thread__pool_8h.html',1,'']]] +]; diff --git a/doc/ref/c++.internal/html/search/files_4.html b/doc/ref/c++.internal/html/search/files_4.html new file mode 100644 index 0000000000..891b5da340 --- /dev/null +++ b/doc/ref/c++.internal/html/search/files_4.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++.internal/html/search/files_4.js b/doc/ref/c++.internal/html/search/files_4.js new file mode 100644 index 0000000000..47fa0431db --- /dev/null +++ b/doc/ref/c++.internal/html/search/files_4.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['fixed_5fsize_5fthread_5fpool_2ecc',['fixed_size_thread_pool.cc',['../fixed__size__thread__pool_8cc.html',1,'']]], + ['fixed_5fsize_5fthread_5fpool_2eh',['fixed_size_thread_pool.h',['../fixed__size__thread__pool_8h.html',1,'']]] +]; diff --git a/doc/ref/c++.internal/html/search/files_5.html b/doc/ref/c++.internal/html/search/files_5.html new file mode 100644 index 0000000000..1741195c0f --- /dev/null +++ b/doc/ref/c++.internal/html/search/files_5.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++.internal/html/search/files_5.js b/doc/ref/c++.internal/html/search/files_5.js new file mode 100644 index 0000000000..ef774b5ffd --- /dev/null +++ b/doc/ref/c++.internal/html/search/files_5.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['generic_5fstub_2ecc',['generic_stub.cc',['../generic__stub_8cc.html',1,'']]], + ['generic_5fstub_2eh',['generic_stub.h',['../generic__stub_8h.html',1,'']]], + ['grpc_5flibrary_2eh',['grpc_library.h',['../grpc__library_8h.html',1,'']]] +]; diff --git a/doc/ref/c++.internal/html/search/files_6.html b/doc/ref/c++.internal/html/search/files_6.html new file mode 100644 index 0000000000..262d3da249 --- /dev/null +++ b/doc/ref/c++.internal/html/search/files_6.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++.internal/html/search/files_6.js b/doc/ref/c++.internal/html/search/files_6.js new file mode 100644 index 0000000000..9672770b39 --- /dev/null +++ b/doc/ref/c++.internal/html/search/files_6.js @@ -0,0 +1,7 @@ +var searchData= +[ + ['insecure_5fcredentials_2ecc',['insecure_credentials.cc',['../insecure__credentials_8cc.html',1,'']]], + ['insecure_5fserver_5fcredentials_2ecc',['insecure_server_credentials.cc',['../insecure__server__credentials_8cc.html',1,'']]], + ['internal_5fstub_2ecc',['internal_stub.cc',['../internal__stub_8cc.html',1,'']]], + ['internal_5fstub_2eh',['internal_stub.h',['../internal__stub_8h.html',1,'']]] +]; diff --git a/doc/ref/c++.internal/html/search/files_7.html b/doc/ref/c++.internal/html/search/files_7.html new file mode 100644 index 0000000000..c5355726df --- /dev/null +++ b/doc/ref/c++.internal/html/search/files_7.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++.internal/html/search/files_7.js b/doc/ref/c++.internal/html/search/files_7.js new file mode 100644 index 0000000000..2f0f886445 --- /dev/null +++ b/doc/ref/c++.internal/html/search/files_7.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['proto_5futils_2ecc',['proto_utils.cc',['../proto__utils_8cc.html',1,'']]], + ['proto_5futils_2eh',['proto_utils.h',['../proto__utils_8h.html',1,'']]] +]; diff --git a/doc/ref/c++.internal/html/search/files_8.html b/doc/ref/c++.internal/html/search/files_8.html new file mode 100644 index 0000000000..21c328afad --- /dev/null +++ b/doc/ref/c++.internal/html/search/files_8.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++.internal/html/search/files_8.js b/doc/ref/c++.internal/html/search/files_8.js new file mode 100644 index 0000000000..beb7b938db --- /dev/null +++ b/doc/ref/c++.internal/html/search/files_8.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['rpc_5fmethod_2ecc',['rpc_method.cc',['../rpc__method_8cc.html',1,'']]], + ['rpc_5fmethod_2eh',['rpc_method.h',['../rpc__method_8h.html',1,'']]], + ['rpc_5fservice_5fmethod_2eh',['rpc_service_method.h',['../rpc__service__method_8h.html',1,'']]] +]; diff --git a/doc/ref/c++.internal/html/search/files_9.html b/doc/ref/c++.internal/html/search/files_9.html new file mode 100644 index 0000000000..00a520120c --- /dev/null +++ b/doc/ref/c++.internal/html/search/files_9.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++.internal/html/search/files_9.js b/doc/ref/c++.internal/html/search/files_9.js new file mode 100644 index 0000000000..edf7431c18 --- /dev/null +++ b/doc/ref/c++.internal/html/search/files_9.js @@ -0,0 +1,30 @@ +var searchData= +[ + ['secure_5fauth_5fcontext_2ecc',['secure_auth_context.cc',['../secure__auth__context_8cc.html',1,'']]], + ['secure_5fauth_5fcontext_2eh',['secure_auth_context.h',['../secure__auth__context_8h.html',1,'']]], + ['secure_5fchannel_5farguments_2ecc',['secure_channel_arguments.cc',['../secure__channel__arguments_8cc.html',1,'']]], + ['secure_5fcreate_5fauth_5fcontext_2ecc',['secure_create_auth_context.cc',['../secure__create__auth__context_8cc.html',1,'']]], + ['secure_5fcredentials_2ecc',['secure_credentials.cc',['../secure__credentials_8cc.html',1,'']]], + ['secure_5fcredentials_2eh',['secure_credentials.h',['../secure__credentials_8h.html',1,'']]], + ['secure_5fserver_5fcredentials_2ecc',['secure_server_credentials.cc',['../secure__server__credentials_8cc.html',1,'']]], + ['secure_5fserver_5fcredentials_2eh',['secure_server_credentials.h',['../secure__server__credentials_8h.html',1,'']]], + ['serialization_5ftraits_2eh',['serialization_traits.h',['../serialization__traits_8h.html',1,'']]], + ['server_2ecc',['server.cc',['../server_8cc.html',1,'']]], + ['server_2eh',['server.h',['../server_8h.html',1,'']]], + ['server_5fbuilder_2ecc',['server_builder.cc',['../server__builder_8cc.html',1,'']]], + ['server_5fbuilder_2eh',['server_builder.h',['../server__builder_8h.html',1,'']]], + ['server_5fcontext_2ecc',['server_context.cc',['../server__context_8cc.html',1,'']]], + ['server_5fcontext_2eh',['server_context.h',['../server__context_8h.html',1,'']]], + ['server_5fcredentials_2ecc',['server_credentials.cc',['../server__credentials_8cc.html',1,'']]], + ['server_5fcredentials_2eh',['server_credentials.h',['../server__credentials_8h.html',1,'']]], + ['service_5ftype_2eh',['service_type.h',['../service__type_8h.html',1,'']]], + ['slice_2ecc',['slice.cc',['../slice_8cc.html',1,'']]], + ['slice_2eh',['slice.h',['../slice_8h.html',1,'']]], + ['status_2ecc',['status.cc',['../status_8cc.html',1,'']]], + ['status_2eh',['status.h',['../status_8h.html',1,'']]], + ['status_5fcode_5fenum_2eh',['status_code_enum.h',['../status__code__enum_8h.html',1,'']]], + ['stream_2eh',['stream.h',['../stream_8h.html',1,'']]], + ['sync_2eh',['sync.h',['../sync_8h.html',1,'']]], + ['sync_5fcxx11_2eh',['sync_cxx11.h',['../sync__cxx11_8h.html',1,'']]], + ['sync_5fno_5fcxx11_2eh',['sync_no_cxx11.h',['../sync__no__cxx11_8h.html',1,'']]] +]; diff --git a/doc/ref/c++.internal/html/search/files_a.html b/doc/ref/c++.internal/html/search/files_a.html new file mode 100644 index 0000000000..ab047558cc --- /dev/null +++ b/doc/ref/c++.internal/html/search/files_a.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++.internal/html/search/files_a.js b/doc/ref/c++.internal/html/search/files_a.js new file mode 100644 index 0000000000..5397c78f48 --- /dev/null +++ b/doc/ref/c++.internal/html/search/files_a.js @@ -0,0 +1,9 @@ +var searchData= +[ + ['thd_2eh',['thd.h',['../thd_8h.html',1,'']]], + ['thd_5fcxx11_2eh',['thd_cxx11.h',['../thd__cxx11_8h.html',1,'']]], + ['thd_5fno_5fcxx11_2eh',['thd_no_cxx11.h',['../thd__no__cxx11_8h.html',1,'']]], + ['thread_5fpool_5finterface_2eh',['thread_pool_interface.h',['../thread__pool__interface_8h.html',1,'']]], + ['time_2ecc',['time.cc',['../time_8cc.html',1,'']]], + ['time_2eh',['time.h',['../time_8h.html',1,'']]] +]; diff --git a/doc/ref/c++.internal/html/search/functions_0.html b/doc/ref/c++.internal/html/search/functions_0.html new file mode 100644 index 0000000000..16a5a527a8 --- /dev/null +++ b/doc/ref/c++.internal/html/search/functions_0.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++.internal/html/search/functions_0.js b/doc/ref/c++.internal/html/search/functions_0.js new file mode 100644 index 0000000000..aeb2fe78f4 --- /dev/null +++ b/doc/ref/c++.internal/html/search/functions_0.js @@ -0,0 +1,20 @@ +var searchData= +[ + ['accesstokencredentials',['AccessTokenCredentials',['../namespacegrpc.html#a5d4b5b51b066fe0d578d7eb8dd859e84',1,'grpc']]], + ['add',['Add',['../classgrpc_1_1_dynamic_thread_pool.html#aea1cdc7989a2d6ab8fb1906428dbea30',1,'grpc::DynamicThreadPool::Add()'],['../classgrpc_1_1_fixed_size_thread_pool.html#ad7ee348722d8d120720032fae96d3026',1,'grpc::FixedSizeThreadPool::Add()'],['../classgrpc_1_1_thread_pool_interface.html#aac6d805cc95ff8e0c8e366102cdd4dce',1,'grpc::ThreadPoolInterface::Add()']]], + ['addcompletionqueue',['AddCompletionQueue',['../classgrpc_1_1_server_builder.html#a92141556060fa1d07d1513383608fb1d',1,'grpc::ServerBuilder']]], + ['addinitialmetadata',['AddInitialMetadata',['../classgrpc_1_1_server_context.html#ae3371f0adf8521c7097eee437fc4ca4f',1,'grpc::ServerContext']]], + ['addlisteningport',['AddListeningPort',['../classgrpc_1_1_server_builder.html#a256e035e62b43cd79137abf7c066902a',1,'grpc::ServerBuilder']]], + ['addmetadata',['AddMetadata',['../classgrpc_1_1_client_context.html#a69a026f073ef5934697568d689440bd4',1,'grpc::ClientContext']]], + ['addmethod',['AddMethod',['../classgrpc_1_1_rpc_service.html#af2c7369056129ef2e6fde87f040ba578',1,'grpc::RpcService']]], + ['addop',['AddOp',['../classgrpc_1_1_call_no_op.html#a72c69197fb8ad18542e459bffbd8cbd8',1,'grpc::CallNoOp::AddOp()'],['../classgrpc_1_1_call_op_send_initial_metadata.html#ac57cf7a43da437b8b4556839f0403a77',1,'grpc::CallOpSendInitialMetadata::AddOp()'],['../classgrpc_1_1_call_op_send_message.html#a5d19fd3ab26c2b54868c9006f374728e',1,'grpc::CallOpSendMessage::AddOp()'],['../classgrpc_1_1_call_op_recv_message.html#a2d939fbfc75732244f389a5e2b97ab0a',1,'grpc::CallOpRecvMessage::AddOp()'],['../classgrpc_1_1_call_op_generic_recv_message.html#ac95faf8549212febce73cf6301238dfc',1,'grpc::CallOpGenericRecvMessage::AddOp()'],['../classgrpc_1_1_call_op_client_send_close.html#a4415b250cd6d5a82818ba159c272343a',1,'grpc::CallOpClientSendClose::AddOp()'],['../classgrpc_1_1_call_op_server_send_status.html#a7381b06ae0268853ebf9ed3b2737698b',1,'grpc::CallOpServerSendStatus::AddOp()'],['../classgrpc_1_1_call_op_recv_initial_metadata.html#a4f1684c4b023b4e2d348e53f80797f74',1,'grpc::CallOpRecvInitialMetadata::AddOp()'],['../classgrpc_1_1_call_op_client_recv_status.html#a12467c52794548c0022256c153ed7e62',1,'grpc::CallOpClientRecvStatus::AddOp()']]], + ['addporttoserver',['AddPortToServer',['../classgrpc_1_1_secure_server_credentials.html#aa32c2dc77540dfa81f0fd14ceb13fdc2',1,'grpc::SecureServerCredentials']]], + ['addtrailingmetadata',['AddTrailingMetadata',['../classgrpc_1_1_server_context.html#ac30e12c4ee3ca008522b24157f4f886c',1,'grpc::ServerContext']]], + ['applytocall',['ApplyToCall',['../classgrpc_1_1_credentials.html#a2b3162e0dbb4530ac1c4b81a0339b1e1',1,'grpc::Credentials::ApplyToCall()'],['../classgrpc_1_1_secure_credentials.html#a31c8428461d6f8cc063fc27bc20e8111',1,'grpc::SecureCredentials::ApplyToCall()']]], + ['assecurecredentials',['AsSecureCredentials',['../classgrpc_1_1_credentials.html#aefc960d2b52b15f2561946e0f840874f',1,'grpc::Credentials::AsSecureCredentials()'],['../classgrpc_1_1_secure_credentials.html#a38b7fab7095405703f806dd59084d6e0',1,'grpc::SecureCredentials::AsSecureCredentials()']]], + ['asyncgenericservice',['AsyncGenericService',['../classgrpc_1_1_async_generic_service.html#a60e3bd7ac8673ed0b49b1260a91518ae',1,'grpc::AsyncGenericService']]], + ['asynchronousservice',['AsynchronousService',['../classgrpc_1_1_asynchronous_service.html#aacdfbb6050c0d572892681ecd8c5b01b',1,'grpc::AsynchronousService']]], + ['asyncnext',['AsyncNext',['../classgrpc_1_1_completion_queue.html#a290ddf3d96e6d1d5886580e60b0602b4',1,'grpc::CompletionQueue']]], + ['auth_5fcontext',['auth_context',['../classgrpc_1_1_client_context.html#aa1bbd84015982b7bd9cd1e847edfde25',1,'grpc::ClientContext::auth_context()'],['../classgrpc_1_1_server_context.html#afee5f4996648b22c9973579b6912e82d',1,'grpc::ServerContext::auth_context()']]], + ['authpropertyiterator',['AuthPropertyIterator',['../classgrpc_1_1_auth_property_iterator.html#a2885e02ba1b9caad818a1bcdf648d949',1,'grpc::AuthPropertyIterator::AuthPropertyIterator()'],['../classgrpc_1_1_auth_property_iterator.html#aee44bb7255a99611cf490532b7e110d5',1,'grpc::AuthPropertyIterator::AuthPropertyIterator(const grpc_auth_property *property, const grpc_auth_property_iterator *iter)']]] +]; diff --git a/doc/ref/c++.internal/html/search/functions_1.html b/doc/ref/c++.internal/html/search/functions_1.html new file mode 100644 index 0000000000..3b4eacfebf --- /dev/null +++ b/doc/ref/c++.internal/html/search/functions_1.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++.internal/html/search/functions_1.js b/doc/ref/c++.internal/html/search/functions_1.js new file mode 100644 index 0000000000..f7757a173a --- /dev/null +++ b/doc/ref/c++.internal/html/search/functions_1.js @@ -0,0 +1,10 @@ +var searchData= +[ + ['backup',['BackUp',['../class_grpc_buffer_writer.html#ab08794d15bc1db23d1723be2e72b3543',1,'GrpcBufferWriter::BackUp()'],['../class_grpc_buffer_reader.html#a4d9fd10f652d41ec9d9ab3282443c057',1,'GrpcBufferReader::BackUp()']]], + ['begin',['begin',['../classgrpc_1_1_auth_context.html#a4a4a9e18e05e1a06cf25b8a77edd8c89',1,'grpc::AuthContext::begin()'],['../classgrpc_1_1_slice.html#ad7b0a21bd37c2ed9899c369777cc9fb8',1,'grpc::Slice::begin()'],['../classgrpc_1_1_secure_auth_context.html#a397366aa80dc3b213a97a9210fa34671',1,'grpc::SecureAuthContext::begin()']]], + ['bidistreaminghandler',['BidiStreamingHandler',['../classgrpc_1_1_bidi_streaming_handler.html#a341a08e8b6bab7dfd8debe0ed0178b34',1,'grpc::BidiStreamingHandler']]], + ['blockingunarycall',['BlockingUnaryCall',['../namespacegrpc.html#a35d5687ea2da09f9376f2caa42a1db1b',1,'grpc']]], + ['buildandstart',['BuildAndStart',['../classgrpc_1_1_server_builder.html#a59c693f49d4260ec07db097256dae478',1,'grpc::ServerBuilder']]], + ['bytebuffer',['ByteBuffer',['../classgrpc_1_1_byte_buffer.html#aa3037355cbd37dce99c97e5c3700a76b',1,'grpc::ByteBuffer::ByteBuffer()'],['../classgrpc_1_1_byte_buffer.html#aa1f69f81c3cb03c61b544a0222e83004',1,'grpc::ByteBuffer::ByteBuffer(const Slice *slices, size_t nslices)']]], + ['bytecount',['ByteCount',['../class_grpc_buffer_writer.html#a7394171ca12458395ebd50c4f2deb911',1,'GrpcBufferWriter::ByteCount()'],['../class_grpc_buffer_reader.html#ab7e3a645aa8db0acbd43022cc88b4243',1,'GrpcBufferReader::ByteCount()']]] +]; diff --git a/doc/ref/c++.internal/html/search/functions_10.html b/doc/ref/c++.internal/html/search/functions_10.html new file mode 100644 index 0000000000..52cb0d3c43 --- /dev/null +++ b/doc/ref/c++.internal/html/search/functions_10.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++.internal/html/search/functions_10.js b/doc/ref/c++.internal/html/search/functions_10.js new file mode 100644 index 0000000000..6e24be9ae1 --- /dev/null +++ b/doc/ref/c++.internal/html/search/functions_10.js @@ -0,0 +1,52 @@ +var searchData= +[ + ['secureauthcontext',['SecureAuthContext',['../classgrpc_1_1_secure_auth_context.html#a3a02a60cd745c30565135c1e5bc0a902',1,'grpc::SecureAuthContext']]], + ['securecredentials',['SecureCredentials',['../classgrpc_1_1_secure_credentials.html#a6ba57068df1de399ed4e87e0bbf2956b',1,'grpc::SecureCredentials']]], + ['secureservercredentials',['SecureServerCredentials',['../classgrpc_1_1_secure_server_credentials.html#a541575567f8fa9c31d116ec05d9d445b',1,'grpc::SecureServerCredentials']]], + ['sendinitialmetadata',['SendInitialMetadata',['../classgrpc_1_1_server_async_response_writer.html#a76be68485a36629af40560aa1f1de0b7',1,'grpc::ServerAsyncResponseWriter::SendInitialMetadata()'],['../classgrpc_1_1_call_op_send_initial_metadata.html#a1d7682714b83f3bf495be8a7804fd34d',1,'grpc::CallOpSendInitialMetadata::SendInitialMetadata()'],['../classgrpc_1_1_server_async_streaming_interface.html#ab2d5db2b2ca3032994396543a8bb044c',1,'grpc::ServerAsyncStreamingInterface::SendInitialMetadata()'],['../classgrpc_1_1_server_reader.html#ad2cc630d207d246a851daa339bda479b',1,'grpc::ServerReader::SendInitialMetadata()'],['../classgrpc_1_1_server_writer.html#aa53df518d62478d0dbbe6f2f6ec44274',1,'grpc::ServerWriter::SendInitialMetadata()'],['../classgrpc_1_1_server_reader_writer.html#a91d0c7316a266b7e8f5447a6f3362fe5',1,'grpc::ServerReaderWriter::SendInitialMetadata()'],['../classgrpc_1_1_server_async_reader.html#a5d05028563e789203225c0ba548710b6',1,'grpc::ServerAsyncReader::SendInitialMetadata()'],['../classgrpc_1_1_server_async_writer.html#ad3a6ab6a46639131770efd0149d04455',1,'grpc::ServerAsyncWriter::SendInitialMetadata()'],['../classgrpc_1_1_server_async_reader_writer.html#ab40293c8bda8123b5c0e7a0455860533',1,'grpc::ServerAsyncReaderWriter::SendInitialMetadata()']]], + ['sendmessage',['SendMessage',['../classgrpc_1_1_call_op_send_message.html#a3cf3a795e98b7db1488ba6c098ac7dd9',1,'grpc::CallOpSendMessage::SendMessage(const M &message, const WriteOptions &options) GRPC_MUST_USE_RESULT'],['../classgrpc_1_1_call_op_send_message.html#ad9928eeba69f23f54d1c378517a15222',1,'grpc::CallOpSendMessage::SendMessage(const M &message) GRPC_MUST_USE_RESULT']]], + ['serialize',['Serialize',['../classgrpc_1_1_serialization_traits_3_01_byte_buffer_00_01void_01_4.html#a142e6455c0e040332f57bd3a35eebd33',1,'grpc::SerializationTraits< ByteBuffer, void >::Serialize()'],['../classgrpc_1_1_serialization_traits_3_01_t_00_01typename_01std_1_1enable__if_3_01std_1_1is__base_42903f95c85f031c7724191271564901.html#adeebcdc9be666be418d94c021179762c',1,'grpc::SerializationTraits< T, typename std::enable_if< std::is_base_of< grpc::protobuf::Message, T >::value >::type >::Serialize()']]], + ['serializeproto',['SerializeProto',['../namespacegrpc.html#a453a85937625eaa278403fd7e33cd7bb',1,'grpc']]], + ['serverasyncreader',['ServerAsyncReader',['../classgrpc_1_1_server_async_reader.html#a7f351e1d526b250336402ee03b8cc75e',1,'grpc::ServerAsyncReader']]], + ['serverasyncreaderwriter',['ServerAsyncReaderWriter',['../classgrpc_1_1_server_async_reader_writer.html#af2b106bee556273e61541950502237ef',1,'grpc::ServerAsyncReaderWriter']]], + ['serverasyncresponsewriter',['ServerAsyncResponseWriter',['../classgrpc_1_1_server_async_response_writer.html#a3c97a19ba6eaa0b9eef9b6b86dbad9e9',1,'grpc::ServerAsyncResponseWriter']]], + ['serverasyncwriter',['ServerAsyncWriter',['../classgrpc_1_1_server_async_writer.html#aa841b99fddf9ce347b9c617058f179f2',1,'grpc::ServerAsyncWriter']]], + ['serverbuilder',['ServerBuilder',['../classgrpc_1_1_server_builder.html#a208346e343cd01351492f0cace59b242',1,'grpc::ServerBuilder']]], + ['servercontext',['ServerContext',['../classgrpc_1_1_server_context.html#a10f47e15934195dcaed6b756498b8fff',1,'grpc::ServerContext']]], + ['serverreader',['ServerReader',['../classgrpc_1_1_server_reader.html#a43e6b5258cfc623fa719884fce957521',1,'grpc::ServerReader']]], + ['serverreaderwriter',['ServerReaderWriter',['../classgrpc_1_1_server_reader_writer.html#a8dfe4a7bf682d51c423c2cb2a71e8b52',1,'grpc::ServerReaderWriter']]], + ['serversendstatus',['ServerSendStatus',['../classgrpc_1_1_call_op_server_send_status.html#ac2720fa707f1fe321afdf3a971bebcf7',1,'grpc::CallOpServerSendStatus']]], + ['serverstreaminghandler',['ServerStreamingHandler',['../classgrpc_1_1_server_streaming_handler.html#af846a2bd80177f74bca1007597fbd2a5',1,'grpc::ServerStreamingHandler']]], + ['serverwriter',['ServerWriter',['../classgrpc_1_1_server_writer.html#a119c720c14d6835a8bc40a4ed615f0f2',1,'grpc::ServerWriter']]], + ['service',['service',['../classgrpc_1_1_synchronous_service.html#ad9eb51c9dc0cedfd838c23db47349796',1,'grpc::SynchronousService']]], + ['serviceaccountcredentials',['ServiceAccountCredentials',['../namespacegrpc.html#a31d9cd50a7d56e09e3cefff9d6bb8f89',1,'grpc']]], + ['serviceaccountjwtaccesscredentials',['ServiceAccountJWTAccessCredentials',['../namespacegrpc.html#a027f47806ebddcccf72bde6c936abbfc',1,'grpc']]], + ['set_5fauthority',['set_authority',['../classgrpc_1_1_client_context.html#a43bb17bbd6ab49face3793e8883c5682',1,'grpc::ClientContext']]], + ['set_5fbuffer_5fhint',['set_buffer_hint',['../classgrpc_1_1_write_options.html#aecd282a8c7424e4b0c1a5f512c44b8a8',1,'grpc::WriteOptions']]], + ['set_5fcensus_5fcontext',['set_census_context',['../classgrpc_1_1_client_context.html#a48672c1e42084d2cd6975746b84658dd',1,'grpc::ClientContext']]], + ['set_5fcompression_5falgorithm',['set_compression_algorithm',['../classgrpc_1_1_client_context.html#a67a71b32afe1d71189aa3a24146ec61d',1,'grpc::ClientContext::set_compression_algorithm()'],['../classgrpc_1_1_server_context.html#ade949b886faed50627e5cbd35fe4ec72',1,'grpc::ServerContext::set_compression_algorithm()']]], + ['set_5fcompression_5flevel',['set_compression_level',['../classgrpc_1_1_server_context.html#accfdf160f46aa20eda843443c3eea91d',1,'grpc::ServerContext']]], + ['set_5fcredentials',['set_credentials',['../classgrpc_1_1_client_context.html#ac09d9bcb018a58c970adbab7ecd201cb',1,'grpc::ClientContext']]], + ['set_5fdeadline',['set_deadline',['../classgrpc_1_1_client_context.html#ad4e16866fee3f6ee5a10efb5be6f4da6',1,'grpc::ClientContext']]], + ['set_5fmax_5fmessage_5fsize',['set_max_message_size',['../classgrpc_1_1_call_op_set_interface.html#ac1e3a95ce9a1727011b7e7ce76829f0a',1,'grpc::CallOpSetInterface']]], + ['set_5fno_5fcompression',['set_no_compression',['../classgrpc_1_1_write_options.html#afe5f12d1bf9ed01b7a833458dc889b66',1,'grpc::WriteOptions']]], + ['set_5foutput_5ftag',['set_output_tag',['../classgrpc_1_1_call_op_set.html#a798d253af317730a5b996a4a55d86274',1,'grpc::CallOpSet']]], + ['setchannelargs',['SetChannelArgs',['../classgrpc_1_1_channel_arguments.html#a90ce1857947d36ff894402ad10cb6048',1,'grpc::ChannelArguments']]], + ['setcompressionalgorithm',['SetCompressionAlgorithm',['../classgrpc_1_1_channel_arguments.html#aaf332071bbdff5e4a7f3352f4ad564d5',1,'grpc::ChannelArguments']]], + ['setint',['SetInt',['../classgrpc_1_1_channel_arguments.html#a2b1c60568a4906bfe0b21781b09cdbbf',1,'grpc::ChannelArguments']]], + ['setmaxmessagesize',['SetMaxMessageSize',['../classgrpc_1_1_server_builder.html#ae1e6314004fba16607b883b8cc81f5c9',1,'grpc::ServerBuilder']]], + ['setssltargetnameoverride',['SetSslTargetNameOverride',['../classgrpc_1_1_channel_arguments.html#af4182e659448184f9618f079a1570328',1,'grpc::ChannelArguments']]], + ['setstring',['SetString',['../classgrpc_1_1_channel_arguments.html#a852ac2fe0ac7421fa82927ddda612947',1,'grpc::ChannelArguments']]], + ['setthreadpool',['SetThreadPool',['../classgrpc_1_1_server_builder.html#aea5dd313149029114c60571e5ee8b4cd',1,'grpc::ServerBuilder']]], + ['setuprequest',['SetupRequest',['../classgrpc_1_1_server_1_1_sync_request.html#a6e7cd999c893d4577d048b228f2a7f57',1,'grpc::Server::SyncRequest']]], + ['shutdown',['Shutdown',['../classgrpc_1_1_completion_queue.html#a40efddadd9073386fbcb4f46e8325670',1,'grpc::CompletionQueue::Shutdown()'],['../classgrpc_1_1_server.html#a777a9c8873ae4969585083e0e62482dc',1,'grpc::Server::Shutdown()']]], + ['size',['size',['../classgrpc_1_1_slice.html#aa216fa6d6e98e5e2677b7d33fb4af724',1,'grpc::Slice']]], + ['skip',['Skip',['../class_grpc_buffer_reader.html#ad542723a90fdfb58684f32bb37de1263',1,'GrpcBufferReader']]], + ['slice',['Slice',['../classgrpc_1_1_slice.html#a8c5179cf7a39f66d65887bf298dc548f',1,'grpc::Slice::Slice()'],['../classgrpc_1_1_slice.html#a0cf5718377c0ae4584d58bb6c1b042f2',1,'grpc::Slice::Slice(gpr_slice slice, AddRef)'],['../classgrpc_1_1_slice.html#ad952f787620a1fe4c519e53e9e1aa921',1,'grpc::Slice::Slice(gpr_slice slice, StealRef)'],['../classgrpc_1_1_slice.html#a0a6b936d72f7ae35f083d003d3e0c8a3',1,'grpc::Slice::Slice(const Slice &other)']]], + ['sslcredentials',['SslCredentials',['../namespacegrpc.html#abb65df13904322b61514ce2e9a0b5621',1,'grpc']]], + ['sslservercredentials',['SslServerCredentials',['../namespacegrpc.html#a272e1577b841b0df980486da04a71b80',1,'grpc']]], + ['sslservercredentialsoptions',['SslServerCredentialsOptions',['../structgrpc_1_1_ssl_server_credentials_options.html#ae85661f17b0dd9f4fc27275203e5f105',1,'grpc::SslServerCredentialsOptions']]], + ['status',['Status',['../classgrpc_1_1_status.html#a46537b45349a95126a16dcd67b5cf54c',1,'grpc::Status::Status()'],['../classgrpc_1_1_status.html#a8419a0b716f961c8d2d781c65f03def6',1,'grpc::Status::Status(StatusCode code, const grpc::string &details)']]], + ['swap',['Swap',['../classgrpc_1_1_channel_arguments.html#a3ff4f22c2cf31c01885b2aaefbdd227d',1,'grpc::ChannelArguments']]], + ['syncrequest',['SyncRequest',['../classgrpc_1_1_server_1_1_sync_request.html#a3f4a56d6ccdbc6929ab4fa8102e56fd9',1,'grpc::Server::SyncRequest']]] +]; diff --git a/doc/ref/c++.internal/html/search/functions_11.html b/doc/ref/c++.internal/html/search/functions_11.html new file mode 100644 index 0000000000..5e91b098a9 --- /dev/null +++ b/doc/ref/c++.internal/html/search/functions_11.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++.internal/html/search/functions_11.js b/doc/ref/c++.internal/html/search/functions_11.js new file mode 100644 index 0000000000..23cfc16579 --- /dev/null +++ b/doc/ref/c++.internal/html/search/functions_11.js @@ -0,0 +1,10 @@ +var searchData= +[ + ['teardownrequest',['TeardownRequest',['../classgrpc_1_1_server_1_1_sync_request.html#a32ac7bb8bf79723ba355216578c3d268',1,'grpc::Server::SyncRequest']]], + ['thread',['thread',['../classgrpc_1_1thread.html#a02b103e08092d24bf65e1a7b5b384269',1,'grpc::thread']]], + ['timepoint',['TimePoint',['../classgrpc_1_1_time_point.html#aebfa8f327b7609f7e895845b36f060ad',1,'grpc::TimePoint::TimePoint()'],['../classgrpc_1_1_time_point_3_01gpr__timespec_01_4.html#a092aa1afe85bf73a10bf906bb9924007',1,'grpc::TimePoint< gpr_timespec >::TimePoint()'],['../classgrpc_1_1_time_point_3_01std_1_1chrono_1_1system__clock_1_1time__point_01_4.html#ad4276af3251c142fbe7f161391609d4f',1,'grpc::TimePoint< std::chrono::system_clock::time_point >::TimePoint()']]], + ['timepoint2timespec',['Timepoint2Timespec',['../namespacegrpc.html#a4e160d3739280d51ec130ab1bb1c549c',1,'grpc::Timepoint2Timespec(const std::chrono::system_clock::time_point &from, gpr_timespec *to)'],['../namespacegrpc.html#a4f1aa4ee286379d897c8b8e2ab6f1f00',1,'grpc::Timepoint2Timespec(const system_clock::time_point &from, gpr_timespec *to)']]], + ['timepointhr2timespec',['TimepointHR2Timespec',['../namespacegrpc.html#a8b3b542af97e1ae35f327c7095d98369',1,'grpc::TimepointHR2Timespec(const std::chrono::high_resolution_clock::time_point &from, gpr_timespec *to)'],['../namespacegrpc.html#af4a2a430353e00ac851d23bd3014cf7c',1,'grpc::TimepointHR2Timespec(const high_resolution_clock::time_point &from, gpr_timespec *to)']]], + ['timespec2timepoint',['Timespec2Timepoint',['../namespacegrpc.html#ab2f7cd00954a3e1cdccee66049c48684',1,'grpc']]], + ['trycancel',['TryCancel',['../classgrpc_1_1_client_context.html#abd0f6715c30287b75288015eee628984',1,'grpc::ClientContext']]] +]; diff --git a/doc/ref/c++.internal/html/search/functions_12.html b/doc/ref/c++.internal/html/search/functions_12.html new file mode 100644 index 0000000000..1ab0742ba6 --- /dev/null +++ b/doc/ref/c++.internal/html/search/functions_12.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++.internal/html/search/functions_12.js b/doc/ref/c++.internal/html/search/functions_12.js new file mode 100644 index 0000000000..4e6140926a --- /dev/null +++ b/doc/ref/c++.internal/html/search/functions_12.js @@ -0,0 +1,7 @@ +var searchData= +[ + ['unique_5flock',['unique_lock',['../classgrpc_1_1unique__lock.html#ad82b43eea850ccccf7a1682668c3a633',1,'grpc::unique_lock']]], + ['unlock',['unlock',['../classgrpc_1_1unique__lock.html#af631f112239d5fb5aeff2ed1335e7ccd',1,'grpc::unique_lock']]], + ['unlock_5finternal',['unlock_internal',['../classgrpc_1_1lock__guard.html#a84bc9261c3b0c0bb3824265c31ce26c5',1,'grpc::lock_guard']]], + ['unref',['Unref',['../classgrpc_1_1_server_context_1_1_completion_op.html#a1001865953607435c94ed4d8a1343885',1,'grpc::ServerContext::CompletionOp']]] +]; diff --git a/doc/ref/c++.internal/html/search/functions_13.html b/doc/ref/c++.internal/html/search/functions_13.html new file mode 100644 index 0000000000..724f5c1089 --- /dev/null +++ b/doc/ref/c++.internal/html/search/functions_13.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++.internal/html/search/functions_13.js b/doc/ref/c++.internal/html/search/functions_13.js new file mode 100644 index 0000000000..1b7372879f --- /dev/null +++ b/doc/ref/c++.internal/html/search/functions_13.js @@ -0,0 +1,8 @@ +var searchData= +[ + ['wait',['Wait',['../classgrpc_1_1_server.html#a6f1ec2700c94637813178a5b5f71d6d5',1,'grpc::Server::Wait()'],['../classgrpc_1_1_server_1_1_sync_request.html#a19e3fa644a1905a9803d37572f9161d3',1,'grpc::Server::SyncRequest::Wait()'],['../classgrpc_1_1condition__variable.html#a58cced6338389e99d7e663ba0ab5aed8',1,'grpc::condition_variable::wait()']]], + ['waitforinitialmetadata',['WaitForInitialMetadata',['../classgrpc_1_1_client_reader_interface.html#aee87dd6e3e8a40853207ceb53b590b19',1,'grpc::ClientReaderInterface::WaitForInitialMetadata()'],['../classgrpc_1_1_client_reader.html#ad471c81c02db253508b9fd599beab93e',1,'grpc::ClientReader::WaitForInitialMetadata()'],['../classgrpc_1_1_client_reader_writer_interface.html#a6ead554cc1b991f2289b26fb80fdde5e',1,'grpc::ClientReaderWriterInterface::WaitForInitialMetadata()'],['../classgrpc_1_1_client_reader_writer.html#af19ce81004b69300aa18d9ce14be29be',1,'grpc::ClientReaderWriter::WaitForInitialMetadata()']]], + ['write',['Write',['../classgrpc_1_1_writer_interface.html#aa6b2aeb8957265b62bdc063b48f15d44',1,'grpc::WriterInterface::Write(const W &msg, const WriteOptions &options)=0'],['../classgrpc_1_1_writer_interface.html#a5ddbce2a74455afea61fc21e16b01c6a',1,'grpc::WriterInterface::Write(const W &msg)'],['../classgrpc_1_1_client_writer.html#a4c6b81e2d624886c7e86b9b774121e36',1,'grpc::ClientWriter::Write()'],['../classgrpc_1_1_client_reader_writer.html#a5e579c3ff2854b7776fe125a0a0cf762',1,'grpc::ClientReaderWriter::Write()'],['../classgrpc_1_1_server_writer.html#a995e4cbb3661bfdb2cf51ec2b5975a1a',1,'grpc::ServerWriter::Write()'],['../classgrpc_1_1_server_reader_writer.html#ab416079f6464c056c772f7a1ecb69467',1,'grpc::ServerReaderWriter::Write()'],['../classgrpc_1_1_async_writer_interface.html#a40c1091ac5cb5243c874da725ae291b4',1,'grpc::AsyncWriterInterface::Write()'],['../classgrpc_1_1_client_async_writer.html#a544f9e4c310b251bf3c7b84fd035d20a',1,'grpc::ClientAsyncWriter::Write()'],['../classgrpc_1_1_client_async_reader_writer.html#ac3cb288c3bd9d1b826fd726bd2655be3',1,'grpc::ClientAsyncReaderWriter::Write()'],['../classgrpc_1_1_server_async_writer.html#a7027a65f3d84ff275b130cf9a0f170f5',1,'grpc::ServerAsyncWriter::Write()'],['../classgrpc_1_1_server_async_reader_writer.html#ad0d2750db5e195d053e3361e1ff0df35',1,'grpc::ServerAsyncReaderWriter::Write()']]], + ['writeoptions',['WriteOptions',['../classgrpc_1_1_write_options.html#a6a4e429313200ed6c017c5d306e26e93',1,'grpc::WriteOptions::WriteOptions()'],['../classgrpc_1_1_write_options.html#a4d7753bbd8d9d61e2c6d3e49e29be021',1,'grpc::WriteOptions::WriteOptions(const WriteOptions &other)']]], + ['writesdone',['WritesDone',['../classgrpc_1_1_client_writer_interface.html#aff19574252338e9ac1b5446e82ed8ac5',1,'grpc::ClientWriterInterface::WritesDone()'],['../classgrpc_1_1_client_writer.html#abfb6738c132b9ebe49024dc1bf1e9352',1,'grpc::ClientWriter::WritesDone()'],['../classgrpc_1_1_client_reader_writer_interface.html#a52f4e5d5ac7fe0e4995cb337aa0ecfc8',1,'grpc::ClientReaderWriterInterface::WritesDone()'],['../classgrpc_1_1_client_reader_writer.html#a5ed775777711d64b848f31260aef2898',1,'grpc::ClientReaderWriter::WritesDone()'],['../classgrpc_1_1_client_async_writer_interface.html#a488d42d85f8e34902401e013572ff822',1,'grpc::ClientAsyncWriterInterface::WritesDone()'],['../classgrpc_1_1_client_async_writer.html#af9fbf77049c3e5402913c0edeccf3d47',1,'grpc::ClientAsyncWriter::WritesDone()'],['../classgrpc_1_1_client_async_reader_writer_interface.html#a878193880df68ab969b697f1fcd7dbc3',1,'grpc::ClientAsyncReaderWriterInterface::WritesDone()'],['../classgrpc_1_1_client_async_reader_writer.html#ae431aa00a64f2685b60ec853334e6637',1,'grpc::ClientAsyncReaderWriter::WritesDone()']]] +]; diff --git a/doc/ref/c++.internal/html/search/functions_14.html b/doc/ref/c++.internal/html/search/functions_14.html new file mode 100644 index 0000000000..396906bd30 --- /dev/null +++ b/doc/ref/c++.internal/html/search/functions_14.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++.internal/html/search/functions_14.js b/doc/ref/c++.internal/html/search/functions_14.js new file mode 100644 index 0000000000..50ca02719f --- /dev/null +++ b/doc/ref/c++.internal/html/search/functions_14.js @@ -0,0 +1,45 @@ +var searchData= +[ + ['_7easynchronousservice',['~AsynchronousService',['../classgrpc_1_1_asynchronous_service.html#a0f1526b3617c6b69d4774194acc6aa00',1,'grpc::AsynchronousService']]], + ['_7easyncreaderinterface',['~AsyncReaderInterface',['../classgrpc_1_1_async_reader_interface.html#ac7845d2df90fb380008aadb7f5f2f379',1,'grpc::AsyncReaderInterface']]], + ['_7easyncwriterinterface',['~AsyncWriterInterface',['../classgrpc_1_1_async_writer_interface.html#a94cc9e4ed13c8fe4a1d883d465477ddd',1,'grpc::AsyncWriterInterface']]], + ['_7eauthcontext',['~AuthContext',['../classgrpc_1_1_auth_context.html#a3784c5f4eeab56a8524da29981548464',1,'grpc::AuthContext']]], + ['_7eauthpropertyiterator',['~AuthPropertyIterator',['../classgrpc_1_1_auth_property_iterator.html#a91a3a2ce5085a948aac11d7371c13b49',1,'grpc::AuthPropertyIterator']]], + ['_7ebytebuffer',['~ByteBuffer',['../classgrpc_1_1_byte_buffer.html#aeb5dd0045ed262de06481465326bd64a',1,'grpc::ByteBuffer']]], + ['_7ecalldata',['~CallData',['../classgrpc_1_1_server_1_1_sync_request_1_1_call_data.html#ae06ac19a60c8cdde3e763692cb49da3a',1,'grpc::Server::SyncRequest::CallData']]], + ['_7ecallhook',['~CallHook',['../classgrpc_1_1_call_hook.html#a4aa1cf199f80f6475c6da0ad679c5d9d',1,'grpc::CallHook']]], + ['_7echannel',['~Channel',['../classgrpc_1_1_channel.html#a328cc15191befeead2e67c505172fdc1',1,'grpc::Channel']]], + ['_7echannelarguments',['~ChannelArguments',['../classgrpc_1_1_channel_arguments.html#a8058adf243855c3a44030c23ccec05ad',1,'grpc::ChannelArguments']]], + ['_7echannelinterface',['~ChannelInterface',['../classgrpc_1_1_channel_interface.html#a3f5145d4778aa952540dc9983cefe13f',1,'grpc::ChannelInterface']]], + ['_7eclientasyncresponsereaderinterface',['~ClientAsyncResponseReaderInterface',['../classgrpc_1_1_client_async_response_reader_interface.html#aa97dc1ab6a7160a489d2e555102bf5a0',1,'grpc::ClientAsyncResponseReaderInterface']]], + ['_7eclientasyncstreaminginterface',['~ClientAsyncStreamingInterface',['../classgrpc_1_1_client_async_streaming_interface.html#a103c33e82dbf1715749886c4249f3f28',1,'grpc::ClientAsyncStreamingInterface']]], + ['_7eclientcontext',['~ClientContext',['../classgrpc_1_1_client_context.html#aeb77ea760faf8f96e775812806c0a3d9',1,'grpc::ClientContext']]], + ['_7eclientstreaminginterface',['~ClientStreamingInterface',['../classgrpc_1_1_client_streaming_interface.html#a312c9454c0f950e1c75b5c802bcbb00e',1,'grpc::ClientStreamingInterface']]], + ['_7ecompletionqueue',['~CompletionQueue',['../classgrpc_1_1_completion_queue.html#aa0534391b20562e7e4cdc12daf0e36b0',1,'grpc::CompletionQueue']]], + ['_7ecompletionqueuetag',['~CompletionQueueTag',['../classgrpc_1_1_completion_queue_tag.html#a2cbf0212ed795c79f98c3421ed0cb4ab',1,'grpc::CompletionQueueTag']]], + ['_7econdition_5fvariable',['~condition_variable',['../classgrpc_1_1condition__variable.html#ab96cbd3448680ce017794565847181ca',1,'grpc::condition_variable']]], + ['_7ecredentials',['~Credentials',['../classgrpc_1_1_credentials.html#af4e8a65a6cee2b847e11134671c213f2',1,'grpc::Credentials']]], + ['_7edynamicthreadpool',['~DynamicThreadPool',['../classgrpc_1_1_dynamic_thread_pool.html#a9a81f1b15a357a8ca6cb3d7fef7a5456',1,'grpc::DynamicThreadPool']]], + ['_7efixedsizethreadpool',['~FixedSizeThreadPool',['../classgrpc_1_1_fixed_size_thread_pool.html#aa31a8326a490c77e0e04b6df7ac3d7f8',1,'grpc::FixedSizeThreadPool']]], + ['_7egrpcbufferreader',['~GrpcBufferReader',['../class_grpc_buffer_reader.html#aaf5586a8c67cc704a5650008f1e48a44',1,'GrpcBufferReader']]], + ['_7egrpcbufferwriter',['~GrpcBufferWriter',['../class_grpc_buffer_writer.html#ab6262128ae47d86f6989314d20d23807',1,'GrpcBufferWriter']]], + ['_7egrpclibrary',['~GrpcLibrary',['../classgrpc_1_1_grpc_library.html#adadb2fbc794175c8c4578bf283b009a8',1,'grpc::GrpcLibrary']]], + ['_7einternalstub',['~InternalStub',['../classgrpc_1_1_internal_stub.html#a43127d606386366f5935c08a21da059e',1,'grpc::InternalStub']]], + ['_7elock_5fguard',['~lock_guard',['../classgrpc_1_1lock__guard.html#ac99f7ed1e7b1e177a20b23f230eaf1c2',1,'grpc::lock_guard']]], + ['_7emethodhandler',['~MethodHandler',['../classgrpc_1_1_method_handler.html#afc792a35059d6c46b78d7d9410f9a4b0',1,'grpc::MethodHandler']]], + ['_7emutex',['~mutex',['../classgrpc_1_1mutex.html#a318a9bdff2281779aaea87344d6a3e5a',1,'grpc::mutex']]], + ['_7ereaderinterface',['~ReaderInterface',['../classgrpc_1_1_reader_interface.html#a1fbd3d6e86e2f97e5444f29b0af0a9d5',1,'grpc::ReaderInterface']]], + ['_7esecureauthcontext',['~SecureAuthContext',['../classgrpc_1_1_secure_auth_context.html#ac21ea6e884d194a7f8003dbea4e548a1',1,'grpc::SecureAuthContext']]], + ['_7esecurecredentials',['~SecureCredentials',['../classgrpc_1_1_secure_credentials.html#a644bb9f3b5942f2777a3db813e2df3b1',1,'grpc::SecureCredentials']]], + ['_7esecureservercredentials',['~SecureServerCredentials',['../classgrpc_1_1_secure_server_credentials.html#a7d8f7333b93e998e502ce61062868a5f',1,'grpc::SecureServerCredentials']]], + ['_7eserver',['~Server',['../classgrpc_1_1_server.html#aa13591ff1bb2c5d871778189b391feb2',1,'grpc::Server']]], + ['_7eserverasyncstreaminginterface',['~ServerAsyncStreamingInterface',['../classgrpc_1_1_server_async_streaming_interface.html#af7c2bc176a6658e86a74a1cacd53d3bc',1,'grpc::ServerAsyncStreamingInterface']]], + ['_7eservercontext',['~ServerContext',['../classgrpc_1_1_server_context.html#afd37847b1bdba2f82e472fed6f31cea6',1,'grpc::ServerContext']]], + ['_7eservercredentials',['~ServerCredentials',['../classgrpc_1_1_server_credentials.html#a58d3eff33fffb0ecf55e44ac864011e1',1,'grpc::ServerCredentials']]], + ['_7eslice',['~Slice',['../classgrpc_1_1_slice.html#a1f89af608ad9e5bbc2870d4ee7140c94',1,'grpc::Slice']]], + ['_7esynchronousservice',['~SynchronousService',['../classgrpc_1_1_synchronous_service.html#a7799f247e0928ff36e32ead579585a05',1,'grpc::SynchronousService']]], + ['_7esyncrequest',['~SyncRequest',['../classgrpc_1_1_server_1_1_sync_request.html#a2bac1a04842183cc0ccc9f9860708c71',1,'grpc::Server::SyncRequest']]], + ['_7ethread',['~thread',['../classgrpc_1_1thread.html#a821416c0e9319e93ae8b8e5cdaa9f52f',1,'grpc::thread']]], + ['_7ethreadpoolinterface',['~ThreadPoolInterface',['../classgrpc_1_1_thread_pool_interface.html#a74a3380787d9be6e261c2849cdc84538',1,'grpc::ThreadPoolInterface']]], + ['_7ewriterinterface',['~WriterInterface',['../classgrpc_1_1_writer_interface.html#a447d71736fb6e8c6bd21287ecc3a9f75',1,'grpc::WriterInterface']]] +]; diff --git a/doc/ref/c++.internal/html/search/functions_2.html b/doc/ref/c++.internal/html/search/functions_2.html new file mode 100644 index 0000000000..78be8b4198 --- /dev/null +++ b/doc/ref/c++.internal/html/search/functions_2.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++.internal/html/search/functions_2.js b/doc/ref/c++.internal/html/search/functions_2.js new file mode 100644 index 0000000000..d34fb1cde7 --- /dev/null +++ b/doc/ref/c++.internal/html/search/functions_2.js @@ -0,0 +1,47 @@ +var searchData= +[ + ['call',['Call',['../classgrpc_1_1_generic_stub.html#ac56595f6faa4911cac85818d146d1812',1,'grpc::GenericStub::Call()'],['../classgrpc_1_1_call.html#ac588bdaf930ff18cab36271a686b9a0a',1,'grpc::Call::Call(grpc_call *call, CallHook *call_hook_, CompletionQueue *cq)'],['../classgrpc_1_1_call.html#a82dc146935bbbb535d6c4c9fb9887373',1,'grpc::Call::Call(grpc_call *call, CallHook *call_hook_, CompletionQueue *cq, int max_message_size)'],['../classgrpc_1_1_call.html#a38a1f110afa06bdfd666d00dfa281a38',1,'grpc::Call::call()']]], + ['calldata',['CallData',['../classgrpc_1_1_server_1_1_sync_request_1_1_call_data.html#aa01b3aff1ae967fe531c317afca49dee',1,'grpc::Server::SyncRequest::CallData']]], + ['callopclientrecvstatus',['CallOpClientRecvStatus',['../classgrpc_1_1_call_op_client_recv_status.html#a86b01d095cec90f64a2fbd02da9be7de',1,'grpc::CallOpClientRecvStatus']]], + ['callopclientsendclose',['CallOpClientSendClose',['../classgrpc_1_1_call_op_client_send_close.html#a1601bc705c51e46133f2ee97921c712e',1,'grpc::CallOpClientSendClose']]], + ['callopgenericrecvmessage',['CallOpGenericRecvMessage',['../classgrpc_1_1_call_op_generic_recv_message.html#ae40448871744eb8a25b42003e2543eda',1,'grpc::CallOpGenericRecvMessage']]], + ['calloprecvinitialmetadata',['CallOpRecvInitialMetadata',['../classgrpc_1_1_call_op_recv_initial_metadata.html#a6c99b156711d0dc093a8578b45901cd8',1,'grpc::CallOpRecvInitialMetadata']]], + ['calloprecvmessage',['CallOpRecvMessage',['../classgrpc_1_1_call_op_recv_message.html#a5f2ead0399f19a906b82f87a82f24253',1,'grpc::CallOpRecvMessage']]], + ['callopsendinitialmetadata',['CallOpSendInitialMetadata',['../classgrpc_1_1_call_op_send_initial_metadata.html#a1cf749118f03392e186d251c48200dd8',1,'grpc::CallOpSendInitialMetadata']]], + ['callopsendmessage',['CallOpSendMessage',['../classgrpc_1_1_call_op_send_message.html#a049e460b94bad04d19e3fbe70ba43291',1,'grpc::CallOpSendMessage']]], + ['callopserversendstatus',['CallOpServerSendStatus',['../classgrpc_1_1_call_op_server_send_status.html#ab7a24493e9b8c6f2cc122cf3bd7796e4',1,'grpc::CallOpServerSendStatus']]], + ['callopset',['CallOpSet',['../classgrpc_1_1_call_op_set.html#ae06e1a2d051b6b404eec88c4be303bcf',1,'grpc::CallOpSet']]], + ['callopsetinterface',['CallOpSetInterface',['../classgrpc_1_1_call_op_set_interface.html#ad331a10c0fd65f5a9db680e95682f000',1,'grpc::CallOpSetInterface']]], + ['census_5fcontext',['census_context',['../classgrpc_1_1_client_context.html#a958acd964fe9feb32bca775c96ad5117',1,'grpc::ClientContext::census_context()'],['../classgrpc_1_1_server_context.html#a4a63356adb72a31f77ce2a8bb227d8f0',1,'grpc::ServerContext::census_context()']]], + ['channel',['channel',['../classgrpc_1_1_internal_stub.html#ae314e47d92a7aed9779724d3a81c2729',1,'grpc::InternalStub::channel()'],['../classgrpc_1_1_channel.html#ab5ae726213995c9859d8e736e3090189',1,'grpc::Channel::Channel(grpc_channel *c_channel)'],['../classgrpc_1_1_channel.html#a22e7e491d79f4b4703e7d840cb9b443e',1,'grpc::Channel::Channel(const grpc::string &host, grpc_channel *c_channel)']]], + ['channel_5ftag',['channel_tag',['../classgrpc_1_1_rpc_method.html#a59527e676d274583ec6961fb3f4356b3',1,'grpc::RpcMethod']]], + ['channelarguments',['ChannelArguments',['../classgrpc_1_1_channel_arguments.html#aecabf1ea1c78a3202544571cf857e8eb',1,'grpc::ChannelArguments::ChannelArguments()'],['../classgrpc_1_1_channel_arguments.html#ade11dfb5cac0e1da5e9ed5e86c18c4fe',1,'grpc::ChannelArguments::ChannelArguments(const ChannelArguments &other)']]], + ['checkcancelled',['CheckCancelled',['../classgrpc_1_1_server_context_1_1_completion_op.html#a06fa507ddaa3a43708f5ebef32d1cfd7',1,'grpc::ServerContext::CompletionOp']]], + ['clear',['Clear',['../classgrpc_1_1_byte_buffer.html#a185b593e5c7d2b888fa377989a6bae80',1,'grpc::ByteBuffer::Clear()'],['../classgrpc_1_1_write_options.html#a9fc0e51224292b15dcfefec342fa0e02',1,'grpc::WriteOptions::Clear()']]], + ['clear_5fbuffer_5fhint',['clear_buffer_hint',['../classgrpc_1_1_write_options.html#a897ba94e51b1f6ead41ade8f92efa89f',1,'grpc::WriteOptions']]], + ['clear_5fno_5fcompression',['clear_no_compression',['../classgrpc_1_1_write_options.html#a7bc26dd151ed56bc49329ca895fe15e7',1,'grpc::WriteOptions']]], + ['client_5fmetadata',['client_metadata',['../classgrpc_1_1_server_context.html#a82f70d1b5b56ca2a4a8a2f5bad6d8ca1',1,'grpc::ServerContext']]], + ['clientasyncreader',['ClientAsyncReader',['../classgrpc_1_1_client_async_reader.html#aa14e3bc04d9852009f8b3094ce0d3ed4',1,'grpc::ClientAsyncReader']]], + ['clientasyncreaderwriter',['ClientAsyncReaderWriter',['../classgrpc_1_1_client_async_reader_writer.html#ae0595a950e2917399bbcef7e70e06066',1,'grpc::ClientAsyncReaderWriter']]], + ['clientasyncresponsereader',['ClientAsyncResponseReader',['../classgrpc_1_1_client_async_response_reader.html#a4868e0f82053062c95fea7bd197acadf',1,'grpc::ClientAsyncResponseReader']]], + ['clientasyncwriter',['ClientAsyncWriter',['../classgrpc_1_1_client_async_writer.html#ad4903b1736b423c076bac8e23db345f6',1,'grpc::ClientAsyncWriter']]], + ['clientcontext',['ClientContext',['../classgrpc_1_1_client_context.html#acabbcf3c160a0628da8a9274b10f54b9',1,'grpc::ClientContext']]], + ['clientreader',['ClientReader',['../classgrpc_1_1_client_reader.html#abf0d84e441443c364b29b206fd7d0c56',1,'grpc::ClientReader']]], + ['clientreaderwriter',['ClientReaderWriter',['../classgrpc_1_1_client_reader_writer.html#a787e8b30520c9b32ef877bf1d3298dcc',1,'grpc::ClientReaderWriter']]], + ['clientrecvstatus',['ClientRecvStatus',['../classgrpc_1_1_call_op_client_recv_status.html#aa5af560ab0bb741197553bbb2538b813',1,'grpc::CallOpClientRecvStatus']]], + ['clientsendclose',['ClientSendClose',['../classgrpc_1_1_call_op_client_send_close.html#a43cd5b76bc82ccd2292e318bcc2a34cc',1,'grpc::CallOpClientSendClose']]], + ['clientstreaminghandler',['ClientStreamingHandler',['../classgrpc_1_1_client_streaming_handler.html#a193efc3ca1c668dddacd42e25c4956ff',1,'grpc::ClientStreamingHandler']]], + ['clientwriter',['ClientWriter',['../classgrpc_1_1_client_writer.html#aed7d44896e0630a13409803459bd3cbe',1,'grpc::ClientWriter']]], + ['completionop',['CompletionOp',['../classgrpc_1_1_server_context_1_1_completion_op.html#a3b351db6aba15c5e740a7abd066ec555',1,'grpc::ServerContext::CompletionOp']]], + ['completionqueue',['CompletionQueue',['../classgrpc_1_1_completion_queue.html#aea987a15a475923e949934e481fe3566',1,'grpc::CompletionQueue::CompletionQueue()'],['../classgrpc_1_1_completion_queue.html#a081a954044215a7ca8554da4220fb369',1,'grpc::CompletionQueue::CompletionQueue(grpc_completion_queue *take)']]], + ['compositecredentials',['CompositeCredentials',['../namespacegrpc.html#abee28d0f7beda2c77afb5bc4f7ea644f',1,'grpc']]], + ['compression_5falgorithm',['compression_algorithm',['../classgrpc_1_1_client_context.html#a91691d52182f45043ce9698424d26a56',1,'grpc::ClientContext::compression_algorithm()'],['../classgrpc_1_1_server_context.html#a825f46891cc7db6c896add746eec8171',1,'grpc::ServerContext::compression_algorithm()']]], + ['compression_5flevel',['compression_level',['../classgrpc_1_1_server_context.html#a401d5c77fde5cccb13155ccd668787e8',1,'grpc::ServerContext']]], + ['computeenginecredentials',['ComputeEngineCredentials',['../namespacegrpc.html#a5fe566683ee20fb25ed3760a4b604a44',1,'grpc']]], + ['condition_5fvariable',['condition_variable',['../classgrpc_1_1condition__variable.html#ac254c7b505f7b6e3c5c244f971aef611',1,'grpc::condition_variable']]], + ['cq',['cq',['../classgrpc_1_1_completion_queue.html#a999c317e716d1e74aca2eb050912302b',1,'grpc::CompletionQueue::cq()'],['../classgrpc_1_1_call.html#a5a7336b857c427aff2a210b89bb4ac14',1,'grpc::Call::cq()']]], + ['createauthcontext',['CreateAuthContext',['../namespacegrpc.html#a932ed4267291210b7e0bb378e3ff7be8',1,'grpc']]], + ['createcall',['CreateCall',['../classgrpc_1_1_channel_interface.html#a9fd365d30961e8e40805a3c8faf276d0',1,'grpc::ChannelInterface::CreateCall()'],['../classgrpc_1_1_channel.html#a1eba522535fdc85a69efd3e2fc400e09',1,'grpc::Channel::CreateCall()']]], + ['createchannel',['CreateChannel',['../classgrpc_1_1_secure_credentials.html#af437fe5c55f111163116fd8b8cb2ec4e',1,'grpc::SecureCredentials::CreateChannel()'],['../namespacegrpc.html#a61b64d32193030bed7112b49b8e21006',1,'grpc::CreateChannel()']]], + ['createdefaultthreadpool',['CreateDefaultThreadPool',['../namespacegrpc.html#a3bed8851b28e51827368c71effab7b85',1,'grpc']]] +]; diff --git a/doc/ref/c++.internal/html/search/functions_3.html b/doc/ref/c++.internal/html/search/functions_3.html new file mode 100644 index 0000000000..ebf2eebd0f --- /dev/null +++ b/doc/ref/c++.internal/html/search/functions_3.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++.internal/html/search/functions_3.js b/doc/ref/c++.internal/html/search/functions_3.js new file mode 100644 index 0000000000..454a9af7ad --- /dev/null +++ b/doc/ref/c++.internal/html/search/functions_3.js @@ -0,0 +1,9 @@ +var searchData= +[ + ['deadline',['deadline',['../classgrpc_1_1_client_context.html#af29e0113f661e1fbbecc20c268a3be6e',1,'grpc::ClientContext::deadline()'],['../classgrpc_1_1_server_context.html#a9e43d1edb334addb8bf672efcfe03052',1,'grpc::ServerContext::deadline()']]], + ['deserialize',['Deserialize',['../classgrpc_1_1_serialization_traits_3_01_byte_buffer_00_01void_01_4.html#ab84ad3da236c61aab17db403b48367f5',1,'grpc::SerializationTraits< ByteBuffer, void >::Deserialize()'],['../classgrpc_1_1_call_op_generic_recv_message_helper_1_1_deserialize_func.html#af2bc8b34d88cc5d355755ec94bf04bcb',1,'grpc::CallOpGenericRecvMessageHelper::DeserializeFunc::Deserialize()'],['../classgrpc_1_1_call_op_generic_recv_message_helper_1_1_deserialize_func_type.html#aff7b6d6d9e51e6d0bdb3a150bc5f99d4',1,'grpc::CallOpGenericRecvMessageHelper::DeserializeFuncType::Deserialize()'],['../classgrpc_1_1_serialization_traits_3_01_t_00_01typename_01std_1_1enable__if_3_01std_1_1is__base_42903f95c85f031c7724191271564901.html#a6a6966d3807ba3c7b3ccc79dca93b92a',1,'grpc::SerializationTraits< T, typename std::enable_if< std::is_base_of< grpc::protobuf::Message, T >::value >::type >::Deserialize()']]], + ['deserializefunctype',['DeserializeFuncType',['../classgrpc_1_1_call_op_generic_recv_message_helper_1_1_deserialize_func_type.html#ae14165824fb892eefb683da1405e0316',1,'grpc::CallOpGenericRecvMessageHelper::DeserializeFuncType']]], + ['deserializeproto',['DeserializeProto',['../namespacegrpc.html#a9124f8212366355212b2fefb8a6ccc1f',1,'grpc']]], + ['dump',['Dump',['../classgrpc_1_1_byte_buffer.html#a1b284d25c0c3c594c386800c548048f1',1,'grpc::ByteBuffer']]], + ['dynamicthreadpool',['DynamicThreadPool',['../classgrpc_1_1_dynamic_thread_pool.html#af4b6567a60ddfa8551dfbddab4cb7209',1,'grpc::DynamicThreadPool']]] +]; diff --git a/doc/ref/c++.internal/html/search/functions_4.html b/doc/ref/c++.internal/html/search/functions_4.html new file mode 100644 index 0000000000..7317ea9163 --- /dev/null +++ b/doc/ref/c++.internal/html/search/functions_4.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++.internal/html/search/functions_4.js b/doc/ref/c++.internal/html/search/functions_4.js new file mode 100644 index 0000000000..f6c40f3e3e --- /dev/null +++ b/doc/ref/c++.internal/html/search/functions_4.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['end',['end',['../classgrpc_1_1_auth_context.html#a81d358b427e0f1096e148918cdeef991',1,'grpc::AuthContext::end()'],['../classgrpc_1_1_slice.html#a15f9576be1afa1048ed8963d50581b60',1,'grpc::Slice::end()'],['../classgrpc_1_1_secure_auth_context.html#a24e12e67d53e45f033bd2b23623fd500',1,'grpc::SecureAuthContext::end()']]], + ['error_5fcode',['error_code',['../classgrpc_1_1_status.html#a78b50cb074bcd9f1dd50e8f212f7e181',1,'grpc::Status']]], + ['error_5fmessage',['error_message',['../classgrpc_1_1_status.html#a87888a7acefced58302f89a295940f16',1,'grpc::Status']]] +]; diff --git a/doc/ref/c++.internal/html/search/functions_5.html b/doc/ref/c++.internal/html/search/functions_5.html new file mode 100644 index 0000000000..1f1d9ce1b7 --- /dev/null +++ b/doc/ref/c++.internal/html/search/functions_5.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++.internal/html/search/functions_5.js b/doc/ref/c++.internal/html/search/functions_5.js new file mode 100644 index 0000000000..0047506acd --- /dev/null +++ b/doc/ref/c++.internal/html/search/functions_5.js @@ -0,0 +1,13 @@ +var searchData= +[ + ['fillmetadataarray',['FillMetadataArray',['../namespacegrpc.html#a431c01f228527dd6ff54632632b36af6',1,'grpc']]], + ['fillmetadatamap',['FillMetadataMap',['../namespacegrpc.html#a00d2939a7b40a674459016f6148f372d',1,'grpc']]], + ['fillops',['FillOps',['../classgrpc_1_1_call_op_set_interface.html#ae0c95dfc28fc2a0add3e3bec1a703874',1,'grpc::CallOpSetInterface::FillOps()'],['../classgrpc_1_1_call_op_set.html#a886b55145cdad0994ec589b4f4c7df9c',1,'grpc::CallOpSet::FillOps()'],['../classgrpc_1_1_server_context_1_1_completion_op.html#ad2c4895e848880c7df1b11832cdc8546',1,'grpc::ServerContext::CompletionOp::FillOps()']]], + ['finalizeresult',['FinalizeResult',['../classgrpc_1_1_completion_queue_tag.html#af7b1abfcd9e506d118dfdcf29ce7fe8d',1,'grpc::CompletionQueueTag::FinalizeResult()'],['../classgrpc_1_1_call_op_set.html#a66575110fdb84b974182154a01464180',1,'grpc::CallOpSet::FinalizeResult()'],['../classgrpc_1_1_sneaky_call_op_set.html#a0ade5b329d43a4002388bac90a8bbafd',1,'grpc::SneakyCallOpSet::FinalizeResult()'],['../classgrpc_1_1_server_1_1_shutdown_request.html#a42c35a145a0ae74c4ddba64abb9d1bbe',1,'grpc::Server::ShutdownRequest::FinalizeResult()'],['../classgrpc_1_1_server_1_1_sync_request.html#a3cc60801adf9554054f89442230ae1bb',1,'grpc::Server::SyncRequest::FinalizeResult()'],['../classgrpc_1_1_server_context_1_1_completion_op.html#aef20db2535fbee767d19f769df50d67d',1,'grpc::ServerContext::CompletionOp::FinalizeResult()']]], + ['findpropertyvalues',['FindPropertyValues',['../classgrpc_1_1_auth_context.html#ad34c79f4934c974aa9e77ca69eed82aa',1,'grpc::AuthContext::FindPropertyValues()'],['../classgrpc_1_1_secure_auth_context.html#a980da034327f6706944f334f95d7f96c',1,'grpc::SecureAuthContext::FindPropertyValues()']]], + ['finish',['Finish',['../classgrpc_1_1_client_async_response_reader_interface.html#a379b1d7477431729e01cd48cf6fc78bb',1,'grpc::ClientAsyncResponseReaderInterface::Finish()'],['../classgrpc_1_1_client_async_response_reader.html#a585dc15817999f82a72120a783800830',1,'grpc::ClientAsyncResponseReader::Finish()'],['../classgrpc_1_1_server_async_response_writer.html#ad1e22d187c82a537ded4504fbdef6809',1,'grpc::ServerAsyncResponseWriter::Finish()'],['../classgrpc_1_1_client_streaming_interface.html#a98e2927a42c793017ce7d8c6e88539c4',1,'grpc::ClientStreamingInterface::Finish()'],['../classgrpc_1_1_client_reader.html#abb69eb7672e42eb09fbc4d7110d142df',1,'grpc::ClientReader::Finish()'],['../classgrpc_1_1_client_writer.html#afe847df1fec5c40f6650498c026eb658',1,'grpc::ClientWriter::Finish()'],['../classgrpc_1_1_client_reader_writer.html#aabd46ba35f39419bbcfeff8c0843c116',1,'grpc::ClientReaderWriter::Finish()'],['../classgrpc_1_1_client_async_streaming_interface.html#afc1cfbd1514fea47088bc837bb578a24',1,'grpc::ClientAsyncStreamingInterface::Finish()'],['../classgrpc_1_1_client_async_reader.html#a91bfabf65e2dc955b6983bc0ece5a73f',1,'grpc::ClientAsyncReader::Finish()'],['../classgrpc_1_1_client_async_writer.html#ad37af0a7fc27fc90e168fdb90eb52d8b',1,'grpc::ClientAsyncWriter::Finish()'],['../classgrpc_1_1_client_async_reader_writer.html#a4316a3e8d1b4d148a695c8afa240ea23',1,'grpc::ClientAsyncReaderWriter::Finish()'],['../classgrpc_1_1_server_async_reader.html#aaa77b67709c07ab60bc190bce5ee9a59',1,'grpc::ServerAsyncReader::Finish()'],['../classgrpc_1_1_server_async_writer.html#afbb050c198cbbc7f91f9f7fb8bf8c004',1,'grpc::ServerAsyncWriter::Finish()'],['../classgrpc_1_1_server_async_reader_writer.html#ae4daaf42b4077d171638e574a67418b5',1,'grpc::ServerAsyncReaderWriter::Finish()']]], + ['finishop',['FinishOp',['../classgrpc_1_1_call_no_op.html#a2e39baf8e169ec930d2234c85ca577ae',1,'grpc::CallNoOp::FinishOp()'],['../classgrpc_1_1_call_op_send_initial_metadata.html#a70bd2ec3f8b7b95b02657902ee445a13',1,'grpc::CallOpSendInitialMetadata::FinishOp()'],['../classgrpc_1_1_call_op_send_message.html#a214a005bed5dd03d6dfa16f7a28b205b',1,'grpc::CallOpSendMessage::FinishOp()'],['../classgrpc_1_1_call_op_recv_message.html#ac235a695ea9beb6d4ff3f4f220f695c6',1,'grpc::CallOpRecvMessage::FinishOp()'],['../classgrpc_1_1_call_op_generic_recv_message.html#a40eba461f56840935c97934829b38e16',1,'grpc::CallOpGenericRecvMessage::FinishOp()'],['../classgrpc_1_1_call_op_client_send_close.html#a7c9bcf88cc1ddf2c6cf85cf141c85656',1,'grpc::CallOpClientSendClose::FinishOp()'],['../classgrpc_1_1_call_op_server_send_status.html#a91b57e7b08540afa237cf7621558c978',1,'grpc::CallOpServerSendStatus::FinishOp()'],['../classgrpc_1_1_call_op_recv_initial_metadata.html#a85e4703487b89a0557d82237ed4a74eb',1,'grpc::CallOpRecvInitialMetadata::FinishOp()'],['../classgrpc_1_1_call_op_client_recv_status.html#ac6fcc3bc9d7725d1ce822b560156445f',1,'grpc::CallOpClientRecvStatus::FinishOp()']]], + ['finishwitherror',['FinishWithError',['../classgrpc_1_1_server_async_response_writer.html#af1e5812c2a8017bf82e84748f201ce93',1,'grpc::ServerAsyncResponseWriter::FinishWithError()'],['../classgrpc_1_1_server_async_reader.html#a4407f30ef2dbce2b650824536a6f76fb',1,'grpc::ServerAsyncReader::FinishWithError()']]], + ['fixedsizethreadpool',['FixedSizeThreadPool',['../classgrpc_1_1_fixed_size_thread_pool.html#a7b1d9cbdaedc89f5f4dd6e5782bfe5e0',1,'grpc::FixedSizeThreadPool']]], + ['flags',['flags',['../classgrpc_1_1_write_options.html#a0e047a4f3d159749153bff276880e153',1,'grpc::WriteOptions']]] +]; diff --git a/doc/ref/c++.internal/html/search/functions_6.html b/doc/ref/c++.internal/html/search/functions_6.html new file mode 100644 index 0000000000..c9faaa6a99 --- /dev/null +++ b/doc/ref/c++.internal/html/search/functions_6.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++.internal/html/search/functions_6.js b/doc/ref/c++.internal/html/search/functions_6.js new file mode 100644 index 0000000000..7d11027d4b --- /dev/null +++ b/doc/ref/c++.internal/html/search/functions_6.js @@ -0,0 +1,17 @@ +var searchData= +[ + ['genericstub',['GenericStub',['../classgrpc_1_1_generic_stub.html#a1523f381907ac18b841bb4064f2a3b88',1,'grpc::GenericStub']]], + ['get_5fbuffer_5fhint',['get_buffer_hint',['../classgrpc_1_1_write_options.html#a58a983a81a17d0b8f3996164f55912ef',1,'grpc::WriteOptions']]], + ['get_5fno_5fcompression',['get_no_compression',['../classgrpc_1_1_write_options.html#accb16dd92f4001a6d024ffb01178d4bf',1,'grpc::WriteOptions']]], + ['getmethod',['GetMethod',['../classgrpc_1_1_rpc_service.html#adb8bee7f95fdd7bfb12e9c510fbdd192',1,'grpc::RpcService']]], + ['getmethodcount',['GetMethodCount',['../classgrpc_1_1_rpc_service.html#a779c023a42b33893a5ae2b7ca0ef5191',1,'grpc::RpcService']]], + ['getpeeridentity',['GetPeerIdentity',['../classgrpc_1_1_auth_context.html#a94f653509ddd988ce8fd4f22746fead9',1,'grpc::AuthContext::GetPeerIdentity()'],['../classgrpc_1_1_secure_auth_context.html#a1bfd2588633e41a1aeaa098a734266b2',1,'grpc::SecureAuthContext::GetPeerIdentity()']]], + ['getpeeridentitypropertyname',['GetPeerIdentityPropertyName',['../classgrpc_1_1_auth_context.html#ad7b2e589590246b953decd05cdaa4465',1,'grpc::AuthContext::GetPeerIdentityPropertyName()'],['../classgrpc_1_1_secure_auth_context.html#ae2788f289ec4b42eb57efeb8a203170b',1,'grpc::SecureAuthContext::GetPeerIdentityPropertyName()']]], + ['getrawcreds',['GetRawCreds',['../classgrpc_1_1_secure_credentials.html#a47caa26509a093e41bce0572918b0ee9',1,'grpc::SecureCredentials']]], + ['getserverinitialmetadata',['GetServerInitialMetadata',['../classgrpc_1_1_client_context.html#a971f592cb4c3d4cc4be227c413264d15',1,'grpc::ClientContext']]], + ['getservertrailingmetadata',['GetServerTrailingMetadata',['../classgrpc_1_1_client_context.html#ab2ad079046a7f9e6dba922274e11aaa3',1,'grpc::ClientContext']]], + ['googledefaultcredentials',['GoogleDefaultCredentials',['../namespacegrpc.html#a1b065446b2eaf89f413e58b78602a7d8',1,'grpc']]], + ['grpcbufferreader',['GrpcBufferReader',['../class_grpc_buffer_reader.html#a2bb6cb370de06bd857f6a9763a954721',1,'GrpcBufferReader']]], + ['grpcbufferwriter',['GrpcBufferWriter',['../class_grpc_buffer_writer.html#a7277718b7111b1e06a0bd794587cb097',1,'GrpcBufferWriter']]], + ['grpclibrary',['GrpcLibrary',['../classgrpc_1_1_grpc_library.html#af026f86430cf235d7eaf532231a44528',1,'grpc::GrpcLibrary']]] +]; diff --git a/doc/ref/c++.internal/html/search/functions_7.html b/doc/ref/c++.internal/html/search/functions_7.html new file mode 100644 index 0000000000..ec330da83b --- /dev/null +++ b/doc/ref/c++.internal/html/search/functions_7.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++.internal/html/search/functions_7.js b/doc/ref/c++.internal/html/search/functions_7.js new file mode 100644 index 0000000000..11476f6d88 --- /dev/null +++ b/doc/ref/c++.internal/html/search/functions_7.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['handler',['handler',['../classgrpc_1_1_rpc_service_method.html#adcc8bfb7dc592f6b64fec6660f1cbaf1',1,'grpc::RpcServiceMethod']]], + ['handlerparameter',['HandlerParameter',['../structgrpc_1_1_method_handler_1_1_handler_parameter.html#a339310bf784411fd5e7d7b9118704693',1,'grpc::MethodHandler::HandlerParameter']]], + ['host',['host',['../classgrpc_1_1_generic_server_context.html#a2962278c0c6280a2d95f5747ea03babc',1,'grpc::GenericServerContext']]] +]; diff --git a/doc/ref/c++.internal/html/search/functions_8.html b/doc/ref/c++.internal/html/search/functions_8.html new file mode 100644 index 0000000000..afd4facf81 --- /dev/null +++ b/doc/ref/c++.internal/html/search/functions_8.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++.internal/html/search/functions_8.js b/doc/ref/c++.internal/html/search/functions_8.js new file mode 100644 index 0000000000..e0d013e5f6 --- /dev/null +++ b/doc/ref/c++.internal/html/search/functions_8.js @@ -0,0 +1,8 @@ +var searchData= +[ + ['iamcredentials',['IAMCredentials',['../namespacegrpc.html#a7ce3cd6c57b1d943ce2e8e75f90682ad',1,'grpc']]], + ['insecurecredentials',['InsecureCredentials',['../namespacegrpc.html#a3419442b393550c967079efa490b7c78',1,'grpc']]], + ['insecureservercredentials',['InsecureServerCredentials',['../namespacegrpc.html#a541547fb14f2b28eca35d21bc921a0fa',1,'grpc']]], + ['internalstub',['InternalStub',['../classgrpc_1_1_internal_stub.html#a5af6cf82c3f8218d94704226559e1b3c',1,'grpc::InternalStub']]], + ['iscancelled',['IsCancelled',['../classgrpc_1_1_server_context.html#ae52a89bbf70c27be3325080000757864',1,'grpc::ServerContext']]] +]; diff --git a/doc/ref/c++.internal/html/search/functions_9.html b/doc/ref/c++.internal/html/search/functions_9.html new file mode 100644 index 0000000000..542b9e0a29 --- /dev/null +++ b/doc/ref/c++.internal/html/search/functions_9.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++.internal/html/search/functions_9.js b/doc/ref/c++.internal/html/search/functions_9.js new file mode 100644 index 0000000000..14e6845c12 --- /dev/null +++ b/doc/ref/c++.internal/html/search/functions_9.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['join',['join',['../classgrpc_1_1thread.html#a2d1d3437f2ff58bb1eacb5417a85c29f',1,'grpc::thread']]] +]; diff --git a/doc/ref/c++.internal/html/search/functions_a.html b/doc/ref/c++.internal/html/search/functions_a.html new file mode 100644 index 0000000000..94fd395d6f --- /dev/null +++ b/doc/ref/c++.internal/html/search/functions_a.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++.internal/html/search/functions_a.js b/doc/ref/c++.internal/html/search/functions_a.js new file mode 100644 index 0000000000..a19e58efd7 --- /dev/null +++ b/doc/ref/c++.internal/html/search/functions_a.js @@ -0,0 +1,7 @@ +var searchData= +[ + ['length',['Length',['../classgrpc_1_1_byte_buffer.html#a9429e928982f8d94ff93a1a91032ad59',1,'grpc::ByteBuffer']]], + ['lock',['lock',['../classgrpc_1_1unique__lock.html#ae29c07f1bdca4a39516f3841dac5cb54',1,'grpc::unique_lock']]], + ['lock_5fguard',['lock_guard',['../classgrpc_1_1lock__guard.html#ad5556ef1ebffe0cf983871fbc61fe264',1,'grpc::lock_guard']]], + ['lock_5finternal',['lock_internal',['../classgrpc_1_1lock__guard.html#ac6236e52082bd62d20f17de1625fd649',1,'grpc::lock_guard']]] +]; diff --git a/doc/ref/c++.internal/html/search/functions_b.html b/doc/ref/c++.internal/html/search/functions_b.html new file mode 100644 index 0000000000..1a03617de0 --- /dev/null +++ b/doc/ref/c++.internal/html/search/functions_b.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++.internal/html/search/functions_b.js b/doc/ref/c++.internal/html/search/functions_b.js new file mode 100644 index 0000000000..643fdf5748 --- /dev/null +++ b/doc/ref/c++.internal/html/search/functions_b.js @@ -0,0 +1,7 @@ +var searchData= +[ + ['max_5fmessage_5fsize',['max_message_size',['../classgrpc_1_1_call.html#aabd1f570cd026b4e5630abc58498a095',1,'grpc::Call']]], + ['method',['method',['../classgrpc_1_1_generic_server_context.html#ae08880fa4adb490326953ad905715c37',1,'grpc::GenericServerContext']]], + ['method_5ftype',['method_type',['../classgrpc_1_1_rpc_method.html#a1de5a64a1e57b5938c4733f9152291b6',1,'grpc::RpcMethod']]], + ['mutex',['mutex',['../classgrpc_1_1mutex.html#ae012e9f1c5cafd9d6f77a9a81d641581',1,'grpc::mutex']]] +]; diff --git a/doc/ref/c++.internal/html/search/functions_c.html b/doc/ref/c++.internal/html/search/functions_c.html new file mode 100644 index 0000000000..a6536e9419 --- /dev/null +++ b/doc/ref/c++.internal/html/search/functions_c.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++.internal/html/search/functions_c.js b/doc/ref/c++.internal/html/search/functions_c.js new file mode 100644 index 0000000000..40815db1c8 --- /dev/null +++ b/doc/ref/c++.internal/html/search/functions_c.js @@ -0,0 +1,7 @@ +var searchData= +[ + ['name',['name',['../classgrpc_1_1_rpc_method.html#a6fb4872e0af4c79faffe2bb30b2cafe3',1,'grpc::RpcMethod']]], + ['next',['Next',['../classgrpc_1_1_completion_queue.html#a86d9810ced694e50f7987ac90b9f8c1a',1,'grpc::CompletionQueue::Next()'],['../class_grpc_buffer_writer.html#a5f0c083e372be3d1925e013aa1362393',1,'GrpcBufferWriter::Next()'],['../class_grpc_buffer_reader.html#a8f4bd953eded6402fbf35e8f00bec29a',1,'GrpcBufferReader::Next()']]], + ['notify_5fall',['notify_all',['../classgrpc_1_1condition__variable.html#a09a9b8a854f939962c6080bd2764dd36',1,'grpc::condition_variable']]], + ['notify_5fone',['notify_one',['../classgrpc_1_1condition__variable.html#abc49965bc36f319781bb315fff7d9fb3',1,'grpc::condition_variable']]] +]; diff --git a/doc/ref/c++.internal/html/search/functions_d.html b/doc/ref/c++.internal/html/search/functions_d.html new file mode 100644 index 0000000000..8cdcc06f33 --- /dev/null +++ b/doc/ref/c++.internal/html/search/functions_d.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++.internal/html/search/functions_d.js b/doc/ref/c++.internal/html/search/functions_d.js new file mode 100644 index 0000000000..6f397a445c --- /dev/null +++ b/doc/ref/c++.internal/html/search/functions_d.js @@ -0,0 +1,9 @@ +var searchData= +[ + ['ok',['ok',['../classgrpc_1_1_status.html#a1f5b65c54d4e6dd502897e36040714dc',1,'grpc::Status']]], + ['operator_21_3d',['operator!=',['../classgrpc_1_1_auth_property_iterator.html#af3d2671fe70be36b2ed26a75874f2fc1',1,'grpc::AuthPropertyIterator']]], + ['operator_2a',['operator*',['../classgrpc_1_1_auth_property_iterator.html#a564f39b91f4168c6f660bbd3144f1f0e',1,'grpc::AuthPropertyIterator']]], + ['operator_2b_2b',['operator++',['../classgrpc_1_1_auth_property_iterator.html#aaf574384fc615dc281f8b6b43b2fa3f1',1,'grpc::AuthPropertyIterator::operator++()'],['../classgrpc_1_1_auth_property_iterator.html#a76dd5ef5047b10f889d85ce2bb33b84b',1,'grpc::AuthPropertyIterator::operator++(int)']]], + ['operator_3d',['operator=',['../classgrpc_1_1_channel_arguments.html#ac75ba90de32a5c7f3cb6c62f7ce649be',1,'grpc::ChannelArguments::operator=()'],['../classgrpc_1_1_write_options.html#abe3d32a3e5879022e7b8f1c6a7533841',1,'grpc::WriteOptions::operator=()'],['../classgrpc_1_1_slice.html#ac5a109779239ed4d3fd58e8124abdba1',1,'grpc::Slice::operator=()']]], + ['operator_3d_3d',['operator==',['../classgrpc_1_1_auth_property_iterator.html#ab5ab6a2c9a4df2b02086513716553dee',1,'grpc::AuthPropertyIterator']]] +]; diff --git a/doc/ref/c++.internal/html/search/functions_e.html b/doc/ref/c++.internal/html/search/functions_e.html new file mode 100644 index 0000000000..649b2c9af6 --- /dev/null +++ b/doc/ref/c++.internal/html/search/functions_e.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++.internal/html/search/functions_e.js b/doc/ref/c++.internal/html/search/functions_e.js new file mode 100644 index 0000000000..5fff351b43 --- /dev/null +++ b/doc/ref/c++.internal/html/search/functions_e.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['peer',['peer',['../classgrpc_1_1_client_context.html#a905d667d96613e022cd83c13dbedb4c3',1,'grpc::ClientContext::peer()'],['../classgrpc_1_1_server_context.html#a5ef7910ccd61514eafa7087519bb17bb',1,'grpc::ServerContext::peer()']]], + ['performops',['PerformOps',['../classgrpc_1_1_call.html#a78ca141a1008fbbb122ee4de076edcc4',1,'grpc::Call']]], + ['performopsoncall',['PerformOpsOnCall',['../classgrpc_1_1_call_hook.html#acf08b6dd7d1faba4efeeb4937bc81d29',1,'grpc::CallHook::PerformOpsOnCall()'],['../classgrpc_1_1_channel.html#a2c6a3cb1c87c457fb0562e17df304ec3',1,'grpc::Channel::PerformOpsOnCall()']]] +]; diff --git a/doc/ref/c++.internal/html/search/functions_f.html b/doc/ref/c++.internal/html/search/functions_f.html new file mode 100644 index 0000000000..386c7d46b1 --- /dev/null +++ b/doc/ref/c++.internal/html/search/functions_f.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++.internal/html/search/functions_f.js b/doc/ref/c++.internal/html/search/functions_f.js new file mode 100644 index 0000000000..d0f86e0ffe --- /dev/null +++ b/doc/ref/c++.internal/html/search/functions_f.js @@ -0,0 +1,25 @@ +var searchData= +[ + ['raw_5fdeadline',['raw_deadline',['../classgrpc_1_1_client_context.html#a5057cab6d547678dded90c024efab652',1,'grpc::ClientContext::raw_deadline()'],['../classgrpc_1_1_server_context.html#add483537d23d3e06125dbe3f2bf50adc',1,'grpc::ServerContext::raw_deadline()']]], + ['raw_5ftime',['raw_time',['../classgrpc_1_1_time_point.html#adb76465d3bf0fef9ad5b918f0ea6a9b6',1,'grpc::TimePoint::raw_time()'],['../classgrpc_1_1_time_point_3_01gpr__timespec_01_4.html#a2f952629962fc23855496ac08a70f6e2',1,'grpc::TimePoint< gpr_timespec >::raw_time()'],['../classgrpc_1_1_time_point_3_01std_1_1chrono_1_1system__clock_1_1time__point_01_4.html#ac6d6a7d1e3ed219fff1dcc5961874f93',1,'grpc::TimePoint< std::chrono::system_clock::time_point >::raw_time()']]], + ['read',['Read',['../classgrpc_1_1_reader_interface.html#a04a1da8610d790ea86ecd5a14fe892b8',1,'grpc::ReaderInterface::Read()'],['../classgrpc_1_1_client_reader.html#a1305f6a3159b73866b4b66621f573ae7',1,'grpc::ClientReader::Read()'],['../classgrpc_1_1_client_reader_writer.html#adcf4e48162a850ae106e9d2f6fd03d0c',1,'grpc::ClientReaderWriter::Read()'],['../classgrpc_1_1_server_reader.html#a8bd737fbe8d5094fbcf40c45dc7723e0',1,'grpc::ServerReader::Read()'],['../classgrpc_1_1_server_reader_writer.html#a0398eca2f3cb613273a77c28bd55489d',1,'grpc::ServerReaderWriter::Read()'],['../classgrpc_1_1_async_reader_interface.html#aa644cf63c12ae8c9d5fda16a361f8a11',1,'grpc::AsyncReaderInterface::Read()'],['../classgrpc_1_1_client_async_reader.html#aaf9f76ba76be0a0144bbdf44d740731d',1,'grpc::ClientAsyncReader::Read()'],['../classgrpc_1_1_client_async_reader_writer.html#a8b6a32ede877fc2d5d4cfc5b95ac163f',1,'grpc::ClientAsyncReaderWriter::Read()'],['../classgrpc_1_1_server_async_reader.html#ac60c1f8d5373644f952377096f1a5b2f',1,'grpc::ServerAsyncReader::Read()'],['../classgrpc_1_1_server_async_reader_writer.html#a7d8d9d36449700c19cd08ecc608cb96a',1,'grpc::ServerAsyncReaderWriter::Read()']]], + ['readinitialmetadata',['ReadInitialMetadata',['../classgrpc_1_1_client_async_response_reader_interface.html#a676e3a03a61c49a82b630d85bbfd366c',1,'grpc::ClientAsyncResponseReaderInterface::ReadInitialMetadata()'],['../classgrpc_1_1_client_async_response_reader.html#a963aefc43f34c9182e265647bbcdb91b',1,'grpc::ClientAsyncResponseReader::ReadInitialMetadata()'],['../classgrpc_1_1_client_async_streaming_interface.html#ad83bfe2febf4a6296b7d2646799b8174',1,'grpc::ClientAsyncStreamingInterface::ReadInitialMetadata()'],['../classgrpc_1_1_client_async_reader.html#a0e5b71e2620dc95fe41305eef7ee7863',1,'grpc::ClientAsyncReader::ReadInitialMetadata()'],['../classgrpc_1_1_client_async_writer.html#a1db45c4f5817db4f770c08dab64916c7',1,'grpc::ClientAsyncWriter::ReadInitialMetadata()'],['../classgrpc_1_1_client_async_reader_writer.html#a69f0115acf443d7820adefc7b2a6f162',1,'grpc::ClientAsyncReaderWriter::ReadInitialMetadata()']]], + ['recvinitialmetadata',['RecvInitialMetadata',['../classgrpc_1_1_call_op_recv_initial_metadata.html#a4dcc9f22c6966baca69cb1935c823a8e',1,'grpc::CallOpRecvInitialMetadata']]], + ['recvmessage',['RecvMessage',['../classgrpc_1_1_call_op_recv_message.html#aa2bdc2952010ab3a017bb859a1c6161c',1,'grpc::CallOpRecvMessage::RecvMessage()'],['../classgrpc_1_1_call_op_generic_recv_message.html#a0235adb3ae82cf78552f556856feb788',1,'grpc::CallOpGenericRecvMessage::RecvMessage()']]], + ['refreshtokencredentials',['RefreshTokenCredentials',['../namespacegrpc.html#a799468624a1f9c4bfb1956c5dd5c4894',1,'grpc']]], + ['registerasyncgenericservice',['RegisterAsyncGenericService',['../classgrpc_1_1_server_builder.html#ac62b0aa4c0448907e02d15386d58ef86',1,'grpc::ServerBuilder']]], + ['registerasyncservice',['RegisterAsyncService',['../classgrpc_1_1_server_builder.html#a2da69a943b10839d6993f9b292aaf578',1,'grpc::ServerBuilder::RegisterAsyncService(AsynchronousService *service)'],['../classgrpc_1_1_server_builder.html#a2107596214baf71230f4f270dec1d064',1,'grpc::ServerBuilder::RegisterAsyncService(const grpc::string &host, AsynchronousService *service)']]], + ['registermethod',['RegisterMethod',['../classgrpc_1_1_channel_interface.html#a267926300784051328390b2f7648c99f',1,'grpc::ChannelInterface::RegisterMethod()'],['../classgrpc_1_1_channel.html#a9f4af1b920ae0f381415cd62f9301001',1,'grpc::Channel::RegisterMethod()']]], + ['registerservice',['RegisterService',['../classgrpc_1_1_server_builder.html#a40f39b2ac8224a91c426b0e75bbb3c66',1,'grpc::ServerBuilder::RegisterService(SynchronousService *service)'],['../classgrpc_1_1_server_builder.html#ad961d91042fe44aa38fa3e1d57120861',1,'grpc::ServerBuilder::RegisterService(const grpc::string &host, SynchronousService *service)']]], + ['request',['Request',['../classgrpc_1_1_server_1_1_sync_request.html#a389812edac20f9c25c400663aeeea595',1,'grpc::Server::SyncRequest']]], + ['requestasyncunary',['RequestAsyncUnary',['../classgrpc_1_1_asynchronous_service.html#a19c9368c6cd8ea4b296c9023cc96b990',1,'grpc::AsynchronousService']]], + ['requestbidistreaming',['RequestBidiStreaming',['../classgrpc_1_1_asynchronous_service.html#a3b7e40607e2bb45b2901a4990847f608',1,'grpc::AsynchronousService']]], + ['requestcall',['RequestCall',['../classgrpc_1_1_async_generic_service.html#aeab5c20e89a754d5add4bdaad01a3ef6',1,'grpc::AsyncGenericService']]], + ['requestclientstreaming',['RequestClientStreaming',['../classgrpc_1_1_asynchronous_service.html#a3694e436bb163a5162cf915a7e277369',1,'grpc::AsynchronousService']]], + ['requestserverstreaming',['RequestServerStreaming',['../classgrpc_1_1_asynchronous_service.html#a197117ab963be83b26e1c67d5a7fd564',1,'grpc::AsynchronousService']]], + ['rpcmethod',['RpcMethod',['../classgrpc_1_1_rpc_method.html#ab06ace199b65e09f1d4c9fde93dafc94',1,'grpc::RpcMethod']]], + ['rpcmethodhandler',['RpcMethodHandler',['../classgrpc_1_1_rpc_method_handler.html#af18c4bdcfc73d0238b238097547e6a48',1,'grpc::RpcMethodHandler']]], + ['rpcservicemethod',['RpcServiceMethod',['../classgrpc_1_1_rpc_service_method.html#a9a4a54d93c2c5d2b5b52ff50af5971da',1,'grpc::RpcServiceMethod']]], + ['run',['Run',['../classgrpc_1_1_server_1_1_sync_request_1_1_call_data.html#a564db86babb9cb7fb5a02336bcd3f4e8',1,'grpc::Server::SyncRequest::CallData']]], + ['runhandler',['RunHandler',['../classgrpc_1_1_method_handler.html#a8f901c44915f81bb86ecba0278f7db16',1,'grpc::MethodHandler::RunHandler()'],['../classgrpc_1_1_rpc_method_handler.html#a3dd04e9149c844224390b403ff24fa41',1,'grpc::RpcMethodHandler::RunHandler()'],['../classgrpc_1_1_client_streaming_handler.html#a702cbf84fa766383bfbb818c8a16e67c',1,'grpc::ClientStreamingHandler::RunHandler()'],['../classgrpc_1_1_server_streaming_handler.html#afd874fc0f3a73c4037d626d3ecbcccca',1,'grpc::ServerStreamingHandler::RunHandler()'],['../classgrpc_1_1_bidi_streaming_handler.html#a674385b5e9f48ffff0bcbc5d77f99bf1',1,'grpc::BidiStreamingHandler::RunHandler()']]] +]; diff --git a/doc/ref/c++.internal/html/search/mag_sel.png b/doc/ref/c++.internal/html/search/mag_sel.png new file mode 100644 index 0000000000..81f6040a20 Binary files /dev/null and b/doc/ref/c++.internal/html/search/mag_sel.png differ diff --git a/doc/ref/c++.internal/html/search/namespaces_0.html b/doc/ref/c++.internal/html/search/namespaces_0.html new file mode 100644 index 0000000000..dc6068615d --- /dev/null +++ b/doc/ref/c++.internal/html/search/namespaces_0.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++.internal/html/search/namespaces_0.js b/doc/ref/c++.internal/html/search/namespaces_0.js new file mode 100644 index 0000000000..bf7a15f20d --- /dev/null +++ b/doc/ref/c++.internal/html/search/namespaces_0.js @@ -0,0 +1,8 @@ +var searchData= +[ + ['callopgenericrecvmessagehelper',['CallOpGenericRecvMessageHelper',['../namespacegrpc_1_1_call_op_generic_recv_message_helper.html',1,'grpc']]], + ['grpc',['grpc',['../namespacegrpc.html',1,'']]], + ['io',['io',['../namespacegrpc_1_1protobuf_1_1io.html',1,'grpc::protobuf']]], + ['protobuf',['protobuf',['../namespacegrpc_1_1protobuf.html',1,'grpc']]], + ['testing',['testing',['../namespacegrpc_1_1testing.html',1,'grpc']]] +]; diff --git a/doc/ref/c++.internal/html/search/nomatches.html b/doc/ref/c++.internal/html/search/nomatches.html new file mode 100644 index 0000000000..b1ded27e9a --- /dev/null +++ b/doc/ref/c++.internal/html/search/nomatches.html @@ -0,0 +1,12 @@ + + + + + + + +
+
No Matches
+
+ + diff --git a/doc/ref/c++.internal/html/search/related_0.html b/doc/ref/c++.internal/html/search/related_0.html new file mode 100644 index 0000000000..b6476349f4 --- /dev/null +++ b/doc/ref/c++.internal/html/search/related_0.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++.internal/html/search/related_0.js b/doc/ref/c++.internal/html/search/related_0.js new file mode 100644 index 0000000000..0dd29abe92 --- /dev/null +++ b/doc/ref/c++.internal/html/search/related_0.js @@ -0,0 +1,20 @@ +var searchData= +[ + ['clientasyncreader',['ClientAsyncReader',['../classgrpc_1_1_client_context.html#af5343062a44a5633b144751e59969237',1,'grpc::ClientContext']]], + ['clientasyncreaderwriter',['ClientAsyncReaderWriter',['../classgrpc_1_1_client_context.html#a5c0c96957129933bfe94a299c764eaa7',1,'grpc::ClientContext']]], + ['clientasyncresponsereader',['ClientAsyncResponseReader',['../classgrpc_1_1_client_context.html#a4b00162a9bd86e07669f2af67f85c73a',1,'grpc::ClientContext']]], + ['clientasyncwriter',['ClientAsyncWriter',['../classgrpc_1_1_client_context.html#af3547958eadfaeb18692865bd73999ad',1,'grpc::ClientContext']]], + ['clientreader',['ClientReader',['../classgrpc_1_1_client_context.html#ade499098cc91745c1c87147d7a7fb7bf',1,'grpc::ClientContext::ClientReader()'],['../classgrpc_1_1_completion_queue.html#ade499098cc91745c1c87147d7a7fb7bf',1,'grpc::CompletionQueue::ClientReader()']]], + ['clientreaderwriter',['ClientReaderWriter',['../classgrpc_1_1_client_context.html#a6d5659aa24edba057895be774e2752ec',1,'grpc::ClientContext::ClientReaderWriter()'],['../classgrpc_1_1_completion_queue.html#a6d5659aa24edba057895be774e2752ec',1,'grpc::CompletionQueue::ClientReaderWriter()']]], + ['clientwriter',['ClientWriter',['../classgrpc_1_1_client_context.html#a4498fada67d531d99a8642f47d746544',1,'grpc::ClientContext::ClientWriter()'],['../classgrpc_1_1_completion_queue.html#a4498fada67d531d99a8642f47d746544',1,'grpc::CompletionQueue::ClientWriter()']]], + ['interopcontextinspector',['InteropContextInspector',['../classgrpc_1_1_server_context.html#a54fd90aaca3685b127354412368eb1c6',1,'grpc::ServerContext']]], + ['server',['Server',['../classgrpc_1_1_completion_queue.html#a8c3fa4c066981aae114e41c3f9340144',1,'grpc::CompletionQueue::Server()'],['../classgrpc_1_1_server_context.html#a8c3fa4c066981aae114e41c3f9340144',1,'grpc::ServerContext::Server()'],['../classgrpc_1_1_server_credentials.html#a8c3fa4c066981aae114e41c3f9340144',1,'grpc::ServerCredentials::Server()']]], + ['serverasyncreader',['ServerAsyncReader',['../classgrpc_1_1_server_context.html#a774bb57486686958c67f29072de768ed',1,'grpc::ServerContext']]], + ['serverasyncreaderwriter',['ServerAsyncReaderWriter',['../classgrpc_1_1_server_context.html#a85f3f3dc5b92690c676b86571be20684',1,'grpc::ServerContext']]], + ['serverasyncresponsewriter',['ServerAsyncResponseWriter',['../classgrpc_1_1_server_context.html#a2c679b602d120c70a6713fe742704b4e',1,'grpc::ServerContext']]], + ['serverasyncwriter',['ServerAsyncWriter',['../classgrpc_1_1_server_context.html#a6068d9e3369a1016e7b75350b80f4f45',1,'grpc::ServerContext']]], + ['servercontext',['ServerContext',['../classgrpc_1_1_completion_queue.html#a6c5b4f4c66d254f341915982a17aac95',1,'grpc::CompletionQueue']]], + ['serverreader',['ServerReader',['../classgrpc_1_1_completion_queue.html#a4f20e2d049342ae00242bbc8021a44bd',1,'grpc::CompletionQueue::ServerReader()'],['../classgrpc_1_1_server_context.html#a4f20e2d049342ae00242bbc8021a44bd',1,'grpc::ServerContext::ServerReader()']]], + ['serverreaderwriter',['ServerReaderWriter',['../classgrpc_1_1_completion_queue.html#a8c0a0d64c582a952c8f16d8eac71c677',1,'grpc::CompletionQueue::ServerReaderWriter()'],['../classgrpc_1_1_server_context.html#a8c0a0d64c582a952c8f16d8eac71c677',1,'grpc::ServerContext::ServerReaderWriter()']]], + ['serverwriter',['ServerWriter',['../classgrpc_1_1_completion_queue.html#a2f2dfa831a62c43ad5647a45080488e3',1,'grpc::CompletionQueue::ServerWriter()'],['../classgrpc_1_1_server_context.html#a2f2dfa831a62c43ad5647a45080488e3',1,'grpc::ServerContext::ServerWriter()']]] +]; diff --git a/doc/ref/c++.internal/html/search/related_1.html b/doc/ref/c++.internal/html/search/related_1.html new file mode 100644 index 0000000000..66fb1d1055 --- /dev/null +++ b/doc/ref/c++.internal/html/search/related_1.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++.internal/html/search/related_1.js b/doc/ref/c++.internal/html/search/related_1.js new file mode 100644 index 0000000000..b2f3cd71f4 --- /dev/null +++ b/doc/ref/c++.internal/html/search/related_1.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['asyncgenericservice',['AsyncGenericService',['../classgrpc_1_1_server.html#afa12bc5912105e1966887391881de595',1,'grpc::Server']]], + ['asynchronousservice',['AsynchronousService',['../classgrpc_1_1_server.html#a9f65421947ee8cbae15ff96b44f6d532',1,'grpc::Server']]] +]; diff --git a/doc/ref/c++.internal/html/search/related_2.html b/doc/ref/c++.internal/html/search/related_2.html new file mode 100644 index 0000000000..06b8cbf490 --- /dev/null +++ b/doc/ref/c++.internal/html/search/related_2.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++.internal/html/search/related_2.js b/doc/ref/c++.internal/html/search/related_2.js new file mode 100644 index 0000000000..25cdff4667 --- /dev/null +++ b/doc/ref/c++.internal/html/search/related_2.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['bidistreaminghandler',['BidiStreamingHandler',['../classgrpc_1_1_completion_queue.html#a9fcf1462b4ea3c6a37e54076aafb93e1',1,'grpc::CompletionQueue::BidiStreamingHandler()'],['../classgrpc_1_1_server_context.html#a9fcf1462b4ea3c6a37e54076aafb93e1',1,'grpc::ServerContext::BidiStreamingHandler()']]], + ['blockingunarycall',['BlockingUnaryCall',['../classgrpc_1_1_client_context.html#a4aac0a120f3498d1151460ef89ce8446',1,'grpc::ClientContext::BlockingUnaryCall()'],['../classgrpc_1_1_completion_queue.html#a4aac0a120f3498d1151460ef89ce8446',1,'grpc::CompletionQueue::BlockingUnaryCall()']]], + ['bytebuffer',['ByteBuffer',['../classgrpc_1_1_slice.html#ac6c83f28f4b17ae317094a794e92e99e',1,'grpc::Slice']]] +]; diff --git a/doc/ref/c++.internal/html/search/related_3.html b/doc/ref/c++.internal/html/search/related_3.html new file mode 100644 index 0000000000..b89f2c9d72 --- /dev/null +++ b/doc/ref/c++.internal/html/search/related_3.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++.internal/html/search/related_3.js b/doc/ref/c++.internal/html/search/related_3.js new file mode 100644 index 0000000000..1ce858e377 --- /dev/null +++ b/doc/ref/c++.internal/html/search/related_3.js @@ -0,0 +1,10 @@ +var searchData= +[ + ['callopclientrecvstatus',['CallOpClientRecvStatus',['../classgrpc_1_1_client_context.html#aa7c3f046b48d55b5a82cbee3fd84faa2',1,'grpc::ClientContext']]], + ['calloprecvinitialmetadata',['CallOpRecvInitialMetadata',['../classgrpc_1_1_client_context.html#a94ad025954d211da7d27efa58cb2ea91',1,'grpc::ClientContext']]], + ['channel',['Channel',['../classgrpc_1_1_client_context.html#ac47342240f21ce36f47485e4ab41a10d',1,'grpc::ClientContext']]], + ['clientstreaminghandler',['ClientStreamingHandler',['../classgrpc_1_1_completion_queue.html#ae11583f8aab976055b1feae895d7e12a',1,'grpc::CompletionQueue::ClientStreamingHandler()'],['../classgrpc_1_1_server_context.html#ae11583f8aab976055b1feae895d7e12a',1,'grpc::ServerContext::ClientStreamingHandler()']]], + ['compositecredentials',['CompositeCredentials',['../classgrpc_1_1_credentials.html#a319db47fafb1868e66fd34b8bc084f3f',1,'grpc::Credentials']]], + ['condition_5fvariable',['condition_variable',['../classgrpc_1_1mutex.html#a89c9b6aa2256fa5efd92a333d96381d4',1,'grpc::mutex::condition_variable()'],['../classgrpc_1_1lock__guard.html#a89c9b6aa2256fa5efd92a333d96381d4',1,'grpc::lock_guard::condition_variable()']]], + ['createchannel',['CreateChannel',['../classgrpc_1_1_credentials.html#a6cd496f9dd7e19b5bdbafaa41036fe69',1,'grpc::Credentials']]] +]; diff --git a/doc/ref/c++.internal/html/search/related_4.html b/doc/ref/c++.internal/html/search/related_4.html new file mode 100644 index 0000000000..d4dbf36771 --- /dev/null +++ b/doc/ref/c++.internal/html/search/related_4.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++.internal/html/search/related_4.js b/doc/ref/c++.internal/html/search/related_4.js new file mode 100644 index 0000000000..5a8ab6216f --- /dev/null +++ b/doc/ref/c++.internal/html/search/related_4.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['lock_5fguard',['lock_guard',['../classgrpc_1_1mutex.html#a4cfa68eb2ccf47f11c725b6773ff9a5b',1,'grpc::mutex']]] +]; diff --git a/doc/ref/c++.internal/html/search/related_5.html b/doc/ref/c++.internal/html/search/related_5.html new file mode 100644 index 0000000000..bb3bdffb98 --- /dev/null +++ b/doc/ref/c++.internal/html/search/related_5.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++.internal/html/search/related_5.js b/doc/ref/c++.internal/html/search/related_5.js new file mode 100644 index 0000000000..0841129c29 --- /dev/null +++ b/doc/ref/c++.internal/html/search/related_5.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['rpcmethodhandler',['RpcMethodHandler',['../classgrpc_1_1_completion_queue.html#a76b9bb18b02084e9eaa8c9b99c668676',1,'grpc::CompletionQueue::RpcMethodHandler()'],['../classgrpc_1_1_server_context.html#a76b9bb18b02084e9eaa8c9b99c668676',1,'grpc::ServerContext::RpcMethodHandler()']]] +]; diff --git a/doc/ref/c++.internal/html/search/related_6.html b/doc/ref/c++.internal/html/search/related_6.html new file mode 100644 index 0000000000..e42ea5ac99 --- /dev/null +++ b/doc/ref/c++.internal/html/search/related_6.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++.internal/html/search/related_6.js b/doc/ref/c++.internal/html/search/related_6.js new file mode 100644 index 0000000000..a0af153dca --- /dev/null +++ b/doc/ref/c++.internal/html/search/related_6.js @@ -0,0 +1,9 @@ +var searchData= +[ + ['secureauthcontext',['SecureAuthContext',['../classgrpc_1_1_auth_property_iterator.html#a18a70918b1f73cdd22cb263845b78d6d',1,'grpc::AuthPropertyIterator']]], + ['securecredentials',['SecureCredentials',['../classgrpc_1_1_channel_arguments.html#ae60893d904f922c32a57fb18e618db66',1,'grpc::ChannelArguments']]], + ['serializationtraits_3c_20bytebuffer_2c_20void_20_3e',['SerializationTraits< ByteBuffer, void >',['../classgrpc_1_1_byte_buffer.html#ab90fe50537dd6fe009b7b913652420f0',1,'grpc::ByteBuffer']]], + ['server',['Server',['../classgrpc_1_1_generic_server_context.html#ac2055578ac48afabe5af487878450f68',1,'grpc::GenericServerContext::Server()'],['../classgrpc_1_1_async_generic_service.html#ac2055578ac48afabe5af487878450f68',1,'grpc::AsyncGenericService::Server()'],['../classgrpc_1_1_server_async_streaming_interface.html#ac2055578ac48afabe5af487878450f68',1,'grpc::ServerAsyncStreamingInterface::Server()'],['../classgrpc_1_1_asynchronous_service.html#ac2055578ac48afabe5af487878450f68',1,'grpc::AsynchronousService::Server()']]], + ['serverbuilder',['ServerBuilder',['../classgrpc_1_1_server_completion_queue.html#a8c2db91f514d534f06396d90c1b1f2c4',1,'grpc::ServerCompletionQueue::ServerBuilder()'],['../classgrpc_1_1_server.html#a8c2db91f514d534f06396d90c1b1f2c4',1,'grpc::Server::ServerBuilder()']]], + ['serverstreaminghandler',['ServerStreamingHandler',['../classgrpc_1_1_completion_queue.html#ac2a23a31e1f8f09e2e51f09e7f50ba0c',1,'grpc::CompletionQueue::ServerStreamingHandler()'],['../classgrpc_1_1_server_context.html#ac2a23a31e1f8f09e2e51f09e7f50ba0c',1,'grpc::ServerContext::ServerStreamingHandler()']]] +]; diff --git a/doc/ref/c++.internal/html/search/related_7.html b/doc/ref/c++.internal/html/search/related_7.html new file mode 100644 index 0000000000..50cdfe50fa --- /dev/null +++ b/doc/ref/c++.internal/html/search/related_7.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++.internal/html/search/related_7.js b/doc/ref/c++.internal/html/search/related_7.js new file mode 100644 index 0000000000..92b21c76bb --- /dev/null +++ b/doc/ref/c++.internal/html/search/related_7.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['channelargumentstest',['ChannelArgumentsTest',['../classgrpc_1_1_channel_arguments.html#ab9fc942609a77bb3021ba172be262c7b',1,'grpc::ChannelArguments']]] +]; diff --git a/doc/ref/c++.internal/html/search/search.css b/doc/ref/c++.internal/html/search/search.css new file mode 100644 index 0000000000..4d7612ff63 --- /dev/null +++ b/doc/ref/c++.internal/html/search/search.css @@ -0,0 +1,271 @@ +/*---------------- Search Box */ + +#FSearchBox { + float: left; +} + +#MSearchBox { + white-space : nowrap; + position: absolute; + float: none; + display: inline; + margin-top: 8px; + right: 0px; + width: 170px; + z-index: 102; + background-color: white; +} + +#MSearchBox .left +{ + display:block; + position:absolute; + left:10px; + width:20px; + height:19px; + background:url('search_l.png') no-repeat; + background-position:right; +} + +#MSearchSelect { + display:block; + position:absolute; + width:20px; + height:19px; +} + +.left #MSearchSelect { + left:4px; +} + +.right #MSearchSelect { + right:5px; +} + +#MSearchField { + display:block; + position:absolute; + height:19px; + background:url('search_m.png') repeat-x; + border:none; + width:111px; + margin-left:20px; + padding-left:4px; + color: #909090; + outline: none; + font: 9pt Arial, Verdana, sans-serif; +} + +#FSearchBox #MSearchField { + margin-left:15px; +} + +#MSearchBox .right { + display:block; + position:absolute; + right:10px; + top:0px; + width:20px; + height:19px; + background:url('search_r.png') no-repeat; + background-position:left; +} + +#MSearchClose { + display: none; + position: absolute; + top: 4px; + background : none; + border: none; + margin: 0px 4px 0px 0px; + padding: 0px 0px; + outline: none; +} + +.left #MSearchClose { + left: 6px; +} + +.right #MSearchClose { + right: 2px; +} + +.MSearchBoxActive #MSearchField { + color: #000000; +} + +/*---------------- Search filter selection */ + +#MSearchSelectWindow { + display: none; + position: absolute; + left: 0; top: 0; + border: 1px solid #90A5CE; + background-color: #F9FAFC; + z-index: 1; + padding-top: 4px; + padding-bottom: 4px; + -moz-border-radius: 4px; + -webkit-border-top-left-radius: 4px; + -webkit-border-top-right-radius: 4px; + -webkit-border-bottom-left-radius: 4px; + -webkit-border-bottom-right-radius: 4px; + -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); +} + +.SelectItem { + font: 8pt Arial, Verdana, sans-serif; + padding-left: 2px; + padding-right: 12px; + border: 0px; +} + +span.SelectionMark { + margin-right: 4px; + font-family: monospace; + outline-style: none; + text-decoration: none; +} + +a.SelectItem { + display: block; + outline-style: none; + color: #000000; + text-decoration: none; + padding-left: 6px; + padding-right: 12px; +} + +a.SelectItem:focus, +a.SelectItem:active { + color: #000000; + outline-style: none; + text-decoration: none; +} + +a.SelectItem:hover { + color: #FFFFFF; + background-color: #3D578C; + outline-style: none; + text-decoration: none; + cursor: pointer; + display: block; +} + +/*---------------- Search results window */ + +iframe#MSearchResults { + width: 60ex; + height: 15em; +} + +#MSearchResultsWindow { + display: none; + position: absolute; + left: 0; top: 0; + border: 1px solid #000; + background-color: #EEF1F7; +} + +/* ----------------------------------- */ + + +#SRIndex { + clear:both; + padding-bottom: 15px; +} + +.SREntry { + font-size: 10pt; + padding-left: 1ex; +} + +.SRPage .SREntry { + font-size: 8pt; + padding: 1px 5px; +} + +body.SRPage { + margin: 5px 2px; +} + +.SRChildren { + padding-left: 3ex; padding-bottom: .5em +} + +.SRPage .SRChildren { + display: none; +} + +.SRSymbol { + font-weight: bold; + color: #425E97; + font-family: Arial, Verdana, sans-serif; + text-decoration: none; + outline: none; +} + +a.SRScope { + display: block; + color: #425E97; + font-family: Arial, Verdana, sans-serif; + text-decoration: none; + outline: none; +} + +a.SRSymbol:focus, a.SRSymbol:active, +a.SRScope:focus, a.SRScope:active { + text-decoration: underline; +} + +span.SRScope { + padding-left: 4px; +} + +.SRPage .SRStatus { + padding: 2px 5px; + font-size: 8pt; + font-style: italic; +} + +.SRResult { + display: none; +} + +DIV.searchresults { + margin-left: 10px; + margin-right: 10px; +} + +/*---------------- External search page results */ + +.searchresult { + background-color: #F0F3F8; +} + +.pages b { + color: white; + padding: 5px 5px 3px 5px; + background-image: url("../tab_a.png"); + background-repeat: repeat-x; + text-shadow: 0 1px 1px #000000; +} + +.pages { + line-height: 17px; + margin-left: 4px; + text-decoration: none; +} + +.hl { + font-weight: bold; +} + +#searchresults { + margin-bottom: 20px; +} + +.searchpages { + margin-top: 10px; +} + diff --git a/doc/ref/c++.internal/html/search/search.js b/doc/ref/c++.internal/html/search/search.js new file mode 100644 index 0000000000..ac1680649e --- /dev/null +++ b/doc/ref/c++.internal/html/search/search.js @@ -0,0 +1,813 @@ +// Search script generated by doxygen +// Copyright (C) 2009 by Dimitri van Heesch. + +// The code in this file is loosly based on main.js, part of Natural Docs, +// which is Copyright (C) 2003-2008 Greg Valure +// Natural Docs is licensed under the GPL. + +var indexSectionsWithContent = +{ + 0: ":abcdefghijklmnoprstuwz~", + 1: "abcdfghilmprstuw", + 2: "g", + 3: "abcdfgiprst", + 4: "abcdefghijlmnoprstuw~", + 5: "cfgikmoprs", + 6: "acgimsz", + 7: "anrs", + 8: "abcdfginoprstu", + 9: ":abclrst", + 10: "g" +}; + +var indexSectionNames = +{ + 0: "all", + 1: "classes", + 2: "namespaces", + 3: "files", + 4: "functions", + 5: "variables", + 6: "typedefs", + 7: "enums", + 8: "enumvalues", + 9: "related", + 10: "defines" +}; + +function convertToId(search) +{ + var result = ''; + for (i=0;i do a search + { + this.Search(); + } + } + + this.OnSearchSelectKey = function(evt) + { + var e = (evt) ? evt : window.event; // for IE + if (e.keyCode==40 && this.searchIndex0) // Up + { + this.searchIndex--; + this.OnSelectItem(this.searchIndex); + } + else if (e.keyCode==13 || e.keyCode==27) + { + this.OnSelectItem(this.searchIndex); + this.CloseSelectionWindow(); + this.DOMSearchField().focus(); + } + return false; + } + + // --------- Actions + + // Closes the results window. + this.CloseResultsWindow = function() + { + this.DOMPopupSearchResultsWindow().style.display = 'none'; + this.DOMSearchClose().style.display = 'none'; + this.Activate(false); + } + + this.CloseSelectionWindow = function() + { + this.DOMSearchSelectWindow().style.display = 'none'; + } + + // Performs a search. + this.Search = function() + { + this.keyTimeout = 0; + + // strip leading whitespace + var searchValue = this.DOMSearchField().value.replace(/^ +/, ""); + + var code = searchValue.toLowerCase().charCodeAt(0); + var idxChar = searchValue.substr(0, 1).toLowerCase(); + if ( 0xD800 <= code && code <= 0xDBFF && searchValue > 1) // surrogate pair + { + idxChar = searchValue.substr(0, 2); + } + + var resultsPage; + var resultsPageWithSearch; + var hasResultsPage; + + var idx = indexSectionsWithContent[this.searchIndex].indexOf(idxChar); + if (idx!=-1) + { + var hexCode=idx.toString(16); + resultsPage = this.resultsPath + '/' + indexSectionNames[this.searchIndex] + '_' + hexCode + '.html'; + resultsPageWithSearch = resultsPage+'?'+escape(searchValue); + hasResultsPage = true; + } + else // nothing available for this search term + { + resultsPage = this.resultsPath + '/nomatches.html'; + resultsPageWithSearch = resultsPage; + hasResultsPage = false; + } + + window.frames.MSearchResults.location = resultsPageWithSearch; + var domPopupSearchResultsWindow = this.DOMPopupSearchResultsWindow(); + + if (domPopupSearchResultsWindow.style.display!='block') + { + var domSearchBox = this.DOMSearchBox(); + this.DOMSearchClose().style.display = 'inline'; + if (this.insideFrame) + { + var domPopupSearchResults = this.DOMPopupSearchResults(); + domPopupSearchResultsWindow.style.position = 'relative'; + domPopupSearchResultsWindow.style.display = 'block'; + var width = document.body.clientWidth - 8; // the -8 is for IE :-( + domPopupSearchResultsWindow.style.width = width + 'px'; + domPopupSearchResults.style.width = width + 'px'; + } + else + { + var domPopupSearchResults = this.DOMPopupSearchResults(); + var left = getXPos(domSearchBox) + 150; // domSearchBox.offsetWidth; + var top = getYPos(domSearchBox) + 20; // domSearchBox.offsetHeight + 1; + domPopupSearchResultsWindow.style.display = 'block'; + left -= domPopupSearchResults.offsetWidth; + domPopupSearchResultsWindow.style.top = top + 'px'; + domPopupSearchResultsWindow.style.left = left + 'px'; + } + } + + this.lastSearchValue = searchValue; + this.lastResultsPage = resultsPage; + } + + // -------- Activation Functions + + // Activates or deactivates the search panel, resetting things to + // their default values if necessary. + this.Activate = function(isActive) + { + if (isActive || // open it + this.DOMPopupSearchResultsWindow().style.display == 'block' + ) + { + this.DOMSearchBox().className = 'MSearchBoxActive'; + + var searchField = this.DOMSearchField(); + + if (searchField.value == this.searchLabel) // clear "Search" term upon entry + { + searchField.value = ''; + this.searchActive = true; + } + } + else if (!isActive) // directly remove the panel + { + this.DOMSearchBox().className = 'MSearchBoxInactive'; + this.DOMSearchField().value = this.searchLabel; + this.searchActive = false; + this.lastSearchValue = '' + this.lastResultsPage = ''; + } + } +} + +// ----------------------------------------------------------------------- + +// The class that handles everything on the search results page. +function SearchResults(name) +{ + // The number of matches from the last run of . + this.lastMatchCount = 0; + this.lastKey = 0; + this.repeatOn = false; + + // Toggles the visibility of the passed element ID. + this.FindChildElement = function(id) + { + var parentElement = document.getElementById(id); + var element = parentElement.firstChild; + + while (element && element!=parentElement) + { + if (element.nodeName == 'DIV' && element.className == 'SRChildren') + { + return element; + } + + if (element.nodeName == 'DIV' && element.hasChildNodes()) + { + element = element.firstChild; + } + else if (element.nextSibling) + { + element = element.nextSibling; + } + else + { + do + { + element = element.parentNode; + } + while (element && element!=parentElement && !element.nextSibling); + + if (element && element!=parentElement) + { + element = element.nextSibling; + } + } + } + } + + this.Toggle = function(id) + { + var element = this.FindChildElement(id); + if (element) + { + if (element.style.display == 'block') + { + element.style.display = 'none'; + } + else + { + element.style.display = 'block'; + } + } + } + + // Searches for the passed string. If there is no parameter, + // it takes it from the URL query. + // + // Always returns true, since other documents may try to call it + // and that may or may not be possible. + this.Search = function(search) + { + if (!search) // get search word from URL + { + search = window.location.search; + search = search.substring(1); // Remove the leading '?' + search = unescape(search); + } + + search = search.replace(/^ +/, ""); // strip leading spaces + search = search.replace(/ +$/, ""); // strip trailing spaces + search = search.toLowerCase(); + search = convertToId(search); + + var resultRows = document.getElementsByTagName("div"); + var matches = 0; + + var i = 0; + while (i < resultRows.length) + { + var row = resultRows.item(i); + if (row.className == "SRResult") + { + var rowMatchName = row.id.toLowerCase(); + rowMatchName = rowMatchName.replace(/^sr\d*_/, ''); // strip 'sr123_' + + if (search.length<=rowMatchName.length && + rowMatchName.substr(0, search.length)==search) + { + row.style.display = 'block'; + matches++; + } + else + { + row.style.display = 'none'; + } + } + i++; + } + document.getElementById("Searching").style.display='none'; + if (matches == 0) // no results + { + document.getElementById("NoMatches").style.display='block'; + } + else // at least one result + { + document.getElementById("NoMatches").style.display='none'; + } + this.lastMatchCount = matches; + return true; + } + + // return the first item with index index or higher that is visible + this.NavNext = function(index) + { + var focusItem; + while (1) + { + var focusName = 'Item'+index; + focusItem = document.getElementById(focusName); + if (focusItem && focusItem.parentNode.parentNode.style.display=='block') + { + break; + } + else if (!focusItem) // last element + { + break; + } + focusItem=null; + index++; + } + return focusItem; + } + + this.NavPrev = function(index) + { + var focusItem; + while (1) + { + var focusName = 'Item'+index; + focusItem = document.getElementById(focusName); + if (focusItem && focusItem.parentNode.parentNode.style.display=='block') + { + break; + } + else if (!focusItem) // last element + { + break; + } + focusItem=null; + index--; + } + return focusItem; + } + + this.ProcessKeys = function(e) + { + if (e.type == "keydown") + { + this.repeatOn = false; + this.lastKey = e.keyCode; + } + else if (e.type == "keypress") + { + if (!this.repeatOn) + { + if (this.lastKey) this.repeatOn = true; + return false; // ignore first keypress after keydown + } + } + else if (e.type == "keyup") + { + this.lastKey = 0; + this.repeatOn = false; + } + return this.lastKey!=0; + } + + this.Nav = function(evt,itemIndex) + { + var e = (evt) ? evt : window.event; // for IE + if (e.keyCode==13) return true; + if (!this.ProcessKeys(e)) return false; + + if (this.lastKey==38) // Up + { + var newIndex = itemIndex-1; + var focusItem = this.NavPrev(newIndex); + if (focusItem) + { + var child = this.FindChildElement(focusItem.parentNode.parentNode.id); + if (child && child.style.display == 'block') // children visible + { + var n=0; + var tmpElem; + while (1) // search for last child + { + tmpElem = document.getElementById('Item'+newIndex+'_c'+n); + if (tmpElem) + { + focusItem = tmpElem; + } + else // found it! + { + break; + } + n++; + } + } + } + if (focusItem) + { + focusItem.focus(); + } + else // return focus to search field + { + parent.document.getElementById("MSearchField").focus(); + } + } + else if (this.lastKey==40) // Down + { + var newIndex = itemIndex+1; + var focusItem; + var item = document.getElementById('Item'+itemIndex); + var elem = this.FindChildElement(item.parentNode.parentNode.id); + if (elem && elem.style.display == 'block') // children visible + { + focusItem = document.getElementById('Item'+itemIndex+'_c0'); + } + if (!focusItem) focusItem = this.NavNext(newIndex); + if (focusItem) focusItem.focus(); + } + else if (this.lastKey==39) // Right + { + var item = document.getElementById('Item'+itemIndex); + var elem = this.FindChildElement(item.parentNode.parentNode.id); + if (elem) elem.style.display = 'block'; + } + else if (this.lastKey==37) // Left + { + var item = document.getElementById('Item'+itemIndex); + var elem = this.FindChildElement(item.parentNode.parentNode.id); + if (elem) elem.style.display = 'none'; + } + else if (this.lastKey==27) // Escape + { + parent.searchBox.CloseResultsWindow(); + parent.document.getElementById("MSearchField").focus(); + } + else if (this.lastKey==13) // Enter + { + return true; + } + return false; + } + + this.NavChild = function(evt,itemIndex,childIndex) + { + var e = (evt) ? evt : window.event; // for IE + if (e.keyCode==13) return true; + if (!this.ProcessKeys(e)) return false; + + if (this.lastKey==38) // Up + { + if (childIndex>0) + { + var newIndex = childIndex-1; + document.getElementById('Item'+itemIndex+'_c'+newIndex).focus(); + } + else // already at first child, jump to parent + { + document.getElementById('Item'+itemIndex).focus(); + } + } + else if (this.lastKey==40) // Down + { + var newIndex = childIndex+1; + var elem = document.getElementById('Item'+itemIndex+'_c'+newIndex); + if (!elem) // last child, jump to parent next parent + { + elem = this.NavNext(itemIndex+1); + } + if (elem) + { + elem.focus(); + } + } + else if (this.lastKey==27) // Escape + { + parent.searchBox.CloseResultsWindow(); + parent.document.getElementById("MSearchField").focus(); + } + else if (this.lastKey==13) // Enter + { + return true; + } + return false; + } +} + +function setKeyActions(elem,action) +{ + elem.setAttribute('onkeydown',action); + elem.setAttribute('onkeypress',action); + elem.setAttribute('onkeyup',action); +} + +function setClassAttr(elem,attr) +{ + elem.setAttribute('class',attr); + elem.setAttribute('className',attr); +} + +function createResults() +{ + var results = document.getElementById("SRResults"); + for (var e=0; e + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++.internal/html/search/typedefs_0.js b/doc/ref/c++.internal/html/search/typedefs_0.js new file mode 100644 index 0000000000..5c389e5e3a --- /dev/null +++ b/doc/ref/c++.internal/html/search/typedefs_0.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['authproperty',['AuthProperty',['../namespacegrpc.html#a8e3a499d0002aae3afd1cae08f44a9ee',1,'grpc']]] +]; diff --git a/doc/ref/c++.internal/html/search/typedefs_1.html b/doc/ref/c++.internal/html/search/typedefs_1.html new file mode 100644 index 0000000000..455fe2b2b9 --- /dev/null +++ b/doc/ref/c++.internal/html/search/typedefs_1.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++.internal/html/search/typedefs_1.js b/doc/ref/c++.internal/html/search/typedefs_1.js new file mode 100644 index 0000000000..eb6e4588bc --- /dev/null +++ b/doc/ref/c++.internal/html/search/typedefs_1.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['codedinputstream',['CodedInputStream',['../namespacegrpc_1_1protobuf_1_1io.html#a8be5a5d13d5471daee11dd8203973bf3',1,'grpc::protobuf::io']]] +]; diff --git a/doc/ref/c++.internal/html/search/typedefs_2.html b/doc/ref/c++.internal/html/search/typedefs_2.html new file mode 100644 index 0000000000..fac5dbac55 --- /dev/null +++ b/doc/ref/c++.internal/html/search/typedefs_2.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++.internal/html/search/typedefs_2.js b/doc/ref/c++.internal/html/search/typedefs_2.js new file mode 100644 index 0000000000..4f2edc1ffa --- /dev/null +++ b/doc/ref/c++.internal/html/search/typedefs_2.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['genericclientasyncreaderwriter',['GenericClientAsyncReaderWriter',['../namespacegrpc.html#aba53fb6f2502caa167e9528e5c560539',1,'grpc']]], + ['genericserverasyncreaderwriter',['GenericServerAsyncReaderWriter',['../namespacegrpc.html#a7b3db9e9e4d0c7faf701c9ebd455196a',1,'grpc']]] +]; diff --git a/doc/ref/c++.internal/html/search/typedefs_3.html b/doc/ref/c++.internal/html/search/typedefs_3.html new file mode 100644 index 0000000000..9cb52e4673 --- /dev/null +++ b/doc/ref/c++.internal/html/search/typedefs_3.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++.internal/html/search/typedefs_3.js b/doc/ref/c++.internal/html/search/typedefs_3.js new file mode 100644 index 0000000000..544cbfaa09 --- /dev/null +++ b/doc/ref/c++.internal/html/search/typedefs_3.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['int64',['int64',['../namespacegrpc_1_1protobuf.html#ad614bff24fe4674ca81af74c769a7b32',1,'grpc::protobuf']]] +]; diff --git a/doc/ref/c++.internal/html/search/typedefs_4.html b/doc/ref/c++.internal/html/search/typedefs_4.html new file mode 100644 index 0000000000..64c6ccef13 --- /dev/null +++ b/doc/ref/c++.internal/html/search/typedefs_4.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++.internal/html/search/typedefs_4.js b/doc/ref/c++.internal/html/search/typedefs_4.js new file mode 100644 index 0000000000..59eb65596f --- /dev/null +++ b/doc/ref/c++.internal/html/search/typedefs_4.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['message',['Message',['../namespacegrpc_1_1protobuf.html#a58557bfd4af54f1c54a6de69ab1fb43c',1,'grpc::protobuf']]] +]; diff --git a/doc/ref/c++.internal/html/search/typedefs_5.html b/doc/ref/c++.internal/html/search/typedefs_5.html new file mode 100644 index 0000000000..e014348b9a --- /dev/null +++ b/doc/ref/c++.internal/html/search/typedefs_5.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++.internal/html/search/typedefs_5.js b/doc/ref/c++.internal/html/search/typedefs_5.js new file mode 100644 index 0000000000..199297f283 --- /dev/null +++ b/doc/ref/c++.internal/html/search/typedefs_5.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['string',['string',['../namespacegrpc.html#ab04a87625da3bf85cdaf5e7856b00203',1,'grpc']]] +]; diff --git a/doc/ref/c++.internal/html/search/typedefs_6.html b/doc/ref/c++.internal/html/search/typedefs_6.html new file mode 100644 index 0000000000..25d6aef5d4 --- /dev/null +++ b/doc/ref/c++.internal/html/search/typedefs_6.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++.internal/html/search/typedefs_6.js b/doc/ref/c++.internal/html/search/typedefs_6.js new file mode 100644 index 0000000000..8cdae6f76f --- /dev/null +++ b/doc/ref/c++.internal/html/search/typedefs_6.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['zerocopyinputstream',['ZeroCopyInputStream',['../namespacegrpc_1_1protobuf_1_1io.html#ae16bb38d6b730de308f0be4eb43931b4',1,'grpc::protobuf::io']]], + ['zerocopyoutputstream',['ZeroCopyOutputStream',['../namespacegrpc_1_1protobuf_1_1io.html#aafcf83341d287d00418952374bc82ce1',1,'grpc::protobuf::io']]] +]; diff --git a/doc/ref/c++.internal/html/search/variables_0.html b/doc/ref/c++.internal/html/search/variables_0.html new file mode 100644 index 0000000000..1b8adc9b33 --- /dev/null +++ b/doc/ref/c++.internal/html/search/variables_0.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++.internal/html/search/variables_0.js b/doc/ref/c++.internal/html/search/variables_0.js new file mode 100644 index 0000000000..e0b81a178f --- /dev/null +++ b/doc/ref/c++.internal/html/search/variables_0.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['call',['call',['../structgrpc_1_1_method_handler_1_1_handler_parameter.html#aebd5b34a7b5bc6e04ef5ab5df42e7e72',1,'grpc::MethodHandler::HandlerParameter']]], + ['cancelled',['CANCELLED',['../classgrpc_1_1_status.html#a400d9822f15151c502f13b935098bcc0',1,'grpc::Status']]], + ['cert_5fchain',['cert_chain',['../structgrpc_1_1_ssl_server_credentials_options_1_1_pem_key_cert_pair.html#ad58d2824d15cc6a1d646b8bef0b8352e',1,'grpc::SslServerCredentialsOptions::PemKeyCertPair']]] +]; diff --git a/doc/ref/c++.internal/html/search/variables_1.html b/doc/ref/c++.internal/html/search/variables_1.html new file mode 100644 index 0000000000..78f63cd1eb --- /dev/null +++ b/doc/ref/c++.internal/html/search/variables_1.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++.internal/html/search/variables_1.js b/doc/ref/c++.internal/html/search/variables_1.js new file mode 100644 index 0000000000..1018b10c6a --- /dev/null +++ b/doc/ref/c++.internal/html/search/variables_1.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['force_5fclient_5fauth',['force_client_auth',['../structgrpc_1_1_ssl_server_credentials_options.html#aa563c0e5a34e389dbc2f4dfa3c097e3e',1,'grpc::SslServerCredentialsOptions']]] +]; diff --git a/doc/ref/c++.internal/html/search/variables_2.html b/doc/ref/c++.internal/html/search/variables_2.html new file mode 100644 index 0000000000..ea80d20140 --- /dev/null +++ b/doc/ref/c++.internal/html/search/variables_2.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++.internal/html/search/variables_2.js b/doc/ref/c++.internal/html/search/variables_2.js new file mode 100644 index 0000000000..1c1157f26c --- /dev/null +++ b/doc/ref/c++.internal/html/search/variables_2.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['got_5fmessage',['got_message',['../classgrpc_1_1_call_op_recv_message.html#a95f94e74f704a7f40e1f2e30aba24c57',1,'grpc::CallOpRecvMessage::got_message()'],['../classgrpc_1_1_call_op_generic_recv_message.html#a1dc0ca6159bc74ec6cbfeacb06c697a0',1,'grpc::CallOpGenericRecvMessage::got_message()']]] +]; diff --git a/doc/ref/c++.internal/html/search/variables_3.html b/doc/ref/c++.internal/html/search/variables_3.html new file mode 100644 index 0000000000..0dca26f47b --- /dev/null +++ b/doc/ref/c++.internal/html/search/variables_3.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++.internal/html/search/variables_3.js b/doc/ref/c++.internal/html/search/variables_3.js new file mode 100644 index 0000000000..95de9e8580 --- /dev/null +++ b/doc/ref/c++.internal/html/search/variables_3.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['initial_5fmetadata_5f',['initial_metadata_',['../classgrpc_1_1_call_op_send_initial_metadata.html#a032d474971352a0f3ca5b1a468fa5fd4',1,'grpc::CallOpSendInitialMetadata']]], + ['initial_5fmetadata_5fcount_5f',['initial_metadata_count_',['../classgrpc_1_1_call_op_send_initial_metadata.html#a19f3366cf32ceb0199e7f636f870dd63',1,'grpc::CallOpSendInitialMetadata']]] +]; diff --git a/doc/ref/c++.internal/html/search/variables_4.html b/doc/ref/c++.internal/html/search/variables_4.html new file mode 100644 index 0000000000..400e8e9b41 --- /dev/null +++ b/doc/ref/c++.internal/html/search/variables_4.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++.internal/html/search/variables_4.js b/doc/ref/c++.internal/html/search/variables_4.js new file mode 100644 index 0000000000..4aaa942e04 --- /dev/null +++ b/doc/ref/c++.internal/html/search/variables_4.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['kmaxbufferlength',['kMaxBufferLength',['../proto__utils_8cc.html#a97d286a6ee4a913916c920b8a00f0438',1,'proto_utils.cc']]] +]; diff --git a/doc/ref/c++.internal/html/search/variables_5.html b/doc/ref/c++.internal/html/search/variables_5.html new file mode 100644 index 0000000000..7f1241f94b --- /dev/null +++ b/doc/ref/c++.internal/html/search/variables_5.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++.internal/html/search/variables_5.js b/doc/ref/c++.internal/html/search/variables_5.js new file mode 100644 index 0000000000..f04a7b799e --- /dev/null +++ b/doc/ref/c++.internal/html/search/variables_5.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['max_5fmessage_5fsize',['max_message_size',['../structgrpc_1_1_method_handler_1_1_handler_parameter.html#ae079bb60a6b69f4e7bca79a11cfa0756',1,'grpc::MethodHandler::HandlerParameter']]], + ['max_5fmessage_5fsize_5f',['max_message_size_',['../classgrpc_1_1_call_op_set_interface.html#a06354e63efdbbd34fa18270490aaabbf',1,'grpc::CallOpSetInterface']]] +]; diff --git a/doc/ref/c++.internal/html/search/variables_6.html b/doc/ref/c++.internal/html/search/variables_6.html new file mode 100644 index 0000000000..7536df8d5a --- /dev/null +++ b/doc/ref/c++.internal/html/search/variables_6.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++.internal/html/search/variables_6.js b/doc/ref/c++.internal/html/search/variables_6.js new file mode 100644 index 0000000000..3109228a8d --- /dev/null +++ b/doc/ref/c++.internal/html/search/variables_6.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['ok',['OK',['../classgrpc_1_1_status.html#a52ef6235ab76c5328a50f84a058da2c3',1,'grpc::Status']]] +]; diff --git a/doc/ref/c++.internal/html/search/variables_7.html b/doc/ref/c++.internal/html/search/variables_7.html new file mode 100644 index 0000000000..66186a6994 --- /dev/null +++ b/doc/ref/c++.internal/html/search/variables_7.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++.internal/html/search/variables_7.js b/doc/ref/c++.internal/html/search/variables_7.js new file mode 100644 index 0000000000..7d573ddd67 --- /dev/null +++ b/doc/ref/c++.internal/html/search/variables_7.js @@ -0,0 +1,8 @@ +var searchData= +[ + ['pem_5fcert_5fchain',['pem_cert_chain',['../structgrpc_1_1_ssl_credentials_options.html#a01015d8ec7dbf49f2ac3cd21f21d383b',1,'grpc::SslCredentialsOptions']]], + ['pem_5fkey_5fcert_5fpairs',['pem_key_cert_pairs',['../structgrpc_1_1_ssl_server_credentials_options.html#a3a042e846edd3d1e2f24e846e36c694d',1,'grpc::SslServerCredentialsOptions']]], + ['pem_5fprivate_5fkey',['pem_private_key',['../structgrpc_1_1_ssl_credentials_options.html#a5b661f8daf02db7283774e0fb9a8979e',1,'grpc::SslCredentialsOptions']]], + ['pem_5froot_5fcerts',['pem_root_certs',['../structgrpc_1_1_ssl_credentials_options.html#a0ce1730020e18d04b6af48c88e069869',1,'grpc::SslCredentialsOptions::pem_root_certs()'],['../structgrpc_1_1_ssl_server_credentials_options.html#acdde73dba83ee30aeda4a678f5ce8e74',1,'grpc::SslServerCredentialsOptions::pem_root_certs()']]], + ['private_5fkey',['private_key',['../structgrpc_1_1_ssl_server_credentials_options_1_1_pem_key_cert_pair.html#ad9fa2a2083a40127d264e61cca637050',1,'grpc::SslServerCredentialsOptions::PemKeyCertPair']]] +]; diff --git a/doc/ref/c++.internal/html/search/variables_8.html b/doc/ref/c++.internal/html/search/variables_8.html new file mode 100644 index 0000000000..aa13bf24a5 --- /dev/null +++ b/doc/ref/c++.internal/html/search/variables_8.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++.internal/html/search/variables_8.js b/doc/ref/c++.internal/html/search/variables_8.js new file mode 100644 index 0000000000..a2b74dbedb --- /dev/null +++ b/doc/ref/c++.internal/html/search/variables_8.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['request',['request',['../structgrpc_1_1_method_handler_1_1_handler_parameter.html#a82558a5f8a8d3c9b16be620092f67fa4',1,'grpc::MethodHandler::HandlerParameter']]] +]; diff --git a/doc/ref/c++.internal/html/search/variables_9.html b/doc/ref/c++.internal/html/search/variables_9.html new file mode 100644 index 0000000000..78cc249f7d --- /dev/null +++ b/doc/ref/c++.internal/html/search/variables_9.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++.internal/html/search/variables_9.js b/doc/ref/c++.internal/html/search/variables_9.js new file mode 100644 index 0000000000..537e235ab1 --- /dev/null +++ b/doc/ref/c++.internal/html/search/variables_9.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['send_5f',['send_',['../classgrpc_1_1_call_op_send_initial_metadata.html#a2e867bf1e2a14f51fbda7ffe4a9d0e30',1,'grpc::CallOpSendInitialMetadata']]], + ['server_5fcontext',['server_context',['../structgrpc_1_1_method_handler_1_1_handler_parameter.html#a281166394b3ec1fc0962f3841ef22c3c',1,'grpc::MethodHandler::HandlerParameter']]] +]; diff --git a/doc/ref/c++.internal/html/secure__auth__context_8cc.html b/doc/ref/c++.internal/html/secure__auth__context_8cc.html new file mode 100644 index 0000000000..397fe9f757 --- /dev/null +++ b/doc/ref/c++.internal/html/secure__auth__context_8cc.html @@ -0,0 +1,110 @@ + + + + + + +GRPC C++: src/cpp/common/secure_auth_context.cc File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
secure_auth_context.cc File Reference
+
+
+
#include "src/cpp/common/secure_auth_context.h"
+#include <grpc/grpc_security.h>
+
+ + + +

+Namespaces

 grpc
 
+
+ + + + diff --git a/doc/ref/c++.internal/html/secure__auth__context_8h.html b/doc/ref/c++.internal/html/secure__auth__context_8h.html new file mode 100644 index 0000000000..5af57ca937 --- /dev/null +++ b/doc/ref/c++.internal/html/secure__auth__context_8h.html @@ -0,0 +1,117 @@ + + + + + + +GRPC C++: src/cpp/common/secure_auth_context.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
secure_auth_context.h File Reference
+
+
+ +

Go to the source code of this file.

+ + + + +

+Data Structures

class  grpc::SecureAuthContext
 
+ + + +

+Namespaces

 grpc
 
+
+ + + + diff --git a/doc/ref/c++.internal/html/secure__auth__context_8h_source.html b/doc/ref/c++.internal/html/secure__auth__context_8h_source.html new file mode 100644 index 0000000000..546cecaacc --- /dev/null +++ b/doc/ref/c++.internal/html/secure__auth__context_8h_source.html @@ -0,0 +1,180 @@ + + + + + + +GRPC C++: src/cpp/common/secure_auth_context.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
secure_auth_context.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPC_INTERNAL_CPP_COMMON_SECURE_AUTH_CONTEXT_H
+
35 #define GRPC_INTERNAL_CPP_COMMON_SECURE_AUTH_CONTEXT_H
+
36 
+
37 #include <grpc++/auth_context.h>
+
38 
+
39 struct grpc_auth_context;
+
40 
+
41 namespace grpc {
+
42 
+ +
44  public:
+
45  SecureAuthContext(grpc_auth_context* ctx);
+
46 
+ +
48 
+
49  std::vector<grpc::string> GetPeerIdentity() const GRPC_OVERRIDE;
+
50 
+ +
52 
+
53  std::vector<grpc::string> FindPropertyValues(const grpc::string& name) const
+ +
55 
+ +
57 
+ +
59 
+
60  private:
+
61  grpc_auth_context* ctx_;
+
62 };
+
63 
+
64 } // namespace grpc
+
65 
+
66 #endif // GRPC_INTERNAL_CPP_COMMON_SECURE_AUTH_CONTEXT_H
+
std::string string
Definition: config.h:112
+
Definition: auth_context.h:44
+
Definition: secure_auth_context.h:43
+
#define GRPC_FINAL
Definition: config.h:71
+ +
std::vector< grpc::string > FindPropertyValues(const grpc::string &name) const GRPC_OVERRIDE
Definition: secure_auth_context.cc:65
+
AuthPropertyIterator end() const GRPC_OVERRIDE
Definition: secure_auth_context.cc:92
+
~SecureAuthContext() GRPC_OVERRIDE
Definition: secure_auth_context.cc:42
+
grpc::string GetPeerIdentityPropertyName() const GRPC_OVERRIDE
Definition: secure_auth_context.cc:57
+
AuthPropertyIterator begin() const GRPC_OVERRIDE
Definition: secure_auth_context.cc:80
+
std::vector< grpc::string > GetPeerIdentity() const GRPC_OVERRIDE
Definition: secure_auth_context.cc:44
+
Definition: auth_property_iterator.h:51
+
#define GRPC_OVERRIDE
Definition: config.h:77
+
SecureAuthContext(grpc_auth_context *ctx)
Definition: secure_auth_context.cc:40
+
+ + + + diff --git a/doc/ref/c++.internal/html/secure__channel__arguments_8cc.html b/doc/ref/c++.internal/html/secure__channel__arguments_8cc.html new file mode 100644 index 0000000000..06d6e1c55d --- /dev/null +++ b/doc/ref/c++.internal/html/secure__channel__arguments_8cc.html @@ -0,0 +1,111 @@ + + + + + + +GRPC C++: src/cpp/client/secure_channel_arguments.cc File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
secure_channel_arguments.cc File Reference
+
+
+
#include <grpc++/channel_arguments.h>
+#include <grpc/grpc_security.h>
+#include "src/core/channel/channel_args.h"
+
+ + + +

+Namespaces

 grpc
 
+
+ + + + diff --git a/doc/ref/c++.internal/html/secure__create__auth__context_8cc.html b/doc/ref/c++.internal/html/secure__create__auth__context_8cc.html new file mode 100644 index 0000000000..6764906abb --- /dev/null +++ b/doc/ref/c++.internal/html/secure__create__auth__context_8cc.html @@ -0,0 +1,120 @@ + + + + + + +GRPC C++: src/cpp/common/secure_create_auth_context.cc File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
secure_create_auth_context.cc File Reference
+
+
+
#include <memory>
+#include <grpc/grpc.h>
+#include <grpc/grpc_security.h>
+#include <grpc++/auth_context.h>
+#include "src/cpp/common/secure_auth_context.h"
+
+ + + +

+Namespaces

 grpc
 
+ + + +

+Functions

std::shared_ptr< const
+AuthContext > 
grpc::CreateAuthContext (grpc_call *call)
 
+
+ + + + diff --git a/doc/ref/c++.internal/html/secure__credentials_8cc.html b/doc/ref/c++.internal/html/secure__credentials_8cc.html new file mode 100644 index 0000000000..42b924ba04 --- /dev/null +++ b/doc/ref/c++.internal/html/secure__credentials_8cc.html @@ -0,0 +1,134 @@ + + + + + + +GRPC C++: src/cpp/client/secure_credentials.cc File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
secure_credentials.cc File Reference
+
+
+
#include <grpc/support/log.h>
+#include <grpc++/channel_arguments.h>
+#include "src/cpp/client/channel.h"
+#include "src/cpp/client/secure_credentials.h"
+
+ + + +

+Namespaces

 grpc
 
+ + + + + + + + + + + + + + + + + + + +

+Functions

std::shared_ptr< Credentials > grpc::GoogleDefaultCredentials ()
 
std::shared_ptr< Credentials > grpc::SslCredentials (const SslCredentialsOptions &options)
 
std::shared_ptr< Credentials > grpc::ComputeEngineCredentials ()
 
std::shared_ptr< Credentials > grpc::ServiceAccountCredentials (const grpc::string &json_key, const grpc::string &scope, long token_lifetime_seconds)
 
std::shared_ptr< Credentials > grpc::ServiceAccountJWTAccessCredentials (const grpc::string &json_key, long token_lifetime_seconds)
 
std::shared_ptr< Credentials > grpc::RefreshTokenCredentials (const grpc::string &json_refresh_token)
 
std::shared_ptr< Credentials > grpc::AccessTokenCredentials (const grpc::string &access_token)
 
std::shared_ptr< Credentials > grpc::IAMCredentials (const grpc::string &authorization_token, const grpc::string &authority_selector)
 
std::shared_ptr< Credentials > grpc::CompositeCredentials (const std::shared_ptr< Credentials > &creds1, const std::shared_ptr< Credentials > &creds2)
 
+
+ + + + diff --git a/doc/ref/c++.internal/html/secure__credentials_8h.html b/doc/ref/c++.internal/html/secure__credentials_8h.html new file mode 100644 index 0000000000..fc29b1ea44 --- /dev/null +++ b/doc/ref/c++.internal/html/secure__credentials_8h.html @@ -0,0 +1,119 @@ + + + + + + +GRPC C++: src/cpp/client/secure_credentials.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
secure_credentials.h File Reference
+
+
+
#include <grpc/grpc_security.h>
+#include <grpc++/config.h>
+#include <grpc++/credentials.h>
+
+

Go to the source code of this file.

+ + + + +

+Data Structures

class  grpc::SecureCredentials
 
+ + + +

+Namespaces

 grpc
 
+
+ + + + diff --git a/doc/ref/c++.internal/html/secure__credentials_8h_source.html b/doc/ref/c++.internal/html/secure__credentials_8h_source.html new file mode 100644 index 0000000000..63917f5461 --- /dev/null +++ b/doc/ref/c++.internal/html/secure__credentials_8h_source.html @@ -0,0 +1,175 @@ + + + + + + +GRPC C++: src/cpp/client/secure_credentials.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
secure_credentials.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPC_INTERNAL_CPP_CLIENT_SECURE_CREDENTIALS_H
+
35 #define GRPC_INTERNAL_CPP_CLIENT_SECURE_CREDENTIALS_H
+
36 
+
37 #include <grpc/grpc_security.h>
+
38 
+
39 #include <grpc++/config.h>
+
40 #include <grpc++/credentials.h>
+
41 
+
42 namespace grpc {
+
43 
+ +
45  public:
+
46  explicit SecureCredentials(grpc_credentials* c_creds) : c_creds_(c_creds) {}
+
47  ~SecureCredentials() GRPC_OVERRIDE { grpc_credentials_release(c_creds_); }
+
48  grpc_credentials* GetRawCreds() { return c_creds_; }
+
49  bool ApplyToCall(grpc_call* call) GRPC_OVERRIDE;
+
50 
+
51  std::shared_ptr<grpc::ChannelInterface> CreateChannel(
+
52  const string& target, const grpc::ChannelArguments& args) GRPC_OVERRIDE;
+ +
54 
+
55  private:
+
56  grpc_credentials* const c_creds_;
+
57 };
+
58 
+
59 } // namespace grpc
+
60 
+
61 #endif // GRPC_INTERNAL_CPP_CLIENT_SECURE_CREDENTIALS_H
+
62 
+
bool ApplyToCall(grpc_call *call) GRPC_OVERRIDE
Definition: secure_credentials.cc:51
+
Definition: channel_arguments.h:52
+ +
SecureCredentials * AsSecureCredentials() GRPC_OVERRIDE
Definition: secure_credentials.h:53
+
std::shared_ptr< grpc::ChannelInterface > CreateChannel(const string &target, const grpc::ChannelArguments &args) GRPC_OVERRIDE
Definition: secure_credentials.cc:42
+
#define GRPC_FINAL
Definition: config.h:71
+ +
Definition: credentials.h:47
+
SecureCredentials(grpc_credentials *c_creds)
Definition: secure_credentials.h:46
+
~SecureCredentials() GRPC_OVERRIDE
Definition: secure_credentials.h:47
+
grpc_credentials * GetRawCreds()
Definition: secure_credentials.h:48
+
#define GRPC_OVERRIDE
Definition: config.h:77
+
Definition: secure_credentials.h:44
+
+ + + + diff --git a/doc/ref/c++.internal/html/secure__server__credentials_8cc.html b/doc/ref/c++.internal/html/secure__server__credentials_8cc.html new file mode 100644 index 0000000000..7c0a274b2e --- /dev/null +++ b/doc/ref/c++.internal/html/secure__server__credentials_8cc.html @@ -0,0 +1,116 @@ + + + + + + +GRPC C++: src/cpp/server/secure_server_credentials.cc File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
secure_server_credentials.cc File Reference
+
+
+ + + + +

+Namespaces

 grpc
 
+ + + +

+Functions

std::shared_ptr
+< ServerCredentials > 
grpc::SslServerCredentials (const SslServerCredentialsOptions &options)
 
+
+ + + + diff --git a/doc/ref/c++.internal/html/secure__server__credentials_8h.html b/doc/ref/c++.internal/html/secure__server__credentials_8h.html new file mode 100644 index 0000000000..b10b70ef07 --- /dev/null +++ b/doc/ref/c++.internal/html/secure__server__credentials_8h.html @@ -0,0 +1,118 @@ + + + + + + +GRPC C++: src/cpp/server/secure_server_credentials.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
secure_server_credentials.h File Reference
+
+
+
#include <grpc/grpc_security.h>
+#include <grpc++/server_credentials.h>
+
+

Go to the source code of this file.

+ + + + +

+Data Structures

class  grpc::SecureServerCredentials
 
+ + + +

+Namespaces

 grpc
 
+
+ + + + diff --git a/doc/ref/c++.internal/html/secure__server__credentials_8h_source.html b/doc/ref/c++.internal/html/secure__server__credentials_8h_source.html new file mode 100644 index 0000000000..8cd4f73983 --- /dev/null +++ b/doc/ref/c++.internal/html/secure__server__credentials_8h_source.html @@ -0,0 +1,169 @@ + + + + + + +GRPC C++: src/cpp/server/secure_server_credentials.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
secure_server_credentials.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPC_INTERNAL_CPP_SERVER_SECURE_SERVER_CREDENTIALS_H
+
35 #define GRPC_INTERNAL_CPP_SERVER_SECURE_SERVER_CREDENTIALS_H
+
36 
+
37 #include <grpc/grpc_security.h>
+
38 
+ +
40 
+
41 namespace grpc {
+
42 
+ +
44  public:
+
45  explicit SecureServerCredentials(grpc_server_credentials* creds)
+
46  : creds_(creds) {}
+ +
48  grpc_server_credentials_release(creds_);
+
49  }
+
50 
+
51  int AddPortToServer(const grpc::string& addr,
+
52  grpc_server* server) GRPC_OVERRIDE;
+
53 
+
54  private:
+
55  grpc_server_credentials* const creds_;
+
56 };
+
57 
+
58 } // namespace grpc
+
59 
+
60 #endif // GRPC_INTERNAL_CPP_SERVER_SECURE_SERVER_CREDENTIALS_H
+
std::string string
Definition: config.h:112
+
#define GRPC_FINAL
Definition: config.h:71
+
SecureServerCredentials(grpc_server_credentials *creds)
Definition: secure_server_credentials.h:45
+
int AddPortToServer(const grpc::string &addr, grpc_server *server) GRPC_OVERRIDE
Definition: secure_server_credentials.cc:38
+
Definition: server_credentials.h:48
+
~SecureServerCredentials() GRPC_OVERRIDE
Definition: secure_server_credentials.h:47
+ +
Definition: secure_server_credentials.h:43
+
#define GRPC_OVERRIDE
Definition: config.h:77
+
+ + + + diff --git a/doc/ref/c++.internal/html/serialization__traits_8h.html b/doc/ref/c++.internal/html/serialization__traits_8h.html new file mode 100644 index 0000000000..72e87bd22e --- /dev/null +++ b/doc/ref/c++.internal/html/serialization__traits_8h.html @@ -0,0 +1,117 @@ + + + + + + +GRPC C++: include/grpc++/impl/serialization_traits.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
serialization_traits.h File Reference
+
+
+ +

Go to the source code of this file.

+ + + + + +

+Data Structures

class  grpc::SerializationTraits< Message, UnusedButHereForPartialTemplateSpecialization >
 Defines how to serialize and deserialize some type. More...
 
+ + + +

+Namespaces

 grpc
 
+
+ + + + diff --git a/doc/ref/c++.internal/html/serialization__traits_8h_source.html b/doc/ref/c++.internal/html/serialization__traits_8h_source.html new file mode 100644 index 0000000000..bfdfd3ba71 --- /dev/null +++ b/doc/ref/c++.internal/html/serialization__traits_8h_source.html @@ -0,0 +1,148 @@ + + + + + + +GRPC C++: include/grpc++/impl/serialization_traits.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
serialization_traits.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPCXX_IMPL_SERIALIZATION_TRAITS_H
+
35 #define GRPCXX_IMPL_SERIALIZATION_TRAITS_H
+
36 
+
37 namespace grpc {
+
38 
+
46 // bool* own_buffer);
+
62 template <class Message,
+
63  class UnusedButHereForPartialTemplateSpecialization = void>
+ +
65 
+
66 } // namespace grpc
+
67 
+
68 #endif // GRPCXX_IMPL_SERIALIZATION_TRAITS_H
+
Defines how to serialize and deserialize some type.
Definition: serialization_traits.h:64
+
::google::protobuf::Message Message
Definition: config_protobuf.h:60
+
+ + + + diff --git a/doc/ref/c++.internal/html/server_8cc.html b/doc/ref/c++.internal/html/server_8cc.html new file mode 100644 index 0000000000..c3c83b6315 --- /dev/null +++ b/doc/ref/c++.internal/html/server_8cc.html @@ -0,0 +1,132 @@ + + + + + + +GRPC C++: src/cpp/server/server.cc File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
server.cc File Reference
+
+
+
#include <grpc++/server.h>
+#include <utility>
+#include <grpc/grpc.h>
+#include <grpc/support/alloc.h>
+#include <grpc/support/log.h>
+#include <grpc++/completion_queue.h>
+#include <grpc++/async_generic_service.h>
+#include <grpc++/impl/rpc_service_method.h>
+#include <grpc++/impl/service_type.h>
+#include <grpc++/server_context.h>
+#include <grpc++/server_credentials.h>
+#include <grpc++/thread_pool_interface.h>
+#include <grpc++/time.h>
+#include "src/core/profiling/timers.h"
+
+ + + + + + + +

+Data Structures

class  grpc::Server::ShutdownRequest
 
class  grpc::Server::SyncRequest
 
class  grpc::Server::SyncRequest::CallData
 
+ + + +

+Namespaces

 grpc
 
+
+ + + + diff --git a/doc/ref/c++.internal/html/server_8h.html b/doc/ref/c++.internal/html/server_8h.html new file mode 100644 index 0000000000..4d4955489a --- /dev/null +++ b/doc/ref/c++.internal/html/server_8h.html @@ -0,0 +1,124 @@ + + + + + + +GRPC C++: include/grpc++/server.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
server.h File Reference
+
+
+
#include <list>
+#include <memory>
+#include <grpc++/completion_queue.h>
+#include <grpc++/config.h>
+#include <grpc++/impl/call.h>
+#include <grpc++/impl/grpc_library.h>
+#include <grpc++/impl/sync.h>
+#include <grpc++/status.h>
+
+

Go to the source code of this file.

+ + + + +

+Data Structures

class  grpc::Server
 
+ + + +

+Namespaces

 grpc
 
+
+ + + + diff --git a/doc/ref/c++.internal/html/server_8h_source.html b/doc/ref/c++.internal/html/server_8h_source.html new file mode 100644 index 0000000000..c685df8886 --- /dev/null +++ b/doc/ref/c++.internal/html/server_8h_source.html @@ -0,0 +1,375 @@ + + + + + + +GRPC C++: include/grpc++/server.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
server.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPCXX_SERVER_H
+
35 #define GRPCXX_SERVER_H
+
36 
+
37 #include <list>
+
38 #include <memory>
+
39 
+ +
41 #include <grpc++/config.h>
+
42 #include <grpc++/impl/call.h>
+ +
44 #include <grpc++/impl/sync.h>
+
45 #include <grpc++/status.h>
+
46 
+
47 struct grpc_server;
+
48 
+
49 namespace grpc {
+
50 
+
51 class AsynchronousService;
+
52 class GenericServerContext;
+
53 class AsyncGenericService;
+
54 class RpcService;
+
55 class RpcServiceMethod;
+
56 class ServerAsyncStreamingInterface;
+
57 class ServerCredentials;
+
58 class ThreadPoolInterface;
+
59 
+
60 // Currently it only supports handling rpcs in a single thread.
+
61 class Server GRPC_FINAL : public GrpcLibrary, private CallHook {
+
62  public:
+
63  ~Server();
+
64 
+
65  // Shutdown the server, block until all rpc processing finishes.
+
66  void Shutdown();
+
67 
+
68  // Block waiting for all work to complete (the server must either
+
69  // be shutting down or some other thread must call Shutdown for this
+
70  // function to ever return)
+
71  void Wait();
+
72 
+
73  private:
+
74  friend class AsyncGenericService;
+
75  friend class AsynchronousService;
+
76  friend class ServerBuilder;
+
77 
+
78  class SyncRequest;
+
79  class AsyncRequest;
+
80  class ShutdownRequest;
+
81 
+
82  // ServerBuilder use only
+
83  Server(ThreadPoolInterface* thread_pool, bool thread_pool_owned,
+
84  int max_message_size);
+
85  // Register a service. This call does not take ownership of the service.
+
86  // The service must exist for the lifetime of the Server instance.
+
87  bool RegisterService(const grpc::string *host, RpcService* service);
+
88  bool RegisterAsyncService(const grpc::string *host, AsynchronousService* service);
+
89  void RegisterAsyncGenericService(AsyncGenericService* service);
+
90  // Add a listening port. Can be called multiple times.
+
91  int AddListeningPort(const grpc::string& addr, ServerCredentials* creds);
+
92  // Start the server.
+
93  bool Start();
+
94 
+
95  void HandleQueueClosed();
+
96  void RunRpc();
+
97  void ScheduleCallback();
+
98 
+
99  void PerformOpsOnCall(CallOpSetInterface* ops, Call* call) GRPC_OVERRIDE;
+
100 
+
101  class BaseAsyncRequest : public CompletionQueueTag {
+
102  public:
+
103  BaseAsyncRequest(Server* server, ServerContext* context,
+ +
105  CompletionQueue* call_cq, void* tag);
+
106  virtual ~BaseAsyncRequest();
+
107 
+
108  bool FinalizeResult(void** tag, bool* status) GRPC_OVERRIDE;
+
109 
+
110  protected:
+
111  Server* const server_;
+
112  ServerContext* const context_;
+
113  ServerAsyncStreamingInterface* const stream_;
+
114  CompletionQueue* const call_cq_;
+
115  void* const tag_;
+
116  grpc_call* call_;
+
117  grpc_metadata_array initial_metadata_array_;
+
118  };
+
119 
+
120  class RegisteredAsyncRequest : public BaseAsyncRequest {
+
121  public:
+
122  RegisteredAsyncRequest(Server* server, ServerContext* context,
+ +
124  CompletionQueue* call_cq, void* tag);
+
125 
+
126  // uses BaseAsyncRequest::FinalizeResult
+
127 
+
128  protected:
+
129  void IssueRequest(void* registered_method, grpc_byte_buffer** payload,
+
130  ServerCompletionQueue* notification_cq);
+
131  };
+
132 
+
133  class NoPayloadAsyncRequest GRPC_FINAL : public RegisteredAsyncRequest {
+
134  public:
+
135  NoPayloadAsyncRequest(void* registered_method, Server* server,
+
136  ServerContext* context,
+
137  ServerAsyncStreamingInterface* stream,
+
138  CompletionQueue* call_cq,
+
139  ServerCompletionQueue* notification_cq, void* tag)
+
140  : RegisteredAsyncRequest(server, context, stream, call_cq, tag) {
+
141  IssueRequest(registered_method, nullptr, notification_cq);
+
142  }
+
143 
+
144  // uses RegisteredAsyncRequest::FinalizeResult
+
145  };
+
146 
+
147  template <class Message>
+
148  class PayloadAsyncRequest GRPC_FINAL : public RegisteredAsyncRequest {
+
149  public:
+
150  PayloadAsyncRequest(void* registered_method, Server* server,
+
151  ServerContext* context,
+
152  ServerAsyncStreamingInterface* stream,
+
153  CompletionQueue* call_cq,
+
154  ServerCompletionQueue* notification_cq, void* tag,
+
155  Message* request)
+
156  : RegisteredAsyncRequest(server, context, stream, call_cq, tag),
+
157  request_(request) {
+
158  IssueRequest(registered_method, &payload_, notification_cq);
+
159  }
+
160 
+
161  bool FinalizeResult(void** tag, bool* status) GRPC_OVERRIDE {
+
162  bool serialization_status =
+
163  *status && payload_ &&
+
164  SerializationTraits<Message>::Deserialize(payload_, request_,
+
165  server_->max_message_size_)
+
166  .ok();
+
167  bool ret = RegisteredAsyncRequest::FinalizeResult(tag, status);
+
168  *status = serialization_status && *status;
+
169  return ret;
+
170  }
+
171 
+
172  private:
+
173  grpc_byte_buffer* payload_;
+
174  Message* const request_;
+
175  };
+
176 
+
177  class GenericAsyncRequest GRPC_FINAL : public BaseAsyncRequest {
+
178  public:
+
179  GenericAsyncRequest(Server* server, GenericServerContext* context,
+
180  ServerAsyncStreamingInterface* stream,
+
181  CompletionQueue* call_cq,
+
182  ServerCompletionQueue* notification_cq, void* tag);
+
183 
+
184  bool FinalizeResult(void** tag, bool* status) GRPC_OVERRIDE;
+
185 
+
186  private:
+
187  grpc_call_details call_details_;
+
188  };
+
189 
+
190  template <class Message>
+
191  void RequestAsyncCall(void* registered_method, ServerContext* context,
+
192  ServerAsyncStreamingInterface* stream,
+
193  CompletionQueue* call_cq,
+
194  ServerCompletionQueue* notification_cq, void* tag,
+
195  Message* message) {
+
196  new PayloadAsyncRequest<Message>(registered_method, this, context, stream,
+
197  call_cq, notification_cq, tag, message);
+
198  }
+
199 
+
200  void RequestAsyncCall(void* registered_method, ServerContext* context,
+
201  ServerAsyncStreamingInterface* stream,
+
202  CompletionQueue* call_cq,
+
203  ServerCompletionQueue* notification_cq, void* tag) {
+
204  new NoPayloadAsyncRequest(registered_method, this, context, stream, call_cq,
+
205  notification_cq, tag);
+
206  }
+
207 
+
208  void RequestAsyncGenericCall(GenericServerContext* context,
+
209  ServerAsyncStreamingInterface* stream,
+
210  CompletionQueue* call_cq,
+
211  ServerCompletionQueue* notification_cq,
+
212  void* tag) {
+
213  new GenericAsyncRequest(this, context, stream, call_cq, notification_cq,
+
214  tag);
+
215  }
+
216 
+
217  const int max_message_size_;
+
218 
+
219  // Completion queue.
+
220  CompletionQueue cq_;
+
221 
+
222  // Sever status
+
223  grpc::mutex mu_;
+
224  bool started_;
+
225  bool shutdown_;
+
226  // The number of threads which are running callbacks.
+
227  int num_running_cb_;
+
228  grpc::condition_variable callback_cv_;
+
229 
+
230  std::list<SyncRequest>* sync_methods_;
+
231 
+
232  // Pointer to the c grpc server.
+
233  grpc_server* const server_;
+
234 
+
235  ThreadPoolInterface* thread_pool_;
+
236  // Whether the thread pool is created and owned by the server.
+
237  bool thread_pool_owned_;
+
238 };
+
239 
+
240 } // namespace grpc
+
241 
+
242 #endif // GRPCXX_SERVER_H
+
Definition: completion_queue.h:75
+
void Shutdown()
Definition: server.cc:274
+ +
std::string string
Definition: config.h:112
+
An abstract collection of call ops, used to generate the grpc_call_op structure to pass down to the l...
Definition: call.h:482
+
Definition: server.cc:53
+
Definition: service_type.h:68
+
Definition: sync_no_cxx11.h:45
+ + +
Definition: service_type.h:57
+
#define GRPC_FINAL
Definition: config.h:71
+
Definition: async_generic_service.h:59
+
Definition: server.cc:61
+
Definition: thread_pool_interface.h:42
+
~Server()
Definition: server.cc:192
+
Definition: sync_no_cxx11.h:84
+
Definition: grpc_library.h:41
+
Definition: rpc_service_method.h:227
+
Definition: server_credentials.h:48
+
Definition: server.h:61
+
Definition: call.h:565
+
void Wait()
Definition: server.cc:288
+ +
Definition: server_context.h:86
+
Definition: completion_queue.h:87
+ + +
Definition: completion_queue.h:162
+
#define GRPC_OVERRIDE
Definition: config.h:77
+
Definition: call.h:558
+
Definition: server_builder.h:54
+
::google::protobuf::Message Message
Definition: config_protobuf.h:60
+
+ + + + diff --git a/doc/ref/c++.internal/html/server__builder_8cc.html b/doc/ref/c++.internal/html/server__builder_8cc.html new file mode 100644 index 0000000000..b6025a500a --- /dev/null +++ b/doc/ref/c++.internal/html/server__builder_8cc.html @@ -0,0 +1,114 @@ + + + + + + +GRPC C++: src/cpp/server/server_builder.cc File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
server_builder.cc File Reference
+
+
+
#include <grpc++/server_builder.h>
+#include <grpc/support/cpu.h>
+#include <grpc/support/log.h>
+#include <grpc++/impl/service_type.h>
+#include <grpc++/server.h>
+#include <grpc++/thread_pool_interface.h>
+
+ + + +

+Namespaces

 grpc
 
+
+ + + + diff --git a/doc/ref/c++.internal/html/server__builder_8h.html b/doc/ref/c++.internal/html/server__builder_8h.html new file mode 100644 index 0000000000..f290f29bc0 --- /dev/null +++ b/doc/ref/c++.internal/html/server__builder_8h.html @@ -0,0 +1,119 @@ + + + + + + +GRPC C++: include/grpc++/server_builder.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
server_builder.h File Reference
+
+
+
#include <memory>
+#include <vector>
+#include <grpc++/config.h>
+
+

Go to the source code of this file.

+ + + + +

+Data Structures

class  grpc::ServerBuilder
 
+ + + +

+Namespaces

 grpc
 
+
+ + + + diff --git a/doc/ref/c++.internal/html/server__builder_8h_source.html b/doc/ref/c++.internal/html/server__builder_8h_source.html new file mode 100644 index 0000000000..871e0d3d0a --- /dev/null +++ b/doc/ref/c++.internal/html/server__builder_8h_source.html @@ -0,0 +1,256 @@ + + + + + + +GRPC C++: include/grpc++/server_builder.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
server_builder.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPCXX_SERVER_BUILDER_H
+
35 #define GRPCXX_SERVER_BUILDER_H
+
36 
+
37 #include <memory>
+
38 #include <vector>
+
39 
+
40 #include <grpc++/config.h>
+
41 
+
42 namespace grpc {
+
43 
+
44 class AsyncGenericService;
+
45 class AsynchronousService;
+
46 class CompletionQueue;
+
47 class RpcService;
+
48 class Server;
+
49 class ServerCompletionQueue;
+
50 class ServerCredentials;
+
51 class SynchronousService;
+
52 class ThreadPoolInterface;
+
53 
+ +
55  public:
+
56  ServerBuilder();
+
57 
+
58  // Register a service. This call does not take ownership of the service.
+
59  // The service must exist for the lifetime of the Server instance returned by
+
60  // BuildAndStart().
+
61  // Matches requests with any :authority
+
62  void RegisterService(SynchronousService* service);
+
63 
+
64  // Register an asynchronous service.
+
65  // This call does not take ownership of the service or completion queue.
+
66  // The service and completion queuemust exist for the lifetime of the Server
+
67  // instance returned by BuildAndStart().
+
68  // Matches requests with any :authority
+ +
70 
+
71  // Register a generic service.
+
72  // Matches requests with any :authority
+ +
74 
+
75  // Register a service. This call does not take ownership of the service.
+
76  // The service must exist for the lifetime of the Server instance returned by
+
77  // BuildAndStart().
+
78  // Only matches requests with :authority \a host
+
79  void RegisterService(const grpc::string& host,
+
80  SynchronousService* service);
+
81 
+
82  // Register an asynchronous service.
+
83  // This call does not take ownership of the service or completion queue.
+
84  // The service and completion queuemust exist for the lifetime of the Server
+
85  // instance returned by BuildAndStart().
+
86  // Only matches requests with :authority \a host
+
87  void RegisterAsyncService(const grpc::string& host,
+
88  AsynchronousService* service);
+
89 
+
90  // Set max message size in bytes.
+
91  void SetMaxMessageSize(int max_message_size) {
+
92  max_message_size_ = max_message_size;
+
93  }
+
94 
+
95  // Add a listening port. Can be called multiple times.
+
96  void AddListeningPort(const grpc::string& addr,
+
97  std::shared_ptr<ServerCredentials> creds,
+
98  int* selected_port = nullptr);
+
99 
+
100  // Set the thread pool used for running appliation rpc handlers.
+
101  // Does not take ownership.
+
102  void SetThreadPool(ThreadPoolInterface* thread_pool);
+
103 
+
104  // Add a completion queue for handling asynchronous services
+
105  // Caller is required to keep this completion queue live until calling
+
106  // BuildAndStart()
+
107  std::unique_ptr<ServerCompletionQueue> AddCompletionQueue();
+
108 
+
109  // Return a running server which is ready for processing rpcs.
+
110  std::unique_ptr<Server> BuildAndStart();
+
111 
+
112  private:
+
113  struct Port {
+
114  grpc::string addr;
+
115  std::shared_ptr<ServerCredentials> creds;
+
116  int* selected_port;
+
117  };
+
118 
+
119  typedef std::unique_ptr<grpc::string> HostString;
+
120  template <class T> struct NamedService {
+
121  explicit NamedService(T* s) : service(s) {}
+
122  NamedService(const grpc::string& h, T *s)
+
123  : host(new grpc::string(h)), service(s) {}
+
124  HostString host;
+
125  T* service;
+
126  };
+
127 
+
128  int max_message_size_;
+
129  std::vector<std::unique_ptr<NamedService<RpcService>>> services_;
+
130  std::vector<std::unique_ptr<NamedService<AsynchronousService>>> async_services_;
+
131  std::vector<Port> ports_;
+
132  std::vector<ServerCompletionQueue*> cqs_;
+
133  std::shared_ptr<ServerCredentials> creds_;
+
134  AsyncGenericService* generic_service_;
+
135  ThreadPoolInterface* thread_pool_;
+
136 };
+
137 
+
138 } // namespace grpc
+
139 
+
140 #endif // GRPCXX_SERVER_BUILDER_H
+
std::string string
Definition: config.h:112
+
ServerBuilder()
Definition: server_builder.cc:44
+
void RegisterAsyncService(AsynchronousService *service)
Definition: server_builder.cc:57
+
Definition: service_type.h:68
+
void AddListeningPort(const grpc::string &addr, std::shared_ptr< ServerCredentials > creds, int *selected_port=nullptr)
Definition: server_builder.cc:82
+ +
void SetMaxMessageSize(int max_message_size)
Definition: server_builder.h:91
+
Definition: async_generic_service.h:59
+
Definition: thread_pool_interface.h:42
+
void SetThreadPool(ThreadPoolInterface *thread_pool)
Definition: server_builder.cc:89
+
Definition: service_type.h:51
+
std::unique_ptr< Server > BuildAndStart()
Definition: server_builder.cc:93
+
std::unique_ptr< ServerCompletionQueue > AddCompletionQueue()
Definition: server_builder.cc:47
+
void RegisterAsyncGenericService(AsyncGenericService *service)
Definition: server_builder.cc:71
+
Definition: server_builder.h:54
+
void RegisterService(SynchronousService *service)
Definition: server_builder.cc:53
+
+ + + + diff --git a/doc/ref/c++.internal/html/server__context_8cc.html b/doc/ref/c++.internal/html/server__context_8cc.html new file mode 100644 index 0000000000..48e4d8ba03 --- /dev/null +++ b/doc/ref/c++.internal/html/server__context_8cc.html @@ -0,0 +1,123 @@ + + + + + + +GRPC C++: src/cpp/server/server_context.cc File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
server_context.cc File Reference
+
+
+
#include <grpc++/server_context.h>
+#include <grpc/grpc.h>
+#include <grpc/support/alloc.h>
+#include <grpc/support/log.h>
+#include <grpc++/impl/call.h>
+#include <grpc++/impl/sync.h>
+#include <grpc++/time.h>
+#include "src/core/channel/compress_filter.h"
+#include "src/cpp/common/create_auth_context.h"
+
+ + + +

+Data Structures

class  grpc::ServerContext::CompletionOp
 
+ + + +

+Namespaces

 grpc
 
+
+ + + + diff --git a/doc/ref/c++.internal/html/server__context_8h.html b/doc/ref/c++.internal/html/server__context_8h.html new file mode 100644 index 0000000000..a0284282b2 --- /dev/null +++ b/doc/ref/c++.internal/html/server__context_8h.html @@ -0,0 +1,147 @@ + + + + + + +GRPC C++: include/grpc++/server_context.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
server_context.h File Reference
+
+ + + + + diff --git a/doc/ref/c++.internal/html/server__context_8h_source.html b/doc/ref/c++.internal/html/server__context_8h_source.html new file mode 100644 index 0000000000..eb03deaabd --- /dev/null +++ b/doc/ref/c++.internal/html/server__context_8h_source.html @@ -0,0 +1,320 @@ + + + + + + +GRPC C++: include/grpc++/server_context.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
server_context.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPCXX_SERVER_CONTEXT_H
+
35 #define GRPCXX_SERVER_CONTEXT_H
+
36 
+
37 #include <map>
+
38 #include <memory>
+
39 
+
40 #include <grpc/compression.h>
+
41 #include <grpc/support/time.h>
+
42 #include <grpc++/auth_context.h>
+
43 #include <grpc++/config.h>
+
44 #include <grpc++/time.h>
+
45 
+
46 struct gpr_timespec;
+
47 struct grpc_metadata;
+
48 struct grpc_call;
+
49 struct census_context;
+
50 
+
51 namespace grpc {
+
52 
+
53 template <class W, class R>
+ +
55 template <class W>
+ +
57 template <class W>
+ +
59 template <class R, class W>
+ +
61 template <class R>
+
62 class ServerReader;
+
63 template <class W>
+
64 class ServerWriter;
+
65 template <class R, class W>
+
66 class ServerReaderWriter;
+
67 template <class ServiceType, class RequestType, class ResponseType>
+
68 class RpcMethodHandler;
+
69 template <class ServiceType, class RequestType, class ResponseType>
+ +
71 template <class ServiceType, class RequestType, class ResponseType>
+ +
73 template <class ServiceType, class RequestType, class ResponseType>
+ +
75 
+
76 class Call;
+
77 class CallOpBuffer;
+
78 class CompletionQueue;
+
79 class Server;
+
80 
+
81 namespace testing {
+
82 class InteropContextInspector;
+
83 } // namespace testing
+
84 
+
85 // Interface of server side rpc context.
+ +
87  public:
+
88  ServerContext(); // for async calls
+ +
90 
+
91 #ifndef GRPC_CXX0X_NO_CHRONO
+
92  std::chrono::system_clock::time_point deadline() {
+
93  return Timespec2Timepoint(deadline_);
+
94  }
+
95 #endif // !GRPC_CXX0X_NO_CHRONO
+
96 
+
97  gpr_timespec raw_deadline() { return deadline_; }
+
98 
+
99  void AddInitialMetadata(const grpc::string& key, const grpc::string& value);
+
100  void AddTrailingMetadata(const grpc::string& key, const grpc::string& value);
+
101 
+
102  bool IsCancelled() const;
+
103 
+
104  const std::multimap<grpc::string, grpc::string>& client_metadata() {
+
105  return client_metadata_;
+
106  }
+
107 
+
108  grpc_compression_level compression_level() const {
+
109  return compression_level_;
+
110  }
+
111  void set_compression_level(grpc_compression_level level);
+
112 
+
113  grpc_compression_algorithm compression_algorithm() const {
+
114  return compression_algorithm_;
+
115  }
+
116  void set_compression_algorithm(grpc_compression_algorithm algorithm);
+
117 
+
118  std::shared_ptr<const AuthContext> auth_context() const;
+
119 
+
120  // Return the peer uri in a string.
+
121  // WARNING: this value is never authenticated or subject to any security
+
122  // related code. It must not be used for any authentication related
+
123  // functionality. Instead, use auth_context.
+
124  grpc::string peer() const;
+
125 
+
126  const struct census_context* census_context() const;
+
127 
+
128  private:
+
129  friend class ::grpc::testing::InteropContextInspector;
+
130  friend class ::grpc::Server;
+
131  template <class W, class R>
+
132  friend class ::grpc::ServerAsyncReader;
+
133  template <class W>
+
134  friend class ::grpc::ServerAsyncWriter;
+
135  template <class W>
+
136  friend class ::grpc::ServerAsyncResponseWriter;
+
137  template <class R, class W>
+
138  friend class ::grpc::ServerAsyncReaderWriter;
+
139  template <class R>
+
140  friend class ::grpc::ServerReader;
+
141  template <class W>
+
142  friend class ::grpc::ServerWriter;
+
143  template <class R, class W>
+
144  friend class ::grpc::ServerReaderWriter;
+
145  template <class ServiceType, class RequestType, class ResponseType>
+
146  friend class RpcMethodHandler;
+
147  template <class ServiceType, class RequestType, class ResponseType>
+ +
149  template <class ServiceType, class RequestType, class ResponseType>
+ +
151  template <class ServiceType, class RequestType, class ResponseType>
+
152  friend class BidiStreamingHandler;
+
153 
+
154  // Prevent copying.
+ +
156  ServerContext& operator=(const ServerContext&);
+
157 
+
158  class CompletionOp;
+
159 
+
160  void BeginCompletionOp(Call* call);
+
161 
+
162  ServerContext(gpr_timespec deadline, grpc_metadata* metadata,
+
163  size_t metadata_count);
+
164 
+
165  void set_call(grpc_call* call);
+
166 
+
167  CompletionOp* completion_op_;
+
168 
+
169  gpr_timespec deadline_;
+
170  grpc_call* call_;
+
171  CompletionQueue* cq_;
+
172  bool sent_initial_metadata_;
+
173  mutable std::shared_ptr<const AuthContext> auth_context_;
+
174  std::multimap<grpc::string, grpc::string> client_metadata_;
+
175  std::multimap<grpc::string, grpc::string> initial_metadata_;
+
176  std::multimap<grpc::string, grpc::string> trailing_metadata_;
+
177 
+
178  grpc_compression_level compression_level_;
+
179  grpc_compression_algorithm compression_algorithm_;
+
180 };
+
181 
+
182 } // namespace grpc
+
183 
+
184 #endif // GRPCXX_SERVER_CONTEXT_H
+
grpc_compression_algorithm compression_algorithm() const
Definition: server_context.h:113
+
std::chrono::system_clock::time_point deadline()
Definition: server_context.h:92
+
void set_compression_algorithm(grpc_compression_algorithm algorithm)
Definition: server_context.cc:159
+
grpc_compression_level compression_level() const
Definition: server_context.h:108
+
std::string string
Definition: config.h:112
+ +
const struct census_context * census_context() const
Definition: server_context.cc:193
+
ServerContext()
Definition: server_context.cc:103
+
Definition: server_context.h:60
+ +
void set_compression_level(grpc_compression_level level)
Definition: server_context.cc:153
+
void AddInitialMetadata(const grpc::string &key, const grpc::string &value)
Definition: server_context.cc:139
+
Definition: completion_queue.h:53
+
Definition: server_context.h:56
+ +
~ServerContext()
Definition: server_context.cc:124
+
Definition: server.h:61
+
std::chrono::system_clock::time_point Timespec2Timepoint(gpr_timespec t)
Definition: time.cc:81
+
Definition: call.h:565
+
Definition: completion_queue.h:59
+
bool IsCancelled() const
Definition: server_context.cc:149
+
Definition: server_context.h:86
+
grpc::string peer() const
Definition: server_context.cc:183
+
std::shared_ptr< const AuthContext > auth_context() const
Definition: server_context.cc:176
+
Definition: completion_queue.h:55
+
Definition: completion_queue.h:87
+
Definition: completion_queue.h:61
+
const std::multimap< grpc::string, grpc::string > & client_metadata()
Definition: server_context.h:104
+
Definition: server_context.cc:50
+
Definition: completion_queue.h:57
+
Definition: completion_queue.h:63
+
Definition: async_unary_call.h:101
+
void AddTrailingMetadata(const grpc::string &key, const grpc::string &value)
Definition: server_context.cc:144
+
gpr_timespec raw_deadline()
Definition: server_context.h:97
+
Definition: server_context.h:54
+
Definition: completion_queue.h:65
+
+ + + + diff --git a/doc/ref/c++.internal/html/server__credentials_8cc.html b/doc/ref/c++.internal/html/server__credentials_8cc.html new file mode 100644 index 0000000000..995d8e57ed --- /dev/null +++ b/doc/ref/c++.internal/html/server__credentials_8cc.html @@ -0,0 +1,109 @@ + + + + + + +GRPC C++: src/cpp/server/server_credentials.cc File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
server_credentials.cc File Reference
+
+
+ + + + +

+Namespaces

 grpc
 
+
+ + + + diff --git a/doc/ref/c++.internal/html/server__credentials_8h.html b/doc/ref/c++.internal/html/server__credentials_8h.html new file mode 100644 index 0000000000..eec4c47d74 --- /dev/null +++ b/doc/ref/c++.internal/html/server__credentials_8h.html @@ -0,0 +1,133 @@ + + + + + + +GRPC C++: include/grpc++/server_credentials.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
server_credentials.h File Reference
+
+
+
#include <memory>
+#include <vector>
+#include <grpc++/config.h>
+
+

Go to the source code of this file.

+ + + + + + + + +

+Data Structures

class  grpc::ServerCredentials
 
struct  grpc::SslServerCredentialsOptions
 
struct  grpc::SslServerCredentialsOptions::PemKeyCertPair
 
+ + + +

+Namespaces

 grpc
 
+ + + + + +

+Functions

std::shared_ptr
+< ServerCredentials > 
grpc::SslServerCredentials (const SslServerCredentialsOptions &options)
 
std::shared_ptr
+< ServerCredentials > 
grpc::InsecureServerCredentials ()
 
+
+ + + + diff --git a/doc/ref/c++.internal/html/server__credentials_8h_source.html b/doc/ref/c++.internal/html/server__credentials_8h_source.html new file mode 100644 index 0000000000..f64128a195 --- /dev/null +++ b/doc/ref/c++.internal/html/server__credentials_8h_source.html @@ -0,0 +1,194 @@ + + + + + + +GRPC C++: include/grpc++/server_credentials.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
server_credentials.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPCXX_SERVER_CREDENTIALS_H
+
35 #define GRPCXX_SERVER_CREDENTIALS_H
+
36 
+
37 #include <memory>
+
38 #include <vector>
+
39 
+
40 #include <grpc++/config.h>
+
41 
+
42 struct grpc_server;
+
43 
+
44 namespace grpc {
+
45 class Server;
+
46 
+
47 // grpc_server_credentials wrapper class.
+ +
49  public:
+
50  virtual ~ServerCredentials();
+
51 
+
52  private:
+
53  friend class ::grpc::Server;
+
54 
+
55  virtual int AddPortToServer(const grpc::string& addr,
+
56  grpc_server* server) = 0;
+
57 };
+
58 
+
59 // Options to create ServerCredentials with SSL
+ + +
62 
+
63  struct PemKeyCertPair {
+ + +
66  };
+ +
68  std::vector<PemKeyCertPair> pem_key_cert_pairs;
+ +
70 };
+
71 
+
72 // Builds SSL ServerCredentials given SSL specific options
+
73 std::shared_ptr<ServerCredentials> SslServerCredentials(
+
74  const SslServerCredentialsOptions& options);
+
75 
+
76 std::shared_ptr<ServerCredentials> InsecureServerCredentials();
+
77 
+
78 } // namespace grpc
+
79 
+
80 #endif // GRPCXX_SERVER_CREDENTIALS_H
+
grpc::string cert_chain
Definition: server_credentials.h:65
+
std::string string
Definition: config.h:112
+
Definition: server_credentials.h:63
+ +
virtual ~ServerCredentials()
Definition: server_credentials.cc:38
+
bool force_client_auth
Definition: server_credentials.h:69
+
std::shared_ptr< ServerCredentials > InsecureServerCredentials()
Definition: insecure_server_credentials.cc:49
+
std::shared_ptr< ServerCredentials > SslServerCredentials(const SslServerCredentialsOptions &options)
Definition: secure_server_credentials.cc:43
+
Definition: server_credentials.h:48
+
std::vector< PemKeyCertPair > pem_key_cert_pairs
Definition: server_credentials.h:68
+
grpc::string pem_root_certs
Definition: server_credentials.h:67
+
Definition: server_credentials.h:60
+
grpc::string private_key
Definition: server_credentials.h:64
+
SslServerCredentialsOptions()
Definition: server_credentials.h:61
+
+ + + + diff --git a/doc/ref/c++.internal/html/service__type_8h.html b/doc/ref/c++.internal/html/service__type_8h.html new file mode 100644 index 0000000000..1e14b8d047 --- /dev/null +++ b/doc/ref/c++.internal/html/service__type_8h.html @@ -0,0 +1,124 @@ + + + + + + +GRPC C++: include/grpc++/impl/service_type.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
service_type.h File Reference
+
+
+ +

Go to the source code of this file.

+ + + + + + + + +

+Data Structures

class  grpc::SynchronousService
 
class  grpc::ServerAsyncStreamingInterface
 
class  grpc::AsynchronousService
 
+ + + +

+Namespaces

 grpc
 
+
+ + + + diff --git a/doc/ref/c++.internal/html/service__type_8h_source.html b/doc/ref/c++.internal/html/service__type_8h_source.html new file mode 100644 index 0000000000..9dc674c848 --- /dev/null +++ b/doc/ref/c++.internal/html/service__type_8h_source.html @@ -0,0 +1,247 @@ + + + + + + +GRPC C++: include/grpc++/impl/service_type.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
service_type.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPCXX_IMPL_SERVICE_TYPE_H
+
35 #define GRPCXX_IMPL_SERVICE_TYPE_H
+
36 
+
37 #include <grpc++/config.h>
+ +
39 #include <grpc++/server.h>
+
40 #include <grpc++/status.h>
+
41 
+
42 namespace grpc {
+
43 
+
44 class Call;
+
45 class CompletionQueue;
+
46 class RpcService;
+
47 class Server;
+
48 class ServerCompletionQueue;
+
49 class ServerContext;
+
50 
+ +
52  public:
+
53  virtual ~SynchronousService() {}
+
54  virtual RpcService* service() = 0;
+
55 };
+
56 
+ +
58  public:
+ +
60 
+
61  virtual void SendInitialMetadata(void* tag) = 0;
+
62 
+
63  private:
+
64  friend class Server;
+
65  virtual void BindCall(Call* call) = 0;
+
66 };
+
67 
+ +
69  public:
+
70  AsynchronousService(const char** method_names, size_t method_count)
+
71  : server_(nullptr),
+
72  method_names_(method_names),
+
73  method_count_(method_count),
+
74  request_args_(nullptr) {}
+
75 
+
76  ~AsynchronousService() { delete[] request_args_; }
+
77 
+
78  protected:
+
79  template <class Message>
+
80  void RequestAsyncUnary(int index, ServerContext* context, Message* request,
+ +
82  CompletionQueue* call_cq,
+
83  ServerCompletionQueue* notification_cq, void* tag) {
+
84  server_->RequestAsyncCall(request_args_[index], context, stream, call_cq,
+
85  notification_cq, tag, request);
+
86  }
+
87  void RequestClientStreaming(int index, ServerContext* context,
+ +
89  CompletionQueue* call_cq,
+
90  ServerCompletionQueue* notification_cq,
+
91  void* tag) {
+
92  server_->RequestAsyncCall(request_args_[index], context, stream, call_cq,
+
93  notification_cq, tag);
+
94  }
+
95  template <class Message>
+
96  void RequestServerStreaming(int index, ServerContext* context,
+
97  Message* request,
+ +
99  CompletionQueue* call_cq,
+
100  ServerCompletionQueue* notification_cq,
+
101  void* tag) {
+
102  server_->RequestAsyncCall(request_args_[index], context, stream, call_cq,
+
103  notification_cq, tag, request);
+
104  }
+
105  void RequestBidiStreaming(int index, ServerContext* context,
+ +
107  CompletionQueue* call_cq,
+
108  ServerCompletionQueue* notification_cq, void* tag) {
+
109  server_->RequestAsyncCall(request_args_[index], context, stream, call_cq,
+
110  notification_cq, tag);
+
111  }
+
112 
+
113  private:
+
114  friend class Server;
+
115  Server* server_;
+
116  const char** const method_names_;
+
117  size_t method_count_;
+
118  void** request_args_;
+
119 };
+
120 
+
121 } // namespace grpc
+
122 
+
123 #endif // GRPCXX_IMPL_SERVICE_TYPE_H
+
virtual void SendInitialMetadata(void *tag)=0
+
~AsynchronousService()
Definition: service_type.h:76
+
Definition: service_type.h:68
+
virtual ~SynchronousService()
Definition: service_type.h:53
+ +
Definition: service_type.h:57
+ +
void RequestClientStreaming(int index, ServerContext *context, ServerAsyncStreamingInterface *stream, CompletionQueue *call_cq, ServerCompletionQueue *notification_cq, void *tag)
Definition: service_type.h:87
+
Definition: service_type.h:51
+
Definition: rpc_service_method.h:227
+ +
Definition: server.h:61
+
Definition: call.h:565
+
void RequestServerStreaming(int index, ServerContext *context, Message *request, ServerAsyncStreamingInterface *stream, CompletionQueue *call_cq, ServerCompletionQueue *notification_cq, void *tag)
Definition: service_type.h:96
+
Definition: server_context.h:86
+
AsynchronousService(const char **method_names, size_t method_count)
Definition: service_type.h:70
+
Definition: completion_queue.h:87
+ +
virtual RpcService * service()=0
+
void RequestBidiStreaming(int index, ServerContext *context, ServerAsyncStreamingInterface *stream, CompletionQueue *call_cq, ServerCompletionQueue *notification_cq, void *tag)
Definition: service_type.h:105
+
virtual ~ServerAsyncStreamingInterface()
Definition: service_type.h:59
+
Definition: completion_queue.h:162
+
void RequestAsyncUnary(int index, ServerContext *context, Message *request, ServerAsyncStreamingInterface *stream, CompletionQueue *call_cq, ServerCompletionQueue *notification_cq, void *tag)
Definition: service_type.h:80
+
::google::protobuf::Message Message
Definition: config_protobuf.h:60
+
+ + + + diff --git a/doc/ref/c++.internal/html/slice_8cc.html b/doc/ref/c++.internal/html/slice_8cc.html new file mode 100644 index 0000000000..5b2c27a1ed --- /dev/null +++ b/doc/ref/c++.internal/html/slice_8cc.html @@ -0,0 +1,109 @@ + + + + + + +GRPC C++: src/cpp/util/slice.cc File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
slice.cc File Reference
+
+
+
#include <grpc++/slice.h>
+
+ + + +

+Namespaces

 grpc
 
+
+ + + + diff --git a/doc/ref/c++.internal/html/slice_8h.html b/doc/ref/c++.internal/html/slice_8h.html new file mode 100644 index 0000000000..297bd5a24f --- /dev/null +++ b/doc/ref/c++.internal/html/slice_8h.html @@ -0,0 +1,118 @@ + + + + + + +GRPC C++: include/grpc++/slice.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
slice.h File Reference
+
+
+
#include <grpc/support/slice.h>
+#include <grpc++/config.h>
+
+

Go to the source code of this file.

+ + + + +

+Data Structures

class  grpc::Slice
 
+ + + +

+Namespaces

 grpc
 
+
+ + + + diff --git a/doc/ref/c++.internal/html/slice_8h_source.html b/doc/ref/c++.internal/html/slice_8h_source.html new file mode 100644 index 0000000000..8693b938f0 --- /dev/null +++ b/doc/ref/c++.internal/html/slice_8h_source.html @@ -0,0 +1,188 @@ + + + + + + +GRPC C++: include/grpc++/slice.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
slice.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPCXX_SLICE_H
+
35 #define GRPCXX_SLICE_H
+
36 
+
37 #include <grpc/support/slice.h>
+
38 #include <grpc++/config.h>
+
39 
+
40 namespace grpc {
+
41 
+ +
43  public:
+
44  // construct empty slice
+
45  Slice();
+
46  // destructor - drops one ref
+
47  ~Slice();
+
48  // construct slice from grpc slice, adding a ref
+
49  enum AddRef { ADD_REF };
+
50  Slice(gpr_slice slice, AddRef);
+
51  // construct slice from grpc slice, stealing a ref
+
52  enum StealRef { STEAL_REF };
+
53  Slice(gpr_slice slice, StealRef);
+
54  // copy constructor - adds a ref
+
55  Slice(const Slice& other);
+
56  // assignment - ref count is unchanged
+
57  Slice& operator=(Slice other) {
+
58  std::swap(slice_, other.slice_);
+
59  return *this;
+
60  }
+
61 
+
62  size_t size() const { return GPR_SLICE_LENGTH(slice_); }
+
63  const gpr_uint8* begin() const { return GPR_SLICE_START_PTR(slice_); }
+
64  const gpr_uint8* end() const { return GPR_SLICE_END_PTR(slice_); }
+
65 
+
66  private:
+
67  friend class ByteBuffer;
+
68 
+
69  gpr_slice slice_;
+
70 };
+
71 
+
72 } // namespace grpc
+
73 
+
74 #endif // GRPCXX_SLICE_H
+
~Slice()
Definition: slice.cc:40
+
const gpr_uint8 * end() const
Definition: slice.h:64
+
StealRef
Definition: slice.h:52
+
Definition: slice.h:42
+ +
const gpr_uint8 * begin() const
Definition: slice.h:63
+
#define GRPC_FINAL
Definition: config.h:71
+
Definition: slice.h:49
+
Definition: slice.h:52
+
Slice()
Definition: slice.cc:38
+
size_t size() const
Definition: slice.h:62
+
Slice & operator=(Slice other)
Definition: slice.h:57
+
AddRef
Definition: slice.h:49
+
Definition: byte_buffer.h:49
+
+ + + + diff --git a/doc/ref/c++.internal/html/status_8cc.html b/doc/ref/c++.internal/html/status_8cc.html new file mode 100644 index 0000000000..3bbf40416f --- /dev/null +++ b/doc/ref/c++.internal/html/status_8cc.html @@ -0,0 +1,109 @@ + + + + + + +GRPC C++: src/cpp/util/status.cc File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
status.cc File Reference
+
+
+
#include <grpc++/status.h>
+
+ + + +

+Namespaces

 grpc
 
+
+ + + + diff --git a/doc/ref/c++.internal/html/status_8h.html b/doc/ref/c++.internal/html/status_8h.html new file mode 100644 index 0000000000..269e5f7a5a --- /dev/null +++ b/doc/ref/c++.internal/html/status_8h.html @@ -0,0 +1,118 @@ + + + + + + +GRPC C++: include/grpc++/status.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
status.h File Reference
+
+
+ +

Go to the source code of this file.

+ + + + +

+Data Structures

class  grpc::Status
 
+ + + +

+Namespaces

 grpc
 
+
+ + + + diff --git a/doc/ref/c++.internal/html/status_8h_source.html b/doc/ref/c++.internal/html/status_8h_source.html new file mode 100644 index 0000000000..23212a53be --- /dev/null +++ b/doc/ref/c++.internal/html/status_8h_source.html @@ -0,0 +1,177 @@ + + + + + + +GRPC C++: include/grpc++/status.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
status.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPCXX_STATUS_H
+
35 #define GRPCXX_STATUS_H
+
36 
+ +
38 #include <grpc++/config.h>
+
39 
+
40 namespace grpc {
+
41 
+
42 class Status {
+
43  public:
+
44  Status() : code_(StatusCode::OK) {}
+
45  Status(StatusCode code, const grpc::string& details)
+
46  : code_(code), details_(details) {}
+
47 
+
48  // Pre-defined special status objects.
+
49  static const Status& OK;
+
50  static const Status& CANCELLED;
+
51 
+
52  StatusCode error_code() const { return code_; }
+
53  grpc::string error_message() const { return details_; }
+
54 
+
55  bool ok() const { return code_ == StatusCode::OK; }
+
56 
+
57  private:
+
58  StatusCode code_;
+
59  grpc::string details_;
+
60 };
+
61 
+
62 } // namespace grpc
+
63 
+
64 #endif // GRPCXX_STATUS_H
+ +
grpc::string error_message() const
Definition: status.h:53
+
static const Status & OK
Definition: status.h:49
+
std::string string
Definition: config.h:112
+
static const Status & CANCELLED
Definition: status.h:50
+
Definition: status_code_enum.h:41
+ +
StatusCode
Definition: status_code_enum.h:39
+
Status()
Definition: status.h:44
+
Status(StatusCode code, const grpc::string &details)
Definition: status.h:45
+
StatusCode error_code() const
Definition: status.h:52
+
bool ok() const
Definition: status.h:55
+
Definition: status.h:42
+
+ + + + diff --git a/doc/ref/c++.internal/html/status__code__enum_8h.html b/doc/ref/c++.internal/html/status__code__enum_8h.html new file mode 100644 index 0000000000..14d82d39ad --- /dev/null +++ b/doc/ref/c++.internal/html/status__code__enum_8h.html @@ -0,0 +1,140 @@ + + + + + + +GRPC C++: include/grpc++/status_code_enum.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
status_code_enum.h File Reference
+
+ + + + + diff --git a/doc/ref/c++.internal/html/status__code__enum_8h_source.html b/doc/ref/c++.internal/html/status__code__enum_8h_source.html new file mode 100644 index 0000000000..7e08b3868d --- /dev/null +++ b/doc/ref/c++.internal/html/status__code__enum_8h_source.html @@ -0,0 +1,278 @@ + + + + + + +GRPC C++: include/grpc++/status_code_enum.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
status_code_enum.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPCXX_STATUS_CODE_ENUM_H
+
35 #define GRPCXX_STATUS_CODE_ENUM_H
+
36 
+
37 namespace grpc {
+
38 
+
39 enum StatusCode {
+
40  /* Not an error; returned on success */
+
41  OK = 0,
+
42 
+
43  /* The operation was cancelled (typically by the caller). */
+
44  CANCELLED = 1,
+
45 
+
46  /* Unknown error. An example of where this error may be returned is
+
47  if a Status value received from another address space belongs to
+
48  an error-space that is not known in this address space. Also
+
49  errors raised by APIs that do not return enough error information
+
50  may be converted to this error. */
+
51  UNKNOWN = 2,
+
52 
+
53  /* Client specified an invalid argument. Note that this differs
+
54  from FAILED_PRECONDITION. INVALID_ARGUMENT indicates arguments
+
55  that are problematic regardless of the state of the system
+
56  (e.g., a malformed file name). */
+ +
58 
+
59  /* Deadline expired before operation could complete. For operations
+
60  that change the state of the system, this error may be returned
+
61  even if the operation has completed successfully. For example, a
+
62  successful response from a server could have been delayed long
+
63  enough for the deadline to expire. */
+ +
65 
+
66  /* Some requested entity (e.g., file or directory) was not found. */
+
67  NOT_FOUND = 5,
+
68 
+
69  /* Some entity that we attempted to create (e.g., file or directory)
+
70  already exists. */
+ +
72 
+
73  /* The caller does not have permission to execute the specified
+
74  operation. PERMISSION_DENIED must not be used for rejections
+
75  caused by exhausting some resource (use RESOURCE_EXHAUSTED
+
76  instead for those errors). PERMISSION_DENIED must not be
+
77  used if the caller can not be identified (use UNAUTHENTICATED
+
78  instead for those errors). */
+ +
80 
+
81  /* The request does not have valid authentication credentials for the
+
82  operation. */
+ +
84 
+
85  /* Some resource has been exhausted, perhaps a per-user quota, or
+
86  perhaps the entire file system is out of space. */
+ +
88 
+
89  /* Operation was rejected because the system is not in a state
+
90  required for the operation's execution. For example, directory
+
91  to be deleted may be non-empty, an rmdir operation is applied to
+
92  a non-directory, etc.
+
93 
+
94  A litmus test that may help a service implementor in deciding
+
95  between FAILED_PRECONDITION, ABORTED, and UNAVAILABLE:
+
96  (a) Use UNAVAILABLE if the client can retry just the failing call.
+
97  (b) Use ABORTED if the client should retry at a higher-level
+
98  (e.g., restarting a read-modify-write sequence).
+
99  (c) Use FAILED_PRECONDITION if the client should not retry until
+
100  the system state has been explicitly fixed. E.g., if an "rmdir"
+
101  fails because the directory is non-empty, FAILED_PRECONDITION
+
102  should be returned since the client should not retry unless
+
103  they have first fixed up the directory by deleting files from it.
+
104  (d) Use FAILED_PRECONDITION if the client performs conditional
+
105  REST Get/Update/Delete on a resource and the resource on the
+
106  server does not match the condition. E.g., conflicting
+
107  read-modify-write on the same resource. */
+ +
109 
+
110  /* The operation was aborted, typically due to a concurrency issue
+
111  like sequencer check failures, transaction aborts, etc.
+
112 
+
113  See litmus test above for deciding between FAILED_PRECONDITION,
+
114  ABORTED, and UNAVAILABLE. */
+
115  ABORTED = 10,
+
116 
+
117  /* Operation was attempted past the valid range. E.g., seeking or
+
118  reading past end of file.
+
119 
+
120  Unlike INVALID_ARGUMENT, this error indicates a problem that may
+
121  be fixed if the system state changes. For example, a 32-bit file
+
122  system will generate INVALID_ARGUMENT if asked to read at an
+
123  offset that is not in the range [0,2^32-1], but it will generate
+
124  OUT_OF_RANGE if asked to read from an offset past the current
+
125  file size.
+
126 
+
127  There is a fair bit of overlap between FAILED_PRECONDITION and
+
128  OUT_OF_RANGE. We recommend using OUT_OF_RANGE (the more specific
+
129  error) when it applies so that callers who are iterating through
+
130  a space can easily look for an OUT_OF_RANGE error to detect when
+
131  they are done. */
+ +
133 
+
134  /* Operation is not implemented or not supported/enabled in this service. */
+ +
136 
+
137  /* Internal errors. Means some invariants expected by underlying
+
138  system has been broken. If you see one of these errors,
+
139  something is very broken. */
+
140  INTERNAL = 13,
+
141 
+
142  /* The service is currently unavailable. This is a most likely a
+
143  transient condition and may be corrected by retrying with
+
144  a backoff.
+
145 
+
146  See litmus test above for deciding between FAILED_PRECONDITION,
+
147  ABORTED, and UNAVAILABLE. */
+ +
149 
+
150  /* Unrecoverable data loss or corruption. */
+
151  DATA_LOSS = 15,
+
152 
+
153  /* Force users to include a default branch: */
+ +
155 };
+
156 
+
157 } // namespace grpc
+
158 
+
159 #endif // GRPCXX_STATUS_CODE_ENUM_H
+
Definition: status_code_enum.h:79
+
Definition: status_code_enum.h:148
+
Definition: status_code_enum.h:71
+
Definition: status_code_enum.h:108
+
Definition: status_code_enum.h:151
+
Definition: status_code_enum.h:41
+
StatusCode
Definition: status_code_enum.h:39
+
Definition: status_code_enum.h:154
+
Definition: status_code_enum.h:115
+
Definition: status_code_enum.h:44
+
Definition: status_code_enum.h:64
+
Definition: status_code_enum.h:57
+
Definition: status_code_enum.h:135
+
Definition: status_code_enum.h:87
+
Definition: status_code_enum.h:67
+
Definition: status_code_enum.h:51
+
Definition: status_code_enum.h:132
+
Definition: status_code_enum.h:140
+
Definition: status_code_enum.h:83
+
+ + + + diff --git a/doc/ref/c++.internal/html/stream_8h.html b/doc/ref/c++.internal/html/stream_8h.html new file mode 100644 index 0000000000..4c171440a5 --- /dev/null +++ b/doc/ref/c++.internal/html/stream_8h.html @@ -0,0 +1,170 @@ + + + + + + +GRPC C++: include/grpc++/stream.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
stream.h File Reference
+
+ + + + + diff --git a/doc/ref/c++.internal/html/stream_8h_source.html b/doc/ref/c++.internal/html/stream_8h_source.html new file mode 100644 index 0000000000..eaafe0f318 --- /dev/null +++ b/doc/ref/c++.internal/html/stream_8h_source.html @@ -0,0 +1,994 @@ + + + + + + +GRPC C++: include/grpc++/stream.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
stream.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPCXX_STREAM_H
+
35 #define GRPCXX_STREAM_H
+
36 
+ +
38 #include <grpc++/client_context.h>
+ +
40 #include <grpc++/server_context.h>
+
41 #include <grpc++/impl/call.h>
+ +
43 #include <grpc++/status.h>
+
44 #include <grpc/support/log.h>
+
45 
+
46 namespace grpc {
+
47 
+
48 // Common interface for all client side streaming.
+ +
50  public:
+ +
52 
+
53  // Wait until the stream finishes, and return the final status. When the
+
54  // client side declares it has no more message to send, either implicitly or
+
55  // by calling WritesDone, it needs to make sure there is no more message to
+
56  // be received from the server, either implicitly or by getting a false from
+
57  // a Read(). Otherwise, this implicitly cancels the stream.
+
58  virtual Status Finish() = 0;
+
59 };
+
60 
+
61 // An interface that yields a sequence of R messages.
+
62 template <class R>
+ +
64  public:
+
65  virtual ~ReaderInterface() {}
+
66 
+
67  // Blocking read a message and parse to msg. Returns true on success.
+
68  // The method returns false when there will be no more incoming messages,
+
69  // either because the other side has called WritesDone or the stream has
+
70  // failed (or been cancelled).
+
71  virtual bool Read(R* msg) = 0;
+
72 };
+
73 
+
74 // An interface that can be fed a sequence of W messages.
+
75 template <class W>
+ +
77  public:
+
78  virtual ~WriterInterface() {}
+
79 
+
80  // Blocking write msg to the stream. Returns true on success.
+
81  // Returns false when the stream has been closed.
+
82  virtual bool Write(const W& msg, const WriteOptions& options) = 0;
+
83 
+
84  inline bool Write(const W& msg) {
+
85  return Write(msg, WriteOptions());
+
86  }
+
87 };
+
88 
+
89 template <class R>
+ +
91  public ReaderInterface<R> {
+
92  public:
+
93  virtual void WaitForInitialMetadata() = 0;
+
94 };
+
95 
+
96 template <class R>
+ +
98  public:
+
99  // Blocking create a stream and write the first request out.
+
100  template <class W>
+
101  ClientReader(ChannelInterface* channel, const RpcMethod& method,
+
102  ClientContext* context, const W& request)
+
103  : context_(context), call_(channel->CreateCall(method, context, &cq_)) {
+ + +
106  ops.SendInitialMetadata(context->send_initial_metadata_);
+
107  // TODO(ctiller): don't assert
+
108  GPR_ASSERT(ops.SendMessage(request).ok());
+
109  ops.ClientSendClose();
+
110  call_.PerformOps(&ops);
+
111  cq_.Pluck(&ops);
+
112  }
+
113 
+
114  // Blocking wait for initial metadata from server. The received metadata
+
115  // can only be accessed after this call returns. Should only be called before
+
116  // the first read. Calling this method is optional, and if it is not called
+
117  // the metadata will be available in ClientContext after the first read.
+ +
119  GPR_ASSERT(!context_->initial_metadata_received_);
+
120 
+ +
122  ops.RecvInitialMetadata(context_);
+
123  call_.PerformOps(&ops);
+
124  cq_.Pluck(&ops); // status ignored
+
125  }
+
126 
+
127  bool Read(R* msg) GRPC_OVERRIDE {
+ +
129  if (!context_->initial_metadata_received_) {
+
130  ops.RecvInitialMetadata(context_);
+
131  }
+
132  ops.RecvMessage(msg);
+
133  call_.PerformOps(&ops);
+
134  return cq_.Pluck(&ops) && ops.got_message;
+
135  }
+
136 
+ + +
139  Status status;
+
140  ops.ClientRecvStatus(context_, &status);
+
141  call_.PerformOps(&ops);
+
142  GPR_ASSERT(cq_.Pluck(&ops));
+
143  return status;
+
144  }
+
145 
+
146  private:
+
147  ClientContext* context_;
+
148  CompletionQueue cq_;
+
149  Call call_;
+
150 };
+
151 
+
152 template <class W>
+ +
154  public WriterInterface<W> {
+
155  public:
+
156  virtual bool WritesDone() = 0;
+
157 };
+
158 
+
159 template <class W>
+
160 class ClientWriter : public ClientWriterInterface<W> {
+
161  public:
+
162  // Blocking create a stream.
+
163  template <class R>
+
164  ClientWriter(ChannelInterface* channel, const RpcMethod& method,
+
165  ClientContext* context, R* response)
+
166  : context_(context), call_(channel->CreateCall(method, context, &cq_)) {
+
167  finish_ops_.RecvMessage(response);
+
168 
+ +
170  ops.SendInitialMetadata(context->send_initial_metadata_);
+
171  call_.PerformOps(&ops);
+
172  cq_.Pluck(&ops);
+
173  }
+
174 
+ +
176  bool Write(const W& msg, const WriteOptions& options) GRPC_OVERRIDE {
+ +
178  if (!ops.SendMessage(msg, options).ok()) {
+
179  return false;
+
180  }
+
181  call_.PerformOps(&ops);
+
182  return cq_.Pluck(&ops);
+
183  }
+
184 
+ + +
187  ops.ClientSendClose();
+
188  call_.PerformOps(&ops);
+
189  return cq_.Pluck(&ops);
+
190  }
+
191 
+
192  // Read the final response and wait for the final status.
+ +
194  Status status;
+
195  finish_ops_.ClientRecvStatus(context_, &status);
+
196  call_.PerformOps(&finish_ops_);
+
197  GPR_ASSERT(cq_.Pluck(&finish_ops_));
+
198  return status;
+
199  }
+
200 
+
201  private:
+
202  ClientContext* context_;
+ +
204  CompletionQueue cq_;
+
205  Call call_;
+
206 };
+
207 
+
208 // Client-side interface for bi-directional streaming.
+
209 template <class W, class R>
+ +
211  public WriterInterface<W>,
+
212  public ReaderInterface<R> {
+
213  public:
+
214  virtual void WaitForInitialMetadata() = 0;
+
215  virtual bool WritesDone() = 0;
+
216 };
+
217 
+
218 template <class W, class R>
+ +
220  public:
+
221  // Blocking create a stream.
+ +
223  ClientContext* context)
+
224  : context_(context), call_(channel->CreateCall(method, context, &cq_)) {
+ +
226  ops.SendInitialMetadata(context->send_initial_metadata_);
+
227  call_.PerformOps(&ops);
+
228  cq_.Pluck(&ops);
+
229  }
+
230 
+
231  // Blocking wait for initial metadata from server. The received metadata
+
232  // can only be accessed after this call returns. Should only be called before
+
233  // the first read. Calling this method is optional, and if it is not called
+
234  // the metadata will be available in ClientContext after the first read.
+ +
236  GPR_ASSERT(!context_->initial_metadata_received_);
+
237 
+ +
239  ops.RecvInitialMetadata(context_);
+
240  call_.PerformOps(&ops);
+
241  cq_.Pluck(&ops); // status ignored
+
242  }
+
243 
+
244  bool Read(R* msg) GRPC_OVERRIDE {
+ +
246  if (!context_->initial_metadata_received_) {
+
247  ops.RecvInitialMetadata(context_);
+
248  }
+
249  ops.RecvMessage(msg);
+
250  call_.PerformOps(&ops);
+
251  return cq_.Pluck(&ops) && ops.got_message;
+
252  }
+
253 
+ +
255  bool Write(const W& msg, const WriteOptions& options) GRPC_OVERRIDE {
+ +
257  if (!ops.SendMessage(msg, options).ok()) return false;
+
258  call_.PerformOps(&ops);
+
259  return cq_.Pluck(&ops);
+
260  }
+
261 
+ + +
264  ops.ClientSendClose();
+
265  call_.PerformOps(&ops);
+
266  return cq_.Pluck(&ops);
+
267  }
+
268 
+ + +
271  Status status;
+
272  ops.ClientRecvStatus(context_, &status);
+
273  call_.PerformOps(&ops);
+
274  GPR_ASSERT(cq_.Pluck(&ops));
+
275  return status;
+
276  }
+
277 
+
278  private:
+
279  ClientContext* context_;
+
280  CompletionQueue cq_;
+
281  Call call_;
+
282 };
+
283 
+
284 template <class R>
+
285 class ServerReader GRPC_FINAL : public ReaderInterface<R> {
+
286  public:
+
287  ServerReader(Call* call, ServerContext* ctx) : call_(call), ctx_(ctx) {}
+
288 
+ +
290  GPR_ASSERT(!ctx_->sent_initial_metadata_);
+
291 
+ +
293  ops.SendInitialMetadata(ctx_->initial_metadata_);
+
294  ctx_->sent_initial_metadata_ = true;
+
295  call_->PerformOps(&ops);
+
296  call_->cq()->Pluck(&ops);
+
297  }
+
298 
+
299  bool Read(R* msg) GRPC_OVERRIDE {
+ +
301  ops.RecvMessage(msg);
+
302  call_->PerformOps(&ops);
+
303  return call_->cq()->Pluck(&ops) && ops.got_message;
+
304  }
+
305 
+
306  private:
+
307  Call* const call_;
+
308  ServerContext* const ctx_;
+
309 };
+
310 
+
311 template <class W>
+
312 class ServerWriter GRPC_FINAL : public WriterInterface<W> {
+
313  public:
+
314  ServerWriter(Call* call, ServerContext* ctx) : call_(call), ctx_(ctx) {}
+
315 
+ +
317  GPR_ASSERT(!ctx_->sent_initial_metadata_);
+
318 
+ +
320  ops.SendInitialMetadata(ctx_->initial_metadata_);
+
321  ctx_->sent_initial_metadata_ = true;
+
322  call_->PerformOps(&ops);
+
323  call_->cq()->Pluck(&ops);
+
324  }
+
325 
+ +
327  bool Write(const W& msg, const WriteOptions& options) GRPC_OVERRIDE {
+ +
329  if (!ops.SendMessage(msg, options).ok()) {
+
330  return false;
+
331  }
+
332  if (!ctx_->sent_initial_metadata_) {
+
333  ops.SendInitialMetadata(ctx_->initial_metadata_);
+
334  ctx_->sent_initial_metadata_ = true;
+
335  }
+
336  call_->PerformOps(&ops);
+
337  return call_->cq()->Pluck(&ops);
+
338  }
+
339 
+
340  private:
+
341  Call* const call_;
+
342  ServerContext* const ctx_;
+
343 };
+
344 
+
345 // Server-side interface for bi-directional streaming.
+
346 template <class W, class R>
+
347 class ServerReaderWriter GRPC_FINAL : public WriterInterface<W>,
+
348  public ReaderInterface<R> {
+
349  public:
+
350  ServerReaderWriter(Call* call, ServerContext* ctx) : call_(call), ctx_(ctx) {}
+
351 
+ +
353  GPR_ASSERT(!ctx_->sent_initial_metadata_);
+
354 
+ +
356  ops.SendInitialMetadata(ctx_->initial_metadata_);
+
357  ctx_->sent_initial_metadata_ = true;
+
358  call_->PerformOps(&ops);
+
359  call_->cq()->Pluck(&ops);
+
360  }
+
361 
+
362  bool Read(R* msg) GRPC_OVERRIDE {
+ +
364  ops.RecvMessage(msg);
+
365  call_->PerformOps(&ops);
+
366  return call_->cq()->Pluck(&ops) && ops.got_message;
+
367  }
+
368 
+ +
370  bool Write(const W& msg, const WriteOptions& options) GRPC_OVERRIDE {
+ +
372  if (!ops.SendMessage(msg, options).ok()) {
+
373  return false;
+
374  }
+
375  if (!ctx_->sent_initial_metadata_) {
+
376  ops.SendInitialMetadata(ctx_->initial_metadata_);
+
377  ctx_->sent_initial_metadata_ = true;
+
378  }
+
379  call_->PerformOps(&ops);
+
380  return call_->cq()->Pluck(&ops);
+
381  }
+
382 
+
383  private:
+
384  Call* const call_;
+
385  ServerContext* const ctx_;
+
386 };
+
387 
+
388 // Async interfaces
+
389 // Common interface for all client side streaming.
+ +
391  public:
+ +
393 
+
394  virtual void ReadInitialMetadata(void* tag) = 0;
+
395 
+
396  virtual void Finish(Status* status, void* tag) = 0;
+
397 };
+
398 
+
399 // An interface that yields a sequence of R messages.
+
400 template <class R>
+ +
402  public:
+ +
404 
+
405  virtual void Read(R* msg, void* tag) = 0;
+
406 };
+
407 
+
408 // An interface that can be fed a sequence of W messages.
+
409 template <class W>
+ +
411  public:
+ +
413 
+
414  virtual void Write(const W& msg, void* tag) = 0;
+
415 };
+
416 
+
417 template <class R>
+ +
419  public AsyncReaderInterface<R> {};
+
420 
+
421 template <class R>
+ +
423  public:
+
424  // Create a stream and write the first request out.
+
425  template <class W>
+ +
427  const RpcMethod& method, ClientContext* context,
+
428  const W& request, void* tag)
+
429  : context_(context), call_(channel->CreateCall(method, context, cq)) {
+
430  init_ops_.set_output_tag(tag);
+
431  init_ops_.SendInitialMetadata(context->send_initial_metadata_);
+
432  // TODO(ctiller): don't assert
+
433  GPR_ASSERT(init_ops_.SendMessage(request).ok());
+
434  init_ops_.ClientSendClose();
+
435  call_.PerformOps(&init_ops_);
+
436  }
+
437 
+ +
439  GPR_ASSERT(!context_->initial_metadata_received_);
+
440 
+
441  meta_ops_.set_output_tag(tag);
+
442  meta_ops_.RecvInitialMetadata(context_);
+
443  call_.PerformOps(&meta_ops_);
+
444  }
+
445 
+
446  void Read(R* msg, void* tag) GRPC_OVERRIDE {
+
447  read_ops_.set_output_tag(tag);
+
448  if (!context_->initial_metadata_received_) {
+
449  read_ops_.RecvInitialMetadata(context_);
+
450  }
+
451  read_ops_.RecvMessage(msg);
+
452  call_.PerformOps(&read_ops_);
+
453  }
+
454 
+
455  void Finish(Status* status, void* tag) GRPC_OVERRIDE {
+
456  finish_ops_.set_output_tag(tag);
+
457  if (!context_->initial_metadata_received_) {
+
458  finish_ops_.RecvInitialMetadata(context_);
+
459  }
+
460  finish_ops_.ClientRecvStatus(context_, status);
+
461  call_.PerformOps(&finish_ops_);
+
462  }
+
463 
+
464  private:
+
465  ClientContext* context_;
+
466  Call call_;
+ +
468  init_ops_;
+ + + +
472 };
+
473 
+
474 template <class W>
+ +
476  public AsyncWriterInterface<W> {
+
477  public:
+
478  virtual void WritesDone(void* tag) = 0;
+
479 };
+
480 
+
481 template <class W>
+ +
483  public:
+
484  template <class R>
+ +
486  const RpcMethod& method, ClientContext* context,
+
487  R* response, void* tag)
+
488  : context_(context), call_(channel->CreateCall(method, context, cq)) {
+
489  finish_ops_.RecvMessage(response);
+
490 
+
491  init_ops_.set_output_tag(tag);
+
492  init_ops_.SendInitialMetadata(context->send_initial_metadata_);
+
493  call_.PerformOps(&init_ops_);
+
494  }
+
495 
+ +
497  GPR_ASSERT(!context_->initial_metadata_received_);
+
498 
+
499  meta_ops_.set_output_tag(tag);
+
500  meta_ops_.RecvInitialMetadata(context_);
+
501  call_.PerformOps(&meta_ops_);
+
502  }
+
503 
+
504  void Write(const W& msg, void* tag) GRPC_OVERRIDE {
+
505  write_ops_.set_output_tag(tag);
+
506  // TODO(ctiller): don't assert
+
507  GPR_ASSERT(write_ops_.SendMessage(msg).ok());
+
508  call_.PerformOps(&write_ops_);
+
509  }
+
510 
+
511  void WritesDone(void* tag) GRPC_OVERRIDE {
+
512  writes_done_ops_.set_output_tag(tag);
+
513  writes_done_ops_.ClientSendClose();
+
514  call_.PerformOps(&writes_done_ops_);
+
515  }
+
516 
+
517  void Finish(Status* status, void* tag) GRPC_OVERRIDE {
+
518  finish_ops_.set_output_tag(tag);
+
519  if (!context_->initial_metadata_received_) {
+
520  finish_ops_.RecvInitialMetadata(context_);
+
521  }
+
522  finish_ops_.ClientRecvStatus(context_, status);
+
523  call_.PerformOps(&finish_ops_);
+
524  }
+
525 
+
526  private:
+
527  ClientContext* context_;
+
528  Call call_;
+ + +
531  CallOpSet<CallOpSendMessage> write_ops_;
+
532  CallOpSet<CallOpClientSendClose> writes_done_ops_;
+ +
534  CallOpClientRecvStatus> finish_ops_;
+
535 };
+
536 
+
537 // Client-side interface for bi-directional streaming.
+
538 template <class W, class R>
+ +
540  public AsyncWriterInterface<W>,
+
541  public AsyncReaderInterface<R> {
+
542  public:
+
543  virtual void WritesDone(void* tag) = 0;
+
544 };
+
545 
+
546 template <class W, class R>
+ +
548  : public ClientAsyncReaderWriterInterface<W, R> {
+
549  public:
+ +
551  const RpcMethod& method, ClientContext* context,
+
552  void* tag)
+
553  : context_(context), call_(channel->CreateCall(method, context, cq)) {
+
554  init_ops_.set_output_tag(tag);
+
555  init_ops_.SendInitialMetadata(context->send_initial_metadata_);
+
556  call_.PerformOps(&init_ops_);
+
557  }
+
558 
+ +
560  GPR_ASSERT(!context_->initial_metadata_received_);
+
561 
+
562  meta_ops_.set_output_tag(tag);
+
563  meta_ops_.RecvInitialMetadata(context_);
+
564  call_.PerformOps(&meta_ops_);
+
565  }
+
566 
+
567  void Read(R* msg, void* tag) GRPC_OVERRIDE {
+
568  read_ops_.set_output_tag(tag);
+
569  if (!context_->initial_metadata_received_) {
+
570  read_ops_.RecvInitialMetadata(context_);
+
571  }
+
572  read_ops_.RecvMessage(msg);
+
573  call_.PerformOps(&read_ops_);
+
574  }
+
575 
+
576  void Write(const W& msg, void* tag) GRPC_OVERRIDE {
+
577  write_ops_.set_output_tag(tag);
+
578  // TODO(ctiller): don't assert
+
579  GPR_ASSERT(write_ops_.SendMessage(msg).ok());
+
580  call_.PerformOps(&write_ops_);
+
581  }
+
582 
+
583  void WritesDone(void* tag) GRPC_OVERRIDE {
+
584  writes_done_ops_.set_output_tag(tag);
+
585  writes_done_ops_.ClientSendClose();
+
586  call_.PerformOps(&writes_done_ops_);
+
587  }
+
588 
+
589  void Finish(Status* status, void* tag) GRPC_OVERRIDE {
+
590  finish_ops_.set_output_tag(tag);
+
591  if (!context_->initial_metadata_received_) {
+
592  finish_ops_.RecvInitialMetadata(context_);
+
593  }
+
594  finish_ops_.ClientRecvStatus(context_, status);
+
595  call_.PerformOps(&finish_ops_);
+
596  }
+
597 
+
598  private:
+
599  ClientContext* context_;
+
600  Call call_;
+ + + +
604  CallOpSet<CallOpSendMessage> write_ops_;
+
605  CallOpSet<CallOpClientSendClose> writes_done_ops_;
+ +
607 };
+
608 
+
609 template <class W, class R>
+
610 class ServerAsyncReader GRPC_FINAL : public ServerAsyncStreamingInterface,
+
611  public AsyncReaderInterface<R> {
+
612  public:
+ +
614  : call_(nullptr, nullptr, nullptr), ctx_(ctx) {}
+
615 
+ +
617  GPR_ASSERT(!ctx_->sent_initial_metadata_);
+
618 
+
619  meta_ops_.set_output_tag(tag);
+
620  meta_ops_.SendInitialMetadata(ctx_->initial_metadata_);
+
621  ctx_->sent_initial_metadata_ = true;
+
622  call_.PerformOps(&meta_ops_);
+
623  }
+
624 
+
625  void Read(R* msg, void* tag) GRPC_OVERRIDE {
+
626  read_ops_.set_output_tag(tag);
+
627  read_ops_.RecvMessage(msg);
+
628  call_.PerformOps(&read_ops_);
+
629  }
+
630 
+
631  void Finish(const W& msg, const Status& status, void* tag) {
+
632  finish_ops_.set_output_tag(tag);
+
633  if (!ctx_->sent_initial_metadata_) {
+
634  finish_ops_.SendInitialMetadata(ctx_->initial_metadata_);
+
635  ctx_->sent_initial_metadata_ = true;
+
636  }
+
637  // The response is dropped if the status is not OK.
+
638  if (status.ok()) {
+
639  finish_ops_.ServerSendStatus(
+
640  ctx_->trailing_metadata_,
+
641  finish_ops_.SendMessage(msg));
+
642  } else {
+
643  finish_ops_.ServerSendStatus(ctx_->trailing_metadata_, status);
+
644  }
+
645  call_.PerformOps(&finish_ops_);
+
646  }
+
647 
+
648  void FinishWithError(const Status& status, void* tag) {
+
649  GPR_ASSERT(!status.ok());
+
650  finish_ops_.set_output_tag(tag);
+
651  if (!ctx_->sent_initial_metadata_) {
+
652  finish_ops_.SendInitialMetadata(ctx_->initial_metadata_);
+
653  ctx_->sent_initial_metadata_ = true;
+
654  }
+
655  finish_ops_.ServerSendStatus(ctx_->trailing_metadata_, status);
+
656  call_.PerformOps(&finish_ops_);
+
657  }
+
658 
+
659  private:
+
660  void BindCall(Call* call) GRPC_OVERRIDE { call_ = *call; }
+
661 
+
662  Call call_;
+
663  ServerContext* ctx_;
+
664  CallOpSet<CallOpSendInitialMetadata> meta_ops_;
+
665  CallOpSet<CallOpRecvMessage<R>> read_ops_;
+
666  CallOpSet<CallOpSendInitialMetadata, CallOpSendMessage,
+
667  CallOpServerSendStatus> finish_ops_;
+
668 };
+
669 
+
670 template <class W>
+
671 class ServerAsyncWriter GRPC_FINAL : public ServerAsyncStreamingInterface,
+
672  public AsyncWriterInterface<W> {
+
673  public:
+ +
675  : call_(nullptr, nullptr, nullptr), ctx_(ctx) {}
+
676 
+ +
678  GPR_ASSERT(!ctx_->sent_initial_metadata_);
+
679 
+
680  meta_ops_.set_output_tag(tag);
+
681  meta_ops_.SendInitialMetadata(ctx_->initial_metadata_);
+
682  ctx_->sent_initial_metadata_ = true;
+
683  call_.PerformOps(&meta_ops_);
+
684  }
+
685 
+
686  void Write(const W& msg, void* tag) GRPC_OVERRIDE {
+
687  write_ops_.set_output_tag(tag);
+
688  if (!ctx_->sent_initial_metadata_) {
+
689  write_ops_.SendInitialMetadata(ctx_->initial_metadata_);
+
690  ctx_->sent_initial_metadata_ = true;
+
691  }
+
692  // TODO(ctiller): don't assert
+
693  GPR_ASSERT(write_ops_.SendMessage(msg).ok());
+
694  call_.PerformOps(&write_ops_);
+
695  }
+
696 
+
697  void Finish(const Status& status, void* tag) {
+
698  finish_ops_.set_output_tag(tag);
+
699  if (!ctx_->sent_initial_metadata_) {
+
700  finish_ops_.SendInitialMetadata(ctx_->initial_metadata_);
+
701  ctx_->sent_initial_metadata_ = true;
+
702  }
+
703  finish_ops_.ServerSendStatus(ctx_->trailing_metadata_, status);
+
704  call_.PerformOps(&finish_ops_);
+
705  }
+
706 
+
707  private:
+
708  void BindCall(Call* call) GRPC_OVERRIDE { call_ = *call; }
+
709 
+
710  Call call_;
+
711  ServerContext* ctx_;
+
712  CallOpSet<CallOpSendInitialMetadata> meta_ops_;
+
713  CallOpSet<CallOpSendInitialMetadata, CallOpSendMessage> write_ops_;
+
714  CallOpSet<CallOpSendInitialMetadata, CallOpServerSendStatus> finish_ops_;
+
715 };
+
716 
+
717 // Server-side interface for bi-directional streaming.
+
718 template <class W, class R>
+
719 class ServerAsyncReaderWriter GRPC_FINAL : public ServerAsyncStreamingInterface,
+
720  public AsyncWriterInterface<W>,
+
721  public AsyncReaderInterface<R> {
+
722  public:
+ +
724  : call_(nullptr, nullptr, nullptr), ctx_(ctx) {}
+
725 
+ +
727  GPR_ASSERT(!ctx_->sent_initial_metadata_);
+
728 
+
729  meta_ops_.set_output_tag(tag);
+
730  meta_ops_.SendInitialMetadata(ctx_->initial_metadata_);
+
731  ctx_->sent_initial_metadata_ = true;
+
732  call_.PerformOps(&meta_ops_);
+
733  }
+
734 
+
735  void Read(R* msg, void* tag) GRPC_OVERRIDE {
+
736  read_ops_.set_output_tag(tag);
+
737  read_ops_.RecvMessage(msg);
+
738  call_.PerformOps(&read_ops_);
+
739  }
+
740 
+
741  void Write(const W& msg, void* tag) GRPC_OVERRIDE {
+
742  write_ops_.set_output_tag(tag);
+
743  if (!ctx_->sent_initial_metadata_) {
+
744  write_ops_.SendInitialMetadata(ctx_->initial_metadata_);
+
745  ctx_->sent_initial_metadata_ = true;
+
746  }
+
747  // TODO(ctiller): don't assert
+
748  GPR_ASSERT(write_ops_.SendMessage(msg).ok());
+
749  call_.PerformOps(&write_ops_);
+
750  }
+
751 
+
752  void Finish(const Status& status, void* tag) {
+
753  finish_ops_.set_output_tag(tag);
+
754  if (!ctx_->sent_initial_metadata_) {
+
755  finish_ops_.SendInitialMetadata(ctx_->initial_metadata_);
+
756  ctx_->sent_initial_metadata_ = true;
+
757  }
+
758  finish_ops_.ServerSendStatus(ctx_->trailing_metadata_, status);
+
759  call_.PerformOps(&finish_ops_);
+
760  }
+
761 
+
762  private:
+
763  void BindCall(Call* call) GRPC_OVERRIDE { call_ = *call; }
+
764 
+
765  Call call_;
+
766  ServerContext* ctx_;
+
767  CallOpSet<CallOpSendInitialMetadata> meta_ops_;
+
768  CallOpSet<CallOpRecvMessage<R>> read_ops_;
+
769  CallOpSet<CallOpSendInitialMetadata, CallOpSendMessage> write_ops_;
+
770  CallOpSet<CallOpSendInitialMetadata, CallOpServerSendStatus> finish_ops_;
+
771 };
+
772 
+
773 } // namespace grpc
+
774 
+
775 #endif // GRPCXX_STREAM_H
+
Definition: stream.h:390
+
Definition: client_context.h:70
+
Definition: client_context.h:60
+
bool Read(R *msg) GRPC_OVERRIDE
Definition: stream.h:244
+
Definition: stream.h:153
+
void Write(const W &msg, void *tag) GRPC_OVERRIDE
Definition: stream.h:504
+
void Read(R *msg, void *tag) GRPC_OVERRIDE
Definition: stream.h:735
+
void WritesDone(void *tag) GRPC_OVERRIDE
Definition: stream.h:511
+
virtual void WaitForInitialMetadata()=0
+ +
CompletionQueue * cq()
Definition: call.h:575
+
void SendInitialMetadata()
Definition: stream.h:352
+
Definition: stream.h:90
+
void SendInitialMetadata()
Definition: stream.h:316
+
ServerReaderWriter(Call *call, ServerContext *ctx)
Definition: stream.h:350
+
void SendInitialMetadata(void *tag) GRPC_OVERRIDE
Definition: stream.h:677
+
Definition: stream.h:63
+
void SendInitialMetadata()
Definition: stream.h:289
+
virtual void WritesDone(void *tag)=0
+
Definition: call.h:431
+
virtual void Write(const W &msg, void *tag)=0
+
virtual ~ReaderInterface()
Definition: stream.h:65
+
void Write(const W &msg, void *tag) GRPC_OVERRIDE
Definition: stream.h:686
+ +
#define GRPC_FINAL
Definition: config.h:71
+
void Write(const W &msg, void *tag) GRPC_OVERRIDE
Definition: stream.h:576
+
void Read(R *msg, void *tag) GRPC_OVERRIDE
Definition: stream.h:625
+
void SendInitialMetadata(void *tag) GRPC_OVERRIDE
Definition: stream.h:726
+
bool Write(const W &msg, const WriteOptions &options) GRPC_OVERRIDE
Definition: stream.h:327
+
Status Finish() GRPC_OVERRIDE
Definition: stream.h:137
+
virtual void WritesDone(void *tag)=0
+
Definition: client_context.h:74
+
Status Finish() GRPC_OVERRIDE
Definition: stream.h:269
+
void FinishWithError(const Status &status, void *tag)
Definition: stream.h:648
+
ClientAsyncWriter(ChannelInterface *channel, CompletionQueue *cq, const RpcMethod &method, ClientContext *context, R *response, void *tag)
Definition: stream.h:485
+
void Write(const W &msg, void *tag) GRPC_OVERRIDE
Definition: stream.h:741
+
Definition: call.h:190
+
ServerReader(Call *call, ServerContext *ctx)
Definition: stream.h:287
+
bool WritesDone() GRPC_OVERRIDE
Definition: stream.h:185
+
virtual ~AsyncReaderInterface()
Definition: stream.h:403
+
bool Write(const W &msg, const WriteOptions &options) GRPC_OVERRIDE
Definition: stream.h:176
+
Definition: call.h:341
+
virtual ~ClientStreamingInterface()
Definition: stream.h:51
+
Definition: stream.h:418
+
ClientReader(ChannelInterface *channel, const RpcMethod &method, ClientContext *context, const W &request)
Definition: stream.h:101
+
bool Read(R *msg) GRPC_OVERRIDE
Definition: stream.h:362
+
void WritesDone(void *tag) GRPC_OVERRIDE
Definition: stream.h:583
+
Status Finish() GRPC_OVERRIDE
Definition: stream.h:193
+
Definition: call.h:565
+ +
bool Read(R *msg) GRPC_OVERRIDE
Definition: stream.h:127
+
virtual bool WritesDone()=0
+
Definition: channel_interface.h:52
+
ServerAsyncWriter(ServerContext *ctx)
Definition: stream.h:674
+
void Finish(Status *status, void *tag) GRPC_OVERRIDE
Definition: stream.h:589
+
void ReadInitialMetadata(void *tag) GRPC_OVERRIDE
Definition: stream.h:496
+
Definition: stream.h:410
+ +
Definition: client_context.h:68
+
Primary implementaiton of CallOpSetInterface.
Definition: call.h:506
+
void ClientSendClose()
Definition: call.h:345
+
Definition: server_context.h:86
+
void Finish(const W &msg, const Status &status, void *tag)
Definition: stream.h:631
+
Per-message write options.
Definition: call.h:64
+
virtual void WaitForInitialMetadata()=0
+ +
bool Write(const W &msg)
Definition: stream.h:84
+
Definition: completion_queue.h:87
+
virtual ~ClientAsyncStreamingInterface()
Definition: stream.h:392
+
ClientAsyncReaderWriter(ChannelInterface *channel, CompletionQueue *cq, const RpcMethod &method, ClientContext *context, void *tag)
Definition: stream.h:550
+
void Finish(Status *status, void *tag) GRPC_OVERRIDE
Definition: stream.h:517
+
void Finish(const Status &status, void *tag)
Definition: stream.h:697
+ +
virtual void ReadInitialMetadata(void *tag)=0
+
Definition: rpc_method.h:39
+ + +
bool Write(const W &msg, const WriteOptions &options) GRPC_OVERRIDE
Definition: stream.h:370
+
void Finish(Status *status, void *tag) GRPC_OVERRIDE
Definition: stream.h:455
+
void PerformOps(CallOpSetInterface *ops)
Definition: call.cc:85
+
Definition: stream.h:76
+
bool ok() const
Definition: status.h:55
+ +
ClientReaderWriter(ChannelInterface *channel, const RpcMethod &method, ClientContext *context)
Definition: stream.h:222
+
Definition: stream.h:210
+
Definition: status.h:42
+
virtual bool Read(R *msg)=0
+
Definition: stream.h:49
+
virtual void Finish(Status *status, void *tag)=0
+
void SendInitialMetadata(void *tag) GRPC_OVERRIDE
Definition: stream.h:616
+
ServerWriter(Call *call, ServerContext *ctx)
Definition: stream.h:314
+
Definition: call.h:159
+
void WaitForInitialMetadata()
Definition: stream.h:235
+
bool Read(R *msg) GRPC_OVERRIDE
Definition: stream.h:299
+
void Read(R *msg, void *tag) GRPC_OVERRIDE
Definition: stream.h:446
+
virtual bool Write(const W &msg, const WriteOptions &options)=0
+
void Read(R *msg, void *tag) GRPC_OVERRIDE
Definition: stream.h:567
+
Definition: client_context.h:64
+
ServerAsyncReaderWriter(ServerContext *ctx)
Definition: stream.h:723
+
Definition: client_context.h:66
+
virtual ~AsyncWriterInterface()
Definition: stream.h:412
+
void Finish(const Status &status, void *tag)
Definition: stream.h:752
+
void WaitForInitialMetadata()
Definition: stream.h:118
+
#define GRPC_OVERRIDE
Definition: config.h:77
+
void ReadInitialMetadata(void *tag) GRPC_OVERRIDE
Definition: stream.h:559
+
Definition: client_context.h:62
+
Definition: call.h:402
+
ClientAsyncReader(ChannelInterface *channel, CompletionQueue *cq, const RpcMethod &method, ClientContext *context, const W &request, void *tag)
Definition: stream.h:426
+
ClientWriter(ChannelInterface *channel, const RpcMethod &method, ClientContext *context, R *response)
Definition: stream.h:164
+
bool Write(const W &msg, const WriteOptions &options) GRPC_OVERRIDE
Definition: stream.h:255
+
virtual void Read(R *msg, void *tag)=0
+
virtual ~WriterInterface()
Definition: stream.h:78
+
Definition: call.h:298
+ +
ServerAsyncReader(ServerContext *ctx)
Definition: stream.h:613
+
Definition: stream.h:401
+
bool WritesDone() GRPC_OVERRIDE
Definition: stream.h:262
+
void ReadInitialMetadata(void *tag) GRPC_OVERRIDE
Definition: stream.h:438
+
Definition: stream.h:475
+
+ + + + diff --git a/doc/ref/c++.internal/html/structgrpc_1_1_method_handler_1_1_handler_parameter.html b/doc/ref/c++.internal/html/structgrpc_1_1_method_handler_1_1_handler_parameter.html new file mode 100644 index 0000000000..9c02cb3b2b --- /dev/null +++ b/doc/ref/c++.internal/html/structgrpc_1_1_method_handler_1_1_handler_parameter.html @@ -0,0 +1,223 @@ + + + + + + +GRPC C++: grpc::MethodHandler::HandlerParameter Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc::MethodHandler::HandlerParameter Struct Reference
+
+
+ +

#include <rpc_service_method.h>

+ + + + +

+Public Member Functions

 HandlerParameter (Call *c, ServerContext *context, grpc_byte_buffer *req, int max_size)
 
+ + + + + + + + + +

+Data Fields

Callcall
 
ServerContextserver_context
 
grpc_byte_buffer * request
 
int max_message_size
 
+

Constructor & Destructor Documentation

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
grpc::MethodHandler::HandlerParameter::HandlerParameter (Callc,
ServerContextcontext,
grpc_byte_buffer * req,
int max_size 
)
+
+inline
+
+ +
+
+

Field Documentation

+ +
+
+ + + + +
Call* grpc::MethodHandler::HandlerParameter::call
+
+ +
+
+ +
+
+ + + + +
int grpc::MethodHandler::HandlerParameter::max_message_size
+
+ +
+
+ +
+
+ + + + +
grpc_byte_buffer* grpc::MethodHandler::HandlerParameter::request
+
+ +
+
+ +
+
+ + + + +
ServerContext* grpc::MethodHandler::HandlerParameter::server_context
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/c++.internal/html/structgrpc_1_1_ssl_credentials_options.html b/doc/ref/c++.internal/html/structgrpc_1_1_ssl_credentials_options.html new file mode 100644 index 0000000000..2a6e8bacaf --- /dev/null +++ b/doc/ref/c++.internal/html/structgrpc_1_1_ssl_credentials_options.html @@ -0,0 +1,156 @@ + + + + + + +GRPC C++: grpc::SslCredentialsOptions Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc::SslCredentialsOptions Struct Reference
+
+
+ +

#include <credentials.h>

+ + + + + + + + +

+Data Fields

grpc::string pem_root_certs
 
grpc::string pem_private_key
 
grpc::string pem_cert_chain
 
+

Field Documentation

+ +
+
+ + + + +
grpc::string grpc::SslCredentialsOptions::pem_cert_chain
+
+ +
+
+ +
+
+ + + + +
grpc::string grpc::SslCredentialsOptions::pem_private_key
+
+ +
+
+ +
+
+ + + + +
grpc::string grpc::SslCredentialsOptions::pem_root_certs
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/c++.internal/html/structgrpc_1_1_ssl_server_credentials_options.html b/doc/ref/c++.internal/html/structgrpc_1_1_ssl_server_credentials_options.html new file mode 100644 index 0000000000..beee992052 --- /dev/null +++ b/doc/ref/c++.internal/html/structgrpc_1_1_ssl_server_credentials_options.html @@ -0,0 +1,192 @@ + + + + + + +GRPC C++: grpc::SslServerCredentialsOptions Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc::SslServerCredentialsOptions Struct Reference
+
+
+ +

#include <server_credentials.h>

+ + + + +

+Data Structures

struct  PemKeyCertPair
 
+ + + +

+Public Member Functions

 SslServerCredentialsOptions ()
 
+ + + + + + + +

+Data Fields

grpc::string pem_root_certs
 
std::vector< PemKeyCertPairpem_key_cert_pairs
 
bool force_client_auth
 
+

Constructor & Destructor Documentation

+ +
+
+ + + + + +
+ + + + + + + +
grpc::SslServerCredentialsOptions::SslServerCredentialsOptions ()
+
+inline
+
+ +
+
+

Field Documentation

+ +
+
+ + + + +
bool grpc::SslServerCredentialsOptions::force_client_auth
+
+ +
+
+ +
+
+ + + + +
std::vector<PemKeyCertPair> grpc::SslServerCredentialsOptions::pem_key_cert_pairs
+
+ +
+
+ +
+
+ + + + +
grpc::string grpc::SslServerCredentialsOptions::pem_root_certs
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/c++.internal/html/structgrpc_1_1_ssl_server_credentials_options_1_1_pem_key_cert_pair.html b/doc/ref/c++.internal/html/structgrpc_1_1_ssl_server_credentials_options_1_1_pem_key_cert_pair.html new file mode 100644 index 0000000000..11c5daa23c --- /dev/null +++ b/doc/ref/c++.internal/html/structgrpc_1_1_ssl_server_credentials_options_1_1_pem_key_cert_pair.html @@ -0,0 +1,142 @@ + + + + + + +GRPC C++: grpc::SslServerCredentialsOptions::PemKeyCertPair Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc::SslServerCredentialsOptions::PemKeyCertPair Struct Reference
+
+
+ +

#include <server_credentials.h>

+ + + + + + +

+Data Fields

grpc::string private_key
 
grpc::string cert_chain
 
+

Field Documentation

+ +
+
+ + + + +
grpc::string grpc::SslServerCredentialsOptions::PemKeyCertPair::cert_chain
+
+ +
+
+ +
+
+ + + + +
grpc::string grpc::SslServerCredentialsOptions::PemKeyCertPair::private_key
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/c++.internal/html/sync_8h.html b/doc/ref/c++.internal/html/sync_8h.html new file mode 100644 index 0000000000..9b832de5fa --- /dev/null +++ b/doc/ref/c++.internal/html/sync_8h.html @@ -0,0 +1,104 @@ + + + + + + +GRPC C++: include/grpc++/impl/sync.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
sync.h File Reference
+
+ + + + + diff --git a/doc/ref/c++.internal/html/sync_8h_source.html b/doc/ref/c++.internal/html/sync_8h_source.html new file mode 100644 index 0000000000..54a4393772 --- /dev/null +++ b/doc/ref/c++.internal/html/sync_8h_source.html @@ -0,0 +1,148 @@ + + + + + + +GRPC C++: include/grpc++/impl/sync.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
sync.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPCXX_IMPL_SYNC_H
+
35 #define GRPCXX_IMPL_SYNC_H
+
36 
+
37 #include <grpc++/config.h>
+
38 
+
39 #ifdef GRPC_CXX0X_NO_THREAD
+ +
41 #else
+
42 #include <grpc++/impl/sync_cxx11.h>
+
43 #endif
+
44 
+
45 #endif // GRPCXX_IMPL_SYNC_H
+ + + +
+ + + + diff --git a/doc/ref/c++.internal/html/sync__cxx11_8h.html b/doc/ref/c++.internal/html/sync__cxx11_8h.html new file mode 100644 index 0000000000..187f053029 --- /dev/null +++ b/doc/ref/c++.internal/html/sync__cxx11_8h.html @@ -0,0 +1,112 @@ + + + + + + +GRPC C++: include/grpc++/impl/sync_cxx11.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
sync_cxx11.h File Reference
+
+
+
#include <condition_variable>
+#include <mutex>
+
+

Go to the source code of this file.

+ + + + +

+Namespaces

 grpc
 
+
+ + + + diff --git a/doc/ref/c++.internal/html/sync__cxx11_8h_source.html b/doc/ref/c++.internal/html/sync__cxx11_8h_source.html new file mode 100644 index 0000000000..80b4ce7915 --- /dev/null +++ b/doc/ref/c++.internal/html/sync__cxx11_8h_source.html @@ -0,0 +1,149 @@ + + + + + + +GRPC C++: include/grpc++/impl/sync_cxx11.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
sync_cxx11.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPCXX_IMPL_SYNC_CXX11_H
+
35 #define GRPCXX_IMPL_SYNC_CXX11_H
+
36 
+
37 #include <condition_variable>
+
38 #include <mutex>
+
39 
+
40 namespace grpc {
+
41 
+
42 using std::condition_variable;
+
43 using std::mutex;
+
44 using std::lock_guard;
+
45 using std::unique_lock;
+
46 
+
47 } // namespace grpc
+
48 
+
49 #endif // GRPCXX_IMPL_SYNC_CXX11_H
+
+ + + + diff --git a/doc/ref/c++.internal/html/sync__no__cxx11_8h.html b/doc/ref/c++.internal/html/sync__no__cxx11_8h.html new file mode 100644 index 0000000000..4d940f7a5f --- /dev/null +++ b/doc/ref/c++.internal/html/sync__no__cxx11_8h.html @@ -0,0 +1,125 @@ + + + + + + +GRPC C++: include/grpc++/impl/sync_no_cxx11.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
sync_no_cxx11.h File Reference
+
+
+
#include <grpc/support/sync.h>
+
+

Go to the source code of this file.

+ + + + + + + + + + + + +

+Data Structures

class  grpc::lock_guard< mutex >
 
class  grpc::mutex
 
class  grpc::lock_guard< mutex >
 
class  grpc::unique_lock< mutex >
 
class  grpc::condition_variable
 
+ + + +

+Namespaces

 grpc
 
+
+ + + + diff --git a/doc/ref/c++.internal/html/sync__no__cxx11_8h_source.html b/doc/ref/c++.internal/html/sync__no__cxx11_8h_source.html new file mode 100644 index 0000000000..ad7bbce584 --- /dev/null +++ b/doc/ref/c++.internal/html/sync__no__cxx11_8h_source.html @@ -0,0 +1,219 @@ + + + + + + +GRPC C++: include/grpc++/impl/sync_no_cxx11.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
sync_no_cxx11.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPCXX_IMPL_SYNC_NO_CXX11_H
+
35 #define GRPCXX_IMPL_SYNC_NO_CXX11_H
+
36 
+
37 #include <grpc/support/sync.h>
+
38 
+
39 namespace grpc {
+
40 
+
41 template<class mutex>
+
42 class lock_guard;
+
43 class condition_variable;
+
44 
+
45 class mutex {
+
46  public:
+
47  mutex() { gpr_mu_init(&mu_); }
+
48  ~mutex() { gpr_mu_destroy(&mu_); }
+
49  private:
+
50  ::gpr_mu mu_;
+
51  template <class mutex>
+
52  friend class lock_guard;
+
53  friend class condition_variable;
+
54 };
+
55 
+
56 template <class mutex>
+
57 class lock_guard {
+
58  public:
+
59  lock_guard(mutex &mu) : mu_(mu), locked(true) { gpr_mu_lock(&mu.mu_); }
+ +
61  protected:
+
62  void lock_internal() {
+
63  if (!locked) gpr_mu_lock(&mu_.mu_);
+
64  locked = true;
+
65  }
+
66  void unlock_internal() {
+
67  if (locked) gpr_mu_unlock(&mu_.mu_);
+
68  locked = false;
+
69  }
+
70  private:
+
71  mutex &mu_;
+
72  bool locked;
+
73  friend class condition_variable;
+
74 };
+
75 
+
76 template <class mutex>
+
77 class unique_lock : public lock_guard<mutex> {
+
78  public:
+ +
80  void lock() { this->lock_internal(); }
+
81  void unlock() { this->unlock_internal(); }
+
82 };
+
83 
+ +
85  public:
+
86  condition_variable() { gpr_cv_init(&cv_); }
+
87  ~condition_variable() { gpr_cv_destroy(&cv_); }
+
88  void wait(lock_guard<mutex> &mu) {
+
89  mu.locked = false;
+
90  gpr_cv_wait(&cv_, &mu.mu_.mu_, gpr_inf_future(GPR_CLOCK_REALTIME));
+
91  mu.locked = true;
+
92  }
+
93  void notify_one() { gpr_cv_signal(&cv_); }
+
94  void notify_all() { gpr_cv_broadcast(&cv_); }
+
95  private:
+
96  gpr_cv cv_;
+
97 };
+
98 
+
99 } // namespace grpc
+
100 
+
101 #endif // GRPCXX_IMPL_SYNC_NO_CXX11_H
+
Definition: sync_no_cxx11.h:45
+
void unlock_internal()
Definition: sync_no_cxx11.h:66
+
void lock_internal()
Definition: sync_no_cxx11.h:62
+
Definition: sync_no_cxx11.h:84
+
~condition_variable()
Definition: sync_no_cxx11.h:87
+
~lock_guard()
Definition: sync_no_cxx11.h:60
+
void notify_all()
Definition: sync_no_cxx11.h:94
+
mutex()
Definition: sync_no_cxx11.h:47
+
void notify_one()
Definition: sync_no_cxx11.h:93
+
void unlock()
Definition: sync_no_cxx11.h:81
+
lock_guard(mutex &mu)
Definition: sync_no_cxx11.h:59
+
void lock()
Definition: sync_no_cxx11.h:80
+
~mutex()
Definition: sync_no_cxx11.h:48
+
Definition: sync_no_cxx11.h:42
+
condition_variable()
Definition: sync_no_cxx11.h:86
+
Definition: sync_no_cxx11.h:77
+
unique_lock(mutex &mu)
Definition: sync_no_cxx11.h:79
+
void wait(lock_guard< mutex > &mu)
Definition: sync_no_cxx11.h:88
+
+ + + + diff --git a/doc/ref/c++.internal/html/sync_off.png b/doc/ref/c++.internal/html/sync_off.png new file mode 100644 index 0000000000..3b443fc628 Binary files /dev/null and b/doc/ref/c++.internal/html/sync_off.png differ diff --git a/doc/ref/c++.internal/html/sync_on.png b/doc/ref/c++.internal/html/sync_on.png new file mode 100644 index 0000000000..e08320fb64 Binary files /dev/null and b/doc/ref/c++.internal/html/sync_on.png differ diff --git a/doc/ref/c++.internal/html/tab_a.png b/doc/ref/c++.internal/html/tab_a.png new file mode 100644 index 0000000000..3b725c41c5 Binary files /dev/null and b/doc/ref/c++.internal/html/tab_a.png differ diff --git a/doc/ref/c++.internal/html/tab_b.png b/doc/ref/c++.internal/html/tab_b.png new file mode 100644 index 0000000000..e2b4a8638c Binary files /dev/null and b/doc/ref/c++.internal/html/tab_b.png differ diff --git a/doc/ref/c++.internal/html/tab_h.png b/doc/ref/c++.internal/html/tab_h.png new file mode 100644 index 0000000000..fd5cb70548 Binary files /dev/null and b/doc/ref/c++.internal/html/tab_h.png differ diff --git a/doc/ref/c++.internal/html/tab_s.png b/doc/ref/c++.internal/html/tab_s.png new file mode 100644 index 0000000000..ab478c95b6 Binary files /dev/null and b/doc/ref/c++.internal/html/tab_s.png differ diff --git a/doc/ref/c++.internal/html/tabs.css b/doc/ref/c++.internal/html/tabs.css new file mode 100644 index 0000000000..9cf578f23a --- /dev/null +++ b/doc/ref/c++.internal/html/tabs.css @@ -0,0 +1,60 @@ +.tabs, .tabs2, .tabs3 { + background-image: url('tab_b.png'); + width: 100%; + z-index: 101; + font-size: 13px; + font-family: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif; +} + +.tabs2 { + font-size: 10px; +} +.tabs3 { + font-size: 9px; +} + +.tablist { + margin: 0; + padding: 0; + display: table; +} + +.tablist li { + float: left; + display: table-cell; + background-image: url('tab_b.png'); + line-height: 36px; + list-style: none; +} + +.tablist a { + display: block; + padding: 0 20px; + font-weight: bold; + background-image:url('tab_s.png'); + background-repeat:no-repeat; + background-position:right; + color: #283A5D; + text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); + text-decoration: none; + outline: none; +} + +.tabs3 .tablist a { + padding: 0 10px; +} + +.tablist a:hover { + background-image: url('tab_h.png'); + background-repeat:repeat-x; + color: #fff; + text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0); + text-decoration: none; +} + +.tablist li.current a { + background-image: url('tab_a.png'); + background-repeat:repeat-x; + color: #fff; + text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0); +} diff --git a/doc/ref/c++.internal/html/thd_8h.html b/doc/ref/c++.internal/html/thd_8h.html new file mode 100644 index 0000000000..2daadbf14b --- /dev/null +++ b/doc/ref/c++.internal/html/thd_8h.html @@ -0,0 +1,104 @@ + + + + + + +GRPC C++: include/grpc++/impl/thd.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
thd.h File Reference
+
+ + + + + diff --git a/doc/ref/c++.internal/html/thd_8h_source.html b/doc/ref/c++.internal/html/thd_8h_source.html new file mode 100644 index 0000000000..1a4fa2552c --- /dev/null +++ b/doc/ref/c++.internal/html/thd_8h_source.html @@ -0,0 +1,148 @@ + + + + + + +GRPC C++: include/grpc++/impl/thd.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
thd.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPCXX_IMPL_THD_H
+
35 #define GRPCXX_IMPL_THD_H
+
36 
+
37 #include <grpc++/config.h>
+
38 
+
39 #ifdef GRPC_CXX0X_NO_THREAD
+ +
41 #else
+
42 #include <grpc++/impl/thd_cxx11.h>
+
43 #endif
+
44 
+
45 #endif // GRPCXX_IMPL_THD_H
+ + + +
+ + + + diff --git a/doc/ref/c++.internal/html/thd__cxx11_8h.html b/doc/ref/c++.internal/html/thd__cxx11_8h.html new file mode 100644 index 0000000000..1914b1c1be --- /dev/null +++ b/doc/ref/c++.internal/html/thd__cxx11_8h.html @@ -0,0 +1,111 @@ + + + + + + +GRPC C++: include/grpc++/impl/thd_cxx11.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
thd_cxx11.h File Reference
+
+
+
#include <thread>
+
+

Go to the source code of this file.

+ + + + +

+Namespaces

 grpc
 
+
+ + + + diff --git a/doc/ref/c++.internal/html/thd__cxx11_8h_source.html b/doc/ref/c++.internal/html/thd__cxx11_8h_source.html new file mode 100644 index 0000000000..d822428b38 --- /dev/null +++ b/doc/ref/c++.internal/html/thd__cxx11_8h_source.html @@ -0,0 +1,145 @@ + + + + + + +GRPC C++: include/grpc++/impl/thd_cxx11.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
thd_cxx11.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPCXX_IMPL_THD_CXX11_H
+
35 #define GRPCXX_IMPL_THD_CXX11_H
+
36 
+
37 #include <thread>
+
38 
+
39 namespace grpc {
+
40 
+
41 using std::thread;
+
42 
+
43 } // namespace grpc
+
44 
+
45 #endif // GRPCXX_IMPL_THD_CXX11_H
+
+ + + + diff --git a/doc/ref/c++.internal/html/thd__no__cxx11_8h.html b/doc/ref/c++.internal/html/thd__no__cxx11_8h.html new file mode 100644 index 0000000000..c1bedd61cb --- /dev/null +++ b/doc/ref/c++.internal/html/thd__no__cxx11_8h.html @@ -0,0 +1,117 @@ + + + + + + +GRPC C++: include/grpc++/impl/thd_no_cxx11.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
thd_no_cxx11.h File Reference
+
+
+
#include <grpc/support/thd.h>
+
+

Go to the source code of this file.

+ + + + +

+Data Structures

class  grpc::thread
 
+ + + +

+Namespaces

 grpc
 
+
+ + + + diff --git a/doc/ref/c++.internal/html/thd__no__cxx11_8h_source.html b/doc/ref/c++.internal/html/thd__no__cxx11_8h_source.html new file mode 100644 index 0000000000..7d86f50d72 --- /dev/null +++ b/doc/ref/c++.internal/html/thd__no__cxx11_8h_source.html @@ -0,0 +1,197 @@ + + + + + + +GRPC C++: include/grpc++/impl/thd_no_cxx11.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
thd_no_cxx11.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPCXX_IMPL_THD_NO_CXX11_H
+
35 #define GRPCXX_IMPL_THD_NO_CXX11_H
+
36 
+
37 #include <grpc/support/thd.h>
+
38 
+
39 namespace grpc {
+
40 
+
41 class thread {
+
42  public:
+
43  template<class T> thread(void (T::*fptr)(), T *obj) {
+
44  func_ = new thread_function<T>(fptr, obj);
+
45  joined_ = false;
+
46  start();
+
47  }
+
48  ~thread() {
+
49  if (!joined_) std::terminate();
+
50  delete func_;
+
51  }
+
52  void join() {
+
53  gpr_thd_join(thd_);
+
54  joined_ = true;
+
55  }
+
56  private:
+
57  void start() {
+
58  gpr_thd_options options = gpr_thd_options_default();
+
59  gpr_thd_options_set_joinable(&options);
+
60  gpr_thd_new(&thd_, thread_func, (void *) func_, &options);
+
61  }
+
62  static void thread_func(void *arg) {
+
63  thread_function_base *func = (thread_function_base *) arg;
+
64  func->call();
+
65  }
+
66  class thread_function_base {
+
67  public:
+
68  virtual ~thread_function_base() { }
+
69  virtual void call() = 0;
+
70  };
+
71  template<class T>
+
72  class thread_function : public thread_function_base {
+
73  public:
+
74  thread_function(void (T::*fptr)(), T *obj)
+
75  : fptr_(fptr)
+
76  , obj_(obj) { }
+
77  virtual void call() { (obj_->*fptr_)(); }
+
78  private:
+
79  void (T::*fptr_)();
+
80  T *obj_;
+
81  };
+
82  thread_function_base *func_;
+
83  gpr_thd_id thd_;
+
84  bool joined_;
+
85 
+
86  // Disallow copy and assign.
+
87  thread(const thread&);
+
88  void operator=(const thread&);
+
89 };
+
90 
+
91 } // namespace grpc
+
92 
+
93 #endif // GRPCXX_IMPL_THD_NO_CXX11_H
+
thread(void(T::*fptr)(), T *obj)
Definition: thd_no_cxx11.h:43
+
void join()
Definition: thd_no_cxx11.h:52
+
Definition: thd_no_cxx11.h:41
+
~thread()
Definition: thd_no_cxx11.h:48
+
+ + + + diff --git a/doc/ref/c++.internal/html/thread__pool__interface_8h.html b/doc/ref/c++.internal/html/thread__pool__interface_8h.html new file mode 100644 index 0000000000..641c095d36 --- /dev/null +++ b/doc/ref/c++.internal/html/thread__pool__interface_8h.html @@ -0,0 +1,123 @@ + + + + + + +GRPC C++: include/grpc++/thread_pool_interface.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
thread_pool_interface.h File Reference
+
+
+
#include <functional>
+
+

Go to the source code of this file.

+ + + + +

+Data Structures

class  grpc::ThreadPoolInterface
 
+ + + +

+Namespaces

 grpc
 
+ + + +

+Functions

ThreadPoolInterface * grpc::CreateDefaultThreadPool ()
 
+
+ + + + diff --git a/doc/ref/c++.internal/html/thread__pool__interface_8h_source.html b/doc/ref/c++.internal/html/thread__pool__interface_8h_source.html new file mode 100644 index 0000000000..af24d8d5b4 --- /dev/null +++ b/doc/ref/c++.internal/html/thread__pool__interface_8h_source.html @@ -0,0 +1,158 @@ + + + + + + +GRPC C++: include/grpc++/thread_pool_interface.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
thread_pool_interface.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPCXX_THREAD_POOL_INTERFACE_H
+
35 #define GRPCXX_THREAD_POOL_INTERFACE_H
+
36 
+
37 #include <functional>
+
38 
+
39 namespace grpc {
+
40 
+
41 // A thread pool interface for running callbacks.
+ +
43  public:
+
44  virtual ~ThreadPoolInterface() {}
+
45 
+
46  // Schedule the given callback for execution.
+
47  virtual void Add(const std::function<void()>& callback) = 0;
+
48 };
+
49 
+
50 ThreadPoolInterface* CreateDefaultThreadPool();
+
51 
+
52 } // namespace grpc
+
53 
+
54 #endif // GRPCXX_THREAD_POOL_INTERFACE_H
+
virtual void Add(const std::function< void()> &callback)=0
+
ThreadPoolInterface * CreateDefaultThreadPool()
Definition: create_default_thread_pool.cc:41
+
Definition: thread_pool_interface.h:42
+
virtual ~ThreadPoolInterface()
Definition: thread_pool_interface.h:44
+
+ + + + diff --git a/doc/ref/c++.internal/html/time_8cc.html b/doc/ref/c++.internal/html/time_8cc.html new file mode 100644 index 0000000000..90f2b79bee --- /dev/null +++ b/doc/ref/c++.internal/html/time_8cc.html @@ -0,0 +1,121 @@ + + + + + + +GRPC C++: src/cpp/util/time.cc File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
time.cc File Reference
+
+
+
#include <grpc++/config.h>
+#include <grpc/support/time.h>
+#include <grpc++/time.h>
+
+ + + +

+Namespaces

 grpc
 
+ + + + + + + +

+Functions

void grpc::Timepoint2Timespec (const system_clock::time_point &from, gpr_timespec *to)
 
void grpc::TimepointHR2Timespec (const high_resolution_clock::time_point &from, gpr_timespec *to)
 
std::chrono::system_clock::time_point grpc::Timespec2Timepoint (gpr_timespec t)
 
+
+ + + + diff --git a/doc/ref/c++.internal/html/time_8h.html b/doc/ref/c++.internal/html/time_8h.html new file mode 100644 index 0000000000..96aebecb83 --- /dev/null +++ b/doc/ref/c++.internal/html/time_8h.html @@ -0,0 +1,133 @@ + + + + + + +GRPC C++: include/grpc++/time.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
time.h File Reference
+
+
+
#include <grpc++/config.h>
+#include <chrono>
+#include <grpc/support/time.h>
+
+

Go to the source code of this file.

+ + + + + + + + +

+Data Structures

class  grpc::TimePoint< T >
 
class  grpc::TimePoint< gpr_timespec >
 
class  grpc::TimePoint< std::chrono::system_clock::time_point >
 
+ + + +

+Namespaces

 grpc
 
+ + + + + + + +

+Functions

void grpc::Timepoint2Timespec (const std::chrono::system_clock::time_point &from, gpr_timespec *to)
 
void grpc::TimepointHR2Timespec (const std::chrono::high_resolution_clock::time_point &from, gpr_timespec *to)
 
std::chrono::system_clock::time_point grpc::Timespec2Timepoint (gpr_timespec t)
 
+
+ + + + diff --git a/doc/ref/c++.internal/html/time_8h_source.html b/doc/ref/c++.internal/html/time_8h_source.html new file mode 100644 index 0000000000..383553a7c6 --- /dev/null +++ b/doc/ref/c++.internal/html/time_8h_source.html @@ -0,0 +1,221 @@ + + + + + + +GRPC C++: include/grpc++/time.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
time.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPCXX_TIME_H
+
35 #define GRPCXX_TIME_H
+
36 
+
37 #include <grpc++/config.h>
+
38 
+
39 namespace grpc {
+
40 
+
41 /* If you are trying to use CompletionQueue::AsyncNext with a time class that
+
42  isn't either gpr_timespec or std::chrono::system_clock::time_point, you
+
43  will most likely be looking at this comment as your compiler will have
+
44  fired an error below. In order to fix this issue, you have two potential
+
45  solutions:
+
46 
+
47  1. Use gpr_timespec or std::chrono::system_clock::time_point instead
+
48  2. Specialize the TimePoint class with whichever time class that you
+
49  want to use here. See below for two examples of how to do this.
+
50  */
+
51 
+
52 template <typename T>
+
53 class TimePoint {
+
54  public:
+
55  TimePoint(const T& time) { you_need_a_specialization_of_TimePoint(); }
+
56  gpr_timespec raw_time() {
+
57  gpr_timespec t;
+
58  return t;
+
59  }
+
60 
+
61  private:
+
62  void you_need_a_specialization_of_TimePoint();
+
63 };
+
64 
+
65 template <>
+
66 class TimePoint<gpr_timespec> {
+
67  public:
+
68  TimePoint(const gpr_timespec& time) : time_(time) {}
+
69  gpr_timespec raw_time() { return time_; }
+
70 
+
71  private:
+
72  gpr_timespec time_;
+
73 };
+
74 
+
75 } // namespace grpc
+
76 
+
77 #ifndef GRPC_CXX0X_NO_CHRONO
+
78 
+
79 #include <chrono>
+
80 
+
81 #include <grpc/support/time.h>
+
82 
+
83 namespace grpc {
+
84 
+
85 // from and to should be absolute time.
+
86 void Timepoint2Timespec(const std::chrono::system_clock::time_point& from,
+
87  gpr_timespec* to);
+ +
89  const std::chrono::high_resolution_clock::time_point& from,
+
90  gpr_timespec* to);
+
91 
+
92 std::chrono::system_clock::time_point Timespec2Timepoint(gpr_timespec t);
+
93 
+
94 template <>
+
95 class TimePoint<std::chrono::system_clock::time_point> {
+
96  public:
+
97  TimePoint(const std::chrono::system_clock::time_point& time) {
+
98  Timepoint2Timespec(time, &time_);
+
99  }
+
100  gpr_timespec raw_time() const { return time_; }
+
101 
+
102  private:
+
103  gpr_timespec time_;
+
104 };
+
105 
+
106 } // namespace grpc
+
107 
+
108 #endif // !GRPC_CXX0X_NO_CHRONO
+
109 
+
110 #endif // GRPCXX_TIME_H
+
void TimepointHR2Timespec(const std::chrono::high_resolution_clock::time_point &from, gpr_timespec *to)
+ +
gpr_timespec raw_time()
Definition: time.h:56
+
Definition: time.h:53
+
TimePoint(const gpr_timespec &time)
Definition: time.h:68
+
TimePoint(const std::chrono::system_clock::time_point &time)
Definition: time.h:97
+
void Timepoint2Timespec(const std::chrono::system_clock::time_point &from, gpr_timespec *to)
+
TimePoint(const T &time)
Definition: time.h:55
+
std::chrono::system_clock::time_point Timespec2Timepoint(gpr_timespec t)
Definition: time.cc:81
+
gpr_timespec raw_time()
Definition: time.h:69
+
gpr_timespec raw_time() const
Definition: time.h:100
+
+ + + + diff --git a/doc/ref/c++/html/annotated.html b/doc/ref/c++/html/annotated.html new file mode 100644 index 0000000000..96de425ef4 --- /dev/null +++ b/doc/ref/c++/html/annotated.html @@ -0,0 +1,201 @@ + + + + + + +GRPC C++: Data Structures + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + +
+ + + + +
+ +
+ +
+
+
Data Structures
+
+
+
Here are the data structures with brief descriptions:
+
[detail level 123]
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
\Ngrpc
 oNCallOpGenericRecvMessageHelper
 |oCDeserializeFunc
 |\CDeserializeFuncType
 oNprotobuf
 |\Nio
 oNtesting
 oCGenericServerContext
 oCAsyncGenericService
 oCClientAsyncResponseReaderInterface
 oCClientAsyncResponseReader
 oCServerAsyncResponseWriter
 oCAuthContext
 oCAuthPropertyIterator
 oCByteBuffer
 oCSerializationTraits< ByteBuffer, void >
 oCChannelArguments
 oCChannelInterface
 oCClientReader
 oCClientWriter
 oCClientReaderWriter
 oCClientAsyncReader
 oCClientAsyncWriter
 oCClientAsyncReaderWriter
 oCClientContext
 oCServerReader
 oCServerWriter
 oCServerReaderWriter
 oCRpcMethodHandler
 oCClientStreamingHandler
 oCServerStreamingHandler
 oCBidiStreamingHandler
 oCCompletionQueueTag
 oCCompletionQueue
 oCServerCompletionQueue
 oCCredentials
 oCSslCredentialsOptions
 oCDynamicThreadPool
 oCFixedSizeThreadPool
 oCGenericStub
 oCWriteOptionsPer-message write options
 oCCallNoOpDefault argument for CallOpSet
 oCCallOpSendInitialMetadata
 oCCallOpSendMessage
 oCCallOpRecvMessage
 oCCallOpGenericRecvMessage
 oCCallOpClientSendClose
 oCCallOpServerSendStatus
 oCCallOpRecvInitialMetadata
 oCCallOpClientRecvStatus
 oCCallOpSetInterfaceAn abstract collection of call ops, used to generate the grpc_call_op structure to pass down to the lower layers, and as it is-a CompletionQueueTag, also massages the final completion into the correct form for consumption in the C++ API
 oCCallOpSetPrimary implementaiton of CallOpSetInterface
 oCSneakyCallOpSetA CallOpSet that does not post completions to the completion queue
 oCCallHook
 oCCall
 oCGrpcLibrary
 oCInternalStub
 oCSerializationTraits< T, typename std::enable_if< std::is_base_of< grpc::protobuf::Message, T >::value >::type >
 oCRpcMethod
 oCMethodHandler
 |\CHandlerParameter
 oCRpcServiceMethod
 oCRpcService
 oCSerializationTraitsDefines how to serialize and deserialize some type
 oCSynchronousService
 oCServerAsyncStreamingInterface
 oCAsynchronousService
 oClock_guard
 oCmutex
 oCunique_lock
 oCcondition_variable
 oCthread
 oCServer
 oCServerBuilder
 oCServerAsyncReader
 oCServerAsyncWriter
 oCServerAsyncReaderWriter
 oCServerContext
 oCServerCredentials
 oCSslServerCredentialsOptions
 |\CPemKeyCertPair
 oCSlice
 oCStatus
 oCClientStreamingInterface
 oCReaderInterface
 oCWriterInterface
 oCClientReaderInterface
 oCClientWriterInterface
 oCClientReaderWriterInterface
 oCClientAsyncStreamingInterface
 oCAsyncReaderInterface
 oCAsyncWriterInterface
 oCClientAsyncReaderInterface
 oCClientAsyncWriterInterface
 oCClientAsyncReaderWriterInterface
 oCThreadPoolInterface
 oCTimePoint
 oCTimePoint< gpr_timespec >
 \CTimePoint< std::chrono::system_clock::time_point >
+
+
+ + + + diff --git a/doc/ref/c++/html/async__generic__service_8h.html b/doc/ref/c++/html/async__generic__service_8h.html new file mode 100644 index 0000000000..c7c3307178 --- /dev/null +++ b/doc/ref/c++/html/async__generic__service_8h.html @@ -0,0 +1,128 @@ + + + + + + +GRPC C++: include/grpc++/async_generic_service.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
async_generic_service.h File Reference
+
+
+
#include <grpc++/byte_buffer.h>
+#include <grpc++/stream.h>
+
+

Go to the source code of this file.

+ + + + + + +

+Data Structures

class  grpc::GenericServerContext
 
class  grpc::AsyncGenericService
 
+ + + +

+Namespaces

 grpc
 
+ + + +

+Typedefs

typedef
+ServerAsyncReaderWriter
+< ByteBuffer, ByteBuffer > 
grpc::GenericServerAsyncReaderWriter
 
+
+ + + + diff --git a/doc/ref/c++/html/async__generic__service_8h_source.html b/doc/ref/c++/html/async__generic__service_8h_source.html new file mode 100644 index 0000000000..dcc16307ff --- /dev/null +++ b/doc/ref/c++/html/async__generic__service_8h_source.html @@ -0,0 +1,194 @@ + + + + + + +GRPC C++: include/grpc++/async_generic_service.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
async_generic_service.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPCXX_ASYNC_GENERIC_SERVICE_H
+
35 #define GRPCXX_ASYNC_GENERIC_SERVICE_H
+
36 
+
37 #include <grpc++/byte_buffer.h>
+
38 #include <grpc++/stream.h>
+
39 
+
40 struct grpc_server;
+
41 
+
42 namespace grpc {
+
43 
+ + +
46 
+ +
48  public:
+
49  const grpc::string& method() const { return method_; }
+
50  const grpc::string& host() const { return host_; }
+
51 
+
52  private:
+
53  friend class Server;
+
54 
+
55  grpc::string method_;
+
56  grpc::string host_;
+
57 };
+
58 
+ +
60  public:
+
61  // TODO(yangg) Once we can add multiple completion queues to the server
+
62  // in c core, add a CompletionQueue* argument to the ctor here.
+
63  // TODO(yangg) support methods list.
+
64  AsyncGenericService(const grpc::string& methods) : server_(nullptr) {}
+
65 
+ +
67  GenericServerAsyncReaderWriter* reader_writer,
+
68  CompletionQueue* call_cq,
+
69  ServerCompletionQueue* notification_cq, void* tag);
+
70 
+
71  private:
+
72  friend class Server;
+
73  Server* server_;
+
74 };
+
75 
+
76 } // namespace grpc
+
77 
+
78 #endif // GRPCXX_ASYNC_GENERIC_SERVICE_H
+
std::string string
Definition: config.h:112
+ +
Definition: server_context.h:60
+
AsyncGenericService(const grpc::string &methods)
Definition: async_generic_service.h:64
+
#define GRPC_FINAL
Definition: config.h:71
+
Definition: async_generic_service.h:59
+
void RequestCall(GenericServerContext *ctx, GenericServerAsyncReaderWriter *reader_writer, CompletionQueue *call_cq, ServerCompletionQueue *notification_cq, void *tag)
+ +
Definition: server.h:61
+
ServerAsyncReaderWriter< ByteBuffer, ByteBuffer > GenericServerAsyncReaderWriter
Definition: async_generic_service.h:45
+
Definition: server_context.h:86
+
Definition: async_generic_service.h:47
+
Definition: completion_queue.h:87
+
Definition: completion_queue.h:162
+
const grpc::string & host() const
Definition: async_generic_service.h:50
+
const grpc::string & method() const
Definition: async_generic_service.h:49
+
+ + + + diff --git a/doc/ref/c++/html/async__unary__call_8h.html b/doc/ref/c++/html/async__unary__call_8h.html new file mode 100644 index 0000000000..892126e18e --- /dev/null +++ b/doc/ref/c++/html/async__unary__call_8h.html @@ -0,0 +1,128 @@ + + + + + + +GRPC C++: include/grpc++/async_unary_call.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
async_unary_call.h File Reference
+
+
+
#include <grpc++/channel_interface.h>
+#include <grpc++/client_context.h>
+#include <grpc++/completion_queue.h>
+#include <grpc++/server_context.h>
+#include <grpc++/impl/call.h>
+#include <grpc++/impl/service_type.h>
+#include <grpc++/status.h>
+#include <grpc/support/log.h>
+
+

Go to the source code of this file.

+ + + + + + + + +

+Data Structures

class  grpc::ClientAsyncResponseReaderInterface< R >
 
class  grpc::ClientAsyncResponseReader< R >
 
class  grpc::ServerAsyncResponseWriter< W >
 
+ + + +

+Namespaces

 grpc
 
+
+ + + + diff --git a/doc/ref/c++/html/async__unary__call_8h_source.html b/doc/ref/c++/html/async__unary__call_8h_source.html new file mode 100644 index 0000000000..64795126d9 --- /dev/null +++ b/doc/ref/c++/html/async__unary__call_8h_source.html @@ -0,0 +1,293 @@ + + + + + + +GRPC C++: include/grpc++/async_unary_call.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
async_unary_call.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPCXX_ASYNC_UNARY_CALL_H
+
35 #define GRPCXX_ASYNC_UNARY_CALL_H
+
36 
+ +
38 #include <grpc++/client_context.h>
+ +
40 #include <grpc++/server_context.h>
+
41 #include <grpc++/impl/call.h>
+ +
43 #include <grpc++/status.h>
+
44 #include <grpc/support/log.h>
+
45 
+
46 namespace grpc {
+
47 
+
48 template <class R>
+ +
50  public:
+ +
52  virtual void ReadInitialMetadata(void* tag) = 0;
+
53  virtual void Finish(R* msg, Status* status, void* tag) = 0;
+
54 };
+
55 
+
56 template <class R>
+ + +
59  public:
+
60  template <class W>
+ +
62  const RpcMethod& method, ClientContext* context,
+
63  const W& request)
+
64  : context_(context), call_(channel->CreateCall(method, context, cq)) {
+
65  init_buf_.SendInitialMetadata(context->send_initial_metadata_);
+
66  // TODO(ctiller): don't assert
+
67  GPR_ASSERT(init_buf_.SendMessage(request).ok());
+
68  init_buf_.ClientSendClose();
+
69  call_.PerformOps(&init_buf_);
+
70  }
+
71 
+
72  void ReadInitialMetadata(void* tag) {
+
73  GPR_ASSERT(!context_->initial_metadata_received_);
+
74 
+
75  meta_buf_.set_output_tag(tag);
+
76  meta_buf_.RecvInitialMetadata(context_);
+
77  call_.PerformOps(&meta_buf_);
+
78  }
+
79 
+
80  void Finish(R* msg, Status* status, void* tag) {
+
81  finish_buf_.set_output_tag(tag);
+
82  if (!context_->initial_metadata_received_) {
+
83  finish_buf_.RecvInitialMetadata(context_);
+
84  }
+
85  finish_buf_.RecvMessage(msg);
+
86  finish_buf_.ClientRecvStatus(context_, status);
+
87  call_.PerformOps(&finish_buf_);
+
88  }
+
89 
+
90  private:
+
91  ClientContext* context_;
+
92  Call call_;
+ +
94  CallOpClientSendClose> init_buf_;
+ + +
97  CallOpClientRecvStatus> finish_buf_;
+
98 };
+
99 
+
100 template <class W>
+ + +
103  public:
+ +
105  : call_(nullptr, nullptr, nullptr), ctx_(ctx) {}
+
106 
+ +
108  GPR_ASSERT(!ctx_->sent_initial_metadata_);
+
109 
+
110  meta_buf_.set_output_tag(tag);
+
111  meta_buf_.SendInitialMetadata(ctx_->initial_metadata_);
+
112  ctx_->sent_initial_metadata_ = true;
+
113  call_.PerformOps(&meta_buf_);
+
114  }
+
115 
+
116  void Finish(const W& msg, const Status& status, void* tag) {
+
117  finish_buf_.set_output_tag(tag);
+
118  if (!ctx_->sent_initial_metadata_) {
+
119  finish_buf_.SendInitialMetadata(ctx_->initial_metadata_);
+
120  ctx_->sent_initial_metadata_ = true;
+
121  }
+
122  // The response is dropped if the status is not OK.
+
123  if (status.ok()) {
+
124  finish_buf_.ServerSendStatus(
+
125  ctx_->trailing_metadata_, finish_buf_.SendMessage(msg));
+
126  } else {
+
127  finish_buf_.ServerSendStatus(ctx_->trailing_metadata_, status);
+
128  }
+
129  call_.PerformOps(&finish_buf_);
+
130  }
+
131 
+
132  void FinishWithError(const Status& status, void* tag) {
+
133  GPR_ASSERT(!status.ok());
+
134  finish_buf_.set_output_tag(tag);
+
135  if (!ctx_->sent_initial_metadata_) {
+
136  finish_buf_.SendInitialMetadata(ctx_->initial_metadata_);
+
137  ctx_->sent_initial_metadata_ = true;
+
138  }
+
139  finish_buf_.ServerSendStatus(ctx_->trailing_metadata_, status);
+
140  call_.PerformOps(&finish_buf_);
+
141  }
+
142 
+
143  private:
+
144  void BindCall(Call* call) GRPC_OVERRIDE { call_ = *call; }
+
145 
+
146  Call call_;
+
147  ServerContext* ctx_;
+
148  CallOpSet<CallOpSendInitialMetadata> meta_buf_;
+
149  CallOpSet<CallOpSendInitialMetadata, CallOpSendMessage,
+
150  CallOpServerSendStatus> finish_buf_;
+
151 };
+
152 
+
153 } // namespace grpc
+
154 
+
155 #endif // GRPCXX_ASYNC_UNARY_CALL_H
+
void FinishWithError(const Status &status, void *tag)
Definition: async_unary_call.h:132
+
virtual ~ClientAsyncResponseReaderInterface()
Definition: async_unary_call.h:51
+
virtual void Finish(R *msg, Status *status, void *tag)=0
+ +
void Finish(const W &msg, const Status &status, void *tag)
Definition: async_unary_call.h:116
+
Definition: call.h:431
+
Definition: service_type.h:57
+
void SendInitialMetadata(void *tag) GRPC_OVERRIDE
Definition: async_unary_call.h:107
+
void Finish(R *msg, Status *status, void *tag)
Definition: async_unary_call.h:80
+
virtual void ReadInitialMetadata(void *tag)=0
+ +
#define GRPC_FINAL
Definition: config.h:71
+
Definition: async_unary_call.h:57
+
Definition: client_context.h:74
+
void ReadInitialMetadata(void *tag)
Definition: async_unary_call.h:72
+
Definition: call.h:190
+
Definition: call.h:341
+
Definition: async_unary_call.h:49
+
Definition: call.h:565
+
Definition: channel_interface.h:52
+ +
Primary implementaiton of CallOpSetInterface.
Definition: call.h:506
+
Definition: server_context.h:86
+
Definition: completion_queue.h:87
+
ClientAsyncResponseReader(ChannelInterface *channel, CompletionQueue *cq, const RpcMethod &method, ClientContext *context, const W &request)
Definition: async_unary_call.h:61
+ +
ServerAsyncResponseWriter(ServerContext *ctx)
Definition: async_unary_call.h:104
+
Definition: rpc_method.h:39
+ +
void PerformOps(CallOpSetInterface *ops)
+
bool ok() const
Definition: status.h:55
+ +
Definition: status.h:42
+
Definition: async_unary_call.h:101
+
Definition: call.h:159
+
A CallOpSet that does not post completions to the completion queue.
Definition: call.h:548
+
#define GRPC_OVERRIDE
Definition: config.h:77
+ +
+ + + + diff --git a/doc/ref/c++/html/auth__context_8h.html b/doc/ref/c++/html/auth__context_8h.html new file mode 100644 index 0000000000..720da677d9 --- /dev/null +++ b/doc/ref/c++/html/auth__context_8h.html @@ -0,0 +1,119 @@ + + + + + + +GRPC C++: include/grpc++/auth_context.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
auth_context.h File Reference
+
+
+
#include <vector>
+#include <grpc++/auth_property_iterator.h>
+#include <grpc++/config.h>
+
+

Go to the source code of this file.

+ + + + +

+Data Structures

class  grpc::AuthContext
 
+ + + +

+Namespaces

 grpc
 
+
+ + + + diff --git a/doc/ref/c++/html/auth__context_8h_source.html b/doc/ref/c++/html/auth__context_8h_source.html new file mode 100644 index 0000000000..42b6813904 --- /dev/null +++ b/doc/ref/c++/html/auth__context_8h_source.html @@ -0,0 +1,176 @@ + + + + + + +GRPC C++: include/grpc++/auth_context.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
auth_context.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPCXX_AUTH_CONTEXT_H
+
35 #define GRPCXX_AUTH_CONTEXT_H
+
36 
+
37 #include <vector>
+
38 
+ +
40 #include <grpc++/config.h>
+
41 
+
42 namespace grpc {
+
43 
+
44 class AuthContext {
+
45  public:
+
46  virtual ~AuthContext() {}
+
47 
+
48  // A peer identity, in general is one or more properties (in which case they
+
49  // have the same name).
+
50  virtual std::vector<grpc::string> GetPeerIdentity() const = 0;
+
51  virtual grpc::string GetPeerIdentityPropertyName() const = 0;
+
52 
+
53  // Returns all the property values with the given name.
+
54  virtual std::vector<grpc::string> FindPropertyValues(
+
55  const grpc::string& name) const = 0;
+
56 
+
57  // Iteration over all the properties.
+
58  virtual AuthPropertyIterator begin() const = 0;
+
59  virtual AuthPropertyIterator end() const = 0;
+
60 };
+
61 
+
62 } // namespace grpc
+
63 
+
64 #endif // GRPCXX_AUTH_CONTEXT_H
+
65 
+
std::string string
Definition: config.h:112
+ +
Definition: auth_context.h:44
+
virtual std::vector< grpc::string > GetPeerIdentity() const =0
+ +
virtual AuthPropertyIterator end() const =0
+
virtual std::vector< grpc::string > FindPropertyValues(const grpc::string &name) const =0
+
virtual AuthPropertyIterator begin() const =0
+
virtual ~AuthContext()
Definition: auth_context.h:46
+
Definition: auth_property_iterator.h:51
+
virtual grpc::string GetPeerIdentityPropertyName() const =0
+
+ + + + diff --git a/doc/ref/c++/html/auth__property__iterator_8h.html b/doc/ref/c++/html/auth__property__iterator_8h.html new file mode 100644 index 0000000000..3e0a9c975c --- /dev/null +++ b/doc/ref/c++/html/auth__property__iterator_8h.html @@ -0,0 +1,126 @@ + + + + + + +GRPC C++: include/grpc++/auth_property_iterator.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
auth_property_iterator.h File Reference
+
+
+
#include <iterator>
+#include <vector>
+#include <grpc++/config.h>
+
+

Go to the source code of this file.

+ + + + +

+Data Structures

class  grpc::AuthPropertyIterator
 
+ + + +

+Namespaces

 grpc
 
+ + + +

+Typedefs

typedef std::pair
+< grpc::string, grpc::string
grpc::AuthProperty
 
+
+ + + + diff --git a/doc/ref/c++/html/auth__property__iterator_8h_source.html b/doc/ref/c++/html/auth__property__iterator_8h_source.html new file mode 100644 index 0000000000..14e0ce7622 --- /dev/null +++ b/doc/ref/c++/html/auth__property__iterator_8h_source.html @@ -0,0 +1,187 @@ + + + + + + +GRPC C++: include/grpc++/auth_property_iterator.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
auth_property_iterator.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPCXX_AUTH_PROPERTY_ITERATOR_H
+
35 #define GRPCXX_AUTH_PROPERTY_ITERATOR_H
+
36 
+
37 #include <iterator>
+
38 #include <vector>
+
39 
+
40 #include <grpc++/config.h>
+
41 
+
42 struct grpc_auth_context;
+
43 struct grpc_auth_property;
+
44 struct grpc_auth_property_iterator;
+
45 
+
46 namespace grpc {
+
47 class SecureAuthContext;
+
48 
+
49 typedef std::pair<grpc::string, grpc::string> AuthProperty;
+
50 
+ +
52  : public std::iterator<std::input_iterator_tag, const AuthProperty> {
+
53  public:
+ + + +
57  bool operator==(const AuthPropertyIterator& rhs) const;
+
58  bool operator!=(const AuthPropertyIterator& rhs) const;
+
59  const AuthProperty operator*();
+
60 
+
61  protected:
+ +
63  AuthPropertyIterator(const grpc_auth_property* property,
+
64  const grpc_auth_property_iterator* iter);
+
65  private:
+
66  friend class SecureAuthContext;
+
67  const grpc_auth_property* property_;
+
68  // The following items form a grpc_auth_property_iterator.
+
69  const grpc_auth_context* ctx_;
+
70  size_t index_;
+
71  const char* name_;
+
72 };
+
73 
+
74 } // namespace grpc
+
75 
+
76  #endif // GRPCXX_AUTH_PROPERTY_ITERATOR_H
+
77 
+
std::pair< grpc::string, grpc::string > AuthProperty
Definition: auth_property_iterator.h:47
+ + +
bool operator!=(const AuthPropertyIterator &rhs) const
+
const AuthProperty operator*()
+
bool operator==(const AuthPropertyIterator &rhs) const
+
AuthPropertyIterator & operator++()
+
Definition: auth_property_iterator.h:51
+ +
friend class SecureAuthContext
Definition: auth_property_iterator.h:66
+
+ + + + diff --git a/doc/ref/c++/html/bc_s.png b/doc/ref/c++/html/bc_s.png new file mode 100644 index 0000000000..224b29aa98 Binary files /dev/null and b/doc/ref/c++/html/bc_s.png differ diff --git a/doc/ref/c++/html/bdwn.png b/doc/ref/c++/html/bdwn.png new file mode 100644 index 0000000000..940a0b9504 Binary files /dev/null and b/doc/ref/c++/html/bdwn.png differ diff --git a/doc/ref/c++/html/byte__buffer_8h.html b/doc/ref/c++/html/byte__buffer_8h.html new file mode 100644 index 0000000000..bbde3a84b8 --- /dev/null +++ b/doc/ref/c++/html/byte__buffer_8h.html @@ -0,0 +1,126 @@ + + + + + + +GRPC C++: include/grpc++/byte_buffer.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
byte_buffer.h File Reference
+
+
+
#include <grpc/grpc.h>
+#include <grpc/byte_buffer.h>
+#include <grpc/support/log.h>
+#include <grpc++/config.h>
+#include <grpc++/slice.h>
+#include <grpc++/status.h>
+#include <grpc++/impl/serialization_traits.h>
+#include <vector>
+
+

Go to the source code of this file.

+ + + + + + +

+Data Structures

class  grpc::ByteBuffer
 
class  grpc::SerializationTraits< ByteBuffer, void >
 
+ + + +

+Namespaces

 grpc
 
+
+ + + + diff --git a/doc/ref/c++/html/byte__buffer_8h_source.html b/doc/ref/c++/html/byte__buffer_8h_source.html new file mode 100644 index 0000000000..d8f13b8260 --- /dev/null +++ b/doc/ref/c++/html/byte__buffer_8h_source.html @@ -0,0 +1,221 @@ + + + + + + +GRPC C++: include/grpc++/byte_buffer.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
byte_buffer.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPCXX_BYTE_BUFFER_H
+
35 #define GRPCXX_BYTE_BUFFER_H
+
36 
+
37 #include <grpc/grpc.h>
+
38 #include <grpc/byte_buffer.h>
+
39 #include <grpc/support/log.h>
+
40 #include <grpc++/config.h>
+
41 #include <grpc++/slice.h>
+
42 #include <grpc++/status.h>
+ +
44 
+
45 #include <vector>
+
46 
+
47 namespace grpc {
+
48 
+ +
50  public:
+
51  ByteBuffer() : buffer_(nullptr) {}
+
52 
+
53  ByteBuffer(const Slice* slices, size_t nslices);
+
54 
+ +
56  if (buffer_) {
+
57  grpc_byte_buffer_destroy(buffer_);
+
58  }
+
59  }
+
60 
+
61  void Dump(std::vector<Slice>* slices) const;
+
62 
+
63  void Clear();
+
64  size_t Length() const;
+
65 
+
66  private:
+
67  friend class SerializationTraits<ByteBuffer, void>;
+
68 
+
69  ByteBuffer(const ByteBuffer&);
+
70  ByteBuffer& operator=(const ByteBuffer&);
+
71 
+
72  // takes ownership
+
73  void set_buffer(grpc_byte_buffer* buf) {
+
74  if (buffer_) {
+
75  gpr_log(GPR_ERROR, "Overriding existing buffer");
+
76  Clear();
+
77  }
+
78  buffer_ = buf;
+
79  }
+
80 
+
81  grpc_byte_buffer* buffer() const { return buffer_; }
+
82 
+
83  grpc_byte_buffer* buffer_;
+
84 };
+
85 
+
86 template <>
+ +
88  public:
+
89  static Status Deserialize(grpc_byte_buffer* byte_buffer, ByteBuffer* dest,
+
90  int max_message_size) {
+
91  dest->set_buffer(byte_buffer);
+
92  return Status::OK;
+
93  }
+
94  static Status Serialize(const ByteBuffer& source, grpc_byte_buffer** buffer,
+
95  bool* own_buffer) {
+
96  *buffer = source.buffer();
+
97  *own_buffer = false;
+
98  return Status::OK;
+
99  }
+
100 };
+
101 
+
102 } // namespace grpc
+
103 
+
104 #endif // GRPCXX_BYTE_BUFFER_H
+ +
Definition: slice.h:42
+ + +
#define GRPC_FINAL
Definition: config.h:71
+
static Status Deserialize(grpc_byte_buffer *byte_buffer, ByteBuffer *dest, int max_message_size)
Definition: byte_buffer.h:89
+
Defines how to serialize and deserialize some type.
Definition: serialization_traits.h:64
+
size_t Length() const
+
void Dump(std::vector< Slice > *slices) const
+ + +
Definition: status.h:42
+
~ByteBuffer()
Definition: byte_buffer.h:55
+
static Status Serialize(const ByteBuffer &source, grpc_byte_buffer **buffer, bool *own_buffer)
Definition: byte_buffer.h:94
+
static const Status & OK
Definition: status.h:49
+
ByteBuffer()
Definition: byte_buffer.h:51
+
Definition: byte_buffer.h:49
+
+ + + + diff --git a/doc/ref/c++/html/call_8h.html b/doc/ref/c++/html/call_8h.html new file mode 100644 index 0000000000..40c4677bb3 --- /dev/null +++ b/doc/ref/c++/html/call_8h.html @@ -0,0 +1,173 @@ + + + + + + +GRPC C++: include/grpc++/impl/call.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
call.h File Reference
+
+
+
#include <grpc/support/alloc.h>
+#include <grpc++/client_context.h>
+#include <grpc++/completion_queue.h>
+#include <grpc++/config.h>
+#include <grpc++/status.h>
+#include <grpc++/impl/serialization_traits.h>
+#include <functional>
+#include <memory>
+#include <map>
+#include <string.h>
+
+

Go to the source code of this file.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Data Structures

class  grpc::WriteOptions
 Per-message write options. More...
 
class  grpc::CallNoOp< I >
 Default argument for CallOpSet. More...
 
class  grpc::CallOpSendInitialMetadata
 
class  grpc::CallOpSendMessage
 
class  grpc::CallOpRecvMessage< R >
 
class  grpc::CallOpGenericRecvMessageHelper::DeserializeFunc
 
class  grpc::CallOpGenericRecvMessageHelper::DeserializeFuncType< R >
 
class  grpc::CallOpGenericRecvMessage
 
class  grpc::CallOpClientSendClose
 
class  grpc::CallOpServerSendStatus
 
class  grpc::CallOpRecvInitialMetadata
 
class  grpc::CallOpClientRecvStatus
 
class  grpc::CallOpSetInterface
 An abstract collection of call ops, used to generate the grpc_call_op structure to pass down to the lower layers, and as it is-a CompletionQueueTag, also massages the final completion into the correct form for consumption in the C++ API. More...
 
class  grpc::CallOpSet< Op1, Op2, Op3, Op4, Op5, Op6 >
 Primary implementaiton of CallOpSetInterface. More...
 
class  grpc::SneakyCallOpSet< Op1, Op2, Op3, Op4, Op5, Op6 >
 A CallOpSet that does not post completions to the completion queue. More...
 
class  grpc::CallHook
 
class  grpc::Call
 
+ + + + + +

+Namespaces

 grpc
 
 grpc::CallOpGenericRecvMessageHelper
 
+ + + + + +

+Functions

void grpc::FillMetadataMap (grpc_metadata_array *arr, std::multimap< grpc::string, grpc::string > *metadata)
 
grpc_metadata * grpc::FillMetadataArray (const std::multimap< grpc::string, grpc::string > &metadata)
 
+
+ + + + diff --git a/doc/ref/c++/html/call_8h_source.html b/doc/ref/c++/html/call_8h_source.html new file mode 100644 index 0000000000..8f988de3b1 --- /dev/null +++ b/doc/ref/c++/html/call_8h_source.html @@ -0,0 +1,745 @@ + + + + + + +GRPC C++: include/grpc++/impl/call.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
call.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPCXX_IMPL_CALL_H
+
35 #define GRPCXX_IMPL_CALL_H
+
36 
+
37 #include <grpc/support/alloc.h>
+
38 #include <grpc++/client_context.h>
+ +
40 #include <grpc++/config.h>
+
41 #include <grpc++/status.h>
+ +
43 
+
44 #include <functional>
+
45 #include <memory>
+
46 #include <map>
+
47 
+
48 #include <string.h>
+
49 
+
50 struct grpc_call;
+
51 struct grpc_op;
+
52 
+
53 namespace grpc {
+
54 
+
55 class ByteBuffer;
+
56 class Call;
+
57 
+
58 void FillMetadataMap(grpc_metadata_array* arr,
+
59  std::multimap<grpc::string, grpc::string>* metadata);
+
60 grpc_metadata* FillMetadataArray(
+
61  const std::multimap<grpc::string, grpc::string>& metadata);
+
62 
+
64 class WriteOptions {
+
65  public:
+
66  WriteOptions() : flags_(0) {}
+
67  WriteOptions(const WriteOptions& other) : flags_(other.flags_) {}
+
68 
+
70  inline void Clear() {
+
71  flags_ = 0;
+
72  }
+
73 
+
75  inline gpr_uint32 flags() const {
+
76  return flags_;
+
77  }
+
78 
+ +
83  SetBit(GRPC_WRITE_NO_COMPRESS);
+
84  return *this;
+
85  }
+
86 
+ +
91  ClearBit(GRPC_WRITE_NO_COMPRESS);
+
92  return *this;
+
93  }
+
94 
+
99  inline bool get_no_compression() const {
+
100  return GetBit(GRPC_WRITE_NO_COMPRESS);
+
101  }
+
102 
+ +
108  SetBit(GRPC_WRITE_BUFFER_HINT);
+
109  return *this;
+
110  }
+
111 
+ +
117  ClearBit(GRPC_WRITE_BUFFER_HINT);
+
118  return *this;
+
119  }
+
120 
+
125  inline bool get_buffer_hint() const {
+
126  return GetBit(GRPC_WRITE_BUFFER_HINT);
+
127  }
+
128 
+ +
130  flags_ = rhs.flags_;
+
131  return *this;
+
132  }
+
133 
+
134  private:
+
135  void SetBit(const gpr_int32 mask) {
+
136  flags_ |= mask;
+
137  }
+
138 
+
139  void ClearBit(const gpr_int32 mask) {
+
140  flags_ &= ~mask;
+
141  }
+
142 
+
143  bool GetBit(const gpr_int32 mask) const {
+
144  return flags_ & mask;
+
145  }
+
146 
+
147  gpr_uint32 flags_;
+
148 };
+
149 
+
152 template <int I>
+
153 class CallNoOp {
+
154  protected:
+
155  void AddOp(grpc_op* ops, size_t* nops) {}
+
156  void FinishOp(bool* status, int max_message_size) {}
+
157 };
+
158 
+ +
160  public:
+ +
162 
+ +
164  const std::multimap<grpc::string, grpc::string>& metadata) {
+
165  send_ = true;
+
166  initial_metadata_count_ = metadata.size();
+ +
168  }
+
169 
+
170  protected:
+
171  void AddOp(grpc_op* ops, size_t* nops) {
+
172  if (!send_) return;
+
173  grpc_op* op = &ops[(*nops)++];
+
174  op->op = GRPC_OP_SEND_INITIAL_METADATA;
+
175  op->flags = 0;
+
176  op->data.send_initial_metadata.count = initial_metadata_count_;
+
177  op->data.send_initial_metadata.metadata = initial_metadata_;
+
178  }
+
179  void FinishOp(bool* status, int max_message_size) {
+
180  if (!send_) return;
+
181  gpr_free(initial_metadata_);
+
182  send_ = false;
+
183  }
+
184 
+
185  bool send_;
+ +
187  grpc_metadata* initial_metadata_;
+
188 };
+
189 
+ +
191  public:
+
192  CallOpSendMessage() : send_buf_(nullptr), own_buf_(false) {}
+
193 
+
196  template <class M>
+
197  Status SendMessage(const M& message,
+
198  const WriteOptions& options) GRPC_MUST_USE_RESULT;
+
199 
+
200  template <class M>
+
201  Status SendMessage(const M& message) GRPC_MUST_USE_RESULT;
+
202 
+
203  protected:
+
204  void AddOp(grpc_op* ops, size_t* nops) {
+
205  if (send_buf_ == nullptr) return;
+
206  grpc_op* op = &ops[(*nops)++];
+
207  op->op = GRPC_OP_SEND_MESSAGE;
+
208  op->flags = write_options_.flags();
+
209  op->data.send_message = send_buf_;
+
210  // Flags are per-message: clear them after use.
+
211  write_options_.Clear();
+
212  }
+
213  void FinishOp(bool* status, int max_message_size) {
+
214  if (own_buf_) grpc_byte_buffer_destroy(send_buf_);
+
215  send_buf_ = nullptr;
+
216  }
+
217 
+
218  private:
+
219  grpc_byte_buffer* send_buf_;
+
220  WriteOptions write_options_;
+
221  bool own_buf_;
+
222 };
+
223 
+
224 template <class M>
+ +
226  const WriteOptions& options) {
+
227  write_options_ = options;
+
228  return SerializationTraits<M>::Serialize(message, &send_buf_, &own_buf_);
+
229 }
+
230 
+
231 template <class M>
+ +
233  return SendMessage(message, WriteOptions());
+
234 }
+
235 
+
236 template <class R>
+ +
238  public:
+
239  CallOpRecvMessage() : got_message(false), message_(nullptr) {}
+
240 
+
241  void RecvMessage(R* message) { message_ = message; }
+
242 
+ +
244 
+
245  protected:
+
246  void AddOp(grpc_op* ops, size_t* nops) {
+
247  if (message_ == nullptr) return;
+
248  grpc_op* op = &ops[(*nops)++];
+
249  op->op = GRPC_OP_RECV_MESSAGE;
+
250  op->flags = 0;
+
251  op->data.recv_message = &recv_buf_;
+
252  }
+
253 
+
254  void FinishOp(bool* status, int max_message_size) {
+
255  if (message_ == nullptr) return;
+
256  if (recv_buf_) {
+
257  if (*status) {
+
258  got_message = true;
+
259  *status = SerializationTraits<R>::Deserialize(recv_buf_, message_,
+
260  max_message_size)
+
261  .ok();
+
262  } else {
+
263  got_message = false;
+
264  grpc_byte_buffer_destroy(recv_buf_);
+
265  }
+
266  } else {
+
267  got_message = false;
+
268  *status = false;
+
269  }
+
270  message_ = nullptr;
+
271  }
+
272 
+
273  private:
+
274  R* message_;
+
275  grpc_byte_buffer* recv_buf_;
+
276 };
+
277 
+
278 namespace CallOpGenericRecvMessageHelper {
+ +
280  public:
+
281  virtual Status Deserialize(grpc_byte_buffer* buf, int max_message_size) = 0;
+
282 };
+
283 
+
284 template <class R>
+ +
286  public:
+
287  DeserializeFuncType(R* message) : message_(message) {}
+
288  Status Deserialize(grpc_byte_buffer* buf,
+
289  int max_message_size) GRPC_OVERRIDE {
+
290  return SerializationTraits<R>::Deserialize(buf, message_, max_message_size);
+
291  }
+
292 
+
293  private:
+
294  R* message_; // Not a managed pointer because management is external to this
+
295 };
+
296 } // namespace CallOpGenericRecvMessageHelper
+
297 
+ +
299  public:
+ +
301 
+
302  template <class R>
+
303  void RecvMessage(R* message) {
+
304  deserialize_.reset(
+ +
306  }
+
307 
+ +
309 
+
310  protected:
+
311  void AddOp(grpc_op* ops, size_t* nops) {
+
312  if (!deserialize_) return;
+
313  grpc_op* op = &ops[(*nops)++];
+
314  op->op = GRPC_OP_RECV_MESSAGE;
+
315  op->flags = 0;
+
316  op->data.recv_message = &recv_buf_;
+
317  }
+
318 
+
319  void FinishOp(bool* status, int max_message_size) {
+
320  if (!deserialize_) return;
+
321  if (recv_buf_) {
+
322  if (*status) {
+
323  got_message = true;
+
324  *status = deserialize_->Deserialize(recv_buf_, max_message_size).ok();
+
325  } else {
+
326  got_message = false;
+
327  grpc_byte_buffer_destroy(recv_buf_);
+
328  }
+
329  } else {
+
330  got_message = false;
+
331  *status = false;
+
332  }
+
333  deserialize_.reset();
+
334  }
+
335 
+
336  private:
+
337  std::unique_ptr<CallOpGenericRecvMessageHelper::DeserializeFunc> deserialize_;
+
338  grpc_byte_buffer* recv_buf_;
+
339 };
+
340 
+ +
342  public:
+
343  CallOpClientSendClose() : send_(false) {}
+
344 
+
345  void ClientSendClose() { send_ = true; }
+
346 
+
347  protected:
+
348  void AddOp(grpc_op* ops, size_t* nops) {
+
349  if (!send_) return;
+
350  grpc_op* op = &ops[(*nops)++];
+
351  op->op = GRPC_OP_SEND_CLOSE_FROM_CLIENT;
+
352  op->flags = 0;
+
353  }
+
354  void FinishOp(bool* status, int max_message_size) { send_ = false; }
+
355 
+
356  private:
+
357  bool send_;
+
358 };
+
359 
+ +
361  public:
+
362  CallOpServerSendStatus() : send_status_available_(false) {}
+
363 
+ +
365  const std::multimap<grpc::string, grpc::string>& trailing_metadata,
+
366  const Status& status) {
+
367  trailing_metadata_count_ = trailing_metadata.size();
+
368  trailing_metadata_ = FillMetadataArray(trailing_metadata);
+
369  send_status_available_ = true;
+
370  send_status_code_ = static_cast<grpc_status_code>(status.error_code());
+
371  send_status_details_ = status.error_message();
+
372  }
+
373 
+
374  protected:
+
375  void AddOp(grpc_op* ops, size_t* nops) {
+
376  if (!send_status_available_) return;
+
377  grpc_op* op = &ops[(*nops)++];
+
378  op->op = GRPC_OP_SEND_STATUS_FROM_SERVER;
+
379  op->data.send_status_from_server.trailing_metadata_count =
+
380  trailing_metadata_count_;
+
381  op->data.send_status_from_server.trailing_metadata = trailing_metadata_;
+
382  op->data.send_status_from_server.status = send_status_code_;
+
383  op->data.send_status_from_server.status_details =
+
384  send_status_details_.empty() ? nullptr : send_status_details_.c_str();
+
385  op->flags = 0;
+
386  }
+
387 
+
388  void FinishOp(bool* status, int max_message_size) {
+
389  if (!send_status_available_) return;
+
390  gpr_free(trailing_metadata_);
+
391  send_status_available_ = false;
+
392  }
+
393 
+
394  private:
+
395  bool send_status_available_;
+
396  grpc_status_code send_status_code_;
+
397  grpc::string send_status_details_;
+
398  size_t trailing_metadata_count_;
+
399  grpc_metadata* trailing_metadata_;
+
400 };
+
401 
+ +
403  public:
+
404  CallOpRecvInitialMetadata() : recv_initial_metadata_(nullptr) {}
+
405 
+ +
407  context->initial_metadata_received_ = true;
+
408  recv_initial_metadata_ = &context->recv_initial_metadata_;
+
409  }
+
410 
+
411  protected:
+
412  void AddOp(grpc_op* ops, size_t* nops) {
+
413  if (!recv_initial_metadata_) return;
+
414  memset(&recv_initial_metadata_arr_, 0, sizeof(recv_initial_metadata_arr_));
+
415  grpc_op* op = &ops[(*nops)++];
+
416  op->op = GRPC_OP_RECV_INITIAL_METADATA;
+
417  op->data.recv_initial_metadata = &recv_initial_metadata_arr_;
+
418  op->flags = 0;
+
419  }
+
420  void FinishOp(bool* status, int max_message_size) {
+
421  if (recv_initial_metadata_ == nullptr) return;
+
422  FillMetadataMap(&recv_initial_metadata_arr_, recv_initial_metadata_);
+
423  recv_initial_metadata_ = nullptr;
+
424  }
+
425 
+
426  private:
+
427  std::multimap<grpc::string, grpc::string>* recv_initial_metadata_;
+
428  grpc_metadata_array recv_initial_metadata_arr_;
+
429 };
+
430 
+ +
432  public:
+
433  CallOpClientRecvStatus() : recv_status_(nullptr) {}
+
434 
+
435  void ClientRecvStatus(ClientContext* context, Status* status) {
+
436  recv_trailing_metadata_ = &context->trailing_metadata_;
+
437  recv_status_ = status;
+
438  }
+
439 
+
440  protected:
+
441  void AddOp(grpc_op* ops, size_t* nops) {
+
442  if (recv_status_ == nullptr) return;
+
443  memset(&recv_trailing_metadata_arr_, 0,
+
444  sizeof(recv_trailing_metadata_arr_));
+
445  status_details_ = nullptr;
+
446  status_details_capacity_ = 0;
+
447  grpc_op* op = &ops[(*nops)++];
+
448  op->op = GRPC_OP_RECV_STATUS_ON_CLIENT;
+
449  op->data.recv_status_on_client.trailing_metadata =
+
450  &recv_trailing_metadata_arr_;
+
451  op->data.recv_status_on_client.status = &status_code_;
+
452  op->data.recv_status_on_client.status_details = &status_details_;
+
453  op->data.recv_status_on_client.status_details_capacity =
+
454  &status_details_capacity_;
+
455  op->flags = 0;
+
456  }
+
457 
+
458  void FinishOp(bool* status, int max_message_size) {
+
459  if (recv_status_ == nullptr) return;
+
460  FillMetadataMap(&recv_trailing_metadata_arr_, recv_trailing_metadata_);
+
461  *recv_status_ = Status(
+
462  static_cast<StatusCode>(status_code_),
+
463  status_details_ ? grpc::string(status_details_) : grpc::string());
+
464  gpr_free(status_details_);
+
465  recv_status_ = nullptr;
+
466  }
+
467 
+
468  private:
+
469  std::multimap<grpc::string, grpc::string>* recv_trailing_metadata_;
+
470  Status* recv_status_;
+
471  grpc_metadata_array recv_trailing_metadata_arr_;
+
472  grpc_status_code status_code_;
+
473  char* status_details_;
+
474  size_t status_details_capacity_;
+
475 };
+
476 
+ +
483  public:
+ +
487  virtual void FillOps(grpc_op* ops, size_t* nops) = 0;
+
488 
+
489  void set_max_message_size(int max_message_size) {
+
490  max_message_size_ = max_message_size;
+
491  }
+
492 
+
493  protected:
+ +
495 };
+
496 
+
503 template <class Op1 = CallNoOp<1>, class Op2 = CallNoOp<2>,
+
504  class Op3 = CallNoOp<3>, class Op4 = CallNoOp<4>,
+
505  class Op5 = CallNoOp<5>, class Op6 = CallNoOp<6>>
+ +
507  public Op1,
+
508  public Op2,
+
509  public Op3,
+
510  public Op4,
+
511  public Op5,
+
512  public Op6 {
+
513  public:
+
514  CallOpSet() : return_tag_(this) {}
+
515  void FillOps(grpc_op* ops, size_t* nops) GRPC_OVERRIDE {
+
516  this->Op1::AddOp(ops, nops);
+
517  this->Op2::AddOp(ops, nops);
+
518  this->Op3::AddOp(ops, nops);
+
519  this->Op4::AddOp(ops, nops);
+
520  this->Op5::AddOp(ops, nops);
+
521  this->Op6::AddOp(ops, nops);
+
522  }
+
523 
+
524  bool FinalizeResult(void** tag, bool* status) GRPC_OVERRIDE {
+
525  this->Op1::FinishOp(status, max_message_size_);
+
526  this->Op2::FinishOp(status, max_message_size_);
+
527  this->Op3::FinishOp(status, max_message_size_);
+
528  this->Op4::FinishOp(status, max_message_size_);
+
529  this->Op5::FinishOp(status, max_message_size_);
+
530  this->Op6::FinishOp(status, max_message_size_);
+
531  *tag = return_tag_;
+
532  return true;
+
533  }
+
534 
+
535  void set_output_tag(void* return_tag) { return_tag_ = return_tag; }
+
536 
+
537  private:
+
538  void* return_tag_;
+
539 };
+
540 
+
545 template <class Op1 = CallNoOp<1>, class Op2 = CallNoOp<2>,
+
546  class Op3 = CallNoOp<3>, class Op4 = CallNoOp<4>,
+
547  class Op5 = CallNoOp<5>, class Op6 = CallNoOp<6>>
+ +
549  : public CallOpSet<Op1, Op2, Op3, Op4, Op5, Op6> {
+
550  public:
+
551  bool FinalizeResult(void** tag, bool* status) GRPC_OVERRIDE {
+ +
553  return Base::FinalizeResult(tag, status) && false;
+
554  }
+
555 };
+
556 
+
557 // Channel and Server implement this to allow them to hook performing ops
+
558 class CallHook {
+
559  public:
+
560  virtual ~CallHook() {}
+
561  virtual void PerformOpsOnCall(CallOpSetInterface* ops, Call* call) = 0;
+
562 };
+
563 
+
564 // Straightforward wrapping of the C call object
+ +
566  public:
+
567  /* call is owned by the caller */
+
568  Call(grpc_call* call, CallHook* call_hook_, CompletionQueue* cq);
+
569  Call(grpc_call* call, CallHook* call_hook_, CompletionQueue* cq,
+
570  int max_message_size);
+
571 
+
572  void PerformOps(CallOpSetInterface* ops);
+
573 
+
574  grpc_call* call() { return call_; }
+
575  CompletionQueue* cq() { return cq_; }
+
576 
+
577  int max_message_size() { return max_message_size_; }
+
578 
+
579  private:
+
580  CallHook* call_hook_;
+
581  CompletionQueue* cq_;
+
582  grpc_call* call_;
+
583  int max_message_size_;
+
584 };
+
585 
+
586 } // namespace grpc
+
587 
+
588 #endif // GRPCXX_IMPL_CALL_H
+
void ServerSendStatus(const std::multimap< grpc::string, grpc::string > &trailing_metadata, const Status &status)
Definition: call.h:364
+
Call(grpc_call *call, CallHook *call_hook_, CompletionQueue *cq)
+
CallOpRecvInitialMetadata()
Definition: call.h:404
+
void RecvMessage(R *message)
Definition: call.h:303
+
Definition: completion_queue.h:75
+
WriteOptions & clear_buffer_hint()
Clears flag indicating that the write may be buffered and need not go out on the wire immediately...
Definition: call.h:116
+
Default argument for CallOpSet.
Definition: call.h:153
+
void AddOp(grpc_op *ops, size_t *nops)
Definition: call.h:348
+
CallOpServerSendStatus()
Definition: call.h:362
+
void SendInitialMetadata(const std::multimap< grpc::string, grpc::string > &metadata)
Definition: call.h:163
+
void FillMetadataMap(grpc_metadata_array *arr, std::multimap< grpc::string, grpc::string > *metadata)
+
WriteOptions & set_buffer_hint()
Sets flag indicating that the write may be buffered and need not go out on the wire immediately...
Definition: call.h:107
+
grpc::string error_message() const
Definition: status.h:53
+ +
CallOpSendMessage()
Definition: call.h:192
+
std::string string
Definition: config.h:112
+
void AddOp(grpc_op *ops, size_t *nops)
Definition: call.h:311
+
CompletionQueue * cq()
Definition: call.h:575
+
void FinishOp(bool *status, int max_message_size)
Definition: call.h:319
+
WriteOptions & clear_no_compression()
Clears flag for the disabling of compression for the next message write.
Definition: call.h:90
+
int max_message_size_
Definition: call.h:494
+
bool FinalizeResult(void **tag, bool *status) GRPC_OVERRIDE
Definition: call.h:551
+
An abstract collection of call ops, used to generate the grpc_call_op structure to pass down to the l...
Definition: call.h:482
+
Definition: call.h:431
+
void FinishOp(bool *status, int max_message_size)
Definition: call.h:354
+
void AddOp(grpc_op *ops, size_t *nops)
Definition: call.h:246
+
bool FinalizeResult(void **tag, bool *status) GRPC_OVERRIDE
Definition: call.h:524
+
void Clear()
Clear all flags.
Definition: call.h:70
+
void FinishOp(bool *status, int max_message_size)
Definition: call.h:213
+
void AddOp(grpc_op *ops, size_t *nops)
Definition: call.h:375
+ + +
WriteOptions()
Definition: call.h:66
+
Definition: call.h:360
+
#define GRPC_FINAL
Definition: config.h:71
+
void FillOps(grpc_op *ops, size_t *nops) GRPC_OVERRIDE
Fills in grpc_op, starting from ops[*nops] and moving upwards.
Definition: call.h:515
+
grpc_metadata * FillMetadataArray(const std::multimap< grpc::string, grpc::string > &metadata)
+
grpc_call * call()
Definition: call.h:574
+
void AddOp(grpc_op *ops, size_t *nops)
Definition: call.h:171
+
WriteOptions & set_no_compression()
Sets flag for the disabling of compression for the next message write.
Definition: call.h:82
+
Definition: client_context.h:74
+
WriteOptions & operator=(const WriteOptions &rhs)
Definition: call.h:129
+
gpr_uint32 flags() const
Returns raw flags bitset.
Definition: call.h:75
+
void FinishOp(bool *status, int max_message_size)
Definition: call.h:458
+
Defines how to serialize and deserialize some type.
Definition: serialization_traits.h:64
+
Definition: call.h:190
+
bool send_
Definition: call.h:185
+
CallOpClientRecvStatus()
Definition: call.h:433
+
bool get_no_compression() const
Get value for the flag indicating whether compression for the next message write is forcefully disabl...
Definition: call.h:99
+
Status Deserialize(grpc_byte_buffer *buf, int max_message_size) GRPC_OVERRIDE
Definition: call.h:288
+
CallOpSet()
Definition: call.h:514
+
void FinishOp(bool *status, int max_message_size)
Definition: call.h:388
+
Definition: call.h:341
+
CallOpSendInitialMetadata()
Definition: call.h:161
+
void AddOp(grpc_op *ops, size_t *nops)
Definition: call.h:441
+
Definition: call.h:565
+
void AddOp(grpc_op *ops, size_t *nops)
Definition: call.h:155
+
void FinishOp(bool *status, int max_message_size)
Definition: call.h:420
+
CallOpSetInterface()
Definition: call.h:484
+ +
WriteOptions(const WriteOptions &other)
Definition: call.h:67
+
Primary implementaiton of CallOpSetInterface.
Definition: call.h:506
+
void ClientSendClose()
Definition: call.h:345
+
Definition: call.h:237
+
int max_message_size()
Definition: call.h:577
+
Per-message write options.
Definition: call.h:64
+
CallOpClientSendClose()
Definition: call.h:343
+
bool get_buffer_hint() const
Get value for the flag indicating that the write may be buffered and need not go out on the wire imme...
Definition: call.h:125
+
CallOpRecvMessage()
Definition: call.h:239
+
StatusCode error_code() const
Definition: status.h:52
+
Definition: completion_queue.h:87
+
Status SendMessage(const M &message, const WriteOptions &options) GRPC_MUST_USE_RESULT
Send message using options for the write.
Definition: call.h:225
+
virtual void PerformOpsOnCall(CallOpSetInterface *ops, Call *call)=0
+
void FinishOp(bool *status, int max_message_size)
Definition: call.h:156
+ + +
bool got_message
Definition: call.h:243
+
void ClientRecvStatus(ClientContext *context, Status *status)
Definition: call.h:435
+
void PerformOps(CallOpSetInterface *ops)
+
void FinishOp(bool *status, int max_message_size)
Definition: call.h:254
+
void set_max_message_size(int max_message_size)
Definition: call.h:489
+
DeserializeFuncType(R *message)
Definition: call.h:287
+
Definition: status.h:42
+
Definition: call.h:159
+
virtual Status Deserialize(grpc_byte_buffer *buf, int max_message_size)=0
+
void AddOp(grpc_op *ops, size_t *nops)
Definition: call.h:412
+
void RecvMessage(R *message)
Definition: call.h:241
+
CallOpGenericRecvMessage()
Definition: call.h:300
+
bool got_message
Definition: call.h:308
+
A CallOpSet that does not post completions to the completion queue.
Definition: call.h:548
+
virtual void FillOps(grpc_op *ops, size_t *nops)=0
Fills in grpc_op, starting from ops[*nops] and moving upwards.
+
void set_output_tag(void *return_tag)
Definition: call.h:535
+
size_t initial_metadata_count_
Definition: call.h:186
+
#define GRPC_OVERRIDE
Definition: config.h:77
+
Definition: call.h:558
+
void RecvInitialMetadata(ClientContext *context)
Definition: call.h:406
+
Definition: call.h:402
+
void AddOp(grpc_op *ops, size_t *nops)
Definition: call.h:204
+
grpc_metadata * initial_metadata_
Definition: call.h:187
+
void FinishOp(bool *status, int max_message_size)
Definition: call.h:179
+
Definition: call.h:298
+
virtual ~CallHook()
Definition: call.h:560
+ +
+ + + + diff --git a/doc/ref/c++/html/channel__arguments_8h.html b/doc/ref/c++/html/channel__arguments_8h.html new file mode 100644 index 0000000000..d72abf9ab2 --- /dev/null +++ b/doc/ref/c++/html/channel__arguments_8h.html @@ -0,0 +1,123 @@ + + + + + + +GRPC C++: include/grpc++/channel_arguments.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
channel_arguments.h File Reference
+
+
+
#include <vector>
+#include <list>
+#include <grpc++/config.h>
+#include <grpc/compression.h>
+#include <grpc/grpc.h>
+
+

Go to the source code of this file.

+ + + + +

+Data Structures

class  grpc::ChannelArguments
 
+ + + + + +

+Namespaces

 grpc
 
 grpc::testing
 
+
+ + + + diff --git a/doc/ref/c++/html/channel__arguments_8h_source.html b/doc/ref/c++/html/channel__arguments_8h_source.html new file mode 100644 index 0000000000..2826d91e88 --- /dev/null +++ b/doc/ref/c++/html/channel__arguments_8h_source.html @@ -0,0 +1,207 @@ + + + + + + +GRPC C++: include/grpc++/channel_arguments.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
channel_arguments.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPCXX_CHANNEL_ARGUMENTS_H
+
35 #define GRPCXX_CHANNEL_ARGUMENTS_H
+
36 
+
37 #include <vector>
+
38 #include <list>
+
39 
+
40 #include <grpc++/config.h>
+
41 #include <grpc/compression.h>
+
42 #include <grpc/grpc.h>
+
43 
+
44 namespace grpc {
+
45 namespace testing {
+
46 class ChannelArgumentsTest;
+
47 } // namespace testing
+
48 
+
49 // Options for channel creation. The user can use generic setters to pass
+
50 // key value pairs down to c channel creation code. For grpc related options,
+
51 // concrete setters are provided.
+ +
53  public:
+ + +
56 
+
57  ChannelArguments(const ChannelArguments& other);
+ +
59  Swap(other);
+
60  return *this;
+
61  }
+
62 
+
63  void Swap(ChannelArguments& other);
+
64 
+
65  // grpc specific channel argument setters
+
66  // Set target name override for SSL host name checking.
+
67  void SetSslTargetNameOverride(const grpc::string& name);
+
68  // TODO(yangg) add flow control options
+
69 
+
70  // Set the compression algorithm for the channel.
+
71  void SetCompressionAlgorithm(grpc_compression_algorithm algorithm);
+
72 
+
73  // Generic channel argument setters. Only for advanced use cases.
+
74  void SetInt(const grpc::string& key, int value);
+
75  void SetString(const grpc::string& key, const grpc::string& value);
+
76 
+
77  // Populates given channel_args with args_, does not take ownership.
+
78  void SetChannelArgs(grpc_channel_args* channel_args) const;
+
79 
+
80  private:
+
81  friend class SecureCredentials;
+ +
83 
+
84  // Returns empty string when it is not set.
+
85  grpc::string GetSslTargetNameOverride() const;
+
86 
+
87  std::vector<grpc_arg> args_;
+
88  std::list<grpc::string> strings_;
+
89 };
+
90 
+
91 } // namespace grpc
+
92 
+
93 #endif // GRPCXX_CHANNEL_ARGUMENTS_H
+
friend class SecureCredentials
Definition: channel_arguments.h:81
+
friend class testing::ChannelArgumentsTest
Definition: channel_arguments.h:82
+
std::string string
Definition: config.h:112
+
void SetString(const grpc::string &key, const grpc::string &value)
+
Definition: channel_arguments.h:52
+ +
void Swap(ChannelArguments &other)
+
void SetCompressionAlgorithm(grpc_compression_algorithm algorithm)
+
void SetSslTargetNameOverride(const grpc::string &name)
+
~ChannelArguments()
Definition: channel_arguments.h:55
+
void SetInt(const grpc::string &key, int value)
+
ChannelArguments & operator=(ChannelArguments other)
Definition: channel_arguments.h:58
+
ChannelArguments()
Definition: channel_arguments.h:54
+
void SetChannelArgs(grpc_channel_args *channel_args) const
+
+ + + + diff --git a/doc/ref/c++/html/channel__interface_8h.html b/doc/ref/c++/html/channel__interface_8h.html new file mode 100644 index 0000000000..87110d00af --- /dev/null +++ b/doc/ref/c++/html/channel__interface_8h.html @@ -0,0 +1,119 @@ + + + + + + +GRPC C++: include/grpc++/channel_interface.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
channel_interface.h File Reference
+
+
+
#include <memory>
+#include <grpc++/status.h>
+#include <grpc++/impl/call.h>
+
+

Go to the source code of this file.

+ + + + +

+Data Structures

class  grpc::ChannelInterface
 
+ + + +

+Namespaces

 grpc
 
+
+ + + + diff --git a/doc/ref/c++/html/channel__interface_8h_source.html b/doc/ref/c++/html/channel__interface_8h_source.html new file mode 100644 index 0000000000..a073d6db2a --- /dev/null +++ b/doc/ref/c++/html/channel__interface_8h_source.html @@ -0,0 +1,175 @@ + + + + + + +GRPC C++: include/grpc++/channel_interface.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
channel_interface.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPCXX_CHANNEL_INTERFACE_H
+
35 #define GRPCXX_CHANNEL_INTERFACE_H
+
36 
+
37 #include <memory>
+
38 
+
39 #include <grpc++/status.h>
+
40 #include <grpc++/impl/call.h>
+
41 
+
42 struct grpc_call;
+
43 
+
44 namespace grpc {
+
45 class Call;
+
46 class CallOpBuffer;
+
47 class ClientContext;
+
48 class CompletionQueue;
+
49 class RpcMethod;
+
50 class CallInterface;
+
51 
+
52 class ChannelInterface : public CallHook,
+
53  public std::enable_shared_from_this<ChannelInterface> {
+
54  public:
+
55  virtual ~ChannelInterface() {}
+
56 
+
57  virtual void* RegisterMethod(const char* method_name) = 0;
+
58  virtual Call CreateCall(const RpcMethod& method, ClientContext* context,
+
59  CompletionQueue* cq) = 0;
+
60 };
+
61 
+
62 } // namespace grpc
+
63 
+
64 #endif // GRPCXX_CHANNEL_INTERFACE_H
+
Definition: client_context.h:74
+
virtual Call CreateCall(const RpcMethod &method, ClientContext *context, CompletionQueue *cq)=0
+
Definition: call.h:565
+
Definition: channel_interface.h:52
+ +
Definition: completion_queue.h:87
+
virtual void * RegisterMethod(const char *method_name)=0
+ +
Definition: rpc_method.h:39
+
virtual ~ChannelInterface()
Definition: channel_interface.h:55
+
Definition: call.h:558
+
+ + + + diff --git a/doc/ref/c++/html/classes.html b/doc/ref/c++/html/classes.html new file mode 100644 index 0000000000..3461897e29 --- /dev/null +++ b/doc/ref/c++/html/classes.html @@ -0,0 +1,149 @@ + + + + + + +GRPC C++: Data Structure Index + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + +
+ + + + +
+ +
+ +
+
+
Data Structure Index
+
+
+
A | B | C | D | F | G | H | I | L | M | P | R | S | T | U | W
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  A  
+
CallOpSetInterface (grpc)   DeserializeFuncType (grpc::CallOpGenericRecvMessageHelper)   RpcMethodHandler (grpc)   Status (grpc)   
ChannelArguments (grpc)   DynamicThreadPool (grpc)   RpcService (grpc)   SynchronousService (grpc)   
AsyncGenericService (grpc)   ChannelInterface (grpc)   
  F  
+
RpcServiceMethod (grpc)   
  T  
+
AsynchronousService (grpc)   ClientAsyncReader (grpc)   
  S  
+
AsyncReaderInterface (grpc)   ClientAsyncReaderInterface (grpc)   FixedSizeThreadPool (grpc)   ThreadPoolInterface (grpc)   
AsyncWriterInterface (grpc)   ClientAsyncReaderWriter (grpc)   
  G  
+
SerializationTraits (grpc)   TimePoint (grpc)   
AuthContext (grpc)   ClientAsyncReaderWriterInterface (grpc)   SerializationTraits< ByteBuffer, void > (grpc)   TimePoint< gpr_timespec > (grpc)   
AuthPropertyIterator (grpc)   ClientAsyncResponseReader (grpc)   GenericServerContext (grpc)   SerializationTraits< T, typename std::enable_if< std::is_base_of< grpc::protobuf::Message, T >::value >::type > (grpc)   TimePoint< std::chrono::system_clock::time_point > (grpc)   
  B  
+
ClientAsyncResponseReaderInterface (grpc)   GenericStub (grpc)   Server (grpc)   
  W  
+
ClientAsyncStreamingInterface (grpc)   GrpcLibrary (grpc)   ServerAsyncReader (grpc)   
BidiStreamingHandler (grpc)   ClientAsyncWriter (grpc)   
  H  
+
ServerAsyncReaderWriter (grpc)   WriteOptions (grpc)   
ByteBuffer (grpc)   ClientAsyncWriterInterface (grpc)   ServerAsyncResponseWriter (grpc)   WriterInterface (grpc)   
  C  
+
ClientContext (grpc)   MethodHandler::HandlerParameter (grpc)   ServerAsyncStreamingInterface (grpc)   
  c  
+
ClientReader (grpc)   
  I  
+
ServerAsyncWriter (grpc)   
Call (grpc)   ClientReaderInterface (grpc)   ServerBuilder (grpc)   condition_variable (grpc)   
CallHook (grpc)   ClientReaderWriter (grpc)   InternalStub (grpc)   ServerCompletionQueue (grpc)   
  l  
+
CallNoOp (grpc)   ClientReaderWriterInterface (grpc)   
  M  
+
ServerContext (grpc)   
CallOpClientRecvStatus (grpc)   ClientStreamingHandler (grpc)   ServerCredentials (grpc)   lock_guard (grpc)   
CallOpClientSendClose (grpc)   ClientStreamingInterface (grpc)   MethodHandler (grpc)   ServerReader (grpc)   
  m  
+
CallOpGenericRecvMessage (grpc)   ClientWriter (grpc)   
  P  
+
ServerReaderWriter (grpc)   
CallOpRecvInitialMetadata (grpc)   ClientWriterInterface (grpc)   ServerStreamingHandler (grpc)   mutex (grpc)   
CallOpRecvMessage (grpc)   CompletionQueue (grpc)   SslServerCredentialsOptions::PemKeyCertPair (grpc)   ServerWriter (grpc)   
  t  
+
CallOpSendInitialMetadata (grpc)   CompletionQueueTag (grpc)   
  R  
+
Slice (grpc)   
CallOpSendMessage (grpc)   Credentials (grpc)   SneakyCallOpSet (grpc)   thread (grpc)   
CallOpServerSendStatus (grpc)   
  D  
+
ReaderInterface (grpc)   SslCredentialsOptions (grpc)   
  u  
+
CallOpSet (grpc)   RpcMethod (grpc)   SslServerCredentialsOptions (grpc)   
DeserializeFunc (grpc::CallOpGenericRecvMessageHelper)   unique_lock (grpc)   
+
A | B | C | D | F | G | H | I | L | M | P | R | S | T | U | W
+
+ + + + diff --git a/doc/ref/c++/html/classgrpc_1_1_async_generic_service.html b/doc/ref/c++/html/classgrpc_1_1_async_generic_service.html new file mode 100644 index 0000000000..9ec9882bf8 --- /dev/null +++ b/doc/ref/c++/html/classgrpc_1_1_async_generic_service.html @@ -0,0 +1,214 @@ + + + + + + +GRPC C++: grpc::AsyncGenericService Class Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc::AsyncGenericService Class Reference
+
+
+ +

#include <async_generic_service.h>

+ + + + + + +

+Public Member Functions

 AsyncGenericService (const grpc::string &methods)
 
void RequestCall (GenericServerContext *ctx, GenericServerAsyncReaderWriter *reader_writer, CompletionQueue *call_cq, ServerCompletionQueue *notification_cq, void *tag)
 
+ + + +

+Friends

class Server
 
+

Constructor & Destructor Documentation

+ +
+
+ + + + + +
+ + + + + + + + +
grpc::AsyncGenericService::AsyncGenericService (const grpc::stringmethods)
+
+inline
+
+ +
+
+

Member Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void grpc::AsyncGenericService::RequestCall (GenericServerContextctx,
GenericServerAsyncReaderWriterreader_writer,
CompletionQueuecall_cq,
ServerCompletionQueuenotification_cq,
void * tag 
)
+
+ +
+
+

Friends And Related Function Documentation

+ +
+
+ + + + + +
+ + + + +
friend class Server
+
+friend
+
+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/doc/ref/c++/html/classgrpc_1_1_async_reader_interface.html b/doc/ref/c++/html/classgrpc_1_1_async_reader_interface.html new file mode 100644 index 0000000000..b422746ecb --- /dev/null +++ b/doc/ref/c++/html/classgrpc_1_1_async_reader_interface.html @@ -0,0 +1,182 @@ + + + + + + +GRPC C++: grpc::AsyncReaderInterface< R > Class Template Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc::AsyncReaderInterface< R > Class Template Referenceabstract
+
+
+ +

#include <stream.h>

+ + + + + + +

+Public Member Functions

virtual ~AsyncReaderInterface ()
 
virtual void Read (R *msg, void *tag)=0
 
+

Constructor & Destructor Documentation

+ +
+
+
+template<class R >
+ + + + + +
+ + + + + + + +
virtual grpc::AsyncReaderInterface< R >::~AsyncReaderInterface ()
+
+inlinevirtual
+
+ +
+
+

Member Function Documentation

+ +
+
+
+template<class R >
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
virtual void grpc::AsyncReaderInterface< R >::Read (R * msg,
void * tag 
)
+
+pure virtual
+
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/doc/ref/c++/html/classgrpc_1_1_async_writer_interface.html b/doc/ref/c++/html/classgrpc_1_1_async_writer_interface.html new file mode 100644 index 0000000000..43c90b23da --- /dev/null +++ b/doc/ref/c++/html/classgrpc_1_1_async_writer_interface.html @@ -0,0 +1,182 @@ + + + + + + +GRPC C++: grpc::AsyncWriterInterface< W > Class Template Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc::AsyncWriterInterface< W > Class Template Referenceabstract
+
+
+ +

#include <stream.h>

+ + + + + + +

+Public Member Functions

virtual ~AsyncWriterInterface ()
 
virtual void Write (const W &msg, void *tag)=0
 
+

Constructor & Destructor Documentation

+ +
+
+
+template<class W >
+ + + + + +
+ + + + + + + +
virtual grpc::AsyncWriterInterface< W >::~AsyncWriterInterface ()
+
+inlinevirtual
+
+ +
+
+

Member Function Documentation

+ +
+
+
+template<class W >
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
virtual void grpc::AsyncWriterInterface< W >::Write (const W & msg,
void * tag 
)
+
+pure virtual
+
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/doc/ref/c++/html/classgrpc_1_1_asynchronous_service.html b/doc/ref/c++/html/classgrpc_1_1_asynchronous_service.html new file mode 100644 index 0000000000..0a4c855778 --- /dev/null +++ b/doc/ref/c++/html/classgrpc_1_1_asynchronous_service.html @@ -0,0 +1,465 @@ + + + + + + +GRPC C++: grpc::AsynchronousService Class Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc::AsynchronousService Class Reference
+
+
+ +

#include <service_type.h>

+ + + + + + +

+Public Member Functions

 AsynchronousService (const char **method_names, size_t method_count)
 
 ~AsynchronousService ()
 
+ + + + + + + + + + + +

+Protected Member Functions

template<class Message >
void RequestAsyncUnary (int index, ServerContext *context, Message *request, ServerAsyncStreamingInterface *stream, CompletionQueue *call_cq, ServerCompletionQueue *notification_cq, void *tag)
 
void RequestClientStreaming (int index, ServerContext *context, ServerAsyncStreamingInterface *stream, CompletionQueue *call_cq, ServerCompletionQueue *notification_cq, void *tag)
 
template<class Message >
void RequestServerStreaming (int index, ServerContext *context, Message *request, ServerAsyncStreamingInterface *stream, CompletionQueue *call_cq, ServerCompletionQueue *notification_cq, void *tag)
 
void RequestBidiStreaming (int index, ServerContext *context, ServerAsyncStreamingInterface *stream, CompletionQueue *call_cq, ServerCompletionQueue *notification_cq, void *tag)
 
+ + + +

+Friends

class Server
 
+

Constructor & Destructor Documentation

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
grpc::AsynchronousService::AsynchronousService (const char ** method_names,
size_t method_count 
)
+
+inline
+
+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
grpc::AsynchronousService::~AsynchronousService ()
+
+inline
+
+ +
+
+

Member Function Documentation

+ +
+
+
+template<class Message >
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void grpc::AsynchronousService::RequestAsyncUnary (int index,
ServerContextcontext,
Message * request,
ServerAsyncStreamingInterfacestream,
CompletionQueuecall_cq,
ServerCompletionQueuenotification_cq,
void * tag 
)
+
+inlineprotected
+
+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void grpc::AsynchronousService::RequestBidiStreaming (int index,
ServerContextcontext,
ServerAsyncStreamingInterfacestream,
CompletionQueuecall_cq,
ServerCompletionQueuenotification_cq,
void * tag 
)
+
+inlineprotected
+
+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void grpc::AsynchronousService::RequestClientStreaming (int index,
ServerContextcontext,
ServerAsyncStreamingInterfacestream,
CompletionQueuecall_cq,
ServerCompletionQueuenotification_cq,
void * tag 
)
+
+inlineprotected
+
+ +
+
+ +
+
+
+template<class Message >
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void grpc::AsynchronousService::RequestServerStreaming (int index,
ServerContextcontext,
Message * request,
ServerAsyncStreamingInterfacestream,
CompletionQueuecall_cq,
ServerCompletionQueuenotification_cq,
void * tag 
)
+
+inlineprotected
+
+ +
+
+

Friends And Related Function Documentation

+ +
+
+ + + + + +
+ + + + +
friend class Server
+
+friend
+
+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/doc/ref/c++/html/classgrpc_1_1_auth_context.html b/doc/ref/c++/html/classgrpc_1_1_auth_context.html new file mode 100644 index 0000000000..a32a1082d6 --- /dev/null +++ b/doc/ref/c++/html/classgrpc_1_1_auth_context.html @@ -0,0 +1,266 @@ + + + + + + +GRPC C++: grpc::AuthContext Class Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc::AuthContext Class Referenceabstract
+
+
+ +

#include <auth_context.h>

+ + + + + + + + + + + + + + +

+Public Member Functions

virtual ~AuthContext ()
 
virtual std::vector< grpc::stringGetPeerIdentity () const =0
 
virtual grpc::string GetPeerIdentityPropertyName () const =0
 
virtual std::vector< grpc::stringFindPropertyValues (const grpc::string &name) const =0
 
virtual AuthPropertyIterator begin () const =0
 
virtual AuthPropertyIterator end () const =0
 
+

Constructor & Destructor Documentation

+ +
+
+ + + + + +
+ + + + + + + +
virtual grpc::AuthContext::~AuthContext ()
+
+inlinevirtual
+
+ +
+
+

Member Function Documentation

+ +
+
+ + + + + +
+ + + + + + + +
virtual AuthPropertyIterator grpc::AuthContext::begin () const
+
+pure virtual
+
+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
virtual AuthPropertyIterator grpc::AuthContext::end () const
+
+pure virtual
+
+ +
+
+ +
+
+ + + + + +
+ + + + + + + + +
virtual std::vector<grpc::string> grpc::AuthContext::FindPropertyValues (const grpc::stringname) const
+
+pure virtual
+
+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
virtual std::vector<grpc::string> grpc::AuthContext::GetPeerIdentity () const
+
+pure virtual
+
+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
virtual grpc::string grpc::AuthContext::GetPeerIdentityPropertyName () const
+
+pure virtual
+
+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/doc/ref/c++/html/classgrpc_1_1_auth_property_iterator.html b/doc/ref/c++/html/classgrpc_1_1_auth_property_iterator.html new file mode 100644 index 0000000000..681a9a4090 --- /dev/null +++ b/doc/ref/c++/html/classgrpc_1_1_auth_property_iterator.html @@ -0,0 +1,312 @@ + + + + + + +GRPC C++: grpc::AuthPropertyIterator Class Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc::AuthPropertyIterator Class Reference
+
+
+ +

#include <auth_property_iterator.h>

+ + + + + + + + + + + + + + +

+Public Member Functions

 ~AuthPropertyIterator ()
 
AuthPropertyIteratoroperator++ ()
 
AuthPropertyIterator operator++ (int)
 
bool operator== (const AuthPropertyIterator &rhs) const
 
bool operator!= (const AuthPropertyIterator &rhs) const
 
const AuthProperty operator* ()
 
+ + + + + +

+Protected Member Functions

 AuthPropertyIterator ()
 
 AuthPropertyIterator (const grpc_auth_property *property, const grpc_auth_property_iterator *iter)
 
+ + + +

+Friends

class SecureAuthContext
 
+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + +
grpc::AuthPropertyIterator::~AuthPropertyIterator ()
+
+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
grpc::AuthPropertyIterator::AuthPropertyIterator ()
+
+protected
+
+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
grpc::AuthPropertyIterator::AuthPropertyIterator (const grpc_auth_property * property,
const grpc_auth_property_iterator * iter 
)
+
+protected
+
+ +
+
+

Member Function Documentation

+ +
+
+ + + + + + + + +
bool grpc::AuthPropertyIterator::operator!= (const AuthPropertyIteratorrhs) const
+
+ +
+
+ +
+
+ + + + + + + +
const AuthProperty grpc::AuthPropertyIterator::operator* ()
+
+ +
+
+ +
+
+ + + + + + + +
AuthPropertyIterator& grpc::AuthPropertyIterator::operator++ ()
+
+ +
+
+ +
+
+ + + + + + + + +
AuthPropertyIterator grpc::AuthPropertyIterator::operator++ (int )
+
+ +
+
+ +
+
+ + + + + + + + +
bool grpc::AuthPropertyIterator::operator== (const AuthPropertyIteratorrhs) const
+
+ +
+
+

Friends And Related Function Documentation

+ +
+
+ + + + + +
+ + + + +
friend class SecureAuthContext
+
+friend
+
+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/doc/ref/c++/html/classgrpc_1_1_bidi_streaming_handler.html b/doc/ref/c++/html/classgrpc_1_1_bidi_streaming_handler.html new file mode 100644 index 0000000000..5cb0ad2d13 --- /dev/null +++ b/doc/ref/c++/html/classgrpc_1_1_bidi_streaming_handler.html @@ -0,0 +1,187 @@ + + + + + + +GRPC C++: grpc::BidiStreamingHandler< ServiceType, RequestType, ResponseType > Class Template Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc::BidiStreamingHandler< ServiceType, RequestType, ResponseType > Class Template Reference
+
+
+ +

#include <completion_queue.h>

+ + + + + + + + + +

+Public Member Functions

 BidiStreamingHandler (std::function< Status(ServiceType *, ServerContext *, ServerReaderWriter< ResponseType, RequestType > *)> func, ServiceType *service)
 
void RunHandler (const HandlerParameter &param)
 
- Public Member Functions inherited from grpc::MethodHandler
virtual ~MethodHandler ()
 
+

Constructor & Destructor Documentation

+ +
+
+
+template<class ServiceType , class RequestType , class ResponseType >
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
grpc::BidiStreamingHandler< ServiceType, RequestType, ResponseType >::BidiStreamingHandler (std::function< Status(ServiceType *, ServerContext *, ServerReaderWriter< ResponseType, RequestType > *)> func,
ServiceType * service 
)
+
+inline
+
+ +
+
+

Member Function Documentation

+ +
+
+
+template<class ServiceType , class RequestType , class ResponseType >
+ + + + + +
+ + + + + + + + +
void grpc::BidiStreamingHandler< ServiceType, RequestType, ResponseType >::RunHandler (const HandlerParameterparam)
+
+inlinevirtual
+
+ +

Implements grpc::MethodHandler.

+ +
+
+
The documentation for this class was generated from the following files: +
+ + + + diff --git a/doc/ref/c++/html/classgrpc_1_1_byte_buffer.html b/doc/ref/c++/html/classgrpc_1_1_byte_buffer.html new file mode 100644 index 0000000000..9fd972b91c --- /dev/null +++ b/doc/ref/c++/html/classgrpc_1_1_byte_buffer.html @@ -0,0 +1,272 @@ + + + + + + +GRPC C++: grpc::ByteBuffer Class Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc::ByteBuffer Class Reference
+
+
+ +

#include <byte_buffer.h>

+ + + + + + + + + + + + + + +

+Public Member Functions

 ByteBuffer ()
 
 ByteBuffer (const Slice *slices, size_t nslices)
 
 ~ByteBuffer ()
 
void Dump (std::vector< Slice > *slices) const
 
void Clear ()
 
size_t Length () const
 
+ + + +

+Friends

class SerializationTraits< ByteBuffer, void >
 
+

Constructor & Destructor Documentation

+ +
+
+ + + + + +
+ + + + + + + +
grpc::ByteBuffer::ByteBuffer ()
+
+inline
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
grpc::ByteBuffer::ByteBuffer (const Sliceslices,
size_t nslices 
)
+
+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
grpc::ByteBuffer::~ByteBuffer ()
+
+inline
+
+ +
+
+

Member Function Documentation

+ +
+
+ + + + + + + +
void grpc::ByteBuffer::Clear ()
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc::ByteBuffer::Dump (std::vector< Slice > * slices) const
+
+ +
+
+ +
+
+ + + + + + + +
size_t grpc::ByteBuffer::Length () const
+
+ +
+
+

Friends And Related Function Documentation

+ +
+
+ + + + + +
+ + + + +
friend class SerializationTraits< ByteBuffer, void >
+
+friend
+
+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/doc/ref/c++/html/classgrpc_1_1_call.html b/doc/ref/c++/html/classgrpc_1_1_call.html new file mode 100644 index 0000000000..e588dc2519 --- /dev/null +++ b/doc/ref/c++/html/classgrpc_1_1_call.html @@ -0,0 +1,282 @@ + + + + + + +GRPC C++: grpc::Call Class Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc::Call Class Reference
+
+
+ +

#include <call.h>

+ + + + + + + + + + + + + + +

+Public Member Functions

 Call (grpc_call *call, CallHook *call_hook_, CompletionQueue *cq)
 
 Call (grpc_call *call, CallHook *call_hook_, CompletionQueue *cq, int max_message_size)
 
void PerformOps (CallOpSetInterface *ops)
 
grpc_call * call ()
 
CompletionQueuecq ()
 
int max_message_size ()
 
+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
grpc::Call::Call (grpc_call * call,
CallHookcall_hook_,
CompletionQueuecq 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
grpc::Call::Call (grpc_call * call,
CallHookcall_hook_,
CompletionQueuecq,
int max_message_size 
)
+
+ +
+
+

Member Function Documentation

+ +
+
+ + + + + +
+ + + + + + + +
grpc_call* grpc::Call::call ()
+
+inline
+
+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
CompletionQueue* grpc::Call::cq ()
+
+inline
+
+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
int grpc::Call::max_message_size ()
+
+inline
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc::Call::PerformOps (CallOpSetInterfaceops)
+
+ +
+
+
The documentation for this class was generated from the following file:
    +
  • include/grpc++/impl/call.h
  • +
+
+ + + + diff --git a/doc/ref/c++/html/classgrpc_1_1_call_hook.html b/doc/ref/c++/html/classgrpc_1_1_call_hook.html new file mode 100644 index 0000000000..29afe74049 --- /dev/null +++ b/doc/ref/c++/html/classgrpc_1_1_call_hook.html @@ -0,0 +1,176 @@ + + + + + + +GRPC C++: grpc::CallHook Class Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc::CallHook Class Referenceabstract
+
+
+ +

#include <call.h>

+ + + + + + +

+Public Member Functions

virtual ~CallHook ()
 
virtual void PerformOpsOnCall (CallOpSetInterface *ops, Call *call)=0
 
+

Constructor & Destructor Documentation

+ +
+
+ + + + + +
+ + + + + + + +
virtual grpc::CallHook::~CallHook ()
+
+inlinevirtual
+
+ +
+
+

Member Function Documentation

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
virtual void grpc::CallHook::PerformOpsOnCall (CallOpSetInterfaceops,
Callcall 
)
+
+pure virtual
+
+ +
+
+
The documentation for this class was generated from the following file:
    +
  • include/grpc++/impl/call.h
  • +
+
+ + + + diff --git a/doc/ref/c++/html/classgrpc_1_1_call_no_op.html b/doc/ref/c++/html/classgrpc_1_1_call_no_op.html new file mode 100644 index 0000000000..6fd6cde0f1 --- /dev/null +++ b/doc/ref/c++/html/classgrpc_1_1_call_no_op.html @@ -0,0 +1,199 @@ + + + + + + +GRPC C++: grpc::CallNoOp< I > Class Template Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc::CallNoOp< I > Class Template Reference
+
+
+ +

Default argument for CallOpSet. + More...

+ +

#include <call.h>

+ + + + + + +

+Protected Member Functions

void AddOp (grpc_op *ops, size_t *nops)
 
void FinishOp (bool *status, int max_message_size)
 
+

Detailed Description

+

template<int I>
+class grpc::CallNoOp< I >

+ +

Default argument for CallOpSet.

+

I is unused by the class, but can be used for generating multiple names for the same thing.

+

Member Function Documentation

+ +
+
+
+template<int I>
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void grpc::CallNoOp< I >::AddOp (grpc_op * ops,
size_t * nops 
)
+
+inlineprotected
+
+ +
+
+ +
+
+
+template<int I>
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void grpc::CallNoOp< I >::FinishOp (bool * status,
int max_message_size 
)
+
+inlineprotected
+
+ +
+
+
The documentation for this class was generated from the following file:
    +
  • include/grpc++/impl/call.h
  • +
+
+ + + + diff --git a/doc/ref/c++/html/classgrpc_1_1_call_op_client_recv_status.html b/doc/ref/c++/html/classgrpc_1_1_call_op_client_recv_status.html new file mode 100644 index 0000000000..e4161d4e8e --- /dev/null +++ b/doc/ref/c++/html/classgrpc_1_1_call_op_client_recv_status.html @@ -0,0 +1,252 @@ + + + + + + +GRPC C++: grpc::CallOpClientRecvStatus Class Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc::CallOpClientRecvStatus Class Reference
+
+
+ +

#include <call.h>

+ + + + + + +

+Public Member Functions

 CallOpClientRecvStatus ()
 
void ClientRecvStatus (ClientContext *context, Status *status)
 
+ + + + + +

+Protected Member Functions

void AddOp (grpc_op *ops, size_t *nops)
 
void FinishOp (bool *status, int max_message_size)
 
+

Constructor & Destructor Documentation

+ +
+
+ + + + + +
+ + + + + + + +
grpc::CallOpClientRecvStatus::CallOpClientRecvStatus ()
+
+inline
+
+ +
+
+

Member Function Documentation

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void grpc::CallOpClientRecvStatus::AddOp (grpc_op * ops,
size_t * nops 
)
+
+inlineprotected
+
+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void grpc::CallOpClientRecvStatus::ClientRecvStatus (ClientContextcontext,
Statusstatus 
)
+
+inline
+
+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void grpc::CallOpClientRecvStatus::FinishOp (bool * status,
int max_message_size 
)
+
+inlineprotected
+
+ +
+
+
The documentation for this class was generated from the following file:
    +
  • include/grpc++/impl/call.h
  • +
+
+ + + + diff --git a/doc/ref/c++/html/classgrpc_1_1_call_op_client_send_close.html b/doc/ref/c++/html/classgrpc_1_1_call_op_client_send_close.html new file mode 100644 index 0000000000..eb94da88a5 --- /dev/null +++ b/doc/ref/c++/html/classgrpc_1_1_call_op_client_send_close.html @@ -0,0 +1,241 @@ + + + + + + +GRPC C++: grpc::CallOpClientSendClose Class Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc::CallOpClientSendClose Class Reference
+
+
+ +

#include <call.h>

+ + + + + + +

+Public Member Functions

 CallOpClientSendClose ()
 
void ClientSendClose ()
 
+ + + + + +

+Protected Member Functions

void AddOp (grpc_op *ops, size_t *nops)
 
void FinishOp (bool *status, int max_message_size)
 
+

Constructor & Destructor Documentation

+ +
+
+ + + + + +
+ + + + + + + +
grpc::CallOpClientSendClose::CallOpClientSendClose ()
+
+inline
+
+ +
+
+

Member Function Documentation

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void grpc::CallOpClientSendClose::AddOp (grpc_op * ops,
size_t * nops 
)
+
+inlineprotected
+
+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
void grpc::CallOpClientSendClose::ClientSendClose ()
+
+inline
+
+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void grpc::CallOpClientSendClose::FinishOp (bool * status,
int max_message_size 
)
+
+inlineprotected
+
+ +
+
+
The documentation for this class was generated from the following file:
    +
  • include/grpc++/impl/call.h
  • +
+
+ + + + diff --git a/doc/ref/c++/html/classgrpc_1_1_call_op_generic_recv_message.html b/doc/ref/c++/html/classgrpc_1_1_call_op_generic_recv_message.html new file mode 100644 index 0000000000..a0191d817d --- /dev/null +++ b/doc/ref/c++/html/classgrpc_1_1_call_op_generic_recv_message.html @@ -0,0 +1,264 @@ + + + + + + +GRPC C++: grpc::CallOpGenericRecvMessage Class Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc::CallOpGenericRecvMessage Class Reference
+
+
+ +

#include <call.h>

+ + + + + + + +

+Public Member Functions

 CallOpGenericRecvMessage ()
 
template<class R >
void RecvMessage (R *message)
 
+ + + +

+Data Fields

bool got_message
 
+ + + + + +

+Protected Member Functions

void AddOp (grpc_op *ops, size_t *nops)
 
void FinishOp (bool *status, int max_message_size)
 
+

Constructor & Destructor Documentation

+ +
+
+ + + + + +
+ + + + + + + +
grpc::CallOpGenericRecvMessage::CallOpGenericRecvMessage ()
+
+inline
+
+ +
+
+

Member Function Documentation

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void grpc::CallOpGenericRecvMessage::AddOp (grpc_op * ops,
size_t * nops 
)
+
+inlineprotected
+
+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void grpc::CallOpGenericRecvMessage::FinishOp (bool * status,
int max_message_size 
)
+
+inlineprotected
+
+ +
+
+ +
+
+
+template<class R >
+ + + + + +
+ + + + + + + + +
void grpc::CallOpGenericRecvMessage::RecvMessage (R * message)
+
+inline
+
+ +
+
+

Field Documentation

+ +
+
+ + + + +
bool grpc::CallOpGenericRecvMessage::got_message
+
+ +
+
+
The documentation for this class was generated from the following file:
    +
  • include/grpc++/impl/call.h
  • +
+
+ + + + diff --git a/doc/ref/c++/html/classgrpc_1_1_call_op_generic_recv_message_helper_1_1_deserialize_func.html b/doc/ref/c++/html/classgrpc_1_1_call_op_generic_recv_message_helper_1_1_deserialize_func.html new file mode 100644 index 0000000000..e58cb702d1 --- /dev/null +++ b/doc/ref/c++/html/classgrpc_1_1_call_op_generic_recv_message_helper_1_1_deserialize_func.html @@ -0,0 +1,152 @@ + + + + + + +GRPC C++: grpc::CallOpGenericRecvMessageHelper::DeserializeFunc Class Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc::CallOpGenericRecvMessageHelper::DeserializeFunc Class Referenceabstract
+
+
+ +

#include <call.h>

+ + + + +

+Public Member Functions

virtual Status Deserialize (grpc_byte_buffer *buf, int max_message_size)=0
 
+

Member Function Documentation

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
virtual Status grpc::CallOpGenericRecvMessageHelper::DeserializeFunc::Deserialize (grpc_byte_buffer * buf,
int max_message_size 
)
+
+pure virtual
+
+
+
The documentation for this class was generated from the following file:
    +
  • include/grpc++/impl/call.h
  • +
+
+ + + + diff --git a/doc/ref/c++/html/classgrpc_1_1_call_op_generic_recv_message_helper_1_1_deserialize_func_type.html b/doc/ref/c++/html/classgrpc_1_1_call_op_generic_recv_message_helper_1_1_deserialize_func_type.html new file mode 100644 index 0000000000..84ff247129 --- /dev/null +++ b/doc/ref/c++/html/classgrpc_1_1_call_op_generic_recv_message_helper_1_1_deserialize_func_type.html @@ -0,0 +1,183 @@ + + + + + + +GRPC C++: grpc::CallOpGenericRecvMessageHelper::DeserializeFuncType< R > Class Template Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc::CallOpGenericRecvMessageHelper::DeserializeFuncType< R > Class Template Reference
+
+
+ +

#include <call.h>

+ + + + + + +

+Public Member Functions

 DeserializeFuncType (R *message)
 
Status Deserialize (grpc_byte_buffer *buf, int max_message_size) GRPC_OVERRIDE
 
+

Constructor & Destructor Documentation

+ +
+
+
+template<class R >
+ + + + + +
+ + + + + + + + +
grpc::CallOpGenericRecvMessageHelper::DeserializeFuncType< R >::DeserializeFuncType (R * message)
+
+inline
+
+ +
+
+

Member Function Documentation

+ +
+
+
+template<class R >
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
Status grpc::CallOpGenericRecvMessageHelper::DeserializeFuncType< R >::Deserialize (grpc_byte_buffer * buf,
int max_message_size 
)
+
+inlinevirtual
+
+
+
The documentation for this class was generated from the following file:
    +
  • include/grpc++/impl/call.h
  • +
+
+ + + + diff --git a/doc/ref/c++/html/classgrpc_1_1_call_op_recv_initial_metadata.html b/doc/ref/c++/html/classgrpc_1_1_call_op_recv_initial_metadata.html new file mode 100644 index 0000000000..a414064782 --- /dev/null +++ b/doc/ref/c++/html/classgrpc_1_1_call_op_recv_initial_metadata.html @@ -0,0 +1,242 @@ + + + + + + +GRPC C++: grpc::CallOpRecvInitialMetadata Class Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc::CallOpRecvInitialMetadata Class Reference
+
+
+ +

#include <call.h>

+ + + + + + +

+Public Member Functions

 CallOpRecvInitialMetadata ()
 
void RecvInitialMetadata (ClientContext *context)
 
+ + + + + +

+Protected Member Functions

void AddOp (grpc_op *ops, size_t *nops)
 
void FinishOp (bool *status, int max_message_size)
 
+

Constructor & Destructor Documentation

+ +
+
+ + + + + +
+ + + + + + + +
grpc::CallOpRecvInitialMetadata::CallOpRecvInitialMetadata ()
+
+inline
+
+ +
+
+

Member Function Documentation

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void grpc::CallOpRecvInitialMetadata::AddOp (grpc_op * ops,
size_t * nops 
)
+
+inlineprotected
+
+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void grpc::CallOpRecvInitialMetadata::FinishOp (bool * status,
int max_message_size 
)
+
+inlineprotected
+
+ +
+
+ +
+
+ + + + + +
+ + + + + + + + +
void grpc::CallOpRecvInitialMetadata::RecvInitialMetadata (ClientContextcontext)
+
+inline
+
+ +
+
+
The documentation for this class was generated from the following file:
    +
  • include/grpc++/impl/call.h
  • +
+
+ + + + diff --git a/doc/ref/c++/html/classgrpc_1_1_call_op_recv_message.html b/doc/ref/c++/html/classgrpc_1_1_call_op_recv_message.html new file mode 100644 index 0000000000..65e392c880 --- /dev/null +++ b/doc/ref/c++/html/classgrpc_1_1_call_op_recv_message.html @@ -0,0 +1,271 @@ + + + + + + +GRPC C++: grpc::CallOpRecvMessage< R > Class Template Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc::CallOpRecvMessage< R > Class Template Reference
+
+
+ +

#include <call.h>

+ + + + + + +

+Public Member Functions

 CallOpRecvMessage ()
 
void RecvMessage (R *message)
 
+ + + +

+Data Fields

bool got_message
 
+ + + + + +

+Protected Member Functions

void AddOp (grpc_op *ops, size_t *nops)
 
void FinishOp (bool *status, int max_message_size)
 
+

Constructor & Destructor Documentation

+ +
+
+
+template<class R >
+ + + + + +
+ + + + + + + +
grpc::CallOpRecvMessage< R >::CallOpRecvMessage ()
+
+inline
+
+ +
+
+

Member Function Documentation

+ +
+
+
+template<class R >
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void grpc::CallOpRecvMessage< R >::AddOp (grpc_op * ops,
size_t * nops 
)
+
+inlineprotected
+
+ +
+
+ +
+
+
+template<class R >
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void grpc::CallOpRecvMessage< R >::FinishOp (bool * status,
int max_message_size 
)
+
+inlineprotected
+
+ +
+
+ +
+
+
+template<class R >
+ + + + + +
+ + + + + + + + +
void grpc::CallOpRecvMessage< R >::RecvMessage (R * message)
+
+inline
+
+ +
+
+

Field Documentation

+ +
+
+
+template<class R >
+ + + + +
bool grpc::CallOpRecvMessage< R >::got_message
+
+ +
+
+
The documentation for this class was generated from the following file:
    +
  • include/grpc++/impl/call.h
  • +
+
+ + + + diff --git a/doc/ref/c++/html/classgrpc_1_1_call_op_send_initial_metadata.html b/doc/ref/c++/html/classgrpc_1_1_call_op_send_initial_metadata.html new file mode 100644 index 0000000000..2aaaefbf70 --- /dev/null +++ b/doc/ref/c++/html/classgrpc_1_1_call_op_send_initial_metadata.html @@ -0,0 +1,313 @@ + + + + + + +GRPC C++: grpc::CallOpSendInitialMetadata Class Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc::CallOpSendInitialMetadata Class Reference
+
+
+ +

#include <call.h>

+ + + + + + +

+Public Member Functions

 CallOpSendInitialMetadata ()
 
void SendInitialMetadata (const std::multimap< grpc::string, grpc::string > &metadata)
 
+ + + + + +

+Protected Member Functions

void AddOp (grpc_op *ops, size_t *nops)
 
void FinishOp (bool *status, int max_message_size)
 
+ + + + + + + +

+Protected Attributes

bool send_
 
size_t initial_metadata_count_
 
grpc_metadata * initial_metadata_
 
+

Constructor & Destructor Documentation

+ +
+
+ + + + + +
+ + + + + + + +
grpc::CallOpSendInitialMetadata::CallOpSendInitialMetadata ()
+
+inline
+
+ +
+
+

Member Function Documentation

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void grpc::CallOpSendInitialMetadata::AddOp (grpc_op * ops,
size_t * nops 
)
+
+inlineprotected
+
+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void grpc::CallOpSendInitialMetadata::FinishOp (bool * status,
int max_message_size 
)
+
+inlineprotected
+
+ +
+
+ +
+
+ + + + + +
+ + + + + + + + +
void grpc::CallOpSendInitialMetadata::SendInitialMetadata (const std::multimap< grpc::string, grpc::string > & metadata)
+
+inline
+
+ +
+
+

Field Documentation

+ +
+
+ + + + + +
+ + + + +
grpc_metadata* grpc::CallOpSendInitialMetadata::initial_metadata_
+
+protected
+
+ +
+
+ +
+
+ + + + + +
+ + + + +
size_t grpc::CallOpSendInitialMetadata::initial_metadata_count_
+
+protected
+
+ +
+
+ +
+
+ + + + + +
+ + + + +
bool grpc::CallOpSendInitialMetadata::send_
+
+protected
+
+ +
+
+
The documentation for this class was generated from the following file:
    +
  • include/grpc++/impl/call.h
  • +
+
+ + + + diff --git a/doc/ref/c++/html/classgrpc_1_1_call_op_send_message.html b/doc/ref/c++/html/classgrpc_1_1_call_op_send_message.html new file mode 100644 index 0000000000..7c0b768f28 --- /dev/null +++ b/doc/ref/c++/html/classgrpc_1_1_call_op_send_message.html @@ -0,0 +1,272 @@ + + + + + + +GRPC C++: grpc::CallOpSendMessage Class Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc::CallOpSendMessage Class Reference
+
+
+ +

#include <call.h>

+ + + + + + + + + + + +

+Public Member Functions

 CallOpSendMessage ()
 
template<class M >
Status SendMessage (const M &message, const WriteOptions &options) GRPC_MUST_USE_RESULT
 Send message using options for the write. More...
 
template<class M >
Status SendMessage (const M &message) GRPC_MUST_USE_RESULT
 
+ + + + + +

+Protected Member Functions

void AddOp (grpc_op *ops, size_t *nops)
 
void FinishOp (bool *status, int max_message_size)
 
+

Constructor & Destructor Documentation

+ +
+
+ + + + + +
+ + + + + + + +
grpc::CallOpSendMessage::CallOpSendMessage ()
+
+inline
+
+ +
+
+

Member Function Documentation

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void grpc::CallOpSendMessage::AddOp (grpc_op * ops,
size_t * nops 
)
+
+inlineprotected
+
+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void grpc::CallOpSendMessage::FinishOp (bool * status,
int max_message_size 
)
+
+inlineprotected
+
+ +
+
+ +
+
+
+template<class M >
+ + + + + + + + + + + + + + + + + + +
Status grpc::CallOpSendMessage::SendMessage (const M & message,
const WriteOptionsoptions 
)
+
+ +

Send message using options for the write.

+

The options are cleared after use.

+ +
+
+ +
+
+
+template<class M >
+ + + + + + + + +
Status grpc::CallOpSendMessage::SendMessage (const M & message)
+
+ +
+
+
The documentation for this class was generated from the following file:
    +
  • include/grpc++/impl/call.h
  • +
+
+ + + + diff --git a/doc/ref/c++/html/classgrpc_1_1_call_op_server_send_status.html b/doc/ref/c++/html/classgrpc_1_1_call_op_server_send_status.html new file mode 100644 index 0000000000..5496c64df3 --- /dev/null +++ b/doc/ref/c++/html/classgrpc_1_1_call_op_server_send_status.html @@ -0,0 +1,252 @@ + + + + + + +GRPC C++: grpc::CallOpServerSendStatus Class Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc::CallOpServerSendStatus Class Reference
+
+
+ +

#include <call.h>

+ + + + + + +

+Public Member Functions

 CallOpServerSendStatus ()
 
void ServerSendStatus (const std::multimap< grpc::string, grpc::string > &trailing_metadata, const Status &status)
 
+ + + + + +

+Protected Member Functions

void AddOp (grpc_op *ops, size_t *nops)
 
void FinishOp (bool *status, int max_message_size)
 
+

Constructor & Destructor Documentation

+ +
+
+ + + + + +
+ + + + + + + +
grpc::CallOpServerSendStatus::CallOpServerSendStatus ()
+
+inline
+
+ +
+
+

Member Function Documentation

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void grpc::CallOpServerSendStatus::AddOp (grpc_op * ops,
size_t * nops 
)
+
+inlineprotected
+
+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void grpc::CallOpServerSendStatus::FinishOp (bool * status,
int max_message_size 
)
+
+inlineprotected
+
+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void grpc::CallOpServerSendStatus::ServerSendStatus (const std::multimap< grpc::string, grpc::string > & trailing_metadata,
const Statusstatus 
)
+
+inline
+
+ +
+
+
The documentation for this class was generated from the following file:
    +
  • include/grpc++/impl/call.h
  • +
+
+ + + + diff --git a/doc/ref/c++/html/classgrpc_1_1_call_op_set.html b/doc/ref/c++/html/classgrpc_1_1_call_op_set.html new file mode 100644 index 0000000000..b69add7f05 --- /dev/null +++ b/doc/ref/c++/html/classgrpc_1_1_call_op_set.html @@ -0,0 +1,278 @@ + + + + + + +GRPC C++: grpc::CallOpSet< Op1, Op2, Op3, Op4, Op5, Op6 > Class Template Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc::CallOpSet< Op1, Op2, Op3, Op4, Op5, Op6 > Class Template Reference
+
+
+ +

Primary implementaiton of CallOpSetInterface. + More...

+ +

#include <call.h>

+ + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 CallOpSet ()
 
void FillOps (grpc_op *ops, size_t *nops) GRPC_OVERRIDE
 Fills in grpc_op, starting from ops[*nops] and moving upwards. More...
 
bool FinalizeResult (void **tag, bool *status) GRPC_OVERRIDE
 
void set_output_tag (void *return_tag)
 
- Public Member Functions inherited from grpc::CallOpSetInterface
 CallOpSetInterface ()
 
void set_max_message_size (int max_message_size)
 
- Public Member Functions inherited from grpc::CompletionQueueTag
virtual ~CompletionQueueTag ()
 
+ + + + +

+Additional Inherited Members

- Protected Attributes inherited from grpc::CallOpSetInterface
int max_message_size_
 
+

Detailed Description

+

template<class Op1 = CallNoOp<1>, class Op2 = CallNoOp<2>, class Op3 = CallNoOp<3>, class Op4 = CallNoOp<4>, class Op5 = CallNoOp<5>, class Op6 = CallNoOp<6>>
+class grpc::CallOpSet< Op1, Op2, Op3, Op4, Op5, Op6 >

+ +

Primary implementaiton of CallOpSetInterface.

+

Since we cannot use variadic templates, we declare slots up to the maximum count of ops we'll need in a set. We leverage the empty base class optimization to slim this class (especially when there are many unused slots used). To avoid duplicate base classes, the template parmeter for CallNoOp is varied by argument position.

+

Constructor & Destructor Documentation

+ +
+
+
+template<class Op1 = CallNoOp<1>, class Op2 = CallNoOp<2>, class Op3 = CallNoOp<3>, class Op4 = CallNoOp<4>, class Op5 = CallNoOp<5>, class Op6 = CallNoOp<6>>
+ + + + + +
+ + + + + + + +
grpc::CallOpSet< Op1, Op2, Op3, Op4, Op5, Op6 >::CallOpSet ()
+
+inline
+
+ +
+
+

Member Function Documentation

+ +
+
+
+template<class Op1 = CallNoOp<1>, class Op2 = CallNoOp<2>, class Op3 = CallNoOp<3>, class Op4 = CallNoOp<4>, class Op5 = CallNoOp<5>, class Op6 = CallNoOp<6>>
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void grpc::CallOpSet< Op1, Op2, Op3, Op4, Op5, Op6 >::FillOps (grpc_op * ops,
size_t * nops 
)
+
+inlinevirtual
+
+ +

Fills in grpc_op, starting from ops[*nops] and moving upwards.

+ +

Implements grpc::CallOpSetInterface.

+ +
+
+ +
+
+
+template<class Op1 = CallNoOp<1>, class Op2 = CallNoOp<2>, class Op3 = CallNoOp<3>, class Op4 = CallNoOp<4>, class Op5 = CallNoOp<5>, class Op6 = CallNoOp<6>>
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
bool grpc::CallOpSet< Op1, Op2, Op3, Op4, Op5, Op6 >::FinalizeResult (void ** tag,
bool * status 
)
+
+inlinevirtual
+
+
+ +
+
+
+template<class Op1 = CallNoOp<1>, class Op2 = CallNoOp<2>, class Op3 = CallNoOp<3>, class Op4 = CallNoOp<4>, class Op5 = CallNoOp<5>, class Op6 = CallNoOp<6>>
+ + + + + +
+ + + + + + + + +
void grpc::CallOpSet< Op1, Op2, Op3, Op4, Op5, Op6 >::set_output_tag (void * return_tag)
+
+inline
+
+ +
+
+
The documentation for this class was generated from the following file:
    +
  • include/grpc++/impl/call.h
  • +
+
+ + + + diff --git a/doc/ref/c++/html/classgrpc_1_1_call_op_set_interface.html b/doc/ref/c++/html/classgrpc_1_1_call_op_set_interface.html new file mode 100644 index 0000000000..ef9c0e7e71 --- /dev/null +++ b/doc/ref/c++/html/classgrpc_1_1_call_op_set_interface.html @@ -0,0 +1,244 @@ + + + + + + +GRPC C++: grpc::CallOpSetInterface Class Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc::CallOpSetInterface Class Referenceabstract
+
+
+ +

An abstract collection of call ops, used to generate the grpc_call_op structure to pass down to the lower layers, and as it is-a CompletionQueueTag, also massages the final completion into the correct form for consumption in the C++ API. + More...

+ +

#include <call.h>

+ + + + + + + + + + + + + + +

+Public Member Functions

 CallOpSetInterface ()
 
virtual void FillOps (grpc_op *ops, size_t *nops)=0
 Fills in grpc_op, starting from ops[*nops] and moving upwards. More...
 
void set_max_message_size (int max_message_size)
 
- Public Member Functions inherited from grpc::CompletionQueueTag
virtual ~CompletionQueueTag ()
 
virtual bool FinalizeResult (void **tag, bool *status)=0
 
+ + + +

+Protected Attributes

int max_message_size_
 
+

Detailed Description

+

An abstract collection of call ops, used to generate the grpc_call_op structure to pass down to the lower layers, and as it is-a CompletionQueueTag, also massages the final completion into the correct form for consumption in the C++ API.

+

Constructor & Destructor Documentation

+ +
+
+ + + + + +
+ + + + + + + +
grpc::CallOpSetInterface::CallOpSetInterface ()
+
+inline
+
+ +
+
+

Member Function Documentation

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
virtual void grpc::CallOpSetInterface::FillOps (grpc_op * ops,
size_t * nops 
)
+
+pure virtual
+
+
+ +
+
+ + + + + +
+ + + + + + + + +
void grpc::CallOpSetInterface::set_max_message_size (int max_message_size)
+
+inline
+
+ +
+
+

Field Documentation

+ +
+
+ + + + + +
+ + + + +
int grpc::CallOpSetInterface::max_message_size_
+
+protected
+
+ +
+
+
The documentation for this class was generated from the following file:
    +
  • include/grpc++/impl/call.h
  • +
+
+ + + + diff --git a/doc/ref/c++/html/classgrpc_1_1_channel_arguments.html b/doc/ref/c++/html/classgrpc_1_1_channel_arguments.html new file mode 100644 index 0000000000..1dfb397f55 --- /dev/null +++ b/doc/ref/c++/html/classgrpc_1_1_channel_arguments.html @@ -0,0 +1,386 @@ + + + + + + +GRPC C++: grpc::ChannelArguments Class Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc::ChannelArguments Class Reference
+
+
+ +

#include <channel_arguments.h>

+ + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 ChannelArguments ()
 
 ~ChannelArguments ()
 
 ChannelArguments (const ChannelArguments &other)
 
ChannelArgumentsoperator= (ChannelArguments other)
 
void Swap (ChannelArguments &other)
 
void SetSslTargetNameOverride (const grpc::string &name)
 
void SetCompressionAlgorithm (grpc_compression_algorithm algorithm)
 
void SetInt (const grpc::string &key, int value)
 
void SetString (const grpc::string &key, const grpc::string &value)
 
void SetChannelArgs (grpc_channel_args *channel_args) const
 
+ + + + + +

+Friends

class SecureCredentials
 
class testing::ChannelArgumentsTest
 
+

Constructor & Destructor Documentation

+ +
+
+ + + + + +
+ + + + + + + +
grpc::ChannelArguments::ChannelArguments ()
+
+inline
+
+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
grpc::ChannelArguments::~ChannelArguments ()
+
+inline
+
+ +
+
+ +
+
+ + + + + + + + +
grpc::ChannelArguments::ChannelArguments (const ChannelArgumentsother)
+
+ +
+
+

Member Function Documentation

+ +
+
+ + + + + +
+ + + + + + + + +
ChannelArguments& grpc::ChannelArguments::operator= (ChannelArguments other)
+
+inline
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc::ChannelArguments::SetChannelArgs (grpc_channel_args * channel_args) const
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc::ChannelArguments::SetCompressionAlgorithm (grpc_compression_algorithm algorithm)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void grpc::ChannelArguments::SetInt (const grpc::stringkey,
int value 
)
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc::ChannelArguments::SetSslTargetNameOverride (const grpc::stringname)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void grpc::ChannelArguments::SetString (const grpc::stringkey,
const grpc::stringvalue 
)
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc::ChannelArguments::Swap (ChannelArgumentsother)
+
+ +
+
+

Friends And Related Function Documentation

+ +
+
+ + + + + +
+ + + + +
friend class SecureCredentials
+
+friend
+
+ +
+
+ +
+
+ + + + + +
+ + + + +
friend class testing::ChannelArgumentsTest
+
+friend
+
+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/doc/ref/c++/html/classgrpc_1_1_channel_interface.html b/doc/ref/c++/html/classgrpc_1_1_channel_interface.html new file mode 100644 index 0000000000..d4806625ed --- /dev/null +++ b/doc/ref/c++/html/classgrpc_1_1_channel_interface.html @@ -0,0 +1,213 @@ + + + + + + +GRPC C++: grpc::ChannelInterface Class Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc::ChannelInterface Class Referenceabstract
+
+
+ +

#include <channel_interface.h>

+ + + + + + + + + + + + + +

+Public Member Functions

virtual ~ChannelInterface ()
 
virtual void * RegisterMethod (const char *method_name)=0
 
virtual Call CreateCall (const RpcMethod &method, ClientContext *context, CompletionQueue *cq)=0
 
- Public Member Functions inherited from grpc::CallHook
virtual ~CallHook ()
 
virtual void PerformOpsOnCall (CallOpSetInterface *ops, Call *call)=0
 
+

Constructor & Destructor Documentation

+ +
+
+ + + + + +
+ + + + + + + +
virtual grpc::ChannelInterface::~ChannelInterface ()
+
+inlinevirtual
+
+ +
+
+

Member Function Documentation

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
virtual Call grpc::ChannelInterface::CreateCall (const RpcMethodmethod,
ClientContextcontext,
CompletionQueuecq 
)
+
+pure virtual
+
+ +
+
+ +
+
+ + + + + +
+ + + + + + + + +
virtual void* grpc::ChannelInterface::RegisterMethod (const char * method_name)
+
+pure virtual
+
+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/doc/ref/c++/html/classgrpc_1_1_client_async_reader.html b/doc/ref/c++/html/classgrpc_1_1_client_async_reader.html new file mode 100644 index 0000000000..913fc0854c --- /dev/null +++ b/doc/ref/c++/html/classgrpc_1_1_client_async_reader.html @@ -0,0 +1,297 @@ + + + + + + +GRPC C++: grpc::ClientAsyncReader< R > Class Template Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc::ClientAsyncReader< R > Class Template Reference
+
+
+ +

#include <client_context.h>

+ + + + + + + + + + + + + + + + + +

+Public Member Functions

template<class W >
 ClientAsyncReader (ChannelInterface *channel, CompletionQueue *cq, const RpcMethod &method, ClientContext *context, const W &request, void *tag)
 
void ReadInitialMetadata (void *tag) GRPC_OVERRIDE
 
void Read (R *msg, void *tag) GRPC_OVERRIDE
 
void Finish (Status *status, void *tag) GRPC_OVERRIDE
 
- Public Member Functions inherited from grpc::ClientAsyncStreamingInterface
virtual ~ClientAsyncStreamingInterface ()
 
- Public Member Functions inherited from grpc::AsyncReaderInterface< R >
virtual ~AsyncReaderInterface ()
 
+

Constructor & Destructor Documentation

+ +
+
+
+template<class R >
+
+template<class W >
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
grpc::ClientAsyncReader< R >::ClientAsyncReader (ChannelInterfacechannel,
CompletionQueuecq,
const RpcMethodmethod,
ClientContextcontext,
const W & request,
void * tag 
)
+
+inline
+
+ +
+
+

Member Function Documentation

+ +
+
+
+template<class R >
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void grpc::ClientAsyncReader< R >::Finish (Statusstatus,
void * tag 
)
+
+inlinevirtual
+
+
+ +
+
+
+template<class R >
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void grpc::ClientAsyncReader< R >::Read (R * msg,
void * tag 
)
+
+inlinevirtual
+
+
+ +
+
+
+template<class R >
+ + + + + +
+ + + + + + + + +
void grpc::ClientAsyncReader< R >::ReadInitialMetadata (void * tag)
+
+inlinevirtual
+
+
+
The documentation for this class was generated from the following files: +
+ + + + diff --git a/doc/ref/c++/html/classgrpc_1_1_client_async_reader_interface.html b/doc/ref/c++/html/classgrpc_1_1_client_async_reader_interface.html new file mode 100644 index 0000000000..43bb272e30 --- /dev/null +++ b/doc/ref/c++/html/classgrpc_1_1_client_async_reader_interface.html @@ -0,0 +1,123 @@ + + + + + + +GRPC C++: grpc::ClientAsyncReaderInterface< R > Class Template Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
grpc::ClientAsyncReaderInterface< R > Class Template Reference
+
+
+ +

#include <stream.h>

+ + + + + + + + + + + + + + +

+Additional Inherited Members

- Public Member Functions inherited from grpc::ClientAsyncStreamingInterface
virtual ~ClientAsyncStreamingInterface ()
 
virtual void ReadInitialMetadata (void *tag)=0
 
virtual void Finish (Status *status, void *tag)=0
 
- Public Member Functions inherited from grpc::AsyncReaderInterface< R >
virtual ~AsyncReaderInterface ()
 
virtual void Read (R *msg, void *tag)=0
 
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/doc/ref/c++/html/classgrpc_1_1_client_async_reader_writer.html b/doc/ref/c++/html/classgrpc_1_1_client_async_reader_writer.html new file mode 100644 index 0000000000..1cfe1c0301 --- /dev/null +++ b/doc/ref/c++/html/classgrpc_1_1_client_async_reader_writer.html @@ -0,0 +1,361 @@ + + + + + + +GRPC C++: grpc::ClientAsyncReaderWriter< R, W > Class Template Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc::ClientAsyncReaderWriter< R, W > Class Template Reference
+
+
+ +

#include <client_context.h>

+ + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 ClientAsyncReaderWriter (ChannelInterface *channel, CompletionQueue *cq, const RpcMethod &method, ClientContext *context, void *tag)
 
void ReadInitialMetadata (void *tag) GRPC_OVERRIDE
 
void Read (R *msg, void *tag) GRPC_OVERRIDE
 
void Write (const W &msg, void *tag) GRPC_OVERRIDE
 
void WritesDone (void *tag) GRPC_OVERRIDE
 
void Finish (Status *status, void *tag) GRPC_OVERRIDE
 
- Public Member Functions inherited from grpc::ClientAsyncStreamingInterface
virtual ~ClientAsyncStreamingInterface ()
 
- Public Member Functions inherited from grpc::AsyncWriterInterface< W >
virtual ~AsyncWriterInterface ()
 
- Public Member Functions inherited from grpc::AsyncReaderInterface< R >
virtual ~AsyncReaderInterface ()
 
+

Constructor & Destructor Documentation

+ +
+
+
+template<class R , class W >
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
grpc::ClientAsyncReaderWriter< R, W >::ClientAsyncReaderWriter (ChannelInterfacechannel,
CompletionQueuecq,
const RpcMethodmethod,
ClientContextcontext,
void * tag 
)
+
+inline
+
+ +
+
+

Member Function Documentation

+ +
+
+
+template<class R , class W >
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void grpc::ClientAsyncReaderWriter< R, W >::Finish (Statusstatus,
void * tag 
)
+
+inlinevirtual
+
+
+ +
+
+
+template<class R , class W >
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void grpc::ClientAsyncReaderWriter< R, W >::Read (R * msg,
void * tag 
)
+
+inlinevirtual
+
+
+ +
+
+
+template<class R , class W >
+ + + + + +
+ + + + + + + + +
void grpc::ClientAsyncReaderWriter< R, W >::ReadInitialMetadata (void * tag)
+
+inlinevirtual
+
+
+ +
+
+
+template<class R , class W >
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void grpc::ClientAsyncReaderWriter< R, W >::Write (const W & msg,
void * tag 
)
+
+inlinevirtual
+
+
+ +
+
+
+template<class R , class W >
+ + + + + +
+ + + + + + + + +
void grpc::ClientAsyncReaderWriter< R, W >::WritesDone (void * tag)
+
+inlinevirtual
+
+
+
The documentation for this class was generated from the following files: +
+ + + + diff --git a/doc/ref/c++/html/classgrpc_1_1_client_async_reader_writer_interface.html b/doc/ref/c++/html/classgrpc_1_1_client_async_reader_writer_interface.html new file mode 100644 index 0000000000..4670108288 --- /dev/null +++ b/doc/ref/c++/html/classgrpc_1_1_client_async_reader_writer_interface.html @@ -0,0 +1,161 @@ + + + + + + +GRPC C++: grpc::ClientAsyncReaderWriterInterface< W, R > Class Template Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc::ClientAsyncReaderWriterInterface< W, R > Class Template Referenceabstract
+
+
+ +

#include <stream.h>

+ + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

virtual void WritesDone (void *tag)=0
 
- Public Member Functions inherited from grpc::ClientAsyncStreamingInterface
virtual ~ClientAsyncStreamingInterface ()
 
virtual void ReadInitialMetadata (void *tag)=0
 
virtual void Finish (Status *status, void *tag)=0
 
- Public Member Functions inherited from grpc::AsyncWriterInterface< W >
virtual ~AsyncWriterInterface ()
 
virtual void Write (const W &msg, void *tag)=0
 
- Public Member Functions inherited from grpc::AsyncReaderInterface< R >
virtual ~AsyncReaderInterface ()
 
virtual void Read (R *msg, void *tag)=0
 
+

Member Function Documentation

+ +
+
+
+template<class W , class R >
+ + + + + +
+ + + + + + + + +
virtual void grpc::ClientAsyncReaderWriterInterface< W, R >::WritesDone (void * tag)
+
+pure virtual
+
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/doc/ref/c++/html/classgrpc_1_1_client_async_response_reader.html b/doc/ref/c++/html/classgrpc_1_1_client_async_response_reader.html new file mode 100644 index 0000000000..30d878dc45 --- /dev/null +++ b/doc/ref/c++/html/classgrpc_1_1_client_async_response_reader.html @@ -0,0 +1,253 @@ + + + + + + +GRPC C++: grpc::ClientAsyncResponseReader< R > Class Template Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc::ClientAsyncResponseReader< R > Class Template Reference
+
+
+ +

#include <async_unary_call.h>

+ + + + + + + + + + + + +

+Public Member Functions

template<class W >
 ClientAsyncResponseReader (ChannelInterface *channel, CompletionQueue *cq, const RpcMethod &method, ClientContext *context, const W &request)
 
void ReadInitialMetadata (void *tag)
 
void Finish (R *msg, Status *status, void *tag)
 
- Public Member Functions inherited from grpc::ClientAsyncResponseReaderInterface< R >
virtual ~ClientAsyncResponseReaderInterface ()
 
+

Constructor & Destructor Documentation

+ +
+
+
+template<class R >
+
+template<class W >
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
grpc::ClientAsyncResponseReader< R >::ClientAsyncResponseReader (ChannelInterfacechannel,
CompletionQueuecq,
const RpcMethodmethod,
ClientContextcontext,
const W & request 
)
+
+inline
+
+ +
+
+

Member Function Documentation

+ +
+
+
+template<class R >
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
void grpc::ClientAsyncResponseReader< R >::Finish (R * msg,
Statusstatus,
void * tag 
)
+
+inlinevirtual
+
+
+ +
+
+
+template<class R >
+ + + + + +
+ + + + + + + + +
void grpc::ClientAsyncResponseReader< R >::ReadInitialMetadata (void * tag)
+
+inlinevirtual
+
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/doc/ref/c++/html/classgrpc_1_1_client_async_response_reader_interface.html b/doc/ref/c++/html/classgrpc_1_1_client_async_response_reader_interface.html new file mode 100644 index 0000000000..a74ac1ee6c --- /dev/null +++ b/doc/ref/c++/html/classgrpc_1_1_client_async_response_reader_interface.html @@ -0,0 +1,218 @@ + + + + + + +GRPC C++: grpc::ClientAsyncResponseReaderInterface< R > Class Template Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc::ClientAsyncResponseReaderInterface< R > Class Template Referenceabstract
+
+
+ +

#include <async_unary_call.h>

+ + + + + + + + +

+Public Member Functions

virtual ~ClientAsyncResponseReaderInterface ()
 
virtual void ReadInitialMetadata (void *tag)=0
 
virtual void Finish (R *msg, Status *status, void *tag)=0
 
+

Constructor & Destructor Documentation

+ +
+
+
+template<class R >
+ + + + + +
+ + + + + + + +
virtual grpc::ClientAsyncResponseReaderInterface< R >::~ClientAsyncResponseReaderInterface ()
+
+inlinevirtual
+
+ +
+
+

Member Function Documentation

+ +
+
+
+template<class R >
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
virtual void grpc::ClientAsyncResponseReaderInterface< R >::Finish (R * msg,
Statusstatus,
void * tag 
)
+
+pure virtual
+
+ +

Implemented in grpc::ClientAsyncResponseReader< R >.

+ +
+
+ +
+
+
+template<class R >
+ + + + + +
+ + + + + + + + +
virtual void grpc::ClientAsyncResponseReaderInterface< R >::ReadInitialMetadata (void * tag)
+
+pure virtual
+
+ +

Implemented in grpc::ClientAsyncResponseReader< R >.

+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/doc/ref/c++/html/classgrpc_1_1_client_async_streaming_interface.html b/doc/ref/c++/html/classgrpc_1_1_client_async_streaming_interface.html new file mode 100644 index 0000000000..6e4d274449 --- /dev/null +++ b/doc/ref/c++/html/classgrpc_1_1_client_async_streaming_interface.html @@ -0,0 +1,206 @@ + + + + + + +GRPC C++: grpc::ClientAsyncStreamingInterface Class Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc::ClientAsyncStreamingInterface Class Referenceabstract
+
+
+ +

#include <stream.h>

+ + + + + + + + +

+Public Member Functions

virtual ~ClientAsyncStreamingInterface ()
 
virtual void ReadInitialMetadata (void *tag)=0
 
virtual void Finish (Status *status, void *tag)=0
 
+

Constructor & Destructor Documentation

+ +
+
+ + + + + +
+ + + + + + + +
virtual grpc::ClientAsyncStreamingInterface::~ClientAsyncStreamingInterface ()
+
+inlinevirtual
+
+ +
+
+

Member Function Documentation

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
virtual void grpc::ClientAsyncStreamingInterface::Finish (Statusstatus,
void * tag 
)
+
+pure virtual
+
+
+ +
+
+ + + + + +
+ + + + + + + + +
virtual void grpc::ClientAsyncStreamingInterface::ReadInitialMetadata (void * tag)
+
+pure virtual
+
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/doc/ref/c++/html/classgrpc_1_1_client_async_writer.html b/doc/ref/c++/html/classgrpc_1_1_client_async_writer.html new file mode 100644 index 0000000000..2e26fafeec --- /dev/null +++ b/doc/ref/c++/html/classgrpc_1_1_client_async_writer.html @@ -0,0 +1,327 @@ + + + + + + +GRPC C++: grpc::ClientAsyncWriter< W > Class Template Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc::ClientAsyncWriter< W > Class Template Reference
+
+
+ +

#include <client_context.h>

+ + + + + + + + + + + + + + + + + + + +

+Public Member Functions

template<class R >
 ClientAsyncWriter (ChannelInterface *channel, CompletionQueue *cq, const RpcMethod &method, ClientContext *context, R *response, void *tag)
 
void ReadInitialMetadata (void *tag) GRPC_OVERRIDE
 
void Write (const W &msg, void *tag) GRPC_OVERRIDE
 
void WritesDone (void *tag) GRPC_OVERRIDE
 
void Finish (Status *status, void *tag) GRPC_OVERRIDE
 
- Public Member Functions inherited from grpc::ClientAsyncStreamingInterface
virtual ~ClientAsyncStreamingInterface ()
 
- Public Member Functions inherited from grpc::AsyncWriterInterface< W >
virtual ~AsyncWriterInterface ()
 
+

Constructor & Destructor Documentation

+ +
+
+
+template<class W >
+
+template<class R >
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
grpc::ClientAsyncWriter< W >::ClientAsyncWriter (ChannelInterfacechannel,
CompletionQueuecq,
const RpcMethodmethod,
ClientContextcontext,
R * response,
void * tag 
)
+
+inline
+
+ +
+
+

Member Function Documentation

+ +
+
+
+template<class W >
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void grpc::ClientAsyncWriter< W >::Finish (Statusstatus,
void * tag 
)
+
+inlinevirtual
+
+
+ +
+
+
+template<class W >
+ + + + + +
+ + + + + + + + +
void grpc::ClientAsyncWriter< W >::ReadInitialMetadata (void * tag)
+
+inlinevirtual
+
+
+ +
+
+
+template<class W >
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void grpc::ClientAsyncWriter< W >::Write (const W & msg,
void * tag 
)
+
+inlinevirtual
+
+
+ +
+
+
+template<class W >
+ + + + + +
+ + + + + + + + +
void grpc::ClientAsyncWriter< W >::WritesDone (void * tag)
+
+inlinevirtual
+
+
+
The documentation for this class was generated from the following files: +
+ + + + diff --git a/doc/ref/c++/html/classgrpc_1_1_client_async_writer_interface.html b/doc/ref/c++/html/classgrpc_1_1_client_async_writer_interface.html new file mode 100644 index 0000000000..cef23bd94d --- /dev/null +++ b/doc/ref/c++/html/classgrpc_1_1_client_async_writer_interface.html @@ -0,0 +1,156 @@ + + + + + + +GRPC C++: grpc::ClientAsyncWriterInterface< W > Class Template Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc::ClientAsyncWriterInterface< W > Class Template Referenceabstract
+
+
+ +

#include <stream.h>

+ + + + + + + + + + + + + + + + +

+Public Member Functions

virtual void WritesDone (void *tag)=0
 
- Public Member Functions inherited from grpc::ClientAsyncStreamingInterface
virtual ~ClientAsyncStreamingInterface ()
 
virtual void ReadInitialMetadata (void *tag)=0
 
virtual void Finish (Status *status, void *tag)=0
 
- Public Member Functions inherited from grpc::AsyncWriterInterface< W >
virtual ~AsyncWriterInterface ()
 
virtual void Write (const W &msg, void *tag)=0
 
+

Member Function Documentation

+ +
+
+
+template<class W >
+ + + + + +
+ + + + + + + + +
virtual void grpc::ClientAsyncWriterInterface< W >::WritesDone (void * tag)
+
+pure virtual
+
+ +

Implemented in grpc::ClientAsyncWriter< W >.

+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/doc/ref/c++/html/classgrpc_1_1_client_context.html b/doc/ref/c++/html/classgrpc_1_1_client_context.html new file mode 100644 index 0000000000..87e5a19732 --- /dev/null +++ b/doc/ref/c++/html/classgrpc_1_1_client_context.html @@ -0,0 +1,809 @@ + + + + + + +GRPC C++: grpc::ClientContext Class Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc::ClientContext Class Reference
+
+
+ +

#include <client_context.h>

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 ClientContext ()
 
 ~ClientContext ()
 
void AddMetadata (const grpc::string &meta_key, const grpc::string &meta_value)
 
const std::multimap
+< grpc::string, grpc::string > & 
GetServerInitialMetadata ()
 
const std::multimap
+< grpc::string, grpc::string > & 
GetServerTrailingMetadata ()
 
template<typename T >
void set_deadline (const T &deadline)
 
std::chrono::system_clock::time_point deadline ()
 
gpr_timespec raw_deadline ()
 
void set_authority (const grpc::string &authority)
 
void set_credentials (const std::shared_ptr< Credentials > &creds)
 
grpc_compression_algorithm compression_algorithm () const
 
void set_compression_algorithm (grpc_compression_algorithm algorithm)
 
std::shared_ptr< const
+AuthContext
auth_context () const
 
grpc::string peer () const
 
void set_census_context (struct census_context *ccp)
 
struct census_context * census_context () const
 
void TryCancel ()
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Friends

class CallOpClientRecvStatus
 
class CallOpRecvInitialMetadata
 
class Channel
 
template<class R >
class ::grpc::ClientReader
 
template<class W >
class ::grpc::ClientWriter
 
template<class R , class W >
class ::grpc::ClientReaderWriter
 
template<class R >
class ::grpc::ClientAsyncReader
 
template<class W >
class ::grpc::ClientAsyncWriter
 
template<class R , class W >
class ::grpc::ClientAsyncReaderWriter
 
template<class R >
class ::grpc::ClientAsyncResponseReader
 
template<class InputMessage , class OutputMessage >
Status BlockingUnaryCall (ChannelInterface *channel, const RpcMethod &method, ClientContext *context, const InputMessage &request, OutputMessage *result)
 
+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + +
grpc::ClientContext::ClientContext ()
+
+ +
+
+ +
+
+ + + + + + + +
grpc::ClientContext::~ClientContext ()
+
+ +
+
+

Member Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
void grpc::ClientContext::AddMetadata (const grpc::stringmeta_key,
const grpc::stringmeta_value 
)
+
+ +
+
+ +
+
+ + + + + + + +
std::shared_ptr<const AuthContext> grpc::ClientContext::auth_context () const
+
+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
struct census_context* grpc::ClientContext::census_context () const
+
+inline
+
+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
grpc_compression_algorithm grpc::ClientContext::compression_algorithm () const
+
+inline
+
+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
std::chrono::system_clock::time_point grpc::ClientContext::deadline ()
+
+inline
+
+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
const std::multimap<grpc::string, grpc::string>& grpc::ClientContext::GetServerInitialMetadata ()
+
+inline
+
+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
const std::multimap<grpc::string, grpc::string>& grpc::ClientContext::GetServerTrailingMetadata ()
+
+inline
+
+ +
+
+ +
+
+ + + + + + + +
grpc::string grpc::ClientContext::peer () const
+
+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
gpr_timespec grpc::ClientContext::raw_deadline ()
+
+inline
+
+ +
+
+ +
+
+ + + + + +
+ + + + + + + + +
void grpc::ClientContext::set_authority (const grpc::stringauthority)
+
+inline
+
+ +
+
+ +
+
+ + + + + +
+ + + + + + + + +
void grpc::ClientContext::set_census_context (struct census_contextccp)
+
+inline
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc::ClientContext::set_compression_algorithm (grpc_compression_algorithm algorithm)
+
+ +
+
+ +
+
+ + + + + +
+ + + + + + + + +
void grpc::ClientContext::set_credentials (const std::shared_ptr< Credentials > & creds)
+
+inline
+
+ +
+
+ +
+
+
+template<typename T >
+ + + + + +
+ + + + + + + + +
void grpc::ClientContext::set_deadline (const T & deadline)
+
+inline
+
+ +
+
+ +
+
+ + + + + + + +
void grpc::ClientContext::TryCancel ()
+
+ +
+
+

Friends And Related Function Documentation

+ +
+
+
+template<class R >
+ + + + + +
+ + + + +
friend class ::grpc::ClientAsyncReader
+
+friend
+
+ +
+
+ +
+
+
+template<class R , class W >
+ + + + + +
+ + + + +
friend class ::grpc::ClientAsyncReaderWriter
+
+friend
+
+ +
+
+ +
+
+
+template<class R >
+ + + + + +
+ + + + +
friend class ::grpc::ClientAsyncResponseReader
+
+friend
+
+ +
+
+ +
+
+
+template<class W >
+ + + + + +
+ + + + +
friend class ::grpc::ClientAsyncWriter
+
+friend
+
+ +
+
+ +
+
+
+template<class R >
+ + + + + +
+ + + + +
friend class ::grpc::ClientReader
+
+friend
+
+ +
+
+ +
+
+
+template<class R , class W >
+ + + + + +
+ + + + +
friend class ::grpc::ClientReaderWriter
+
+friend
+
+ +
+
+ +
+
+
+template<class W >
+ + + + + +
+ + + + +
friend class ::grpc::ClientWriter
+
+friend
+
+ +
+
+ +
+
+
+template<class InputMessage , class OutputMessage >
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Status BlockingUnaryCall (ChannelInterfacechannel,
const RpcMethodmethod,
ClientContextcontext,
const InputMessage & request,
OutputMessage * result 
)
+
+friend
+
+ +
+
+ +
+
+ + + + + +
+ + + + +
friend class CallOpClientRecvStatus
+
+friend
+
+ +
+
+ +
+
+ + + + + +
+ + + + +
friend class CallOpRecvInitialMetadata
+
+friend
+
+ +
+
+ +
+
+ + + + + +
+ + + + +
friend class Channel
+
+friend
+
+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/doc/ref/c++/html/classgrpc_1_1_client_reader.html b/doc/ref/c++/html/classgrpc_1_1_client_reader.html new file mode 100644 index 0000000000..4c1f3de00b --- /dev/null +++ b/doc/ref/c++/html/classgrpc_1_1_client_reader.html @@ -0,0 +1,263 @@ + + + + + + +GRPC C++: grpc::ClientReader< R > Class Template Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc::ClientReader< R > Class Template Reference
+
+
+ +

#include <client_context.h>

+ + + + + + + + + + + + + + + + + +

+Public Member Functions

template<class W >
 ClientReader (ChannelInterface *channel, const RpcMethod &method, ClientContext *context, const W &request)
 
void WaitForInitialMetadata ()
 
bool Read (R *msg) GRPC_OVERRIDE
 
Status Finish () GRPC_OVERRIDE
 
- Public Member Functions inherited from grpc::ClientStreamingInterface
virtual ~ClientStreamingInterface ()
 
- Public Member Functions inherited from grpc::ReaderInterface< R >
virtual ~ReaderInterface ()
 
+

Constructor & Destructor Documentation

+ +
+
+
+template<class R >
+
+template<class W >
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
grpc::ClientReader< R >::ClientReader (ChannelInterfacechannel,
const RpcMethodmethod,
ClientContextcontext,
const W & request 
)
+
+inline
+
+ +
+
+

Member Function Documentation

+ +
+
+
+template<class R >
+ + + + + +
+ + + + + + + +
Status grpc::ClientReader< R >::Finish ()
+
+inlinevirtual
+
+ +

Implements grpc::ClientStreamingInterface.

+ +
+
+ +
+
+
+template<class R >
+ + + + + +
+ + + + + + + + +
bool grpc::ClientReader< R >::Read (R * msg)
+
+inlinevirtual
+
+ +

Implements grpc::ReaderInterface< R >.

+ +
+
+ +
+
+
+template<class R >
+ + + + + +
+ + + + + + + +
void grpc::ClientReader< R >::WaitForInitialMetadata ()
+
+inlinevirtual
+
+
+
The documentation for this class was generated from the following files: +
+ + + + diff --git a/doc/ref/c++/html/classgrpc_1_1_client_reader_interface.html b/doc/ref/c++/html/classgrpc_1_1_client_reader_interface.html new file mode 100644 index 0000000000..8821c2cdda --- /dev/null +++ b/doc/ref/c++/html/classgrpc_1_1_client_reader_interface.html @@ -0,0 +1,153 @@ + + + + + + +GRPC C++: grpc::ClientReaderInterface< R > Class Template Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc::ClientReaderInterface< R > Class Template Referenceabstract
+
+
+ +

#include <stream.h>

+ + + + + + + + + + + + + + +

+Public Member Functions

virtual void WaitForInitialMetadata ()=0
 
- Public Member Functions inherited from grpc::ClientStreamingInterface
virtual ~ClientStreamingInterface ()
 
virtual Status Finish ()=0
 
- Public Member Functions inherited from grpc::ReaderInterface< R >
virtual ~ReaderInterface ()
 
virtual bool Read (R *msg)=0
 
+

Member Function Documentation

+ +
+
+
+template<class R >
+ + + + + +
+ + + + + + + +
virtual void grpc::ClientReaderInterface< R >::WaitForInitialMetadata ()
+
+pure virtual
+
+ +

Implemented in grpc::ClientReader< R >.

+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/doc/ref/c++/html/classgrpc_1_1_client_reader_writer.html b/doc/ref/c++/html/classgrpc_1_1_client_reader_writer.html new file mode 100644 index 0000000000..61fd543a0a --- /dev/null +++ b/doc/ref/c++/html/classgrpc_1_1_client_reader_writer.html @@ -0,0 +1,328 @@ + + + + + + +GRPC C++: grpc::ClientReaderWriter< R, W > Class Template Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc::ClientReaderWriter< R, W > Class Template Reference
+
+
+ +

#include <client_context.h>

+ + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 ClientReaderWriter (ChannelInterface *channel, const RpcMethod &method, ClientContext *context)
 
void WaitForInitialMetadata ()
 
bool Read (R *msg) GRPC_OVERRIDE
 
bool Write (const W &msg, const WriteOptions &options) GRPC_OVERRIDE
 
bool WritesDone () GRPC_OVERRIDE
 
Status Finish () GRPC_OVERRIDE
 
- Public Member Functions inherited from grpc::ClientStreamingInterface
virtual ~ClientStreamingInterface ()
 
- Public Member Functions inherited from grpc::WriterInterface< W >
virtual ~WriterInterface ()
 
bool Write (const W &msg)
 
- Public Member Functions inherited from grpc::ReaderInterface< R >
virtual ~ReaderInterface ()
 
+

Constructor & Destructor Documentation

+ +
+
+
+template<class R , class W >
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
grpc::ClientReaderWriter< R, W >::ClientReaderWriter (ChannelInterfacechannel,
const RpcMethodmethod,
ClientContextcontext 
)
+
+inline
+
+ +
+
+

Member Function Documentation

+ +
+
+
+template<class R , class W >
+ + + + + +
+ + + + + + + +
Status grpc::ClientReaderWriter< R, W >::Finish ()
+
+inlinevirtual
+
+ +

Implements grpc::ClientStreamingInterface.

+ +
+
+ +
+
+
+template<class R , class W >
+ + + + + +
+ + + + + + + + +
bool grpc::ClientReaderWriter< R, W >::Read (R * msg)
+
+inlinevirtual
+
+ +

Implements grpc::ReaderInterface< R >.

+ +
+
+ +
+
+
+template<class R , class W >
+ + + + + +
+ + + + + + + +
void grpc::ClientReaderWriter< R, W >::WaitForInitialMetadata ()
+
+inlinevirtual
+
+
+ +
+
+
+template<class R , class W >
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
bool grpc::ClientReaderWriter< R, W >::Write (const W & msg,
const WriteOptionsoptions 
)
+
+inlinevirtual
+
+ +

Implements grpc::WriterInterface< W >.

+ +
+
+ +
+
+
+template<class R , class W >
+ + + + + +
+ + + + + + + +
bool grpc::ClientReaderWriter< R, W >::WritesDone ()
+
+inlinevirtual
+
+
+
The documentation for this class was generated from the following files: +
+ + + + diff --git a/doc/ref/c++/html/classgrpc_1_1_client_reader_writer_interface.html b/doc/ref/c++/html/classgrpc_1_1_client_reader_writer_interface.html new file mode 100644 index 0000000000..48e1ab1c30 --- /dev/null +++ b/doc/ref/c++/html/classgrpc_1_1_client_reader_writer_interface.html @@ -0,0 +1,189 @@ + + + + + + +GRPC C++: grpc::ClientReaderWriterInterface< W, R > Class Template Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc::ClientReaderWriterInterface< W, R > Class Template Referenceabstract
+
+
+ +

#include <stream.h>

+ + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

virtual void WaitForInitialMetadata ()=0
 
virtual bool WritesDone ()=0
 
- Public Member Functions inherited from grpc::ClientStreamingInterface
virtual ~ClientStreamingInterface ()
 
virtual Status Finish ()=0
 
- Public Member Functions inherited from grpc::WriterInterface< W >
virtual ~WriterInterface ()
 
virtual bool Write (const W &msg, const WriteOptions &options)=0
 
bool Write (const W &msg)
 
- Public Member Functions inherited from grpc::ReaderInterface< R >
virtual ~ReaderInterface ()
 
virtual bool Read (R *msg)=0
 
+

Member Function Documentation

+ +
+
+
+template<class W , class R >
+ + + + + +
+ + + + + + + +
virtual void grpc::ClientReaderWriterInterface< W, R >::WaitForInitialMetadata ()
+
+pure virtual
+
+ +

Implemented in grpc::ClientReaderWriter< R, W >.

+ +
+
+ +
+
+
+template<class W , class R >
+ + + + + +
+ + + + + + + +
virtual bool grpc::ClientReaderWriterInterface< W, R >::WritesDone ()
+
+pure virtual
+
+ +

Implemented in grpc::ClientReaderWriter< R, W >.

+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/doc/ref/c++/html/classgrpc_1_1_client_streaming_handler.html b/doc/ref/c++/html/classgrpc_1_1_client_streaming_handler.html new file mode 100644 index 0000000000..2592ea4edb --- /dev/null +++ b/doc/ref/c++/html/classgrpc_1_1_client_streaming_handler.html @@ -0,0 +1,187 @@ + + + + + + +GRPC C++: grpc::ClientStreamingHandler< ServiceType, RequestType, ResponseType > Class Template Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc::ClientStreamingHandler< ServiceType, RequestType, ResponseType > Class Template Reference
+
+
+ +

#include <completion_queue.h>

+ + + + + + + + + +

+Public Member Functions

 ClientStreamingHandler (std::function< Status(ServiceType *, ServerContext *, ServerReader< RequestType > *, ResponseType *)> func, ServiceType *service)
 
void RunHandler (const HandlerParameter &param)
 
- Public Member Functions inherited from grpc::MethodHandler
virtual ~MethodHandler ()
 
+

Constructor & Destructor Documentation

+ +
+
+
+template<class ServiceType , class RequestType , class ResponseType >
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
grpc::ClientStreamingHandler< ServiceType, RequestType, ResponseType >::ClientStreamingHandler (std::function< Status(ServiceType *, ServerContext *, ServerReader< RequestType > *, ResponseType *)> func,
ServiceType * service 
)
+
+inline
+
+ +
+
+

Member Function Documentation

+ +
+
+
+template<class ServiceType , class RequestType , class ResponseType >
+ + + + + +
+ + + + + + + + +
void grpc::ClientStreamingHandler< ServiceType, RequestType, ResponseType >::RunHandler (const HandlerParameterparam)
+
+inlinevirtual
+
+ +

Implements grpc::MethodHandler.

+ +
+
+
The documentation for this class was generated from the following files: +
+ + + + diff --git a/doc/ref/c++/html/classgrpc_1_1_client_streaming_interface.html b/doc/ref/c++/html/classgrpc_1_1_client_streaming_interface.html new file mode 100644 index 0000000000..315435b8f9 --- /dev/null +++ b/doc/ref/c++/html/classgrpc_1_1_client_streaming_interface.html @@ -0,0 +1,167 @@ + + + + + + +GRPC C++: grpc::ClientStreamingInterface Class Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc::ClientStreamingInterface Class Referenceabstract
+
+
+ +

#include <stream.h>

+ + + + + + +

+Public Member Functions

virtual ~ClientStreamingInterface ()
 
virtual Status Finish ()=0
 
+

Constructor & Destructor Documentation

+ +
+
+ + + + + +
+ + + + + + + +
virtual grpc::ClientStreamingInterface::~ClientStreamingInterface ()
+
+inlinevirtual
+
+ +
+
+

Member Function Documentation

+ +
+
+ + + + + +
+ + + + + + + +
virtual Status grpc::ClientStreamingInterface::Finish ()
+
+pure virtual
+
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/doc/ref/c++/html/classgrpc_1_1_client_writer.html b/doc/ref/c++/html/classgrpc_1_1_client_writer.html new file mode 100644 index 0000000000..896a765c2c --- /dev/null +++ b/doc/ref/c++/html/classgrpc_1_1_client_writer.html @@ -0,0 +1,275 @@ + + + + + + +GRPC C++: grpc::ClientWriter< W > Class Template Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc::ClientWriter< W > Class Template Reference
+
+
+ +

#include <client_context.h>

+ + + + + + + + + + + + + + + + + + + +

+Public Member Functions

template<class R >
 ClientWriter (ChannelInterface *channel, const RpcMethod &method, ClientContext *context, R *response)
 
bool Write (const W &msg, const WriteOptions &options) GRPC_OVERRIDE
 
bool WritesDone () GRPC_OVERRIDE
 
Status Finish () GRPC_OVERRIDE
 
- Public Member Functions inherited from grpc::ClientStreamingInterface
virtual ~ClientStreamingInterface ()
 
- Public Member Functions inherited from grpc::WriterInterface< W >
virtual ~WriterInterface ()
 
bool Write (const W &msg)
 
+

Constructor & Destructor Documentation

+ +
+
+
+template<class W >
+
+template<class R >
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
grpc::ClientWriter< W >::ClientWriter (ChannelInterfacechannel,
const RpcMethodmethod,
ClientContextcontext,
R * response 
)
+
+inline
+
+ +
+
+

Member Function Documentation

+ +
+
+
+template<class W >
+ + + + + +
+ + + + + + + +
Status grpc::ClientWriter< W >::Finish ()
+
+inlinevirtual
+
+ +

Implements grpc::ClientStreamingInterface.

+ +
+
+ +
+
+
+template<class W >
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
bool grpc::ClientWriter< W >::Write (const W & msg,
const WriteOptionsoptions 
)
+
+inlinevirtual
+
+ +

Implements grpc::WriterInterface< W >.

+ +
+
+ +
+
+
+template<class W >
+ + + + + +
+ + + + + + + +
bool grpc::ClientWriter< W >::WritesDone ()
+
+inlinevirtual
+
+
+
The documentation for this class was generated from the following files: +
+ + + + diff --git a/doc/ref/c++/html/classgrpc_1_1_client_writer_interface.html b/doc/ref/c++/html/classgrpc_1_1_client_writer_interface.html new file mode 100644 index 0000000000..32a8f1e2d3 --- /dev/null +++ b/doc/ref/c++/html/classgrpc_1_1_client_writer_interface.html @@ -0,0 +1,155 @@ + + + + + + +GRPC C++: grpc::ClientWriterInterface< W > Class Template Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc::ClientWriterInterface< W > Class Template Referenceabstract
+
+
+ +

#include <stream.h>

+ + + + + + + + + + + + + + + + +

+Public Member Functions

virtual bool WritesDone ()=0
 
- Public Member Functions inherited from grpc::ClientStreamingInterface
virtual ~ClientStreamingInterface ()
 
virtual Status Finish ()=0
 
- Public Member Functions inherited from grpc::WriterInterface< W >
virtual ~WriterInterface ()
 
virtual bool Write (const W &msg, const WriteOptions &options)=0
 
bool Write (const W &msg)
 
+

Member Function Documentation

+ +
+
+
+template<class W >
+ + + + + +
+ + + + + + + +
virtual bool grpc::ClientWriterInterface< W >::WritesDone ()
+
+pure virtual
+
+ +

Implemented in grpc::ClientWriter< W >.

+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/doc/ref/c++/html/classgrpc_1_1_completion_queue.html b/doc/ref/c++/html/classgrpc_1_1_completion_queue.html new file mode 100644 index 0000000000..63b12c8197 --- /dev/null +++ b/doc/ref/c++/html/classgrpc_1_1_completion_queue.html @@ -0,0 +1,689 @@ + + + + + + +GRPC C++: grpc::CompletionQueue Class Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc::CompletionQueue Class Reference
+
+
+ +

#include <completion_queue.h>

+ + + + +

+Public Types

enum  NextStatus { SHUTDOWN, +GOT_EVENT, +TIMEOUT + }
 
+ + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 CompletionQueue ()
 
 CompletionQueue (grpc_completion_queue *take)
 
 ~CompletionQueue () GRPC_OVERRIDE
 
template<typename T >
NextStatus AsyncNext (void **tag, bool *ok, const T &deadline)
 
bool Next (void **tag, bool *ok)
 
void Shutdown ()
 
grpc_completion_queue * cq ()
 
- Public Member Functions inherited from grpc::GrpcLibrary
 GrpcLibrary ()
 
virtual ~GrpcLibrary ()
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Friends

template<class R >
class ::grpc::ClientReader
 
template<class W >
class ::grpc::ClientWriter
 
template<class R , class W >
class ::grpc::ClientReaderWriter
 
template<class R >
class ::grpc::ServerReader
 
template<class W >
class ::grpc::ServerWriter
 
template<class R , class W >
class ::grpc::ServerReaderWriter
 
template<class ServiceType , class RequestType , class ResponseType >
class RpcMethodHandler
 
template<class ServiceType , class RequestType , class ResponseType >
class ClientStreamingHandler
 
template<class ServiceType , class RequestType , class ResponseType >
class ServerStreamingHandler
 
template<class ServiceType , class RequestType , class ResponseType >
class BidiStreamingHandler
 
class ::grpc::Server
 
class ::grpc::ServerContext
 
template<class InputMessage , class OutputMessage >
Status BlockingUnaryCall (ChannelInterface *channel, const RpcMethod &method, ClientContext *context, const InputMessage &request, OutputMessage *result)
 
+

Member Enumeration Documentation

+ +
+
+ + + + +
Enumerator
SHUTDOWN  +
GOT_EVENT  +
TIMEOUT  +
+ +
+
+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + +
grpc::CompletionQueue::CompletionQueue ()
+
+ +
+
+ +
+
+ + + + + +
+ + + + + + + + +
grpc::CompletionQueue::CompletionQueue (grpc_completion_queue * take)
+
+explicit
+
+ +
+
+ +
+
+ + + + + + + +
grpc::CompletionQueue::~CompletionQueue ()
+
+ +
+
+

Member Function Documentation

+ +
+
+
+template<typename T >
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
NextStatus grpc::CompletionQueue::AsyncNext (void ** tag,
bool * ok,
const T & deadline 
)
+
+inline
+
+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
grpc_completion_queue* grpc::CompletionQueue::cq ()
+
+inline
+
+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
bool grpc::CompletionQueue::Next (void ** tag,
bool * ok 
)
+
+inline
+
+ +
+
+ +
+
+ + + + + + + +
void grpc::CompletionQueue::Shutdown ()
+
+ +
+
+

Friends And Related Function Documentation

+ +
+
+
+template<class R >
+ + + + + +
+ + + + +
friend class ::grpc::ClientReader
+
+friend
+
+ +
+
+ +
+
+
+template<class R , class W >
+ + + + + +
+ + + + +
friend class ::grpc::ClientReaderWriter
+
+friend
+
+ +
+
+ +
+
+
+template<class W >
+ + + + + +
+ + + + +
friend class ::grpc::ClientWriter
+
+friend
+
+ +
+
+ +
+
+ + + + + +
+ + + + +
friend class ::grpc::Server
+
+friend
+
+ +
+
+ +
+
+ + + + + +
+ + + + +
friend class ::grpc::ServerContext
+
+friend
+
+ +
+
+ +
+
+
+template<class R >
+ + + + + +
+ + + + +
friend class ::grpc::ServerReader
+
+friend
+
+ +
+
+ +
+
+
+template<class R , class W >
+ + + + + +
+ + + + +
friend class ::grpc::ServerReaderWriter
+
+friend
+
+ +
+
+ +
+
+
+template<class W >
+ + + + + +
+ + + + +
friend class ::grpc::ServerWriter
+
+friend
+
+ +
+
+ +
+
+
+template<class ServiceType , class RequestType , class ResponseType >
+ + + + + +
+ + + + +
friend class BidiStreamingHandler
+
+friend
+
+ +
+
+ +
+
+
+template<class InputMessage , class OutputMessage >
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Status BlockingUnaryCall (ChannelInterfacechannel,
const RpcMethodmethod,
ClientContextcontext,
const InputMessage & request,
OutputMessage * result 
)
+
+friend
+
+ +
+
+ +
+
+
+template<class ServiceType , class RequestType , class ResponseType >
+ + + + + +
+ + + + +
friend class ClientStreamingHandler
+
+friend
+
+ +
+
+ +
+
+
+template<class ServiceType , class RequestType , class ResponseType >
+ + + + + +
+ + + + +
friend class RpcMethodHandler
+
+friend
+
+ +
+
+ +
+
+
+template<class ServiceType , class RequestType , class ResponseType >
+ + + + + +
+ + + + +
friend class ServerStreamingHandler
+
+friend
+
+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/doc/ref/c++/html/classgrpc_1_1_completion_queue_tag.html b/doc/ref/c++/html/classgrpc_1_1_completion_queue_tag.html new file mode 100644 index 0000000000..67d9ee9a33 --- /dev/null +++ b/doc/ref/c++/html/classgrpc_1_1_completion_queue_tag.html @@ -0,0 +1,178 @@ + + + + + + +GRPC C++: grpc::CompletionQueueTag Class Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc::CompletionQueueTag Class Referenceabstract
+
+
+ +

#include <completion_queue.h>

+ + + + + + +

+Public Member Functions

virtual ~CompletionQueueTag ()
 
virtual bool FinalizeResult (void **tag, bool *status)=0
 
+

Constructor & Destructor Documentation

+ +
+
+ + + + + +
+ + + + + + + +
virtual grpc::CompletionQueueTag::~CompletionQueueTag ()
+
+inlinevirtual
+
+ +
+
+

Member Function Documentation

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
virtual bool grpc::CompletionQueueTag::FinalizeResult (void ** tag,
bool * status 
)
+
+pure virtual
+
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/doc/ref/c++/html/classgrpc_1_1_credentials.html b/doc/ref/c++/html/classgrpc_1_1_credentials.html new file mode 100644 index 0000000000..814e30edf0 --- /dev/null +++ b/doc/ref/c++/html/classgrpc_1_1_credentials.html @@ -0,0 +1,275 @@ + + + + + + +GRPC C++: grpc::Credentials Class Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc::Credentials Class Referenceabstract
+
+
+ +

#include <credentials.h>

+ + + + + + + + + + + +

+Public Member Functions

 ~Credentials () GRPC_OVERRIDE
 
virtual bool ApplyToCall (grpc_call *call)=0
 
- Public Member Functions inherited from grpc::GrpcLibrary
 GrpcLibrary ()
 
virtual ~GrpcLibrary ()
 
+ + + +

+Protected Member Functions

virtual SecureCredentials * AsSecureCredentials ()=0
 
+ + + + + +

+Friends

std::shared_ptr< CredentialsCompositeCredentials (const std::shared_ptr< Credentials > &creds1, const std::shared_ptr< Credentials > &creds2)
 
std::shared_ptr< ChannelInterfaceCreateChannel (const grpc::string &target, const std::shared_ptr< Credentials > &creds, const ChannelArguments &args)
 
+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + +
grpc::Credentials::~Credentials ()
+
+ +
+
+

Member Function Documentation

+ +
+
+ + + + + +
+ + + + + + + + +
virtual bool grpc::Credentials::ApplyToCall (grpc_call * call)
+
+pure virtual
+
+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
virtual SecureCredentials* grpc::Credentials::AsSecureCredentials ()
+
+protectedpure virtual
+
+ +
+
+

Friends And Related Function Documentation

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
std::shared_ptr<Credentials> CompositeCredentials (const std::shared_ptr< Credentials > & creds1,
const std::shared_ptr< Credentials > & creds2 
)
+
+friend
+
+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
std::shared_ptr<ChannelInterface> CreateChannel (const grpc::stringtarget,
const std::shared_ptr< Credentials > & creds,
const ChannelArgumentsargs 
)
+
+friend
+
+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/doc/ref/c++/html/classgrpc_1_1_dynamic_thread_pool.html b/doc/ref/c++/html/classgrpc_1_1_dynamic_thread_pool.html new file mode 100644 index 0000000000..070606b9ac --- /dev/null +++ b/doc/ref/c++/html/classgrpc_1_1_dynamic_thread_pool.html @@ -0,0 +1,190 @@ + + + + + + +GRPC C++: grpc::DynamicThreadPool Class Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc::DynamicThreadPool Class Reference
+
+
+ +

#include <dynamic_thread_pool.h>

+ + + + + + + + + + + +

+Public Member Functions

 DynamicThreadPool (int reserve_threads)
 
 ~DynamicThreadPool ()
 
void Add (const std::function< void()> &callback) GRPC_OVERRIDE
 
- Public Member Functions inherited from grpc::ThreadPoolInterface
virtual ~ThreadPoolInterface ()
 
+

Constructor & Destructor Documentation

+ +
+
+ + + + + +
+ + + + + + + + +
grpc::DynamicThreadPool::DynamicThreadPool (int reserve_threads)
+
+explicit
+
+ +
+
+ +
+
+ + + + + + + +
grpc::DynamicThreadPool::~DynamicThreadPool ()
+
+ +
+
+

Member Function Documentation

+ +
+
+ + + + + +
+ + + + + + + + +
void grpc::DynamicThreadPool::Add (const std::function< void()> & callback)
+
+virtual
+
+ +

Implements grpc::ThreadPoolInterface.

+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/doc/ref/c++/html/classgrpc_1_1_fixed_size_thread_pool.html b/doc/ref/c++/html/classgrpc_1_1_fixed_size_thread_pool.html new file mode 100644 index 0000000000..7c1a996ede --- /dev/null +++ b/doc/ref/c++/html/classgrpc_1_1_fixed_size_thread_pool.html @@ -0,0 +1,189 @@ + + + + + + +GRPC C++: grpc::FixedSizeThreadPool Class Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc::FixedSizeThreadPool Class Reference
+
+
+ +

#include <fixed_size_thread_pool.h>

+ + + + + + + + + + + +

+Public Member Functions

 FixedSizeThreadPool (int num_threads)
 
 ~FixedSizeThreadPool ()
 
void Add (const std::function< void()> &callback) GRPC_OVERRIDE
 
- Public Member Functions inherited from grpc::ThreadPoolInterface
virtual ~ThreadPoolInterface ()
 
+

Constructor & Destructor Documentation

+ +
+
+ + + + + +
+ + + + + + + + +
grpc::FixedSizeThreadPool::FixedSizeThreadPool (int num_threads)
+
+explicit
+
+ +
+
+ +
+
+ + + + + + + +
grpc::FixedSizeThreadPool::~FixedSizeThreadPool ()
+
+ +
+
+

Member Function Documentation

+ +
+
+ + + + + +
+ + + + + + + + +
void grpc::FixedSizeThreadPool::Add (const std::function< void()> & callback)
+
+virtual
+
+ +

Implements grpc::ThreadPoolInterface.

+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/doc/ref/c++/html/classgrpc_1_1_generic_server_context.html b/doc/ref/c++/html/classgrpc_1_1_generic_server_context.html new file mode 100644 index 0000000000..0ed1a2664a --- /dev/null +++ b/doc/ref/c++/html/classgrpc_1_1_generic_server_context.html @@ -0,0 +1,224 @@ + + + + + + +GRPC C++: grpc::GenericServerContext Class Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc::GenericServerContext Class Reference
+
+
+ +

#include <async_generic_service.h>

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

const grpc::stringmethod () const
 
const grpc::stringhost () const
 
- Public Member Functions inherited from grpc::ServerContext
 ServerContext ()
 
 ~ServerContext ()
 
std::chrono::system_clock::time_point deadline ()
 
gpr_timespec raw_deadline ()
 
void AddInitialMetadata (const grpc::string &key, const grpc::string &value)
 
void AddTrailingMetadata (const grpc::string &key, const grpc::string &value)
 
bool IsCancelled () const
 
const std::multimap
+< grpc::string, grpc::string > & 
client_metadata ()
 
grpc_compression_level compression_level () const
 
void set_compression_level (grpc_compression_level level)
 
grpc_compression_algorithm compression_algorithm () const
 
void set_compression_algorithm (grpc_compression_algorithm algorithm)
 
std::shared_ptr< const
+AuthContext
auth_context () const
 
grpc::string peer () const
 
const struct census_context * census_context () const
 
+ + + +

+Friends

class Server
 
+

Member Function Documentation

+ +
+
+ + + + + +
+ + + + + + + +
const grpc::string& grpc::GenericServerContext::host () const
+
+inline
+
+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
const grpc::string& grpc::GenericServerContext::method () const
+
+inline
+
+ +
+
+

Friends And Related Function Documentation

+ +
+
+ + + + + +
+ + + + +
friend class Server
+
+friend
+
+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/doc/ref/c++/html/classgrpc_1_1_generic_stub.html b/doc/ref/c++/html/classgrpc_1_1_generic_stub.html new file mode 100644 index 0000000000..35169367c9 --- /dev/null +++ b/doc/ref/c++/html/classgrpc_1_1_generic_stub.html @@ -0,0 +1,182 @@ + + + + + + +GRPC C++: grpc::GenericStub Class Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc::GenericStub Class Reference
+
+
+ +

#include <generic_stub.h>

+ + + + + + +

+Public Member Functions

 GenericStub (std::shared_ptr< ChannelInterface > channel)
 
std::unique_ptr
+< GenericClientAsyncReaderWriter
Call (ClientContext *context, const grpc::string &method, CompletionQueue *cq, void *tag)
 
+

Constructor & Destructor Documentation

+ +
+
+ + + + + +
+ + + + + + + + +
grpc::GenericStub::GenericStub (std::shared_ptr< ChannelInterfacechannel)
+
+inlineexplicit
+
+ +
+
+

Member Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
std::unique_ptr<GenericClientAsyncReaderWriter> grpc::GenericStub::Call (ClientContextcontext,
const grpc::stringmethod,
CompletionQueuecq,
void * tag 
)
+
+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/doc/ref/c++/html/classgrpc_1_1_grpc_library.html b/doc/ref/c++/html/classgrpc_1_1_grpc_library.html new file mode 100644 index 0000000000..6304898e9f --- /dev/null +++ b/doc/ref/c++/html/classgrpc_1_1_grpc_library.html @@ -0,0 +1,164 @@ + + + + + + +GRPC C++: grpc::GrpcLibrary Class Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc::GrpcLibrary Class Reference
+
+
+ +

#include <grpc_library.h>

+ + + + + + +

+Public Member Functions

 GrpcLibrary ()
 
virtual ~GrpcLibrary ()
 
+

Constructor & Destructor Documentation

+ +
+
+ + + + + +
+ + + + + + + +
grpc::GrpcLibrary::GrpcLibrary ()
+
+inline
+
+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
virtual grpc::GrpcLibrary::~GrpcLibrary ()
+
+inlinevirtual
+
+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/doc/ref/c++/html/classgrpc_1_1_internal_stub.html b/doc/ref/c++/html/classgrpc_1_1_internal_stub.html new file mode 100644 index 0000000000..f912a485df --- /dev/null +++ b/doc/ref/c++/html/classgrpc_1_1_internal_stub.html @@ -0,0 +1,191 @@ + + + + + + +GRPC C++: grpc::InternalStub Class Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc::InternalStub Class Reference
+
+
+ +

#include <internal_stub.h>

+ + + + + + + + +

+Public Member Functions

 InternalStub (const std::shared_ptr< ChannelInterface > &channel)
 
virtual ~InternalStub ()
 
ChannelInterfacechannel ()
 
+

Constructor & Destructor Documentation

+ +
+
+ + + + + +
+ + + + + + + + +
grpc::InternalStub::InternalStub (const std::shared_ptr< ChannelInterface > & channel)
+
+inline
+
+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
virtual grpc::InternalStub::~InternalStub ()
+
+inlinevirtual
+
+ +
+
+

Member Function Documentation

+ +
+
+ + + + + +
+ + + + + + + +
ChannelInterface* grpc::InternalStub::channel ()
+
+inline
+
+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/doc/ref/c++/html/classgrpc_1_1_method_handler.html b/doc/ref/c++/html/classgrpc_1_1_method_handler.html new file mode 100644 index 0000000000..8d4fa61437 --- /dev/null +++ b/doc/ref/c++/html/classgrpc_1_1_method_handler.html @@ -0,0 +1,174 @@ + + + + + + +GRPC C++: grpc::MethodHandler Class Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc::MethodHandler Class Referenceabstract
+
+
+ +

#include <rpc_service_method.h>

+ + + + +

+Data Structures

struct  HandlerParameter
 
+ + + + + +

+Public Member Functions

virtual ~MethodHandler ()
 
virtual void RunHandler (const HandlerParameter &param)=0
 
+

Constructor & Destructor Documentation

+ +
+
+ + + + + +
+ + + + + + + +
virtual grpc::MethodHandler::~MethodHandler ()
+
+inlinevirtual
+
+ +
+
+

Member Function Documentation

+ + +
The documentation for this class was generated from the following file: +
+ + + + diff --git a/doc/ref/c++/html/classgrpc_1_1_reader_interface.html b/doc/ref/c++/html/classgrpc_1_1_reader_interface.html new file mode 100644 index 0000000000..c05e619810 --- /dev/null +++ b/doc/ref/c++/html/classgrpc_1_1_reader_interface.html @@ -0,0 +1,172 @@ + + + + + + +GRPC C++: grpc::ReaderInterface< R > Class Template Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc::ReaderInterface< R > Class Template Referenceabstract
+
+
+ +

#include <stream.h>

+ + + + + + +

+Public Member Functions

virtual ~ReaderInterface ()
 
virtual bool Read (R *msg)=0
 
+

Constructor & Destructor Documentation

+ +
+
+
+template<class R >
+ + + + + +
+ + + + + + + +
virtual grpc::ReaderInterface< R >::~ReaderInterface ()
+
+inlinevirtual
+
+ +
+
+

Member Function Documentation

+ +
+
+
+template<class R >
+ + + + + +
+ + + + + + + + +
virtual bool grpc::ReaderInterface< R >::Read (R * msg)
+
+pure virtual
+
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/doc/ref/c++/html/classgrpc_1_1_rpc_method.html b/doc/ref/c++/html/classgrpc_1_1_rpc_method.html new file mode 100644 index 0000000000..bcfa869b0a --- /dev/null +++ b/doc/ref/c++/html/classgrpc_1_1_rpc_method.html @@ -0,0 +1,265 @@ + + + + + + +GRPC C++: grpc::RpcMethod Class Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc::RpcMethod Class Reference
+
+
+ +

#include <rpc_method.h>

+ + + + +

+Public Types

enum  RpcType { NORMAL_RPC = 0, +CLIENT_STREAMING, +SERVER_STREAMING, +BIDI_STREAMING + }
 
+ + + + + + + + + +

+Public Member Functions

 RpcMethod (const char *name, RpcType type, void *channel_tag)
 
const char * name () const
 
RpcType method_type () const
 
void * channel_tag () const
 
+

Member Enumeration Documentation

+ +
+
+ + + + +
enum grpc::RpcMethod::RpcType
+
+ + + + + +
Enumerator
NORMAL_RPC  +
CLIENT_STREAMING  +
SERVER_STREAMING  +
BIDI_STREAMING  +
+ +
+
+

Constructor & Destructor Documentation

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
grpc::RpcMethod::RpcMethod (const char * name,
RpcType type,
void * channel_tag 
)
+
+inline
+
+ +
+
+

Member Function Documentation

+ +
+
+ + + + + +
+ + + + + + + +
void* grpc::RpcMethod::channel_tag () const
+
+inline
+
+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
RpcType grpc::RpcMethod::method_type () const
+
+inline
+
+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
const char* grpc::RpcMethod::name () const
+
+inline
+
+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/doc/ref/c++/html/classgrpc_1_1_rpc_method_handler.html b/doc/ref/c++/html/classgrpc_1_1_rpc_method_handler.html new file mode 100644 index 0000000000..e4a22362d6 --- /dev/null +++ b/doc/ref/c++/html/classgrpc_1_1_rpc_method_handler.html @@ -0,0 +1,187 @@ + + + + + + +GRPC C++: grpc::RpcMethodHandler< ServiceType, RequestType, ResponseType > Class Template Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc::RpcMethodHandler< ServiceType, RequestType, ResponseType > Class Template Reference
+
+
+ +

#include <completion_queue.h>

+ + + + + + + + + +

+Public Member Functions

 RpcMethodHandler (std::function< Status(ServiceType *, ServerContext *, const RequestType *, ResponseType *)> func, ServiceType *service)
 
void RunHandler (const HandlerParameter &param)
 
- Public Member Functions inherited from grpc::MethodHandler
virtual ~MethodHandler ()
 
+

Constructor & Destructor Documentation

+ +
+
+
+template<class ServiceType , class RequestType , class ResponseType >
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
grpc::RpcMethodHandler< ServiceType, RequestType, ResponseType >::RpcMethodHandler (std::function< Status(ServiceType *, ServerContext *, const RequestType *, ResponseType *)> func,
ServiceType * service 
)
+
+inline
+
+ +
+
+

Member Function Documentation

+ +
+
+
+template<class ServiceType , class RequestType , class ResponseType >
+ + + + + +
+ + + + + + + + +
void grpc::RpcMethodHandler< ServiceType, RequestType, ResponseType >::RunHandler (const HandlerParameterparam)
+
+inlinevirtual
+
+ +

Implements grpc::MethodHandler.

+ +
+
+
The documentation for this class was generated from the following files: +
+ + + + diff --git a/doc/ref/c++/html/classgrpc_1_1_rpc_service.html b/doc/ref/c++/html/classgrpc_1_1_rpc_service.html new file mode 100644 index 0000000000..182924cadc --- /dev/null +++ b/doc/ref/c++/html/classgrpc_1_1_rpc_service.html @@ -0,0 +1,191 @@ + + + + + + +GRPC C++: grpc::RpcService Class Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc::RpcService Class Reference
+
+
+ +

#include <rpc_service_method.h>

+ + + + + + + + +

+Public Member Functions

void AddMethod (RpcServiceMethod *method)
 
RpcServiceMethodGetMethod (int i)
 
int GetMethodCount () const
 
+

Member Function Documentation

+ +
+
+ + + + + +
+ + + + + + + + +
void grpc::RpcService::AddMethod (RpcServiceMethodmethod)
+
+inline
+
+ +
+
+ +
+
+ + + + + +
+ + + + + + + + +
RpcServiceMethod* grpc::RpcService::GetMethod (int i)
+
+inline
+
+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
int grpc::RpcService::GetMethodCount () const
+
+inline
+
+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/doc/ref/c++/html/classgrpc_1_1_rpc_service_method.html b/doc/ref/c++/html/classgrpc_1_1_rpc_service_method.html new file mode 100644 index 0000000000..cbbbe14b38 --- /dev/null +++ b/doc/ref/c++/html/classgrpc_1_1_rpc_service_method.html @@ -0,0 +1,201 @@ + + + + + + +GRPC C++: grpc::RpcServiceMethod Class Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc::RpcServiceMethod Class Reference
+
+
+ +

#include <rpc_service_method.h>

+ + + + + + + + + + + + + + + +

+Public Member Functions

 RpcServiceMethod (const char *name, RpcMethod::RpcType type, MethodHandler *handler)
 
MethodHandlerhandler ()
 
- Public Member Functions inherited from grpc::RpcMethod
 RpcMethod (const char *name, RpcType type, void *channel_tag)
 
const char * name () const
 
RpcType method_type () const
 
void * channel_tag () const
 
+ + + + +

+Additional Inherited Members

- Public Types inherited from grpc::RpcMethod
enum  RpcType { NORMAL_RPC = 0, +CLIENT_STREAMING, +SERVER_STREAMING, +BIDI_STREAMING + }
 
+

Constructor & Destructor Documentation

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
grpc::RpcServiceMethod::RpcServiceMethod (const char * name,
RpcMethod::RpcType type,
MethodHandlerhandler 
)
+
+inline
+
+ +
+
+

Member Function Documentation

+ +
+
+ + + + + +
+ + + + + + + +
MethodHandler* grpc::RpcServiceMethod::handler ()
+
+inline
+
+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/doc/ref/c++/html/classgrpc_1_1_serialization_traits.html b/doc/ref/c++/html/classgrpc_1_1_serialization_traits.html new file mode 100644 index 0000000000..5180f23c83 --- /dev/null +++ b/doc/ref/c++/html/classgrpc_1_1_serialization_traits.html @@ -0,0 +1,119 @@ + + + + + + +GRPC C++: grpc::SerializationTraits< Message, UnusedButHereForPartialTemplateSpecialization > Class Template Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
grpc::SerializationTraits< Message, UnusedButHereForPartialTemplateSpecialization > Class Template Reference
+
+
+ +

Defines how to serialize and deserialize some type. + More...

+ +

#include <serialization_traits.h>

+

Detailed Description

+

template<class Message, class UnusedButHereForPartialTemplateSpecialization = void>
+class grpc::SerializationTraits< Message, UnusedButHereForPartialTemplateSpecialization >

+ +

Defines how to serialize and deserialize some type.

+

Used for hooking different message serialization API's into GRPC. Each SerializationTraits implementation must provide the following functions: static Status Serialize(const Message& msg, grpc_byte_buffer** buffer, static Status Deserialize(grpc_byte_buffer* buffer, Message* msg, int max_message_size);

+

Serialize is required to convert message to a grpc_byte_buffer, and to store a pointer to that byte buffer at *buffer. *own_buffer should be set to true if the caller owns said byte buffer, or false if ownership is retained elsewhere.

+

Deserialize is required to convert buffer into the message stored at msg. max_message_size is passed in as a bound on the maximum number of message bytes Deserialize should accept.

+

Both functions return a Status, allowing them to explain what went wrong if required.

+

The documentation for this class was generated from the following file: +
+ + + + diff --git a/doc/ref/c++/html/classgrpc_1_1_serialization_traits_3_01_byte_buffer_00_01void_01_4.html b/doc/ref/c++/html/classgrpc_1_1_serialization_traits_3_01_byte_buffer_00_01void_01_4.html new file mode 100644 index 0000000000..0c2b82be96 --- /dev/null +++ b/doc/ref/c++/html/classgrpc_1_1_serialization_traits_3_01_byte_buffer_00_01void_01_4.html @@ -0,0 +1,198 @@ + + + + + + +GRPC C++: grpc::SerializationTraits< ByteBuffer, void > Class Template Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc::SerializationTraits< ByteBuffer, void > Class Template Reference
+
+
+ +

#include <byte_buffer.h>

+ + + + + + +

+Static Public Member Functions

static Status Deserialize (grpc_byte_buffer *byte_buffer, ByteBuffer *dest, int max_message_size)
 
static Status Serialize (const ByteBuffer &source, grpc_byte_buffer **buffer, bool *own_buffer)
 
+

Member Function Documentation

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
static Status grpc::SerializationTraits< ByteBuffer, void >::Deserialize (grpc_byte_buffer * byte_buffer,
ByteBufferdest,
int max_message_size 
)
+
+inlinestatic
+
+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
static Status grpc::SerializationTraits< ByteBuffer, void >::Serialize (const ByteBuffersource,
grpc_byte_buffer ** buffer,
bool * own_buffer 
)
+
+inlinestatic
+
+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/doc/ref/c++/html/classgrpc_1_1_serialization_traits_3_01_t_00_01typename_01std_1_1enable__if_3_01std_1_1is__base_42903f95c85f031c7724191271564901.html b/doc/ref/c++/html/classgrpc_1_1_serialization_traits_3_01_t_00_01typename_01std_1_1enable__if_3_01std_1_1is__base_42903f95c85f031c7724191271564901.html new file mode 100644 index 0000000000..9c933c0295 --- /dev/null +++ b/doc/ref/c++/html/classgrpc_1_1_serialization_traits_3_01_t_00_01typename_01std_1_1enable__if_3_01std_1_1is__base_42903f95c85f031c7724191271564901.html @@ -0,0 +1,202 @@ + + + + + + +GRPC C++: grpc::SerializationTraits< T, typename std::enable_if< std::is_base_of< grpc::protobuf::Message, T >::value >::type > Class Template Reference + + + + + + + + + + +
+ +
+
grpc::SerializationTraits< T, typename std::enable_if< std::is_base_of< grpc::protobuf::Message, T >::value >::type > Class Template Reference
+
+
+ +

#include <proto_utils.h>

+ + + + + + +

+Static Public Member Functions

static Status Serialize (const grpc::protobuf::Message &msg, grpc_byte_buffer **buffer, bool *own_buffer)
 
static Status Deserialize (grpc_byte_buffer *buffer, grpc::protobuf::Message *msg, int max_message_size)
 
+

Member Function Documentation

+ +
+
+
+template<class T >
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
static Status grpc::SerializationTraits< T, typename std::enable_if< std::is_base_of< grpc::protobuf::Message, T >::value >::type >::Deserialize (grpc_byte_buffer * buffer,
grpc::protobuf::Messagemsg,
int max_message_size 
)
+
+inlinestatic
+
+ +
+
+ +
+
+
+template<class T >
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
static Status grpc::SerializationTraits< T, typename std::enable_if< std::is_base_of< grpc::protobuf::Message, T >::value >::type >::Serialize (const grpc::protobuf::Messagemsg,
grpc_byte_buffer ** buffer,
bool * own_buffer 
)
+
+inlinestatic
+
+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/doc/ref/c++/html/classgrpc_1_1_server.html b/doc/ref/c++/html/classgrpc_1_1_server.html new file mode 100644 index 0000000000..a594e9e71f --- /dev/null +++ b/doc/ref/c++/html/classgrpc_1_1_server.html @@ -0,0 +1,243 @@ + + + + + + +GRPC C++: grpc::Server Class Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc::Server Class Reference
+
+
+ +

#include <server.h>

+ + + + + + + + + + + + + +

+Public Member Functions

 ~Server ()
 
void Shutdown ()
 
void Wait ()
 
- Public Member Functions inherited from grpc::GrpcLibrary
 GrpcLibrary ()
 
virtual ~GrpcLibrary ()
 
+ + + + + + + +

+Friends

class AsyncGenericService
 
class AsynchronousService
 
class ServerBuilder
 
+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + +
grpc::Server::~Server ()
+
+ +
+
+

Member Function Documentation

+ +
+
+ + + + + + + +
void grpc::Server::Shutdown ()
+
+ +
+
+ +
+
+ + + + + + + +
void grpc::Server::Wait ()
+
+ +
+
+

Friends And Related Function Documentation

+ +
+
+ + + + + +
+ + + + +
friend class AsyncGenericService
+
+friend
+
+ +
+
+ +
+
+ + + + + +
+ + + + +
friend class AsynchronousService
+
+friend
+
+ +
+
+ +
+
+ + + + + +
+ + + + +
friend class ServerBuilder
+
+friend
+
+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/doc/ref/c++/html/classgrpc_1_1_server_async_reader.html b/doc/ref/c++/html/classgrpc_1_1_server_async_reader.html new file mode 100644 index 0000000000..7abcbb59bb --- /dev/null +++ b/doc/ref/c++/html/classgrpc_1_1_server_async_reader.html @@ -0,0 +1,302 @@ + + + + + + +GRPC C++: grpc::ServerAsyncReader< W, R > Class Template Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc::ServerAsyncReader< W, R > Class Template Reference
+
+
+ +

#include <server_context.h>

+ + + + + + + + + + + + + + + + + + +

+Public Member Functions

 ServerAsyncReader (ServerContext *ctx)
 
void SendInitialMetadata (void *tag) GRPC_OVERRIDE
 
void Read (R *msg, void *tag) GRPC_OVERRIDE
 
void Finish (const W &msg, const Status &status, void *tag)
 
void FinishWithError (const Status &status, void *tag)
 
- Public Member Functions inherited from grpc::ServerAsyncStreamingInterface
virtual ~ServerAsyncStreamingInterface ()
 
- Public Member Functions inherited from grpc::AsyncReaderInterface< R >
virtual ~AsyncReaderInterface ()
 
+

Constructor & Destructor Documentation

+ +
+
+
+template<class W , class R >
+ + + + + +
+ + + + + + + + +
grpc::ServerAsyncReader< W, R >::ServerAsyncReader (ServerContextctx)
+
+inlineexplicit
+
+ +
+
+

Member Function Documentation

+ +
+
+
+template<class W , class R >
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
void grpc::ServerAsyncReader< W, R >::Finish (const W & msg,
const Statusstatus,
void * tag 
)
+
+inline
+
+ +
+
+ +
+
+
+template<class W , class R >
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void grpc::ServerAsyncReader< W, R >::FinishWithError (const Statusstatus,
void * tag 
)
+
+inline
+
+ +
+
+ +
+
+
+template<class W , class R >
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void grpc::ServerAsyncReader< W, R >::Read (R * msg,
void * tag 
)
+
+inlinevirtual
+
+
+ +
+
+
+template<class W , class R >
+ + + + + +
+ + + + + + + + +
void grpc::ServerAsyncReader< W, R >::SendInitialMetadata (void * tag)
+
+inlinevirtual
+
+
+
The documentation for this class was generated from the following files: +
+ + + + diff --git a/doc/ref/c++/html/classgrpc_1_1_server_async_reader_writer.html b/doc/ref/c++/html/classgrpc_1_1_server_async_reader_writer.html new file mode 100644 index 0000000000..35314dfeef --- /dev/null +++ b/doc/ref/c++/html/classgrpc_1_1_server_async_reader_writer.html @@ -0,0 +1,301 @@ + + + + + + +GRPC C++: grpc::ServerAsyncReaderWriter< R, W > Class Template Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc::ServerAsyncReaderWriter< R, W > Class Template Reference
+
+
+ +

#include <server_context.h>

+ + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 ServerAsyncReaderWriter (ServerContext *ctx)
 
void SendInitialMetadata (void *tag) GRPC_OVERRIDE
 
void Read (R *msg, void *tag) GRPC_OVERRIDE
 
void Write (const W &msg, void *tag) GRPC_OVERRIDE
 
void Finish (const Status &status, void *tag)
 
- Public Member Functions inherited from grpc::ServerAsyncStreamingInterface
virtual ~ServerAsyncStreamingInterface ()
 
- Public Member Functions inherited from grpc::AsyncWriterInterface< W >
virtual ~AsyncWriterInterface ()
 
- Public Member Functions inherited from grpc::AsyncReaderInterface< R >
virtual ~AsyncReaderInterface ()
 
+

Constructor & Destructor Documentation

+ +
+
+
+template<class R , class W >
+ + + + + +
+ + + + + + + + +
grpc::ServerAsyncReaderWriter< R, W >::ServerAsyncReaderWriter (ServerContextctx)
+
+inlineexplicit
+
+ +
+
+

Member Function Documentation

+ +
+
+
+template<class R , class W >
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void grpc::ServerAsyncReaderWriter< R, W >::Finish (const Statusstatus,
void * tag 
)
+
+inline
+
+ +
+
+ +
+
+
+template<class R , class W >
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void grpc::ServerAsyncReaderWriter< R, W >::Read (R * msg,
void * tag 
)
+
+inlinevirtual
+
+
+ +
+
+
+template<class R , class W >
+ + + + + +
+ + + + + + + + +
void grpc::ServerAsyncReaderWriter< R, W >::SendInitialMetadata (void * tag)
+
+inlinevirtual
+
+
+ +
+
+
+template<class R , class W >
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void grpc::ServerAsyncReaderWriter< R, W >::Write (const W & msg,
void * tag 
)
+
+inlinevirtual
+
+
+
The documentation for this class was generated from the following files: +
+ + + + diff --git a/doc/ref/c++/html/classgrpc_1_1_server_async_response_writer.html b/doc/ref/c++/html/classgrpc_1_1_server_async_response_writer.html new file mode 100644 index 0000000000..75b92b1e77 --- /dev/null +++ b/doc/ref/c++/html/classgrpc_1_1_server_async_response_writer.html @@ -0,0 +1,258 @@ + + + + + + +GRPC C++: grpc::ServerAsyncResponseWriter< W > Class Template Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc::ServerAsyncResponseWriter< W > Class Template Reference
+
+
+ +

#include <async_unary_call.h>

+ + + + + + + + + + + + + +

+Public Member Functions

 ServerAsyncResponseWriter (ServerContext *ctx)
 
void SendInitialMetadata (void *tag) GRPC_OVERRIDE
 
void Finish (const W &msg, const Status &status, void *tag)
 
void FinishWithError (const Status &status, void *tag)
 
- Public Member Functions inherited from grpc::ServerAsyncStreamingInterface
virtual ~ServerAsyncStreamingInterface ()
 
+

Constructor & Destructor Documentation

+ +
+
+
+template<class W >
+ + + + + +
+ + + + + + + + +
grpc::ServerAsyncResponseWriter< W >::ServerAsyncResponseWriter (ServerContextctx)
+
+inlineexplicit
+
+ +
+
+

Member Function Documentation

+ +
+
+
+template<class W >
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
void grpc::ServerAsyncResponseWriter< W >::Finish (const W & msg,
const Statusstatus,
void * tag 
)
+
+inline
+
+ +
+
+ +
+
+
+template<class W >
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void grpc::ServerAsyncResponseWriter< W >::FinishWithError (const Statusstatus,
void * tag 
)
+
+inline
+
+ +
+
+ +
+
+
+template<class W >
+ + + + + +
+ + + + + + + + +
void grpc::ServerAsyncResponseWriter< W >::SendInitialMetadata (void * tag)
+
+inlinevirtual
+
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/doc/ref/c++/html/classgrpc_1_1_server_async_streaming_interface.html b/doc/ref/c++/html/classgrpc_1_1_server_async_streaming_interface.html new file mode 100644 index 0000000000..cbfc8110af --- /dev/null +++ b/doc/ref/c++/html/classgrpc_1_1_server_async_streaming_interface.html @@ -0,0 +1,195 @@ + + + + + + +GRPC C++: grpc::ServerAsyncStreamingInterface Class Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc::ServerAsyncStreamingInterface Class Referenceabstract
+
+
+ +

#include <service_type.h>

+ + + + + + +

+Public Member Functions

virtual ~ServerAsyncStreamingInterface ()
 
virtual void SendInitialMetadata (void *tag)=0
 
+ + + +

+Friends

class Server
 
+

Constructor & Destructor Documentation

+ +
+
+ + + + + +
+ + + + + + + +
virtual grpc::ServerAsyncStreamingInterface::~ServerAsyncStreamingInterface ()
+
+inlinevirtual
+
+ +
+
+

Member Function Documentation

+ +
+
+ + + + + +
+ + + + + + + + +
virtual void grpc::ServerAsyncStreamingInterface::SendInitialMetadata (void * tag)
+
+pure virtual
+
+
+

Friends And Related Function Documentation

+ +
+
+ + + + + +
+ + + + +
friend class Server
+
+friend
+
+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/doc/ref/c++/html/classgrpc_1_1_server_async_writer.html b/doc/ref/c++/html/classgrpc_1_1_server_async_writer.html new file mode 100644 index 0000000000..9034e1b399 --- /dev/null +++ b/doc/ref/c++/html/classgrpc_1_1_server_async_writer.html @@ -0,0 +1,258 @@ + + + + + + +GRPC C++: grpc::ServerAsyncWriter< W > Class Template Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc::ServerAsyncWriter< W > Class Template Reference
+
+
+ +

#include <server_context.h>

+ + + + + + + + + + + + + + + + +

+Public Member Functions

 ServerAsyncWriter (ServerContext *ctx)
 
void SendInitialMetadata (void *tag) GRPC_OVERRIDE
 
void Write (const W &msg, void *tag) GRPC_OVERRIDE
 
void Finish (const Status &status, void *tag)
 
- Public Member Functions inherited from grpc::ServerAsyncStreamingInterface
virtual ~ServerAsyncStreamingInterface ()
 
- Public Member Functions inherited from grpc::AsyncWriterInterface< W >
virtual ~AsyncWriterInterface ()
 
+

Constructor & Destructor Documentation

+ +
+
+
+template<class W >
+ + + + + +
+ + + + + + + + +
grpc::ServerAsyncWriter< W >::ServerAsyncWriter (ServerContextctx)
+
+inlineexplicit
+
+ +
+
+

Member Function Documentation

+ +
+
+
+template<class W >
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void grpc::ServerAsyncWriter< W >::Finish (const Statusstatus,
void * tag 
)
+
+inline
+
+ +
+
+ +
+
+
+template<class W >
+ + + + + +
+ + + + + + + + +
void grpc::ServerAsyncWriter< W >::SendInitialMetadata (void * tag)
+
+inlinevirtual
+
+
+ +
+
+
+template<class W >
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void grpc::ServerAsyncWriter< W >::Write (const W & msg,
void * tag 
)
+
+inlinevirtual
+
+
+
The documentation for this class was generated from the following files: +
+ + + + diff --git a/doc/ref/c++/html/classgrpc_1_1_server_builder.html b/doc/ref/c++/html/classgrpc_1_1_server_builder.html new file mode 100644 index 0000000000..2f63ed06d2 --- /dev/null +++ b/doc/ref/c++/html/classgrpc_1_1_server_builder.html @@ -0,0 +1,356 @@ + + + + + + +GRPC C++: grpc::ServerBuilder Class Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc::ServerBuilder Class Reference
+
+
+ +

#include <server_builder.h>

+ + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 ServerBuilder ()
 
void RegisterService (SynchronousService *service)
 
void RegisterAsyncService (AsynchronousService *service)
 
void RegisterAsyncGenericService (AsyncGenericService *service)
 
void RegisterService (const grpc::string &host, SynchronousService *service)
 
void RegisterAsyncService (const grpc::string &host, AsynchronousService *service)
 
void SetMaxMessageSize (int max_message_size)
 
void AddListeningPort (const grpc::string &addr, std::shared_ptr< ServerCredentials > creds, int *selected_port=nullptr)
 
void SetThreadPool (ThreadPoolInterface *thread_pool)
 
std::unique_ptr
+< ServerCompletionQueue
AddCompletionQueue ()
 
std::unique_ptr< ServerBuildAndStart ()
 
+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + +
grpc::ServerBuilder::ServerBuilder ()
+
+ +
+
+

Member Function Documentation

+ +
+
+ + + + + + + +
std::unique_ptr<ServerCompletionQueue> grpc::ServerBuilder::AddCompletionQueue ()
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void grpc::ServerBuilder::AddListeningPort (const grpc::stringaddr,
std::shared_ptr< ServerCredentialscreds,
int * selected_port = nullptr 
)
+
+ +
+
+ +
+
+ + + + + + + +
std::unique_ptr<Server> grpc::ServerBuilder::BuildAndStart ()
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc::ServerBuilder::RegisterAsyncGenericService (AsyncGenericServiceservice)
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc::ServerBuilder::RegisterAsyncService (AsynchronousServiceservice)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void grpc::ServerBuilder::RegisterAsyncService (const grpc::stringhost,
AsynchronousServiceservice 
)
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc::ServerBuilder::RegisterService (SynchronousServiceservice)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void grpc::ServerBuilder::RegisterService (const grpc::stringhost,
SynchronousServiceservice 
)
+
+ +
+
+ +
+
+ + + + + +
+ + + + + + + + +
void grpc::ServerBuilder::SetMaxMessageSize (int max_message_size)
+
+inline
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc::ServerBuilder::SetThreadPool (ThreadPoolInterfacethread_pool)
+
+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/doc/ref/c++/html/classgrpc_1_1_server_completion_queue.html b/doc/ref/c++/html/classgrpc_1_1_server_completion_queue.html new file mode 100644 index 0000000000..fffdceba54 --- /dev/null +++ b/doc/ref/c++/html/classgrpc_1_1_server_completion_queue.html @@ -0,0 +1,166 @@ + + + + + + +GRPC C++: grpc::ServerCompletionQueue Class Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc::ServerCompletionQueue Class Reference
+
+
+ +

#include <completion_queue.h>

+ + + + +

+Friends

class ServerBuilder
 
+ + + + + + + + + + + + + + + + + + + + + + + + + +

+Additional Inherited Members

- Public Types inherited from grpc::CompletionQueue
enum  NextStatus { SHUTDOWN, +GOT_EVENT, +TIMEOUT + }
 
- Public Member Functions inherited from grpc::CompletionQueue
 CompletionQueue ()
 
 CompletionQueue (grpc_completion_queue *take)
 
 ~CompletionQueue () GRPC_OVERRIDE
 
template<typename T >
NextStatus AsyncNext (void **tag, bool *ok, const T &deadline)
 
bool Next (void **tag, bool *ok)
 
void Shutdown ()
 
grpc_completion_queue * cq ()
 
- Public Member Functions inherited from grpc::GrpcLibrary
 GrpcLibrary ()
 
virtual ~GrpcLibrary ()
 
+

Friends And Related Function Documentation

+ +
+
+ + + + + +
+ + + + +
friend class ServerBuilder
+
+friend
+
+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/doc/ref/c++/html/classgrpc_1_1_server_context.html b/doc/ref/c++/html/classgrpc_1_1_server_context.html new file mode 100644 index 0000000000..4da6f961d1 --- /dev/null +++ b/doc/ref/c++/html/classgrpc_1_1_server_context.html @@ -0,0 +1,760 @@ + + + + + + +GRPC C++: grpc::ServerContext Class Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc::ServerContext Class Reference
+
+
+ +

#include <server_context.h>

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 ServerContext ()
 
 ~ServerContext ()
 
std::chrono::system_clock::time_point deadline ()
 
gpr_timespec raw_deadline ()
 
void AddInitialMetadata (const grpc::string &key, const grpc::string &value)
 
void AddTrailingMetadata (const grpc::string &key, const grpc::string &value)
 
bool IsCancelled () const
 
const std::multimap
+< grpc::string, grpc::string > & 
client_metadata ()
 
grpc_compression_level compression_level () const
 
void set_compression_level (grpc_compression_level level)
 
grpc_compression_algorithm compression_algorithm () const
 
void set_compression_algorithm (grpc_compression_algorithm algorithm)
 
std::shared_ptr< const
+AuthContext
auth_context () const
 
grpc::string peer () const
 
const struct census_context * census_context () const
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Friends

class ::grpc::testing::InteropContextInspector
 
class ::grpc::Server
 
template<class W , class R >
class ::grpc::ServerAsyncReader
 
template<class W >
class ::grpc::ServerAsyncWriter
 
template<class W >
class ::grpc::ServerAsyncResponseWriter
 
template<class R , class W >
class ::grpc::ServerAsyncReaderWriter
 
template<class R >
class ::grpc::ServerReader
 
template<class W >
class ::grpc::ServerWriter
 
template<class R , class W >
class ::grpc::ServerReaderWriter
 
template<class ServiceType , class RequestType , class ResponseType >
class RpcMethodHandler
 
template<class ServiceType , class RequestType , class ResponseType >
class ClientStreamingHandler
 
template<class ServiceType , class RequestType , class ResponseType >
class ServerStreamingHandler
 
template<class ServiceType , class RequestType , class ResponseType >
class BidiStreamingHandler
 
+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + +
grpc::ServerContext::ServerContext ()
+
+ +
+
+ +
+
+ + + + + + + +
grpc::ServerContext::~ServerContext ()
+
+ +
+
+

Member Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
void grpc::ServerContext::AddInitialMetadata (const grpc::stringkey,
const grpc::stringvalue 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void grpc::ServerContext::AddTrailingMetadata (const grpc::stringkey,
const grpc::stringvalue 
)
+
+ +
+
+ +
+
+ + + + + + + +
std::shared_ptr<const AuthContext> grpc::ServerContext::auth_context () const
+
+ +
+
+ +
+
+ + + + + + + +
const struct census_context* grpc::ServerContext::census_context () const
+
+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
const std::multimap<grpc::string, grpc::string>& grpc::ServerContext::client_metadata ()
+
+inline
+
+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
grpc_compression_algorithm grpc::ServerContext::compression_algorithm () const
+
+inline
+
+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
grpc_compression_level grpc::ServerContext::compression_level () const
+
+inline
+
+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
std::chrono::system_clock::time_point grpc::ServerContext::deadline ()
+
+inline
+
+ +
+
+ +
+
+ + + + + + + +
bool grpc::ServerContext::IsCancelled () const
+
+ +
+
+ +
+
+ + + + + + + +
grpc::string grpc::ServerContext::peer () const
+
+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
gpr_timespec grpc::ServerContext::raw_deadline ()
+
+inline
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc::ServerContext::set_compression_algorithm (grpc_compression_algorithm algorithm)
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc::ServerContext::set_compression_level (grpc_compression_level level)
+
+ +
+
+

Friends And Related Function Documentation

+ +
+
+ + + + + +
+ + + + +
friend class ::grpc::Server
+
+friend
+
+ +
+
+ +
+
+
+template<class W , class R >
+ + + + + +
+ + + + +
friend class ::grpc::ServerAsyncReader
+
+friend
+
+ +
+
+ +
+
+
+template<class R , class W >
+ + + + + +
+ + + + +
friend class ::grpc::ServerAsyncReaderWriter
+
+friend
+
+ +
+
+ +
+
+
+template<class W >
+ + + + + +
+ + + + +
friend class ::grpc::ServerAsyncResponseWriter
+
+friend
+
+ +
+
+ +
+
+
+template<class W >
+ + + + + +
+ + + + +
friend class ::grpc::ServerAsyncWriter
+
+friend
+
+ +
+
+ +
+
+
+template<class R >
+ + + + + +
+ + + + +
friend class ::grpc::ServerReader
+
+friend
+
+ +
+
+ +
+
+
+template<class R , class W >
+ + + + + +
+ + + + +
friend class ::grpc::ServerReaderWriter
+
+friend
+
+ +
+
+ +
+
+
+template<class W >
+ + + + + +
+ + + + +
friend class ::grpc::ServerWriter
+
+friend
+
+ +
+
+ +
+
+ + + + + +
+ + + + +
friend class ::grpc::testing::InteropContextInspector
+
+friend
+
+ +
+
+ +
+
+
+template<class ServiceType , class RequestType , class ResponseType >
+ + + + + +
+ + + + +
friend class BidiStreamingHandler
+
+friend
+
+ +
+
+ +
+
+
+template<class ServiceType , class RequestType , class ResponseType >
+ + + + + +
+ + + + +
friend class ClientStreamingHandler
+
+friend
+
+ +
+
+ +
+
+
+template<class ServiceType , class RequestType , class ResponseType >
+ + + + + +
+ + + + +
friend class RpcMethodHandler
+
+friend
+
+ +
+
+ +
+
+
+template<class ServiceType , class RequestType , class ResponseType >
+ + + + + +
+ + + + +
friend class ServerStreamingHandler
+
+friend
+
+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/doc/ref/c++/html/classgrpc_1_1_server_credentials.html b/doc/ref/c++/html/classgrpc_1_1_server_credentials.html new file mode 100644 index 0000000000..50448fd19f --- /dev/null +++ b/doc/ref/c++/html/classgrpc_1_1_server_credentials.html @@ -0,0 +1,166 @@ + + + + + + +GRPC C++: grpc::ServerCredentials Class Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc::ServerCredentials Class Referenceabstract
+
+
+ +

#include <server_credentials.h>

+ + + + +

+Public Member Functions

virtual ~ServerCredentials ()
 
+ + + +

+Friends

class ::grpc::Server
 
+

Constructor & Destructor Documentation

+ +
+
+ + + + + +
+ + + + + + + +
virtual grpc::ServerCredentials::~ServerCredentials ()
+
+virtual
+
+ +
+
+

Friends And Related Function Documentation

+ +
+
+ + + + + +
+ + + + +
friend class ::grpc::Server
+
+friend
+
+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/doc/ref/c++/html/classgrpc_1_1_server_reader.html b/doc/ref/c++/html/classgrpc_1_1_server_reader.html new file mode 100644 index 0000000000..cfe67da217 --- /dev/null +++ b/doc/ref/c++/html/classgrpc_1_1_server_reader.html @@ -0,0 +1,214 @@ + + + + + + +GRPC C++: grpc::ServerReader< R > Class Template Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc::ServerReader< R > Class Template Reference
+
+
+ +

#include <completion_queue.h>

+ + + + + + + + + + + +

+Public Member Functions

 ServerReader (Call *call, ServerContext *ctx)
 
void SendInitialMetadata ()
 
bool Read (R *msg) GRPC_OVERRIDE
 
- Public Member Functions inherited from grpc::ReaderInterface< R >
virtual ~ReaderInterface ()
 
+

Constructor & Destructor Documentation

+ +
+
+
+template<class R>
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
grpc::ServerReader< R >::ServerReader (Callcall,
ServerContextctx 
)
+
+inline
+
+ +
+
+

Member Function Documentation

+ +
+
+
+template<class R>
+ + + + + +
+ + + + + + + + +
bool grpc::ServerReader< R >::Read (R * msg)
+
+inlinevirtual
+
+ +

Implements grpc::ReaderInterface< R >.

+ +
+
+ +
+
+
+template<class R>
+ + + + + +
+ + + + + + + +
void grpc::ServerReader< R >::SendInitialMetadata ()
+
+inline
+
+ +
+
+
The documentation for this class was generated from the following files: +
+ + + + diff --git a/doc/ref/c++/html/classgrpc_1_1_server_reader_writer.html b/doc/ref/c++/html/classgrpc_1_1_server_reader_writer.html new file mode 100644 index 0000000000..73ba27f203 --- /dev/null +++ b/doc/ref/c++/html/classgrpc_1_1_server_reader_writer.html @@ -0,0 +1,259 @@ + + + + + + +GRPC C++: grpc::ServerReaderWriter< R, W > Class Template Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc::ServerReaderWriter< R, W > Class Template Reference
+
+
+ +

#include <completion_queue.h>

+ + + + + + + + + + + + + + + + + + +

+Public Member Functions

 ServerReaderWriter (Call *call, ServerContext *ctx)
 
void SendInitialMetadata ()
 
bool Read (R *msg) GRPC_OVERRIDE
 
bool Write (const W &msg, const WriteOptions &options) GRPC_OVERRIDE
 
- Public Member Functions inherited from grpc::WriterInterface< W >
virtual ~WriterInterface ()
 
bool Write (const W &msg)
 
- Public Member Functions inherited from grpc::ReaderInterface< R >
virtual ~ReaderInterface ()
 
+

Constructor & Destructor Documentation

+ +
+
+
+template<class R, class W>
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
grpc::ServerReaderWriter< R, W >::ServerReaderWriter (Callcall,
ServerContextctx 
)
+
+inline
+
+ +
+
+

Member Function Documentation

+ +
+
+
+template<class R, class W>
+ + + + + +
+ + + + + + + + +
bool grpc::ServerReaderWriter< R, W >::Read (R * msg)
+
+inlinevirtual
+
+ +

Implements grpc::ReaderInterface< R >.

+ +
+
+ +
+
+
+template<class R, class W>
+ + + + + +
+ + + + + + + +
void grpc::ServerReaderWriter< R, W >::SendInitialMetadata ()
+
+inline
+
+ +
+
+ +
+
+
+template<class R, class W>
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
bool grpc::ServerReaderWriter< R, W >::Write (const W & msg,
const WriteOptionsoptions 
)
+
+inlinevirtual
+
+ +

Implements grpc::WriterInterface< W >.

+ +
+
+
The documentation for this class was generated from the following files: +
+ + + + diff --git a/doc/ref/c++/html/classgrpc_1_1_server_streaming_handler.html b/doc/ref/c++/html/classgrpc_1_1_server_streaming_handler.html new file mode 100644 index 0000000000..9d001206d3 --- /dev/null +++ b/doc/ref/c++/html/classgrpc_1_1_server_streaming_handler.html @@ -0,0 +1,187 @@ + + + + + + +GRPC C++: grpc::ServerStreamingHandler< ServiceType, RequestType, ResponseType > Class Template Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc::ServerStreamingHandler< ServiceType, RequestType, ResponseType > Class Template Reference
+
+
+ +

#include <completion_queue.h>

+ + + + + + + + + +

+Public Member Functions

 ServerStreamingHandler (std::function< Status(ServiceType *, ServerContext *, const RequestType *, ServerWriter< ResponseType > *)> func, ServiceType *service)
 
void RunHandler (const HandlerParameter &param)
 
- Public Member Functions inherited from grpc::MethodHandler
virtual ~MethodHandler ()
 
+

Constructor & Destructor Documentation

+ +
+
+
+template<class ServiceType , class RequestType , class ResponseType >
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
grpc::ServerStreamingHandler< ServiceType, RequestType, ResponseType >::ServerStreamingHandler (std::function< Status(ServiceType *, ServerContext *, const RequestType *, ServerWriter< ResponseType > *)> func,
ServiceType * service 
)
+
+inline
+
+ +
+
+

Member Function Documentation

+ +
+
+
+template<class ServiceType , class RequestType , class ResponseType >
+ + + + + +
+ + + + + + + + +
void grpc::ServerStreamingHandler< ServiceType, RequestType, ResponseType >::RunHandler (const HandlerParameterparam)
+
+inlinevirtual
+
+ +

Implements grpc::MethodHandler.

+ +
+
+
The documentation for this class was generated from the following files: +
+ + + + diff --git a/doc/ref/c++/html/classgrpc_1_1_server_writer.html b/doc/ref/c++/html/classgrpc_1_1_server_writer.html new file mode 100644 index 0000000000..f37959ac89 --- /dev/null +++ b/doc/ref/c++/html/classgrpc_1_1_server_writer.html @@ -0,0 +1,226 @@ + + + + + + +GRPC C++: grpc::ServerWriter< W > Class Template Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc::ServerWriter< W > Class Template Reference
+
+
+ +

#include <completion_queue.h>

+ + + + + + + + + + + + + +

+Public Member Functions

 ServerWriter (Call *call, ServerContext *ctx)
 
void SendInitialMetadata ()
 
bool Write (const W &msg, const WriteOptions &options) GRPC_OVERRIDE
 
- Public Member Functions inherited from grpc::WriterInterface< W >
virtual ~WriterInterface ()
 
bool Write (const W &msg)
 
+

Constructor & Destructor Documentation

+ +
+
+
+template<class W>
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
grpc::ServerWriter< W >::ServerWriter (Callcall,
ServerContextctx 
)
+
+inline
+
+ +
+
+

Member Function Documentation

+ +
+
+
+template<class W>
+ + + + + +
+ + + + + + + +
void grpc::ServerWriter< W >::SendInitialMetadata ()
+
+inline
+
+ +
+
+ +
+
+
+template<class W>
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
bool grpc::ServerWriter< W >::Write (const W & msg,
const WriteOptionsoptions 
)
+
+inlinevirtual
+
+ +

Implements grpc::WriterInterface< W >.

+ +
+
+
The documentation for this class was generated from the following files: +
+ + + + diff --git a/doc/ref/c++/html/classgrpc_1_1_slice.html b/doc/ref/c++/html/classgrpc_1_1_slice.html new file mode 100644 index 0000000000..111fd189fb --- /dev/null +++ b/doc/ref/c++/html/classgrpc_1_1_slice.html @@ -0,0 +1,394 @@ + + + + + + +GRPC C++: grpc::Slice Class Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc::Slice Class Reference
+
+
+ +

#include <slice.h>

+ + + + + + +

+Public Types

enum  AddRef { ADD_REF + }
 
enum  StealRef { STEAL_REF + }
 
+ + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 Slice ()
 
 ~Slice ()
 
 Slice (gpr_slice slice, AddRef)
 
 Slice (gpr_slice slice, StealRef)
 
 Slice (const Slice &other)
 
Sliceoperator= (Slice other)
 
size_t size () const
 
const gpr_uint8 * begin () const
 
const gpr_uint8 * end () const
 
+ + + +

+Friends

class ByteBuffer
 
+

Member Enumeration Documentation

+ +
+
+ + + + +
enum grpc::Slice::AddRef
+
+ + +
Enumerator
ADD_REF  +
+ +
+
+ +
+
+ + + + +
enum grpc::Slice::StealRef
+
+ + +
Enumerator
STEAL_REF  +
+ +
+
+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + +
grpc::Slice::Slice ()
+
+ +
+
+ +
+
+ + + + + + + +
grpc::Slice::~Slice ()
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
grpc::Slice::Slice (gpr_slice slice,
AddRef  
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
grpc::Slice::Slice (gpr_slice slice,
StealRef  
)
+
+ +
+
+ +
+
+ + + + + + + + +
grpc::Slice::Slice (const Sliceother)
+
+ +
+
+

Member Function Documentation

+ +
+
+ + + + + +
+ + + + + + + +
const gpr_uint8* grpc::Slice::begin () const
+
+inline
+
+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
const gpr_uint8* grpc::Slice::end () const
+
+inline
+
+ +
+
+ +
+
+ + + + + +
+ + + + + + + + +
Slice& grpc::Slice::operator= (Slice other)
+
+inline
+
+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
size_t grpc::Slice::size () const
+
+inline
+
+ +
+
+

Friends And Related Function Documentation

+ +
+
+ + + + + +
+ + + + +
friend class ByteBuffer
+
+friend
+
+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/doc/ref/c++/html/classgrpc_1_1_sneaky_call_op_set.html b/doc/ref/c++/html/classgrpc_1_1_sneaky_call_op_set.html new file mode 100644 index 0000000000..6a23ab8c44 --- /dev/null +++ b/doc/ref/c++/html/classgrpc_1_1_sneaky_call_op_set.html @@ -0,0 +1,185 @@ + + + + + + +GRPC C++: grpc::SneakyCallOpSet< Op1, Op2, Op3, Op4, Op5, Op6 > Class Template Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc::SneakyCallOpSet< Op1, Op2, Op3, Op4, Op5, Op6 > Class Template Reference
+
+
+ +

A CallOpSet that does not post completions to the completion queue. + More...

+ +

#include <call.h>

+ + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

bool FinalizeResult (void **tag, bool *status) GRPC_OVERRIDE
 
- Public Member Functions inherited from grpc::CallOpSet< Op1, Op2, Op3, Op4, Op5, Op6 >
 CallOpSet ()
 
void FillOps (grpc_op *ops, size_t *nops) GRPC_OVERRIDE
 Fills in grpc_op, starting from ops[*nops] and moving upwards. More...
 
void set_output_tag (void *return_tag)
 
- Public Member Functions inherited from grpc::CallOpSetInterface
 CallOpSetInterface ()
 
void set_max_message_size (int max_message_size)
 
- Public Member Functions inherited from grpc::CompletionQueueTag
virtual ~CompletionQueueTag ()
 
+ + + + +

+Additional Inherited Members

- Protected Attributes inherited from grpc::CallOpSetInterface
int max_message_size_
 
+

Detailed Description

+

template<class Op1 = CallNoOp<1>, class Op2 = CallNoOp<2>, class Op3 = CallNoOp<3>, class Op4 = CallNoOp<4>, class Op5 = CallNoOp<5>, class Op6 = CallNoOp<6>>
+class grpc::SneakyCallOpSet< Op1, Op2, Op3, Op4, Op5, Op6 >

+ +

A CallOpSet that does not post completions to the completion queue.

+

Allows hiding some completions that the C core must generate from C++ users.

+

Member Function Documentation

+ +
+
+
+template<class Op1 = CallNoOp<1>, class Op2 = CallNoOp<2>, class Op3 = CallNoOp<3>, class Op4 = CallNoOp<4>, class Op5 = CallNoOp<5>, class Op6 = CallNoOp<6>>
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
bool grpc::SneakyCallOpSet< Op1, Op2, Op3, Op4, Op5, Op6 >::FinalizeResult (void ** tag,
bool * status 
)
+
+inlinevirtual
+
+
+
The documentation for this class was generated from the following file:
    +
  • include/grpc++/impl/call.h
  • +
+
+ + + + diff --git a/doc/ref/c++/html/classgrpc_1_1_status.html b/doc/ref/c++/html/classgrpc_1_1_status.html new file mode 100644 index 0000000000..2f2170beb9 --- /dev/null +++ b/doc/ref/c++/html/classgrpc_1_1_status.html @@ -0,0 +1,300 @@ + + + + + + +GRPC C++: grpc::Status Class Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc::Status Class Reference
+
+
+ +

#include <status.h>

+ + + + + + + + + + + + +

+Public Member Functions

 Status ()
 
 Status (StatusCode code, const grpc::string &details)
 
StatusCode error_code () const
 
grpc::string error_message () const
 
bool ok () const
 
+ + + + + +

+Static Public Attributes

static const StatusOK
 
static const StatusCANCELLED
 
+

Constructor & Destructor Documentation

+ +
+
+ + + + + +
+ + + + + + + +
grpc::Status::Status ()
+
+inline
+
+ +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
grpc::Status::Status (StatusCode code,
const grpc::stringdetails 
)
+
+inline
+
+ +
+
+

Member Function Documentation

+ +
+
+ + + + + +
+ + + + + + + +
StatusCode grpc::Status::error_code () const
+
+inline
+
+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
grpc::string grpc::Status::error_message () const
+
+inline
+
+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
bool grpc::Status::ok () const
+
+inline
+
+ +
+
+

Field Documentation

+ +
+
+ + + + + +
+ + + + +
const Status& grpc::Status::CANCELLED
+
+static
+
+ +
+
+ +
+
+ + + + + +
+ + + + +
const Status& grpc::Status::OK
+
+static
+
+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/doc/ref/c++/html/classgrpc_1_1_synchronous_service.html b/doc/ref/c++/html/classgrpc_1_1_synchronous_service.html new file mode 100644 index 0000000000..54a5a93352 --- /dev/null +++ b/doc/ref/c++/html/classgrpc_1_1_synchronous_service.html @@ -0,0 +1,165 @@ + + + + + + +GRPC C++: grpc::SynchronousService Class Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc::SynchronousService Class Referenceabstract
+
+
+ +

#include <service_type.h>

+ + + + + + +

+Public Member Functions

virtual ~SynchronousService ()
 
virtual RpcServiceservice ()=0
 
+

Constructor & Destructor Documentation

+ +
+
+ + + + + +
+ + + + + + + +
virtual grpc::SynchronousService::~SynchronousService ()
+
+inlinevirtual
+
+ +
+
+

Member Function Documentation

+ +
+
+ + + + + +
+ + + + + + + +
virtual RpcService* grpc::SynchronousService::service ()
+
+pure virtual
+
+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/doc/ref/c++/html/classgrpc_1_1_thread_pool_interface.html b/doc/ref/c++/html/classgrpc_1_1_thread_pool_interface.html new file mode 100644 index 0000000000..bd82816c7e --- /dev/null +++ b/doc/ref/c++/html/classgrpc_1_1_thread_pool_interface.html @@ -0,0 +1,168 @@ + + + + + + +GRPC C++: grpc::ThreadPoolInterface Class Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc::ThreadPoolInterface Class Referenceabstract
+
+
+ +

#include <thread_pool_interface.h>

+ + + + + + +

+Public Member Functions

virtual ~ThreadPoolInterface ()
 
virtual void Add (const std::function< void()> &callback)=0
 
+

Constructor & Destructor Documentation

+ +
+
+ + + + + +
+ + + + + + + +
virtual grpc::ThreadPoolInterface::~ThreadPoolInterface ()
+
+inlinevirtual
+
+ +
+
+

Member Function Documentation

+ +
+
+ + + + + +
+ + + + + + + + +
virtual void grpc::ThreadPoolInterface::Add (const std::function< void()> & callback)
+
+pure virtual
+
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/doc/ref/c++/html/classgrpc_1_1_time_point.html b/doc/ref/c++/html/classgrpc_1_1_time_point.html new file mode 100644 index 0000000000..64343a7754 --- /dev/null +++ b/doc/ref/c++/html/classgrpc_1_1_time_point.html @@ -0,0 +1,170 @@ + + + + + + +GRPC C++: grpc::TimePoint< T > Class Template Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc::TimePoint< T > Class Template Reference
+
+
+ +

#include <time.h>

+ + + + + + +

+Public Member Functions

 TimePoint (const T &time)
 
gpr_timespec raw_time ()
 
+

Constructor & Destructor Documentation

+ +
+
+
+template<typename T>
+ + + + + +
+ + + + + + + + +
grpc::TimePoint< T >::TimePoint (const T & time)
+
+inline
+
+ +
+
+

Member Function Documentation

+ +
+
+
+template<typename T>
+ + + + + +
+ + + + + + + +
gpr_timespec grpc::TimePoint< T >::raw_time ()
+
+inline
+
+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/doc/ref/c++/html/classgrpc_1_1_time_point_3_01gpr__timespec_01_4.html b/doc/ref/c++/html/classgrpc_1_1_time_point_3_01gpr__timespec_01_4.html new file mode 100644 index 0000000000..4f29901322 --- /dev/null +++ b/doc/ref/c++/html/classgrpc_1_1_time_point_3_01gpr__timespec_01_4.html @@ -0,0 +1,166 @@ + + + + + + +GRPC C++: grpc::TimePoint< gpr_timespec > Class Template Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc::TimePoint< gpr_timespec > Class Template Reference
+
+
+ +

#include <time.h>

+ + + + + + +

+Public Member Functions

 TimePoint (const gpr_timespec &time)
 
gpr_timespec raw_time ()
 
+

Constructor & Destructor Documentation

+ +
+
+ + + + + +
+ + + + + + + + +
grpc::TimePoint< gpr_timespec >::TimePoint (const gpr_timespec & time)
+
+inline
+
+ +
+
+

Member Function Documentation

+ +
+
+ + + + + +
+ + + + + + + +
gpr_timespec grpc::TimePoint< gpr_timespec >::raw_time ()
+
+inline
+
+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/doc/ref/c++/html/classgrpc_1_1_time_point_3_01std_1_1chrono_1_1system__clock_1_1time__point_01_4.html b/doc/ref/c++/html/classgrpc_1_1_time_point_3_01std_1_1chrono_1_1system__clock_1_1time__point_01_4.html new file mode 100644 index 0000000000..9df2a529ef --- /dev/null +++ b/doc/ref/c++/html/classgrpc_1_1_time_point_3_01std_1_1chrono_1_1system__clock_1_1time__point_01_4.html @@ -0,0 +1,166 @@ + + + + + + +GRPC C++: grpc::TimePoint< std::chrono::system_clock::time_point > Class Template Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc::TimePoint< std::chrono::system_clock::time_point > Class Template Reference
+
+
+ +

#include <time.h>

+ + + + + + +

+Public Member Functions

 TimePoint (const std::chrono::system_clock::time_point &time)
 
gpr_timespec raw_time () const
 
+

Constructor & Destructor Documentation

+ +
+
+ + + + + +
+ + + + + + + + +
grpc::TimePoint< std::chrono::system_clock::time_point >::TimePoint (const std::chrono::system_clock::time_point & time)
+
+inline
+
+ +
+
+

Member Function Documentation

+ +
+
+ + + + + +
+ + + + + + + +
gpr_timespec grpc::TimePoint< std::chrono::system_clock::time_point >::raw_time () const
+
+inline
+
+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/doc/ref/c++/html/classgrpc_1_1_write_options.html b/doc/ref/c++/html/classgrpc_1_1_write_options.html new file mode 100644 index 0000000000..06ca54cc65 --- /dev/null +++ b/doc/ref/c++/html/classgrpc_1_1_write_options.html @@ -0,0 +1,427 @@ + + + + + + +GRPC C++: grpc::WriteOptions Class Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc::WriteOptions Class Reference
+
+
+ +

Per-message write options. + More...

+ +

#include <call.h>

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 WriteOptions ()
 
 WriteOptions (const WriteOptions &other)
 
void Clear ()
 Clear all flags. More...
 
gpr_uint32 flags () const
 Returns raw flags bitset. More...
 
WriteOptionsset_no_compression ()
 Sets flag for the disabling of compression for the next message write. More...
 
WriteOptionsclear_no_compression ()
 Clears flag for the disabling of compression for the next message write. More...
 
bool get_no_compression () const
 Get value for the flag indicating whether compression for the next message write is forcefully disabled. More...
 
WriteOptionsset_buffer_hint ()
 Sets flag indicating that the write may be buffered and need not go out on the wire immediately. More...
 
WriteOptionsclear_buffer_hint ()
 Clears flag indicating that the write may be buffered and need not go out on the wire immediately. More...
 
bool get_buffer_hint () const
 Get value for the flag indicating that the write may be buffered and need not go out on the wire immediately. More...
 
WriteOptionsoperator= (const WriteOptions &rhs)
 
+

Detailed Description

+

Per-message write options.

+

Constructor & Destructor Documentation

+ +
+
+ + + + + +
+ + + + + + + +
grpc::WriteOptions::WriteOptions ()
+
+inline
+
+ +
+
+ +
+
+ + + + + +
+ + + + + + + + +
grpc::WriteOptions::WriteOptions (const WriteOptionsother)
+
+inline
+
+ +
+
+

Member Function Documentation

+ +
+
+ + + + + +
+ + + + + + + +
void grpc::WriteOptions::Clear ()
+
+inline
+
+ +

Clear all flags.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
WriteOptions& grpc::WriteOptions::clear_buffer_hint ()
+
+inline
+
+ +

Clears flag indicating that the write may be buffered and need not go out on the wire immediately.

+
See Also
GRPC_WRITE_BUFFER_HINT
+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
WriteOptions& grpc::WriteOptions::clear_no_compression ()
+
+inline
+
+ +

Clears flag for the disabling of compression for the next message write.

+
See Also
GRPC_WRITE_NO_COMPRESS
+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
gpr_uint32 grpc::WriteOptions::flags () const
+
+inline
+
+ +

Returns raw flags bitset.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
bool grpc::WriteOptions::get_buffer_hint () const
+
+inline
+
+ +

Get value for the flag indicating that the write may be buffered and need not go out on the wire immediately.

+
See Also
GRPC_WRITE_BUFFER_HINT
+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
bool grpc::WriteOptions::get_no_compression () const
+
+inline
+
+ +

Get value for the flag indicating whether compression for the next message write is forcefully disabled.

+
See Also
GRPC_WRITE_NO_COMPRESS
+ +
+
+ +
+
+ + + + + +
+ + + + + + + + +
WriteOptions& grpc::WriteOptions::operator= (const WriteOptionsrhs)
+
+inline
+
+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
WriteOptions& grpc::WriteOptions::set_buffer_hint ()
+
+inline
+
+ +

Sets flag indicating that the write may be buffered and need not go out on the wire immediately.

+
See Also
GRPC_WRITE_BUFFER_HINT
+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
WriteOptions& grpc::WriteOptions::set_no_compression ()
+
+inline
+
+ +

Sets flag for the disabling of compression for the next message write.

+
See Also
GRPC_WRITE_NO_COMPRESS
+ +
+
+
The documentation for this class was generated from the following file:
    +
  • include/grpc++/impl/call.h
  • +
+
+ + + + diff --git a/doc/ref/c++/html/classgrpc_1_1_writer_interface.html b/doc/ref/c++/html/classgrpc_1_1_writer_interface.html new file mode 100644 index 0000000000..9d8b25ecc8 --- /dev/null +++ b/doc/ref/c++/html/classgrpc_1_1_writer_interface.html @@ -0,0 +1,210 @@ + + + + + + +GRPC C++: grpc::WriterInterface< W > Class Template Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc::WriterInterface< W > Class Template Referenceabstract
+
+
+ +

#include <stream.h>

+ + + + + + + + +

+Public Member Functions

virtual ~WriterInterface ()
 
virtual bool Write (const W &msg, const WriteOptions &options)=0
 
bool Write (const W &msg)
 
+

Constructor & Destructor Documentation

+ +
+
+
+template<class W >
+ + + + + +
+ + + + + + + +
virtual grpc::WriterInterface< W >::~WriterInterface ()
+
+inlinevirtual
+
+ +
+
+

Member Function Documentation

+ +
+
+
+template<class W >
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
virtual bool grpc::WriterInterface< W >::Write (const W & msg,
const WriteOptionsoptions 
)
+
+pure virtual
+
+
+ +
+
+
+template<class W >
+ + + + + +
+ + + + + + + + +
bool grpc::WriterInterface< W >::Write (const W & msg)
+
+inline
+
+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/doc/ref/c++/html/classgrpc_1_1condition__variable.html b/doc/ref/c++/html/classgrpc_1_1condition__variable.html new file mode 100644 index 0000000000..4fcdcc8dcf --- /dev/null +++ b/doc/ref/c++/html/classgrpc_1_1condition__variable.html @@ -0,0 +1,241 @@ + + + + + + +GRPC C++: grpc::condition_variable Class Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc::condition_variable Class Reference
+
+
+ +

#include <sync_no_cxx11.h>

+ + + + + + + + + + + + +

+Public Member Functions

 condition_variable ()
 
 ~condition_variable ()
 
void wait (lock_guard< mutex > &mu)
 
void notify_one ()
 
void notify_all ()
 
+

Constructor & Destructor Documentation

+ +
+
+ + + + + +
+ + + + + + + +
grpc::condition_variable::condition_variable ()
+
+inline
+
+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
grpc::condition_variable::~condition_variable ()
+
+inline
+
+ +
+
+

Member Function Documentation

+ +
+
+ + + + + +
+ + + + + + + +
void grpc::condition_variable::notify_all ()
+
+inline
+
+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
void grpc::condition_variable::notify_one ()
+
+inline
+
+ +
+
+ +
+
+ + + + + +
+ + + + + + + + +
void grpc::condition_variable::wait (lock_guard< mutex > & mu)
+
+inline
+
+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/doc/ref/c++/html/classgrpc_1_1lock__guard.html b/doc/ref/c++/html/classgrpc_1_1lock__guard.html new file mode 100644 index 0000000000..017b36ba8b --- /dev/null +++ b/doc/ref/c++/html/classgrpc_1_1lock__guard.html @@ -0,0 +1,257 @@ + + + + + + +GRPC C++: grpc::lock_guard< mutex > Class Template Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc::lock_guard< mutex > Class Template Reference
+
+
+ +

#include <sync_no_cxx11.h>

+ + + + + + +

+Public Member Functions

 lock_guard (mutex &mu)
 
 ~lock_guard ()
 
+ + + + + +

+Protected Member Functions

void lock_internal ()
 
void unlock_internal ()
 
+ + + +

+Friends

class condition_variable
 
+

Constructor & Destructor Documentation

+ +
+
+
+template<class mutex>
+ + + + + +
+ + + + + + + + +
grpc::lock_guard< mutex >::lock_guard (mutexmu)
+
+inline
+
+ +
+
+ +
+
+
+template<class mutex>
+ + + + + +
+ + + + + + + +
grpc::lock_guard< mutex >::~lock_guard ()
+
+inline
+
+ +
+
+

Member Function Documentation

+ +
+
+
+template<class mutex>
+ + + + + +
+ + + + + + + +
void grpc::lock_guard< mutex >::lock_internal ()
+
+inlineprotected
+
+ +
+
+ +
+
+
+template<class mutex>
+ + + + + +
+ + + + + + + +
void grpc::lock_guard< mutex >::unlock_internal ()
+
+inlineprotected
+
+ +
+
+

Friends And Related Function Documentation

+ +
+
+
+template<class mutex>
+ + + + + +
+ + + + +
friend class condition_variable
+
+friend
+
+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/doc/ref/c++/html/classgrpc_1_1mutex.html b/doc/ref/c++/html/classgrpc_1_1mutex.html new file mode 100644 index 0000000000..a4540fead7 --- /dev/null +++ b/doc/ref/c++/html/classgrpc_1_1mutex.html @@ -0,0 +1,216 @@ + + + + + + +GRPC C++: grpc::mutex Class Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc::mutex Class Reference
+
+
+ +

#include <sync_no_cxx11.h>

+ + + + + + +

+Public Member Functions

 mutex ()
 
 ~mutex ()
 
+ + + + + + +

+Friends

template<class mutex >
class lock_guard
 
class condition_variable
 
+

Constructor & Destructor Documentation

+ +
+
+ + + + + +
+ + + + + + + +
grpc::mutex::mutex ()
+
+inline
+
+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
grpc::mutex::~mutex ()
+
+inline
+
+ +
+
+

Friends And Related Function Documentation

+ +
+
+ + + + + +
+ + + + +
friend class condition_variable
+
+friend
+
+ +
+
+ +
+
+
+template<class mutex >
+ + + + + +
+ + + + +
friend class lock_guard
+
+friend
+
+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/doc/ref/c++/html/classgrpc_1_1thread.html b/doc/ref/c++/html/classgrpc_1_1thread.html new file mode 100644 index 0000000000..f9ccc3796d --- /dev/null +++ b/doc/ref/c++/html/classgrpc_1_1thread.html @@ -0,0 +1,205 @@ + + + + + + +GRPC C++: grpc::thread Class Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc::thread Class Reference
+
+
+ +

#include <thd_no_cxx11.h>

+ + + + + + + + + +

+Public Member Functions

template<class T >
 thread (void(T::*fptr)(), T *obj)
 
 ~thread ()
 
void join ()
 
+

Constructor & Destructor Documentation

+ +
+
+
+template<class T >
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
grpc::thread::thread (void(T::*)() fptr,
T * obj 
)
+
+inline
+
+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
grpc::thread::~thread ()
+
+inline
+
+ +
+
+

Member Function Documentation

+ +
+
+ + + + + +
+ + + + + + + +
void grpc::thread::join ()
+
+inline
+
+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/doc/ref/c++/html/classgrpc_1_1unique__lock.html b/doc/ref/c++/html/classgrpc_1_1unique__lock.html new file mode 100644 index 0000000000..2ef2f7d762 --- /dev/null +++ b/doc/ref/c++/html/classgrpc_1_1unique__lock.html @@ -0,0 +1,210 @@ + + + + + + +GRPC C++: grpc::unique_lock< mutex > Class Template Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc::unique_lock< mutex > Class Template Reference
+
+
+ +

#include <sync_no_cxx11.h>

+ + + + + + + + + + + + + +

+Public Member Functions

 unique_lock (mutex &mu)
 
void lock ()
 
void unlock ()
 
- Public Member Functions inherited from grpc::lock_guard< mutex >
 lock_guard (mutex &mu)
 
 ~lock_guard ()
 
+ + + + + + +

+Additional Inherited Members

- Protected Member Functions inherited from grpc::lock_guard< mutex >
void lock_internal ()
 
void unlock_internal ()
 
+

Constructor & Destructor Documentation

+ +
+
+
+template<class mutex >
+ + + + + +
+ + + + + + + + +
grpc::unique_lock< mutex >::unique_lock (mutexmu)
+
+inline
+
+ +
+
+

Member Function Documentation

+ +
+
+
+template<class mutex >
+ + + + + +
+ + + + + + + +
void grpc::unique_lock< mutex >::lock ()
+
+inline
+
+ +
+
+ +
+
+
+template<class mutex >
+ + + + + +
+ + + + + + + +
void grpc::unique_lock< mutex >::unlock ()
+
+inline
+
+ +
+
+
The documentation for this class was generated from the following file: +
+ + + + diff --git a/doc/ref/c++/html/client__context_8h.html b/doc/ref/c++/html/client__context_8h.html new file mode 100644 index 0000000000..1764f6fa99 --- /dev/null +++ b/doc/ref/c++/html/client__context_8h.html @@ -0,0 +1,140 @@ + + + + + + +GRPC C++: include/grpc++/client_context.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
client_context.h File Reference
+
+
+
#include <map>
+#include <memory>
+#include <string>
+#include <grpc/compression.h>
+#include <grpc/support/log.h>
+#include <grpc/support/time.h>
+#include <grpc++/auth_context.h>
+#include <grpc++/config.h>
+#include <grpc++/status.h>
+#include <grpc++/time.h>
+
+

Go to the source code of this file.

+ + + + + + + + + + + + + + + + + + +

+Data Structures

class  grpc::ClientReader< R >
 
class  grpc::ClientWriter< W >
 
class  grpc::ClientReaderWriter< R, W >
 
class  grpc::ClientAsyncReader< R >
 
class  grpc::ClientAsyncWriter< W >
 
class  grpc::ClientAsyncReaderWriter< R, W >
 
class  grpc::ClientAsyncResponseReader< R >
 
class  grpc::ClientContext
 
+ + + +

+Namespaces

 grpc
 
+
+ + + + diff --git a/doc/ref/c++/html/client__context_8h_source.html b/doc/ref/c++/html/client__context_8h_source.html new file mode 100644 index 0000000000..13a9f3f6d9 --- /dev/null +++ b/doc/ref/c++/html/client__context_8h_source.html @@ -0,0 +1,329 @@ + + + + + + +GRPC C++: include/grpc++/client_context.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
client_context.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPCXX_CLIENT_CONTEXT_H
+
35 #define GRPCXX_CLIENT_CONTEXT_H
+
36 
+
37 #include <map>
+
38 #include <memory>
+
39 #include <string>
+
40 
+
41 #include <grpc/compression.h>
+
42 #include <grpc/support/log.h>
+
43 #include <grpc/support/time.h>
+
44 #include <grpc++/auth_context.h>
+
45 #include <grpc++/config.h>
+
46 #include <grpc++/status.h>
+
47 #include <grpc++/time.h>
+
48 
+
49 struct grpc_call;
+
50 struct grpc_completion_queue;
+
51 struct census_context;
+
52 
+
53 namespace grpc {
+
54 
+
55 class ChannelInterface;
+
56 class CompletionQueue;
+
57 class Credentials;
+
58 class RpcMethod;
+
59 template <class R>
+ +
61 template <class W>
+ +
63 template <class R, class W>
+ +
65 template <class R>
+ +
67 template <class W>
+ +
69 template <class R, class W>
+ +
71 template <class R>
+ +
73 
+ +
75  public:
+
76  ClientContext();
+ +
78 
+
79  void AddMetadata(const grpc::string& meta_key,
+
80  const grpc::string& meta_value);
+
81 
+
82  const std::multimap<grpc::string, grpc::string>& GetServerInitialMetadata() {
+
83  GPR_ASSERT(initial_metadata_received_);
+
84  return recv_initial_metadata_;
+
85  }
+
86 
+
87  const std::multimap<grpc::string, grpc::string>& GetServerTrailingMetadata() {
+
88  // TODO(yangg) check finished
+
89  return trailing_metadata_;
+
90  }
+
91 
+
92  template <typename T>
+
93  void set_deadline(const T& deadline) {
+
94  TimePoint<T> deadline_tp(deadline);
+
95  deadline_ = deadline_tp.raw_time();
+
96  }
+
97 
+
98 #ifndef GRPC_CXX0X_NO_CHRONO
+
99  std::chrono::system_clock::time_point deadline() {
+
100  return Timespec2Timepoint(deadline_);
+
101  }
+
102 #endif // !GRPC_CXX0X_NO_CHRONO
+
103 
+
104  gpr_timespec raw_deadline() { return deadline_; }
+
105 
+
106  void set_authority(const grpc::string& authority) { authority_ = authority; }
+
107 
+
108  // Set credentials for the rpc.
+
109  void set_credentials(const std::shared_ptr<Credentials>& creds) {
+
110  creds_ = creds;
+
111  }
+
112 
+
113  grpc_compression_algorithm compression_algorithm() const {
+
114  return compression_algorithm_;
+
115  }
+
116 
+
117  void set_compression_algorithm(grpc_compression_algorithm algorithm);
+
118 
+
119  std::shared_ptr<const AuthContext> auth_context() const;
+
120 
+
121  // Return the peer uri in a string.
+
122  // WARNING: this value is never authenticated or subject to any security
+
123  // related code. It must not be used for any authentication related
+
124  // functionality. Instead, use auth_context.
+
125  grpc::string peer() const;
+
126 
+
127  // Get and set census context
+
128  void set_census_context(struct census_context* ccp) { census_context_ = ccp; }
+
129  struct census_context* census_context() const { return census_context_; }
+
130 
+
131  void TryCancel();
+
132 
+
133  private:
+
134  // Disallow copy and assign.
+ +
136  ClientContext& operator=(const ClientContext&);
+
137 
+ + +
140  friend class Channel;
+
141  template <class R>
+
142  friend class ::grpc::ClientReader;
+
143  template <class W>
+
144  friend class ::grpc::ClientWriter;
+
145  template <class R, class W>
+
146  friend class ::grpc::ClientReaderWriter;
+
147  template <class R>
+
148  friend class ::grpc::ClientAsyncReader;
+
149  template <class W>
+
150  friend class ::grpc::ClientAsyncWriter;
+
151  template <class R, class W>
+
152  friend class ::grpc::ClientAsyncReaderWriter;
+
153  template <class R>
+
154  friend class ::grpc::ClientAsyncResponseReader;
+
155  template <class InputMessage, class OutputMessage>
+
156  friend Status BlockingUnaryCall(ChannelInterface* channel,
+
157  const RpcMethod& method,
+
158  ClientContext* context,
+
159  const InputMessage& request,
+
160  OutputMessage* result);
+
161 
+
162  grpc_call* call() { return call_; }
+
163  void set_call(grpc_call* call,
+
164  const std::shared_ptr<ChannelInterface>& channel);
+
165 
+
166  grpc_completion_queue* cq() { return cq_; }
+
167  void set_cq(grpc_completion_queue* cq) { cq_ = cq; }
+
168 
+
169  grpc::string authority() { return authority_; }
+
170 
+
171  bool initial_metadata_received_;
+
172  std::shared_ptr<ChannelInterface> channel_;
+
173  grpc_call* call_;
+
174  grpc_completion_queue* cq_;
+
175  gpr_timespec deadline_;
+
176  grpc::string authority_;
+
177  std::shared_ptr<Credentials> creds_;
+
178  mutable std::shared_ptr<const AuthContext> auth_context_;
+
179  struct census_context* census_context_;
+
180  std::multimap<grpc::string, grpc::string> send_initial_metadata_;
+
181  std::multimap<grpc::string, grpc::string> recv_initial_metadata_;
+
182  std::multimap<grpc::string, grpc::string> trailing_metadata_;
+
183 
+
184  grpc_compression_algorithm compression_algorithm_;
+
185 };
+
186 
+
187 } // namespace grpc
+
188 
+
189 #endif // GRPCXX_CLIENT_CONTEXT_H
+
Definition: client_context.h:70
+
Definition: client_context.h:60
+
std::string string
Definition: config.h:112
+
std::chrono::system_clock::time_point deadline()
Definition: client_context.h:99
+ +
const std::multimap< grpc::string, grpc::string > & GetServerTrailingMetadata()
Definition: client_context.h:87
+
Definition: call.h:431
+
void set_deadline(const T &deadline)
Definition: client_context.h:93
+
grpc::string peer() const
+ +
gpr_timespec raw_time()
Definition: time.h:56
+
Definition: time.h:53
+
Definition: async_unary_call.h:57
+
Definition: client_context.h:74
+
std::shared_ptr< const AuthContext > auth_context() const
+ + +
struct census_context * census_context() const
Definition: client_context.h:129
+ +
void set_census_context(struct census_context *ccp)
Definition: client_context.h:128
+
grpc_compression_algorithm compression_algorithm() const
Definition: client_context.h:113
+
friend Status BlockingUnaryCall(ChannelInterface *channel, const RpcMethod &method, ClientContext *context, const InputMessage &request, OutputMessage *result)
Definition: client_unary_call.h:51
+
Definition: channel_interface.h:52
+
Definition: client_context.h:68
+ +
Definition: rpc_method.h:39
+
void set_authority(const grpc::string &authority)
Definition: client_context.h:106
+
gpr_timespec raw_deadline()
Definition: client_context.h:104
+
Definition: status.h:42
+
friend class Channel
Definition: client_context.h:140
+
std::chrono::system_clock::time_point Timespec2Timepoint(gpr_timespec t)
+
const std::multimap< grpc::string, grpc::string > & GetServerInitialMetadata()
Definition: client_context.h:82
+
Definition: client_context.h:64
+
Definition: client_context.h:66
+
Definition: client_context.h:62
+
void set_compression_algorithm(grpc_compression_algorithm algorithm)
+
Definition: call.h:402
+
void set_credentials(const std::shared_ptr< Credentials > &creds)
Definition: client_context.h:109
+
void AddMetadata(const grpc::string &meta_key, const grpc::string &meta_value)
+ +
+ + + + diff --git a/doc/ref/c++/html/client__unary__call_8h.html b/doc/ref/c++/html/client__unary__call_8h.html new file mode 100644 index 0000000000..3914c263af --- /dev/null +++ b/doc/ref/c++/html/client__unary__call_8h.html @@ -0,0 +1,120 @@ + + + + + + +GRPC C++: include/grpc++/impl/client_unary_call.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
client_unary_call.h File Reference
+
+
+
#include <grpc++/config.h>
+#include <grpc++/status.h>
+#include <grpc++/impl/call.h>
+
+

Go to the source code of this file.

+ + + + +

+Namespaces

 grpc
 
+ + + + +

+Functions

template<class InputMessage , class OutputMessage >
Status grpc::BlockingUnaryCall (ChannelInterface *channel, const RpcMethod &method, ClientContext *context, const InputMessage &request, OutputMessage *result)
 
+
+ + + + diff --git a/doc/ref/c++/html/client__unary__call_8h_source.html b/doc/ref/c++/html/client__unary__call_8h_source.html new file mode 100644 index 0000000000..b65f51f051 --- /dev/null +++ b/doc/ref/c++/html/client__unary__call_8h_source.html @@ -0,0 +1,194 @@ + + + + + + +GRPC C++: include/grpc++/impl/client_unary_call.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
client_unary_call.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPCXX_IMPL_CLIENT_UNARY_CALL_H
+
35 #define GRPCXX_IMPL_CLIENT_UNARY_CALL_H
+
36 
+
37 #include <grpc++/config.h>
+
38 #include <grpc++/status.h>
+
39 
+
40 #include <grpc++/impl/call.h>
+
41 
+
42 namespace grpc {
+
43 
+
44 class ChannelInterface;
+
45 class ClientContext;
+
46 class CompletionQueue;
+
47 class RpcMethod;
+
48 
+
49 // Wrapper that performs a blocking unary call
+
50 template <class InputMessage, class OutputMessage>
+ +
52  ClientContext* context, const InputMessage& request,
+
53  OutputMessage* result) {
+
54  CompletionQueue cq;
+
55  Call call(channel->CreateCall(method, context, &cq));
+ + + +
59  Status status = ops.SendMessage(request);
+
60  if (!status.ok()) {
+
61  return status;
+
62  }
+
63  ops.SendInitialMetadata(context->send_initial_metadata_);
+
64  ops.RecvInitialMetadata(context);
+
65  ops.RecvMessage(result);
+
66  ops.ClientSendClose();
+
67  ops.ClientRecvStatus(context, &status);
+
68  call.PerformOps(&ops);
+
69  GPR_ASSERT((cq.Pluck(&ops) && ops.got_message) || !status.ok());
+
70  return status;
+
71 }
+
72 
+
73 } // namespace grpc
+
74 
+
75 #endif // GRPCXX_IMPL_CLIENT_UNARY_CALL_H
+
Definition: call.h:431
+ +
Definition: client_context.h:74
+
virtual Call CreateCall(const RpcMethod &method, ClientContext *context, CompletionQueue *cq)=0
+
Definition: call.h:190
+
Definition: call.h:341
+
Definition: call.h:565
+
Definition: channel_interface.h:52
+ +
Status BlockingUnaryCall(ChannelInterface *channel, const RpcMethod &method, ClientContext *context, const InputMessage &request, OutputMessage *result)
Definition: client_unary_call.h:51
+
Primary implementaiton of CallOpSetInterface.
Definition: call.h:506
+
Definition: call.h:237
+
Definition: completion_queue.h:87
+ +
Definition: rpc_method.h:39
+
bool ok() const
Definition: status.h:55
+
Definition: status.h:42
+
Definition: call.h:159
+
Definition: call.h:402
+
+ + + + diff --git a/doc/ref/c++/html/closed.png b/doc/ref/c++/html/closed.png new file mode 100644 index 0000000000..98cc2c909d Binary files /dev/null and b/doc/ref/c++/html/closed.png differ diff --git a/doc/ref/c++/html/completion__queue_8h.html b/doc/ref/c++/html/completion__queue_8h.html new file mode 100644 index 0000000000..cf76322cfc --- /dev/null +++ b/doc/ref/c++/html/completion__queue_8h.html @@ -0,0 +1,144 @@ + + + + + + +GRPC C++: include/grpc++/completion_queue.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
completion_queue.h File Reference
+
+ + + + + diff --git a/doc/ref/c++/html/completion__queue_8h_source.html b/doc/ref/c++/html/completion__queue_8h_source.html new file mode 100644 index 0000000000..5e31ae13c3 --- /dev/null +++ b/doc/ref/c++/html/completion__queue_8h_source.html @@ -0,0 +1,307 @@ + + + + + + +GRPC C++: include/grpc++/completion_queue.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
completion_queue.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPCXX_COMPLETION_QUEUE_H
+
35 #define GRPCXX_COMPLETION_QUEUE_H
+
36 
+
37 #include <grpc/support/time.h>
+ +
39 #include <grpc++/status.h>
+
40 #include <grpc++/time.h>
+
41 
+
42 struct grpc_completion_queue;
+
43 
+
44 namespace grpc {
+
45 
+
46 template <class R>
+
47 class ClientReader;
+
48 template <class W>
+
49 class ClientWriter;
+
50 template <class R, class W>
+
51 class ClientReaderWriter;
+
52 template <class R>
+ +
54 template <class W>
+ +
56 template <class R, class W>
+ +
58 template <class ServiceType, class RequestType, class ResponseType>
+ +
60 template <class ServiceType, class RequestType, class ResponseType>
+ +
62 template <class ServiceType, class RequestType, class ResponseType>
+ +
64 template <class ServiceType, class RequestType, class ResponseType>
+ +
66 
+
67 class ChannelInterface;
+
68 class ClientContext;
+
69 class CompletionQueue;
+
70 class RpcMethod;
+
71 class Server;
+
72 class ServerBuilder;
+
73 class ServerContext;
+
74 
+ +
76  public:
+
77  virtual ~CompletionQueueTag() {}
+
78  // Called prior to returning from Next(), return value
+
79  // is the status of the operation (return status is the default thing
+
80  // to do)
+
81  // If this function returns false, the tag is dropped and not returned
+
82  // from the completion queue
+
83  virtual bool FinalizeResult(void** tag, bool* status) = 0;
+
84 };
+
85 
+
86 // grpc_completion_queue wrapper class
+
87 class CompletionQueue : public GrpcLibrary {
+
88  public:
+ +
90  explicit CompletionQueue(grpc_completion_queue* take);
+ +
92 
+
93  // Tri-state return for AsyncNext: SHUTDOWN, GOT_EVENT, TIMEOUT
+ +
95 
+
96  // Nonblocking (until deadline) read from queue.
+
97  // Cannot rely on result of tag or ok if return is TIMEOUT
+
98  template <typename T>
+
99  NextStatus AsyncNext(void** tag, bool* ok, const T& deadline) {
+
100  TimePoint<T> deadline_tp(deadline);
+
101  return AsyncNextInternal(tag, ok, deadline_tp.raw_time());
+
102  }
+
103 
+
104  // Blocking read from queue.
+
105  // Returns false if the queue is ready for destruction, true if event
+
106 
+
107  bool Next(void** tag, bool* ok) {
+
108  return (AsyncNextInternal(tag, ok, gpr_inf_future(GPR_CLOCK_REALTIME)) !=
+
109  SHUTDOWN);
+
110  }
+
111 
+
112  // Shutdown has to be called, and the CompletionQueue can only be
+
113  // destructed when false is returned from Next().
+
114  void Shutdown();
+
115 
+
116  grpc_completion_queue* cq() { return cq_; }
+
117 
+
118  private:
+
119  // Friend synchronous wrappers so that they can access Pluck(), which is
+
120  // a semi-private API geared towards the synchronous implementation.
+
121  template <class R>
+
122  friend class ::grpc::ClientReader;
+
123  template <class W>
+
124  friend class ::grpc::ClientWriter;
+
125  template <class R, class W>
+
126  friend class ::grpc::ClientReaderWriter;
+
127  template <class R>
+
128  friend class ::grpc::ServerReader;
+
129  template <class W>
+
130  friend class ::grpc::ServerWriter;
+
131  template <class R, class W>
+
132  friend class ::grpc::ServerReaderWriter;
+
133  template <class ServiceType, class RequestType, class ResponseType>
+
134  friend class RpcMethodHandler;
+
135  template <class ServiceType, class RequestType, class ResponseType>
+ +
137  template <class ServiceType, class RequestType, class ResponseType>
+ +
139  template <class ServiceType, class RequestType, class ResponseType>
+
140  friend class BidiStreamingHandler;
+
141  friend class ::grpc::Server;
+
142  friend class ::grpc::ServerContext;
+
143  template <class InputMessage, class OutputMessage>
+
144  friend Status BlockingUnaryCall(ChannelInterface* channel,
+
145  const RpcMethod& method,
+
146  ClientContext* context,
+
147  const InputMessage& request,
+
148  OutputMessage* result);
+
149 
+
150  NextStatus AsyncNextInternal(void** tag, bool* ok, gpr_timespec deadline);
+
151 
+
152  // Wraps grpc_completion_queue_pluck.
+
153  // Cannot be mixed with calls to Next().
+
154  bool Pluck(CompletionQueueTag* tag);
+
155 
+
156  // Does a single polling pluck on tag
+
157  void TryPluck(CompletionQueueTag* tag);
+
158 
+
159  grpc_completion_queue* cq_; // owned
+
160 };
+
161 
+ +
163  private:
+
164  friend class ServerBuilder;
+ +
166 };
+
167 
+
168 } // namespace grpc
+
169 
+
170 #endif // GRPCXX_COMPLETION_QUEUE_H
+
Definition: completion_queue.h:75
+
friend Status BlockingUnaryCall(ChannelInterface *channel, const RpcMethod &method, ClientContext *context, const InputMessage &request, OutputMessage *result)
Definition: client_unary_call.h:51
+ +
virtual bool FinalizeResult(void **tag, bool *status)=0
+
Definition: completion_queue.h:94
+ +
Definition: completion_queue.h:94
+
gpr_timespec raw_time()
Definition: time.h:56
+
Definition: time.h:53
+
grpc_completion_queue * cq()
Definition: completion_queue.h:116
+
Definition: client_context.h:74
+
Definition: completion_queue.h:53
+
~CompletionQueue() GRPC_OVERRIDE
+
bool Next(void **tag, bool *ok)
Definition: completion_queue.h:107
+
Definition: grpc_library.h:41
+
NextStatus AsyncNext(void **tag, bool *ok, const T &deadline)
Definition: completion_queue.h:99
+
virtual ~CompletionQueueTag()
Definition: completion_queue.h:77
+
Definition: server.h:61
+
Definition: completion_queue.h:59
+ +
Definition: channel_interface.h:52
+
NextStatus
Definition: completion_queue.h:94
+ +
Definition: server_context.h:86
+
Definition: completion_queue.h:55
+
Definition: completion_queue.h:87
+
Definition: completion_queue.h:61
+ +
Definition: rpc_method.h:39
+
Definition: completion_queue.h:57
+
Definition: completion_queue.h:63
+
Definition: status.h:42
+
Definition: completion_queue.h:162
+
#define GRPC_OVERRIDE
Definition: config.h:77
+
Definition: completion_queue.h:65
+
Definition: server_builder.h:54
+
Definition: completion_queue.h:94
+
+ + + + diff --git a/doc/ref/c++/html/config_8h.html b/doc/ref/c++/html/config_8h.html new file mode 100644 index 0000000000..d8438a8409 --- /dev/null +++ b/doc/ref/c++/html/config_8h.html @@ -0,0 +1,164 @@ + + + + + + +GRPC C++: include/grpc++/config.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
config.h File Reference
+
+
+
#include <string>
+
+

Go to the source code of this file.

+ + + + +

+Namespaces

 grpc
 
+ + + + + + + +

+Macros

#define GRPC_FINAL   final
 
#define GRPC_OVERRIDE   override
 
#define GRPC_CUSTOM_STRING   std::string
 
+ + + +

+Typedefs

typedef std::string grpc::string
 
+

Macro Definition Documentation

+ +
+
+ + + + +
#define GRPC_CUSTOM_STRING   std::string
+
+ +
+
+ +
+
+ + + + +
#define GRPC_FINAL   final
+
+ +
+
+ +
+
+ + + + +
#define GRPC_OVERRIDE   override
+
+ +
+
+
+ + + + diff --git a/doc/ref/c++/html/config_8h_source.html b/doc/ref/c++/html/config_8h_source.html new file mode 100644 index 0000000000..d100dba278 --- /dev/null +++ b/doc/ref/c++/html/config_8h_source.html @@ -0,0 +1,218 @@ + + + + + + +GRPC C++: include/grpc++/config.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
config.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPCXX_CONFIG_H
+
35 #define GRPCXX_CONFIG_H
+
36 
+
37 #if !defined(GRPC_NO_AUTODETECT_PLATFORM)
+
38 
+
39 #ifdef _MSC_VER
+
40 // Visual Studio 2010 is 1600.
+
41 #if _MSC_VER < 1600
+
42 #error "gRPC is only supported with Visual Studio starting at 2010"
+
43 // Visual Studio 2013 is 1800.
+
44 #elif _MSC_VER < 1800
+
45 #define GRPC_CXX0X_NO_FINAL 1
+
46 #define GRPC_CXX0X_NO_OVERRIDE 1
+
47 #define GRPC_CXX0X_NO_CHRONO 1
+
48 #define GRPC_CXX0X_NO_THREAD 1
+
49 #endif
+
50 #endif // Visual Studio
+
51 
+
52 #ifndef __clang__
+
53 #ifdef __GNUC__
+
54 // nullptr was added in gcc 4.6
+
55 #if (__GNUC__ * 100 + __GNUC_MINOR__ < 406)
+
56 #define GRPC_CXX0X_NO_NULLPTR 1
+
57 #endif
+
58 // final and override were added in gcc 4.7
+
59 #if (__GNUC__ * 100 + __GNUC_MINOR__ < 407)
+
60 #define GRPC_CXX0X_NO_FINAL 1
+
61 #define GRPC_CXX0X_NO_OVERRIDE 1
+
62 #endif
+
63 #endif
+
64 #endif
+
65 
+
66 #endif
+
67 
+
68 #ifdef GRPC_CXX0X_NO_FINAL
+
69 #define GRPC_FINAL
+
70 #else
+
71 #define GRPC_FINAL final
+
72 #endif
+
73 
+
74 #ifdef GRPC_CXX0X_NO_OVERRIDE
+
75 #define GRPC_OVERRIDE
+
76 #else
+
77 #define GRPC_OVERRIDE override
+
78 #endif
+
79 
+
80 #ifdef GRPC_CXX0X_NO_NULLPTR
+
81 #include <memory>
+
82 namespace grpc {
+
83 const class {
+
84  public:
+
85  template <class T>
+
86  operator T *() const {
+
87  return static_cast<T *>(0);
+
88  }
+
89  template <class T>
+
90  operator std::unique_ptr<T>() const {
+
91  return std::unique_ptr<T>(static_cast<T *>(0));
+
92  }
+
93  template <class T>
+
94  operator std::shared_ptr<T>() const {
+
95  return std::shared_ptr<T>(static_cast<T *>(0));
+
96  }
+
97  operator bool() const { return false; }
+
98 
+
99  private:
+
100  void operator&() const = delete;
+
101 } nullptr = {};
+
102 }
+
103 #endif
+
104 
+
105 #ifndef GRPC_CUSTOM_STRING
+
106 #include <string>
+
107 #define GRPC_CUSTOM_STRING std::string
+
108 #endif
+
109 
+
110 namespace grpc {
+
111 
+ +
113 
+
114 } // namespace grpc
+
115 
+
116 #endif // GRPCXX_CONFIG_H
+
std::string string
Definition: config.h:112
+
#define GRPC_CUSTOM_STRING
Definition: config.h:107
+
+ + + + diff --git a/doc/ref/c++/html/config__protobuf_8h.html b/doc/ref/c++/html/config__protobuf_8h.html new file mode 100644 index 0000000000..89b8f6926b --- /dev/null +++ b/doc/ref/c++/html/config__protobuf_8h.html @@ -0,0 +1,210 @@ + + + + + + +GRPC C++: include/grpc++/config_protobuf.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
config_protobuf.h File Reference
+
+
+
#include <google/protobuf/stubs/common.h>
+#include <google/protobuf/message.h>
+#include <google/protobuf/io/coded_stream.h>
+#include <google/protobuf/io/zero_copy_stream.h>
+
+

Go to the source code of this file.

+ + + + + + + + +

+Namespaces

 grpc
 
 grpc::protobuf
 
 grpc::protobuf::io
 
+ + + + + + + + + + + +

+Macros

#define GRPC_CUSTOM_PROTOBUF_INT64   ::google::protobuf::int64
 
#define GRPC_CUSTOM_MESSAGE   ::google::protobuf::Message
 
#define GRPC_CUSTOM_ZEROCOPYOUTPUTSTREAM   ::google::protobuf::io::ZeroCopyOutputStream
 
#define GRPC_CUSTOM_ZEROCOPYINPUTSTREAM   ::google::protobuf::io::ZeroCopyInputStream
 
#define GRPC_CUSTOM_CODEDINPUTSTREAM   ::google::protobuf::io::CodedInputStream
 
+ + + + + + + + + + + +

+Typedefs

typedef ::google::protobuf::Message grpc::protobuf::Message
 
typedef ::google::protobuf::int64 grpc::protobuf::int64
 
typedef
+::google::protobuf::io::ZeroCopyOutputStream 
grpc::protobuf::io::ZeroCopyOutputStream
 
typedef
+::google::protobuf::io::ZeroCopyInputStream 
grpc::protobuf::io::ZeroCopyInputStream
 
typedef
+::google::protobuf::io::CodedInputStream 
grpc::protobuf::io::CodedInputStream
 
+

Macro Definition Documentation

+ +
+
+ + + + +
#define GRPC_CUSTOM_CODEDINPUTSTREAM   ::google::protobuf::io::CodedInputStream
+
+ +
+
+ +
+
+ + + + +
#define GRPC_CUSTOM_MESSAGE   ::google::protobuf::Message
+
+ +
+
+ +
+
+ + + + +
#define GRPC_CUSTOM_PROTOBUF_INT64   ::google::protobuf::int64
+
+ +
+
+ +
+
+ + + + +
#define GRPC_CUSTOM_ZEROCOPYINPUTSTREAM   ::google::protobuf::io::ZeroCopyInputStream
+
+ +
+
+ +
+
+ + + + +
#define GRPC_CUSTOM_ZEROCOPYOUTPUTSTREAM   ::google::protobuf::io::ZeroCopyOutputStream
+
+ +
+
+
+ + + + diff --git a/doc/ref/c++/html/config__protobuf_8h_source.html b/doc/ref/c++/html/config__protobuf_8h_source.html new file mode 100644 index 0000000000..618804b277 --- /dev/null +++ b/doc/ref/c++/html/config__protobuf_8h_source.html @@ -0,0 +1,182 @@ + + + + + + +GRPC C++: include/grpc++/config_protobuf.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
config_protobuf.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPCXX_CONFIG_PROTOBUF_H
+
35 #define GRPCXX_CONFIG_PROTOBUF_H
+
36 
+
37 #ifndef GRPC_CUSTOM_PROTOBUF_INT64
+
38 #include <google/protobuf/stubs/common.h>
+
39 #define GRPC_CUSTOM_PROTOBUF_INT64 ::google::protobuf::int64
+
40 #endif
+
41 
+
42 #ifndef GRPC_CUSTOM_MESSAGE
+
43 #include <google/protobuf/message.h>
+
44 #define GRPC_CUSTOM_MESSAGE ::google::protobuf::Message
+
45 #endif
+
46 
+
47 #ifndef GRPC_CUSTOM_ZEROCOPYOUTPUTSTREAM
+
48 #include <google/protobuf/io/coded_stream.h>
+
49 #include <google/protobuf/io/zero_copy_stream.h>
+
50 #define GRPC_CUSTOM_ZEROCOPYOUTPUTSTREAM \
+
51  ::google::protobuf::io::ZeroCopyOutputStream
+
52 #define GRPC_CUSTOM_ZEROCOPYINPUTSTREAM \
+
53  ::google::protobuf::io::ZeroCopyInputStream
+
54 #define GRPC_CUSTOM_CODEDINPUTSTREAM ::google::protobuf::io::CodedInputStream
+
55 #endif
+
56 
+
57 namespace grpc {
+
58 namespace protobuf {
+
59 
+ + +
62 
+
63 namespace io {
+ + + +
67 } // namespace io
+
68 
+
69 } // namespace protobuf
+
70 } // namespace grpc
+
71 
+
72 #endif // GRPCXX_CONFIG_PROTOBUF_H
+
#define GRPC_CUSTOM_MESSAGE
Definition: config_protobuf.h:44
+
#define GRPC_CUSTOM_CODEDINPUTSTREAM
Definition: config_protobuf.h:54
+
::google::protobuf::io::ZeroCopyInputStream ZeroCopyInputStream
Definition: config_protobuf.h:65
+
#define GRPC_CUSTOM_PROTOBUF_INT64
Definition: config_protobuf.h:39
+
::google::protobuf::int64 int64
Definition: config_protobuf.h:61
+
#define GRPC_CUSTOM_ZEROCOPYINPUTSTREAM
Definition: config_protobuf.h:52
+
::google::protobuf::io::ZeroCopyOutputStream ZeroCopyOutputStream
Definition: config_protobuf.h:64
+
#define GRPC_CUSTOM_ZEROCOPYOUTPUTSTREAM
Definition: config_protobuf.h:50
+
::google::protobuf::Message Message
Definition: config_protobuf.h:60
+
::google::protobuf::io::CodedInputStream CodedInputStream
Definition: config_protobuf.h:66
+
+ + + + diff --git a/doc/ref/c++/html/create__channel_8h.html b/doc/ref/c++/html/create__channel_8h.html new file mode 100644 index 0000000000..459c413838 --- /dev/null +++ b/doc/ref/c++/html/create__channel_8h.html @@ -0,0 +1,119 @@ + + + + + + +GRPC C++: include/grpc++/create_channel.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
create_channel.h File Reference
+
+
+
#include <memory>
+#include <grpc++/config.h>
+#include <grpc++/credentials.h>
+
+

Go to the source code of this file.

+ + + + +

+Namespaces

 grpc
 
+ + + +

+Functions

std::shared_ptr< ChannelInterface > grpc::CreateChannel (const grpc::string &target, const std::shared_ptr< Credentials > &creds, const ChannelArguments &args)
 
+
+ + + + diff --git a/doc/ref/c++/html/create__channel_8h_source.html b/doc/ref/c++/html/create__channel_8h_source.html new file mode 100644 index 0000000000..87761ae469 --- /dev/null +++ b/doc/ref/c++/html/create__channel_8h_source.html @@ -0,0 +1,157 @@ + + + + + + +GRPC C++: include/grpc++/create_channel.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
create_channel.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPCXX_CREATE_CHANNEL_H
+
35 #define GRPCXX_CREATE_CHANNEL_H
+
36 
+
37 #include <memory>
+
38 
+
39 #include <grpc++/config.h>
+
40 #include <grpc++/credentials.h>
+
41 
+
42 namespace grpc {
+
43 class ChannelArguments;
+
44 class ChannelInterface;
+
45 
+
46 // If creds does not hold an object or is invalid, a lame channel is returned.
+
47 std::shared_ptr<ChannelInterface> CreateChannel(
+
48  const grpc::string& target, const std::shared_ptr<Credentials>& creds,
+
49  const ChannelArguments& args);
+
50 
+
51 } // namespace grpc
+
52 
+
53 #endif // GRPCXX_CREATE_CHANNEL_H
+
std::string string
Definition: config.h:112
+ + +
std::shared_ptr< ChannelInterface > CreateChannel(const grpc::string &target, const std::shared_ptr< Credentials > &creds, const ChannelArguments &args)
+
+ + + + diff --git a/doc/ref/c++/html/credentials_8h.html b/doc/ref/c++/html/credentials_8h.html new file mode 100644 index 0000000000..540891300d --- /dev/null +++ b/doc/ref/c++/html/credentials_8h.html @@ -0,0 +1,145 @@ + + + + + + +GRPC C++: include/grpc++/credentials.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
credentials.h File Reference
+
+
+
#include <memory>
+#include <grpc++/config.h>
+#include <grpc++/impl/grpc_library.h>
+
+

Go to the source code of this file.

+ + + + + + +

+Data Structures

class  grpc::Credentials
 
struct  grpc::SslCredentialsOptions
 
+ + + +

+Namespaces

 grpc
 
+ + + + + + + + + + + + + + + + + + + + + +

+Functions

std::shared_ptr< Credentials > grpc::GoogleDefaultCredentials ()
 
std::shared_ptr< Credentials > grpc::SslCredentials (const SslCredentialsOptions &options)
 
std::shared_ptr< Credentials > grpc::ComputeEngineCredentials ()
 
std::shared_ptr< Credentials > grpc::ServiceAccountCredentials (const grpc::string &json_key, const grpc::string &scope, long token_lifetime_seconds)
 
std::shared_ptr< Credentials > grpc::ServiceAccountJWTAccessCredentials (const grpc::string &json_key, long token_lifetime_seconds)
 
std::shared_ptr< Credentials > grpc::RefreshTokenCredentials (const grpc::string &json_refresh_token)
 
std::shared_ptr< Credentials > grpc::AccessTokenCredentials (const grpc::string &access_token)
 
std::shared_ptr< Credentials > grpc::IAMCredentials (const grpc::string &authorization_token, const grpc::string &authority_selector)
 
std::shared_ptr< Credentials > grpc::CompositeCredentials (const std::shared_ptr< Credentials > &creds1, const std::shared_ptr< Credentials > &creds2)
 
std::shared_ptr< Credentials > grpc::InsecureCredentials ()
 
+
+ + + + diff --git a/doc/ref/c++/html/credentials_8h_source.html b/doc/ref/c++/html/credentials_8h_source.html new file mode 100644 index 0000000000..91c9c4f57d --- /dev/null +++ b/doc/ref/c++/html/credentials_8h_source.html @@ -0,0 +1,270 @@ + + + + + + +GRPC C++: include/grpc++/credentials.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
credentials.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPCXX_CREDENTIALS_H
+
35 #define GRPCXX_CREDENTIALS_H
+
36 
+
37 #include <memory>
+
38 
+
39 #include <grpc++/config.h>
+ +
41 
+
42 namespace grpc {
+
43 class ChannelArguments;
+
44 class ChannelInterface;
+
45 class SecureCredentials;
+
46 
+
47 class Credentials : public GrpcLibrary {
+
48  public:
+ +
50  virtual bool ApplyToCall(grpc_call* call) = 0;
+
51 
+
52  protected:
+
53  friend std::shared_ptr<Credentials> CompositeCredentials(
+
54  const std::shared_ptr<Credentials>& creds1,
+
55  const std::shared_ptr<Credentials>& creds2);
+
56 
+
57  virtual SecureCredentials* AsSecureCredentials() = 0;
+
58 
+
59  private:
+
60  friend std::shared_ptr<ChannelInterface> CreateChannel(
+
61  const grpc::string& target, const std::shared_ptr<Credentials>& creds,
+
62  const ChannelArguments& args);
+
63 
+
64  virtual std::shared_ptr<ChannelInterface> CreateChannel(
+
65  const grpc::string& target, const ChannelArguments& args) = 0;
+
66 };
+
67 
+
68 // Options used to build SslCredentials
+
69 // pem_roots_cert is the buffer containing the PEM encoding of the server root
+
70 // certificates. If this parameter is empty, the default roots will be used.
+
71 // pem_private_key is the buffer containing the PEM encoding of the client's
+
72 // private key. This parameter can be empty if the client does not have a
+
73 // private key.
+
74 // pem_cert_chain is the buffer containing the PEM encoding of the client's
+
75 // certificate chain. This parameter can be empty if the client does not have
+
76 // a certificate chain.
+ + + + +
81 };
+
82 
+
83 // Factories for building different types of Credentials
+
84 // The functions may return empty shared_ptr when credentials cannot be created.
+
85 // If a Credentials pointer is returned, it can still be invalid when used to
+
86 // create a channel. A lame channel will be created then and all rpcs will
+
87 // fail on it.
+
88 
+
89 // Builds credentials with reasonable defaults.
+
90 std::shared_ptr<Credentials> GoogleDefaultCredentials();
+
91 
+
92 // Builds SSL Credentials given SSL specific options
+
93 std::shared_ptr<Credentials> SslCredentials(
+
94  const SslCredentialsOptions& options);
+
95 
+
96 // Builds credentials for use when running in GCE
+
97 std::shared_ptr<Credentials> ComputeEngineCredentials();
+
98 
+
99 // Builds service account credentials.
+
100 // json_key is the JSON key string containing the client's private key.
+
101 // scope is a space-delimited list of the requested permissions.
+
102 // token_lifetime_seconds is the lifetime in seconds of each token acquired
+
103 // through this service account credentials. It should be positive and should
+
104 // not exceed grpc_max_auth_token_lifetime or will be cropped to this value.
+
105 std::shared_ptr<Credentials> ServiceAccountCredentials(
+
106  const grpc::string& json_key, const grpc::string& scope,
+
107  long token_lifetime_seconds);
+
108 
+
109 // Builds Service Account JWT Access credentials.
+
110 // json_key is the JSON key string containing the client's private key.
+
111 // token_lifetime_seconds is the lifetime in seconds of each Json Web Token
+
112 // (JWT) created with this credentials. It should not exceed
+
113 // grpc_max_auth_token_lifetime or will be cropped to this value.
+
114 std::shared_ptr<Credentials> ServiceAccountJWTAccessCredentials(
+
115  const grpc::string& json_key, long token_lifetime_seconds);
+
116 
+
117 // Builds refresh token credentials.
+
118 // json_refresh_token is the JSON string containing the refresh token along
+
119 // with a client_id and client_secret.
+
120 std::shared_ptr<Credentials> RefreshTokenCredentials(
+
121  const grpc::string& json_refresh_token);
+
122 
+
123 // Builds access token credentials.
+
124 // access_token is an oauth2 access token that was fetched using an out of band
+
125 // mechanism.
+
126 std::shared_ptr<Credentials> AccessTokenCredentials(
+
127  const grpc::string& access_token);
+
128 
+
129 // Builds IAM credentials.
+
130 std::shared_ptr<Credentials> IAMCredentials(
+
131  const grpc::string& authorization_token,
+
132  const grpc::string& authority_selector);
+
133 
+
134 // Combines two credentials objects into a composite credentials
+
135 std::shared_ptr<Credentials> CompositeCredentials(
+
136  const std::shared_ptr<Credentials>& creds1,
+
137  const std::shared_ptr<Credentials>& creds2);
+
138 
+
139 // Credentials for an unencrypted, unauthenticated channel
+
140 std::shared_ptr<Credentials> InsecureCredentials();
+
141 
+
142 } // namespace grpc
+
143 
+
144 #endif // GRPCXX_CREDENTIALS_H
+
std::shared_ptr< Credentials > SslCredentials(const SslCredentialsOptions &options)
+
std::string string
Definition: config.h:112
+
Definition: channel_arguments.h:52
+
std::shared_ptr< Credentials > ServiceAccountJWTAccessCredentials(const grpc::string &json_key, long token_lifetime_seconds)
+
std::shared_ptr< Credentials > ServiceAccountCredentials(const grpc::string &json_key, const grpc::string &scope, long token_lifetime_seconds)
+ + +
~Credentials() GRPC_OVERRIDE
+
std::shared_ptr< Credentials > AccessTokenCredentials(const grpc::string &access_token)
+
virtual bool ApplyToCall(grpc_call *call)=0
+
std::shared_ptr< Credentials > ComputeEngineCredentials()
+
grpc::string pem_root_certs
Definition: credentials.h:78
+
Definition: credentials.h:77
+
Definition: grpc_library.h:41
+
virtual SecureCredentials * AsSecureCredentials()=0
+
std::shared_ptr< Credentials > RefreshTokenCredentials(const grpc::string &json_refresh_token)
+
grpc::string pem_cert_chain
Definition: credentials.h:80
+
Definition: credentials.h:47
+
grpc::string pem_private_key
Definition: credentials.h:79
+
friend std::shared_ptr< ChannelInterface > CreateChannel(const grpc::string &target, const std::shared_ptr< Credentials > &creds, const ChannelArguments &args)
+
std::shared_ptr< Credentials > GoogleDefaultCredentials()
+
friend std::shared_ptr< Credentials > CompositeCredentials(const std::shared_ptr< Credentials > &creds1, const std::shared_ptr< Credentials > &creds2)
+
std::shared_ptr< Credentials > InsecureCredentials()
+
std::shared_ptr< Credentials > CompositeCredentials(const std::shared_ptr< Credentials > &creds1, const std::shared_ptr< Credentials > &creds2)
+
#define GRPC_OVERRIDE
Definition: config.h:77
+
std::shared_ptr< Credentials > IAMCredentials(const grpc::string &authorization_token, const grpc::string &authority_selector)
+
+ + + + diff --git a/doc/ref/c++/html/dir_ac8b245a5921095c43c106649fd7bc4b.html b/doc/ref/c++/html/dir_ac8b245a5921095c43c106649fd7bc4b.html new file mode 100644 index 0000000000..d67f0f6c2a --- /dev/null +++ b/doc/ref/c++/html/dir_ac8b245a5921095c43c106649fd7bc4b.html @@ -0,0 +1,128 @@ + + + + + + +GRPC C++: include/grpc++/impl Directory Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + +
+ +
+ + +
+
+
+
impl Directory Reference
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Files

file  call.h [code]
 
file  client_unary_call.h [code]
 
file  grpc_library.h [code]
 
file  internal_stub.h [code]
 
file  proto_utils.h [code]
 
file  rpc_method.h [code]
 
file  rpc_service_method.h [code]
 
file  serialization_traits.h [code]
 
file  service_type.h [code]
 
file  sync.h [code]
 
file  sync_cxx11.h [code]
 
file  sync_no_cxx11.h [code]
 
file  thd.h [code]
 
file  thd_cxx11.h [code]
 
file  thd_no_cxx11.h [code]
 
+
+ + + + diff --git a/doc/ref/c++/html/dir_d44c64559bbebec7f509842c48db8b23.html b/doc/ref/c++/html/dir_d44c64559bbebec7f509842c48db8b23.html new file mode 100644 index 0000000000..3986c17d5b --- /dev/null +++ b/doc/ref/c++/html/dir_d44c64559bbebec7f509842c48db8b23.html @@ -0,0 +1,100 @@ + + + + + + +GRPC C++: include Directory Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + +
+ +
+ + +
+
+
+
include Directory Reference
+
+
+ + + + +

+Directories

directory  grpc++
 
+
+ + + + diff --git a/doc/ref/c++/html/dir_f1b2ab2a88927c1e950e43c1cf4b634b.html b/doc/ref/c++/html/dir_f1b2ab2a88927c1e950e43c1cf4b634b.html new file mode 100644 index 0000000000..08cde217bc --- /dev/null +++ b/doc/ref/c++/html/dir_f1b2ab2a88927c1e950e43c1cf4b634b.html @@ -0,0 +1,155 @@ + + + + + + +GRPC C++: include/grpc++ Directory Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + +
+ +
+ + +
+
+
+
grpc++ Directory Reference
+
+
+ + + + +

+Directories

directory  impl
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Files

file  async_generic_service.h [code]
 
file  async_unary_call.h [code]
 
file  auth_context.h [code]
 
file  auth_property_iterator.h [code]
 
file  byte_buffer.h [code]
 
file  channel_arguments.h [code]
 
file  channel_interface.h [code]
 
file  client_context.h [code]
 
file  completion_queue.h [code]
 
file  config.h [code]
 
file  config_protobuf.h [code]
 
file  create_channel.h [code]
 
file  credentials.h [code]
 
file  dynamic_thread_pool.h [code]
 
file  fixed_size_thread_pool.h [code]
 
file  generic_stub.h [code]
 
file  server.h [code]
 
file  server_builder.h [code]
 
file  server_context.h [code]
 
file  server_credentials.h [code]
 
file  slice.h [code]
 
file  status.h [code]
 
file  status_code_enum.h [code]
 
file  stream.h [code]
 
file  thread_pool_interface.h [code]
 
file  time.h [code]
 
+
+ + + + diff --git a/doc/ref/c++/html/doxygen.css b/doc/ref/c++/html/doxygen.css new file mode 100644 index 0000000000..f0f36f89f5 --- /dev/null +++ b/doc/ref/c++/html/doxygen.css @@ -0,0 +1,1366 @@ +/* The standard CSS for doxygen 1.8.6 */ + +body, table, div, p, dl { + font: 400 14px/22px Roboto,sans-serif; +} + +/* @group Heading Levels */ + +h1.groupheader { + font-size: 150%; +} + +.title { + font: 400 14px/28px Roboto,sans-serif; + font-size: 150%; + font-weight: bold; + margin: 10px 2px; +} + +h2.groupheader { + border-bottom: 1px solid #879ECB; + color: #354C7B; + font-size: 150%; + font-weight: normal; + margin-top: 1.75em; + padding-top: 8px; + padding-bottom: 4px; + width: 100%; +} + +h3.groupheader { + font-size: 100%; +} + +h1, h2, h3, h4, h5, h6 { + -webkit-transition: text-shadow 0.5s linear; + -moz-transition: text-shadow 0.5s linear; + -ms-transition: text-shadow 0.5s linear; + -o-transition: text-shadow 0.5s linear; + transition: text-shadow 0.5s linear; + margin-right: 15px; +} + +h1.glow, h2.glow, h3.glow, h4.glow, h5.glow, h6.glow { + text-shadow: 0 0 15px cyan; +} + +dt { + font-weight: bold; +} + +div.multicol { + -moz-column-gap: 1em; + -webkit-column-gap: 1em; + -moz-column-count: 3; + -webkit-column-count: 3; +} + +p.startli, p.startdd { + margin-top: 2px; +} + +p.starttd { + margin-top: 0px; +} + +p.endli { + margin-bottom: 0px; +} + +p.enddd { + margin-bottom: 4px; +} + +p.endtd { + margin-bottom: 2px; +} + +/* @end */ + +caption { + font-weight: bold; +} + +span.legend { + font-size: 70%; + text-align: center; +} + +h3.version { + font-size: 90%; + text-align: center; +} + +div.qindex, div.navtab{ + background-color: #EBEFF6; + border: 1px solid #A3B4D7; + text-align: center; +} + +div.qindex, div.navpath { + width: 100%; + line-height: 140%; +} + +div.navtab { + margin-right: 15px; +} + +/* @group Link Styling */ + +a { + color: #3D578C; + font-weight: normal; + text-decoration: none; +} + +.contents a:visited { + color: #4665A2; +} + +a:hover { + text-decoration: underline; +} + +a.qindex { + font-weight: bold; +} + +a.qindexHL { + font-weight: bold; + background-color: #9CAFD4; + color: #ffffff; + border: 1px double #869DCA; +} + +.contents a.qindexHL:visited { + color: #ffffff; +} + +a.el { + font-weight: bold; +} + +a.elRef { +} + +a.code, a.code:visited, a.line, a.line:visited { + color: #4665A2; +} + +a.codeRef, a.codeRef:visited, a.lineRef, a.lineRef:visited { + color: #4665A2; +} + +/* @end */ + +dl.el { + margin-left: -1cm; +} + +pre.fragment { + border: 1px solid #C4CFE5; + background-color: #FBFCFD; + padding: 4px 6px; + margin: 4px 8px 4px 2px; + overflow: auto; + word-wrap: break-word; + font-size: 9pt; + line-height: 125%; + font-family: monospace, fixed; + font-size: 105%; +} + +div.fragment { + padding: 4px 6px; + margin: 4px 8px 4px 2px; + background-color: #FBFCFD; + border: 1px solid #C4CFE5; +} + +div.line { + font-family: monospace, fixed; + font-size: 13px; + min-height: 13px; + line-height: 1.0; + text-wrap: unrestricted; + white-space: -moz-pre-wrap; /* Moz */ + white-space: -pre-wrap; /* Opera 4-6 */ + white-space: -o-pre-wrap; /* Opera 7 */ + white-space: pre-wrap; /* CSS3 */ + word-wrap: break-word; /* IE 5.5+ */ + text-indent: -53px; + padding-left: 53px; + padding-bottom: 0px; + margin: 0px; + -webkit-transition-property: background-color, box-shadow; + -webkit-transition-duration: 0.5s; + -moz-transition-property: background-color, box-shadow; + -moz-transition-duration: 0.5s; + -ms-transition-property: background-color, box-shadow; + -ms-transition-duration: 0.5s; + -o-transition-property: background-color, box-shadow; + -o-transition-duration: 0.5s; + transition-property: background-color, box-shadow; + transition-duration: 0.5s; +} + +div.line.glow { + background-color: cyan; + box-shadow: 0 0 10px cyan; +} + + +span.lineno { + padding-right: 4px; + text-align: right; + border-right: 2px solid #0F0; + background-color: #E8E8E8; + white-space: pre; +} +span.lineno a { + background-color: #D8D8D8; +} + +span.lineno a:hover { + background-color: #C8C8C8; +} + +div.ah { + background-color: black; + font-weight: bold; + color: #ffffff; + margin-bottom: 3px; + margin-top: 3px; + padding: 0.2em; + border: solid thin #333; + border-radius: 0.5em; + -webkit-border-radius: .5em; + -moz-border-radius: .5em; + box-shadow: 2px 2px 3px #999; + -webkit-box-shadow: 2px 2px 3px #999; + -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px; + background-image: -webkit-gradient(linear, left top, left bottom, from(#eee), to(#000),color-stop(0.3, #444)); + background-image: -moz-linear-gradient(center top, #eee 0%, #444 40%, #000); +} + +div.groupHeader { + margin-left: 16px; + margin-top: 12px; + font-weight: bold; +} + +div.groupText { + margin-left: 16px; + font-style: italic; +} + +body { + background-color: white; + color: black; + margin: 0; +} + +div.contents { + margin-top: 10px; + margin-left: 12px; + margin-right: 8px; +} + +td.indexkey { + background-color: #EBEFF6; + font-weight: bold; + border: 1px solid #C4CFE5; + margin: 2px 0px 2px 0; + padding: 2px 10px; + white-space: nowrap; + vertical-align: top; +} + +td.indexvalue { + background-color: #EBEFF6; + border: 1px solid #C4CFE5; + padding: 2px 10px; + margin: 2px 0px; +} + +tr.memlist { + background-color: #EEF1F7; +} + +p.formulaDsp { + text-align: center; +} + +img.formulaDsp { + +} + +img.formulaInl { + vertical-align: middle; +} + +div.center { + text-align: center; + margin-top: 0px; + margin-bottom: 0px; + padding: 0px; +} + +div.center img { + border: 0px; +} + +address.footer { + text-align: right; + padding-right: 12px; +} + +img.footer { + border: 0px; + vertical-align: middle; +} + +/* @group Code Colorization */ + +span.keyword { + color: #008000 +} + +span.keywordtype { + color: #604020 +} + +span.keywordflow { + color: #e08000 +} + +span.comment { + color: #800000 +} + +span.preprocessor { + color: #806020 +} + +span.stringliteral { + color: #002080 +} + +span.charliteral { + color: #008080 +} + +span.vhdldigit { + color: #ff00ff +} + +span.vhdlchar { + color: #000000 +} + +span.vhdlkeyword { + color: #700070 +} + +span.vhdllogic { + color: #ff0000 +} + +blockquote { + background-color: #F7F8FB; + border-left: 2px solid #9CAFD4; + margin: 0 24px 0 4px; + padding: 0 12px 0 16px; +} + +/* @end */ + +/* +.search { + color: #003399; + font-weight: bold; +} + +form.search { + margin-bottom: 0px; + margin-top: 0px; +} + +input.search { + font-size: 75%; + color: #000080; + font-weight: normal; + background-color: #e8eef2; +} +*/ + +td.tiny { + font-size: 75%; +} + +.dirtab { + padding: 4px; + border-collapse: collapse; + border: 1px solid #A3B4D7; +} + +th.dirtab { + background: #EBEFF6; + font-weight: bold; +} + +hr { + height: 0px; + border: none; + border-top: 1px solid #4A6AAA; +} + +hr.footer { + height: 1px; +} + +/* @group Member Descriptions */ + +table.memberdecls { + border-spacing: 0px; + padding: 0px; +} + +.memberdecls td, .fieldtable tr { + -webkit-transition-property: background-color, box-shadow; + -webkit-transition-duration: 0.5s; + -moz-transition-property: background-color, box-shadow; + -moz-transition-duration: 0.5s; + -ms-transition-property: background-color, box-shadow; + -ms-transition-duration: 0.5s; + -o-transition-property: background-color, box-shadow; + -o-transition-duration: 0.5s; + transition-property: background-color, box-shadow; + transition-duration: 0.5s; +} + +.memberdecls td.glow, .fieldtable tr.glow { + background-color: cyan; + box-shadow: 0 0 15px cyan; +} + +.mdescLeft, .mdescRight, +.memItemLeft, .memItemRight, +.memTemplItemLeft, .memTemplItemRight, .memTemplParams { + background-color: #F9FAFC; + border: none; + margin: 4px; + padding: 1px 0 0 8px; +} + +.mdescLeft, .mdescRight { + padding: 0px 8px 4px 8px; + color: #555; +} + +.memSeparator { + border-bottom: 1px solid #DEE4F0; + line-height: 1px; + margin: 0px; + padding: 0px; +} + +.memItemLeft, .memTemplItemLeft { + white-space: nowrap; +} + +.memItemRight { + width: 100%; +} + +.memTemplParams { + color: #4665A2; + white-space: nowrap; + font-size: 80%; +} + +/* @end */ + +/* @group Member Details */ + +/* Styles for detailed member documentation */ + +.memtemplate { + font-size: 80%; + color: #4665A2; + font-weight: normal; + margin-left: 9px; +} + +.memnav { + background-color: #EBEFF6; + border: 1px solid #A3B4D7; + text-align: center; + margin: 2px; + margin-right: 15px; + padding: 2px; +} + +.mempage { + width: 100%; +} + +.memitem { + padding: 0; + margin-bottom: 10px; + margin-right: 5px; + -webkit-transition: box-shadow 0.5s linear; + -moz-transition: box-shadow 0.5s linear; + -ms-transition: box-shadow 0.5s linear; + -o-transition: box-shadow 0.5s linear; + transition: box-shadow 0.5s linear; + display: table !important; + width: 100%; +} + +.memitem.glow { + box-shadow: 0 0 15px cyan; +} + +.memname { + font-weight: bold; + margin-left: 6px; +} + +.memname td { + vertical-align: bottom; +} + +.memproto, dl.reflist dt { + border-top: 1px solid #A8B8D9; + border-left: 1px solid #A8B8D9; + border-right: 1px solid #A8B8D9; + padding: 6px 0px 6px 0px; + color: #253555; + font-weight: bold; + text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); + background-image:url('nav_f.png'); + background-repeat:repeat-x; + background-color: #E2E8F2; + /* opera specific markup */ + box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); + border-top-right-radius: 4px; + border-top-left-radius: 4px; + /* firefox specific markup */ + -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px; + -moz-border-radius-topright: 4px; + -moz-border-radius-topleft: 4px; + /* webkit specific markup */ + -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); + -webkit-border-top-right-radius: 4px; + -webkit-border-top-left-radius: 4px; + +} + +.memdoc, dl.reflist dd { + border-bottom: 1px solid #A8B8D9; + border-left: 1px solid #A8B8D9; + border-right: 1px solid #A8B8D9; + padding: 6px 10px 2px 10px; + background-color: #FBFCFD; + border-top-width: 0; + background-image:url('nav_g.png'); + background-repeat:repeat-x; + background-color: #FFFFFF; + /* opera specific markup */ + border-bottom-left-radius: 4px; + border-bottom-right-radius: 4px; + box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); + /* firefox specific markup */ + -moz-border-radius-bottomleft: 4px; + -moz-border-radius-bottomright: 4px; + -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px; + /* webkit specific markup */ + -webkit-border-bottom-left-radius: 4px; + -webkit-border-bottom-right-radius: 4px; + -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); +} + +dl.reflist dt { + padding: 5px; +} + +dl.reflist dd { + margin: 0px 0px 10px 0px; + padding: 5px; +} + +.paramkey { + text-align: right; +} + +.paramtype { + white-space: nowrap; +} + +.paramname { + color: #602020; + white-space: nowrap; +} +.paramname em { + font-style: normal; +} +.paramname code { + line-height: 14px; +} + +.params, .retval, .exception, .tparams { + margin-left: 0px; + padding-left: 0px; +} + +.params .paramname, .retval .paramname { + font-weight: bold; + vertical-align: top; +} + +.params .paramtype { + font-style: italic; + vertical-align: top; +} + +.params .paramdir { + font-family: "courier new",courier,monospace; + vertical-align: top; +} + +table.mlabels { + border-spacing: 0px; +} + +td.mlabels-left { + width: 100%; + padding: 0px; +} + +td.mlabels-right { + vertical-align: bottom; + padding: 0px; + white-space: nowrap; +} + +span.mlabels { + margin-left: 8px; +} + +span.mlabel { + background-color: #728DC1; + border-top:1px solid #5373B4; + border-left:1px solid #5373B4; + border-right:1px solid #C4CFE5; + border-bottom:1px solid #C4CFE5; + text-shadow: none; + color: white; + margin-right: 4px; + padding: 2px 3px; + border-radius: 3px; + font-size: 7pt; + white-space: nowrap; + vertical-align: middle; +} + + + +/* @end */ + +/* these are for tree view when not used as main index */ + +div.directory { + margin: 10px 0px; + border-top: 1px solid #A8B8D9; + border-bottom: 1px solid #A8B8D9; + width: 100%; +} + +.directory table { + border-collapse:collapse; +} + +.directory td { + margin: 0px; + padding: 0px; + vertical-align: top; +} + +.directory td.entry { + white-space: nowrap; + padding-right: 6px; + padding-top: 3px; +} + +.directory td.entry a { + outline:none; +} + +.directory td.entry a img { + border: none; +} + +.directory td.desc { + width: 100%; + padding-left: 6px; + padding-right: 6px; + padding-top: 3px; + border-left: 1px solid rgba(0,0,0,0.05); +} + +.directory tr.even { + padding-left: 6px; + background-color: #F7F8FB; +} + +.directory img { + vertical-align: -30%; +} + +.directory .levels { + white-space: nowrap; + width: 100%; + text-align: right; + font-size: 9pt; +} + +.directory .levels span { + cursor: pointer; + padding-left: 2px; + padding-right: 2px; + color: #3D578C; +} + +div.dynheader { + margin-top: 8px; + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +address { + font-style: normal; + color: #2A3D61; +} + +table.doxtable { + border-collapse:collapse; + margin-top: 4px; + margin-bottom: 4px; +} + +table.doxtable td, table.doxtable th { + border: 1px solid #2D4068; + padding: 3px 7px 2px; +} + +table.doxtable th { + background-color: #374F7F; + color: #FFFFFF; + font-size: 110%; + padding-bottom: 4px; + padding-top: 5px; +} + +table.fieldtable { + /*width: 100%;*/ + margin-bottom: 10px; + border: 1px solid #A8B8D9; + border-spacing: 0px; + -moz-border-radius: 4px; + -webkit-border-radius: 4px; + border-radius: 4px; + -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px; + -webkit-box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15); + box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15); +} + +.fieldtable td, .fieldtable th { + padding: 3px 7px 2px; +} + +.fieldtable td.fieldtype, .fieldtable td.fieldname { + white-space: nowrap; + border-right: 1px solid #A8B8D9; + border-bottom: 1px solid #A8B8D9; + vertical-align: top; +} + +.fieldtable td.fieldname { + padding-top: 3px; +} + +.fieldtable td.fielddoc { + border-bottom: 1px solid #A8B8D9; + /*width: 100%;*/ +} + +.fieldtable td.fielddoc p:first-child { + margin-top: 0px; +} + +.fieldtable td.fielddoc p:last-child { + margin-bottom: 2px; +} + +.fieldtable tr:last-child td { + border-bottom: none; +} + +.fieldtable th { + background-image:url('nav_f.png'); + background-repeat:repeat-x; + background-color: #E2E8F2; + font-size: 90%; + color: #253555; + padding-bottom: 4px; + padding-top: 5px; + text-align:left; + -moz-border-radius-topleft: 4px; + -moz-border-radius-topright: 4px; + -webkit-border-top-left-radius: 4px; + -webkit-border-top-right-radius: 4px; + border-top-left-radius: 4px; + border-top-right-radius: 4px; + border-bottom: 1px solid #A8B8D9; +} + + +.tabsearch { + top: 0px; + left: 10px; + height: 36px; + background-image: url('tab_b.png'); + z-index: 101; + overflow: hidden; + font-size: 13px; +} + +.navpath ul +{ + font-size: 11px; + background-image:url('tab_b.png'); + background-repeat:repeat-x; + background-position: 0 -5px; + height:30px; + line-height:30px; + color:#8AA0CC; + border:solid 1px #C2CDE4; + overflow:hidden; + margin:0px; + padding:0px; +} + +.navpath li +{ + list-style-type:none; + float:left; + padding-left:10px; + padding-right:15px; + background-image:url('bc_s.png'); + background-repeat:no-repeat; + background-position:right; + color:#364D7C; +} + +.navpath li.navelem a +{ + height:32px; + display:block; + text-decoration: none; + outline: none; + color: #283A5D; + font-family: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif; + text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); + text-decoration: none; +} + +.navpath li.navelem a:hover +{ + color:#6884BD; +} + +.navpath li.footer +{ + list-style-type:none; + float:right; + padding-left:10px; + padding-right:15px; + background-image:none; + background-repeat:no-repeat; + background-position:right; + color:#364D7C; + font-size: 8pt; +} + + +div.summary +{ + float: right; + font-size: 8pt; + padding-right: 5px; + width: 50%; + text-align: right; +} + +div.summary a +{ + white-space: nowrap; +} + +div.ingroups +{ + font-size: 8pt; + width: 50%; + text-align: left; +} + +div.ingroups a +{ + white-space: nowrap; +} + +div.header +{ + background-image:url('nav_h.png'); + background-repeat:repeat-x; + background-color: #F9FAFC; + margin: 0px; + border-bottom: 1px solid #C4CFE5; +} + +div.headertitle +{ + padding: 5px 5px 5px 10px; +} + +dl +{ + padding: 0 0 0 10px; +} + +/* dl.note, dl.warning, dl.attention, dl.pre, dl.post, dl.invariant, dl.deprecated, dl.todo, dl.test, dl.bug */ +dl.section +{ + margin-left: 0px; + padding-left: 0px; +} + +dl.note +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #D0C000; +} + +dl.warning, dl.attention +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #FF0000; +} + +dl.pre, dl.post, dl.invariant +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #00D000; +} + +dl.deprecated +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #505050; +} + +dl.todo +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #00C0E0; +} + +dl.test +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #3030E0; +} + +dl.bug +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #C08050; +} + +dl.section dd { + margin-bottom: 6px; +} + + +#projectlogo +{ + text-align: center; + vertical-align: bottom; + border-collapse: separate; +} + +#projectlogo img +{ + border: 0px none; +} + +#projectname +{ + font: 300% Tahoma, Arial,sans-serif; + margin: 0px; + padding: 2px 0px; +} + +#projectbrief +{ + font: 120% Tahoma, Arial,sans-serif; + margin: 0px; + padding: 0px; +} + +#projectnumber +{ + font: 50% Tahoma, Arial,sans-serif; + margin: 0px; + padding: 0px; +} + +#titlearea +{ + padding: 0px; + margin: 0px; + width: 100%; + border-bottom: 1px solid #5373B4; +} + +.image +{ + text-align: center; +} + +.dotgraph +{ + text-align: center; +} + +.mscgraph +{ + text-align: center; +} + +.diagraph +{ + text-align: center; +} + +.caption +{ + font-weight: bold; +} + +div.zoom +{ + border: 1px solid #90A5CE; +} + +dl.citelist { + margin-bottom:50px; +} + +dl.citelist dt { + color:#334975; + float:left; + font-weight:bold; + margin-right:10px; + padding:5px; +} + +dl.citelist dd { + margin:2px 0; + padding:5px 0; +} + +div.toc { + padding: 14px 25px; + background-color: #F4F6FA; + border: 1px solid #D8DFEE; + border-radius: 7px 7px 7px 7px; + float: right; + height: auto; + margin: 0 20px 10px 10px; + width: 200px; +} + +div.toc li { + background: url("bdwn.png") no-repeat scroll 0 5px transparent; + font: 10px/1.2 Verdana,DejaVu Sans,Geneva,sans-serif; + margin-top: 5px; + padding-left: 10px; + padding-top: 2px; +} + +div.toc h3 { + font: bold 12px/1.2 Arial,FreeSans,sans-serif; + color: #4665A2; + border-bottom: 0 none; + margin: 0; +} + +div.toc ul { + list-style: none outside none; + border: medium none; + padding: 0px; +} + +div.toc li.level1 { + margin-left: 0px; +} + +div.toc li.level2 { + margin-left: 15px; +} + +div.toc li.level3 { + margin-left: 30px; +} + +div.toc li.level4 { + margin-left: 45px; +} + +.inherit_header { + font-weight: bold; + color: gray; + cursor: pointer; + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +.inherit_header td { + padding: 6px 0px 2px 5px; +} + +.inherit { + display: none; +} + +tr.heading h2 { + margin-top: 12px; + margin-bottom: 4px; +} + +/* tooltip related style info */ + +.ttc { + position: absolute; + display: none; +} + +#powerTip { + cursor: default; + white-space: nowrap; + background-color: white; + border: 1px solid gray; + border-radius: 4px 4px 4px 4px; + box-shadow: 1px 1px 7px gray; + display: none; + font-size: smaller; + max-width: 80%; + opacity: 0.9; + padding: 1ex 1em 1em; + position: absolute; + z-index: 2147483647; +} + +#powerTip div.ttdoc { + color: grey; + font-style: italic; +} + +#powerTip div.ttname a { + font-weight: bold; +} + +#powerTip div.ttname { + font-weight: bold; +} + +#powerTip div.ttdeci { + color: #006318; +} + +#powerTip div { + margin: 0px; + padding: 0px; + font: 12px/16px Roboto,sans-serif; +} + +#powerTip:before, #powerTip:after { + content: ""; + position: absolute; + margin: 0px; +} + +#powerTip.n:after, #powerTip.n:before, +#powerTip.s:after, #powerTip.s:before, +#powerTip.w:after, #powerTip.w:before, +#powerTip.e:after, #powerTip.e:before, +#powerTip.ne:after, #powerTip.ne:before, +#powerTip.se:after, #powerTip.se:before, +#powerTip.nw:after, #powerTip.nw:before, +#powerTip.sw:after, #powerTip.sw:before { + border: solid transparent; + content: " "; + height: 0; + width: 0; + position: absolute; +} + +#powerTip.n:after, #powerTip.s:after, +#powerTip.w:after, #powerTip.e:after, +#powerTip.nw:after, #powerTip.ne:after, +#powerTip.sw:after, #powerTip.se:after { + border-color: rgba(255, 255, 255, 0); +} + +#powerTip.n:before, #powerTip.s:before, +#powerTip.w:before, #powerTip.e:before, +#powerTip.nw:before, #powerTip.ne:before, +#powerTip.sw:before, #powerTip.se:before { + border-color: rgba(128, 128, 128, 0); +} + +#powerTip.n:after, #powerTip.n:before, +#powerTip.ne:after, #powerTip.ne:before, +#powerTip.nw:after, #powerTip.nw:before { + top: 100%; +} + +#powerTip.n:after, #powerTip.ne:after, #powerTip.nw:after { + border-top-color: #ffffff; + border-width: 10px; + margin: 0px -10px; +} +#powerTip.n:before { + border-top-color: #808080; + border-width: 11px; + margin: 0px -11px; +} +#powerTip.n:after, #powerTip.n:before { + left: 50%; +} + +#powerTip.nw:after, #powerTip.nw:before { + right: 14px; +} + +#powerTip.ne:after, #powerTip.ne:before { + left: 14px; +} + +#powerTip.s:after, #powerTip.s:before, +#powerTip.se:after, #powerTip.se:before, +#powerTip.sw:after, #powerTip.sw:before { + bottom: 100%; +} + +#powerTip.s:after, #powerTip.se:after, #powerTip.sw:after { + border-bottom-color: #ffffff; + border-width: 10px; + margin: 0px -10px; +} + +#powerTip.s:before, #powerTip.se:before, #powerTip.sw:before { + border-bottom-color: #808080; + border-width: 11px; + margin: 0px -11px; +} + +#powerTip.s:after, #powerTip.s:before { + left: 50%; +} + +#powerTip.sw:after, #powerTip.sw:before { + right: 14px; +} + +#powerTip.se:after, #powerTip.se:before { + left: 14px; +} + +#powerTip.e:after, #powerTip.e:before { + left: 100%; +} +#powerTip.e:after { + border-left-color: #ffffff; + border-width: 10px; + top: 50%; + margin-top: -10px; +} +#powerTip.e:before { + border-left-color: #808080; + border-width: 11px; + top: 50%; + margin-top: -11px; +} + +#powerTip.w:after, #powerTip.w:before { + right: 100%; +} +#powerTip.w:after { + border-right-color: #ffffff; + border-width: 10px; + top: 50%; + margin-top: -10px; +} +#powerTip.w:before { + border-right-color: #808080; + border-width: 11px; + top: 50%; + margin-top: -11px; +} + +@media print +{ + #top { display: none; } + #side-nav { display: none; } + #nav-path { display: none; } + body { overflow:visible; } + h1, h2, h3, h4, h5, h6 { page-break-after: avoid; } + .summary { display: none; } + .memitem { page-break-inside: avoid; } + #doc-content + { + margin-left:0 !important; + height:auto !important; + width:auto !important; + overflow:inherit; + display:inline; + } +} + diff --git a/doc/ref/c++/html/doxygen.png b/doc/ref/c++/html/doxygen.png new file mode 100644 index 0000000000..3ff17d807f Binary files /dev/null and b/doc/ref/c++/html/doxygen.png differ diff --git a/doc/ref/c++/html/dynamic__thread__pool_8h.html b/doc/ref/c++/html/dynamic__thread__pool_8h.html new file mode 100644 index 0000000000..e5a5d79526 --- /dev/null +++ b/doc/ref/c++/html/dynamic__thread__pool_8h.html @@ -0,0 +1,123 @@ + + + + + + +GRPC C++: include/grpc++/dynamic_thread_pool.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
dynamic_thread_pool.h File Reference
+
+
+
#include <grpc++/config.h>
+#include <grpc++/impl/sync.h>
+#include <grpc++/impl/thd.h>
+#include <grpc++/thread_pool_interface.h>
+#include <list>
+#include <memory>
+#include <queue>
+
+

Go to the source code of this file.

+ + + + +

+Data Structures

class  grpc::DynamicThreadPool
 
+ + + +

+Namespaces

 grpc
 
+
+ + + + diff --git a/doc/ref/c++/html/dynamic__thread__pool_8h_source.html b/doc/ref/c++/html/dynamic__thread__pool_8h_source.html new file mode 100644 index 0000000000..6b6a551c2d --- /dev/null +++ b/doc/ref/c++/html/dynamic__thread__pool_8h_source.html @@ -0,0 +1,195 @@ + + + + + + +GRPC C++: include/grpc++/dynamic_thread_pool.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
dynamic_thread_pool.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPCXX_DYNAMIC_THREAD_POOL_H
+
35 #define GRPCXX_DYNAMIC_THREAD_POOL_H
+
36 
+
37 #include <grpc++/config.h>
+
38 
+
39 #include <grpc++/impl/sync.h>
+
40 #include <grpc++/impl/thd.h>
+ +
42 
+
43 #include <list>
+
44 #include <memory>
+
45 #include <queue>
+
46 
+
47 namespace grpc {
+
48 
+ +
50  public:
+
51  explicit DynamicThreadPool(int reserve_threads);
+ +
53 
+
54  void Add(const std::function<void()>& callback) GRPC_OVERRIDE;
+
55 
+
56  private:
+
57  class DynamicThread {
+
58  public:
+
59  DynamicThread(DynamicThreadPool *pool);
+
60  ~DynamicThread();
+
61  private:
+
62  DynamicThreadPool *pool_;
+
63  std::unique_ptr<grpc::thread> thd_;
+
64  void ThreadFunc();
+
65  };
+
66  grpc::mutex mu_;
+ +
68  grpc::condition_variable shutdown_cv_;
+
69  bool shutdown_;
+
70  std::queue<std::function<void()>> callbacks_;
+
71  int reserve_threads_;
+
72  int nthreads_;
+
73  int threads_waiting_;
+
74  std::list<DynamicThread*> dead_threads_;
+
75 
+
76  void ThreadFunc();
+
77  static void ReapThreads(std::list<DynamicThread*>* tlist);
+
78 };
+
79 
+
80 } // namespace grpc
+
81 
+
82 #endif // GRPCXX_DYNAMIC_THREAD_POOL_H
+
Definition: sync_no_cxx11.h:45
+ +
#define GRPC_FINAL
Definition: config.h:71
+
Definition: thread_pool_interface.h:42
+
DynamicThreadPool(int reserve_threads)
+
Definition: sync_no_cxx11.h:84
+ +
void Add(const std::function< void()> &callback) GRPC_OVERRIDE
+ + +
Definition: dynamic_thread_pool.h:49
+
#define GRPC_OVERRIDE
Definition: config.h:77
+ +
+ + + + diff --git a/doc/ref/c++/html/dynsections.js b/doc/ref/c++/html/dynsections.js new file mode 100644 index 0000000000..ed092c7f63 --- /dev/null +++ b/doc/ref/c++/html/dynsections.js @@ -0,0 +1,97 @@ +function toggleVisibility(linkObj) +{ + var base = $(linkObj).attr('id'); + var summary = $('#'+base+'-summary'); + var content = $('#'+base+'-content'); + var trigger = $('#'+base+'-trigger'); + var src=$(trigger).attr('src'); + if (content.is(':visible')===true) { + content.hide(); + summary.show(); + $(linkObj).addClass('closed').removeClass('opened'); + $(trigger).attr('src',src.substring(0,src.length-8)+'closed.png'); + } else { + content.show(); + summary.hide(); + $(linkObj).removeClass('closed').addClass('opened'); + $(trigger).attr('src',src.substring(0,src.length-10)+'open.png'); + } + return false; +} + +function updateStripes() +{ + $('table.directory tr'). + removeClass('even').filter(':visible:even').addClass('even'); +} +function toggleLevel(level) +{ + $('table.directory tr').each(function(){ + var l = this.id.split('_').length-1; + var i = $('#img'+this.id.substring(3)); + var a = $('#arr'+this.id.substring(3)); + if (l + + + + + +GRPC C++: File List + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + +
+ + + + +
+ +
+ +
+
+
File List
+
+ + + + + diff --git a/doc/ref/c++/html/fixed__size__thread__pool_8h.html b/doc/ref/c++/html/fixed__size__thread__pool_8h.html new file mode 100644 index 0000000000..77cc8d6da0 --- /dev/null +++ b/doc/ref/c++/html/fixed__size__thread__pool_8h.html @@ -0,0 +1,122 @@ + + + + + + +GRPC C++: include/grpc++/fixed_size_thread_pool.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
fixed_size_thread_pool.h File Reference
+
+
+
#include <grpc++/config.h>
+#include <grpc++/impl/sync.h>
+#include <grpc++/impl/thd.h>
+#include <grpc++/thread_pool_interface.h>
+#include <queue>
+#include <vector>
+
+

Go to the source code of this file.

+ + + + +

+Data Structures

class  grpc::FixedSizeThreadPool
 
+ + + +

+Namespaces

 grpc
 
+
+ + + + diff --git a/doc/ref/c++/html/fixed__size__thread__pool_8h_source.html b/doc/ref/c++/html/fixed__size__thread__pool_8h_source.html new file mode 100644 index 0000000000..a0f6f70d1a --- /dev/null +++ b/doc/ref/c++/html/fixed__size__thread__pool_8h_source.html @@ -0,0 +1,180 @@ + + + + + + +GRPC C++: include/grpc++/fixed_size_thread_pool.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
fixed_size_thread_pool.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPCXX_FIXED_SIZE_THREAD_POOL_H
+
35 #define GRPCXX_FIXED_SIZE_THREAD_POOL_H
+
36 
+
37 #include <grpc++/config.h>
+
38 
+
39 #include <grpc++/impl/sync.h>
+
40 #include <grpc++/impl/thd.h>
+ +
42 
+
43 #include <queue>
+
44 #include <vector>
+
45 
+
46 namespace grpc {
+
47 
+ +
49  public:
+
50  explicit FixedSizeThreadPool(int num_threads);
+ +
52 
+
53  void Add(const std::function<void()>& callback) GRPC_OVERRIDE;
+
54 
+
55  private:
+
56  grpc::mutex mu_;
+ +
58  bool shutdown_;
+
59  std::queue<std::function<void()>> callbacks_;
+
60  std::vector<grpc::thread*> threads_;
+
61 
+
62  void ThreadFunc();
+
63 };
+
64 
+
65 } // namespace grpc
+
66 
+
67 #endif // GRPCXX_FIXED_SIZE_THREAD_POOL_H
+ +
Definition: sync_no_cxx11.h:45
+ +
#define GRPC_FINAL
Definition: config.h:71
+
Definition: thread_pool_interface.h:42
+
Definition: sync_no_cxx11.h:84
+ +
FixedSizeThreadPool(int num_threads)
+ +
void Add(const std::function< void()> &callback) GRPC_OVERRIDE
+
#define GRPC_OVERRIDE
Definition: config.h:77
+
Definition: fixed_size_thread_pool.h:48
+ +
+ + + + diff --git a/doc/ref/c++/html/ftv2blank.png b/doc/ref/c++/html/ftv2blank.png new file mode 100644 index 0000000000..63c605bb4c Binary files /dev/null and b/doc/ref/c++/html/ftv2blank.png differ diff --git a/doc/ref/c++/html/ftv2cl.png b/doc/ref/c++/html/ftv2cl.png new file mode 100644 index 0000000000..132f6577bf Binary files /dev/null and b/doc/ref/c++/html/ftv2cl.png differ diff --git a/doc/ref/c++/html/ftv2doc.png b/doc/ref/c++/html/ftv2doc.png new file mode 100644 index 0000000000..17edabff95 Binary files /dev/null and b/doc/ref/c++/html/ftv2doc.png differ diff --git a/doc/ref/c++/html/ftv2folderclosed.png b/doc/ref/c++/html/ftv2folderclosed.png new file mode 100644 index 0000000000..bb8ab35edc Binary files /dev/null and b/doc/ref/c++/html/ftv2folderclosed.png differ diff --git a/doc/ref/c++/html/ftv2folderopen.png b/doc/ref/c++/html/ftv2folderopen.png new file mode 100644 index 0000000000..d6c7f676a3 Binary files /dev/null and b/doc/ref/c++/html/ftv2folderopen.png differ diff --git a/doc/ref/c++/html/ftv2lastnode.png b/doc/ref/c++/html/ftv2lastnode.png new file mode 100644 index 0000000000..63c605bb4c Binary files /dev/null and b/doc/ref/c++/html/ftv2lastnode.png differ diff --git a/doc/ref/c++/html/ftv2link.png b/doc/ref/c++/html/ftv2link.png new file mode 100644 index 0000000000..17edabff95 Binary files /dev/null and b/doc/ref/c++/html/ftv2link.png differ diff --git a/doc/ref/c++/html/ftv2mlastnode.png b/doc/ref/c++/html/ftv2mlastnode.png new file mode 100644 index 0000000000..0b63f6d38c Binary files /dev/null and b/doc/ref/c++/html/ftv2mlastnode.png differ diff --git a/doc/ref/c++/html/ftv2mnode.png b/doc/ref/c++/html/ftv2mnode.png new file mode 100644 index 0000000000..0b63f6d38c Binary files /dev/null and b/doc/ref/c++/html/ftv2mnode.png differ diff --git a/doc/ref/c++/html/ftv2mo.png b/doc/ref/c++/html/ftv2mo.png new file mode 100644 index 0000000000..4bfb80f76e Binary files /dev/null and b/doc/ref/c++/html/ftv2mo.png differ diff --git a/doc/ref/c++/html/ftv2node.png b/doc/ref/c++/html/ftv2node.png new file mode 100644 index 0000000000..63c605bb4c Binary files /dev/null and b/doc/ref/c++/html/ftv2node.png differ diff --git a/doc/ref/c++/html/ftv2ns.png b/doc/ref/c++/html/ftv2ns.png new file mode 100644 index 0000000000..72e3d71c28 Binary files /dev/null and b/doc/ref/c++/html/ftv2ns.png differ diff --git a/doc/ref/c++/html/ftv2plastnode.png b/doc/ref/c++/html/ftv2plastnode.png new file mode 100644 index 0000000000..c6ee22f937 Binary files /dev/null and b/doc/ref/c++/html/ftv2plastnode.png differ diff --git a/doc/ref/c++/html/ftv2pnode.png b/doc/ref/c++/html/ftv2pnode.png new file mode 100644 index 0000000000..c6ee22f937 Binary files /dev/null and b/doc/ref/c++/html/ftv2pnode.png differ diff --git a/doc/ref/c++/html/ftv2splitbar.png b/doc/ref/c++/html/ftv2splitbar.png new file mode 100644 index 0000000000..fe895f2c58 Binary files /dev/null and b/doc/ref/c++/html/ftv2splitbar.png differ diff --git a/doc/ref/c++/html/ftv2vertline.png b/doc/ref/c++/html/ftv2vertline.png new file mode 100644 index 0000000000..63c605bb4c Binary files /dev/null and b/doc/ref/c++/html/ftv2vertline.png differ diff --git a/doc/ref/c++/html/functions.html b/doc/ref/c++/html/functions.html new file mode 100644 index 0000000000..9a78b706e3 --- /dev/null +++ b/doc/ref/c++/html/functions.html @@ -0,0 +1,193 @@ + + + + + + +GRPC C++: Data Fields + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+
Here is a list of all struct and union fields with links to the structures/unions they belong to:
+ +

- : -

+
+ + + + diff --git a/doc/ref/c++/html/functions_a.html b/doc/ref/c++/html/functions_a.html new file mode 100644 index 0000000000..0268e9e949 --- /dev/null +++ b/doc/ref/c++/html/functions_a.html @@ -0,0 +1,198 @@ + + + + + + +GRPC C++: Data Fields + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+
Here is a list of all struct and union fields with links to the structures/unions they belong to:
+ +

- a -

+
+ + + + diff --git a/doc/ref/c++/html/functions_b.html b/doc/ref/c++/html/functions_b.html new file mode 100644 index 0000000000..a1784d78a7 --- /dev/null +++ b/doc/ref/c++/html/functions_b.html @@ -0,0 +1,157 @@ + + + + + + +GRPC C++: Data Fields + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+
Here is a list of all struct and union fields with links to the structures/unions they belong to:
+ +

- b -

+
+ + + + diff --git a/doc/ref/c++/html/functions_c.html b/doc/ref/c++/html/functions_c.html new file mode 100644 index 0000000000..6b5d95bc88 --- /dev/null +++ b/doc/ref/c++/html/functions_c.html @@ -0,0 +1,280 @@ + + + + + + +GRPC C++: Data Fields + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+
Here is a list of all struct and union fields with links to the structures/unions they belong to:
+ +

- c -

+
+ + + + diff --git a/doc/ref/c++/html/functions_d.html b/doc/ref/c++/html/functions_d.html new file mode 100644 index 0000000000..86ddbc40cb --- /dev/null +++ b/doc/ref/c++/html/functions_d.html @@ -0,0 +1,153 @@ + + + + + + +GRPC C++: Data Fields + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ + + + + + diff --git a/doc/ref/c++/html/functions_e.html b/doc/ref/c++/html/functions_e.html new file mode 100644 index 0000000000..998aa5f013 --- /dev/null +++ b/doc/ref/c++/html/functions_e.html @@ -0,0 +1,144 @@ + + + + + + +GRPC C++: Data Fields + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+
Here is a list of all struct and union fields with links to the structures/unions they belong to:
+ +

- e -

+
+ + + + diff --git a/doc/ref/c++/html/functions_enum.html b/doc/ref/c++/html/functions_enum.html new file mode 100644 index 0000000000..2335703d7f --- /dev/null +++ b/doc/ref/c++/html/functions_enum.html @@ -0,0 +1,118 @@ + + + + + + +GRPC C++: Data Fields - Enumerations + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + +
+ + + + +
+ +
+ +
+
+ + + + diff --git a/doc/ref/c++/html/functions_eval.html b/doc/ref/c++/html/functions_eval.html new file mode 100644 index 0000000000..f3620d94c6 --- /dev/null +++ b/doc/ref/c++/html/functions_eval.html @@ -0,0 +1,133 @@ + + + + + + +GRPC C++: Data Fields - Enumerator + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + +
+ + + + +
+ +
+ +
+
+ + + + diff --git a/doc/ref/c++/html/functions_f.html b/doc/ref/c++/html/functions_f.html new file mode 100644 index 0000000000..75b88bc901 --- /dev/null +++ b/doc/ref/c++/html/functions_f.html @@ -0,0 +1,186 @@ + + + + + + +GRPC C++: Data Fields + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ + + + + + diff --git a/doc/ref/c++/html/functions_func.html b/doc/ref/c++/html/functions_func.html new file mode 100644 index 0000000000..af38c7d6bf --- /dev/null +++ b/doc/ref/c++/html/functions_func.html @@ -0,0 +1,189 @@ + + + + + + +GRPC C++: Data Fields - Functions + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+  + +

- a -

+
+ + + + diff --git a/doc/ref/c++/html/functions_func_b.html b/doc/ref/c++/html/functions_func_b.html new file mode 100644 index 0000000000..b1971ecb99 --- /dev/null +++ b/doc/ref/c++/html/functions_func_b.html @@ -0,0 +1,146 @@ + + + + + + +GRPC C++: Data Fields - Functions + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+  + +

- b -

+
+ + + + diff --git a/doc/ref/c++/html/functions_func_c.html b/doc/ref/c++/html/functions_func_c.html new file mode 100644 index 0000000000..163654075c --- /dev/null +++ b/doc/ref/c++/html/functions_func_c.html @@ -0,0 +1,252 @@ + + + + + + +GRPC C++: Data Fields - Functions + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+  + +

- c -

+
+ + + + diff --git a/doc/ref/c++/html/functions_func_d.html b/doc/ref/c++/html/functions_func_d.html new file mode 100644 index 0000000000..fdc2cf67e6 --- /dev/null +++ b/doc/ref/c++/html/functions_func_d.html @@ -0,0 +1,152 @@ + + + + + + +GRPC C++: Data Fields - Functions + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ + + + + + diff --git a/doc/ref/c++/html/functions_func_e.html b/doc/ref/c++/html/functions_func_e.html new file mode 100644 index 0000000000..77414f4cb1 --- /dev/null +++ b/doc/ref/c++/html/functions_func_e.html @@ -0,0 +1,143 @@ + + + + + + +GRPC C++: Data Fields - Functions + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+  + +

- e -

+
+ + + + diff --git a/doc/ref/c++/html/functions_func_f.html b/doc/ref/c++/html/functions_func_f.html new file mode 100644 index 0000000000..7d344ea1d9 --- /dev/null +++ b/doc/ref/c++/html/functions_func_f.html @@ -0,0 +1,182 @@ + + + + + + +GRPC C++: Data Fields - Functions + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ + + + + + diff --git a/doc/ref/c++/html/functions_func_g.html b/doc/ref/c++/html/functions_func_g.html new file mode 100644 index 0000000000..96f7cff6c7 --- /dev/null +++ b/doc/ref/c++/html/functions_func_g.html @@ -0,0 +1,163 @@ + + + + + + +GRPC C++: Data Fields - Functions + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+  + +

- g -

+
+ + + + diff --git a/doc/ref/c++/html/functions_func_h.html b/doc/ref/c++/html/functions_func_h.html new file mode 100644 index 0000000000..b2af7553aa --- /dev/null +++ b/doc/ref/c++/html/functions_func_h.html @@ -0,0 +1,142 @@ + + + + + + +GRPC C++: Data Fields - Functions + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+  + +

- h -

+
+ + + + diff --git a/doc/ref/c++/html/functions_func_i.html b/doc/ref/c++/html/functions_func_i.html new file mode 100644 index 0000000000..cc6670197d --- /dev/null +++ b/doc/ref/c++/html/functions_func_i.html @@ -0,0 +1,139 @@ + + + + + + +GRPC C++: Data Fields - Functions + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+  + +

- i -

+
+ + + + diff --git a/doc/ref/c++/html/functions_func_j.html b/doc/ref/c++/html/functions_func_j.html new file mode 100644 index 0000000000..1bd300def2 --- /dev/null +++ b/doc/ref/c++/html/functions_func_j.html @@ -0,0 +1,136 @@ + + + + + + +GRPC C++: Data Fields - Functions + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+  + +

- j -

+
+ + + + diff --git a/doc/ref/c++/html/functions_func_l.html b/doc/ref/c++/html/functions_func_l.html new file mode 100644 index 0000000000..16dcf2cb8f --- /dev/null +++ b/doc/ref/c++/html/functions_func_l.html @@ -0,0 +1,145 @@ + + + + + + +GRPC C++: Data Fields - Functions + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+  + +

- l -

+
+ + + + diff --git a/doc/ref/c++/html/functions_func_m.html b/doc/ref/c++/html/functions_func_m.html new file mode 100644 index 0000000000..a863ce4b7c --- /dev/null +++ b/doc/ref/c++/html/functions_func_m.html @@ -0,0 +1,145 @@ + + + + + + +GRPC C++: Data Fields - Functions + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+  + +

- m -

+
+ + + + diff --git a/doc/ref/c++/html/functions_func_n.html b/doc/ref/c++/html/functions_func_n.html new file mode 100644 index 0000000000..915baa90ee --- /dev/null +++ b/doc/ref/c++/html/functions_func_n.html @@ -0,0 +1,145 @@ + + + + + + +GRPC C++: Data Fields - Functions + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+  + +

- n -

+
+ + + + diff --git a/doc/ref/c++/html/functions_func_o.html b/doc/ref/c++/html/functions_func_o.html new file mode 100644 index 0000000000..4217e613d1 --- /dev/null +++ b/doc/ref/c++/html/functions_func_o.html @@ -0,0 +1,153 @@ + + + + + + +GRPC C++: Data Fields - Functions + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+  + +

- o -

+
+ + + + diff --git a/doc/ref/c++/html/functions_func_p.html b/doc/ref/c++/html/functions_func_p.html new file mode 100644 index 0000000000..f8fc0fbddc --- /dev/null +++ b/doc/ref/c++/html/functions_func_p.html @@ -0,0 +1,143 @@ + + + + + + +GRPC C++: Data Fields - Functions + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+  + +

- p -

+
+ + + + diff --git a/doc/ref/c++/html/functions_func_r.html b/doc/ref/c++/html/functions_func_r.html new file mode 100644 index 0000000000..ecdf1a4581 --- /dev/null +++ b/doc/ref/c++/html/functions_func_r.html @@ -0,0 +1,212 @@ + + + + + + +GRPC C++: Data Fields - Functions + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+  + +

- r -

+
+ + + + diff --git a/doc/ref/c++/html/functions_func_s.html b/doc/ref/c++/html/functions_func_s.html new file mode 100644 index 0000000000..12412e4cb7 --- /dev/null +++ b/doc/ref/c++/html/functions_func_s.html @@ -0,0 +1,258 @@ + + + + + + +GRPC C++: Data Fields - Functions + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+  + +

- s -

+
+ + + + diff --git a/doc/ref/c++/html/functions_func_t.html b/doc/ref/c++/html/functions_func_t.html new file mode 100644 index 0000000000..dce50cdeba --- /dev/null +++ b/doc/ref/c++/html/functions_func_t.html @@ -0,0 +1,144 @@ + + + + + + +GRPC C++: Data Fields - Functions + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ + + + + + diff --git a/doc/ref/c++/html/functions_func_u.html b/doc/ref/c++/html/functions_func_u.html new file mode 100644 index 0000000000..e57abea50b --- /dev/null +++ b/doc/ref/c++/html/functions_func_u.html @@ -0,0 +1,142 @@ + + + + + + +GRPC C++: Data Fields - Functions + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+  + +

- u -

+
+ + + + diff --git a/doc/ref/c++/html/functions_func_w.html b/doc/ref/c++/html/functions_func_w.html new file mode 100644 index 0000000000..1f34590761 --- /dev/null +++ b/doc/ref/c++/html/functions_func_w.html @@ -0,0 +1,170 @@ + + + + + + +GRPC C++: Data Fields - Functions + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ + + + + + diff --git a/doc/ref/c++/html/functions_func_~.html b/doc/ref/c++/html/functions_func_~.html new file mode 100644 index 0000000000..3f56fffa1a --- /dev/null +++ b/doc/ref/c++/html/functions_func_~.html @@ -0,0 +1,235 @@ + + + + + + +GRPC C++: Data Fields - Functions + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+  + +

- ~ -

+
+ + + + diff --git a/doc/ref/c++/html/functions_g.html b/doc/ref/c++/html/functions_g.html new file mode 100644 index 0000000000..91bed92507 --- /dev/null +++ b/doc/ref/c++/html/functions_g.html @@ -0,0 +1,171 @@ + + + + + + +GRPC C++: Data Fields + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+
Here is a list of all struct and union fields with links to the structures/unions they belong to:
+ +

- g -

+
+ + + + diff --git a/doc/ref/c++/html/functions_h.html b/doc/ref/c++/html/functions_h.html new file mode 100644 index 0000000000..9b85391834 --- /dev/null +++ b/doc/ref/c++/html/functions_h.html @@ -0,0 +1,143 @@ + + + + + + +GRPC C++: Data Fields + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+
Here is a list of all struct and union fields with links to the structures/unions they belong to:
+ +

- h -

+
+ + + + diff --git a/doc/ref/c++/html/functions_i.html b/doc/ref/c++/html/functions_i.html new file mode 100644 index 0000000000..4203e1804b --- /dev/null +++ b/doc/ref/c++/html/functions_i.html @@ -0,0 +1,146 @@ + + + + + + +GRPC C++: Data Fields + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+
Here is a list of all struct and union fields with links to the structures/unions they belong to:
+ +

- i -

+
+ + + + diff --git a/doc/ref/c++/html/functions_j.html b/doc/ref/c++/html/functions_j.html new file mode 100644 index 0000000000..248a685250 --- /dev/null +++ b/doc/ref/c++/html/functions_j.html @@ -0,0 +1,137 @@ + + + + + + +GRPC C++: Data Fields + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+
Here is a list of all struct and union fields with links to the structures/unions they belong to:
+ +

- j -

+
+ + + + diff --git a/doc/ref/c++/html/functions_l.html b/doc/ref/c++/html/functions_l.html new file mode 100644 index 0000000000..db7ca7df25 --- /dev/null +++ b/doc/ref/c++/html/functions_l.html @@ -0,0 +1,147 @@ + + + + + + +GRPC C++: Data Fields + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+
Here is a list of all struct and union fields with links to the structures/unions they belong to:
+ +

- l -

+
+ + + + diff --git a/doc/ref/c++/html/functions_m.html b/doc/ref/c++/html/functions_m.html new file mode 100644 index 0000000000..e72a428ae7 --- /dev/null +++ b/doc/ref/c++/html/functions_m.html @@ -0,0 +1,150 @@ + + + + + + +GRPC C++: Data Fields + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+
Here is a list of all struct and union fields with links to the structures/unions they belong to:
+ +

- m -

+
+ + + + diff --git a/doc/ref/c++/html/functions_n.html b/doc/ref/c++/html/functions_n.html new file mode 100644 index 0000000000..f29803e094 --- /dev/null +++ b/doc/ref/c++/html/functions_n.html @@ -0,0 +1,152 @@ + + + + + + +GRPC C++: Data Fields + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+
Here is a list of all struct and union fields with links to the structures/unions they belong to:
+ +

- n -

+
+ + + + diff --git a/doc/ref/c++/html/functions_o.html b/doc/ref/c++/html/functions_o.html new file mode 100644 index 0000000000..5372b74110 --- /dev/null +++ b/doc/ref/c++/html/functions_o.html @@ -0,0 +1,157 @@ + + + + + + +GRPC C++: Data Fields + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+
Here is a list of all struct and union fields with links to the structures/unions they belong to:
+ +

- o -

+
+ + + + diff --git a/doc/ref/c++/html/functions_p.html b/doc/ref/c++/html/functions_p.html new file mode 100644 index 0000000000..26bd6cef84 --- /dev/null +++ b/doc/ref/c++/html/functions_p.html @@ -0,0 +1,160 @@ + + + + + + +GRPC C++: Data Fields + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+
Here is a list of all struct and union fields with links to the structures/unions they belong to:
+ +

- p -

+
+ + + + diff --git a/doc/ref/c++/html/functions_r.html b/doc/ref/c++/html/functions_r.html new file mode 100644 index 0000000000..b31abe418d --- /dev/null +++ b/doc/ref/c++/html/functions_r.html @@ -0,0 +1,221 @@ + + + + + + +GRPC C++: Data Fields + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+
Here is a list of all struct and union fields with links to the structures/unions they belong to:
+ +

- r -

+
+ + + + diff --git a/doc/ref/c++/html/functions_rela.html b/doc/ref/c++/html/functions_rela.html new file mode 100644 index 0000000000..dae4563d38 --- /dev/null +++ b/doc/ref/c++/html/functions_rela.html @@ -0,0 +1,280 @@ + + + + + + +GRPC C++: Data Fields - Related Functions + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+  + +

- : -

+ + +

- a -

+ + +

- b -

+ + +

- c -

+ + +

- l -

+ + +

- r -

+ + +

- s -

+ + +

- t -

+
+ + + + diff --git a/doc/ref/c++/html/functions_s.html b/doc/ref/c++/html/functions_s.html new file mode 100644 index 0000000000..6c9d432a82 --- /dev/null +++ b/doc/ref/c++/html/functions_s.html @@ -0,0 +1,298 @@ + + + + + + +GRPC C++: Data Fields + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+
Here is a list of all struct and union fields with links to the structures/unions they belong to:
+ +

- s -

+
+ + + + diff --git a/doc/ref/c++/html/functions_t.html b/doc/ref/c++/html/functions_t.html new file mode 100644 index 0000000000..ae1aa63b5d --- /dev/null +++ b/doc/ref/c++/html/functions_t.html @@ -0,0 +1,151 @@ + + + + + + +GRPC C++: Data Fields + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+
Here is a list of all struct and union fields with links to the structures/unions they belong to:
+ +

- t -

+
+ + + + diff --git a/doc/ref/c++/html/functions_u.html b/doc/ref/c++/html/functions_u.html new file mode 100644 index 0000000000..a9f8a64b4b --- /dev/null +++ b/doc/ref/c++/html/functions_u.html @@ -0,0 +1,143 @@ + + + + + + +GRPC C++: Data Fields + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+
Here is a list of all struct and union fields with links to the structures/unions they belong to:
+ +

- u -

+
+ + + + diff --git a/doc/ref/c++/html/functions_vars.html b/doc/ref/c++/html/functions_vars.html new file mode 100644 index 0000000000..3819f30c37 --- /dev/null +++ b/doc/ref/c++/html/functions_vars.html @@ -0,0 +1,162 @@ + + + + + + +GRPC C++: Data Fields - Variables + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + +
+ + + + +
+ +
+ + + + + + diff --git a/doc/ref/c++/html/functions_w.html b/doc/ref/c++/html/functions_w.html new file mode 100644 index 0000000000..d09c1d5bbd --- /dev/null +++ b/doc/ref/c++/html/functions_w.html @@ -0,0 +1,171 @@ + + + + + + +GRPC C++: Data Fields + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ + + + + + diff --git a/doc/ref/c++/html/functions_~.html b/doc/ref/c++/html/functions_~.html new file mode 100644 index 0000000000..0ddb2275c0 --- /dev/null +++ b/doc/ref/c++/html/functions_~.html @@ -0,0 +1,236 @@ + + + + + + +GRPC C++: Data Fields + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+
Here is a list of all struct and union fields with links to the structures/unions they belong to:
+ +

- ~ -

+
+ + + + diff --git a/doc/ref/c++/html/generic__stub_8h.html b/doc/ref/c++/html/generic__stub_8h.html new file mode 100644 index 0000000000..f374a8e394 --- /dev/null +++ b/doc/ref/c++/html/generic__stub_8h.html @@ -0,0 +1,126 @@ + + + + + + +GRPC C++: include/grpc++/generic_stub.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
generic_stub.h File Reference
+
+
+
#include <grpc++/byte_buffer.h>
+#include <grpc++/stream.h>
+
+

Go to the source code of this file.

+ + + + +

+Data Structures

class  grpc::GenericStub
 
+ + + +

+Namespaces

 grpc
 
+ + + +

+Typedefs

typedef
+ClientAsyncReaderWriter
+< ByteBuffer, ByteBuffer > 
grpc::GenericClientAsyncReaderWriter
 
+
+ + + + diff --git a/doc/ref/c++/html/generic__stub_8h_source.html b/doc/ref/c++/html/generic__stub_8h_source.html new file mode 100644 index 0000000000..9c125f01c8 --- /dev/null +++ b/doc/ref/c++/html/generic__stub_8h_source.html @@ -0,0 +1,175 @@ + + + + + + +GRPC C++: include/grpc++/generic_stub.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
generic_stub.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPCXX_GENERIC_STUB_H
+
35 #define GRPCXX_GENERIC_STUB_H
+
36 
+
37 #include <grpc++/byte_buffer.h>
+
38 #include <grpc++/stream.h>
+
39 
+
40 namespace grpc {
+
41 
+ + + +
45 
+
46 // Generic stubs provide a type-unsafe interface to call gRPC methods
+
47 // by name.
+ +
49  public:
+
50  explicit GenericStub(std::shared_ptr<ChannelInterface> channel)
+
51  : channel_(channel) {}
+
52 
+
53  // begin a call to a named method
+
54  std::unique_ptr<GenericClientAsyncReaderWriter> Call(
+
55  ClientContext* context, const grpc::string& method,
+
56  CompletionQueue* cq, void* tag);
+
57 
+
58  private:
+
59  std::shared_ptr<ChannelInterface> channel_;
+
60 };
+
61 
+
62 } // namespace grpc
+
63 
+
64 #endif // GRPCXX_GENERIC_STUB_H
+
Definition: client_context.h:70
+
std::string string
Definition: config.h:112
+ +
#define GRPC_FINAL
Definition: config.h:71
+
Definition: client_context.h:74
+ +
std::unique_ptr< GenericClientAsyncReaderWriter > Call(ClientContext *context, const grpc::string &method, CompletionQueue *cq, void *tag)
+
Definition: completion_queue.h:87
+
ClientAsyncReaderWriter< ByteBuffer, ByteBuffer > GenericClientAsyncReaderWriter
Definition: generic_stub.h:42
+
Definition: generic_stub.h:48
+
GenericStub(std::shared_ptr< ChannelInterface > channel)
Definition: generic_stub.h:50
+
+ + + + diff --git a/doc/ref/c++/html/globals.html b/doc/ref/c++/html/globals.html new file mode 100644 index 0000000000..8488cc2ed1 --- /dev/null +++ b/doc/ref/c++/html/globals.html @@ -0,0 +1,124 @@ + + + + + + +GRPC C++: Globals + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + +
+ + + + +
+ +
+ +
+
Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:
+
+ + + + diff --git a/doc/ref/c++/html/globals_defs.html b/doc/ref/c++/html/globals_defs.html new file mode 100644 index 0000000000..c8f75e6c59 --- /dev/null +++ b/doc/ref/c++/html/globals_defs.html @@ -0,0 +1,124 @@ + + + + + + +GRPC C++: Globals + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + +
+ + + + +
+ +
+ +
+
+ + + + diff --git a/doc/ref/c++/html/graph_legend.html b/doc/ref/c++/html/graph_legend.html new file mode 100644 index 0000000000..0af9f04cd3 --- /dev/null +++ b/doc/ref/c++/html/graph_legend.html @@ -0,0 +1,154 @@ + + + + + + +GRPC C++: Graph Legend + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + +
+ + + + +
+ +
+ +
+
+
Graph Legend
+
+
+

This page explains how to interpret the graphs that are generated by doxygen.

+

Consider the following example:

+
/*! Invisible class because of truncation */
+
class Invisible { };
+
+
/*! Truncated class, inheritance relation is hidden */
+
class Truncated : public Invisible { };
+
+
/* Class not documented with doxygen comments */
+
class Undocumented { };
+
+
/*! Class that is inherited using public inheritance */
+
class PublicBase : public Truncated { };
+
+
/*! A template class */
+
template<class T> class Templ { };
+
+
/*! Class that is inherited using protected inheritance */
+
class ProtectedBase { };
+
+
/*! Class that is inherited using private inheritance */
+
class PrivateBase { };
+
+
/*! Class that is used by the Inherited class */
+
class Used { };
+
+
/*! Super class that inherits a number of other classes */
+
class Inherited : public PublicBase,
+
protected ProtectedBase,
+
private PrivateBase,
+
public Undocumented,
+
public Templ<int>
+
{
+
private:
+
Used *m_usedClass;
+
};
+

This will result in the following graph:

+
+ +
+

The boxes in the above graph have the following meaning:

+
    +
  • +A filled gray box represents the struct or class for which the graph is generated.
  • +
  • +A box with a black border denotes a documented struct or class.
  • +
  • +A box with a grey border denotes an undocumented struct or class.
  • +
  • +A box with a red border denotes a documented struct or class forwhich not all inheritance/containment relations are shown. A graph is truncated if it does not fit within the specified boundaries.
  • +
+

The arrows have the following meaning:

+
    +
  • +A dark blue arrow is used to visualize a public inheritance relation between two classes.
  • +
  • +A dark green arrow is used for protected inheritance.
  • +
  • +A dark red arrow is used for private inheritance.
  • +
  • +A purple dashed arrow is used if a class is contained or used by another class. The arrow is labeled with the variable(s) through which the pointed class or struct is accessible.
  • +
  • +A yellow dashed arrow denotes a relation between a template instance and the template class it was instantiated from. The arrow is labeled with the template parameters of the instance.
  • +
+
+ + + + diff --git a/doc/ref/c++/html/graph_legend.md5 b/doc/ref/c++/html/graph_legend.md5 new file mode 100644 index 0000000000..a06ed050cb --- /dev/null +++ b/doc/ref/c++/html/graph_legend.md5 @@ -0,0 +1 @@ +387ff8eb65306fa251338d3c9bd7bfff \ No newline at end of file diff --git a/doc/ref/c++/html/graph_legend.png b/doc/ref/c++/html/graph_legend.png new file mode 100644 index 0000000000..6c1d0c239c Binary files /dev/null and b/doc/ref/c++/html/graph_legend.png differ diff --git a/doc/ref/c++/html/grpc__library_8h.html b/doc/ref/c++/html/grpc__library_8h.html new file mode 100644 index 0000000000..733bf6f7d9 --- /dev/null +++ b/doc/ref/c++/html/grpc__library_8h.html @@ -0,0 +1,117 @@ + + + + + + +GRPC C++: include/grpc++/impl/grpc_library.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc_library.h File Reference
+
+
+
#include <grpc/grpc.h>
+
+

Go to the source code of this file.

+ + + + +

+Data Structures

class  grpc::GrpcLibrary
 
+ + + +

+Namespaces

 grpc
 
+
+ + + + diff --git a/doc/ref/c++/html/grpc__library_8h_source.html b/doc/ref/c++/html/grpc__library_8h_source.html new file mode 100644 index 0000000000..418506163e --- /dev/null +++ b/doc/ref/c++/html/grpc__library_8h_source.html @@ -0,0 +1,153 @@ + + + + + + +GRPC C++: include/grpc++/impl/grpc_library.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
grpc_library.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPCXX_IMPL_GRPC_LIBRARY_H
+
35 #define GRPCXX_IMPL_GRPC_LIBRARY_H
+
36 
+
37 #include <grpc/grpc.h>
+
38 
+
39 namespace grpc {
+
40 
+
41 class GrpcLibrary {
+
42  public:
+
43  GrpcLibrary() { grpc_init(); }
+
44  virtual ~GrpcLibrary() { grpc_shutdown(); }
+
45 };
+
46 
+
47 } // namespace grpc
+
48 
+
49 
+
50 #endif // GRPCXX_IMPL_GRPC_LIBRARY_H
+
Definition: grpc_library.h:41
+
GrpcLibrary()
Definition: grpc_library.h:43
+
virtual ~GrpcLibrary()
Definition: grpc_library.h:44
+
+ + + + diff --git a/doc/ref/c++/html/hierarchy.html b/doc/ref/c++/html/hierarchy.html new file mode 100644 index 0000000000..41eff77298 --- /dev/null +++ b/doc/ref/c++/html/hierarchy.html @@ -0,0 +1,336 @@ + + + + + + +GRPC C++: Class Hierarchy + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + +
+ + + + +
+ +
+ +
+
+
Class Hierarchy
+
+
+
This inheritance list is sorted roughly, but not completely, alphabetically:
+
[detail level 1234]
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
oCgrpc::AsyncGenericService
oCgrpc::AsynchronousService
oCgrpc::AsyncReaderInterface< R >
oCgrpc::AsyncWriterInterface< W >
oCgrpc::AuthContext
oCgrpc::ByteBuffer
oCgrpc::Call
oCgrpc::CallHook
oCgrpc::CallNoOp< I >Default argument for CallOpSet
oCgrpc::CallNoOp< 2 >
oCgrpc::CallNoOp< 3 >
oCgrpc::CallNoOp< 4 >
oCgrpc::CallNoOp< 5 >
oCgrpc::CallNoOp< 6 >
oCgrpc::CallOpClientRecvStatus
oCgrpc::CallOpClientSendClose
oCgrpc::CallOpGenericRecvMessage
oCgrpc::CallOpRecvInitialMetadata
oCgrpc::CallOpRecvMessage< R >
oCgrpc::CallOpSendInitialMetadata
oCgrpc::CallOpSendMessage
oCgrpc::CallOpServerSendStatus
oCgrpc::ChannelArguments
oCgrpc::ClientAsyncResponseReaderInterface< R >
oCgrpc::ClientAsyncStreamingInterface
oCgrpc::ClientContext
oCgrpc::ClientStreamingInterface
oCgrpc::CompletionQueueTag
oCgrpc::condition_variable
oCgrpc::CallOpGenericRecvMessageHelper::DeserializeFunc
oCenable_shared_from_this
oCgrpc::GenericStub
oCgrpc::GrpcLibrary
oCgrpc::MethodHandler::HandlerParameter
oCgrpc::InternalStub
oCiterator
oCgrpc::lock_guard< mutex >
oCgrpc::MethodHandler
oCgrpc::mutex
oCgrpc::SslServerCredentialsOptions::PemKeyCertPair
oCgrpc::ReaderInterface< R >
oCgrpc::RpcMethod
oCgrpc::RpcService
oCgrpc::SerializationTraits< Message, UnusedButHereForPartialTemplateSpecialization >Defines how to serialize and deserialize some type
oCgrpc::SerializationTraits< ByteBuffer, void >
oCgrpc::SerializationTraits< T, typename std::enable_if< std::is_base_of< grpc::protobuf::Message, T >::value >::type >
oCgrpc::ServerAsyncStreamingInterface
oCgrpc::ServerBuilder
oCgrpc::ServerContext
oCgrpc::ServerCredentials
oCgrpc::Slice
oCgrpc::SslCredentialsOptions
oCgrpc::SslServerCredentialsOptions
oCgrpc::Status
oCgrpc::SynchronousService
oCgrpc::thread
oCgrpc::ThreadPoolInterface
oCgrpc::TimePoint< T >
oCgrpc::TimePoint< gpr_timespec >
oCgrpc::TimePoint< std::chrono::system_clock::time_point >
oCgrpc::WriteOptionsPer-message write options
oCgrpc::WriterInterface< W >
oCOp1
oCOp2
oCOp3
oCOp4
oCOp5
\COp6
+
+
+ + + + diff --git a/doc/ref/c++/html/index.html b/doc/ref/c++/html/index.html new file mode 100644 index 0000000000..ef20d58e7e --- /dev/null +++ b/doc/ref/c++/html/index.html @@ -0,0 +1,90 @@ + + + + + + +GRPC C++: Main Page + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + +
+ + + + +
+ +
+ +
+
+
GRPC C++ Documentation
+
+
+
+ + + + diff --git a/doc/ref/c++/html/internal__stub_8h.html b/doc/ref/c++/html/internal__stub_8h.html new file mode 100644 index 0000000000..1e8adb6a92 --- /dev/null +++ b/doc/ref/c++/html/internal__stub_8h.html @@ -0,0 +1,118 @@ + + + + + + +GRPC C++: include/grpc++/impl/internal_stub.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
internal_stub.h File Reference
+
+
+
#include <memory>
+#include <grpc++/channel_interface.h>
+
+

Go to the source code of this file.

+ + + + +

+Data Structures

class  grpc::InternalStub
 
+ + + +

+Namespaces

 grpc
 
+
+ + + + diff --git a/doc/ref/c++/html/internal__stub_8h_source.html b/doc/ref/c++/html/internal__stub_8h_source.html new file mode 100644 index 0000000000..2ddaea85d7 --- /dev/null +++ b/doc/ref/c++/html/internal__stub_8h_source.html @@ -0,0 +1,163 @@ + + + + + + +GRPC C++: include/grpc++/impl/internal_stub.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
internal_stub.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPCXX_IMPL_INTERNAL_STUB_H
+
35 #define GRPCXX_IMPL_INTERNAL_STUB_H
+
36 
+
37 #include <memory>
+
38 
+ +
40 
+
41 namespace grpc {
+
42 
+
43 class InternalStub {
+
44  public:
+
45  InternalStub(const std::shared_ptr<ChannelInterface>& channel)
+
46  : channel_(channel) {}
+
47  virtual ~InternalStub() {}
+
48 
+
49  ChannelInterface* channel() { return channel_.get(); }
+
50 
+
51  private:
+
52  const std::shared_ptr<ChannelInterface> channel_;
+
53 };
+
54 
+
55 } // namespace grpc
+
56 
+
57 #endif // GRPCXX_IMPL_INTERNAL_STUB_H
+ +
Definition: channel_interface.h:52
+
virtual ~InternalStub()
Definition: internal_stub.h:47
+
InternalStub(const std::shared_ptr< ChannelInterface > &channel)
Definition: internal_stub.h:45
+
Definition: internal_stub.h:43
+
ChannelInterface * channel()
Definition: internal_stub.h:49
+
+ + + + diff --git a/doc/ref/c++/html/jquery.js b/doc/ref/c++/html/jquery.js new file mode 100644 index 0000000000..c197801c5d --- /dev/null +++ b/doc/ref/c++/html/jquery.js @@ -0,0 +1,31 @@ +/*! + * jQuery JavaScript Library v1.7.1 + * http://jquery.com/ + * + * Copyright 2011, John Resig + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * Includes Sizzle.js + * http://sizzlejs.com/ + * Copyright 2011, The Dojo Foundation + * Released under the MIT, BSD, and GPL Licenses. + * + * Date: Mon Nov 21 21:11:03 2011 -0500 + */ +(function(bb,L){var av=bb.document,bu=bb.navigator,bl=bb.location;var b=(function(){var bF=function(b0,b1){return new bF.fn.init(b0,b1,bD)},bU=bb.jQuery,bH=bb.$,bD,bY=/^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,bM=/\S/,bI=/^\s+/,bE=/\s+$/,bA=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,bN=/^[\],:{}\s]*$/,bW=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,bP=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,bJ=/(?:^|:|,)(?:\s*\[)+/g,by=/(webkit)[ \/]([\w.]+)/,bR=/(opera)(?:.*version)?[ \/]([\w.]+)/,bQ=/(msie) ([\w.]+)/,bS=/(mozilla)(?:.*? rv:([\w.]+))?/,bB=/-([a-z]|[0-9])/ig,bZ=/^-ms-/,bT=function(b0,b1){return(b1+"").toUpperCase()},bX=bu.userAgent,bV,bC,e,bL=Object.prototype.toString,bG=Object.prototype.hasOwnProperty,bz=Array.prototype.push,bK=Array.prototype.slice,bO=String.prototype.trim,bv=Array.prototype.indexOf,bx={};bF.fn=bF.prototype={constructor:bF,init:function(b0,b4,b3){var b2,b5,b1,b6;if(!b0){return this}if(b0.nodeType){this.context=this[0]=b0;this.length=1;return this}if(b0==="body"&&!b4&&av.body){this.context=av;this[0]=av.body;this.selector=b0;this.length=1;return this}if(typeof b0==="string"){if(b0.charAt(0)==="<"&&b0.charAt(b0.length-1)===">"&&b0.length>=3){b2=[null,b0,null]}else{b2=bY.exec(b0)}if(b2&&(b2[1]||!b4)){if(b2[1]){b4=b4 instanceof bF?b4[0]:b4;b6=(b4?b4.ownerDocument||b4:av);b1=bA.exec(b0);if(b1){if(bF.isPlainObject(b4)){b0=[av.createElement(b1[1])];bF.fn.attr.call(b0,b4,true)}else{b0=[b6.createElement(b1[1])]}}else{b1=bF.buildFragment([b2[1]],[b6]);b0=(b1.cacheable?bF.clone(b1.fragment):b1.fragment).childNodes}return bF.merge(this,b0)}else{b5=av.getElementById(b2[2]);if(b5&&b5.parentNode){if(b5.id!==b2[2]){return b3.find(b0)}this.length=1;this[0]=b5}this.context=av;this.selector=b0;return this}}else{if(!b4||b4.jquery){return(b4||b3).find(b0)}else{return this.constructor(b4).find(b0)}}}else{if(bF.isFunction(b0)){return b3.ready(b0)}}if(b0.selector!==L){this.selector=b0.selector;this.context=b0.context}return bF.makeArray(b0,this)},selector:"",jquery:"1.7.1",length:0,size:function(){return this.length},toArray:function(){return bK.call(this,0)},get:function(b0){return b0==null?this.toArray():(b0<0?this[this.length+b0]:this[b0])},pushStack:function(b1,b3,b0){var b2=this.constructor();if(bF.isArray(b1)){bz.apply(b2,b1)}else{bF.merge(b2,b1)}b2.prevObject=this;b2.context=this.context;if(b3==="find"){b2.selector=this.selector+(this.selector?" ":"")+b0}else{if(b3){b2.selector=this.selector+"."+b3+"("+b0+")"}}return b2},each:function(b1,b0){return bF.each(this,b1,b0)},ready:function(b0){bF.bindReady();bC.add(b0);return this},eq:function(b0){b0=+b0;return b0===-1?this.slice(b0):this.slice(b0,b0+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(bK.apply(this,arguments),"slice",bK.call(arguments).join(","))},map:function(b0){return this.pushStack(bF.map(this,function(b2,b1){return b0.call(b2,b1,b2)}))},end:function(){return this.prevObject||this.constructor(null)},push:bz,sort:[].sort,splice:[].splice};bF.fn.init.prototype=bF.fn;bF.extend=bF.fn.extend=function(){var b9,b2,b0,b1,b6,b7,b5=arguments[0]||{},b4=1,b3=arguments.length,b8=false;if(typeof b5==="boolean"){b8=b5;b5=arguments[1]||{};b4=2}if(typeof b5!=="object"&&!bF.isFunction(b5)){b5={}}if(b3===b4){b5=this;--b4}for(;b40){return}bC.fireWith(av,[bF]);if(bF.fn.trigger){bF(av).trigger("ready").off("ready")}}},bindReady:function(){if(bC){return}bC=bF.Callbacks("once memory");if(av.readyState==="complete"){return setTimeout(bF.ready,1)}if(av.addEventListener){av.addEventListener("DOMContentLoaded",e,false);bb.addEventListener("load",bF.ready,false)}else{if(av.attachEvent){av.attachEvent("onreadystatechange",e);bb.attachEvent("onload",bF.ready);var b0=false;try{b0=bb.frameElement==null}catch(b1){}if(av.documentElement.doScroll&&b0){bw()}}}},isFunction:function(b0){return bF.type(b0)==="function"},isArray:Array.isArray||function(b0){return bF.type(b0)==="array"},isWindow:function(b0){return b0&&typeof b0==="object"&&"setInterval" in b0},isNumeric:function(b0){return !isNaN(parseFloat(b0))&&isFinite(b0)},type:function(b0){return b0==null?String(b0):bx[bL.call(b0)]||"object"},isPlainObject:function(b2){if(!b2||bF.type(b2)!=="object"||b2.nodeType||bF.isWindow(b2)){return false}try{if(b2.constructor&&!bG.call(b2,"constructor")&&!bG.call(b2.constructor.prototype,"isPrototypeOf")){return false}}catch(b1){return false}var b0;for(b0 in b2){}return b0===L||bG.call(b2,b0)},isEmptyObject:function(b1){for(var b0 in b1){return false}return true},error:function(b0){throw new Error(b0)},parseJSON:function(b0){if(typeof b0!=="string"||!b0){return null}b0=bF.trim(b0);if(bb.JSON&&bb.JSON.parse){return bb.JSON.parse(b0)}if(bN.test(b0.replace(bW,"@").replace(bP,"]").replace(bJ,""))){return(new Function("return "+b0))()}bF.error("Invalid JSON: "+b0)},parseXML:function(b2){var b0,b1;try{if(bb.DOMParser){b1=new DOMParser();b0=b1.parseFromString(b2,"text/xml")}else{b0=new ActiveXObject("Microsoft.XMLDOM");b0.async="false";b0.loadXML(b2)}}catch(b3){b0=L}if(!b0||!b0.documentElement||b0.getElementsByTagName("parsererror").length){bF.error("Invalid XML: "+b2)}return b0},noop:function(){},globalEval:function(b0){if(b0&&bM.test(b0)){(bb.execScript||function(b1){bb["eval"].call(bb,b1)})(b0)}},camelCase:function(b0){return b0.replace(bZ,"ms-").replace(bB,bT)},nodeName:function(b1,b0){return b1.nodeName&&b1.nodeName.toUpperCase()===b0.toUpperCase()},each:function(b3,b6,b2){var b1,b4=0,b5=b3.length,b0=b5===L||bF.isFunction(b3);if(b2){if(b0){for(b1 in b3){if(b6.apply(b3[b1],b2)===false){break}}}else{for(;b40&&b0[0]&&b0[b1-1])||b1===0||bF.isArray(b0));if(b3){for(;b21?aJ.call(arguments,0):bG;if(!(--bw)){bC.resolveWith(bC,bx)}}}function bz(bF){return function(bG){bB[bF]=arguments.length>1?aJ.call(arguments,0):bG;bC.notifyWith(bE,bB)}}if(e>1){for(;bv
a";bI=bv.getElementsByTagName("*");bF=bv.getElementsByTagName("a")[0];if(!bI||!bI.length||!bF){return{}}bG=av.createElement("select");bx=bG.appendChild(av.createElement("option"));bE=bv.getElementsByTagName("input")[0];bJ={leadingWhitespace:(bv.firstChild.nodeType===3),tbody:!bv.getElementsByTagName("tbody").length,htmlSerialize:!!bv.getElementsByTagName("link").length,style:/top/.test(bF.getAttribute("style")),hrefNormalized:(bF.getAttribute("href")==="/a"),opacity:/^0.55/.test(bF.style.opacity),cssFloat:!!bF.style.cssFloat,checkOn:(bE.value==="on"),optSelected:bx.selected,getSetAttribute:bv.className!=="t",enctype:!!av.createElement("form").enctype,html5Clone:av.createElement("nav").cloneNode(true).outerHTML!=="<:nav>",submitBubbles:true,changeBubbles:true,focusinBubbles:false,deleteExpando:true,noCloneEvent:true,inlineBlockNeedsLayout:false,shrinkWrapBlocks:false,reliableMarginRight:true};bE.checked=true;bJ.noCloneChecked=bE.cloneNode(true).checked;bG.disabled=true;bJ.optDisabled=!bx.disabled;try{delete bv.test}catch(bC){bJ.deleteExpando=false}if(!bv.addEventListener&&bv.attachEvent&&bv.fireEvent){bv.attachEvent("onclick",function(){bJ.noCloneEvent=false});bv.cloneNode(true).fireEvent("onclick")}bE=av.createElement("input");bE.value="t";bE.setAttribute("type","radio");bJ.radioValue=bE.value==="t";bE.setAttribute("checked","checked");bv.appendChild(bE);bD=av.createDocumentFragment();bD.appendChild(bv.lastChild);bJ.checkClone=bD.cloneNode(true).cloneNode(true).lastChild.checked;bJ.appendChecked=bE.checked;bD.removeChild(bE);bD.appendChild(bv);bv.innerHTML="";if(bb.getComputedStyle){bA=av.createElement("div");bA.style.width="0";bA.style.marginRight="0";bv.style.width="2px";bv.appendChild(bA);bJ.reliableMarginRight=(parseInt((bb.getComputedStyle(bA,null)||{marginRight:0}).marginRight,10)||0)===0}if(bv.attachEvent){for(by in {submit:1,change:1,focusin:1}){bB="on"+by;bw=(bB in bv);if(!bw){bv.setAttribute(bB,"return;");bw=(typeof bv[bB]==="function")}bJ[by+"Bubbles"]=bw}}bD.removeChild(bv);bD=bG=bx=bA=bv=bE=null;b(function(){var bM,bU,bV,bT,bN,bO,bL,bS,bR,e,bP,bQ=av.getElementsByTagName("body")[0];if(!bQ){return}bL=1;bS="position:absolute;top:0;left:0;width:1px;height:1px;margin:0;";bR="visibility:hidden;border:0;";e="style='"+bS+"border:5px solid #000;padding:0;'";bP="
";bM=av.createElement("div");bM.style.cssText=bR+"width:0;height:0;position:static;top:0;margin-top:"+bL+"px";bQ.insertBefore(bM,bQ.firstChild);bv=av.createElement("div");bM.appendChild(bv);bv.innerHTML="
t
";bz=bv.getElementsByTagName("td");bw=(bz[0].offsetHeight===0);bz[0].style.display="";bz[1].style.display="none";bJ.reliableHiddenOffsets=bw&&(bz[0].offsetHeight===0);bv.innerHTML="";bv.style.width=bv.style.paddingLeft="1px";b.boxModel=bJ.boxModel=bv.offsetWidth===2;if(typeof bv.style.zoom!=="undefined"){bv.style.display="inline";bv.style.zoom=1;bJ.inlineBlockNeedsLayout=(bv.offsetWidth===2);bv.style.display="";bv.innerHTML="
";bJ.shrinkWrapBlocks=(bv.offsetWidth!==2)}bv.style.cssText=bS+bR;bv.innerHTML=bP;bU=bv.firstChild;bV=bU.firstChild;bN=bU.nextSibling.firstChild.firstChild;bO={doesNotAddBorder:(bV.offsetTop!==5),doesAddBorderForTableAndCells:(bN.offsetTop===5)};bV.style.position="fixed";bV.style.top="20px";bO.fixedPosition=(bV.offsetTop===20||bV.offsetTop===15);bV.style.position=bV.style.top="";bU.style.overflow="hidden";bU.style.position="relative";bO.subtractsBorderForOverflowNotVisible=(bV.offsetTop===-5);bO.doesNotIncludeMarginInBodyOffset=(bQ.offsetTop!==bL);bQ.removeChild(bM);bv=bM=null;b.extend(bJ,bO)});return bJ})();var aS=/^(?:\{.*\}|\[.*\])$/,aA=/([A-Z])/g;b.extend({cache:{},uuid:0,expando:"jQuery"+(b.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:true,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:true},hasData:function(e){e=e.nodeType?b.cache[e[b.expando]]:e[b.expando];return !!e&&!S(e)},data:function(bx,bv,bz,by){if(!b.acceptData(bx)){return}var bG,bA,bD,bE=b.expando,bC=typeof bv==="string",bF=bx.nodeType,e=bF?b.cache:bx,bw=bF?bx[bE]:bx[bE]&&bE,bB=bv==="events";if((!bw||!e[bw]||(!bB&&!by&&!e[bw].data))&&bC&&bz===L){return}if(!bw){if(bF){bx[bE]=bw=++b.uuid}else{bw=bE}}if(!e[bw]){e[bw]={};if(!bF){e[bw].toJSON=b.noop}}if(typeof bv==="object"||typeof bv==="function"){if(by){e[bw]=b.extend(e[bw],bv)}else{e[bw].data=b.extend(e[bw].data,bv)}}bG=bA=e[bw];if(!by){if(!bA.data){bA.data={}}bA=bA.data}if(bz!==L){bA[b.camelCase(bv)]=bz}if(bB&&!bA[bv]){return bG.events}if(bC){bD=bA[bv];if(bD==null){bD=bA[b.camelCase(bv)]}}else{bD=bA}return bD},removeData:function(bx,bv,by){if(!b.acceptData(bx)){return}var bB,bA,bz,bC=b.expando,bD=bx.nodeType,e=bD?b.cache:bx,bw=bD?bx[bC]:bC;if(!e[bw]){return}if(bv){bB=by?e[bw]:e[bw].data;if(bB){if(!b.isArray(bv)){if(bv in bB){bv=[bv]}else{bv=b.camelCase(bv);if(bv in bB){bv=[bv]}else{bv=bv.split(" ")}}}for(bA=0,bz=bv.length;bA-1){return true}}return false},val:function(bx){var e,bv,by,bw=this[0];if(!arguments.length){if(bw){e=b.valHooks[bw.nodeName.toLowerCase()]||b.valHooks[bw.type];if(e&&"get" in e&&(bv=e.get(bw,"value"))!==L){return bv}bv=bw.value;return typeof bv==="string"?bv.replace(aU,""):bv==null?"":bv}return}by=b.isFunction(bx);return this.each(function(bA){var bz=b(this),bB;if(this.nodeType!==1){return}if(by){bB=bx.call(this,bA,bz.val())}else{bB=bx}if(bB==null){bB=""}else{if(typeof bB==="number"){bB+=""}else{if(b.isArray(bB)){bB=b.map(bB,function(bC){return bC==null?"":bC+""})}}}e=b.valHooks[this.nodeName.toLowerCase()]||b.valHooks[this.type];if(!e||!("set" in e)||e.set(this,bB,"value")===L){this.value=bB}})}});b.extend({valHooks:{option:{get:function(e){var bv=e.attributes.value;return !bv||bv.specified?e.value:e.text}},select:{get:function(e){var bA,bv,bz,bx,by=e.selectedIndex,bB=[],bC=e.options,bw=e.type==="select-one";if(by<0){return null}bv=bw?by:0;bz=bw?by+1:bC.length;for(;bv=0});if(!e.length){bv.selectedIndex=-1}return e}}},attrFn:{val:true,css:true,html:true,text:true,data:true,width:true,height:true,offset:true},attr:function(bA,bx,bB,bz){var bw,e,by,bv=bA.nodeType; +if(!bA||bv===3||bv===8||bv===2){return}if(bz&&bx in b.attrFn){return b(bA)[bx](bB)}if(typeof bA.getAttribute==="undefined"){return b.prop(bA,bx,bB)}by=bv!==1||!b.isXMLDoc(bA);if(by){bx=bx.toLowerCase();e=b.attrHooks[bx]||(ao.test(bx)?aY:be)}if(bB!==L){if(bB===null){b.removeAttr(bA,bx);return}else{if(e&&"set" in e&&by&&(bw=e.set(bA,bB,bx))!==L){return bw}else{bA.setAttribute(bx,""+bB);return bB}}}else{if(e&&"get" in e&&by&&(bw=e.get(bA,bx))!==null){return bw}else{bw=bA.getAttribute(bx);return bw===null?L:bw}}},removeAttr:function(bx,bz){var by,bA,bv,e,bw=0;if(bz&&bx.nodeType===1){bA=bz.toLowerCase().split(af);e=bA.length;for(;bw=0)}}})});var bd=/^(?:textarea|input|select)$/i,n=/^([^\.]*)?(?:\.(.+))?$/,J=/\bhover(\.\S+)?\b/,aO=/^key/,bf=/^(?:mouse|contextmenu)|click/,T=/^(?:focusinfocus|focusoutblur)$/,U=/^(\w*)(?:#([\w\-]+))?(?:\.([\w\-]+))?$/,Y=function(e){var bv=U.exec(e);if(bv){bv[1]=(bv[1]||"").toLowerCase();bv[3]=bv[3]&&new RegExp("(?:^|\\s)"+bv[3]+"(?:\\s|$)")}return bv},j=function(bw,e){var bv=bw.attributes||{};return((!e[1]||bw.nodeName.toLowerCase()===e[1])&&(!e[2]||(bv.id||{}).value===e[2])&&(!e[3]||e[3].test((bv["class"]||{}).value)))},bt=function(e){return b.event.special.hover?e:e.replace(J,"mouseenter$1 mouseleave$1")};b.event={add:function(bx,bC,bJ,bA,by){var bD,bB,bK,bI,bH,bF,e,bG,bv,bz,bw,bE;if(bx.nodeType===3||bx.nodeType===8||!bC||!bJ||!(bD=b._data(bx))){return}if(bJ.handler){bv=bJ;bJ=bv.handler}if(!bJ.guid){bJ.guid=b.guid++}bK=bD.events;if(!bK){bD.events=bK={}}bB=bD.handle;if(!bB){bD.handle=bB=function(bL){return typeof b!=="undefined"&&(!bL||b.event.triggered!==bL.type)?b.event.dispatch.apply(bB.elem,arguments):L};bB.elem=bx}bC=b.trim(bt(bC)).split(" ");for(bI=0;bI=0){bG=bG.slice(0,-1);bw=true}if(bG.indexOf(".")>=0){bx=bG.split(".");bG=bx.shift();bx.sort()}if((!bA||b.event.customEvent[bG])&&!b.event.global[bG]){return}bv=typeof bv==="object"?bv[b.expando]?bv:new b.Event(bG,bv):new b.Event(bG);bv.type=bG;bv.isTrigger=true;bv.exclusive=bw;bv.namespace=bx.join(".");bv.namespace_re=bv.namespace?new RegExp("(^|\\.)"+bx.join("\\.(?:.*\\.)?")+"(\\.|$)"):null;by=bG.indexOf(":")<0?"on"+bG:"";if(!bA){e=b.cache;for(bC in e){if(e[bC].events&&e[bC].events[bG]){b.event.trigger(bv,bD,e[bC].handle.elem,true)}}return}bv.result=L;if(!bv.target){bv.target=bA}bD=bD!=null?b.makeArray(bD):[];bD.unshift(bv);bF=b.event.special[bG]||{};if(bF.trigger&&bF.trigger.apply(bA,bD)===false){return}bB=[[bA,bF.bindType||bG]];if(!bJ&&!bF.noBubble&&!b.isWindow(bA)){bI=bF.delegateType||bG;bH=T.test(bI+bG)?bA:bA.parentNode;bz=null;for(;bH;bH=bH.parentNode){bB.push([bH,bI]);bz=bH}if(bz&&bz===bA.ownerDocument){bB.push([bz.defaultView||bz.parentWindow||bb,bI])}}for(bC=0;bCbA){bH.push({elem:this,matches:bz.slice(bA)})}for(bC=0;bC0?this.on(e,null,bx,bw):this.trigger(e)};if(b.attrFn){b.attrFn[e]=true}if(aO.test(e)){b.event.fixHooks[e]=b.event.keyHooks}if(bf.test(e)){b.event.fixHooks[e]=b.event.mouseHooks}}); +/*! + * Sizzle CSS Selector Engine + * Copyright 2011, The Dojo Foundation + * Released under the MIT, BSD, and GPL Licenses. + * More information: http://sizzlejs.com/ + */ +(function(){var bH=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,bC="sizcache"+(Math.random()+"").replace(".",""),bI=0,bL=Object.prototype.toString,bB=false,bA=true,bK=/\\/g,bO=/\r\n/g,bQ=/\W/;[0,0].sort(function(){bA=false;return 0});var by=function(bV,e,bY,bZ){bY=bY||[];e=e||av;var b1=e;if(e.nodeType!==1&&e.nodeType!==9){return[]}if(!bV||typeof bV!=="string"){return bY}var bS,b3,b6,bR,b2,b5,b4,bX,bU=true,bT=by.isXML(e),bW=[],b0=bV;do{bH.exec("");bS=bH.exec(b0);if(bS){b0=bS[3];bW.push(bS[1]);if(bS[2]){bR=bS[3];break}}}while(bS);if(bW.length>1&&bD.exec(bV)){if(bW.length===2&&bE.relative[bW[0]]){b3=bM(bW[0]+bW[1],e,bZ)}else{b3=bE.relative[bW[0]]?[e]:by(bW.shift(),e);while(bW.length){bV=bW.shift();if(bE.relative[bV]){bV+=bW.shift()}b3=bM(bV,b3,bZ)}}}else{if(!bZ&&bW.length>1&&e.nodeType===9&&!bT&&bE.match.ID.test(bW[0])&&!bE.match.ID.test(bW[bW.length-1])){b2=by.find(bW.shift(),e,bT);e=b2.expr?by.filter(b2.expr,b2.set)[0]:b2.set[0]}if(e){b2=bZ?{expr:bW.pop(),set:bF(bZ)}:by.find(bW.pop(),bW.length===1&&(bW[0]==="~"||bW[0]==="+")&&e.parentNode?e.parentNode:e,bT);b3=b2.expr?by.filter(b2.expr,b2.set):b2.set;if(bW.length>0){b6=bF(b3)}else{bU=false}while(bW.length){b5=bW.pop();b4=b5;if(!bE.relative[b5]){b5=""}else{b4=bW.pop()}if(b4==null){b4=e}bE.relative[b5](b6,b4,bT)}}else{b6=bW=[]}}if(!b6){b6=b3}if(!b6){by.error(b5||bV)}if(bL.call(b6)==="[object Array]"){if(!bU){bY.push.apply(bY,b6)}else{if(e&&e.nodeType===1){for(bX=0;b6[bX]!=null;bX++){if(b6[bX]&&(b6[bX]===true||b6[bX].nodeType===1&&by.contains(e,b6[bX]))){bY.push(b3[bX])}}}else{for(bX=0;b6[bX]!=null;bX++){if(b6[bX]&&b6[bX].nodeType===1){bY.push(b3[bX])}}}}}else{bF(b6,bY)}if(bR){by(bR,b1,bY,bZ);by.uniqueSort(bY)}return bY};by.uniqueSort=function(bR){if(bJ){bB=bA;bR.sort(bJ);if(bB){for(var e=1;e0};by.find=function(bX,e,bY){var bW,bS,bU,bT,bV,bR;if(!bX){return[]}for(bS=0,bU=bE.order.length;bS":function(bW,bR){var bV,bU=typeof bR==="string",bS=0,e=bW.length;if(bU&&!bQ.test(bR)){bR=bR.toLowerCase();for(;bS=0)){if(!bS){e.push(bV)}}else{if(bS){bR[bU]=false}}}}return false},ID:function(e){return e[1].replace(bK,"")},TAG:function(bR,e){return bR[1].replace(bK,"").toLowerCase()},CHILD:function(e){if(e[1]==="nth"){if(!e[2]){by.error(e[0])}e[2]=e[2].replace(/^\+|\s*/g,"");var bR=/(-?)(\d*)(?:n([+\-]?\d*))?/.exec(e[2]==="even"&&"2n"||e[2]==="odd"&&"2n+1"||!/\D/.test(e[2])&&"0n+"+e[2]||e[2]);e[2]=(bR[1]+(bR[2]||1))-0;e[3]=bR[3]-0}else{if(e[2]){by.error(e[0])}}e[0]=bI++;return e},ATTR:function(bU,bR,bS,e,bV,bW){var bT=bU[1]=bU[1].replace(bK,"");if(!bW&&bE.attrMap[bT]){bU[1]=bE.attrMap[bT]}bU[4]=(bU[4]||bU[5]||"").replace(bK,"");if(bU[2]==="~="){bU[4]=" "+bU[4]+" "}return bU},PSEUDO:function(bU,bR,bS,e,bV){if(bU[1]==="not"){if((bH.exec(bU[3])||"").length>1||/^\w/.test(bU[3])){bU[3]=by(bU[3],null,null,bR)}else{var bT=by.filter(bU[3],bR,bS,true^bV);if(!bS){e.push.apply(e,bT)}return false}}else{if(bE.match.POS.test(bU[0])||bE.match.CHILD.test(bU[0])){return true}}return bU},POS:function(e){e.unshift(true);return e}},filters:{enabled:function(e){return e.disabled===false&&e.type!=="hidden"},disabled:function(e){return e.disabled===true},checked:function(e){return e.checked===true},selected:function(e){if(e.parentNode){e.parentNode.selectedIndex}return e.selected===true},parent:function(e){return !!e.firstChild},empty:function(e){return !e.firstChild},has:function(bS,bR,e){return !!by(e[3],bS).length},header:function(e){return(/h\d/i).test(e.nodeName)},text:function(bS){var e=bS.getAttribute("type"),bR=bS.type;return bS.nodeName.toLowerCase()==="input"&&"text"===bR&&(e===bR||e===null)},radio:function(e){return e.nodeName.toLowerCase()==="input"&&"radio"===e.type},checkbox:function(e){return e.nodeName.toLowerCase()==="input"&&"checkbox"===e.type},file:function(e){return e.nodeName.toLowerCase()==="input"&&"file"===e.type},password:function(e){return e.nodeName.toLowerCase()==="input"&&"password"===e.type},submit:function(bR){var e=bR.nodeName.toLowerCase();return(e==="input"||e==="button")&&"submit"===bR.type},image:function(e){return e.nodeName.toLowerCase()==="input"&&"image"===e.type},reset:function(bR){var e=bR.nodeName.toLowerCase();return(e==="input"||e==="button")&&"reset"===bR.type},button:function(bR){var e=bR.nodeName.toLowerCase();return e==="input"&&"button"===bR.type||e==="button"},input:function(e){return(/input|select|textarea|button/i).test(e.nodeName)},focus:function(e){return e===e.ownerDocument.activeElement}},setFilters:{first:function(bR,e){return e===0},last:function(bS,bR,e,bT){return bR===bT.length-1},even:function(bR,e){return e%2===0},odd:function(bR,e){return e%2===1 +},lt:function(bS,bR,e){return bRe[3]-0},nth:function(bS,bR,e){return e[3]-0===bR},eq:function(bS,bR,e){return e[3]-0===bR}},filter:{PSEUDO:function(bS,bX,bW,bY){var e=bX[1],bR=bE.filters[e];if(bR){return bR(bS,bW,bX,bY)}else{if(e==="contains"){return(bS.textContent||bS.innerText||bw([bS])||"").indexOf(bX[3])>=0}else{if(e==="not"){var bT=bX[3];for(var bV=0,bU=bT.length;bV=0)}}},ID:function(bR,e){return bR.nodeType===1&&bR.getAttribute("id")===e},TAG:function(bR,e){return(e==="*"&&bR.nodeType===1)||!!bR.nodeName&&bR.nodeName.toLowerCase()===e},CLASS:function(bR,e){return(" "+(bR.className||bR.getAttribute("class"))+" ").indexOf(e)>-1},ATTR:function(bV,bT){var bS=bT[1],e=by.attr?by.attr(bV,bS):bE.attrHandle[bS]?bE.attrHandle[bS](bV):bV[bS]!=null?bV[bS]:bV.getAttribute(bS),bW=e+"",bU=bT[2],bR=bT[4];return e==null?bU==="!=":!bU&&by.attr?e!=null:bU==="="?bW===bR:bU==="*="?bW.indexOf(bR)>=0:bU==="~="?(" "+bW+" ").indexOf(bR)>=0:!bR?bW&&e!==false:bU==="!="?bW!==bR:bU==="^="?bW.indexOf(bR)===0:bU==="$="?bW.substr(bW.length-bR.length)===bR:bU==="|="?bW===bR||bW.substr(0,bR.length+1)===bR+"-":false},POS:function(bU,bR,bS,bV){var e=bR[2],bT=bE.setFilters[e];if(bT){return bT(bU,bS,bR,bV)}}}};var bD=bE.match.POS,bx=function(bR,e){return"\\"+(e-0+1)};for(var bz in bE.match){bE.match[bz]=new RegExp(bE.match[bz].source+(/(?![^\[]*\])(?![^\(]*\))/.source));bE.leftMatch[bz]=new RegExp(/(^(?:.|\r|\n)*?)/.source+bE.match[bz].source.replace(/\\(\d+)/g,bx))}var bF=function(bR,e){bR=Array.prototype.slice.call(bR,0);if(e){e.push.apply(e,bR);return e}return bR};try{Array.prototype.slice.call(av.documentElement.childNodes,0)[0].nodeType}catch(bP){bF=function(bU,bT){var bS=0,bR=bT||[];if(bL.call(bU)==="[object Array]"){Array.prototype.push.apply(bR,bU)}else{if(typeof bU.length==="number"){for(var e=bU.length;bS";e.insertBefore(bR,e.firstChild);if(av.getElementById(bS)){bE.find.ID=function(bU,bV,bW){if(typeof bV.getElementById!=="undefined"&&!bW){var bT=bV.getElementById(bU[1]);return bT?bT.id===bU[1]||typeof bT.getAttributeNode!=="undefined"&&bT.getAttributeNode("id").nodeValue===bU[1]?[bT]:L:[]}};bE.filter.ID=function(bV,bT){var bU=typeof bV.getAttributeNode!=="undefined"&&bV.getAttributeNode("id");return bV.nodeType===1&&bU&&bU.nodeValue===bT}}e.removeChild(bR);e=bR=null})();(function(){var e=av.createElement("div");e.appendChild(av.createComment(""));if(e.getElementsByTagName("*").length>0){bE.find.TAG=function(bR,bV){var bU=bV.getElementsByTagName(bR[1]);if(bR[1]==="*"){var bT=[];for(var bS=0;bU[bS];bS++){if(bU[bS].nodeType===1){bT.push(bU[bS])}}bU=bT}return bU}}e.innerHTML="";if(e.firstChild&&typeof e.firstChild.getAttribute!=="undefined"&&e.firstChild.getAttribute("href")!=="#"){bE.attrHandle.href=function(bR){return bR.getAttribute("href",2)}}e=null})();if(av.querySelectorAll){(function(){var e=by,bT=av.createElement("div"),bS="__sizzle__";bT.innerHTML="

";if(bT.querySelectorAll&&bT.querySelectorAll(".TEST").length===0){return}by=function(b4,bV,bZ,b3){bV=bV||av;if(!b3&&!by.isXML(bV)){var b2=/^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(b4);if(b2&&(bV.nodeType===1||bV.nodeType===9)){if(b2[1]){return bF(bV.getElementsByTagName(b4),bZ)}else{if(b2[2]&&bE.find.CLASS&&bV.getElementsByClassName){return bF(bV.getElementsByClassName(b2[2]),bZ)}}}if(bV.nodeType===9){if(b4==="body"&&bV.body){return bF([bV.body],bZ)}else{if(b2&&b2[3]){var bY=bV.getElementById(b2[3]);if(bY&&bY.parentNode){if(bY.id===b2[3]){return bF([bY],bZ)}}else{return bF([],bZ)}}}try{return bF(bV.querySelectorAll(b4),bZ)}catch(b0){}}else{if(bV.nodeType===1&&bV.nodeName.toLowerCase()!=="object"){var bW=bV,bX=bV.getAttribute("id"),bU=bX||bS,b6=bV.parentNode,b5=/^\s*[+~]/.test(b4);if(!bX){bV.setAttribute("id",bU)}else{bU=bU.replace(/'/g,"\\$&")}if(b5&&b6){bV=bV.parentNode}try{if(!b5||b6){return bF(bV.querySelectorAll("[id='"+bU+"'] "+b4),bZ)}}catch(b1){}finally{if(!bX){bW.removeAttribute("id")}}}}}return e(b4,bV,bZ,b3)};for(var bR in e){by[bR]=e[bR]}bT=null})()}(function(){var e=av.documentElement,bS=e.matchesSelector||e.mozMatchesSelector||e.webkitMatchesSelector||e.msMatchesSelector;if(bS){var bU=!bS.call(av.createElement("div"),"div"),bR=false;try{bS.call(av.documentElement,"[test!='']:sizzle")}catch(bT){bR=true}by.matchesSelector=function(bW,bY){bY=bY.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!by.isXML(bW)){try{if(bR||!bE.match.PSEUDO.test(bY)&&!/!=/.test(bY)){var bV=bS.call(bW,bY);if(bV||!bU||bW.document&&bW.document.nodeType!==11){return bV}}}catch(bX){}}return by(bY,null,null,[bW]).length>0}}})();(function(){var e=av.createElement("div");e.innerHTML="
";if(!e.getElementsByClassName||e.getElementsByClassName("e").length===0){return}e.lastChild.className="e";if(e.getElementsByClassName("e").length===1){return}bE.order.splice(1,0,"CLASS");bE.find.CLASS=function(bR,bS,bT){if(typeof bS.getElementsByClassName!=="undefined"&&!bT){return bS.getElementsByClassName(bR[1])}};e=null})();function bv(bR,bW,bV,bZ,bX,bY){for(var bT=0,bS=bZ.length;bT0){bU=e;break}}}e=e[bR]}bZ[bT]=bU}}}if(av.documentElement.contains){by.contains=function(bR,e){return bR!==e&&(bR.contains?bR.contains(e):true)}}else{if(av.documentElement.compareDocumentPosition){by.contains=function(bR,e){return !!(bR.compareDocumentPosition(e)&16)}}else{by.contains=function(){return false}}}by.isXML=function(e){var bR=(e?e.ownerDocument||e:0).documentElement;return bR?bR.nodeName!=="HTML":false};var bM=function(bS,e,bW){var bV,bX=[],bU="",bY=e.nodeType?[e]:e;while((bV=bE.match.PSEUDO.exec(bS))){bU+=bV[0];bS=bS.replace(bE.match.PSEUDO,"")}bS=bE.relative[bS]?bS+"*":bS;for(var bT=0,bR=bY.length;bT0){for(bB=bA;bB=0:b.filter(e,this).length>0:this.filter(e).length>0)},closest:function(by,bx){var bv=[],bw,e,bz=this[0];if(b.isArray(by)){var bB=1;while(bz&&bz.ownerDocument&&bz!==bx){for(bw=0;bw-1:b.find.matchesSelector(bz,by)){bv.push(bz);break}else{bz=bz.parentNode;if(!bz||!bz.ownerDocument||bz===bx||bz.nodeType===11){break}}}}bv=bv.length>1?b.unique(bv):bv;return this.pushStack(bv,"closest",by)},index:function(e){if(!e){return(this[0]&&this[0].parentNode)?this.prevAll().length:-1}if(typeof e==="string"){return b.inArray(this[0],b(e))}return b.inArray(e.jquery?e[0]:e,this)},add:function(e,bv){var bx=typeof e==="string"?b(e,bv):b.makeArray(e&&e.nodeType?[e]:e),bw=b.merge(this.get(),bx);return this.pushStack(C(bx[0])||C(bw[0])?bw:b.unique(bw))},andSelf:function(){return this.add(this.prevObject)}});function C(e){return !e||!e.parentNode||e.parentNode.nodeType===11}b.each({parent:function(bv){var e=bv.parentNode;return e&&e.nodeType!==11?e:null},parents:function(e){return b.dir(e,"parentNode")},parentsUntil:function(bv,e,bw){return b.dir(bv,"parentNode",bw)},next:function(e){return b.nth(e,2,"nextSibling")},prev:function(e){return b.nth(e,2,"previousSibling")},nextAll:function(e){return b.dir(e,"nextSibling")},prevAll:function(e){return b.dir(e,"previousSibling")},nextUntil:function(bv,e,bw){return b.dir(bv,"nextSibling",bw)},prevUntil:function(bv,e,bw){return b.dir(bv,"previousSibling",bw)},siblings:function(e){return b.sibling(e.parentNode.firstChild,e)},children:function(e){return b.sibling(e.firstChild)},contents:function(e){return b.nodeName(e,"iframe")?e.contentDocument||e.contentWindow.document:b.makeArray(e.childNodes)}},function(e,bv){b.fn[e]=function(by,bw){var bx=b.map(this,bv,by);if(!ab.test(e)){bw=by}if(bw&&typeof bw==="string"){bx=b.filter(bw,bx)}bx=this.length>1&&!ay[e]?b.unique(bx):bx;if((this.length>1||a9.test(bw))&&aq.test(e)){bx=bx.reverse()}return this.pushStack(bx,e,P.call(arguments).join(","))}});b.extend({filter:function(bw,e,bv){if(bv){bw=":not("+bw+")"}return e.length===1?b.find.matchesSelector(e[0],bw)?[e[0]]:[]:b.find.matches(bw,e)},dir:function(bw,bv,by){var e=[],bx=bw[bv];while(bx&&bx.nodeType!==9&&(by===L||bx.nodeType!==1||!b(bx).is(by))){if(bx.nodeType===1){e.push(bx)}bx=bx[bv]}return e},nth:function(by,e,bw,bx){e=e||1;var bv=0;for(;by;by=by[bw]){if(by.nodeType===1&&++bv===e){break}}return by},sibling:function(bw,bv){var e=[];for(;bw;bw=bw.nextSibling){if(bw.nodeType===1&&bw!==bv){e.push(bw)}}return e}});function aG(bx,bw,e){bw=bw||0;if(b.isFunction(bw)){return b.grep(bx,function(bz,by){var bA=!!bw.call(bz,by,bz);return bA===e})}else{if(bw.nodeType){return b.grep(bx,function(bz,by){return(bz===bw)===e})}else{if(typeof bw==="string"){var bv=b.grep(bx,function(by){return by.nodeType===1});if(bp.test(bw)){return b.filter(bw,bv,!e)}else{bw=b.filter(bw,bv)}}}}return b.grep(bx,function(bz,by){return(b.inArray(bz,bw)>=0)===e})}function a(e){var bw=aR.split("|"),bv=e.createDocumentFragment();if(bv.createElement){while(bw.length){bv.createElement(bw.pop())}}return bv}var aR="abbr|article|aside|audio|canvas|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",ag=/ jQuery\d+="(?:\d+|null)"/g,ar=/^\s+/,R=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,d=/<([\w:]+)/,w=/",""],legend:[1,"
","
"],thead:[1,"","
"],tr:[2,"","
"],td:[3,"","
"],col:[2,"","
"],area:[1,"",""],_default:[0,"",""]},ac=a(av); +ax.optgroup=ax.option;ax.tbody=ax.tfoot=ax.colgroup=ax.caption=ax.thead;ax.th=ax.td;if(!b.support.htmlSerialize){ax._default=[1,"div
","
"]}b.fn.extend({text:function(e){if(b.isFunction(e)){return this.each(function(bw){var bv=b(this);bv.text(e.call(this,bw,bv.text()))})}if(typeof e!=="object"&&e!==L){return this.empty().append((this[0]&&this[0].ownerDocument||av).createTextNode(e))}return b.text(this)},wrapAll:function(e){if(b.isFunction(e)){return this.each(function(bw){b(this).wrapAll(e.call(this,bw))})}if(this[0]){var bv=b(e,this[0].ownerDocument).eq(0).clone(true);if(this[0].parentNode){bv.insertBefore(this[0])}bv.map(function(){var bw=this;while(bw.firstChild&&bw.firstChild.nodeType===1){bw=bw.firstChild}return bw}).append(this)}return this},wrapInner:function(e){if(b.isFunction(e)){return this.each(function(bv){b(this).wrapInner(e.call(this,bv))})}return this.each(function(){var bv=b(this),bw=bv.contents();if(bw.length){bw.wrapAll(e)}else{bv.append(e)}})},wrap:function(e){var bv=b.isFunction(e);return this.each(function(bw){b(this).wrapAll(bv?e.call(this,bw):e)})},unwrap:function(){return this.parent().each(function(){if(!b.nodeName(this,"body")){b(this).replaceWith(this.childNodes)}}).end()},append:function(){return this.domManip(arguments,true,function(e){if(this.nodeType===1){this.appendChild(e)}})},prepend:function(){return this.domManip(arguments,true,function(e){if(this.nodeType===1){this.insertBefore(e,this.firstChild)}})},before:function(){if(this[0]&&this[0].parentNode){return this.domManip(arguments,false,function(bv){this.parentNode.insertBefore(bv,this)})}else{if(arguments.length){var e=b.clean(arguments);e.push.apply(e,this.toArray());return this.pushStack(e,"before",arguments)}}},after:function(){if(this[0]&&this[0].parentNode){return this.domManip(arguments,false,function(bv){this.parentNode.insertBefore(bv,this.nextSibling)})}else{if(arguments.length){var e=this.pushStack(this,"after",arguments);e.push.apply(e,b.clean(arguments));return e}}},remove:function(e,bx){for(var bv=0,bw;(bw=this[bv])!=null;bv++){if(!e||b.filter(e,[bw]).length){if(!bx&&bw.nodeType===1){b.cleanData(bw.getElementsByTagName("*"));b.cleanData([bw])}if(bw.parentNode){bw.parentNode.removeChild(bw)}}}return this},empty:function(){for(var e=0,bv;(bv=this[e])!=null;e++){if(bv.nodeType===1){b.cleanData(bv.getElementsByTagName("*"))}while(bv.firstChild){bv.removeChild(bv.firstChild)}}return this},clone:function(bv,e){bv=bv==null?false:bv;e=e==null?bv:e;return this.map(function(){return b.clone(this,bv,e)})},html:function(bx){if(bx===L){return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(ag,""):null}else{if(typeof bx==="string"&&!ae.test(bx)&&(b.support.leadingWhitespace||!ar.test(bx))&&!ax[(d.exec(bx)||["",""])[1].toLowerCase()]){bx=bx.replace(R,"<$1>");try{for(var bw=0,bv=this.length;bw1&&bw0?this.clone(true):this).get();b(bC[bA])[bv](by);bz=bz.concat(by)}return this.pushStack(bz,e,bC.selector)}}});function bg(e){if(typeof e.getElementsByTagName!=="undefined"){return e.getElementsByTagName("*")}else{if(typeof e.querySelectorAll!=="undefined"){return e.querySelectorAll("*")}else{return[]}}}function az(e){if(e.type==="checkbox"||e.type==="radio"){e.defaultChecked=e.checked}}function E(e){var bv=(e.nodeName||"").toLowerCase();if(bv==="input"){az(e)}else{if(bv!=="script"&&typeof e.getElementsByTagName!=="undefined"){b.grep(e.getElementsByTagName("input"),az)}}}function al(e){var bv=av.createElement("div");ac.appendChild(bv);bv.innerHTML=e.outerHTML;return bv.firstChild}b.extend({clone:function(by,bA,bw){var e,bv,bx,bz=b.support.html5Clone||!ah.test("<"+by.nodeName)?by.cloneNode(true):al(by);if((!b.support.noCloneEvent||!b.support.noCloneChecked)&&(by.nodeType===1||by.nodeType===11)&&!b.isXMLDoc(by)){ai(by,bz);e=bg(by);bv=bg(bz);for(bx=0;e[bx];++bx){if(bv[bx]){ai(e[bx],bv[bx])}}}if(bA){t(by,bz);if(bw){e=bg(by);bv=bg(bz);for(bx=0;e[bx];++bx){t(e[bx],bv[bx])}}}e=bv=null;return bz},clean:function(bw,by,bH,bA){var bF;by=by||av;if(typeof by.createElement==="undefined"){by=by.ownerDocument||by[0]&&by[0].ownerDocument||av}var bI=[],bB;for(var bE=0,bz;(bz=bw[bE])!=null;bE++){if(typeof bz==="number"){bz+=""}if(!bz){continue}if(typeof bz==="string"){if(!W.test(bz)){bz=by.createTextNode(bz)}else{bz=bz.replace(R,"<$1>");var bK=(d.exec(bz)||["",""])[1].toLowerCase(),bx=ax[bK]||ax._default,bD=bx[0],bv=by.createElement("div");if(by===av){ac.appendChild(bv)}else{a(by).appendChild(bv)}bv.innerHTML=bx[1]+bz+bx[2];while(bD--){bv=bv.lastChild}if(!b.support.tbody){var e=w.test(bz),bC=bK==="table"&&!e?bv.firstChild&&bv.firstChild.childNodes:bx[1]===""&&!e?bv.childNodes:[];for(bB=bC.length-1;bB>=0;--bB){if(b.nodeName(bC[bB],"tbody")&&!bC[bB].childNodes.length){bC[bB].parentNode.removeChild(bC[bB])}}}if(!b.support.leadingWhitespace&&ar.test(bz)){bv.insertBefore(by.createTextNode(ar.exec(bz)[0]),bv.firstChild)}bz=bv.childNodes}}var bG;if(!b.support.appendChecked){if(bz[0]&&typeof(bG=bz.length)==="number"){for(bB=0;bB=0){return bx+"px"}}else{return bx}}}});if(!b.support.opacity){b.cssHooks.opacity={get:function(bv,e){return au.test((e&&bv.currentStyle?bv.currentStyle.filter:bv.style.filter)||"")?(parseFloat(RegExp.$1)/100)+"":e?"1":""},set:function(by,bz){var bx=by.style,bv=by.currentStyle,e=b.isNumeric(bz)?"alpha(opacity="+bz*100+")":"",bw=bv&&bv.filter||bx.filter||"";bx.zoom=1;if(bz>=1&&b.trim(bw.replace(ak,""))===""){bx.removeAttribute("filter");if(bv&&!bv.filter){return}}bx.filter=ak.test(bw)?bw.replace(ak,e):bw+" "+e}}}b(function(){if(!b.support.reliableMarginRight){b.cssHooks.marginRight={get:function(bw,bv){var e;b.swap(bw,{display:"inline-block"},function(){if(bv){e=Z(bw,"margin-right","marginRight")}else{e=bw.style.marginRight}});return e}}}});if(av.defaultView&&av.defaultView.getComputedStyle){aI=function(by,bw){var bv,bx,e;bw=bw.replace(z,"-$1").toLowerCase();if((bx=by.ownerDocument.defaultView)&&(e=bx.getComputedStyle(by,null))){bv=e.getPropertyValue(bw);if(bv===""&&!b.contains(by.ownerDocument.documentElement,by)){bv=b.style(by,bw)}}return bv}}if(av.documentElement.currentStyle){aX=function(bz,bw){var bA,e,by,bv=bz.currentStyle&&bz.currentStyle[bw],bx=bz.style;if(bv===null&&bx&&(by=bx[bw])){bv=by}if(!bc.test(bv)&&bn.test(bv)){bA=bx.left;e=bz.runtimeStyle&&bz.runtimeStyle.left;if(e){bz.runtimeStyle.left=bz.currentStyle.left}bx.left=bw==="fontSize"?"1em":(bv||0);bv=bx.pixelLeft+"px";bx.left=bA;if(e){bz.runtimeStyle.left=e}}return bv===""?"auto":bv}}Z=aI||aX;function p(by,bw,bv){var bA=bw==="width"?by.offsetWidth:by.offsetHeight,bz=bw==="width"?an:a1,bx=0,e=bz.length; +if(bA>0){if(bv!=="border"){for(;bx)<[^<]*)*<\/script>/gi,q=/^(?:select|textarea)/i,h=/\s+/,br=/([?&])_=[^&]*/,K=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+))?)?/,A=b.fn.load,aa={},r={},aE,s,aV=["*/"]+["*"];try{aE=bl.href}catch(aw){aE=av.createElement("a");aE.href="";aE=aE.href}s=K.exec(aE.toLowerCase())||[];function f(e){return function(by,bA){if(typeof by!=="string"){bA=by;by="*"}if(b.isFunction(bA)){var bx=by.toLowerCase().split(h),bw=0,bz=bx.length,bv,bB,bC;for(;bw=0){var e=bw.slice(by,bw.length);bw=bw.slice(0,by)}var bx="GET";if(bz){if(b.isFunction(bz)){bA=bz;bz=L}else{if(typeof bz==="object"){bz=b.param(bz,b.ajaxSettings.traditional);bx="POST"}}}var bv=this;b.ajax({url:bw,type:bx,dataType:"html",data:bz,complete:function(bC,bB,bD){bD=bC.responseText;if(bC.isResolved()){bC.done(function(bE){bD=bE});bv.html(e?b("
").append(bD.replace(a6,"")).find(e):bD)}if(bA){bv.each(bA,[bD,bB,bC])}}});return this},serialize:function(){return b.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?b.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||q.test(this.nodeName)||aZ.test(this.type))}).map(function(e,bv){var bw=b(this).val();return bw==null?null:b.isArray(bw)?b.map(bw,function(by,bx){return{name:bv.name,value:by.replace(bs,"\r\n")}}):{name:bv.name,value:bw.replace(bs,"\r\n")}}).get()}});b.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(e,bv){b.fn[bv]=function(bw){return this.on(bv,bw)}});b.each(["get","post"],function(e,bv){b[bv]=function(bw,by,bz,bx){if(b.isFunction(by)){bx=bx||bz;bz=by;by=L}return b.ajax({type:bv,url:bw,data:by,success:bz,dataType:bx})}});b.extend({getScript:function(e,bv){return b.get(e,L,bv,"script")},getJSON:function(e,bv,bw){return b.get(e,bv,bw,"json")},ajaxSetup:function(bv,e){if(e){am(bv,b.ajaxSettings)}else{e=bv;bv=b.ajaxSettings}am(bv,e);return bv},ajaxSettings:{url:aE,isLocal:aM.test(s[1]),global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":aV},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":bb.String,"text html":true,"text json":b.parseJSON,"text xml":b.parseXML},flatOptions:{context:true,url:true}},ajaxPrefilter:f(aa),ajaxTransport:f(r),ajax:function(bz,bx){if(typeof bz==="object"){bx=bz;bz=L}bx=bx||{};var bD=b.ajaxSetup({},bx),bS=bD.context||bD,bG=bS!==bD&&(bS.nodeType||bS instanceof b)?b(bS):b.event,bR=b.Deferred(),bN=b.Callbacks("once memory"),bB=bD.statusCode||{},bC,bH={},bO={},bQ,by,bL,bE,bI,bA=0,bw,bK,bJ={readyState:0,setRequestHeader:function(bT,bU){if(!bA){var e=bT.toLowerCase();bT=bO[e]=bO[e]||bT;bH[bT]=bU}return this},getAllResponseHeaders:function(){return bA===2?bQ:null},getResponseHeader:function(bT){var e;if(bA===2){if(!by){by={};while((e=aD.exec(bQ))){by[e[1].toLowerCase()]=e[2]}}e=by[bT.toLowerCase()]}return e===L?null:e},overrideMimeType:function(e){if(!bA){bD.mimeType=e}return this},abort:function(e){e=e||"abort";if(bL){bL.abort(e)}bF(0,e);return this}};function bF(bZ,bU,b0,bW){if(bA===2){return}bA=2;if(bE){clearTimeout(bE)}bL=L;bQ=bW||"";bJ.readyState=bZ>0?4:0;var bT,b4,b3,bX=bU,bY=b0?bj(bD,bJ,b0):L,bV,b2;if(bZ>=200&&bZ<300||bZ===304){if(bD.ifModified){if((bV=bJ.getResponseHeader("Last-Modified"))){b.lastModified[bC]=bV}if((b2=bJ.getResponseHeader("Etag"))){b.etag[bC]=b2}}if(bZ===304){bX="notmodified";bT=true}else{try{b4=G(bD,bY);bX="success";bT=true}catch(b1){bX="parsererror";b3=b1}}}else{b3=bX;if(!bX||bZ){bX="error";if(bZ<0){bZ=0}}}bJ.status=bZ;bJ.statusText=""+(bU||bX);if(bT){bR.resolveWith(bS,[b4,bX,bJ])}else{bR.rejectWith(bS,[bJ,bX,b3])}bJ.statusCode(bB);bB=L;if(bw){bG.trigger("ajax"+(bT?"Success":"Error"),[bJ,bD,bT?b4:b3])}bN.fireWith(bS,[bJ,bX]);if(bw){bG.trigger("ajaxComplete",[bJ,bD]);if(!(--b.active)){b.event.trigger("ajaxStop")}}}bR.promise(bJ);bJ.success=bJ.done;bJ.error=bJ.fail;bJ.complete=bN.add;bJ.statusCode=function(bT){if(bT){var e;if(bA<2){for(e in bT){bB[e]=[bB[e],bT[e]]}}else{e=bT[bJ.status];bJ.then(e,e)}}return this};bD.url=((bz||bD.url)+"").replace(bq,"").replace(c,s[1]+"//");bD.dataTypes=b.trim(bD.dataType||"*").toLowerCase().split(h);if(bD.crossDomain==null){bI=K.exec(bD.url.toLowerCase());bD.crossDomain=!!(bI&&(bI[1]!=s[1]||bI[2]!=s[2]||(bI[3]||(bI[1]==="http:"?80:443))!=(s[3]||(s[1]==="http:"?80:443))))}if(bD.data&&bD.processData&&typeof bD.data!=="string"){bD.data=b.param(bD.data,bD.traditional)}aW(aa,bD,bx,bJ);if(bA===2){return false}bw=bD.global;bD.type=bD.type.toUpperCase();bD.hasContent=!aQ.test(bD.type);if(bw&&b.active++===0){b.event.trigger("ajaxStart")}if(!bD.hasContent){if(bD.data){bD.url+=(M.test(bD.url)?"&":"?")+bD.data;delete bD.data}bC=bD.url;if(bD.cache===false){var bv=b.now(),bP=bD.url.replace(br,"$1_="+bv);bD.url=bP+((bP===bD.url)?(M.test(bD.url)?"&":"?")+"_="+bv:"")}}if(bD.data&&bD.hasContent&&bD.contentType!==false||bx.contentType){bJ.setRequestHeader("Content-Type",bD.contentType)}if(bD.ifModified){bC=bC||bD.url;if(b.lastModified[bC]){bJ.setRequestHeader("If-Modified-Since",b.lastModified[bC])}if(b.etag[bC]){bJ.setRequestHeader("If-None-Match",b.etag[bC])}}bJ.setRequestHeader("Accept",bD.dataTypes[0]&&bD.accepts[bD.dataTypes[0]]?bD.accepts[bD.dataTypes[0]]+(bD.dataTypes[0]!=="*"?", "+aV+"; q=0.01":""):bD.accepts["*"]);for(bK in bD.headers){bJ.setRequestHeader(bK,bD.headers[bK])}if(bD.beforeSend&&(bD.beforeSend.call(bS,bJ,bD)===false||bA===2)){bJ.abort();return false}for(bK in {success:1,error:1,complete:1}){bJ[bK](bD[bK])}bL=aW(r,bD,bx,bJ);if(!bL){bF(-1,"No Transport")}else{bJ.readyState=1;if(bw){bG.trigger("ajaxSend",[bJ,bD])}if(bD.async&&bD.timeout>0){bE=setTimeout(function(){bJ.abort("timeout")},bD.timeout)}try{bA=1;bL.send(bH,bF)}catch(bM){if(bA<2){bF(-1,bM)}else{throw bM}}}return bJ},param:function(e,bw){var bv=[],by=function(bz,bA){bA=b.isFunction(bA)?bA():bA;bv[bv.length]=encodeURIComponent(bz)+"="+encodeURIComponent(bA)};if(bw===L){bw=b.ajaxSettings.traditional}if(b.isArray(e)||(e.jquery&&!b.isPlainObject(e))){b.each(e,function(){by(this.name,this.value)})}else{for(var bx in e){v(bx,e[bx],bw,by)}}return bv.join("&").replace(k,"+")}});function v(bw,by,bv,bx){if(b.isArray(by)){b.each(by,function(bA,bz){if(bv||ap.test(bw)){bx(bw,bz)}else{v(bw+"["+(typeof bz==="object"||b.isArray(bz)?bA:"")+"]",bz,bv,bx)}})}else{if(!bv&&by!=null&&typeof by==="object"){for(var e in by){v(bw+"["+e+"]",by[e],bv,bx)}}else{bx(bw,by)}}}b.extend({active:0,lastModified:{},etag:{}});function bj(bD,bC,bz){var bv=bD.contents,bB=bD.dataTypes,bw=bD.responseFields,by,bA,bx,e;for(bA in bw){if(bA in bz){bC[bw[bA]]=bz[bA]}}while(bB[0]==="*"){bB.shift();if(by===L){by=bD.mimeType||bC.getResponseHeader("content-type")}}if(by){for(bA in bv){if(bv[bA]&&bv[bA].test(by)){bB.unshift(bA);break}}}if(bB[0] in bz){bx=bB[0]}else{for(bA in bz){if(!bB[0]||bD.converters[bA+" "+bB[0]]){bx=bA;break}if(!e){e=bA}}bx=bx||e}if(bx){if(bx!==bB[0]){bB.unshift(bx)}return bz[bx]}}function G(bH,bz){if(bH.dataFilter){bz=bH.dataFilter(bz,bH.dataType)}var bD=bH.dataTypes,bG={},bA,bE,bw=bD.length,bB,bC=bD[0],bx,by,bF,bv,e;for(bA=1;bA=bw.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();bw.animatedProperties[this.prop]=true;for(bA in bw.animatedProperties){if(bw.animatedProperties[bA]!==true){e=false}}if(e){if(bw.overflow!=null&&!b.support.shrinkWrapBlocks){b.each(["","X","Y"],function(bC,bD){bz.style["overflow"+bD]=bw.overflow[bC]})}if(bw.hide){b(bz).hide()}if(bw.hide||bw.show){for(bA in bw.animatedProperties){b.style(bz,bA,bw.orig[bA]);b.removeData(bz,"fxshow"+bA,true);b.removeData(bz,"toggle"+bA,true)}}bv=bw.complete;if(bv){bw.complete=false;bv.call(bz)}}return false}else{if(bw.duration==Infinity){this.now=bx}else{bB=bx-this.startTime;this.state=bB/bw.duration;this.pos=b.easing[bw.animatedProperties[this.prop]](this.state,bB,0,1,bw.duration);this.now=this.start+((this.end-this.start)*this.pos)}this.update()}return true}};b.extend(b.fx,{tick:function(){var bw,bv=b.timers,e=0;for(;e").appendTo(e),bw=bv.css("display");bv.remove();if(bw==="none"||bw===""){if(!a8){a8=av.createElement("iframe");a8.frameBorder=a8.width=a8.height=0}e.appendChild(a8);if(!m||!a8.createElement){m=(a8.contentWindow||a8.contentDocument).document;m.write((av.compatMode==="CSS1Compat"?"":"")+"");m.close()}bv=m.createElement(bx);m.body.appendChild(bv);bw=b.css(bv,"display");e.removeChild(a8)}Q[bx]=bw}return Q[bx]}var V=/^t(?:able|d|h)$/i,ad=/^(?:body|html)$/i;if("getBoundingClientRect" in av.documentElement){b.fn.offset=function(bI){var by=this[0],bB;if(bI){return this.each(function(e){b.offset.setOffset(this,bI,e)})}if(!by||!by.ownerDocument){return null}if(by===by.ownerDocument.body){return b.offset.bodyOffset(by)}try{bB=by.getBoundingClientRect()}catch(bF){}var bH=by.ownerDocument,bw=bH.documentElement;if(!bB||!b.contains(bw,by)){return bB?{top:bB.top,left:bB.left}:{top:0,left:0}}var bC=bH.body,bD=aK(bH),bA=bw.clientTop||bC.clientTop||0,bE=bw.clientLeft||bC.clientLeft||0,bv=bD.pageYOffset||b.support.boxModel&&bw.scrollTop||bC.scrollTop,bz=bD.pageXOffset||b.support.boxModel&&bw.scrollLeft||bC.scrollLeft,bG=bB.top+bv-bA,bx=bB.left+bz-bE;return{top:bG,left:bx}}}else{b.fn.offset=function(bF){var bz=this[0];if(bF){return this.each(function(bG){b.offset.setOffset(this,bF,bG)})}if(!bz||!bz.ownerDocument){return null}if(bz===bz.ownerDocument.body){return b.offset.bodyOffset(bz)}var bC,bw=bz.offsetParent,bv=bz,bE=bz.ownerDocument,bx=bE.documentElement,bA=bE.body,bB=bE.defaultView,e=bB?bB.getComputedStyle(bz,null):bz.currentStyle,bD=bz.offsetTop,by=bz.offsetLeft;while((bz=bz.parentNode)&&bz!==bA&&bz!==bx){if(b.support.fixedPosition&&e.position==="fixed"){break}bC=bB?bB.getComputedStyle(bz,null):bz.currentStyle;bD-=bz.scrollTop;by-=bz.scrollLeft;if(bz===bw){bD+=bz.offsetTop;by+=bz.offsetLeft;if(b.support.doesNotAddBorder&&!(b.support.doesAddBorderForTableAndCells&&V.test(bz.nodeName))){bD+=parseFloat(bC.borderTopWidth)||0;by+=parseFloat(bC.borderLeftWidth)||0}bv=bw;bw=bz.offsetParent}if(b.support.subtractsBorderForOverflowNotVisible&&bC.overflow!=="visible"){bD+=parseFloat(bC.borderTopWidth)||0;by+=parseFloat(bC.borderLeftWidth)||0}e=bC}if(e.position==="relative"||e.position==="static"){bD+=bA.offsetTop;by+=bA.offsetLeft}if(b.support.fixedPosition&&e.position==="fixed"){bD+=Math.max(bx.scrollTop,bA.scrollTop);by+=Math.max(bx.scrollLeft,bA.scrollLeft)}return{top:bD,left:by}}}b.offset={bodyOffset:function(e){var bw=e.offsetTop,bv=e.offsetLeft;if(b.support.doesNotIncludeMarginInBodyOffset){bw+=parseFloat(b.css(e,"marginTop"))||0;bv+=parseFloat(b.css(e,"marginLeft"))||0}return{top:bw,left:bv}},setOffset:function(bx,bG,bA){var bB=b.css(bx,"position");if(bB==="static"){bx.style.position="relative"}var bz=b(bx),bv=bz.offset(),e=b.css(bx,"top"),bE=b.css(bx,"left"),bF=(bB==="absolute"||bB==="fixed")&&b.inArray("auto",[e,bE])>-1,bD={},bC={},bw,by;if(bF){bC=bz.position();bw=bC.top;by=bC.left}else{bw=parseFloat(e)||0;by=parseFloat(bE)||0}if(b.isFunction(bG)){bG=bG.call(bx,bA,bv)}if(bG.top!=null){bD.top=(bG.top-bv.top)+bw}if(bG.left!=null){bD.left=(bG.left-bv.left)+by}if("using" in bG){bG.using.call(bx,bD)}else{bz.css(bD)}}};b.fn.extend({position:function(){if(!this[0]){return null}var bw=this[0],bv=this.offsetParent(),bx=this.offset(),e=ad.test(bv[0].nodeName)?{top:0,left:0}:bv.offset();bx.top-=parseFloat(b.css(bw,"marginTop"))||0;bx.left-=parseFloat(b.css(bw,"marginLeft"))||0;e.top+=parseFloat(b.css(bv[0],"borderTopWidth"))||0;e.left+=parseFloat(b.css(bv[0],"borderLeftWidth"))||0;return{top:bx.top-e.top,left:bx.left-e.left}},offsetParent:function(){return this.map(function(){var e=this.offsetParent||av.body;while(e&&(!ad.test(e.nodeName)&&b.css(e,"position")==="static")){e=e.offsetParent}return e})}});b.each(["Left","Top"],function(bv,e){var bw="scroll"+e;b.fn[bw]=function(bz){var bx,by;if(bz===L){bx=this[0];if(!bx){return null}by=aK(bx);return by?("pageXOffset" in by)?by[bv?"pageYOffset":"pageXOffset"]:b.support.boxModel&&by.document.documentElement[bw]||by.document.body[bw]:bx[bw]}return this.each(function(){by=aK(this);if(by){by.scrollTo(!bv?bz:b(by).scrollLeft(),bv?bz:b(by).scrollTop())}else{this[bw]=bz}})}});function aK(e){return b.isWindow(e)?e:e.nodeType===9?e.defaultView||e.parentWindow:false}b.each(["Height","Width"],function(bv,e){var bw=e.toLowerCase();b.fn["inner"+e]=function(){var bx=this[0];return bx?bx.style?parseFloat(b.css(bx,bw,"padding")):this[bw]():null};b.fn["outer"+e]=function(by){var bx=this[0];return bx?bx.style?parseFloat(b.css(bx,bw,by?"margin":"border")):this[bw]():null};b.fn[bw]=function(bz){var bA=this[0];if(!bA){return bz==null?null:this}if(b.isFunction(bz)){return this.each(function(bE){var bD=b(this);bD[bw](bz.call(this,bE,bD[bw]()))})}if(b.isWindow(bA)){var bB=bA.document.documentElement["client"+e],bx=bA.document.body;return bA.document.compatMode==="CSS1Compat"&&bB||bx&&bx["client"+e]||bB}else{if(bA.nodeType===9){return Math.max(bA.documentElement["client"+e],bA.body["scroll"+e],bA.documentElement["scroll"+e],bA.body["offset"+e],bA.documentElement["offset"+e])}else{if(bz===L){var bC=b.css(bA,bw),by=parseFloat(bC);return b.isNumeric(by)?by:bC}else{return this.css(bw,typeof bz==="string"?bz:bz+"px")}}}}});bb.jQuery=bb.$=b;if(typeof define==="function"&&define.amd&&define.amd.jQuery){define("jquery",[],function(){return b +})}})(window); diff --git a/doc/ref/c++/html/namespacegrpc.html b/doc/ref/c++/html/namespacegrpc.html new file mode 100644 index 0000000000..f9508c6a45 --- /dev/null +++ b/doc/ref/c++/html/namespacegrpc.html @@ -0,0 +1,992 @@ + + + + + + +GRPC C++: grpc Namespace Reference + + + + + + + + + +
+
+
+ + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+ + + + + + + + + + +
+ +
+ + +
+ +
+
grpc Namespace Reference
+
+
+ + + + + + + + +

+Namespaces

 CallOpGenericRecvMessageHelper
 
 protobuf
 
 testing
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Data Structures

class  GenericServerContext
 
class  AsyncGenericService
 
class  ClientAsyncResponseReaderInterface
 
class  ClientAsyncResponseReader
 
class  ServerAsyncResponseWriter
 
class  AuthContext
 
class  AuthPropertyIterator
 
class  ByteBuffer
 
class  SerializationTraits< ByteBuffer, void >
 
class  ChannelArguments
 
class  ChannelInterface
 
class  ClientReader
 
class  ClientWriter
 
class  ClientReaderWriter
 
class  ClientAsyncReader
 
class  ClientAsyncWriter
 
class  ClientAsyncReaderWriter
 
class  ClientContext
 
class  ServerReader
 
class  ServerWriter
 
class  ServerReaderWriter
 
class  RpcMethodHandler
 
class  ClientStreamingHandler
 
class  ServerStreamingHandler
 
class  BidiStreamingHandler
 
class  CompletionQueueTag
 
class  CompletionQueue
 
class  ServerCompletionQueue
 
class  Credentials
 
struct  SslCredentialsOptions
 
class  DynamicThreadPool
 
class  FixedSizeThreadPool
 
class  GenericStub
 
class  WriteOptions
 Per-message write options. More...
 
class  CallNoOp
 Default argument for CallOpSet. More...
 
class  CallOpSendInitialMetadata
 
class  CallOpSendMessage
 
class  CallOpRecvMessage
 
class  CallOpGenericRecvMessage
 
class  CallOpClientSendClose
 
class  CallOpServerSendStatus
 
class  CallOpRecvInitialMetadata
 
class  CallOpClientRecvStatus
 
class  CallOpSetInterface
 An abstract collection of call ops, used to generate the grpc_call_op structure to pass down to the lower layers, and as it is-a CompletionQueueTag, also massages the final completion into the correct form for consumption in the C++ API. More...
 
class  CallOpSet
 Primary implementaiton of CallOpSetInterface. More...
 
class  SneakyCallOpSet
 A CallOpSet that does not post completions to the completion queue. More...
 
class  CallHook
 
class  Call
 
class  GrpcLibrary
 
class  InternalStub
 
class  SerializationTraits< T, typename std::enable_if< std::is_base_of< grpc::protobuf::Message, T >::value >::type >
 
class  RpcMethod
 
class  MethodHandler
 
class  RpcServiceMethod
 
class  RpcService
 
class  SerializationTraits
 Defines how to serialize and deserialize some type. More...
 
class  SynchronousService
 
class  ServerAsyncStreamingInterface
 
class  AsynchronousService
 
class  lock_guard
 
class  mutex
 
class  unique_lock
 
class  condition_variable
 
class  thread
 
class  Server
 
class  ServerBuilder
 
class  ServerAsyncReader
 
class  ServerAsyncWriter
 
class  ServerAsyncReaderWriter
 
class  ServerContext
 
class  ServerCredentials
 
struct  SslServerCredentialsOptions
 
class  Slice
 
class  Status
 
class  ClientStreamingInterface
 
class  ReaderInterface
 
class  WriterInterface
 
class  ClientReaderInterface
 
class  ClientWriterInterface
 
class  ClientReaderWriterInterface
 
class  ClientAsyncStreamingInterface
 
class  AsyncReaderInterface
 
class  AsyncWriterInterface
 
class  ClientAsyncReaderInterface
 
class  ClientAsyncWriterInterface
 
class  ClientAsyncReaderWriterInterface
 
class  ThreadPoolInterface
 
class  TimePoint
 
class  TimePoint< gpr_timespec >
 
class  TimePoint< std::chrono::system_clock::time_point >
 
+ + + + + + + + + +

+Typedefs

typedef
+ServerAsyncReaderWriter
+< ByteBuffer, ByteBuffer
GenericServerAsyncReaderWriter
 
typedef std::pair
+< grpc::string, grpc::string
AuthProperty
 
typedef std::string string
 
typedef
+ClientAsyncReaderWriter
+< ByteBuffer, ByteBuffer
GenericClientAsyncReaderWriter
 
+ + + +

+Enumerations

enum  StatusCode {
+  OK = 0, +CANCELLED = 1, +UNKNOWN = 2, +INVALID_ARGUMENT = 3, +
+  DEADLINE_EXCEEDED = 4, +NOT_FOUND = 5, +ALREADY_EXISTS = 6, +PERMISSION_DENIED = 7, +
+  UNAUTHENTICATED = 16, +RESOURCE_EXHAUSTED = 8, +FAILED_PRECONDITION = 9, +ABORTED = 10, +
+  OUT_OF_RANGE = 11, +UNIMPLEMENTED = 12, +INTERNAL = 13, +UNAVAILABLE = 14, +
+  DATA_LOSS = 15, +DO_NOT_USE = -1 +
+ }
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

std::shared_ptr< ChannelInterfaceCreateChannel (const grpc::string &target, const std::shared_ptr< Credentials > &creds, const ChannelArguments &args)
 
std::shared_ptr< CredentialsGoogleDefaultCredentials ()
 
std::shared_ptr< CredentialsSslCredentials (const SslCredentialsOptions &options)
 
std::shared_ptr< CredentialsComputeEngineCredentials ()
 
std::shared_ptr< CredentialsServiceAccountCredentials (const grpc::string &json_key, const grpc::string &scope, long token_lifetime_seconds)
 
std::shared_ptr< CredentialsServiceAccountJWTAccessCredentials (const grpc::string &json_key, long token_lifetime_seconds)
 
std::shared_ptr< CredentialsRefreshTokenCredentials (const grpc::string &json_refresh_token)
 
std::shared_ptr< CredentialsAccessTokenCredentials (const grpc::string &access_token)
 
std::shared_ptr< CredentialsIAMCredentials (const grpc::string &authorization_token, const grpc::string &authority_selector)
 
std::shared_ptr< CredentialsCompositeCredentials (const std::shared_ptr< Credentials > &creds1, const std::shared_ptr< Credentials > &creds2)
 
std::shared_ptr< CredentialsInsecureCredentials ()
 
void FillMetadataMap (grpc_metadata_array *arr, std::multimap< grpc::string, grpc::string > *metadata)
 
grpc_metadata * FillMetadataArray (const std::multimap< grpc::string, grpc::string > &metadata)
 
template<class InputMessage , class OutputMessage >
Status BlockingUnaryCall (ChannelInterface *channel, const RpcMethod &method, ClientContext *context, const InputMessage &request, OutputMessage *result)
 
Status SerializeProto (const grpc::protobuf::Message &msg, grpc_byte_buffer **buffer)
 
Status DeserializeProto (grpc_byte_buffer *buffer, grpc::protobuf::Message *msg, int max_message_size)
 
std::shared_ptr
+< ServerCredentials
SslServerCredentials (const SslServerCredentialsOptions &options)
 
std::shared_ptr
+< ServerCredentials
InsecureServerCredentials ()
 
ThreadPoolInterfaceCreateDefaultThreadPool ()
 
void Timepoint2Timespec (const std::chrono::system_clock::time_point &from, gpr_timespec *to)
 
void TimepointHR2Timespec (const std::chrono::high_resolution_clock::time_point &from, gpr_timespec *to)
 
std::chrono::system_clock::time_point Timespec2Timepoint (gpr_timespec t)
 
+

Typedef Documentation

+ +
+
+ + + + +
typedef std::pair<grpc::string, grpc::string> grpc::AuthProperty
+
+ +
+
+ + + + + +
+
+ + + + +
typedef std::string grpc::string
+
+ +
+
+

Enumeration Type Documentation

+ +
+
+ + + + +
enum grpc::StatusCode
+
+ + + + + + + + + + + + + + + + + + + +
Enumerator
OK  +
CANCELLED  +
UNKNOWN  +
INVALID_ARGUMENT  +
DEADLINE_EXCEEDED  +
NOT_FOUND  +
ALREADY_EXISTS  +
PERMISSION_DENIED  +
UNAUTHENTICATED  +
RESOURCE_EXHAUSTED  +
FAILED_PRECONDITION  +
ABORTED  +
OUT_OF_RANGE  +
UNIMPLEMENTED  +
INTERNAL  +
UNAVAILABLE  +
DATA_LOSS  +
DO_NOT_USE  +
+ +
+
+

Function Documentation

+ +
+
+ + + + + + + + +
std::shared_ptr<Credentials> grpc::AccessTokenCredentials (const grpc::stringaccess_token)
+
+ +
+
+ +
+
+
+template<class InputMessage , class OutputMessage >
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Status grpc::BlockingUnaryCall (ChannelInterface * channel,
const RpcMethod & method,
ClientContext * context,
const InputMessage & request,
OutputMessage * result 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
std::shared_ptr<Credentials> grpc::CompositeCredentials (const std::shared_ptr< Credentials > & creds1,
const std::shared_ptr< Credentials > & creds2 
)
+
+ +
+
+ +
+
+ + + + + + + +
std::shared_ptr<Credentials> grpc::ComputeEngineCredentials ()
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
std::shared_ptr<ChannelInterface> grpc::CreateChannel (const grpc::stringtarget,
const std::shared_ptr< Credentials > & creds,
const ChannelArguments & args 
)
+
+ +
+
+ +
+
+ + + + + + + +
ThreadPoolInterface* grpc::CreateDefaultThreadPool ()
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
Status grpc::DeserializeProto (grpc_byte_buffer * buffer,
grpc::protobuf::Messagemsg,
int max_message_size 
)
+
+ +
+
+ +
+
+ + + + + + + + +
grpc_metadata* grpc::FillMetadataArray (const std::multimap< grpc::string, grpc::string > & metadata)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void grpc::FillMetadataMap (grpc_metadata_array * arr,
std::multimap< grpc::string, grpc::string > * metadata 
)
+
+ +
+
+ +
+
+ + + + + + + +
std::shared_ptr<Credentials> grpc::GoogleDefaultCredentials ()
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
std::shared_ptr<Credentials> grpc::IAMCredentials (const grpc::stringauthorization_token,
const grpc::stringauthority_selector 
)
+
+ +
+
+ +
+
+ + + + + + + +
std::shared_ptr<Credentials> grpc::InsecureCredentials ()
+
+ +
+
+ +
+
+ + + + + + + +
std::shared_ptr<ServerCredentials> grpc::InsecureServerCredentials ()
+
+ +
+
+ +
+
+ + + + + + + + +
std::shared_ptr<Credentials> grpc::RefreshTokenCredentials (const grpc::stringjson_refresh_token)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
Status grpc::SerializeProto (const grpc::protobuf::Messagemsg,
grpc_byte_buffer ** buffer 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
std::shared_ptr<Credentials> grpc::ServiceAccountCredentials (const grpc::stringjson_key,
const grpc::stringscope,
long token_lifetime_seconds 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
std::shared_ptr<Credentials> grpc::ServiceAccountJWTAccessCredentials (const grpc::stringjson_key,
long token_lifetime_seconds 
)
+
+ +
+
+ +
+
+ + + + + + + + +
std::shared_ptr<Credentials> grpc::SslCredentials (const SslCredentialsOptions & options)
+
+ +
+
+ +
+
+ + + + + + + + +
std::shared_ptr<ServerCredentials> grpc::SslServerCredentials (const SslServerCredentialsOptions & options)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void grpc::Timepoint2Timespec (const std::chrono::system_clock::time_point & from,
gpr_timespec * to 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void grpc::TimepointHR2Timespec (const std::chrono::high_resolution_clock::time_point & from,
gpr_timespec * to 
)
+
+ +
+
+ +
+
+ + + + + + + + +
std::chrono::system_clock::time_point grpc::Timespec2Timepoint (gpr_timespec t)
+
+ +
+
+
+ + + + diff --git a/doc/ref/c++/html/namespacegrpc_1_1_call_op_generic_recv_message_helper.html b/doc/ref/c++/html/namespacegrpc_1_1_call_op_generic_recv_message_helper.html new file mode 100644 index 0000000000..c2f6e288f6 --- /dev/null +++ b/doc/ref/c++/html/namespacegrpc_1_1_call_op_generic_recv_message_helper.html @@ -0,0 +1,110 @@ + + + + + + +GRPC C++: grpc::CallOpGenericRecvMessageHelper Namespace Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc::CallOpGenericRecvMessageHelper Namespace Reference
+
+
+ + + + + + +

+Data Structures

class  DeserializeFunc
 
class  DeserializeFuncType
 
+
+ + + + diff --git a/doc/ref/c++/html/namespacegrpc_1_1protobuf.html b/doc/ref/c++/html/namespacegrpc_1_1protobuf.html new file mode 100644 index 0000000000..28ff53d968 --- /dev/null +++ b/doc/ref/c++/html/namespacegrpc_1_1protobuf.html @@ -0,0 +1,141 @@ + + + + + + +GRPC C++: grpc::protobuf Namespace Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc::protobuf Namespace Reference
+
+
+ + + + +

+Namespaces

 io
 
+ + + + + +

+Typedefs

typedef ::google::protobuf::Message Message
 
typedef ::google::protobuf::int64 int64
 
+

Typedef Documentation

+ +
+
+ + + + +
typedef ::google::protobuf::int64 grpc::protobuf::int64
+
+ +
+
+ +
+
+ + + + +
typedef ::google::protobuf::Message grpc::protobuf::Message
+
+ +
+
+
+ + + + diff --git a/doc/ref/c++/html/namespacegrpc_1_1protobuf_1_1io.html b/doc/ref/c++/html/namespacegrpc_1_1protobuf_1_1io.html new file mode 100644 index 0000000000..f1e405afea --- /dev/null +++ b/doc/ref/c++/html/namespacegrpc_1_1protobuf_1_1io.html @@ -0,0 +1,152 @@ + + + + + + +GRPC C++: grpc::protobuf::io Namespace Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc::protobuf::io Namespace Reference
+
+
+ + + + + + + + +

+Typedefs

typedef
+::google::protobuf::io::ZeroCopyOutputStream 
ZeroCopyOutputStream
 
typedef
+::google::protobuf::io::ZeroCopyInputStream 
ZeroCopyInputStream
 
typedef
+::google::protobuf::io::CodedInputStream 
CodedInputStream
 
+

Typedef Documentation

+ +
+
+ + + + +
typedef ::google::protobuf::io::CodedInputStream grpc::protobuf::io::CodedInputStream
+
+ +
+
+ +
+
+ + + + +
typedef ::google::protobuf::io::ZeroCopyInputStream grpc::protobuf::io::ZeroCopyInputStream
+
+ +
+
+ +
+
+ + + + +
typedef ::google::protobuf::io::ZeroCopyOutputStream grpc::protobuf::io::ZeroCopyOutputStream
+
+ +
+
+
+ + + + diff --git a/doc/ref/c++/html/namespacegrpc_1_1testing.html b/doc/ref/c++/html/namespacegrpc_1_1testing.html new file mode 100644 index 0000000000..a4b505642b --- /dev/null +++ b/doc/ref/c++/html/namespacegrpc_1_1testing.html @@ -0,0 +1,100 @@ + + + + + + +GRPC C++: grpc::testing Namespace Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
grpc::testing Namespace Reference
+
+
+
+ + + + diff --git a/doc/ref/c++/html/namespacemembers.html b/doc/ref/c++/html/namespacemembers.html new file mode 100644 index 0000000000..05b81c3918 --- /dev/null +++ b/doc/ref/c++/html/namespacemembers.html @@ -0,0 +1,335 @@ + + + + + + +GRPC C++: Namespace Members + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+
Here is a list of all namespace members with links to the namespace documentation for each member:
+ +

- a -

    +
  • ABORTED +: grpc +
  • +
  • AccessTokenCredentials() +: grpc +
  • +
  • ALREADY_EXISTS +: grpc +
  • +
  • AuthProperty +: grpc +
  • +
+ + +

- b -

    +
  • BlockingUnaryCall() +: grpc +
  • +
+ + +

- c -

    +
  • CANCELLED +: grpc +
  • +
  • CodedInputStream +: grpc::protobuf::io +
  • +
  • CompositeCredentials() +: grpc +
  • +
  • ComputeEngineCredentials() +: grpc +
  • +
  • CreateChannel() +: grpc +
  • +
  • CreateDefaultThreadPool() +: grpc +
  • +
+ + +

- d -

    +
  • DATA_LOSS +: grpc +
  • +
  • DEADLINE_EXCEEDED +: grpc +
  • +
  • DeserializeProto() +: grpc +
  • +
  • DO_NOT_USE +: grpc +
  • +
+ + +

- f -

    +
  • FAILED_PRECONDITION +: grpc +
  • +
  • FillMetadataArray() +: grpc +
  • +
  • FillMetadataMap() +: grpc +
  • +
+ + +

- g -

    +
  • GenericClientAsyncReaderWriter +: grpc +
  • +
  • GenericServerAsyncReaderWriter +: grpc +
  • +
  • GoogleDefaultCredentials() +: grpc +
  • +
+ + +

- i -

    +
  • IAMCredentials() +: grpc +
  • +
  • InsecureCredentials() +: grpc +
  • +
  • InsecureServerCredentials() +: grpc +
  • +
  • int64 +: grpc::protobuf +
  • +
  • INTERNAL +: grpc +
  • +
  • INVALID_ARGUMENT +: grpc +
  • +
+ + +

- m -

+ + +

- n -

    +
  • NOT_FOUND +: grpc +
  • +
+ + +

- o -

    +
  • OK +: grpc +
  • +
  • OUT_OF_RANGE +: grpc +
  • +
+ + +

- p -

    +
  • PERMISSION_DENIED +: grpc +
  • +
+ + +

- r -

    +
  • RefreshTokenCredentials() +: grpc +
  • +
  • RESOURCE_EXHAUSTED +: grpc +
  • +
+ + +

- s -

    +
  • SerializeProto() +: grpc +
  • +
  • ServiceAccountCredentials() +: grpc +
  • +
  • ServiceAccountJWTAccessCredentials() +: grpc +
  • +
  • SslCredentials() +: grpc +
  • +
  • SslServerCredentials() +: grpc +
  • +
  • StatusCode +: grpc +
  • +
  • string +: grpc +
  • +
+ + +

- t -

    +
  • Timepoint2Timespec() +: grpc +
  • +
  • TimepointHR2Timespec() +: grpc +
  • +
  • Timespec2Timepoint() +: grpc +
  • +
+ + +

- u -

    +
  • UNAUTHENTICATED +: grpc +
  • +
  • UNAVAILABLE +: grpc +
  • +
  • UNIMPLEMENTED +: grpc +
  • +
  • UNKNOWN +: grpc +
  • +
+ + +

- z -

+
+ + + + diff --git a/doc/ref/c++/html/namespacemembers_enum.html b/doc/ref/c++/html/namespacemembers_enum.html new file mode 100644 index 0000000000..da88050fb4 --- /dev/null +++ b/doc/ref/c++/html/namespacemembers_enum.html @@ -0,0 +1,106 @@ + + + + + + +GRPC C++: Namespace Members + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + +
+ + + + +
+ +
+ +
    +
  • StatusCode +: grpc +
  • +
+
+ + + + diff --git a/doc/ref/c++/html/namespacemembers_eval.html b/doc/ref/c++/html/namespacemembers_eval.html new file mode 100644 index 0000000000..6265ff8982 --- /dev/null +++ b/doc/ref/c++/html/namespacemembers_eval.html @@ -0,0 +1,157 @@ + + + + + + +GRPC C++: Namespace Members + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + +
+ + + + +
+ +
+ +
    +
  • ABORTED +: grpc +
  • +
  • ALREADY_EXISTS +: grpc +
  • +
  • CANCELLED +: grpc +
  • +
  • DATA_LOSS +: grpc +
  • +
  • DEADLINE_EXCEEDED +: grpc +
  • +
  • DO_NOT_USE +: grpc +
  • +
  • FAILED_PRECONDITION +: grpc +
  • +
  • INTERNAL +: grpc +
  • +
  • INVALID_ARGUMENT +: grpc +
  • +
  • NOT_FOUND +: grpc +
  • +
  • OK +: grpc +
  • +
  • OUT_OF_RANGE +: grpc +
  • +
  • PERMISSION_DENIED +: grpc +
  • +
  • RESOURCE_EXHAUSTED +: grpc +
  • +
  • UNAUTHENTICATED +: grpc +
  • +
  • UNAVAILABLE +: grpc +
  • +
  • UNIMPLEMENTED +: grpc +
  • +
  • UNKNOWN +: grpc +
  • +
+
+ + + + diff --git a/doc/ref/c++/html/namespacemembers_func.html b/doc/ref/c++/html/namespacemembers_func.html new file mode 100644 index 0000000000..d663d4320c --- /dev/null +++ b/doc/ref/c++/html/namespacemembers_func.html @@ -0,0 +1,169 @@ + + + + + + +GRPC C++: Namespace Members + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + +
+ + + + +
+ +
+ +
    +
  • AccessTokenCredentials() +: grpc +
  • +
  • BlockingUnaryCall() +: grpc +
  • +
  • CompositeCredentials() +: grpc +
  • +
  • ComputeEngineCredentials() +: grpc +
  • +
  • CreateChannel() +: grpc +
  • +
  • CreateDefaultThreadPool() +: grpc +
  • +
  • DeserializeProto() +: grpc +
  • +
  • FillMetadataArray() +: grpc +
  • +
  • FillMetadataMap() +: grpc +
  • +
  • GoogleDefaultCredentials() +: grpc +
  • +
  • IAMCredentials() +: grpc +
  • +
  • InsecureCredentials() +: grpc +
  • +
  • InsecureServerCredentials() +: grpc +
  • +
  • RefreshTokenCredentials() +: grpc +
  • +
  • SerializeProto() +: grpc +
  • +
  • ServiceAccountCredentials() +: grpc +
  • +
  • ServiceAccountJWTAccessCredentials() +: grpc +
  • +
  • SslCredentials() +: grpc +
  • +
  • SslServerCredentials() +: grpc +
  • +
  • Timepoint2Timespec() +: grpc +
  • +
  • TimepointHR2Timespec() +: grpc +
  • +
  • Timespec2Timepoint() +: grpc +
  • +
+
+ + + + diff --git a/doc/ref/c++/html/namespacemembers_type.html b/doc/ref/c++/html/namespacemembers_type.html new file mode 100644 index 0000000000..866b5ef6bd --- /dev/null +++ b/doc/ref/c++/html/namespacemembers_type.html @@ -0,0 +1,130 @@ + + + + + + +GRPC C++: Namespace Members + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + +
+ + + + +
+ +
+ +
+
+ + + + diff --git a/doc/ref/c++/html/namespaces.html b/doc/ref/c++/html/namespaces.html new file mode 100644 index 0000000000..371412a5b0 --- /dev/null +++ b/doc/ref/c++/html/namespaces.html @@ -0,0 +1,105 @@ + + + + + + +GRPC C++: Namespace List + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + +
+ + + + +
+ +
+ +
+
+
Namespace List
+
+
+
Here is a list of all namespaces with brief descriptions:
+
[detail level 123]
+ + + + + +
\Ngrpc
 oNCallOpGenericRecvMessageHelper
 oNprotobuf
 |\Nio
 \Ntesting
+
+
+ + + + diff --git a/doc/ref/c++/html/nav_f.png b/doc/ref/c++/html/nav_f.png new file mode 100644 index 0000000000..72a58a529e Binary files /dev/null and b/doc/ref/c++/html/nav_f.png differ diff --git a/doc/ref/c++/html/nav_g.png b/doc/ref/c++/html/nav_g.png new file mode 100644 index 0000000000..2093a237a9 Binary files /dev/null and b/doc/ref/c++/html/nav_g.png differ diff --git a/doc/ref/c++/html/nav_h.png b/doc/ref/c++/html/nav_h.png new file mode 100644 index 0000000000..33389b101d Binary files /dev/null and b/doc/ref/c++/html/nav_h.png differ diff --git a/doc/ref/c++/html/open.png b/doc/ref/c++/html/open.png new file mode 100644 index 0000000000..30f75c7efe Binary files /dev/null and b/doc/ref/c++/html/open.png differ diff --git a/doc/ref/c++/html/proto__utils_8h.html b/doc/ref/c++/html/proto__utils_8h.html new file mode 100644 index 0000000000..1f9bbbe4fd --- /dev/null +++ b/doc/ref/c++/html/proto__utils_8h.html @@ -0,0 +1,129 @@ + + + + + + +GRPC C++: include/grpc++/impl/proto_utils.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
proto_utils.h File Reference
+
+
+
#include <type_traits>
+#include <grpc/grpc.h>
+#include <grpc++/impl/serialization_traits.h>
+#include <grpc++/config_protobuf.h>
+#include <grpc++/status.h>
+
+

Go to the source code of this file.

+ + + + +

+Data Structures

class  grpc::SerializationTraits< T, typename std::enable_if< std::is_base_of< grpc::protobuf::Message, T >::value >::type >
 
+ + + +

+Namespaces

 grpc
 
+ + + + + +

+Functions

Status grpc::SerializeProto (const grpc::protobuf::Message &msg, grpc_byte_buffer **buffer)
 
Status grpc::DeserializeProto (grpc_byte_buffer *buffer, grpc::protobuf::Message *msg, int max_message_size)
 
+
+ + + + diff --git a/doc/ref/c++/html/proto__utils_8h_source.html b/doc/ref/c++/html/proto__utils_8h_source.html new file mode 100644 index 0000000000..8ae1a53c5b --- /dev/null +++ b/doc/ref/c++/html/proto__utils_8h_source.html @@ -0,0 +1,186 @@ + + + + + + +GRPC C++: include/grpc++/impl/proto_utils.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
proto_utils.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPC_INTERNAL_CPP_PROTO_PROTO_UTILS_H
+
35 #define GRPC_INTERNAL_CPP_PROTO_PROTO_UTILS_H
+
36 
+
37 #include <type_traits>
+
38 
+
39 #include <grpc/grpc.h>
+ +
41 #include <grpc++/config_protobuf.h>
+
42 #include <grpc++/status.h>
+
43 
+
44 namespace grpc {
+
45 
+
46 // Serialize the msg into a buffer created inside the function. The caller
+
47 // should destroy the returned buffer when done with it. If serialization fails,
+
48 // false is returned and buffer is left unchanged.
+
49 Status SerializeProto(const grpc::protobuf::Message& msg,
+
50  grpc_byte_buffer** buffer);
+
51 
+
52 // The caller keeps ownership of buffer and msg.
+
53 Status DeserializeProto(grpc_byte_buffer* buffer, grpc::protobuf::Message* msg,
+
54  int max_message_size);
+
55 
+
56 template <class T>
+
57 class SerializationTraits<T, typename std::enable_if<std::is_base_of<
+
58  grpc::protobuf::Message, T>::value>::type> {
+
59  public:
+ +
61  grpc_byte_buffer** buffer, bool* own_buffer) {
+
62  *own_buffer = true;
+
63  return SerializeProto(msg, buffer);
+
64  }
+
65  static Status Deserialize(grpc_byte_buffer* buffer,
+ +
67  int max_message_size) {
+
68  auto status = DeserializeProto(buffer, msg, max_message_size);
+
69  grpc_byte_buffer_destroy(buffer);
+
70  return status;
+
71  }
+
72 };
+
73 
+
74 } // namespace grpc
+
75 
+
76 #endif // GRPC_INTERNAL_CPP_PROTO_PROTO_UTILS_H
+
static Status Serialize(const grpc::protobuf::Message &msg, grpc_byte_buffer **buffer, bool *own_buffer)
Definition: proto_utils.h:60
+
static Status Deserialize(grpc_byte_buffer *buffer, grpc::protobuf::Message *msg, int max_message_size)
Definition: proto_utils.h:65
+ +
Status DeserializeProto(grpc_byte_buffer *buffer, grpc::protobuf::Message *msg, int max_message_size)
+
Defines how to serialize and deserialize some type.
Definition: serialization_traits.h:64
+
Status SerializeProto(const grpc::protobuf::Message &msg, grpc_byte_buffer **buffer)
+ + +
Definition: status.h:42
+
::google::protobuf::Message Message
Definition: config_protobuf.h:60
+
+ + + + diff --git a/doc/ref/c++/html/rpc__method_8h.html b/doc/ref/c++/html/rpc__method_8h.html new file mode 100644 index 0000000000..ccb2015067 --- /dev/null +++ b/doc/ref/c++/html/rpc__method_8h.html @@ -0,0 +1,116 @@ + + + + + + +GRPC C++: include/grpc++/impl/rpc_method.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
rpc_method.h File Reference
+
+
+ +

Go to the source code of this file.

+ + + + +

+Data Structures

class  grpc::RpcMethod
 
+ + + +

+Namespaces

 grpc
 
+
+ + + + diff --git a/doc/ref/c++/html/rpc__method_8h_source.html b/doc/ref/c++/html/rpc__method_8h_source.html new file mode 100644 index 0000000000..5d726ae410 --- /dev/null +++ b/doc/ref/c++/html/rpc__method_8h_source.html @@ -0,0 +1,173 @@ + + + + + + +GRPC C++: include/grpc++/impl/rpc_method.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
rpc_method.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPCXX_IMPL_RPC_METHOD_H
+
35 #define GRPCXX_IMPL_RPC_METHOD_H
+
36 
+
37 namespace grpc {
+
38 
+
39 class RpcMethod {
+
40  public:
+
41  enum RpcType {
+ +
43  CLIENT_STREAMING, // request streaming
+
44  SERVER_STREAMING, // response streaming
+ +
46  };
+
47 
+
48  RpcMethod(const char* name, RpcType type, void* channel_tag)
+
49  : name_(name), method_type_(type), channel_tag_(channel_tag) {}
+
50 
+
51  const char* name() const { return name_; }
+
52  RpcType method_type() const { return method_type_; }
+
53  void* channel_tag() const { return channel_tag_; }
+
54 
+
55  private:
+
56  const char* const name_;
+
57  const RpcType method_type_;
+
58  void* const channel_tag_;
+
59 };
+
60 
+
61 } // namespace grpc
+
62 
+
63 #endif // GRPCXX_IMPL_RPC_METHOD_H
+
Definition: rpc_method.h:44
+
RpcType
Definition: rpc_method.h:41
+
RpcMethod(const char *name, RpcType type, void *channel_tag)
Definition: rpc_method.h:48
+
RpcType method_type() const
Definition: rpc_method.h:52
+
Definition: rpc_method.h:43
+
void * channel_tag() const
Definition: rpc_method.h:53
+
Definition: rpc_method.h:39
+
Definition: rpc_method.h:45
+
Definition: rpc_method.h:42
+
const char * name() const
Definition: rpc_method.h:51
+
+ + + + diff --git a/doc/ref/c++/html/rpc__service__method_8h.html b/doc/ref/c++/html/rpc__service__method_8h.html new file mode 100644 index 0000000000..d10cf2ac11 --- /dev/null +++ b/doc/ref/c++/html/rpc__service__method_8h.html @@ -0,0 +1,138 @@ + + + + + + +GRPC C++: include/grpc++/impl/rpc_service_method.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
rpc_service_method.h File Reference
+
+ + + + + diff --git a/doc/ref/c++/html/rpc__service__method_8h_source.html b/doc/ref/c++/html/rpc__service__method_8h_source.html new file mode 100644 index 0000000000..525dcc85cc --- /dev/null +++ b/doc/ref/c++/html/rpc__service__method_8h_source.html @@ -0,0 +1,386 @@ + + + + + + +GRPC C++: include/grpc++/impl/rpc_service_method.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
rpc_service_method.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPCXX_IMPL_RPC_SERVICE_METHOD_H
+
35 #define GRPCXX_IMPL_RPC_SERVICE_METHOD_H
+
36 
+
37 #include <functional>
+
38 #include <map>
+
39 #include <memory>
+
40 #include <vector>
+
41 
+
42 #include <grpc++/config.h>
+
43 #include <grpc++/impl/rpc_method.h>
+
44 #include <grpc++/status.h>
+
45 #include <grpc++/stream.h>
+
46 
+
47 namespace grpc {
+
48 class ServerContext;
+
49 class StreamContextInterface;
+
50 
+
51 // TODO(rocking): we might need to split this file into multiple ones.
+
52 
+
53 // Base class for running an RPC handler.
+ +
55  public:
+
56  virtual ~MethodHandler() {}
+ +
58  HandlerParameter(Call* c, ServerContext* context, grpc_byte_buffer* req,
+
59  int max_size)
+
60  : call(c),
+
61  server_context(context),
+
62  request(req),
+
63  max_message_size(max_size) {}
+ + +
66  // Handler required to grpc_byte_buffer_destroy this
+
67  grpc_byte_buffer* request;
+ +
69  };
+
70  virtual void RunHandler(const HandlerParameter& param) = 0;
+
71 };
+
72 
+
73 // A wrapper class of an application provided rpc method handler.
+
74 template <class ServiceType, class RequestType, class ResponseType>
+
75 class RpcMethodHandler : public MethodHandler {
+
76  public:
+ +
78  std::function<Status(ServiceType*, ServerContext*, const RequestType*,
+
79  ResponseType*)> func,
+
80  ServiceType* service)
+
81  : func_(func), service_(service) {}
+
82 
+
83  void RunHandler(const HandlerParameter& param) GRPC_FINAL {
+
84  RequestType req;
+ +
86  param.request, &req, param.max_message_size);
+
87  ResponseType rsp;
+
88  if (status.ok()) {
+
89  status = func_(service_, param.server_context, &req, &rsp);
+
90  }
+
91 
+
92  GPR_ASSERT(!param.server_context->sent_initial_metadata_);
+ + +
95  ops.SendInitialMetadata(param.server_context->initial_metadata_);
+
96  if (status.ok()) {
+
97  status = ops.SendMessage(rsp);
+
98  }
+
99  ops.ServerSendStatus(param.server_context->trailing_metadata_, status);
+
100  param.call->PerformOps(&ops);
+
101  param.call->cq()->Pluck(&ops);
+
102  }
+
103 
+
104  private:
+
105  // Application provided rpc handler function.
+
106  std::function<Status(ServiceType*, ServerContext*, const RequestType*,
+
107  ResponseType*)> func_;
+
108  // The class the above handler function lives in.
+
109  ServiceType* service_;
+
110 };
+
111 
+
112 // A wrapper class of an application provided client streaming handler.
+
113 template <class ServiceType, class RequestType, class ResponseType>
+
114 class ClientStreamingHandler : public MethodHandler {
+
115  public:
+ +
117  std::function<Status(ServiceType*, ServerContext*,
+
118  ServerReader<RequestType>*, ResponseType*)> func,
+
119  ServiceType* service)
+
120  : func_(func), service_(service) {}
+
121 
+ +
123  ServerReader<RequestType> reader(param.call, param.server_context);
+
124  ResponseType rsp;
+
125  Status status = func_(service_, param.server_context, &reader, &rsp);
+
126 
+
127  GPR_ASSERT(!param.server_context->sent_initial_metadata_);
+ + +
130  ops.SendInitialMetadata(param.server_context->initial_metadata_);
+
131  if (status.ok()) {
+
132  status = ops.SendMessage(rsp);
+
133  }
+
134  ops.ServerSendStatus(param.server_context->trailing_metadata_, status);
+
135  param.call->PerformOps(&ops);
+
136  param.call->cq()->Pluck(&ops);
+
137  }
+
138 
+
139  private:
+
140  std::function<Status(ServiceType*, ServerContext*, ServerReader<RequestType>*,
+
141  ResponseType*)> func_;
+
142  ServiceType* service_;
+
143 };
+
144 
+
145 // A wrapper class of an application provided server streaming handler.
+
146 template <class ServiceType, class RequestType, class ResponseType>
+
147 class ServerStreamingHandler : public MethodHandler {
+
148  public:
+ +
150  std::function<Status(ServiceType*, ServerContext*, const RequestType*,
+ +
152  ServiceType* service)
+
153  : func_(func), service_(service) {}
+
154 
+ +
156  RequestType req;
+ +
158  param.request, &req, param.max_message_size);
+
159 
+
160  if (status.ok()) {
+
161  ServerWriter<ResponseType> writer(param.call, param.server_context);
+
162  status = func_(service_, param.server_context, &req, &writer);
+
163  }
+
164 
+ +
166  if (!param.server_context->sent_initial_metadata_) {
+
167  ops.SendInitialMetadata(param.server_context->initial_metadata_);
+
168  }
+
169  ops.ServerSendStatus(param.server_context->trailing_metadata_, status);
+
170  param.call->PerformOps(&ops);
+
171  param.call->cq()->Pluck(&ops);
+
172  }
+
173 
+
174  private:
+
175  std::function<Status(ServiceType*, ServerContext*, const RequestType*,
+ +
177  ServiceType* service_;
+
178 };
+
179 
+
180 // A wrapper class of an application provided bidi-streaming handler.
+
181 template <class ServiceType, class RequestType, class ResponseType>
+
182 class BidiStreamingHandler : public MethodHandler {
+
183  public:
+ +
185  std::function<Status(ServiceType*, ServerContext*,
+ +
187  func,
+
188  ServiceType* service)
+
189  : func_(func), service_(service) {}
+
190 
+ + +
193  param.server_context);
+
194  Status status = func_(service_, param.server_context, &stream);
+
195 
+ +
197  if (!param.server_context->sent_initial_metadata_) {
+
198  ops.SendInitialMetadata(param.server_context->initial_metadata_);
+
199  }
+
200  ops.ServerSendStatus(param.server_context->trailing_metadata_, status);
+
201  param.call->PerformOps(&ops);
+
202  param.call->cq()->Pluck(&ops);
+
203  }
+
204 
+
205  private:
+
206  std::function<Status(ServiceType*, ServerContext*,
+ +
208  ServiceType* service_;
+
209 };
+
210 
+
211 // Server side rpc method class
+
212 class RpcServiceMethod : public RpcMethod {
+
213  public:
+
214  // Takes ownership of the handler
+ + +
217  : RpcMethod(name, type, nullptr), handler_(handler) {}
+
218 
+
219  MethodHandler* handler() { return handler_.get(); }
+
220 
+
221  private:
+
222  std::unique_ptr<MethodHandler> handler_;
+
223 };
+
224 
+
225 // This class contains all the method information for an rpc service. It is
+
226 // used for registering a service on a grpc server.
+
227 class RpcService {
+
228  public:
+
229  // Takes ownership.
+
230  void AddMethod(RpcServiceMethod* method) { methods_.emplace_back(method); }
+
231 
+
232  RpcServiceMethod* GetMethod(int i) { return methods_[i].get(); }
+
233  int GetMethodCount() const { return methods_.size(); }
+
234 
+
235  private:
+
236  std::vector<std::unique_ptr<RpcServiceMethod>> methods_;
+
237 };
+
238 
+
239 } // namespace grpc
+
240 
+
241 #endif // GRPCXX_IMPL_RPC_SERVICE_METHOD_H
+
Definition: rpc_service_method.h:54
+
void AddMethod(RpcServiceMethod *method)
Definition: rpc_service_method.h:230
+
RpcServiceMethod * GetMethod(int i)
Definition: rpc_service_method.h:232
+
ClientStreamingHandler(std::function< Status(ServiceType *, ServerContext *, ServerReader< RequestType > *, ResponseType *)> func, ServiceType *service)
Definition: rpc_service_method.h:116
+
ServerStreamingHandler(std::function< Status(ServiceType *, ServerContext *, const RequestType *, ServerWriter< ResponseType > *)> func, ServiceType *service)
Definition: rpc_service_method.h:149
+
int max_message_size
Definition: rpc_service_method.h:68
+ +
ServerContext * server_context
Definition: rpc_service_method.h:65
+
RpcType
Definition: rpc_method.h:41
+
Call * call
Definition: rpc_service_method.h:64
+
void RunHandler(const HandlerParameter &param)
Definition: rpc_service_method.h:155
+
Definition: call.h:360
+
#define GRPC_FINAL
Definition: config.h:71
+
void RunHandler(const HandlerParameter &param)
Definition: rpc_service_method.h:122
+ +
Definition: completion_queue.h:53
+
Definition: rpc_service_method.h:212
+
Defines how to serialize and deserialize some type.
Definition: serialization_traits.h:64
+
Definition: call.h:190
+
Definition: rpc_service_method.h:227
+
virtual void RunHandler(const HandlerParameter &param)=0
+
void RunHandler(const HandlerParameter &param)
Definition: rpc_service_method.h:191
+
Definition: call.h:565
+
Definition: completion_queue.h:59
+
RpcMethodHandler(std::function< Status(ServiceType *, ServerContext *, const RequestType *, ResponseType *)> func, ServiceType *service)
Definition: rpc_service_method.h:77
+
virtual ~MethodHandler()
Definition: rpc_service_method.h:56
+
Primary implementaiton of CallOpSetInterface.
Definition: call.h:506
+
Definition: server_context.h:86
+
void RunHandler(const HandlerParameter &param)
Definition: rpc_service_method.h:83
+
Definition: completion_queue.h:55
+ +
Definition: rpc_method.h:39
+
BidiStreamingHandler(std::function< Status(ServiceType *, ServerContext *, ServerReaderWriter< ResponseType, RequestType > *)> func, ServiceType *service)
Definition: rpc_service_method.h:184
+ +
Definition: completion_queue.h:57
+
bool ok() const
Definition: status.h:55
+
Definition: rpc_service_method.h:57
+
Definition: status.h:42
+
Definition: call.h:159
+
HandlerParameter(Call *c, ServerContext *context, grpc_byte_buffer *req, int max_size)
Definition: rpc_service_method.h:58
+
const char * name() const
Definition: rpc_method.h:51
+
MethodHandler * handler()
Definition: rpc_service_method.h:219
+
int GetMethodCount() const
Definition: rpc_service_method.h:233
+
grpc_byte_buffer * request
Definition: rpc_service_method.h:67
+
RpcServiceMethod(const char *name, RpcMethod::RpcType type, MethodHandler *handler)
Definition: rpc_service_method.h:215
+
+ + + + diff --git a/doc/ref/c++/html/search/all_0.html b/doc/ref/c++/html/search/all_0.html new file mode 100644 index 0000000000..17b6da85df --- /dev/null +++ b/doc/ref/c++/html/search/all_0.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++/html/search/all_0.js b/doc/ref/c++/html/search/all_0.js new file mode 100644 index 0000000000..0dd29abe92 --- /dev/null +++ b/doc/ref/c++/html/search/all_0.js @@ -0,0 +1,20 @@ +var searchData= +[ + ['clientasyncreader',['ClientAsyncReader',['../classgrpc_1_1_client_context.html#af5343062a44a5633b144751e59969237',1,'grpc::ClientContext']]], + ['clientasyncreaderwriter',['ClientAsyncReaderWriter',['../classgrpc_1_1_client_context.html#a5c0c96957129933bfe94a299c764eaa7',1,'grpc::ClientContext']]], + ['clientasyncresponsereader',['ClientAsyncResponseReader',['../classgrpc_1_1_client_context.html#a4b00162a9bd86e07669f2af67f85c73a',1,'grpc::ClientContext']]], + ['clientasyncwriter',['ClientAsyncWriter',['../classgrpc_1_1_client_context.html#af3547958eadfaeb18692865bd73999ad',1,'grpc::ClientContext']]], + ['clientreader',['ClientReader',['../classgrpc_1_1_client_context.html#ade499098cc91745c1c87147d7a7fb7bf',1,'grpc::ClientContext::ClientReader()'],['../classgrpc_1_1_completion_queue.html#ade499098cc91745c1c87147d7a7fb7bf',1,'grpc::CompletionQueue::ClientReader()']]], + ['clientreaderwriter',['ClientReaderWriter',['../classgrpc_1_1_client_context.html#a6d5659aa24edba057895be774e2752ec',1,'grpc::ClientContext::ClientReaderWriter()'],['../classgrpc_1_1_completion_queue.html#a6d5659aa24edba057895be774e2752ec',1,'grpc::CompletionQueue::ClientReaderWriter()']]], + ['clientwriter',['ClientWriter',['../classgrpc_1_1_client_context.html#a4498fada67d531d99a8642f47d746544',1,'grpc::ClientContext::ClientWriter()'],['../classgrpc_1_1_completion_queue.html#a4498fada67d531d99a8642f47d746544',1,'grpc::CompletionQueue::ClientWriter()']]], + ['interopcontextinspector',['InteropContextInspector',['../classgrpc_1_1_server_context.html#a54fd90aaca3685b127354412368eb1c6',1,'grpc::ServerContext']]], + ['server',['Server',['../classgrpc_1_1_completion_queue.html#a8c3fa4c066981aae114e41c3f9340144',1,'grpc::CompletionQueue::Server()'],['../classgrpc_1_1_server_context.html#a8c3fa4c066981aae114e41c3f9340144',1,'grpc::ServerContext::Server()'],['../classgrpc_1_1_server_credentials.html#a8c3fa4c066981aae114e41c3f9340144',1,'grpc::ServerCredentials::Server()']]], + ['serverasyncreader',['ServerAsyncReader',['../classgrpc_1_1_server_context.html#a774bb57486686958c67f29072de768ed',1,'grpc::ServerContext']]], + ['serverasyncreaderwriter',['ServerAsyncReaderWriter',['../classgrpc_1_1_server_context.html#a85f3f3dc5b92690c676b86571be20684',1,'grpc::ServerContext']]], + ['serverasyncresponsewriter',['ServerAsyncResponseWriter',['../classgrpc_1_1_server_context.html#a2c679b602d120c70a6713fe742704b4e',1,'grpc::ServerContext']]], + ['serverasyncwriter',['ServerAsyncWriter',['../classgrpc_1_1_server_context.html#a6068d9e3369a1016e7b75350b80f4f45',1,'grpc::ServerContext']]], + ['servercontext',['ServerContext',['../classgrpc_1_1_completion_queue.html#a6c5b4f4c66d254f341915982a17aac95',1,'grpc::CompletionQueue']]], + ['serverreader',['ServerReader',['../classgrpc_1_1_completion_queue.html#a4f20e2d049342ae00242bbc8021a44bd',1,'grpc::CompletionQueue::ServerReader()'],['../classgrpc_1_1_server_context.html#a4f20e2d049342ae00242bbc8021a44bd',1,'grpc::ServerContext::ServerReader()']]], + ['serverreaderwriter',['ServerReaderWriter',['../classgrpc_1_1_completion_queue.html#a8c0a0d64c582a952c8f16d8eac71c677',1,'grpc::CompletionQueue::ServerReaderWriter()'],['../classgrpc_1_1_server_context.html#a8c0a0d64c582a952c8f16d8eac71c677',1,'grpc::ServerContext::ServerReaderWriter()']]], + ['serverwriter',['ServerWriter',['../classgrpc_1_1_completion_queue.html#a2f2dfa831a62c43ad5647a45080488e3',1,'grpc::CompletionQueue::ServerWriter()'],['../classgrpc_1_1_server_context.html#a2f2dfa831a62c43ad5647a45080488e3',1,'grpc::ServerContext::ServerWriter()']]] +]; diff --git a/doc/ref/c++/html/search/all_1.html b/doc/ref/c++/html/search/all_1.html new file mode 100644 index 0000000000..e2906449f2 --- /dev/null +++ b/doc/ref/c++/html/search/all_1.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++/html/search/all_1.js b/doc/ref/c++/html/search/all_1.js new file mode 100644 index 0000000000..0ce49340fe --- /dev/null +++ b/doc/ref/c++/html/search/all_1.js @@ -0,0 +1,34 @@ +var searchData= +[ + ['aborted',['ABORTED',['../namespacegrpc.html#aff1730578c90160528f6a8d67ef5c43ba8387a7175771975bee404def25236b0c',1,'grpc']]], + ['accesstokencredentials',['AccessTokenCredentials',['../namespacegrpc.html#a2a08189bab0ce54afb01754bd92ebd7f',1,'grpc']]], + ['add',['Add',['../classgrpc_1_1_dynamic_thread_pool.html#aea1cdc7989a2d6ab8fb1906428dbea30',1,'grpc::DynamicThreadPool::Add()'],['../classgrpc_1_1_fixed_size_thread_pool.html#ad7ee348722d8d120720032fae96d3026',1,'grpc::FixedSizeThreadPool::Add()'],['../classgrpc_1_1_thread_pool_interface.html#aac6d805cc95ff8e0c8e366102cdd4dce',1,'grpc::ThreadPoolInterface::Add()']]], + ['add_5fref',['ADD_REF',['../classgrpc_1_1_slice.html#ac1e8469bbb6dfa9ab9e646e0b48f5fe2a2ea965f79036dea69221557ec04580b2',1,'grpc::Slice']]], + ['addcompletionqueue',['AddCompletionQueue',['../classgrpc_1_1_server_builder.html#accbbd95080ca974e84fa1d4cb2ea9518',1,'grpc::ServerBuilder']]], + ['addinitialmetadata',['AddInitialMetadata',['../classgrpc_1_1_server_context.html#ae3371f0adf8521c7097eee437fc4ca4f',1,'grpc::ServerContext']]], + ['addlisteningport',['AddListeningPort',['../classgrpc_1_1_server_builder.html#a256e035e62b43cd79137abf7c066902a',1,'grpc::ServerBuilder']]], + ['addmetadata',['AddMetadata',['../classgrpc_1_1_client_context.html#a69a026f073ef5934697568d689440bd4',1,'grpc::ClientContext']]], + ['addmethod',['AddMethod',['../classgrpc_1_1_rpc_service.html#af2c7369056129ef2e6fde87f040ba578',1,'grpc::RpcService']]], + ['addop',['AddOp',['../classgrpc_1_1_call_no_op.html#a72c69197fb8ad18542e459bffbd8cbd8',1,'grpc::CallNoOp::AddOp()'],['../classgrpc_1_1_call_op_send_initial_metadata.html#ac57cf7a43da437b8b4556839f0403a77',1,'grpc::CallOpSendInitialMetadata::AddOp()'],['../classgrpc_1_1_call_op_send_message.html#a5d19fd3ab26c2b54868c9006f374728e',1,'grpc::CallOpSendMessage::AddOp()'],['../classgrpc_1_1_call_op_recv_message.html#a2d939fbfc75732244f389a5e2b97ab0a',1,'grpc::CallOpRecvMessage::AddOp()'],['../classgrpc_1_1_call_op_generic_recv_message.html#ac95faf8549212febce73cf6301238dfc',1,'grpc::CallOpGenericRecvMessage::AddOp()'],['../classgrpc_1_1_call_op_client_send_close.html#a4415b250cd6d5a82818ba159c272343a',1,'grpc::CallOpClientSendClose::AddOp()'],['../classgrpc_1_1_call_op_server_send_status.html#a7381b06ae0268853ebf9ed3b2737698b',1,'grpc::CallOpServerSendStatus::AddOp()'],['../classgrpc_1_1_call_op_recv_initial_metadata.html#a4f1684c4b023b4e2d348e53f80797f74',1,'grpc::CallOpRecvInitialMetadata::AddOp()'],['../classgrpc_1_1_call_op_client_recv_status.html#a12467c52794548c0022256c153ed7e62',1,'grpc::CallOpClientRecvStatus::AddOp()']]], + ['addref',['AddRef',['../classgrpc_1_1_slice.html#ac1e8469bbb6dfa9ab9e646e0b48f5fe2',1,'grpc::Slice']]], + ['addtrailingmetadata',['AddTrailingMetadata',['../classgrpc_1_1_server_context.html#ac30e12c4ee3ca008522b24157f4f886c',1,'grpc::ServerContext']]], + ['already_5fexists',['ALREADY_EXISTS',['../namespacegrpc.html#aff1730578c90160528f6a8d67ef5c43baf48ac5527afcabd618d8b86f2de45b9b',1,'grpc']]], + ['applytocall',['ApplyToCall',['../classgrpc_1_1_credentials.html#a2b3162e0dbb4530ac1c4b81a0339b1e1',1,'grpc::Credentials']]], + ['assecurecredentials',['AsSecureCredentials',['../classgrpc_1_1_credentials.html#aefc960d2b52b15f2561946e0f840874f',1,'grpc::Credentials']]], + ['async_5fgeneric_5fservice_2eh',['async_generic_service.h',['../async__generic__service_8h.html',1,'']]], + ['async_5funary_5fcall_2eh',['async_unary_call.h',['../async__unary__call_8h.html',1,'']]], + ['asyncgenericservice',['AsyncGenericService',['../classgrpc_1_1_server.html#afa12bc5912105e1966887391881de595',1,'grpc::Server::AsyncGenericService()'],['../classgrpc_1_1_async_generic_service.html#a60e3bd7ac8673ed0b49b1260a91518ae',1,'grpc::AsyncGenericService::AsyncGenericService()']]], + ['asyncgenericservice',['AsyncGenericService',['../classgrpc_1_1_async_generic_service.html',1,'grpc']]], + ['asynchronousservice',['AsynchronousService',['../classgrpc_1_1_asynchronous_service.html',1,'grpc']]], + ['asynchronousservice',['AsynchronousService',['../classgrpc_1_1_server.html#a9f65421947ee8cbae15ff96b44f6d532',1,'grpc::Server::AsynchronousService()'],['../classgrpc_1_1_asynchronous_service.html#aacdfbb6050c0d572892681ecd8c5b01b',1,'grpc::AsynchronousService::AsynchronousService()']]], + ['asyncnext',['AsyncNext',['../classgrpc_1_1_completion_queue.html#a290ddf3d96e6d1d5886580e60b0602b4',1,'grpc::CompletionQueue']]], + ['asyncreaderinterface',['AsyncReaderInterface',['../classgrpc_1_1_async_reader_interface.html',1,'grpc']]], + ['asyncwriterinterface',['AsyncWriterInterface',['../classgrpc_1_1_async_writer_interface.html',1,'grpc']]], + ['auth_5fcontext',['auth_context',['../classgrpc_1_1_client_context.html#a02f279bf74e26d7c32d0b18dc73dccea',1,'grpc::ClientContext::auth_context()'],['../classgrpc_1_1_server_context.html#a2a8657d382cee53d670208d640383e8e',1,'grpc::ServerContext::auth_context()']]], + ['auth_5fcontext_2eh',['auth_context.h',['../auth__context_8h.html',1,'']]], + ['auth_5fproperty_5fiterator_2eh',['auth_property_iterator.h',['../auth__property__iterator_8h.html',1,'']]], + ['authcontext',['AuthContext',['../classgrpc_1_1_auth_context.html',1,'grpc']]], + ['authproperty',['AuthProperty',['../namespacegrpc.html#a8e3a499d0002aae3afd1cae08f44a9ee',1,'grpc']]], + ['authpropertyiterator',['AuthPropertyIterator',['../classgrpc_1_1_auth_property_iterator.html',1,'grpc']]], + ['authpropertyiterator',['AuthPropertyIterator',['../classgrpc_1_1_auth_property_iterator.html#a2885e02ba1b9caad818a1bcdf648d949',1,'grpc::AuthPropertyIterator::AuthPropertyIterator()'],['../classgrpc_1_1_auth_property_iterator.html#aee44bb7255a99611cf490532b7e110d5',1,'grpc::AuthPropertyIterator::AuthPropertyIterator(const grpc_auth_property *property, const grpc_auth_property_iterator *iter)']]] +]; diff --git a/doc/ref/c++/html/search/all_10.html b/doc/ref/c++/html/search/all_10.html new file mode 100644 index 0000000000..c55c8367e4 --- /dev/null +++ b/doc/ref/c++/html/search/all_10.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++/html/search/all_10.js b/doc/ref/c++/html/search/all_10.js new file mode 100644 index 0000000000..1021d56350 --- /dev/null +++ b/doc/ref/c++/html/search/all_10.js @@ -0,0 +1,33 @@ +var searchData= +[ + ['raw_5fdeadline',['raw_deadline',['../classgrpc_1_1_client_context.html#a5057cab6d547678dded90c024efab652',1,'grpc::ClientContext::raw_deadline()'],['../classgrpc_1_1_server_context.html#add483537d23d3e06125dbe3f2bf50adc',1,'grpc::ServerContext::raw_deadline()']]], + ['raw_5ftime',['raw_time',['../classgrpc_1_1_time_point.html#adb76465d3bf0fef9ad5b918f0ea6a9b6',1,'grpc::TimePoint::raw_time()'],['../classgrpc_1_1_time_point_3_01gpr__timespec_01_4.html#a2f952629962fc23855496ac08a70f6e2',1,'grpc::TimePoint< gpr_timespec >::raw_time()'],['../classgrpc_1_1_time_point_3_01std_1_1chrono_1_1system__clock_1_1time__point_01_4.html#ac6d6a7d1e3ed219fff1dcc5961874f93',1,'grpc::TimePoint< std::chrono::system_clock::time_point >::raw_time()']]], + ['read',['Read',['../classgrpc_1_1_reader_interface.html#a04a1da8610d790ea86ecd5a14fe892b8',1,'grpc::ReaderInterface::Read()'],['../classgrpc_1_1_client_reader.html#a1305f6a3159b73866b4b66621f573ae7',1,'grpc::ClientReader::Read()'],['../classgrpc_1_1_client_reader_writer.html#adcf4e48162a850ae106e9d2f6fd03d0c',1,'grpc::ClientReaderWriter::Read()'],['../classgrpc_1_1_server_reader.html#a8bd737fbe8d5094fbcf40c45dc7723e0',1,'grpc::ServerReader::Read()'],['../classgrpc_1_1_server_reader_writer.html#a0398eca2f3cb613273a77c28bd55489d',1,'grpc::ServerReaderWriter::Read()'],['../classgrpc_1_1_async_reader_interface.html#aa644cf63c12ae8c9d5fda16a361f8a11',1,'grpc::AsyncReaderInterface::Read()'],['../classgrpc_1_1_client_async_reader.html#aaf9f76ba76be0a0144bbdf44d740731d',1,'grpc::ClientAsyncReader::Read()'],['../classgrpc_1_1_client_async_reader_writer.html#a8b6a32ede877fc2d5d4cfc5b95ac163f',1,'grpc::ClientAsyncReaderWriter::Read()'],['../classgrpc_1_1_server_async_reader.html#ac60c1f8d5373644f952377096f1a5b2f',1,'grpc::ServerAsyncReader::Read()'],['../classgrpc_1_1_server_async_reader_writer.html#a7d8d9d36449700c19cd08ecc608cb96a',1,'grpc::ServerAsyncReaderWriter::Read()']]], + ['readerinterface',['ReaderInterface',['../classgrpc_1_1_reader_interface.html',1,'grpc']]], + ['readinitialmetadata',['ReadInitialMetadata',['../classgrpc_1_1_client_async_response_reader_interface.html#a676e3a03a61c49a82b630d85bbfd366c',1,'grpc::ClientAsyncResponseReaderInterface::ReadInitialMetadata()'],['../classgrpc_1_1_client_async_response_reader.html#a963aefc43f34c9182e265647bbcdb91b',1,'grpc::ClientAsyncResponseReader::ReadInitialMetadata()'],['../classgrpc_1_1_client_async_streaming_interface.html#ad83bfe2febf4a6296b7d2646799b8174',1,'grpc::ClientAsyncStreamingInterface::ReadInitialMetadata()'],['../classgrpc_1_1_client_async_reader.html#a0e5b71e2620dc95fe41305eef7ee7863',1,'grpc::ClientAsyncReader::ReadInitialMetadata()'],['../classgrpc_1_1_client_async_writer.html#a1db45c4f5817db4f770c08dab64916c7',1,'grpc::ClientAsyncWriter::ReadInitialMetadata()'],['../classgrpc_1_1_client_async_reader_writer.html#a69f0115acf443d7820adefc7b2a6f162',1,'grpc::ClientAsyncReaderWriter::ReadInitialMetadata()']]], + ['recvinitialmetadata',['RecvInitialMetadata',['../classgrpc_1_1_call_op_recv_initial_metadata.html#a4dcc9f22c6966baca69cb1935c823a8e',1,'grpc::CallOpRecvInitialMetadata']]], + ['recvmessage',['RecvMessage',['../classgrpc_1_1_call_op_recv_message.html#aa2bdc2952010ab3a017bb859a1c6161c',1,'grpc::CallOpRecvMessage::RecvMessage()'],['../classgrpc_1_1_call_op_generic_recv_message.html#a0235adb3ae82cf78552f556856feb788',1,'grpc::CallOpGenericRecvMessage::RecvMessage()']]], + ['refreshtokencredentials',['RefreshTokenCredentials',['../namespacegrpc.html#af69bf38a7cfbd24e127deb86d50dc41d',1,'grpc']]], + ['registerasyncgenericservice',['RegisterAsyncGenericService',['../classgrpc_1_1_server_builder.html#ac62b0aa4c0448907e02d15386d58ef86',1,'grpc::ServerBuilder']]], + ['registerasyncservice',['RegisterAsyncService',['../classgrpc_1_1_server_builder.html#a2da69a943b10839d6993f9b292aaf578',1,'grpc::ServerBuilder::RegisterAsyncService(AsynchronousService *service)'],['../classgrpc_1_1_server_builder.html#a2107596214baf71230f4f270dec1d064',1,'grpc::ServerBuilder::RegisterAsyncService(const grpc::string &host, AsynchronousService *service)']]], + ['registermethod',['RegisterMethod',['../classgrpc_1_1_channel_interface.html#a267926300784051328390b2f7648c99f',1,'grpc::ChannelInterface']]], + ['registerservice',['RegisterService',['../classgrpc_1_1_server_builder.html#a40f39b2ac8224a91c426b0e75bbb3c66',1,'grpc::ServerBuilder::RegisterService(SynchronousService *service)'],['../classgrpc_1_1_server_builder.html#ad961d91042fe44aa38fa3e1d57120861',1,'grpc::ServerBuilder::RegisterService(const grpc::string &host, SynchronousService *service)']]], + ['request',['request',['../structgrpc_1_1_method_handler_1_1_handler_parameter.html#a82558a5f8a8d3c9b16be620092f67fa4',1,'grpc::MethodHandler::HandlerParameter']]], + ['requestasyncunary',['RequestAsyncUnary',['../classgrpc_1_1_asynchronous_service.html#a19c9368c6cd8ea4b296c9023cc96b990',1,'grpc::AsynchronousService']]], + ['requestbidistreaming',['RequestBidiStreaming',['../classgrpc_1_1_asynchronous_service.html#a3b7e40607e2bb45b2901a4990847f608',1,'grpc::AsynchronousService']]], + ['requestcall',['RequestCall',['../classgrpc_1_1_async_generic_service.html#aeab5c20e89a754d5add4bdaad01a3ef6',1,'grpc::AsyncGenericService']]], + ['requestclientstreaming',['RequestClientStreaming',['../classgrpc_1_1_asynchronous_service.html#a3694e436bb163a5162cf915a7e277369',1,'grpc::AsynchronousService']]], + ['requestserverstreaming',['RequestServerStreaming',['../classgrpc_1_1_asynchronous_service.html#a197117ab963be83b26e1c67d5a7fd564',1,'grpc::AsynchronousService']]], + ['resource_5fexhausted',['RESOURCE_EXHAUSTED',['../namespacegrpc.html#aff1730578c90160528f6a8d67ef5c43ba663615dcb59881e3fe4206066666086f',1,'grpc']]], + ['rpc_5fmethod_2eh',['rpc_method.h',['../rpc__method_8h.html',1,'']]], + ['rpc_5fservice_5fmethod_2eh',['rpc_service_method.h',['../rpc__service__method_8h.html',1,'']]], + ['rpcmethod',['RpcMethod',['../classgrpc_1_1_rpc_method.html',1,'grpc']]], + ['rpcmethod',['RpcMethod',['../classgrpc_1_1_rpc_method.html#ab06ace199b65e09f1d4c9fde93dafc94',1,'grpc::RpcMethod']]], + ['rpcmethodhandler',['RpcMethodHandler',['../classgrpc_1_1_rpc_method_handler.html',1,'grpc']]], + ['rpcmethodhandler',['RpcMethodHandler',['../classgrpc_1_1_completion_queue.html#a76b9bb18b02084e9eaa8c9b99c668676',1,'grpc::CompletionQueue::RpcMethodHandler()'],['../classgrpc_1_1_server_context.html#a76b9bb18b02084e9eaa8c9b99c668676',1,'grpc::ServerContext::RpcMethodHandler()'],['../classgrpc_1_1_rpc_method_handler.html#af18c4bdcfc73d0238b238097547e6a48',1,'grpc::RpcMethodHandler::RpcMethodHandler()']]], + ['rpcservice',['RpcService',['../classgrpc_1_1_rpc_service.html',1,'grpc']]], + ['rpcservicemethod',['RpcServiceMethod',['../classgrpc_1_1_rpc_service_method.html',1,'grpc']]], + ['rpcservicemethod',['RpcServiceMethod',['../classgrpc_1_1_rpc_service_method.html#a9a4a54d93c2c5d2b5b52ff50af5971da',1,'grpc::RpcServiceMethod']]], + ['rpctype',['RpcType',['../classgrpc_1_1_rpc_method.html#ace95416ed07409e43059a0dfe9e23688',1,'grpc::RpcMethod']]], + ['runhandler',['RunHandler',['../classgrpc_1_1_method_handler.html#a8f901c44915f81bb86ecba0278f7db16',1,'grpc::MethodHandler::RunHandler()'],['../classgrpc_1_1_rpc_method_handler.html#a3dd04e9149c844224390b403ff24fa41',1,'grpc::RpcMethodHandler::RunHandler()'],['../classgrpc_1_1_client_streaming_handler.html#a702cbf84fa766383bfbb818c8a16e67c',1,'grpc::ClientStreamingHandler::RunHandler()'],['../classgrpc_1_1_server_streaming_handler.html#afd874fc0f3a73c4037d626d3ecbcccca',1,'grpc::ServerStreamingHandler::RunHandler()'],['../classgrpc_1_1_bidi_streaming_handler.html#a674385b5e9f48ffff0bcbc5d77f99bf1',1,'grpc::BidiStreamingHandler::RunHandler()']]] +]; diff --git a/doc/ref/c++/html/search/all_11.html b/doc/ref/c++/html/search/all_11.html new file mode 100644 index 0000000000..6f3943a941 --- /dev/null +++ b/doc/ref/c++/html/search/all_11.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++/html/search/all_11.js b/doc/ref/c++/html/search/all_11.js new file mode 100644 index 0000000000..d051cfed92 --- /dev/null +++ b/doc/ref/c++/html/search/all_11.js @@ -0,0 +1,94 @@ +var searchData= +[ + ['secureauthcontext',['SecureAuthContext',['../classgrpc_1_1_auth_property_iterator.html#a18a70918b1f73cdd22cb263845b78d6d',1,'grpc::AuthPropertyIterator']]], + ['securecredentials',['SecureCredentials',['../classgrpc_1_1_channel_arguments.html#ae60893d904f922c32a57fb18e618db66',1,'grpc::ChannelArguments']]], + ['send_5f',['send_',['../classgrpc_1_1_call_op_send_initial_metadata.html#a2e867bf1e2a14f51fbda7ffe4a9d0e30',1,'grpc::CallOpSendInitialMetadata']]], + ['sendinitialmetadata',['SendInitialMetadata',['../classgrpc_1_1_server_async_response_writer.html#a76be68485a36629af40560aa1f1de0b7',1,'grpc::ServerAsyncResponseWriter::SendInitialMetadata()'],['../classgrpc_1_1_call_op_send_initial_metadata.html#a1d7682714b83f3bf495be8a7804fd34d',1,'grpc::CallOpSendInitialMetadata::SendInitialMetadata()'],['../classgrpc_1_1_server_async_streaming_interface.html#ab2d5db2b2ca3032994396543a8bb044c',1,'grpc::ServerAsyncStreamingInterface::SendInitialMetadata()'],['../classgrpc_1_1_server_reader.html#ad2cc630d207d246a851daa339bda479b',1,'grpc::ServerReader::SendInitialMetadata()'],['../classgrpc_1_1_server_writer.html#aa53df518d62478d0dbbe6f2f6ec44274',1,'grpc::ServerWriter::SendInitialMetadata()'],['../classgrpc_1_1_server_reader_writer.html#a91d0c7316a266b7e8f5447a6f3362fe5',1,'grpc::ServerReaderWriter::SendInitialMetadata()'],['../classgrpc_1_1_server_async_reader.html#a5d05028563e789203225c0ba548710b6',1,'grpc::ServerAsyncReader::SendInitialMetadata()'],['../classgrpc_1_1_server_async_writer.html#ad3a6ab6a46639131770efd0149d04455',1,'grpc::ServerAsyncWriter::SendInitialMetadata()'],['../classgrpc_1_1_server_async_reader_writer.html#ab40293c8bda8123b5c0e7a0455860533',1,'grpc::ServerAsyncReaderWriter::SendInitialMetadata()']]], + ['sendmessage',['SendMessage',['../classgrpc_1_1_call_op_send_message.html#a3cf3a795e98b7db1488ba6c098ac7dd9',1,'grpc::CallOpSendMessage::SendMessage(const M &message, const WriteOptions &options) GRPC_MUST_USE_RESULT'],['../classgrpc_1_1_call_op_send_message.html#ad9928eeba69f23f54d1c378517a15222',1,'grpc::CallOpSendMessage::SendMessage(const M &message) GRPC_MUST_USE_RESULT']]], + ['serialization_5ftraits_2eh',['serialization_traits.h',['../serialization__traits_8h.html',1,'']]], + ['serializationtraits',['SerializationTraits',['../classgrpc_1_1_serialization_traits.html',1,'grpc']]], + ['serializationtraits_3c_20bytebuffer_2c_20void_20_3e',['SerializationTraits< ByteBuffer, void >',['../classgrpc_1_1_serialization_traits_3_01_byte_buffer_00_01void_01_4.html',1,'grpc']]], + ['serializationtraits_3c_20bytebuffer_2c_20void_20_3e',['SerializationTraits< ByteBuffer, void >',['../classgrpc_1_1_byte_buffer.html#ab90fe50537dd6fe009b7b913652420f0',1,'grpc::ByteBuffer']]], + ['serializationtraits_3c_20t_2c_20typename_20std_3a_3aenable_5fif_3c_20std_3a_3ais_5fbase_5fof_3c_20grpc_3a_3aprotobuf_3a_3amessage_2c_20t_20_3e_3a_3avalue_20_3e_3a_3atype_20_3e',['SerializationTraits< T, typename std::enable_if< std::is_base_of< grpc::protobuf::Message, T >::value >::type >',['../classgrpc_1_1_serialization_traits_3_01_t_00_01typename_01std_1_1enable__if_3_01std_1_1is__base_42903f95c85f031c7724191271564901.html',1,'grpc']]], + ['serialize',['Serialize',['../classgrpc_1_1_serialization_traits_3_01_byte_buffer_00_01void_01_4.html#a142e6455c0e040332f57bd3a35eebd33',1,'grpc::SerializationTraits< ByteBuffer, void >::Serialize()'],['../classgrpc_1_1_serialization_traits_3_01_t_00_01typename_01std_1_1enable__if_3_01std_1_1is__base_42903f95c85f031c7724191271564901.html#adeebcdc9be666be418d94c021179762c',1,'grpc::SerializationTraits< T, typename std::enable_if< std::is_base_of< grpc::protobuf::Message, T >::value >::type >::Serialize()']]], + ['serializeproto',['SerializeProto',['../namespacegrpc.html#a453a85937625eaa278403fd7e33cd7bb',1,'grpc']]], + ['server',['Server',['../classgrpc_1_1_server.html',1,'grpc']]], + ['server',['Server',['../classgrpc_1_1_generic_server_context.html#ac2055578ac48afabe5af487878450f68',1,'grpc::GenericServerContext::Server()'],['../classgrpc_1_1_async_generic_service.html#ac2055578ac48afabe5af487878450f68',1,'grpc::AsyncGenericService::Server()'],['../classgrpc_1_1_server_async_streaming_interface.html#ac2055578ac48afabe5af487878450f68',1,'grpc::ServerAsyncStreamingInterface::Server()'],['../classgrpc_1_1_asynchronous_service.html#ac2055578ac48afabe5af487878450f68',1,'grpc::AsynchronousService::Server()']]], + ['server_2eh',['server.h',['../server_8h.html',1,'']]], + ['server_5fbuilder_2eh',['server_builder.h',['../server__builder_8h.html',1,'']]], + ['server_5fcontext',['server_context',['../structgrpc_1_1_method_handler_1_1_handler_parameter.html#a281166394b3ec1fc0962f3841ef22c3c',1,'grpc::MethodHandler::HandlerParameter']]], + ['server_5fcontext_2eh',['server_context.h',['../server__context_8h.html',1,'']]], + ['server_5fcredentials_2eh',['server_credentials.h',['../server__credentials_8h.html',1,'']]], + ['server_5fstreaming',['SERVER_STREAMING',['../classgrpc_1_1_rpc_method.html#ace95416ed07409e43059a0dfe9e23688a86f700048be78a1204139f70912f7775',1,'grpc::RpcMethod']]], + ['serverasyncreader',['ServerAsyncReader',['../classgrpc_1_1_server_async_reader.html',1,'grpc']]], + ['serverasyncreader',['ServerAsyncReader',['../classgrpc_1_1_server_async_reader.html#a7f351e1d526b250336402ee03b8cc75e',1,'grpc::ServerAsyncReader']]], + ['serverasyncreaderwriter',['ServerAsyncReaderWriter',['../classgrpc_1_1_server_async_reader_writer.html',1,'grpc']]], + ['serverasyncreaderwriter',['ServerAsyncReaderWriter',['../classgrpc_1_1_server_async_reader_writer.html#af2b106bee556273e61541950502237ef',1,'grpc::ServerAsyncReaderWriter']]], + ['serverasyncresponsewriter',['ServerAsyncResponseWriter',['../classgrpc_1_1_server_async_response_writer.html#a3c97a19ba6eaa0b9eef9b6b86dbad9e9',1,'grpc::ServerAsyncResponseWriter']]], + ['serverasyncresponsewriter',['ServerAsyncResponseWriter',['../classgrpc_1_1_server_async_response_writer.html',1,'grpc']]], + ['serverasyncstreaminginterface',['ServerAsyncStreamingInterface',['../classgrpc_1_1_server_async_streaming_interface.html',1,'grpc']]], + ['serverasyncwriter',['ServerAsyncWriter',['../classgrpc_1_1_server_async_writer.html',1,'grpc']]], + ['serverasyncwriter',['ServerAsyncWriter',['../classgrpc_1_1_server_async_writer.html#aa841b99fddf9ce347b9c617058f179f2',1,'grpc::ServerAsyncWriter']]], + ['serverbuilder',['ServerBuilder',['../classgrpc_1_1_server_builder.html',1,'grpc']]], + ['serverbuilder',['ServerBuilder',['../classgrpc_1_1_server_completion_queue.html#a8c2db91f514d534f06396d90c1b1f2c4',1,'grpc::ServerCompletionQueue::ServerBuilder()'],['../classgrpc_1_1_server.html#a8c2db91f514d534f06396d90c1b1f2c4',1,'grpc::Server::ServerBuilder()'],['../classgrpc_1_1_server_builder.html#a208346e343cd01351492f0cace59b242',1,'grpc::ServerBuilder::ServerBuilder()']]], + ['servercompletionqueue',['ServerCompletionQueue',['../classgrpc_1_1_server_completion_queue.html',1,'grpc']]], + ['servercontext',['ServerContext',['../classgrpc_1_1_server_context.html',1,'grpc']]], + ['servercontext',['ServerContext',['../classgrpc_1_1_server_context.html#a10f47e15934195dcaed6b756498b8fff',1,'grpc::ServerContext']]], + ['servercredentials',['ServerCredentials',['../classgrpc_1_1_server_credentials.html',1,'grpc']]], + ['serverreader',['ServerReader',['../classgrpc_1_1_server_reader.html#a43e6b5258cfc623fa719884fce957521',1,'grpc::ServerReader']]], + ['serverreader',['ServerReader',['../classgrpc_1_1_server_reader.html',1,'grpc']]], + ['serverreaderwriter',['ServerReaderWriter',['../classgrpc_1_1_server_reader_writer.html#a8dfe4a7bf682d51c423c2cb2a71e8b52',1,'grpc::ServerReaderWriter']]], + ['serverreaderwriter',['ServerReaderWriter',['../classgrpc_1_1_server_reader_writer.html',1,'grpc']]], + ['serversendstatus',['ServerSendStatus',['../classgrpc_1_1_call_op_server_send_status.html#ac2720fa707f1fe321afdf3a971bebcf7',1,'grpc::CallOpServerSendStatus']]], + ['serverstreaminghandler',['ServerStreamingHandler',['../classgrpc_1_1_server_streaming_handler.html',1,'grpc']]], + ['serverstreaminghandler',['ServerStreamingHandler',['../classgrpc_1_1_completion_queue.html#ac2a23a31e1f8f09e2e51f09e7f50ba0c',1,'grpc::CompletionQueue::ServerStreamingHandler()'],['../classgrpc_1_1_server_context.html#ac2a23a31e1f8f09e2e51f09e7f50ba0c',1,'grpc::ServerContext::ServerStreamingHandler()'],['../classgrpc_1_1_server_streaming_handler.html#af846a2bd80177f74bca1007597fbd2a5',1,'grpc::ServerStreamingHandler::ServerStreamingHandler()']]], + ['serverwriter',['ServerWriter',['../classgrpc_1_1_server_writer.html',1,'grpc']]], + ['serverwriter',['ServerWriter',['../classgrpc_1_1_server_writer.html#a119c720c14d6835a8bc40a4ed615f0f2',1,'grpc::ServerWriter']]], + ['service',['service',['../classgrpc_1_1_synchronous_service.html#ad9eb51c9dc0cedfd838c23db47349796',1,'grpc::SynchronousService']]], + ['service_5ftype_2eh',['service_type.h',['../service__type_8h.html',1,'']]], + ['serviceaccountcredentials',['ServiceAccountCredentials',['../namespacegrpc.html#af2624b99e948624865a346311a613848',1,'grpc']]], + ['serviceaccountjwtaccesscredentials',['ServiceAccountJWTAccessCredentials',['../namespacegrpc.html#a5802d0b8e29f4937281c57bbe07f3517',1,'grpc']]], + ['set_5fauthority',['set_authority',['../classgrpc_1_1_client_context.html#a43bb17bbd6ab49face3793e8883c5682',1,'grpc::ClientContext']]], + ['set_5fbuffer_5fhint',['set_buffer_hint',['../classgrpc_1_1_write_options.html#aecd282a8c7424e4b0c1a5f512c44b8a8',1,'grpc::WriteOptions']]], + ['set_5fcensus_5fcontext',['set_census_context',['../classgrpc_1_1_client_context.html#a48672c1e42084d2cd6975746b84658dd',1,'grpc::ClientContext']]], + ['set_5fcompression_5falgorithm',['set_compression_algorithm',['../classgrpc_1_1_client_context.html#a67a71b32afe1d71189aa3a24146ec61d',1,'grpc::ClientContext::set_compression_algorithm()'],['../classgrpc_1_1_server_context.html#ade949b886faed50627e5cbd35fe4ec72',1,'grpc::ServerContext::set_compression_algorithm()']]], + ['set_5fcompression_5flevel',['set_compression_level',['../classgrpc_1_1_server_context.html#accfdf160f46aa20eda843443c3eea91d',1,'grpc::ServerContext']]], + ['set_5fcredentials',['set_credentials',['../classgrpc_1_1_client_context.html#ac09d9bcb018a58c970adbab7ecd201cb',1,'grpc::ClientContext']]], + ['set_5fdeadline',['set_deadline',['../classgrpc_1_1_client_context.html#ad4e16866fee3f6ee5a10efb5be6f4da6',1,'grpc::ClientContext']]], + ['set_5fmax_5fmessage_5fsize',['set_max_message_size',['../classgrpc_1_1_call_op_set_interface.html#ac1e3a95ce9a1727011b7e7ce76829f0a',1,'grpc::CallOpSetInterface']]], + ['set_5fno_5fcompression',['set_no_compression',['../classgrpc_1_1_write_options.html#afe5f12d1bf9ed01b7a833458dc889b66',1,'grpc::WriteOptions']]], + ['set_5foutput_5ftag',['set_output_tag',['../classgrpc_1_1_call_op_set.html#a798d253af317730a5b996a4a55d86274',1,'grpc::CallOpSet']]], + ['setchannelargs',['SetChannelArgs',['../classgrpc_1_1_channel_arguments.html#a90ce1857947d36ff894402ad10cb6048',1,'grpc::ChannelArguments']]], + ['setcompressionalgorithm',['SetCompressionAlgorithm',['../classgrpc_1_1_channel_arguments.html#aaf332071bbdff5e4a7f3352f4ad564d5',1,'grpc::ChannelArguments']]], + ['setint',['SetInt',['../classgrpc_1_1_channel_arguments.html#a2b1c60568a4906bfe0b21781b09cdbbf',1,'grpc::ChannelArguments']]], + ['setmaxmessagesize',['SetMaxMessageSize',['../classgrpc_1_1_server_builder.html#ae1e6314004fba16607b883b8cc81f5c9',1,'grpc::ServerBuilder']]], + ['setssltargetnameoverride',['SetSslTargetNameOverride',['../classgrpc_1_1_channel_arguments.html#af4182e659448184f9618f079a1570328',1,'grpc::ChannelArguments']]], + ['setstring',['SetString',['../classgrpc_1_1_channel_arguments.html#a852ac2fe0ac7421fa82927ddda612947',1,'grpc::ChannelArguments']]], + ['setthreadpool',['SetThreadPool',['../classgrpc_1_1_server_builder.html#aea5dd313149029114c60571e5ee8b4cd',1,'grpc::ServerBuilder']]], + ['shutdown',['SHUTDOWN',['../classgrpc_1_1_completion_queue.html#a6227657fb2f29291f80cd092f9baf572a5d05c1c970154dad10e5f648890c215b',1,'grpc::CompletionQueue::SHUTDOWN()'],['../classgrpc_1_1_completion_queue.html#a40efddadd9073386fbcb4f46e8325670',1,'grpc::CompletionQueue::Shutdown()'],['../classgrpc_1_1_server.html#a777a9c8873ae4969585083e0e62482dc',1,'grpc::Server::Shutdown()']]], + ['size',['size',['../classgrpc_1_1_slice.html#aa216fa6d6e98e5e2677b7d33fb4af724',1,'grpc::Slice']]], + ['slice',['Slice',['../classgrpc_1_1_slice.html',1,'grpc']]], + ['slice',['Slice',['../classgrpc_1_1_slice.html#a8c5179cf7a39f66d65887bf298dc548f',1,'grpc::Slice::Slice()'],['../classgrpc_1_1_slice.html#a0cf5718377c0ae4584d58bb6c1b042f2',1,'grpc::Slice::Slice(gpr_slice slice, AddRef)'],['../classgrpc_1_1_slice.html#ad952f787620a1fe4c519e53e9e1aa921',1,'grpc::Slice::Slice(gpr_slice slice, StealRef)'],['../classgrpc_1_1_slice.html#a0a6b936d72f7ae35f083d003d3e0c8a3',1,'grpc::Slice::Slice(const Slice &other)']]], + ['slice_2eh',['slice.h',['../slice_8h.html',1,'']]], + ['sneakycallopset',['SneakyCallOpSet',['../classgrpc_1_1_sneaky_call_op_set.html',1,'grpc']]], + ['sneakycallopset_3c_20grpc_3a_3acallopsendinitialmetadata_2c_20grpc_3a_3acallopsendmessage_2c_20grpc_3a_3acallopclientsendclose_20_3e',['SneakyCallOpSet< grpc::CallOpSendInitialMetadata, grpc::CallOpSendMessage, grpc::CallOpClientSendClose >',['../classgrpc_1_1_sneaky_call_op_set.html',1,'grpc']]], + ['sslcredentials',['SslCredentials',['../namespacegrpc.html#adeb675883da0c9ad8ae4dd38214c3f16',1,'grpc']]], + ['sslcredentialsoptions',['SslCredentialsOptions',['../structgrpc_1_1_ssl_credentials_options.html',1,'grpc']]], + ['sslservercredentials',['SslServerCredentials',['../namespacegrpc.html#adf4e07954696095e27c0181691a1f752',1,'grpc']]], + ['sslservercredentialsoptions',['SslServerCredentialsOptions',['../structgrpc_1_1_ssl_server_credentials_options.html#ae85661f17b0dd9f4fc27275203e5f105',1,'grpc::SslServerCredentialsOptions']]], + ['sslservercredentialsoptions',['SslServerCredentialsOptions',['../structgrpc_1_1_ssl_server_credentials_options.html',1,'grpc']]], + ['status',['Status',['../classgrpc_1_1_status.html#a46537b45349a95126a16dcd67b5cf54c',1,'grpc::Status::Status()'],['../classgrpc_1_1_status.html#a8419a0b716f961c8d2d781c65f03def6',1,'grpc::Status::Status(StatusCode code, const grpc::string &details)']]], + ['status',['Status',['../classgrpc_1_1_status.html',1,'grpc']]], + ['status_2eh',['status.h',['../status_8h.html',1,'']]], + ['status_5fcode_5fenum_2eh',['status_code_enum.h',['../status__code__enum_8h.html',1,'']]], + ['statuscode',['StatusCode',['../namespacegrpc.html#aff1730578c90160528f6a8d67ef5c43b',1,'grpc']]], + ['steal_5fref',['STEAL_REF',['../classgrpc_1_1_slice.html#a13fbbec0e9121a8b948d563f9730d75aae0777a96d69fe69aec2acd1f0f9cefb7',1,'grpc::Slice']]], + ['stealref',['StealRef',['../classgrpc_1_1_slice.html#a13fbbec0e9121a8b948d563f9730d75a',1,'grpc::Slice']]], + ['stream_2eh',['stream.h',['../stream_8h.html',1,'']]], + ['string',['string',['../namespacegrpc.html#ab04a87625da3bf85cdaf5e7856b00203',1,'grpc']]], + ['swap',['Swap',['../classgrpc_1_1_channel_arguments.html#a3ff4f22c2cf31c01885b2aaefbdd227d',1,'grpc::ChannelArguments']]], + ['sync_2eh',['sync.h',['../sync_8h.html',1,'']]], + ['sync_5fcxx11_2eh',['sync_cxx11.h',['../sync__cxx11_8h.html',1,'']]], + ['sync_5fno_5fcxx11_2eh',['sync_no_cxx11.h',['../sync__no__cxx11_8h.html',1,'']]], + ['synchronousservice',['SynchronousService',['../classgrpc_1_1_synchronous_service.html',1,'grpc']]] +]; diff --git a/doc/ref/c++/html/search/all_12.html b/doc/ref/c++/html/search/all_12.html new file mode 100644 index 0000000000..3c7c89ef60 --- /dev/null +++ b/doc/ref/c++/html/search/all_12.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++/html/search/all_12.js b/doc/ref/c++/html/search/all_12.js new file mode 100644 index 0000000000..5e8553201f --- /dev/null +++ b/doc/ref/c++/html/search/all_12.js @@ -0,0 +1,21 @@ +var searchData= +[ + ['channelargumentstest',['ChannelArgumentsTest',['../classgrpc_1_1_channel_arguments.html#ab9fc942609a77bb3021ba172be262c7b',1,'grpc::ChannelArguments']]], + ['thd_2eh',['thd.h',['../thd_8h.html',1,'']]], + ['thd_5fcxx11_2eh',['thd_cxx11.h',['../thd__cxx11_8h.html',1,'']]], + ['thd_5fno_5fcxx11_2eh',['thd_no_cxx11.h',['../thd__no__cxx11_8h.html',1,'']]], + ['thread',['thread',['../classgrpc_1_1thread.html#a02b103e08092d24bf65e1a7b5b384269',1,'grpc::thread']]], + ['thread',['thread',['../classgrpc_1_1thread.html',1,'grpc']]], + ['thread_5fpool_5finterface_2eh',['thread_pool_interface.h',['../thread__pool__interface_8h.html',1,'']]], + ['threadpoolinterface',['ThreadPoolInterface',['../classgrpc_1_1_thread_pool_interface.html',1,'grpc']]], + ['time_2eh',['time.h',['../time_8h.html',1,'']]], + ['timeout',['TIMEOUT',['../classgrpc_1_1_completion_queue.html#a6227657fb2f29291f80cd092f9baf572ae88eecb45f91413b425511ee973e2e04',1,'grpc::CompletionQueue']]], + ['timepoint',['TimePoint',['../classgrpc_1_1_time_point.html',1,'grpc']]], + ['timepoint',['TimePoint',['../classgrpc_1_1_time_point.html#aebfa8f327b7609f7e895845b36f060ad',1,'grpc::TimePoint::TimePoint()'],['../classgrpc_1_1_time_point_3_01gpr__timespec_01_4.html#a092aa1afe85bf73a10bf906bb9924007',1,'grpc::TimePoint< gpr_timespec >::TimePoint()'],['../classgrpc_1_1_time_point_3_01std_1_1chrono_1_1system__clock_1_1time__point_01_4.html#ad4276af3251c142fbe7f161391609d4f',1,'grpc::TimePoint< std::chrono::system_clock::time_point >::TimePoint()']]], + ['timepoint2timespec',['Timepoint2Timespec',['../namespacegrpc.html#a4e160d3739280d51ec130ab1bb1c549c',1,'grpc']]], + ['timepoint_3c_20gpr_5ftimespec_20_3e',['TimePoint< gpr_timespec >',['../classgrpc_1_1_time_point_3_01gpr__timespec_01_4.html',1,'grpc']]], + ['timepoint_3c_20std_3a_3achrono_3a_3asystem_5fclock_3a_3atime_5fpoint_20_3e',['TimePoint< std::chrono::system_clock::time_point >',['../classgrpc_1_1_time_point_3_01std_1_1chrono_1_1system__clock_1_1time__point_01_4.html',1,'grpc']]], + ['timepointhr2timespec',['TimepointHR2Timespec',['../namespacegrpc.html#a8b3b542af97e1ae35f327c7095d98369',1,'grpc']]], + ['timespec2timepoint',['Timespec2Timepoint',['../namespacegrpc.html#a12896f279762d0100669da708d466ec1',1,'grpc']]], + ['trycancel',['TryCancel',['../classgrpc_1_1_client_context.html#abd0f6715c30287b75288015eee628984',1,'grpc::ClientContext']]] +]; diff --git a/doc/ref/c++/html/search/all_13.html b/doc/ref/c++/html/search/all_13.html new file mode 100644 index 0000000000..0bd629b86b --- /dev/null +++ b/doc/ref/c++/html/search/all_13.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++/html/search/all_13.js b/doc/ref/c++/html/search/all_13.js new file mode 100644 index 0000000000..9b06114f07 --- /dev/null +++ b/doc/ref/c++/html/search/all_13.js @@ -0,0 +1,11 @@ +var searchData= +[ + ['unauthenticated',['UNAUTHENTICATED',['../namespacegrpc.html#aff1730578c90160528f6a8d67ef5c43ba4290323b58d11554a249a870532c908e',1,'grpc']]], + ['unavailable',['UNAVAILABLE',['../namespacegrpc.html#aff1730578c90160528f6a8d67ef5c43ba87779003bbcfd441fd0ef335c13cb2c3',1,'grpc']]], + ['unimplemented',['UNIMPLEMENTED',['../namespacegrpc.html#aff1730578c90160528f6a8d67ef5c43ba31d8b2f1f3307ed261328cb3eece163b',1,'grpc']]], + ['unique_5flock',['unique_lock',['../classgrpc_1_1unique__lock.html',1,'grpc']]], + ['unique_5flock',['unique_lock',['../classgrpc_1_1unique__lock.html#ad82b43eea850ccccf7a1682668c3a633',1,'grpc::unique_lock']]], + ['unknown',['UNKNOWN',['../namespacegrpc.html#aff1730578c90160528f6a8d67ef5c43bab32b226dd4ccbe5b70fbceb3a915b256',1,'grpc']]], + ['unlock',['unlock',['../classgrpc_1_1unique__lock.html#af631f112239d5fb5aeff2ed1335e7ccd',1,'grpc::unique_lock']]], + ['unlock_5finternal',['unlock_internal',['../classgrpc_1_1lock__guard.html#a84bc9261c3b0c0bb3824265c31ce26c5',1,'grpc::lock_guard']]] +]; diff --git a/doc/ref/c++/html/search/all_14.html b/doc/ref/c++/html/search/all_14.html new file mode 100644 index 0000000000..2ad638b277 --- /dev/null +++ b/doc/ref/c++/html/search/all_14.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++/html/search/all_14.js b/doc/ref/c++/html/search/all_14.js new file mode 100644 index 0000000000..e4d2a28201 --- /dev/null +++ b/doc/ref/c++/html/search/all_14.js @@ -0,0 +1,10 @@ +var searchData= +[ + ['wait',['Wait',['../classgrpc_1_1_server.html#a6f1ec2700c94637813178a5b5f71d6d5',1,'grpc::Server::Wait()'],['../classgrpc_1_1condition__variable.html#a58cced6338389e99d7e663ba0ab5aed8',1,'grpc::condition_variable::wait()']]], + ['waitforinitialmetadata',['WaitForInitialMetadata',['../classgrpc_1_1_client_reader_interface.html#aee87dd6e3e8a40853207ceb53b590b19',1,'grpc::ClientReaderInterface::WaitForInitialMetadata()'],['../classgrpc_1_1_client_reader.html#ad471c81c02db253508b9fd599beab93e',1,'grpc::ClientReader::WaitForInitialMetadata()'],['../classgrpc_1_1_client_reader_writer_interface.html#a6ead554cc1b991f2289b26fb80fdde5e',1,'grpc::ClientReaderWriterInterface::WaitForInitialMetadata()'],['../classgrpc_1_1_client_reader_writer.html#af19ce81004b69300aa18d9ce14be29be',1,'grpc::ClientReaderWriter::WaitForInitialMetadata()']]], + ['write',['Write',['../classgrpc_1_1_writer_interface.html#aa6b2aeb8957265b62bdc063b48f15d44',1,'grpc::WriterInterface::Write(const W &msg, const WriteOptions &options)=0'],['../classgrpc_1_1_writer_interface.html#a5ddbce2a74455afea61fc21e16b01c6a',1,'grpc::WriterInterface::Write(const W &msg)'],['../classgrpc_1_1_client_writer.html#a4c6b81e2d624886c7e86b9b774121e36',1,'grpc::ClientWriter::Write()'],['../classgrpc_1_1_client_reader_writer.html#a5e579c3ff2854b7776fe125a0a0cf762',1,'grpc::ClientReaderWriter::Write()'],['../classgrpc_1_1_server_writer.html#a995e4cbb3661bfdb2cf51ec2b5975a1a',1,'grpc::ServerWriter::Write()'],['../classgrpc_1_1_server_reader_writer.html#ab416079f6464c056c772f7a1ecb69467',1,'grpc::ServerReaderWriter::Write()'],['../classgrpc_1_1_async_writer_interface.html#a40c1091ac5cb5243c874da725ae291b4',1,'grpc::AsyncWriterInterface::Write()'],['../classgrpc_1_1_client_async_writer.html#a544f9e4c310b251bf3c7b84fd035d20a',1,'grpc::ClientAsyncWriter::Write()'],['../classgrpc_1_1_client_async_reader_writer.html#ac3cb288c3bd9d1b826fd726bd2655be3',1,'grpc::ClientAsyncReaderWriter::Write()'],['../classgrpc_1_1_server_async_writer.html#a7027a65f3d84ff275b130cf9a0f170f5',1,'grpc::ServerAsyncWriter::Write()'],['../classgrpc_1_1_server_async_reader_writer.html#ad0d2750db5e195d053e3361e1ff0df35',1,'grpc::ServerAsyncReaderWriter::Write()']]], + ['writeoptions',['WriteOptions',['../classgrpc_1_1_write_options.html#a6a4e429313200ed6c017c5d306e26e93',1,'grpc::WriteOptions::WriteOptions()'],['../classgrpc_1_1_write_options.html#a4d7753bbd8d9d61e2c6d3e49e29be021',1,'grpc::WriteOptions::WriteOptions(const WriteOptions &other)']]], + ['writeoptions',['WriteOptions',['../classgrpc_1_1_write_options.html',1,'grpc']]], + ['writerinterface',['WriterInterface',['../classgrpc_1_1_writer_interface.html',1,'grpc']]], + ['writesdone',['WritesDone',['../classgrpc_1_1_client_writer_interface.html#aff19574252338e9ac1b5446e82ed8ac5',1,'grpc::ClientWriterInterface::WritesDone()'],['../classgrpc_1_1_client_writer.html#abfb6738c132b9ebe49024dc1bf1e9352',1,'grpc::ClientWriter::WritesDone()'],['../classgrpc_1_1_client_reader_writer_interface.html#a52f4e5d5ac7fe0e4995cb337aa0ecfc8',1,'grpc::ClientReaderWriterInterface::WritesDone()'],['../classgrpc_1_1_client_reader_writer.html#a5ed775777711d64b848f31260aef2898',1,'grpc::ClientReaderWriter::WritesDone()'],['../classgrpc_1_1_client_async_writer_interface.html#a488d42d85f8e34902401e013572ff822',1,'grpc::ClientAsyncWriterInterface::WritesDone()'],['../classgrpc_1_1_client_async_writer.html#af9fbf77049c3e5402913c0edeccf3d47',1,'grpc::ClientAsyncWriter::WritesDone()'],['../classgrpc_1_1_client_async_reader_writer_interface.html#a878193880df68ab969b697f1fcd7dbc3',1,'grpc::ClientAsyncReaderWriterInterface::WritesDone()'],['../classgrpc_1_1_client_async_reader_writer.html#ae431aa00a64f2685b60ec853334e6637',1,'grpc::ClientAsyncReaderWriter::WritesDone()']]] +]; diff --git a/doc/ref/c++/html/search/all_15.html b/doc/ref/c++/html/search/all_15.html new file mode 100644 index 0000000000..d3b5274ba7 --- /dev/null +++ b/doc/ref/c++/html/search/all_15.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++/html/search/all_15.js b/doc/ref/c++/html/search/all_15.js new file mode 100644 index 0000000000..8cdae6f76f --- /dev/null +++ b/doc/ref/c++/html/search/all_15.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['zerocopyinputstream',['ZeroCopyInputStream',['../namespacegrpc_1_1protobuf_1_1io.html#ae16bb38d6b730de308f0be4eb43931b4',1,'grpc::protobuf::io']]], + ['zerocopyoutputstream',['ZeroCopyOutputStream',['../namespacegrpc_1_1protobuf_1_1io.html#aafcf83341d287d00418952374bc82ce1',1,'grpc::protobuf::io']]] +]; diff --git a/doc/ref/c++/html/search/all_16.html b/doc/ref/c++/html/search/all_16.html new file mode 100644 index 0000000000..b4e3666ffb --- /dev/null +++ b/doc/ref/c++/html/search/all_16.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++/html/search/all_16.js b/doc/ref/c++/html/search/all_16.js new file mode 100644 index 0000000000..b68eeabcfc --- /dev/null +++ b/doc/ref/c++/html/search/all_16.js @@ -0,0 +1,37 @@ +var searchData= +[ + ['_7easynchronousservice',['~AsynchronousService',['../classgrpc_1_1_asynchronous_service.html#a0f1526b3617c6b69d4774194acc6aa00',1,'grpc::AsynchronousService']]], + ['_7easyncreaderinterface',['~AsyncReaderInterface',['../classgrpc_1_1_async_reader_interface.html#ac7845d2df90fb380008aadb7f5f2f379',1,'grpc::AsyncReaderInterface']]], + ['_7easyncwriterinterface',['~AsyncWriterInterface',['../classgrpc_1_1_async_writer_interface.html#a94cc9e4ed13c8fe4a1d883d465477ddd',1,'grpc::AsyncWriterInterface']]], + ['_7eauthcontext',['~AuthContext',['../classgrpc_1_1_auth_context.html#a3784c5f4eeab56a8524da29981548464',1,'grpc::AuthContext']]], + ['_7eauthpropertyiterator',['~AuthPropertyIterator',['../classgrpc_1_1_auth_property_iterator.html#a91a3a2ce5085a948aac11d7371c13b49',1,'grpc::AuthPropertyIterator']]], + ['_7ebytebuffer',['~ByteBuffer',['../classgrpc_1_1_byte_buffer.html#aeb5dd0045ed262de06481465326bd64a',1,'grpc::ByteBuffer']]], + ['_7ecallhook',['~CallHook',['../classgrpc_1_1_call_hook.html#a4aa1cf199f80f6475c6da0ad679c5d9d',1,'grpc::CallHook']]], + ['_7echannelarguments',['~ChannelArguments',['../classgrpc_1_1_channel_arguments.html#a8058adf243855c3a44030c23ccec05ad',1,'grpc::ChannelArguments']]], + ['_7echannelinterface',['~ChannelInterface',['../classgrpc_1_1_channel_interface.html#a3f5145d4778aa952540dc9983cefe13f',1,'grpc::ChannelInterface']]], + ['_7eclientasyncresponsereaderinterface',['~ClientAsyncResponseReaderInterface',['../classgrpc_1_1_client_async_response_reader_interface.html#aa97dc1ab6a7160a489d2e555102bf5a0',1,'grpc::ClientAsyncResponseReaderInterface']]], + ['_7eclientasyncstreaminginterface',['~ClientAsyncStreamingInterface',['../classgrpc_1_1_client_async_streaming_interface.html#a103c33e82dbf1715749886c4249f3f28',1,'grpc::ClientAsyncStreamingInterface']]], + ['_7eclientcontext',['~ClientContext',['../classgrpc_1_1_client_context.html#aeb77ea760faf8f96e775812806c0a3d9',1,'grpc::ClientContext']]], + ['_7eclientstreaminginterface',['~ClientStreamingInterface',['../classgrpc_1_1_client_streaming_interface.html#a312c9454c0f950e1c75b5c802bcbb00e',1,'grpc::ClientStreamingInterface']]], + ['_7ecompletionqueue',['~CompletionQueue',['../classgrpc_1_1_completion_queue.html#aa0534391b20562e7e4cdc12daf0e36b0',1,'grpc::CompletionQueue']]], + ['_7ecompletionqueuetag',['~CompletionQueueTag',['../classgrpc_1_1_completion_queue_tag.html#a2cbf0212ed795c79f98c3421ed0cb4ab',1,'grpc::CompletionQueueTag']]], + ['_7econdition_5fvariable',['~condition_variable',['../classgrpc_1_1condition__variable.html#ab96cbd3448680ce017794565847181ca',1,'grpc::condition_variable']]], + ['_7ecredentials',['~Credentials',['../classgrpc_1_1_credentials.html#af4e8a65a6cee2b847e11134671c213f2',1,'grpc::Credentials']]], + ['_7edynamicthreadpool',['~DynamicThreadPool',['../classgrpc_1_1_dynamic_thread_pool.html#a9a81f1b15a357a8ca6cb3d7fef7a5456',1,'grpc::DynamicThreadPool']]], + ['_7efixedsizethreadpool',['~FixedSizeThreadPool',['../classgrpc_1_1_fixed_size_thread_pool.html#aa31a8326a490c77e0e04b6df7ac3d7f8',1,'grpc::FixedSizeThreadPool']]], + ['_7egrpclibrary',['~GrpcLibrary',['../classgrpc_1_1_grpc_library.html#adadb2fbc794175c8c4578bf283b009a8',1,'grpc::GrpcLibrary']]], + ['_7einternalstub',['~InternalStub',['../classgrpc_1_1_internal_stub.html#a43127d606386366f5935c08a21da059e',1,'grpc::InternalStub']]], + ['_7elock_5fguard',['~lock_guard',['../classgrpc_1_1lock__guard.html#ac99f7ed1e7b1e177a20b23f230eaf1c2',1,'grpc::lock_guard']]], + ['_7emethodhandler',['~MethodHandler',['../classgrpc_1_1_method_handler.html#afc792a35059d6c46b78d7d9410f9a4b0',1,'grpc::MethodHandler']]], + ['_7emutex',['~mutex',['../classgrpc_1_1mutex.html#a318a9bdff2281779aaea87344d6a3e5a',1,'grpc::mutex']]], + ['_7ereaderinterface',['~ReaderInterface',['../classgrpc_1_1_reader_interface.html#a1fbd3d6e86e2f97e5444f29b0af0a9d5',1,'grpc::ReaderInterface']]], + ['_7eserver',['~Server',['../classgrpc_1_1_server.html#aa13591ff1bb2c5d871778189b391feb2',1,'grpc::Server']]], + ['_7eserverasyncstreaminginterface',['~ServerAsyncStreamingInterface',['../classgrpc_1_1_server_async_streaming_interface.html#af7c2bc176a6658e86a74a1cacd53d3bc',1,'grpc::ServerAsyncStreamingInterface']]], + ['_7eservercontext',['~ServerContext',['../classgrpc_1_1_server_context.html#afd37847b1bdba2f82e472fed6f31cea6',1,'grpc::ServerContext']]], + ['_7eservercredentials',['~ServerCredentials',['../classgrpc_1_1_server_credentials.html#aa5df8a7a8f509a96f23ef8943a0306ff',1,'grpc::ServerCredentials']]], + ['_7eslice',['~Slice',['../classgrpc_1_1_slice.html#a1f89af608ad9e5bbc2870d4ee7140c94',1,'grpc::Slice']]], + ['_7esynchronousservice',['~SynchronousService',['../classgrpc_1_1_synchronous_service.html#a7799f247e0928ff36e32ead579585a05',1,'grpc::SynchronousService']]], + ['_7ethread',['~thread',['../classgrpc_1_1thread.html#a821416c0e9319e93ae8b8e5cdaa9f52f',1,'grpc::thread']]], + ['_7ethreadpoolinterface',['~ThreadPoolInterface',['../classgrpc_1_1_thread_pool_interface.html#a74a3380787d9be6e261c2849cdc84538',1,'grpc::ThreadPoolInterface']]], + ['_7ewriterinterface',['~WriterInterface',['../classgrpc_1_1_writer_interface.html#a447d71736fb6e8c6bd21287ecc3a9f75',1,'grpc::WriterInterface']]] +]; diff --git a/doc/ref/c++/html/search/all_2.html b/doc/ref/c++/html/search/all_2.html new file mode 100644 index 0000000000..95ded1222d --- /dev/null +++ b/doc/ref/c++/html/search/all_2.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++/html/search/all_2.js b/doc/ref/c++/html/search/all_2.js new file mode 100644 index 0000000000..a12992d120 --- /dev/null +++ b/doc/ref/c++/html/search/all_2.js @@ -0,0 +1,12 @@ +var searchData= +[ + ['begin',['begin',['../classgrpc_1_1_auth_context.html#a4a4a9e18e05e1a06cf25b8a77edd8c89',1,'grpc::AuthContext::begin()'],['../classgrpc_1_1_slice.html#ad7b0a21bd37c2ed9899c369777cc9fb8',1,'grpc::Slice::begin()']]], + ['bidi_5fstreaming',['BIDI_STREAMING',['../classgrpc_1_1_rpc_method.html#ace95416ed07409e43059a0dfe9e23688ae482ab481fdc406d88adcdd088269894',1,'grpc::RpcMethod']]], + ['bidistreaminghandler',['BidiStreamingHandler',['../classgrpc_1_1_bidi_streaming_handler.html',1,'grpc']]], + ['bidistreaminghandler',['BidiStreamingHandler',['../classgrpc_1_1_completion_queue.html#a9fcf1462b4ea3c6a37e54076aafb93e1',1,'grpc::CompletionQueue::BidiStreamingHandler()'],['../classgrpc_1_1_server_context.html#a9fcf1462b4ea3c6a37e54076aafb93e1',1,'grpc::ServerContext::BidiStreamingHandler()'],['../classgrpc_1_1_bidi_streaming_handler.html#a341a08e8b6bab7dfd8debe0ed0178b34',1,'grpc::BidiStreamingHandler::BidiStreamingHandler()']]], + ['blockingunarycall',['BlockingUnaryCall',['../classgrpc_1_1_client_context.html#a4aac0a120f3498d1151460ef89ce8446',1,'grpc::ClientContext::BlockingUnaryCall()'],['../classgrpc_1_1_completion_queue.html#a4aac0a120f3498d1151460ef89ce8446',1,'grpc::CompletionQueue::BlockingUnaryCall()'],['../namespacegrpc.html#a35d5687ea2da09f9376f2caa42a1db1b',1,'grpc::BlockingUnaryCall()']]], + ['buildandstart',['BuildAndStart',['../classgrpc_1_1_server_builder.html#af284cd39b185043e8e92405c1ae0f310',1,'grpc::ServerBuilder']]], + ['byte_5fbuffer_2eh',['byte_buffer.h',['../byte__buffer_8h.html',1,'']]], + ['bytebuffer',['ByteBuffer',['../classgrpc_1_1_byte_buffer.html',1,'grpc']]], + ['bytebuffer',['ByteBuffer',['../classgrpc_1_1_slice.html#ac6c83f28f4b17ae317094a794e92e99e',1,'grpc::Slice::ByteBuffer()'],['../classgrpc_1_1_byte_buffer.html#aa3037355cbd37dce99c97e5c3700a76b',1,'grpc::ByteBuffer::ByteBuffer()'],['../classgrpc_1_1_byte_buffer.html#aa1f69f81c3cb03c61b544a0222e83004',1,'grpc::ByteBuffer::ByteBuffer(const Slice *slices, size_t nslices)']]] +]; diff --git a/doc/ref/c++/html/search/all_3.html b/doc/ref/c++/html/search/all_3.html new file mode 100644 index 0000000000..4d312d03dd --- /dev/null +++ b/doc/ref/c++/html/search/all_3.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++/html/search/all_3.js b/doc/ref/c++/html/search/all_3.js new file mode 100644 index 0000000000..c32257f9e1 --- /dev/null +++ b/doc/ref/c++/html/search/all_3.js @@ -0,0 +1,114 @@ +var searchData= +[ + ['call',['Call',['../classgrpc_1_1_call.html',1,'grpc']]], + ['call',['Call',['../classgrpc_1_1_generic_stub.html#a29d999cf06468cfe12d3cdc912cb0afb',1,'grpc::GenericStub::Call()'],['../classgrpc_1_1_call.html#ac588bdaf930ff18cab36271a686b9a0a',1,'grpc::Call::Call(grpc_call *call, CallHook *call_hook_, CompletionQueue *cq)'],['../classgrpc_1_1_call.html#a82dc146935bbbb535d6c4c9fb9887373',1,'grpc::Call::Call(grpc_call *call, CallHook *call_hook_, CompletionQueue *cq, int max_message_size)'],['../structgrpc_1_1_method_handler_1_1_handler_parameter.html#aebd5b34a7b5bc6e04ef5ab5df42e7e72',1,'grpc::MethodHandler::HandlerParameter::call()'],['../classgrpc_1_1_call.html#a38a1f110afa06bdfd666d00dfa281a38',1,'grpc::Call::call()']]], + ['call_2eh',['call.h',['../call_8h.html',1,'']]], + ['callhook',['CallHook',['../classgrpc_1_1_call_hook.html',1,'grpc']]], + ['callnoop',['CallNoOp',['../classgrpc_1_1_call_no_op.html',1,'grpc']]], + ['callnoop_3c_202_20_3e',['CallNoOp< 2 >',['../classgrpc_1_1_call_no_op.html',1,'grpc']]], + ['callnoop_3c_203_20_3e',['CallNoOp< 3 >',['../classgrpc_1_1_call_no_op.html',1,'grpc']]], + ['callnoop_3c_204_20_3e',['CallNoOp< 4 >',['../classgrpc_1_1_call_no_op.html',1,'grpc']]], + ['callnoop_3c_205_20_3e',['CallNoOp< 5 >',['../classgrpc_1_1_call_no_op.html',1,'grpc']]], + ['callnoop_3c_206_20_3e',['CallNoOp< 6 >',['../classgrpc_1_1_call_no_op.html',1,'grpc']]], + ['callopclientrecvstatus',['CallOpClientRecvStatus',['../classgrpc_1_1_client_context.html#aa7c3f046b48d55b5a82cbee3fd84faa2',1,'grpc::ClientContext::CallOpClientRecvStatus()'],['../classgrpc_1_1_call_op_client_recv_status.html#a86b01d095cec90f64a2fbd02da9be7de',1,'grpc::CallOpClientRecvStatus::CallOpClientRecvStatus()']]], + ['callopclientrecvstatus',['CallOpClientRecvStatus',['../classgrpc_1_1_call_op_client_recv_status.html',1,'grpc']]], + ['callopclientsendclose',['CallOpClientSendClose',['../classgrpc_1_1_call_op_client_send_close.html#a1601bc705c51e46133f2ee97921c712e',1,'grpc::CallOpClientSendClose']]], + ['callopclientsendclose',['CallOpClientSendClose',['../classgrpc_1_1_call_op_client_send_close.html',1,'grpc']]], + ['callopgenericrecvmessage',['CallOpGenericRecvMessage',['../classgrpc_1_1_call_op_generic_recv_message.html#ae40448871744eb8a25b42003e2543eda',1,'grpc::CallOpGenericRecvMessage']]], + ['callopgenericrecvmessage',['CallOpGenericRecvMessage',['../classgrpc_1_1_call_op_generic_recv_message.html',1,'grpc']]], + ['calloprecvinitialmetadata',['CallOpRecvInitialMetadata',['../classgrpc_1_1_client_context.html#a94ad025954d211da7d27efa58cb2ea91',1,'grpc::ClientContext::CallOpRecvInitialMetadata()'],['../classgrpc_1_1_call_op_recv_initial_metadata.html#a6c99b156711d0dc093a8578b45901cd8',1,'grpc::CallOpRecvInitialMetadata::CallOpRecvInitialMetadata()']]], + ['calloprecvinitialmetadata',['CallOpRecvInitialMetadata',['../classgrpc_1_1_call_op_recv_initial_metadata.html',1,'grpc']]], + ['calloprecvmessage',['CallOpRecvMessage',['../classgrpc_1_1_call_op_recv_message.html#a5f2ead0399f19a906b82f87a82f24253',1,'grpc::CallOpRecvMessage']]], + ['calloprecvmessage',['CallOpRecvMessage',['../classgrpc_1_1_call_op_recv_message.html',1,'grpc']]], + ['callopsendinitialmetadata',['CallOpSendInitialMetadata',['../classgrpc_1_1_call_op_send_initial_metadata.html#a1cf749118f03392e186d251c48200dd8',1,'grpc::CallOpSendInitialMetadata']]], + ['callopsendinitialmetadata',['CallOpSendInitialMetadata',['../classgrpc_1_1_call_op_send_initial_metadata.html',1,'grpc']]], + ['callopsendmessage',['CallOpSendMessage',['../classgrpc_1_1_call_op_send_message.html#a049e460b94bad04d19e3fbe70ba43291',1,'grpc::CallOpSendMessage']]], + ['callopsendmessage',['CallOpSendMessage',['../classgrpc_1_1_call_op_send_message.html',1,'grpc']]], + ['callopserversendstatus',['CallOpServerSendStatus',['../classgrpc_1_1_call_op_server_send_status.html',1,'grpc']]], + ['callopserversendstatus',['CallOpServerSendStatus',['../classgrpc_1_1_call_op_server_send_status.html#ab7a24493e9b8c6f2cc122cf3bd7796e4',1,'grpc::CallOpServerSendStatus']]], + ['callopset',['CallOpSet',['../classgrpc_1_1_call_op_set.html',1,'grpc']]], + ['callopset',['CallOpSet',['../classgrpc_1_1_call_op_set.html#ae06e1a2d051b6b404eec88c4be303bcf',1,'grpc::CallOpSet']]], + ['callopset_3c_20grpc_3a_3acallopclientsendclose_20_3e',['CallOpSet< grpc::CallOpClientSendClose >',['../classgrpc_1_1_call_op_set.html',1,'grpc']]], + ['callopset_3c_20grpc_3a_3acallopgenericrecvmessage_2c_20grpc_3a_3acallopclientrecvstatus_20_3e',['CallOpSet< grpc::CallOpGenericRecvMessage, grpc::CallOpClientRecvStatus >',['../classgrpc_1_1_call_op_set.html',1,'grpc']]], + ['callopset_3c_20grpc_3a_3acalloprecvinitialmetadata_20_3e',['CallOpSet< grpc::CallOpRecvInitialMetadata >',['../classgrpc_1_1_call_op_set.html',1,'grpc']]], + ['callopset_3c_20grpc_3a_3acalloprecvinitialmetadata_2c_20grpc_3a_3acallopclientrecvstatus_20_3e',['CallOpSet< grpc::CallOpRecvInitialMetadata, grpc::CallOpClientRecvStatus >',['../classgrpc_1_1_call_op_set.html',1,'grpc']]], + ['callopset_3c_20grpc_3a_3acalloprecvinitialmetadata_2c_20grpc_3a_3acallopgenericrecvmessage_2c_20grpc_3a_3acallopclientrecvstatus_20_3e',['CallOpSet< grpc::CallOpRecvInitialMetadata, grpc::CallOpGenericRecvMessage, grpc::CallOpClientRecvStatus >',['../classgrpc_1_1_call_op_set.html',1,'grpc']]], + ['callopset_3c_20grpc_3a_3acalloprecvinitialmetadata_2c_20grpc_3a_3acalloprecvmessage_3c_20r_20_3e_20_3e',['CallOpSet< grpc::CallOpRecvInitialMetadata, grpc::CallOpRecvMessage< R > >',['../classgrpc_1_1_call_op_set.html',1,'grpc']]], + ['callopset_3c_20grpc_3a_3acalloprecvinitialmetadata_2c_20grpc_3a_3acalloprecvmessage_3c_20r_20_3e_2c_20grpc_3a_3acallopclientrecvstatus_20_3e',['CallOpSet< grpc::CallOpRecvInitialMetadata, grpc::CallOpRecvMessage< R >, grpc::CallOpClientRecvStatus >',['../classgrpc_1_1_call_op_set.html',1,'grpc']]], + ['callopset_3c_20grpc_3a_3acalloprecvmessage_3c_20r_20_3e_20_3e',['CallOpSet< grpc::CallOpRecvMessage< R > >',['../classgrpc_1_1_call_op_set.html',1,'grpc']]], + ['callopset_3c_20grpc_3a_3acallopsendinitialmetadata_20_3e',['CallOpSet< grpc::CallOpSendInitialMetadata >',['../classgrpc_1_1_call_op_set.html',1,'grpc']]], + ['callopset_3c_20grpc_3a_3acallopsendinitialmetadata_2c_20grpc_3a_3acallopsendmessage_20_3e',['CallOpSet< grpc::CallOpSendInitialMetadata, grpc::CallOpSendMessage >',['../classgrpc_1_1_call_op_set.html',1,'grpc']]], + ['callopset_3c_20grpc_3a_3acallopsendinitialmetadata_2c_20grpc_3a_3acallopsendmessage_2c_20grpc_3a_3acallopclientsendclose_20_3e',['CallOpSet< grpc::CallOpSendInitialMetadata, grpc::CallOpSendMessage, grpc::CallOpClientSendClose >',['../classgrpc_1_1_call_op_set.html',1,'grpc']]], + ['callopset_3c_20grpc_3a_3acallopsendinitialmetadata_2c_20grpc_3a_3acallopsendmessage_2c_20grpc_3a_3acallopclientsendclose_2c_20callnoop_3c_204_20_3e_2c_20callnoop_3c_205_20_3e_2c_20callnoop_3c_206_20_3e_20_3e',['CallOpSet< grpc::CallOpSendInitialMetadata, grpc::CallOpSendMessage, grpc::CallOpClientSendClose, CallNoOp< 4 >, CallNoOp< 5 >, CallNoOp< 6 > >',['../classgrpc_1_1_call_op_set.html',1,'grpc']]], + ['callopset_3c_20grpc_3a_3acallopsendinitialmetadata_2c_20grpc_3a_3acallopsendmessage_2c_20grpc_3a_3acallopserversendstatus_20_3e',['CallOpSet< grpc::CallOpSendInitialMetadata, grpc::CallOpSendMessage, grpc::CallOpServerSendStatus >',['../classgrpc_1_1_call_op_set.html',1,'grpc']]], + ['callopset_3c_20grpc_3a_3acallopsendinitialmetadata_2c_20grpc_3a_3acallopserversendstatus_20_3e',['CallOpSet< grpc::CallOpSendInitialMetadata, grpc::CallOpServerSendStatus >',['../classgrpc_1_1_call_op_set.html',1,'grpc']]], + ['callopset_3c_20grpc_3a_3acallopsendmessage_20_3e',['CallOpSet< grpc::CallOpSendMessage >',['../classgrpc_1_1_call_op_set.html',1,'grpc']]], + ['callopsetinterface',['CallOpSetInterface',['../classgrpc_1_1_call_op_set_interface.html',1,'grpc']]], + ['callopsetinterface',['CallOpSetInterface',['../classgrpc_1_1_call_op_set_interface.html#ad331a10c0fd65f5a9db680e95682f000',1,'grpc::CallOpSetInterface']]], + ['cancelled',['CANCELLED',['../classgrpc_1_1_status.html#a9994ffe95a0495915d82481c2ec594ab',1,'grpc::Status::CANCELLED()'],['../namespacegrpc.html#aff1730578c90160528f6a8d67ef5c43bac3ef309c0b3f1c8a01265fa1a39ae4b2',1,'grpc::CANCELLED()']]], + ['census_5fcontext',['census_context',['../classgrpc_1_1_client_context.html#a958acd964fe9feb32bca775c96ad5117',1,'grpc::ClientContext::census_context()'],['../classgrpc_1_1_server_context.html#af3adc0c2dc243915f6167c6f80d2882e',1,'grpc::ServerContext::census_context()']]], + ['cert_5fchain',['cert_chain',['../structgrpc_1_1_ssl_server_credentials_options_1_1_pem_key_cert_pair.html#ad58d2824d15cc6a1d646b8bef0b8352e',1,'grpc::SslServerCredentialsOptions::PemKeyCertPair']]], + ['channel',['channel',['../classgrpc_1_1_internal_stub.html#ae314e47d92a7aed9779724d3a81c2729',1,'grpc::InternalStub::channel()'],['../classgrpc_1_1_client_context.html#ac47342240f21ce36f47485e4ab41a10d',1,'grpc::ClientContext::Channel()']]], + ['channel_5farguments_2eh',['channel_arguments.h',['../channel__arguments_8h.html',1,'']]], + ['channel_5finterface_2eh',['channel_interface.h',['../channel__interface_8h.html',1,'']]], + ['channel_5ftag',['channel_tag',['../classgrpc_1_1_rpc_method.html#a59527e676d274583ec6961fb3f4356b3',1,'grpc::RpcMethod']]], + ['channelarguments',['ChannelArguments',['../classgrpc_1_1_channel_arguments.html',1,'grpc']]], + ['channelarguments',['ChannelArguments',['../classgrpc_1_1_channel_arguments.html#aecabf1ea1c78a3202544571cf857e8eb',1,'grpc::ChannelArguments::ChannelArguments()'],['../classgrpc_1_1_channel_arguments.html#ade11dfb5cac0e1da5e9ed5e86c18c4fe',1,'grpc::ChannelArguments::ChannelArguments(const ChannelArguments &other)']]], + ['channelinterface',['ChannelInterface',['../classgrpc_1_1_channel_interface.html',1,'grpc']]], + ['clear',['Clear',['../classgrpc_1_1_byte_buffer.html#a185b593e5c7d2b888fa377989a6bae80',1,'grpc::ByteBuffer::Clear()'],['../classgrpc_1_1_write_options.html#a9fc0e51224292b15dcfefec342fa0e02',1,'grpc::WriteOptions::Clear()']]], + ['clear_5fbuffer_5fhint',['clear_buffer_hint',['../classgrpc_1_1_write_options.html#a897ba94e51b1f6ead41ade8f92efa89f',1,'grpc::WriteOptions']]], + ['clear_5fno_5fcompression',['clear_no_compression',['../classgrpc_1_1_write_options.html#a7bc26dd151ed56bc49329ca895fe15e7',1,'grpc::WriteOptions']]], + ['client_5fcontext_2eh',['client_context.h',['../client__context_8h.html',1,'']]], + ['client_5fmetadata',['client_metadata',['../classgrpc_1_1_server_context.html#a82f70d1b5b56ca2a4a8a2f5bad6d8ca1',1,'grpc::ServerContext']]], + ['client_5fstreaming',['CLIENT_STREAMING',['../classgrpc_1_1_rpc_method.html#ace95416ed07409e43059a0dfe9e23688a93445bd936c37c2f089f8a9075ebcb2a',1,'grpc::RpcMethod']]], + ['client_5funary_5fcall_2eh',['client_unary_call.h',['../client__unary__call_8h.html',1,'']]], + ['clientasyncreader',['ClientAsyncReader',['../classgrpc_1_1_client_async_reader.html',1,'grpc']]], + ['clientasyncreader',['ClientAsyncReader',['../classgrpc_1_1_client_async_reader.html#aa14e3bc04d9852009f8b3094ce0d3ed4',1,'grpc::ClientAsyncReader']]], + ['clientasyncreaderinterface',['ClientAsyncReaderInterface',['../classgrpc_1_1_client_async_reader_interface.html',1,'grpc']]], + ['clientasyncreaderwriter',['ClientAsyncReaderWriter',['../classgrpc_1_1_client_async_reader_writer.html',1,'grpc']]], + ['clientasyncreaderwriter',['ClientAsyncReaderWriter',['../classgrpc_1_1_client_async_reader_writer.html#ae0595a950e2917399bbcef7e70e06066',1,'grpc::ClientAsyncReaderWriter']]], + ['clientasyncreaderwriterinterface',['ClientAsyncReaderWriterInterface',['../classgrpc_1_1_client_async_reader_writer_interface.html',1,'grpc']]], + ['clientasyncresponsereader',['ClientAsyncResponseReader',['../classgrpc_1_1_client_async_response_reader.html',1,'grpc']]], + ['clientasyncresponsereader',['ClientAsyncResponseReader',['../classgrpc_1_1_client_async_response_reader.html#a4868e0f82053062c95fea7bd197acadf',1,'grpc::ClientAsyncResponseReader']]], + ['clientasyncresponsereaderinterface',['ClientAsyncResponseReaderInterface',['../classgrpc_1_1_client_async_response_reader_interface.html',1,'grpc']]], + ['clientasyncstreaminginterface',['ClientAsyncStreamingInterface',['../classgrpc_1_1_client_async_streaming_interface.html',1,'grpc']]], + ['clientasyncwriter',['ClientAsyncWriter',['../classgrpc_1_1_client_async_writer.html',1,'grpc']]], + ['clientasyncwriter',['ClientAsyncWriter',['../classgrpc_1_1_client_async_writer.html#ad4903b1736b423c076bac8e23db345f6',1,'grpc::ClientAsyncWriter']]], + ['clientasyncwriterinterface',['ClientAsyncWriterInterface',['../classgrpc_1_1_client_async_writer_interface.html',1,'grpc']]], + ['clientcontext',['ClientContext',['../classgrpc_1_1_client_context.html#acabbcf3c160a0628da8a9274b10f54b9',1,'grpc::ClientContext']]], + ['clientcontext',['ClientContext',['../classgrpc_1_1_client_context.html',1,'grpc']]], + ['clientreader',['ClientReader',['../classgrpc_1_1_client_reader.html',1,'grpc']]], + ['clientreader',['ClientReader',['../classgrpc_1_1_client_reader.html#abf0d84e441443c364b29b206fd7d0c56',1,'grpc::ClientReader']]], + ['clientreaderinterface',['ClientReaderInterface',['../classgrpc_1_1_client_reader_interface.html',1,'grpc']]], + ['clientreaderwriter',['ClientReaderWriter',['../classgrpc_1_1_client_reader_writer.html#a787e8b30520c9b32ef877bf1d3298dcc',1,'grpc::ClientReaderWriter']]], + ['clientreaderwriter',['ClientReaderWriter',['../classgrpc_1_1_client_reader_writer.html',1,'grpc']]], + ['clientreaderwriterinterface',['ClientReaderWriterInterface',['../classgrpc_1_1_client_reader_writer_interface.html',1,'grpc']]], + ['clientrecvstatus',['ClientRecvStatus',['../classgrpc_1_1_call_op_client_recv_status.html#aa5af560ab0bb741197553bbb2538b813',1,'grpc::CallOpClientRecvStatus']]], + ['clientsendclose',['ClientSendClose',['../classgrpc_1_1_call_op_client_send_close.html#a43cd5b76bc82ccd2292e318bcc2a34cc',1,'grpc::CallOpClientSendClose']]], + ['clientstreaminghandler',['ClientStreamingHandler',['../classgrpc_1_1_client_streaming_handler.html',1,'grpc']]], + ['clientstreaminghandler',['ClientStreamingHandler',['../classgrpc_1_1_completion_queue.html#ae11583f8aab976055b1feae895d7e12a',1,'grpc::CompletionQueue::ClientStreamingHandler()'],['../classgrpc_1_1_server_context.html#ae11583f8aab976055b1feae895d7e12a',1,'grpc::ServerContext::ClientStreamingHandler()'],['../classgrpc_1_1_client_streaming_handler.html#a193efc3ca1c668dddacd42e25c4956ff',1,'grpc::ClientStreamingHandler::ClientStreamingHandler()']]], + ['clientstreaminginterface',['ClientStreamingInterface',['../classgrpc_1_1_client_streaming_interface.html',1,'grpc']]], + ['clientwriter',['ClientWriter',['../classgrpc_1_1_client_writer.html#aed7d44896e0630a13409803459bd3cbe',1,'grpc::ClientWriter']]], + ['clientwriter',['ClientWriter',['../classgrpc_1_1_client_writer.html',1,'grpc']]], + ['clientwriterinterface',['ClientWriterInterface',['../classgrpc_1_1_client_writer_interface.html',1,'grpc']]], + ['codedinputstream',['CodedInputStream',['../namespacegrpc_1_1protobuf_1_1io.html#a8be5a5d13d5471daee11dd8203973bf3',1,'grpc::protobuf::io']]], + ['completion_5fqueue_2eh',['completion_queue.h',['../completion__queue_8h.html',1,'']]], + ['completionqueue',['CompletionQueue',['../classgrpc_1_1_completion_queue.html#aea987a15a475923e949934e481fe3566',1,'grpc::CompletionQueue::CompletionQueue()'],['../classgrpc_1_1_completion_queue.html#a081a954044215a7ca8554da4220fb369',1,'grpc::CompletionQueue::CompletionQueue(grpc_completion_queue *take)']]], + ['completionqueue',['CompletionQueue',['../classgrpc_1_1_completion_queue.html',1,'grpc']]], + ['completionqueuetag',['CompletionQueueTag',['../classgrpc_1_1_completion_queue_tag.html',1,'grpc']]], + ['compositecredentials',['CompositeCredentials',['../classgrpc_1_1_credentials.html#a319db47fafb1868e66fd34b8bc084f3f',1,'grpc::Credentials::CompositeCredentials()'],['../namespacegrpc.html#a0ffe059f3158d41d0e268fd375a0815c',1,'grpc::CompositeCredentials()']]], + ['compression_5falgorithm',['compression_algorithm',['../classgrpc_1_1_client_context.html#a91691d52182f45043ce9698424d26a56',1,'grpc::ClientContext::compression_algorithm()'],['../classgrpc_1_1_server_context.html#a825f46891cc7db6c896add746eec8171',1,'grpc::ServerContext::compression_algorithm()']]], + ['compression_5flevel',['compression_level',['../classgrpc_1_1_server_context.html#a401d5c77fde5cccb13155ccd668787e8',1,'grpc::ServerContext']]], + ['computeenginecredentials',['ComputeEngineCredentials',['../namespacegrpc.html#a485ca55548022e260806c32d74095c8c',1,'grpc']]], + ['condition_5fvariable',['condition_variable',['../classgrpc_1_1condition__variable.html',1,'grpc']]], + ['condition_5fvariable',['condition_variable',['../classgrpc_1_1mutex.html#a89c9b6aa2256fa5efd92a333d96381d4',1,'grpc::mutex::condition_variable()'],['../classgrpc_1_1lock__guard.html#a89c9b6aa2256fa5efd92a333d96381d4',1,'grpc::lock_guard::condition_variable()'],['../classgrpc_1_1condition__variable.html#ac254c7b505f7b6e3c5c244f971aef611',1,'grpc::condition_variable::condition_variable()']]], + ['config_2eh',['config.h',['../config_8h.html',1,'']]], + ['config_5fprotobuf_2eh',['config_protobuf.h',['../config__protobuf_8h.html',1,'']]], + ['cq',['cq',['../classgrpc_1_1_completion_queue.html#a999c317e716d1e74aca2eb050912302b',1,'grpc::CompletionQueue::cq()'],['../classgrpc_1_1_call.html#a5a7336b857c427aff2a210b89bb4ac14',1,'grpc::Call::cq()']]], + ['create_5fchannel_2eh',['create_channel.h',['../create__channel_8h.html',1,'']]], + ['createcall',['CreateCall',['../classgrpc_1_1_channel_interface.html#a9fd365d30961e8e40805a3c8faf276d0',1,'grpc::ChannelInterface']]], + ['createchannel',['CreateChannel',['../classgrpc_1_1_credentials.html#a6cd496f9dd7e19b5bdbafaa41036fe69',1,'grpc::Credentials::CreateChannel()'],['../namespacegrpc.html#ad56350897572898b62a33e384c5e4a59',1,'grpc::CreateChannel()']]], + ['createdefaultthreadpool',['CreateDefaultThreadPool',['../namespacegrpc.html#ac7e5a6b4adf7c63f444606454138a334',1,'grpc']]], + ['credentials',['Credentials',['../classgrpc_1_1_credentials.html',1,'grpc']]], + ['credentials_2eh',['credentials.h',['../credentials_8h.html',1,'']]] +]; diff --git a/doc/ref/c++/html/search/all_4.html b/doc/ref/c++/html/search/all_4.html new file mode 100644 index 0000000000..d72a9104cd --- /dev/null +++ b/doc/ref/c++/html/search/all_4.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++/html/search/all_4.js b/doc/ref/c++/html/search/all_4.js new file mode 100644 index 0000000000..fa18da1453 --- /dev/null +++ b/doc/ref/c++/html/search/all_4.js @@ -0,0 +1,16 @@ +var searchData= +[ + ['data_5floss',['DATA_LOSS',['../namespacegrpc.html#aff1730578c90160528f6a8d67ef5c43bac956d5194137e0238de8544479133688',1,'grpc']]], + ['deadline',['deadline',['../classgrpc_1_1_client_context.html#af29e0113f661e1fbbecc20c268a3be6e',1,'grpc::ClientContext::deadline()'],['../classgrpc_1_1_server_context.html#a9e43d1edb334addb8bf672efcfe03052',1,'grpc::ServerContext::deadline()']]], + ['deadline_5fexceeded',['DEADLINE_EXCEEDED',['../namespacegrpc.html#aff1730578c90160528f6a8d67ef5c43baed5a57c7db66fbdf1860e81edf716628',1,'grpc']]], + ['deserialize',['Deserialize',['../classgrpc_1_1_serialization_traits_3_01_byte_buffer_00_01void_01_4.html#ab84ad3da236c61aab17db403b48367f5',1,'grpc::SerializationTraits< ByteBuffer, void >::Deserialize()'],['../classgrpc_1_1_call_op_generic_recv_message_helper_1_1_deserialize_func.html#af2bc8b34d88cc5d355755ec94bf04bcb',1,'grpc::CallOpGenericRecvMessageHelper::DeserializeFunc::Deserialize()'],['../classgrpc_1_1_call_op_generic_recv_message_helper_1_1_deserialize_func_type.html#aff7b6d6d9e51e6d0bdb3a150bc5f99d4',1,'grpc::CallOpGenericRecvMessageHelper::DeserializeFuncType::Deserialize()'],['../classgrpc_1_1_serialization_traits_3_01_t_00_01typename_01std_1_1enable__if_3_01std_1_1is__base_42903f95c85f031c7724191271564901.html#a6a6966d3807ba3c7b3ccc79dca93b92a',1,'grpc::SerializationTraits< T, typename std::enable_if< std::is_base_of< grpc::protobuf::Message, T >::value >::type >::Deserialize()']]], + ['deserializefunc',['DeserializeFunc',['../classgrpc_1_1_call_op_generic_recv_message_helper_1_1_deserialize_func.html',1,'grpc::CallOpGenericRecvMessageHelper']]], + ['deserializefunctype',['DeserializeFuncType',['../classgrpc_1_1_call_op_generic_recv_message_helper_1_1_deserialize_func_type.html',1,'grpc::CallOpGenericRecvMessageHelper']]], + ['deserializefunctype',['DeserializeFuncType',['../classgrpc_1_1_call_op_generic_recv_message_helper_1_1_deserialize_func_type.html#ae14165824fb892eefb683da1405e0316',1,'grpc::CallOpGenericRecvMessageHelper::DeserializeFuncType']]], + ['deserializeproto',['DeserializeProto',['../namespacegrpc.html#a9124f8212366355212b2fefb8a6ccc1f',1,'grpc']]], + ['do_5fnot_5fuse',['DO_NOT_USE',['../namespacegrpc.html#aff1730578c90160528f6a8d67ef5c43ba7216941fd727fb92d71e10d85bfa5234',1,'grpc']]], + ['dump',['Dump',['../classgrpc_1_1_byte_buffer.html#a1b284d25c0c3c594c386800c548048f1',1,'grpc::ByteBuffer']]], + ['dynamic_5fthread_5fpool_2eh',['dynamic_thread_pool.h',['../dynamic__thread__pool_8h.html',1,'']]], + ['dynamicthreadpool',['DynamicThreadPool',['../classgrpc_1_1_dynamic_thread_pool.html#af4b6567a60ddfa8551dfbddab4cb7209',1,'grpc::DynamicThreadPool']]], + ['dynamicthreadpool',['DynamicThreadPool',['../classgrpc_1_1_dynamic_thread_pool.html',1,'grpc']]] +]; diff --git a/doc/ref/c++/html/search/all_5.html b/doc/ref/c++/html/search/all_5.html new file mode 100644 index 0000000000..99ef726704 --- /dev/null +++ b/doc/ref/c++/html/search/all_5.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++/html/search/all_5.js b/doc/ref/c++/html/search/all_5.js new file mode 100644 index 0000000000..c2ccb7f7e1 --- /dev/null +++ b/doc/ref/c++/html/search/all_5.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['end',['end',['../classgrpc_1_1_auth_context.html#a81d358b427e0f1096e148918cdeef991',1,'grpc::AuthContext::end()'],['../classgrpc_1_1_slice.html#a15f9576be1afa1048ed8963d50581b60',1,'grpc::Slice::end()']]], + ['error_5fcode',['error_code',['../classgrpc_1_1_status.html#a78b50cb074bcd9f1dd50e8f212f7e181',1,'grpc::Status']]], + ['error_5fmessage',['error_message',['../classgrpc_1_1_status.html#a87888a7acefced58302f89a295940f16',1,'grpc::Status']]] +]; diff --git a/doc/ref/c++/html/search/all_6.html b/doc/ref/c++/html/search/all_6.html new file mode 100644 index 0000000000..6133ab3af1 --- /dev/null +++ b/doc/ref/c++/html/search/all_6.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++/html/search/all_6.js b/doc/ref/c++/html/search/all_6.js new file mode 100644 index 0000000000..adc2592480 --- /dev/null +++ b/doc/ref/c++/html/search/all_6.js @@ -0,0 +1,17 @@ +var searchData= +[ + ['failed_5fprecondition',['FAILED_PRECONDITION',['../namespacegrpc.html#aff1730578c90160528f6a8d67ef5c43ba7f49e2cd3c20ab00710f61d7dbb88aa2',1,'grpc']]], + ['fillmetadataarray',['FillMetadataArray',['../namespacegrpc.html#a16ecfcd344f569a6fcfa2c42e3a43aca',1,'grpc']]], + ['fillmetadatamap',['FillMetadataMap',['../namespacegrpc.html#a00d2939a7b40a674459016f6148f372d',1,'grpc']]], + ['fillops',['FillOps',['../classgrpc_1_1_call_op_set_interface.html#ae0c95dfc28fc2a0add3e3bec1a703874',1,'grpc::CallOpSetInterface::FillOps()'],['../classgrpc_1_1_call_op_set.html#a886b55145cdad0994ec589b4f4c7df9c',1,'grpc::CallOpSet::FillOps()']]], + ['finalizeresult',['FinalizeResult',['../classgrpc_1_1_completion_queue_tag.html#af7b1abfcd9e506d118dfdcf29ce7fe8d',1,'grpc::CompletionQueueTag::FinalizeResult()'],['../classgrpc_1_1_call_op_set.html#a66575110fdb84b974182154a01464180',1,'grpc::CallOpSet::FinalizeResult()'],['../classgrpc_1_1_sneaky_call_op_set.html#a0ade5b329d43a4002388bac90a8bbafd',1,'grpc::SneakyCallOpSet::FinalizeResult()']]], + ['findpropertyvalues',['FindPropertyValues',['../classgrpc_1_1_auth_context.html#ad34c79f4934c974aa9e77ca69eed82aa',1,'grpc::AuthContext']]], + ['finish',['Finish',['../classgrpc_1_1_client_async_response_reader_interface.html#a379b1d7477431729e01cd48cf6fc78bb',1,'grpc::ClientAsyncResponseReaderInterface::Finish()'],['../classgrpc_1_1_client_async_response_reader.html#a585dc15817999f82a72120a783800830',1,'grpc::ClientAsyncResponseReader::Finish()'],['../classgrpc_1_1_server_async_response_writer.html#ad1e22d187c82a537ded4504fbdef6809',1,'grpc::ServerAsyncResponseWriter::Finish()'],['../classgrpc_1_1_client_streaming_interface.html#a98e2927a42c793017ce7d8c6e88539c4',1,'grpc::ClientStreamingInterface::Finish()'],['../classgrpc_1_1_client_reader.html#abb69eb7672e42eb09fbc4d7110d142df',1,'grpc::ClientReader::Finish()'],['../classgrpc_1_1_client_writer.html#afe847df1fec5c40f6650498c026eb658',1,'grpc::ClientWriter::Finish()'],['../classgrpc_1_1_client_reader_writer.html#aabd46ba35f39419bbcfeff8c0843c116',1,'grpc::ClientReaderWriter::Finish()'],['../classgrpc_1_1_client_async_streaming_interface.html#afc1cfbd1514fea47088bc837bb578a24',1,'grpc::ClientAsyncStreamingInterface::Finish()'],['../classgrpc_1_1_client_async_reader.html#a91bfabf65e2dc955b6983bc0ece5a73f',1,'grpc::ClientAsyncReader::Finish()'],['../classgrpc_1_1_client_async_writer.html#ad37af0a7fc27fc90e168fdb90eb52d8b',1,'grpc::ClientAsyncWriter::Finish()'],['../classgrpc_1_1_client_async_reader_writer.html#a4316a3e8d1b4d148a695c8afa240ea23',1,'grpc::ClientAsyncReaderWriter::Finish()'],['../classgrpc_1_1_server_async_reader.html#aaa77b67709c07ab60bc190bce5ee9a59',1,'grpc::ServerAsyncReader::Finish()'],['../classgrpc_1_1_server_async_writer.html#afbb050c198cbbc7f91f9f7fb8bf8c004',1,'grpc::ServerAsyncWriter::Finish()'],['../classgrpc_1_1_server_async_reader_writer.html#ae4daaf42b4077d171638e574a67418b5',1,'grpc::ServerAsyncReaderWriter::Finish()']]], + ['finishop',['FinishOp',['../classgrpc_1_1_call_no_op.html#a2e39baf8e169ec930d2234c85ca577ae',1,'grpc::CallNoOp::FinishOp()'],['../classgrpc_1_1_call_op_send_initial_metadata.html#a70bd2ec3f8b7b95b02657902ee445a13',1,'grpc::CallOpSendInitialMetadata::FinishOp()'],['../classgrpc_1_1_call_op_send_message.html#a214a005bed5dd03d6dfa16f7a28b205b',1,'grpc::CallOpSendMessage::FinishOp()'],['../classgrpc_1_1_call_op_recv_message.html#ac235a695ea9beb6d4ff3f4f220f695c6',1,'grpc::CallOpRecvMessage::FinishOp()'],['../classgrpc_1_1_call_op_generic_recv_message.html#a40eba461f56840935c97934829b38e16',1,'grpc::CallOpGenericRecvMessage::FinishOp()'],['../classgrpc_1_1_call_op_client_send_close.html#a7c9bcf88cc1ddf2c6cf85cf141c85656',1,'grpc::CallOpClientSendClose::FinishOp()'],['../classgrpc_1_1_call_op_server_send_status.html#a91b57e7b08540afa237cf7621558c978',1,'grpc::CallOpServerSendStatus::FinishOp()'],['../classgrpc_1_1_call_op_recv_initial_metadata.html#a85e4703487b89a0557d82237ed4a74eb',1,'grpc::CallOpRecvInitialMetadata::FinishOp()'],['../classgrpc_1_1_call_op_client_recv_status.html#ac6fcc3bc9d7725d1ce822b560156445f',1,'grpc::CallOpClientRecvStatus::FinishOp()']]], + ['finishwitherror',['FinishWithError',['../classgrpc_1_1_server_async_response_writer.html#af1e5812c2a8017bf82e84748f201ce93',1,'grpc::ServerAsyncResponseWriter::FinishWithError()'],['../classgrpc_1_1_server_async_reader.html#a4407f30ef2dbce2b650824536a6f76fb',1,'grpc::ServerAsyncReader::FinishWithError()']]], + ['fixed_5fsize_5fthread_5fpool_2eh',['fixed_size_thread_pool.h',['../fixed__size__thread__pool_8h.html',1,'']]], + ['fixedsizethreadpool',['FixedSizeThreadPool',['../classgrpc_1_1_fixed_size_thread_pool.html#a7b1d9cbdaedc89f5f4dd6e5782bfe5e0',1,'grpc::FixedSizeThreadPool']]], + ['fixedsizethreadpool',['FixedSizeThreadPool',['../classgrpc_1_1_fixed_size_thread_pool.html',1,'grpc']]], + ['flags',['flags',['../classgrpc_1_1_write_options.html#a0e047a4f3d159749153bff276880e153',1,'grpc::WriteOptions']]], + ['force_5fclient_5fauth',['force_client_auth',['../structgrpc_1_1_ssl_server_credentials_options.html#aa563c0e5a34e389dbc2f4dfa3c097e3e',1,'grpc::SslServerCredentialsOptions']]] +]; diff --git a/doc/ref/c++/html/search/all_7.html b/doc/ref/c++/html/search/all_7.html new file mode 100644 index 0000000000..574812594f --- /dev/null +++ b/doc/ref/c++/html/search/all_7.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++/html/search/all_7.js b/doc/ref/c++/html/search/all_7.js new file mode 100644 index 0000000000..bcdbd77df9 --- /dev/null +++ b/doc/ref/c++/html/search/all_7.js @@ -0,0 +1,36 @@ +var searchData= +[ + ['callopgenericrecvmessagehelper',['CallOpGenericRecvMessageHelper',['../namespacegrpc_1_1_call_op_generic_recv_message_helper.html',1,'grpc']]], + ['generic_5fstub_2eh',['generic_stub.h',['../generic__stub_8h.html',1,'']]], + ['genericclientasyncreaderwriter',['GenericClientAsyncReaderWriter',['../namespacegrpc.html#aba53fb6f2502caa167e9528e5c560539',1,'grpc']]], + ['genericserverasyncreaderwriter',['GenericServerAsyncReaderWriter',['../namespacegrpc.html#a7b3db9e9e4d0c7faf701c9ebd455196a',1,'grpc']]], + ['genericservercontext',['GenericServerContext',['../classgrpc_1_1_generic_server_context.html',1,'grpc']]], + ['genericstub',['GenericStub',['../classgrpc_1_1_generic_stub.html',1,'grpc']]], + ['genericstub',['GenericStub',['../classgrpc_1_1_generic_stub.html#a1523f381907ac18b841bb4064f2a3b88',1,'grpc::GenericStub']]], + ['get_5fbuffer_5fhint',['get_buffer_hint',['../classgrpc_1_1_write_options.html#a58a983a81a17d0b8f3996164f55912ef',1,'grpc::WriteOptions']]], + ['get_5fno_5fcompression',['get_no_compression',['../classgrpc_1_1_write_options.html#accb16dd92f4001a6d024ffb01178d4bf',1,'grpc::WriteOptions']]], + ['getmethod',['GetMethod',['../classgrpc_1_1_rpc_service.html#adb8bee7f95fdd7bfb12e9c510fbdd192',1,'grpc::RpcService']]], + ['getmethodcount',['GetMethodCount',['../classgrpc_1_1_rpc_service.html#a779c023a42b33893a5ae2b7ca0ef5191',1,'grpc::RpcService']]], + ['getpeeridentity',['GetPeerIdentity',['../classgrpc_1_1_auth_context.html#a94f653509ddd988ce8fd4f22746fead9',1,'grpc::AuthContext']]], + ['getpeeridentitypropertyname',['GetPeerIdentityPropertyName',['../classgrpc_1_1_auth_context.html#ad7b2e589590246b953decd05cdaa4465',1,'grpc::AuthContext']]], + ['getserverinitialmetadata',['GetServerInitialMetadata',['../classgrpc_1_1_client_context.html#a971f592cb4c3d4cc4be227c413264d15',1,'grpc::ClientContext']]], + ['getservertrailingmetadata',['GetServerTrailingMetadata',['../classgrpc_1_1_client_context.html#ab2ad079046a7f9e6dba922274e11aaa3',1,'grpc::ClientContext']]], + ['googledefaultcredentials',['GoogleDefaultCredentials',['../namespacegrpc.html#a63d3b2c5cb11f48742da0d245b0771d3',1,'grpc']]], + ['got_5fevent',['GOT_EVENT',['../classgrpc_1_1_completion_queue.html#a6227657fb2f29291f80cd092f9baf572a5d8344849fb99341b7edaa9da7b42c08',1,'grpc::CompletionQueue']]], + ['got_5fmessage',['got_message',['../classgrpc_1_1_call_op_recv_message.html#a95f94e74f704a7f40e1f2e30aba24c57',1,'grpc::CallOpRecvMessage::got_message()'],['../classgrpc_1_1_call_op_generic_recv_message.html#a1dc0ca6159bc74ec6cbfeacb06c697a0',1,'grpc::CallOpGenericRecvMessage::got_message()']]], + ['grpc',['grpc',['../namespacegrpc.html',1,'']]], + ['grpc_5fcustom_5fcodedinputstream',['GRPC_CUSTOM_CODEDINPUTSTREAM',['../config__protobuf_8h.html#adab2e3bf138e8ee14fc7dc7957618d2f',1,'config_protobuf.h']]], + ['grpc_5fcustom_5fmessage',['GRPC_CUSTOM_MESSAGE',['../config__protobuf_8h.html#a9dada7a420bf3d91c428fa9699bd2ef3',1,'config_protobuf.h']]], + ['grpc_5fcustom_5fprotobuf_5fint64',['GRPC_CUSTOM_PROTOBUF_INT64',['../config__protobuf_8h.html#a42a6e2b3f439893077e50cdaa72e98f2',1,'config_protobuf.h']]], + ['grpc_5fcustom_5fstring',['GRPC_CUSTOM_STRING',['../config_8h.html#af6ef913b6d13d83d79be41d007120992',1,'config.h']]], + ['grpc_5fcustom_5fzerocopyinputstream',['GRPC_CUSTOM_ZEROCOPYINPUTSTREAM',['../config__protobuf_8h.html#a1a6610a655f8fd6d36672c729a865ca0',1,'config_protobuf.h']]], + ['grpc_5fcustom_5fzerocopyoutputstream',['GRPC_CUSTOM_ZEROCOPYOUTPUTSTREAM',['../config__protobuf_8h.html#a7630e432db31b2693f8c2be7d3c79ef8',1,'config_protobuf.h']]], + ['grpc_5ffinal',['GRPC_FINAL',['../config_8h.html#ab2216aa6e0ffe505e1ec362a9621a7f9',1,'config.h']]], + ['grpc_5flibrary_2eh',['grpc_library.h',['../grpc__library_8h.html',1,'']]], + ['grpc_5foverride',['GRPC_OVERRIDE',['../config_8h.html#a9a884d706be26697c9c892365a3402a9',1,'config.h']]], + ['grpclibrary',['GrpcLibrary',['../classgrpc_1_1_grpc_library.html#af026f86430cf235d7eaf532231a44528',1,'grpc::GrpcLibrary']]], + ['grpclibrary',['GrpcLibrary',['../classgrpc_1_1_grpc_library.html',1,'grpc']]], + ['io',['io',['../namespacegrpc_1_1protobuf_1_1io.html',1,'grpc::protobuf']]], + ['protobuf',['protobuf',['../namespacegrpc_1_1protobuf.html',1,'grpc']]], + ['testing',['testing',['../namespacegrpc_1_1testing.html',1,'grpc']]] +]; diff --git a/doc/ref/c++/html/search/all_8.html b/doc/ref/c++/html/search/all_8.html new file mode 100644 index 0000000000..0179bdd463 --- /dev/null +++ b/doc/ref/c++/html/search/all_8.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++/html/search/all_8.js b/doc/ref/c++/html/search/all_8.js new file mode 100644 index 0000000000..8802d97e2a --- /dev/null +++ b/doc/ref/c++/html/search/all_8.js @@ -0,0 +1,7 @@ +var searchData= +[ + ['handler',['handler',['../classgrpc_1_1_rpc_service_method.html#adcc8bfb7dc592f6b64fec6660f1cbaf1',1,'grpc::RpcServiceMethod']]], + ['handlerparameter',['HandlerParameter',['../structgrpc_1_1_method_handler_1_1_handler_parameter.html',1,'grpc::MethodHandler']]], + ['handlerparameter',['HandlerParameter',['../structgrpc_1_1_method_handler_1_1_handler_parameter.html#a339310bf784411fd5e7d7b9118704693',1,'grpc::MethodHandler::HandlerParameter']]], + ['host',['host',['../classgrpc_1_1_generic_server_context.html#a2962278c0c6280a2d95f5747ea03babc',1,'grpc::GenericServerContext']]] +]; diff --git a/doc/ref/c++/html/search/all_9.html b/doc/ref/c++/html/search/all_9.html new file mode 100644 index 0000000000..cd46d44056 --- /dev/null +++ b/doc/ref/c++/html/search/all_9.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++/html/search/all_9.js b/doc/ref/c++/html/search/all_9.js new file mode 100644 index 0000000000..a8f49f15f4 --- /dev/null +++ b/doc/ref/c++/html/search/all_9.js @@ -0,0 +1,15 @@ +var searchData= +[ + ['iamcredentials',['IAMCredentials',['../namespacegrpc.html#a78c4ecc2e69303f203fd67fd272b6c96',1,'grpc']]], + ['initial_5fmetadata_5f',['initial_metadata_',['../classgrpc_1_1_call_op_send_initial_metadata.html#a032d474971352a0f3ca5b1a468fa5fd4',1,'grpc::CallOpSendInitialMetadata']]], + ['initial_5fmetadata_5fcount_5f',['initial_metadata_count_',['../classgrpc_1_1_call_op_send_initial_metadata.html#a19f3366cf32ceb0199e7f636f870dd63',1,'grpc::CallOpSendInitialMetadata']]], + ['insecurecredentials',['InsecureCredentials',['../namespacegrpc.html#ab7d08c50ff1dd9a368a9ff8191f855c3',1,'grpc']]], + ['insecureservercredentials',['InsecureServerCredentials',['../namespacegrpc.html#aa8c26768567516f22852d7ccc09c7940',1,'grpc']]], + ['int64',['int64',['../namespacegrpc_1_1protobuf.html#ad614bff24fe4674ca81af74c769a7b32',1,'grpc::protobuf']]], + ['internal',['INTERNAL',['../namespacegrpc.html#aff1730578c90160528f6a8d67ef5c43ba0ae30536146394965fd8ad64c2d414f3',1,'grpc']]], + ['internal_5fstub_2eh',['internal_stub.h',['../internal__stub_8h.html',1,'']]], + ['internalstub',['InternalStub',['../classgrpc_1_1_internal_stub.html#a5af6cf82c3f8218d94704226559e1b3c',1,'grpc::InternalStub']]], + ['internalstub',['InternalStub',['../classgrpc_1_1_internal_stub.html',1,'grpc']]], + ['invalid_5fargument',['INVALID_ARGUMENT',['../namespacegrpc.html#aff1730578c90160528f6a8d67ef5c43ba8d75876e087d1950914920f499d4a8d2',1,'grpc']]], + ['iscancelled',['IsCancelled',['../classgrpc_1_1_server_context.html#ae52a89bbf70c27be3325080000757864',1,'grpc::ServerContext']]] +]; diff --git a/doc/ref/c++/html/search/all_a.html b/doc/ref/c++/html/search/all_a.html new file mode 100644 index 0000000000..eab655301b --- /dev/null +++ b/doc/ref/c++/html/search/all_a.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++/html/search/all_a.js b/doc/ref/c++/html/search/all_a.js new file mode 100644 index 0000000000..14e6845c12 --- /dev/null +++ b/doc/ref/c++/html/search/all_a.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['join',['join',['../classgrpc_1_1thread.html#a2d1d3437f2ff58bb1eacb5417a85c29f',1,'grpc::thread']]] +]; diff --git a/doc/ref/c++/html/search/all_b.html b/doc/ref/c++/html/search/all_b.html new file mode 100644 index 0000000000..a2c161e0bd --- /dev/null +++ b/doc/ref/c++/html/search/all_b.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++/html/search/all_b.js b/doc/ref/c++/html/search/all_b.js new file mode 100644 index 0000000000..3e0a8ad660 --- /dev/null +++ b/doc/ref/c++/html/search/all_b.js @@ -0,0 +1,8 @@ +var searchData= +[ + ['length',['Length',['../classgrpc_1_1_byte_buffer.html#a9429e928982f8d94ff93a1a91032ad59',1,'grpc::ByteBuffer']]], + ['lock',['lock',['../classgrpc_1_1unique__lock.html#ae29c07f1bdca4a39516f3841dac5cb54',1,'grpc::unique_lock']]], + ['lock_5fguard',['lock_guard',['../classgrpc_1_1mutex.html#a4cfa68eb2ccf47f11c725b6773ff9a5b',1,'grpc::mutex::lock_guard()'],['../classgrpc_1_1lock__guard.html#ad5556ef1ebffe0cf983871fbc61fe264',1,'grpc::lock_guard::lock_guard()']]], + ['lock_5fguard',['lock_guard',['../classgrpc_1_1lock__guard.html',1,'grpc']]], + ['lock_5finternal',['lock_internal',['../classgrpc_1_1lock__guard.html#ac6236e52082bd62d20f17de1625fd649',1,'grpc::lock_guard']]] +]; diff --git a/doc/ref/c++/html/search/all_c.html b/doc/ref/c++/html/search/all_c.html new file mode 100644 index 0000000000..bdd3ee2c50 --- /dev/null +++ b/doc/ref/c++/html/search/all_c.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++/html/search/all_c.js b/doc/ref/c++/html/search/all_c.js new file mode 100644 index 0000000000..898dc420b9 --- /dev/null +++ b/doc/ref/c++/html/search/all_c.js @@ -0,0 +1,11 @@ +var searchData= +[ + ['max_5fmessage_5fsize',['max_message_size',['../structgrpc_1_1_method_handler_1_1_handler_parameter.html#ae079bb60a6b69f4e7bca79a11cfa0756',1,'grpc::MethodHandler::HandlerParameter::max_message_size()'],['../classgrpc_1_1_call.html#aabd1f570cd026b4e5630abc58498a095',1,'grpc::Call::max_message_size()']]], + ['max_5fmessage_5fsize_5f',['max_message_size_',['../classgrpc_1_1_call_op_set_interface.html#a06354e63efdbbd34fa18270490aaabbf',1,'grpc::CallOpSetInterface']]], + ['message',['Message',['../namespacegrpc_1_1protobuf.html#a58557bfd4af54f1c54a6de69ab1fb43c',1,'grpc::protobuf']]], + ['method',['method',['../classgrpc_1_1_generic_server_context.html#ae08880fa4adb490326953ad905715c37',1,'grpc::GenericServerContext']]], + ['method_5ftype',['method_type',['../classgrpc_1_1_rpc_method.html#a1de5a64a1e57b5938c4733f9152291b6',1,'grpc::RpcMethod']]], + ['methodhandler',['MethodHandler',['../classgrpc_1_1_method_handler.html',1,'grpc']]], + ['mutex',['mutex',['../classgrpc_1_1mutex.html#ae012e9f1c5cafd9d6f77a9a81d641581',1,'grpc::mutex']]], + ['mutex',['mutex',['../classgrpc_1_1mutex.html',1,'grpc']]] +]; diff --git a/doc/ref/c++/html/search/all_d.html b/doc/ref/c++/html/search/all_d.html new file mode 100644 index 0000000000..d51093367e --- /dev/null +++ b/doc/ref/c++/html/search/all_d.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++/html/search/all_d.js b/doc/ref/c++/html/search/all_d.js new file mode 100644 index 0000000000..922e501c65 --- /dev/null +++ b/doc/ref/c++/html/search/all_d.js @@ -0,0 +1,10 @@ +var searchData= +[ + ['name',['name',['../classgrpc_1_1_rpc_method.html#a6fb4872e0af4c79faffe2bb30b2cafe3',1,'grpc::RpcMethod']]], + ['next',['Next',['../classgrpc_1_1_completion_queue.html#a86d9810ced694e50f7987ac90b9f8c1a',1,'grpc::CompletionQueue']]], + ['nextstatus',['NextStatus',['../classgrpc_1_1_completion_queue.html#a6227657fb2f29291f80cd092f9baf572',1,'grpc::CompletionQueue']]], + ['normal_5frpc',['NORMAL_RPC',['../classgrpc_1_1_rpc_method.html#ace95416ed07409e43059a0dfe9e23688a8f7dac3c5cdbdbb204e3d3dbab033c2e',1,'grpc::RpcMethod']]], + ['not_5ffound',['NOT_FOUND',['../namespacegrpc.html#aff1730578c90160528f6a8d67ef5c43bae5d4bec40cae17f03007d4febf36c8f5',1,'grpc']]], + ['notify_5fall',['notify_all',['../classgrpc_1_1condition__variable.html#a09a9b8a854f939962c6080bd2764dd36',1,'grpc::condition_variable']]], + ['notify_5fone',['notify_one',['../classgrpc_1_1condition__variable.html#abc49965bc36f319781bb315fff7d9fb3',1,'grpc::condition_variable']]] +]; diff --git a/doc/ref/c++/html/search/all_e.html b/doc/ref/c++/html/search/all_e.html new file mode 100644 index 0000000000..3cda0172ed --- /dev/null +++ b/doc/ref/c++/html/search/all_e.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++/html/search/all_e.js b/doc/ref/c++/html/search/all_e.js new file mode 100644 index 0000000000..0e40ab7804 --- /dev/null +++ b/doc/ref/c++/html/search/all_e.js @@ -0,0 +1,10 @@ +var searchData= +[ + ['ok',['OK',['../classgrpc_1_1_status.html#acbac12f241ad08f449aa1b9086ec7acc',1,'grpc::Status::OK()'],['../classgrpc_1_1_status.html#a1f5b65c54d4e6dd502897e36040714dc',1,'grpc::Status::ok() const '],['../namespacegrpc.html#aff1730578c90160528f6a8d67ef5c43baf6f3078af147d683afc70e09695c7a65',1,'grpc::OK()']]], + ['operator_21_3d',['operator!=',['../classgrpc_1_1_auth_property_iterator.html#af3d2671fe70be36b2ed26a75874f2fc1',1,'grpc::AuthPropertyIterator']]], + ['operator_2a',['operator*',['../classgrpc_1_1_auth_property_iterator.html#a564f39b91f4168c6f660bbd3144f1f0e',1,'grpc::AuthPropertyIterator']]], + ['operator_2b_2b',['operator++',['../classgrpc_1_1_auth_property_iterator.html#ac4a895110475c25b9bdce9b72eb19cd6',1,'grpc::AuthPropertyIterator::operator++()'],['../classgrpc_1_1_auth_property_iterator.html#a76dd5ef5047b10f889d85ce2bb33b84b',1,'grpc::AuthPropertyIterator::operator++(int)']]], + ['operator_3d',['operator=',['../classgrpc_1_1_channel_arguments.html#ac75ba90de32a5c7f3cb6c62f7ce649be',1,'grpc::ChannelArguments::operator=()'],['../classgrpc_1_1_write_options.html#abe3d32a3e5879022e7b8f1c6a7533841',1,'grpc::WriteOptions::operator=()'],['../classgrpc_1_1_slice.html#ac5a109779239ed4d3fd58e8124abdba1',1,'grpc::Slice::operator=()']]], + ['operator_3d_3d',['operator==',['../classgrpc_1_1_auth_property_iterator.html#ab5ab6a2c9a4df2b02086513716553dee',1,'grpc::AuthPropertyIterator']]], + ['out_5fof_5frange',['OUT_OF_RANGE',['../namespacegrpc.html#aff1730578c90160528f6a8d67ef5c43babb9d017cdfdd51b177b3591301c42901',1,'grpc']]] +]; diff --git a/doc/ref/c++/html/search/all_f.html b/doc/ref/c++/html/search/all_f.html new file mode 100644 index 0000000000..7419b0297e --- /dev/null +++ b/doc/ref/c++/html/search/all_f.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++/html/search/all_f.js b/doc/ref/c++/html/search/all_f.js new file mode 100644 index 0000000000..c28a700f91 --- /dev/null +++ b/doc/ref/c++/html/search/all_f.js @@ -0,0 +1,14 @@ +var searchData= +[ + ['peer',['peer',['../classgrpc_1_1_client_context.html#a905d667d96613e022cd83c13dbedb4c3',1,'grpc::ClientContext::peer()'],['../classgrpc_1_1_server_context.html#a5ef7910ccd61514eafa7087519bb17bb',1,'grpc::ServerContext::peer()']]], + ['pem_5fcert_5fchain',['pem_cert_chain',['../structgrpc_1_1_ssl_credentials_options.html#a01015d8ec7dbf49f2ac3cd21f21d383b',1,'grpc::SslCredentialsOptions']]], + ['pem_5fkey_5fcert_5fpairs',['pem_key_cert_pairs',['../structgrpc_1_1_ssl_server_credentials_options.html#a3a042e846edd3d1e2f24e846e36c694d',1,'grpc::SslServerCredentialsOptions']]], + ['pem_5fprivate_5fkey',['pem_private_key',['../structgrpc_1_1_ssl_credentials_options.html#a5b661f8daf02db7283774e0fb9a8979e',1,'grpc::SslCredentialsOptions']]], + ['pem_5froot_5fcerts',['pem_root_certs',['../structgrpc_1_1_ssl_credentials_options.html#a0ce1730020e18d04b6af48c88e069869',1,'grpc::SslCredentialsOptions::pem_root_certs()'],['../structgrpc_1_1_ssl_server_credentials_options.html#acdde73dba83ee30aeda4a678f5ce8e74',1,'grpc::SslServerCredentialsOptions::pem_root_certs()']]], + ['pemkeycertpair',['PemKeyCertPair',['../structgrpc_1_1_ssl_server_credentials_options_1_1_pem_key_cert_pair.html',1,'grpc::SslServerCredentialsOptions']]], + ['performops',['PerformOps',['../classgrpc_1_1_call.html#a78ca141a1008fbbb122ee4de076edcc4',1,'grpc::Call']]], + ['performopsoncall',['PerformOpsOnCall',['../classgrpc_1_1_call_hook.html#acf08b6dd7d1faba4efeeb4937bc81d29',1,'grpc::CallHook']]], + ['permission_5fdenied',['PERMISSION_DENIED',['../namespacegrpc.html#aff1730578c90160528f6a8d67ef5c43ba671e44044d68f82be37c8ec3b0a9c449',1,'grpc']]], + ['private_5fkey',['private_key',['../structgrpc_1_1_ssl_server_credentials_options_1_1_pem_key_cert_pair.html#ad9fa2a2083a40127d264e61cca637050',1,'grpc::SslServerCredentialsOptions::PemKeyCertPair']]], + ['proto_5futils_2eh',['proto_utils.h',['../proto__utils_8h.html',1,'']]] +]; diff --git a/doc/ref/c++/html/search/classes_0.html b/doc/ref/c++/html/search/classes_0.html new file mode 100644 index 0000000000..fabdc03679 --- /dev/null +++ b/doc/ref/c++/html/search/classes_0.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++/html/search/classes_0.js b/doc/ref/c++/html/search/classes_0.js new file mode 100644 index 0000000000..9cc15c048e --- /dev/null +++ b/doc/ref/c++/html/search/classes_0.js @@ -0,0 +1,9 @@ +var searchData= +[ + ['asyncgenericservice',['AsyncGenericService',['../classgrpc_1_1_async_generic_service.html',1,'grpc']]], + ['asynchronousservice',['AsynchronousService',['../classgrpc_1_1_asynchronous_service.html',1,'grpc']]], + ['asyncreaderinterface',['AsyncReaderInterface',['../classgrpc_1_1_async_reader_interface.html',1,'grpc']]], + ['asyncwriterinterface',['AsyncWriterInterface',['../classgrpc_1_1_async_writer_interface.html',1,'grpc']]], + ['authcontext',['AuthContext',['../classgrpc_1_1_auth_context.html',1,'grpc']]], + ['authpropertyiterator',['AuthPropertyIterator',['../classgrpc_1_1_auth_property_iterator.html',1,'grpc']]] +]; diff --git a/doc/ref/c++/html/search/classes_1.html b/doc/ref/c++/html/search/classes_1.html new file mode 100644 index 0000000000..800b6ae1bf --- /dev/null +++ b/doc/ref/c++/html/search/classes_1.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++/html/search/classes_1.js b/doc/ref/c++/html/search/classes_1.js new file mode 100644 index 0000000000..be02f51276 --- /dev/null +++ b/doc/ref/c++/html/search/classes_1.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['bidistreaminghandler',['BidiStreamingHandler',['../classgrpc_1_1_bidi_streaming_handler.html',1,'grpc']]], + ['bytebuffer',['ByteBuffer',['../classgrpc_1_1_byte_buffer.html',1,'grpc']]] +]; diff --git a/doc/ref/c++/html/search/classes_2.html b/doc/ref/c++/html/search/classes_2.html new file mode 100644 index 0000000000..f65d263c0c --- /dev/null +++ b/doc/ref/c++/html/search/classes_2.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++/html/search/classes_2.js b/doc/ref/c++/html/search/classes_2.js new file mode 100644 index 0000000000..dff23db6eb --- /dev/null +++ b/doc/ref/c++/html/search/classes_2.js @@ -0,0 +1,60 @@ +var searchData= +[ + ['call',['Call',['../classgrpc_1_1_call.html',1,'grpc']]], + ['callhook',['CallHook',['../classgrpc_1_1_call_hook.html',1,'grpc']]], + ['callnoop',['CallNoOp',['../classgrpc_1_1_call_no_op.html',1,'grpc']]], + ['callnoop_3c_202_20_3e',['CallNoOp< 2 >',['../classgrpc_1_1_call_no_op.html',1,'grpc']]], + ['callnoop_3c_203_20_3e',['CallNoOp< 3 >',['../classgrpc_1_1_call_no_op.html',1,'grpc']]], + ['callnoop_3c_204_20_3e',['CallNoOp< 4 >',['../classgrpc_1_1_call_no_op.html',1,'grpc']]], + ['callnoop_3c_205_20_3e',['CallNoOp< 5 >',['../classgrpc_1_1_call_no_op.html',1,'grpc']]], + ['callnoop_3c_206_20_3e',['CallNoOp< 6 >',['../classgrpc_1_1_call_no_op.html',1,'grpc']]], + ['callopclientrecvstatus',['CallOpClientRecvStatus',['../classgrpc_1_1_call_op_client_recv_status.html',1,'grpc']]], + ['callopclientsendclose',['CallOpClientSendClose',['../classgrpc_1_1_call_op_client_send_close.html',1,'grpc']]], + ['callopgenericrecvmessage',['CallOpGenericRecvMessage',['../classgrpc_1_1_call_op_generic_recv_message.html',1,'grpc']]], + ['calloprecvinitialmetadata',['CallOpRecvInitialMetadata',['../classgrpc_1_1_call_op_recv_initial_metadata.html',1,'grpc']]], + ['calloprecvmessage',['CallOpRecvMessage',['../classgrpc_1_1_call_op_recv_message.html',1,'grpc']]], + ['callopsendinitialmetadata',['CallOpSendInitialMetadata',['../classgrpc_1_1_call_op_send_initial_metadata.html',1,'grpc']]], + ['callopsendmessage',['CallOpSendMessage',['../classgrpc_1_1_call_op_send_message.html',1,'grpc']]], + ['callopserversendstatus',['CallOpServerSendStatus',['../classgrpc_1_1_call_op_server_send_status.html',1,'grpc']]], + ['callopset',['CallOpSet',['../classgrpc_1_1_call_op_set.html',1,'grpc']]], + ['callopset_3c_20grpc_3a_3acallopclientsendclose_20_3e',['CallOpSet< grpc::CallOpClientSendClose >',['../classgrpc_1_1_call_op_set.html',1,'grpc']]], + ['callopset_3c_20grpc_3a_3acallopgenericrecvmessage_2c_20grpc_3a_3acallopclientrecvstatus_20_3e',['CallOpSet< grpc::CallOpGenericRecvMessage, grpc::CallOpClientRecvStatus >',['../classgrpc_1_1_call_op_set.html',1,'grpc']]], + ['callopset_3c_20grpc_3a_3acalloprecvinitialmetadata_20_3e',['CallOpSet< grpc::CallOpRecvInitialMetadata >',['../classgrpc_1_1_call_op_set.html',1,'grpc']]], + ['callopset_3c_20grpc_3a_3acalloprecvinitialmetadata_2c_20grpc_3a_3acallopclientrecvstatus_20_3e',['CallOpSet< grpc::CallOpRecvInitialMetadata, grpc::CallOpClientRecvStatus >',['../classgrpc_1_1_call_op_set.html',1,'grpc']]], + ['callopset_3c_20grpc_3a_3acalloprecvinitialmetadata_2c_20grpc_3a_3acallopgenericrecvmessage_2c_20grpc_3a_3acallopclientrecvstatus_20_3e',['CallOpSet< grpc::CallOpRecvInitialMetadata, grpc::CallOpGenericRecvMessage, grpc::CallOpClientRecvStatus >',['../classgrpc_1_1_call_op_set.html',1,'grpc']]], + ['callopset_3c_20grpc_3a_3acalloprecvinitialmetadata_2c_20grpc_3a_3acalloprecvmessage_3c_20r_20_3e_20_3e',['CallOpSet< grpc::CallOpRecvInitialMetadata, grpc::CallOpRecvMessage< R > >',['../classgrpc_1_1_call_op_set.html',1,'grpc']]], + ['callopset_3c_20grpc_3a_3acalloprecvinitialmetadata_2c_20grpc_3a_3acalloprecvmessage_3c_20r_20_3e_2c_20grpc_3a_3acallopclientrecvstatus_20_3e',['CallOpSet< grpc::CallOpRecvInitialMetadata, grpc::CallOpRecvMessage< R >, grpc::CallOpClientRecvStatus >',['../classgrpc_1_1_call_op_set.html',1,'grpc']]], + ['callopset_3c_20grpc_3a_3acalloprecvmessage_3c_20r_20_3e_20_3e',['CallOpSet< grpc::CallOpRecvMessage< R > >',['../classgrpc_1_1_call_op_set.html',1,'grpc']]], + ['callopset_3c_20grpc_3a_3acallopsendinitialmetadata_20_3e',['CallOpSet< grpc::CallOpSendInitialMetadata >',['../classgrpc_1_1_call_op_set.html',1,'grpc']]], + ['callopset_3c_20grpc_3a_3acallopsendinitialmetadata_2c_20grpc_3a_3acallopsendmessage_20_3e',['CallOpSet< grpc::CallOpSendInitialMetadata, grpc::CallOpSendMessage >',['../classgrpc_1_1_call_op_set.html',1,'grpc']]], + ['callopset_3c_20grpc_3a_3acallopsendinitialmetadata_2c_20grpc_3a_3acallopsendmessage_2c_20grpc_3a_3acallopclientsendclose_20_3e',['CallOpSet< grpc::CallOpSendInitialMetadata, grpc::CallOpSendMessage, grpc::CallOpClientSendClose >',['../classgrpc_1_1_call_op_set.html',1,'grpc']]], + ['callopset_3c_20grpc_3a_3acallopsendinitialmetadata_2c_20grpc_3a_3acallopsendmessage_2c_20grpc_3a_3acallopclientsendclose_2c_20callnoop_3c_204_20_3e_2c_20callnoop_3c_205_20_3e_2c_20callnoop_3c_206_20_3e_20_3e',['CallOpSet< grpc::CallOpSendInitialMetadata, grpc::CallOpSendMessage, grpc::CallOpClientSendClose, CallNoOp< 4 >, CallNoOp< 5 >, CallNoOp< 6 > >',['../classgrpc_1_1_call_op_set.html',1,'grpc']]], + ['callopset_3c_20grpc_3a_3acallopsendinitialmetadata_2c_20grpc_3a_3acallopsendmessage_2c_20grpc_3a_3acallopserversendstatus_20_3e',['CallOpSet< grpc::CallOpSendInitialMetadata, grpc::CallOpSendMessage, grpc::CallOpServerSendStatus >',['../classgrpc_1_1_call_op_set.html',1,'grpc']]], + ['callopset_3c_20grpc_3a_3acallopsendinitialmetadata_2c_20grpc_3a_3acallopserversendstatus_20_3e',['CallOpSet< grpc::CallOpSendInitialMetadata, grpc::CallOpServerSendStatus >',['../classgrpc_1_1_call_op_set.html',1,'grpc']]], + ['callopset_3c_20grpc_3a_3acallopsendmessage_20_3e',['CallOpSet< grpc::CallOpSendMessage >',['../classgrpc_1_1_call_op_set.html',1,'grpc']]], + ['callopsetinterface',['CallOpSetInterface',['../classgrpc_1_1_call_op_set_interface.html',1,'grpc']]], + ['channelarguments',['ChannelArguments',['../classgrpc_1_1_channel_arguments.html',1,'grpc']]], + ['channelinterface',['ChannelInterface',['../classgrpc_1_1_channel_interface.html',1,'grpc']]], + ['clientasyncreader',['ClientAsyncReader',['../classgrpc_1_1_client_async_reader.html',1,'grpc']]], + ['clientasyncreaderinterface',['ClientAsyncReaderInterface',['../classgrpc_1_1_client_async_reader_interface.html',1,'grpc']]], + ['clientasyncreaderwriter',['ClientAsyncReaderWriter',['../classgrpc_1_1_client_async_reader_writer.html',1,'grpc']]], + ['clientasyncreaderwriterinterface',['ClientAsyncReaderWriterInterface',['../classgrpc_1_1_client_async_reader_writer_interface.html',1,'grpc']]], + ['clientasyncresponsereader',['ClientAsyncResponseReader',['../classgrpc_1_1_client_async_response_reader.html',1,'grpc']]], + ['clientasyncresponsereaderinterface',['ClientAsyncResponseReaderInterface',['../classgrpc_1_1_client_async_response_reader_interface.html',1,'grpc']]], + ['clientasyncstreaminginterface',['ClientAsyncStreamingInterface',['../classgrpc_1_1_client_async_streaming_interface.html',1,'grpc']]], + ['clientasyncwriter',['ClientAsyncWriter',['../classgrpc_1_1_client_async_writer.html',1,'grpc']]], + ['clientasyncwriterinterface',['ClientAsyncWriterInterface',['../classgrpc_1_1_client_async_writer_interface.html',1,'grpc']]], + ['clientcontext',['ClientContext',['../classgrpc_1_1_client_context.html',1,'grpc']]], + ['clientreader',['ClientReader',['../classgrpc_1_1_client_reader.html',1,'grpc']]], + ['clientreaderinterface',['ClientReaderInterface',['../classgrpc_1_1_client_reader_interface.html',1,'grpc']]], + ['clientreaderwriter',['ClientReaderWriter',['../classgrpc_1_1_client_reader_writer.html',1,'grpc']]], + ['clientreaderwriterinterface',['ClientReaderWriterInterface',['../classgrpc_1_1_client_reader_writer_interface.html',1,'grpc']]], + ['clientstreaminghandler',['ClientStreamingHandler',['../classgrpc_1_1_client_streaming_handler.html',1,'grpc']]], + ['clientstreaminginterface',['ClientStreamingInterface',['../classgrpc_1_1_client_streaming_interface.html',1,'grpc']]], + ['clientwriter',['ClientWriter',['../classgrpc_1_1_client_writer.html',1,'grpc']]], + ['clientwriterinterface',['ClientWriterInterface',['../classgrpc_1_1_client_writer_interface.html',1,'grpc']]], + ['completionqueue',['CompletionQueue',['../classgrpc_1_1_completion_queue.html',1,'grpc']]], + ['completionqueuetag',['CompletionQueueTag',['../classgrpc_1_1_completion_queue_tag.html',1,'grpc']]], + ['condition_5fvariable',['condition_variable',['../classgrpc_1_1condition__variable.html',1,'grpc']]], + ['credentials',['Credentials',['../classgrpc_1_1_credentials.html',1,'grpc']]] +]; diff --git a/doc/ref/c++/html/search/classes_3.html b/doc/ref/c++/html/search/classes_3.html new file mode 100644 index 0000000000..927e837f11 --- /dev/null +++ b/doc/ref/c++/html/search/classes_3.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++/html/search/classes_3.js b/doc/ref/c++/html/search/classes_3.js new file mode 100644 index 0000000000..8a1a922e1b --- /dev/null +++ b/doc/ref/c++/html/search/classes_3.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['deserializefunc',['DeserializeFunc',['../classgrpc_1_1_call_op_generic_recv_message_helper_1_1_deserialize_func.html',1,'grpc::CallOpGenericRecvMessageHelper']]], + ['deserializefunctype',['DeserializeFuncType',['../classgrpc_1_1_call_op_generic_recv_message_helper_1_1_deserialize_func_type.html',1,'grpc::CallOpGenericRecvMessageHelper']]], + ['dynamicthreadpool',['DynamicThreadPool',['../classgrpc_1_1_dynamic_thread_pool.html',1,'grpc']]] +]; diff --git a/doc/ref/c++/html/search/classes_4.html b/doc/ref/c++/html/search/classes_4.html new file mode 100644 index 0000000000..a447290ed6 --- /dev/null +++ b/doc/ref/c++/html/search/classes_4.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++/html/search/classes_4.js b/doc/ref/c++/html/search/classes_4.js new file mode 100644 index 0000000000..9f0dd3dc9f --- /dev/null +++ b/doc/ref/c++/html/search/classes_4.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['fixedsizethreadpool',['FixedSizeThreadPool',['../classgrpc_1_1_fixed_size_thread_pool.html',1,'grpc']]] +]; diff --git a/doc/ref/c++/html/search/classes_5.html b/doc/ref/c++/html/search/classes_5.html new file mode 100644 index 0000000000..63484c451e --- /dev/null +++ b/doc/ref/c++/html/search/classes_5.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++/html/search/classes_5.js b/doc/ref/c++/html/search/classes_5.js new file mode 100644 index 0000000000..921d735275 --- /dev/null +++ b/doc/ref/c++/html/search/classes_5.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['genericservercontext',['GenericServerContext',['../classgrpc_1_1_generic_server_context.html',1,'grpc']]], + ['genericstub',['GenericStub',['../classgrpc_1_1_generic_stub.html',1,'grpc']]], + ['grpclibrary',['GrpcLibrary',['../classgrpc_1_1_grpc_library.html',1,'grpc']]] +]; diff --git a/doc/ref/c++/html/search/classes_6.html b/doc/ref/c++/html/search/classes_6.html new file mode 100644 index 0000000000..f3d70354c6 --- /dev/null +++ b/doc/ref/c++/html/search/classes_6.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++/html/search/classes_6.js b/doc/ref/c++/html/search/classes_6.js new file mode 100644 index 0000000000..f218202f9b --- /dev/null +++ b/doc/ref/c++/html/search/classes_6.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['handlerparameter',['HandlerParameter',['../structgrpc_1_1_method_handler_1_1_handler_parameter.html',1,'grpc::MethodHandler']]] +]; diff --git a/doc/ref/c++/html/search/classes_7.html b/doc/ref/c++/html/search/classes_7.html new file mode 100644 index 0000000000..9e5f5c9861 --- /dev/null +++ b/doc/ref/c++/html/search/classes_7.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++/html/search/classes_7.js b/doc/ref/c++/html/search/classes_7.js new file mode 100644 index 0000000000..ab09a6d93e --- /dev/null +++ b/doc/ref/c++/html/search/classes_7.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['internalstub',['InternalStub',['../classgrpc_1_1_internal_stub.html',1,'grpc']]] +]; diff --git a/doc/ref/c++/html/search/classes_8.html b/doc/ref/c++/html/search/classes_8.html new file mode 100644 index 0000000000..82c35b32ef --- /dev/null +++ b/doc/ref/c++/html/search/classes_8.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++/html/search/classes_8.js b/doc/ref/c++/html/search/classes_8.js new file mode 100644 index 0000000000..0dbb8ec3cf --- /dev/null +++ b/doc/ref/c++/html/search/classes_8.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['lock_5fguard',['lock_guard',['../classgrpc_1_1lock__guard.html',1,'grpc']]] +]; diff --git a/doc/ref/c++/html/search/classes_9.html b/doc/ref/c++/html/search/classes_9.html new file mode 100644 index 0000000000..4e83ac829b --- /dev/null +++ b/doc/ref/c++/html/search/classes_9.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++/html/search/classes_9.js b/doc/ref/c++/html/search/classes_9.js new file mode 100644 index 0000000000..22592dafa5 --- /dev/null +++ b/doc/ref/c++/html/search/classes_9.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['methodhandler',['MethodHandler',['../classgrpc_1_1_method_handler.html',1,'grpc']]], + ['mutex',['mutex',['../classgrpc_1_1mutex.html',1,'grpc']]] +]; diff --git a/doc/ref/c++/html/search/classes_a.html b/doc/ref/c++/html/search/classes_a.html new file mode 100644 index 0000000000..616feb69a2 --- /dev/null +++ b/doc/ref/c++/html/search/classes_a.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++/html/search/classes_a.js b/doc/ref/c++/html/search/classes_a.js new file mode 100644 index 0000000000..03e0761f94 --- /dev/null +++ b/doc/ref/c++/html/search/classes_a.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['pemkeycertpair',['PemKeyCertPair',['../structgrpc_1_1_ssl_server_credentials_options_1_1_pem_key_cert_pair.html',1,'grpc::SslServerCredentialsOptions']]] +]; diff --git a/doc/ref/c++/html/search/classes_b.html b/doc/ref/c++/html/search/classes_b.html new file mode 100644 index 0000000000..4461152200 --- /dev/null +++ b/doc/ref/c++/html/search/classes_b.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++/html/search/classes_b.js b/doc/ref/c++/html/search/classes_b.js new file mode 100644 index 0000000000..a293bc664d --- /dev/null +++ b/doc/ref/c++/html/search/classes_b.js @@ -0,0 +1,8 @@ +var searchData= +[ + ['readerinterface',['ReaderInterface',['../classgrpc_1_1_reader_interface.html',1,'grpc']]], + ['rpcmethod',['RpcMethod',['../classgrpc_1_1_rpc_method.html',1,'grpc']]], + ['rpcmethodhandler',['RpcMethodHandler',['../classgrpc_1_1_rpc_method_handler.html',1,'grpc']]], + ['rpcservice',['RpcService',['../classgrpc_1_1_rpc_service.html',1,'grpc']]], + ['rpcservicemethod',['RpcServiceMethod',['../classgrpc_1_1_rpc_service_method.html',1,'grpc']]] +]; diff --git a/doc/ref/c++/html/search/classes_c.html b/doc/ref/c++/html/search/classes_c.html new file mode 100644 index 0000000000..8f92c8632a --- /dev/null +++ b/doc/ref/c++/html/search/classes_c.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++/html/search/classes_c.js b/doc/ref/c++/html/search/classes_c.js new file mode 100644 index 0000000000..0f57ef5abb --- /dev/null +++ b/doc/ref/c++/html/search/classes_c.js @@ -0,0 +1,27 @@ +var searchData= +[ + ['serializationtraits',['SerializationTraits',['../classgrpc_1_1_serialization_traits.html',1,'grpc']]], + ['serializationtraits_3c_20bytebuffer_2c_20void_20_3e',['SerializationTraits< ByteBuffer, void >',['../classgrpc_1_1_serialization_traits_3_01_byte_buffer_00_01void_01_4.html',1,'grpc']]], + ['serializationtraits_3c_20t_2c_20typename_20std_3a_3aenable_5fif_3c_20std_3a_3ais_5fbase_5fof_3c_20grpc_3a_3aprotobuf_3a_3amessage_2c_20t_20_3e_3a_3avalue_20_3e_3a_3atype_20_3e',['SerializationTraits< T, typename std::enable_if< std::is_base_of< grpc::protobuf::Message, T >::value >::type >',['../classgrpc_1_1_serialization_traits_3_01_t_00_01typename_01std_1_1enable__if_3_01std_1_1is__base_42903f95c85f031c7724191271564901.html',1,'grpc']]], + ['server',['Server',['../classgrpc_1_1_server.html',1,'grpc']]], + ['serverasyncreader',['ServerAsyncReader',['../classgrpc_1_1_server_async_reader.html',1,'grpc']]], + ['serverasyncreaderwriter',['ServerAsyncReaderWriter',['../classgrpc_1_1_server_async_reader_writer.html',1,'grpc']]], + ['serverasyncresponsewriter',['ServerAsyncResponseWriter',['../classgrpc_1_1_server_async_response_writer.html',1,'grpc']]], + ['serverasyncstreaminginterface',['ServerAsyncStreamingInterface',['../classgrpc_1_1_server_async_streaming_interface.html',1,'grpc']]], + ['serverasyncwriter',['ServerAsyncWriter',['../classgrpc_1_1_server_async_writer.html',1,'grpc']]], + ['serverbuilder',['ServerBuilder',['../classgrpc_1_1_server_builder.html',1,'grpc']]], + ['servercompletionqueue',['ServerCompletionQueue',['../classgrpc_1_1_server_completion_queue.html',1,'grpc']]], + ['servercontext',['ServerContext',['../classgrpc_1_1_server_context.html',1,'grpc']]], + ['servercredentials',['ServerCredentials',['../classgrpc_1_1_server_credentials.html',1,'grpc']]], + ['serverreader',['ServerReader',['../classgrpc_1_1_server_reader.html',1,'grpc']]], + ['serverreaderwriter',['ServerReaderWriter',['../classgrpc_1_1_server_reader_writer.html',1,'grpc']]], + ['serverstreaminghandler',['ServerStreamingHandler',['../classgrpc_1_1_server_streaming_handler.html',1,'grpc']]], + ['serverwriter',['ServerWriter',['../classgrpc_1_1_server_writer.html',1,'grpc']]], + ['slice',['Slice',['../classgrpc_1_1_slice.html',1,'grpc']]], + ['sneakycallopset',['SneakyCallOpSet',['../classgrpc_1_1_sneaky_call_op_set.html',1,'grpc']]], + ['sneakycallopset_3c_20grpc_3a_3acallopsendinitialmetadata_2c_20grpc_3a_3acallopsendmessage_2c_20grpc_3a_3acallopclientsendclose_20_3e',['SneakyCallOpSet< grpc::CallOpSendInitialMetadata, grpc::CallOpSendMessage, grpc::CallOpClientSendClose >',['../classgrpc_1_1_sneaky_call_op_set.html',1,'grpc']]], + ['sslcredentialsoptions',['SslCredentialsOptions',['../structgrpc_1_1_ssl_credentials_options.html',1,'grpc']]], + ['sslservercredentialsoptions',['SslServerCredentialsOptions',['../structgrpc_1_1_ssl_server_credentials_options.html',1,'grpc']]], + ['status',['Status',['../classgrpc_1_1_status.html',1,'grpc']]], + ['synchronousservice',['SynchronousService',['../classgrpc_1_1_synchronous_service.html',1,'grpc']]] +]; diff --git a/doc/ref/c++/html/search/classes_d.html b/doc/ref/c++/html/search/classes_d.html new file mode 100644 index 0000000000..9690cf0bac --- /dev/null +++ b/doc/ref/c++/html/search/classes_d.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++/html/search/classes_d.js b/doc/ref/c++/html/search/classes_d.js new file mode 100644 index 0000000000..d1fd4bc820 --- /dev/null +++ b/doc/ref/c++/html/search/classes_d.js @@ -0,0 +1,8 @@ +var searchData= +[ + ['thread',['thread',['../classgrpc_1_1thread.html',1,'grpc']]], + ['threadpoolinterface',['ThreadPoolInterface',['../classgrpc_1_1_thread_pool_interface.html',1,'grpc']]], + ['timepoint',['TimePoint',['../classgrpc_1_1_time_point.html',1,'grpc']]], + ['timepoint_3c_20gpr_5ftimespec_20_3e',['TimePoint< gpr_timespec >',['../classgrpc_1_1_time_point_3_01gpr__timespec_01_4.html',1,'grpc']]], + ['timepoint_3c_20std_3a_3achrono_3a_3asystem_5fclock_3a_3atime_5fpoint_20_3e',['TimePoint< std::chrono::system_clock::time_point >',['../classgrpc_1_1_time_point_3_01std_1_1chrono_1_1system__clock_1_1time__point_01_4.html',1,'grpc']]] +]; diff --git a/doc/ref/c++/html/search/classes_e.html b/doc/ref/c++/html/search/classes_e.html new file mode 100644 index 0000000000..24a3ef3aba --- /dev/null +++ b/doc/ref/c++/html/search/classes_e.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++/html/search/classes_e.js b/doc/ref/c++/html/search/classes_e.js new file mode 100644 index 0000000000..71c7b99b3b --- /dev/null +++ b/doc/ref/c++/html/search/classes_e.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['unique_5flock',['unique_lock',['../classgrpc_1_1unique__lock.html',1,'grpc']]] +]; diff --git a/doc/ref/c++/html/search/classes_f.html b/doc/ref/c++/html/search/classes_f.html new file mode 100644 index 0000000000..cee523ad6b --- /dev/null +++ b/doc/ref/c++/html/search/classes_f.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++/html/search/classes_f.js b/doc/ref/c++/html/search/classes_f.js new file mode 100644 index 0000000000..782df7c817 --- /dev/null +++ b/doc/ref/c++/html/search/classes_f.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['writeoptions',['WriteOptions',['../classgrpc_1_1_write_options.html',1,'grpc']]], + ['writerinterface',['WriterInterface',['../classgrpc_1_1_writer_interface.html',1,'grpc']]] +]; diff --git a/doc/ref/c++/html/search/close.png b/doc/ref/c++/html/search/close.png new file mode 100644 index 0000000000..9342d3dfee Binary files /dev/null and b/doc/ref/c++/html/search/close.png differ diff --git a/doc/ref/c++/html/search/defines_0.html b/doc/ref/c++/html/search/defines_0.html new file mode 100644 index 0000000000..c2f0b46cfb --- /dev/null +++ b/doc/ref/c++/html/search/defines_0.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++/html/search/defines_0.js b/doc/ref/c++/html/search/defines_0.js new file mode 100644 index 0000000000..ef46b23b6b --- /dev/null +++ b/doc/ref/c++/html/search/defines_0.js @@ -0,0 +1,11 @@ +var searchData= +[ + ['grpc_5fcustom_5fcodedinputstream',['GRPC_CUSTOM_CODEDINPUTSTREAM',['../config__protobuf_8h.html#adab2e3bf138e8ee14fc7dc7957618d2f',1,'config_protobuf.h']]], + ['grpc_5fcustom_5fmessage',['GRPC_CUSTOM_MESSAGE',['../config__protobuf_8h.html#a9dada7a420bf3d91c428fa9699bd2ef3',1,'config_protobuf.h']]], + ['grpc_5fcustom_5fprotobuf_5fint64',['GRPC_CUSTOM_PROTOBUF_INT64',['../config__protobuf_8h.html#a42a6e2b3f439893077e50cdaa72e98f2',1,'config_protobuf.h']]], + ['grpc_5fcustom_5fstring',['GRPC_CUSTOM_STRING',['../config_8h.html#af6ef913b6d13d83d79be41d007120992',1,'config.h']]], + ['grpc_5fcustom_5fzerocopyinputstream',['GRPC_CUSTOM_ZEROCOPYINPUTSTREAM',['../config__protobuf_8h.html#a1a6610a655f8fd6d36672c729a865ca0',1,'config_protobuf.h']]], + ['grpc_5fcustom_5fzerocopyoutputstream',['GRPC_CUSTOM_ZEROCOPYOUTPUTSTREAM',['../config__protobuf_8h.html#a7630e432db31b2693f8c2be7d3c79ef8',1,'config_protobuf.h']]], + ['grpc_5ffinal',['GRPC_FINAL',['../config_8h.html#ab2216aa6e0ffe505e1ec362a9621a7f9',1,'config.h']]], + ['grpc_5foverride',['GRPC_OVERRIDE',['../config_8h.html#a9a884d706be26697c9c892365a3402a9',1,'config.h']]] +]; diff --git a/doc/ref/c++/html/search/enums_0.html b/doc/ref/c++/html/search/enums_0.html new file mode 100644 index 0000000000..b4cbe1e3ca --- /dev/null +++ b/doc/ref/c++/html/search/enums_0.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++/html/search/enums_0.js b/doc/ref/c++/html/search/enums_0.js new file mode 100644 index 0000000000..7e7b809a18 --- /dev/null +++ b/doc/ref/c++/html/search/enums_0.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['addref',['AddRef',['../classgrpc_1_1_slice.html#ac1e8469bbb6dfa9ab9e646e0b48f5fe2',1,'grpc::Slice']]] +]; diff --git a/doc/ref/c++/html/search/enums_1.html b/doc/ref/c++/html/search/enums_1.html new file mode 100644 index 0000000000..2af2a03ec9 --- /dev/null +++ b/doc/ref/c++/html/search/enums_1.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++/html/search/enums_1.js b/doc/ref/c++/html/search/enums_1.js new file mode 100644 index 0000000000..af4facc6cc --- /dev/null +++ b/doc/ref/c++/html/search/enums_1.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['nextstatus',['NextStatus',['../classgrpc_1_1_completion_queue.html#a6227657fb2f29291f80cd092f9baf572',1,'grpc::CompletionQueue']]] +]; diff --git a/doc/ref/c++/html/search/enums_2.html b/doc/ref/c++/html/search/enums_2.html new file mode 100644 index 0000000000..f96cf0a736 --- /dev/null +++ b/doc/ref/c++/html/search/enums_2.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++/html/search/enums_2.js b/doc/ref/c++/html/search/enums_2.js new file mode 100644 index 0000000000..9799e04f4b --- /dev/null +++ b/doc/ref/c++/html/search/enums_2.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['rpctype',['RpcType',['../classgrpc_1_1_rpc_method.html#ace95416ed07409e43059a0dfe9e23688',1,'grpc::RpcMethod']]] +]; diff --git a/doc/ref/c++/html/search/enums_3.html b/doc/ref/c++/html/search/enums_3.html new file mode 100644 index 0000000000..77df324aff --- /dev/null +++ b/doc/ref/c++/html/search/enums_3.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++/html/search/enums_3.js b/doc/ref/c++/html/search/enums_3.js new file mode 100644 index 0000000000..3aef7f9dbc --- /dev/null +++ b/doc/ref/c++/html/search/enums_3.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['statuscode',['StatusCode',['../namespacegrpc.html#aff1730578c90160528f6a8d67ef5c43b',1,'grpc']]], + ['stealref',['StealRef',['../classgrpc_1_1_slice.html#a13fbbec0e9121a8b948d563f9730d75a',1,'grpc::Slice']]] +]; diff --git a/doc/ref/c++/html/search/enumvalues_0.html b/doc/ref/c++/html/search/enumvalues_0.html new file mode 100644 index 0000000000..3e00fcf61a --- /dev/null +++ b/doc/ref/c++/html/search/enumvalues_0.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++/html/search/enumvalues_0.js b/doc/ref/c++/html/search/enumvalues_0.js new file mode 100644 index 0000000000..1595a760a4 --- /dev/null +++ b/doc/ref/c++/html/search/enumvalues_0.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['aborted',['ABORTED',['../namespacegrpc.html#aff1730578c90160528f6a8d67ef5c43ba8387a7175771975bee404def25236b0c',1,'grpc']]], + ['add_5fref',['ADD_REF',['../classgrpc_1_1_slice.html#ac1e8469bbb6dfa9ab9e646e0b48f5fe2a2ea965f79036dea69221557ec04580b2',1,'grpc::Slice']]], + ['already_5fexists',['ALREADY_EXISTS',['../namespacegrpc.html#aff1730578c90160528f6a8d67ef5c43baf48ac5527afcabd618d8b86f2de45b9b',1,'grpc']]] +]; diff --git a/doc/ref/c++/html/search/enumvalues_1.html b/doc/ref/c++/html/search/enumvalues_1.html new file mode 100644 index 0000000000..0e575c969a --- /dev/null +++ b/doc/ref/c++/html/search/enumvalues_1.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++/html/search/enumvalues_1.js b/doc/ref/c++/html/search/enumvalues_1.js new file mode 100644 index 0000000000..b49693e2a2 --- /dev/null +++ b/doc/ref/c++/html/search/enumvalues_1.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['bidi_5fstreaming',['BIDI_STREAMING',['../classgrpc_1_1_rpc_method.html#ace95416ed07409e43059a0dfe9e23688ae482ab481fdc406d88adcdd088269894',1,'grpc::RpcMethod']]] +]; diff --git a/doc/ref/c++/html/search/enumvalues_2.html b/doc/ref/c++/html/search/enumvalues_2.html new file mode 100644 index 0000000000..e59f4acb75 --- /dev/null +++ b/doc/ref/c++/html/search/enumvalues_2.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++/html/search/enumvalues_2.js b/doc/ref/c++/html/search/enumvalues_2.js new file mode 100644 index 0000000000..cd81ea50c3 --- /dev/null +++ b/doc/ref/c++/html/search/enumvalues_2.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['cancelled',['CANCELLED',['../namespacegrpc.html#aff1730578c90160528f6a8d67ef5c43bac3ef309c0b3f1c8a01265fa1a39ae4b2',1,'grpc']]], + ['client_5fstreaming',['CLIENT_STREAMING',['../classgrpc_1_1_rpc_method.html#ace95416ed07409e43059a0dfe9e23688a93445bd936c37c2f089f8a9075ebcb2a',1,'grpc::RpcMethod']]] +]; diff --git a/doc/ref/c++/html/search/enumvalues_3.html b/doc/ref/c++/html/search/enumvalues_3.html new file mode 100644 index 0000000000..0a2d754e4d --- /dev/null +++ b/doc/ref/c++/html/search/enumvalues_3.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++/html/search/enumvalues_3.js b/doc/ref/c++/html/search/enumvalues_3.js new file mode 100644 index 0000000000..31f375d694 --- /dev/null +++ b/doc/ref/c++/html/search/enumvalues_3.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['data_5floss',['DATA_LOSS',['../namespacegrpc.html#aff1730578c90160528f6a8d67ef5c43bac956d5194137e0238de8544479133688',1,'grpc']]], + ['deadline_5fexceeded',['DEADLINE_EXCEEDED',['../namespacegrpc.html#aff1730578c90160528f6a8d67ef5c43baed5a57c7db66fbdf1860e81edf716628',1,'grpc']]], + ['do_5fnot_5fuse',['DO_NOT_USE',['../namespacegrpc.html#aff1730578c90160528f6a8d67ef5c43ba7216941fd727fb92d71e10d85bfa5234',1,'grpc']]] +]; diff --git a/doc/ref/c++/html/search/enumvalues_4.html b/doc/ref/c++/html/search/enumvalues_4.html new file mode 100644 index 0000000000..1258082bbf --- /dev/null +++ b/doc/ref/c++/html/search/enumvalues_4.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++/html/search/enumvalues_4.js b/doc/ref/c++/html/search/enumvalues_4.js new file mode 100644 index 0000000000..2b0cf91706 --- /dev/null +++ b/doc/ref/c++/html/search/enumvalues_4.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['failed_5fprecondition',['FAILED_PRECONDITION',['../namespacegrpc.html#aff1730578c90160528f6a8d67ef5c43ba7f49e2cd3c20ab00710f61d7dbb88aa2',1,'grpc']]] +]; diff --git a/doc/ref/c++/html/search/enumvalues_5.html b/doc/ref/c++/html/search/enumvalues_5.html new file mode 100644 index 0000000000..e42d495996 --- /dev/null +++ b/doc/ref/c++/html/search/enumvalues_5.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++/html/search/enumvalues_5.js b/doc/ref/c++/html/search/enumvalues_5.js new file mode 100644 index 0000000000..10390f9de8 --- /dev/null +++ b/doc/ref/c++/html/search/enumvalues_5.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['got_5fevent',['GOT_EVENT',['../classgrpc_1_1_completion_queue.html#a6227657fb2f29291f80cd092f9baf572a5d8344849fb99341b7edaa9da7b42c08',1,'grpc::CompletionQueue']]] +]; diff --git a/doc/ref/c++/html/search/enumvalues_6.html b/doc/ref/c++/html/search/enumvalues_6.html new file mode 100644 index 0000000000..96249ec49e --- /dev/null +++ b/doc/ref/c++/html/search/enumvalues_6.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++/html/search/enumvalues_6.js b/doc/ref/c++/html/search/enumvalues_6.js new file mode 100644 index 0000000000..96a196818d --- /dev/null +++ b/doc/ref/c++/html/search/enumvalues_6.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['internal',['INTERNAL',['../namespacegrpc.html#aff1730578c90160528f6a8d67ef5c43ba0ae30536146394965fd8ad64c2d414f3',1,'grpc']]], + ['invalid_5fargument',['INVALID_ARGUMENT',['../namespacegrpc.html#aff1730578c90160528f6a8d67ef5c43ba8d75876e087d1950914920f499d4a8d2',1,'grpc']]] +]; diff --git a/doc/ref/c++/html/search/enumvalues_7.html b/doc/ref/c++/html/search/enumvalues_7.html new file mode 100644 index 0000000000..d38c296a1c --- /dev/null +++ b/doc/ref/c++/html/search/enumvalues_7.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++/html/search/enumvalues_7.js b/doc/ref/c++/html/search/enumvalues_7.js new file mode 100644 index 0000000000..950b3d878f --- /dev/null +++ b/doc/ref/c++/html/search/enumvalues_7.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['normal_5frpc',['NORMAL_RPC',['../classgrpc_1_1_rpc_method.html#ace95416ed07409e43059a0dfe9e23688a8f7dac3c5cdbdbb204e3d3dbab033c2e',1,'grpc::RpcMethod']]], + ['not_5ffound',['NOT_FOUND',['../namespacegrpc.html#aff1730578c90160528f6a8d67ef5c43bae5d4bec40cae17f03007d4febf36c8f5',1,'grpc']]] +]; diff --git a/doc/ref/c++/html/search/enumvalues_8.html b/doc/ref/c++/html/search/enumvalues_8.html new file mode 100644 index 0000000000..9966e4688c --- /dev/null +++ b/doc/ref/c++/html/search/enumvalues_8.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++/html/search/enumvalues_8.js b/doc/ref/c++/html/search/enumvalues_8.js new file mode 100644 index 0000000000..82f4afa6bd --- /dev/null +++ b/doc/ref/c++/html/search/enumvalues_8.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['ok',['OK',['../namespacegrpc.html#aff1730578c90160528f6a8d67ef5c43baf6f3078af147d683afc70e09695c7a65',1,'grpc']]], + ['out_5fof_5frange',['OUT_OF_RANGE',['../namespacegrpc.html#aff1730578c90160528f6a8d67ef5c43babb9d017cdfdd51b177b3591301c42901',1,'grpc']]] +]; diff --git a/doc/ref/c++/html/search/enumvalues_9.html b/doc/ref/c++/html/search/enumvalues_9.html new file mode 100644 index 0000000000..926ed9f2ec --- /dev/null +++ b/doc/ref/c++/html/search/enumvalues_9.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++/html/search/enumvalues_9.js b/doc/ref/c++/html/search/enumvalues_9.js new file mode 100644 index 0000000000..f595bbb03c --- /dev/null +++ b/doc/ref/c++/html/search/enumvalues_9.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['permission_5fdenied',['PERMISSION_DENIED',['../namespacegrpc.html#aff1730578c90160528f6a8d67ef5c43ba671e44044d68f82be37c8ec3b0a9c449',1,'grpc']]] +]; diff --git a/doc/ref/c++/html/search/enumvalues_a.html b/doc/ref/c++/html/search/enumvalues_a.html new file mode 100644 index 0000000000..fa2cf426b2 --- /dev/null +++ b/doc/ref/c++/html/search/enumvalues_a.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++/html/search/enumvalues_a.js b/doc/ref/c++/html/search/enumvalues_a.js new file mode 100644 index 0000000000..7836a4f2c7 --- /dev/null +++ b/doc/ref/c++/html/search/enumvalues_a.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['resource_5fexhausted',['RESOURCE_EXHAUSTED',['../namespacegrpc.html#aff1730578c90160528f6a8d67ef5c43ba663615dcb59881e3fe4206066666086f',1,'grpc']]] +]; diff --git a/doc/ref/c++/html/search/enumvalues_b.html b/doc/ref/c++/html/search/enumvalues_b.html new file mode 100644 index 0000000000..f45e84c9bb --- /dev/null +++ b/doc/ref/c++/html/search/enumvalues_b.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++/html/search/enumvalues_b.js b/doc/ref/c++/html/search/enumvalues_b.js new file mode 100644 index 0000000000..786ebe30f8 --- /dev/null +++ b/doc/ref/c++/html/search/enumvalues_b.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['server_5fstreaming',['SERVER_STREAMING',['../classgrpc_1_1_rpc_method.html#ace95416ed07409e43059a0dfe9e23688a86f700048be78a1204139f70912f7775',1,'grpc::RpcMethod']]], + ['shutdown',['SHUTDOWN',['../classgrpc_1_1_completion_queue.html#a6227657fb2f29291f80cd092f9baf572a5d05c1c970154dad10e5f648890c215b',1,'grpc::CompletionQueue']]], + ['steal_5fref',['STEAL_REF',['../classgrpc_1_1_slice.html#a13fbbec0e9121a8b948d563f9730d75aae0777a96d69fe69aec2acd1f0f9cefb7',1,'grpc::Slice']]] +]; diff --git a/doc/ref/c++/html/search/enumvalues_c.html b/doc/ref/c++/html/search/enumvalues_c.html new file mode 100644 index 0000000000..6ad81ca5dd --- /dev/null +++ b/doc/ref/c++/html/search/enumvalues_c.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++/html/search/enumvalues_c.js b/doc/ref/c++/html/search/enumvalues_c.js new file mode 100644 index 0000000000..827d08ef08 --- /dev/null +++ b/doc/ref/c++/html/search/enumvalues_c.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['timeout',['TIMEOUT',['../classgrpc_1_1_completion_queue.html#a6227657fb2f29291f80cd092f9baf572ae88eecb45f91413b425511ee973e2e04',1,'grpc::CompletionQueue']]] +]; diff --git a/doc/ref/c++/html/search/enumvalues_d.html b/doc/ref/c++/html/search/enumvalues_d.html new file mode 100644 index 0000000000..526907ab4d --- /dev/null +++ b/doc/ref/c++/html/search/enumvalues_d.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++/html/search/enumvalues_d.js b/doc/ref/c++/html/search/enumvalues_d.js new file mode 100644 index 0000000000..0fbd3f597e --- /dev/null +++ b/doc/ref/c++/html/search/enumvalues_d.js @@ -0,0 +1,7 @@ +var searchData= +[ + ['unauthenticated',['UNAUTHENTICATED',['../namespacegrpc.html#aff1730578c90160528f6a8d67ef5c43ba4290323b58d11554a249a870532c908e',1,'grpc']]], + ['unavailable',['UNAVAILABLE',['../namespacegrpc.html#aff1730578c90160528f6a8d67ef5c43ba87779003bbcfd441fd0ef335c13cb2c3',1,'grpc']]], + ['unimplemented',['UNIMPLEMENTED',['../namespacegrpc.html#aff1730578c90160528f6a8d67ef5c43ba31d8b2f1f3307ed261328cb3eece163b',1,'grpc']]], + ['unknown',['UNKNOWN',['../namespacegrpc.html#aff1730578c90160528f6a8d67ef5c43bab32b226dd4ccbe5b70fbceb3a915b256',1,'grpc']]] +]; diff --git a/doc/ref/c++/html/search/files_0.html b/doc/ref/c++/html/search/files_0.html new file mode 100644 index 0000000000..c7aa36c96f --- /dev/null +++ b/doc/ref/c++/html/search/files_0.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++/html/search/files_0.js b/doc/ref/c++/html/search/files_0.js new file mode 100644 index 0000000000..bfaa9710be --- /dev/null +++ b/doc/ref/c++/html/search/files_0.js @@ -0,0 +1,7 @@ +var searchData= +[ + ['async_5fgeneric_5fservice_2eh',['async_generic_service.h',['../async__generic__service_8h.html',1,'']]], + ['async_5funary_5fcall_2eh',['async_unary_call.h',['../async__unary__call_8h.html',1,'']]], + ['auth_5fcontext_2eh',['auth_context.h',['../auth__context_8h.html',1,'']]], + ['auth_5fproperty_5fiterator_2eh',['auth_property_iterator.h',['../auth__property__iterator_8h.html',1,'']]] +]; diff --git a/doc/ref/c++/html/search/files_1.html b/doc/ref/c++/html/search/files_1.html new file mode 100644 index 0000000000..eca1c80542 --- /dev/null +++ b/doc/ref/c++/html/search/files_1.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++/html/search/files_1.js b/doc/ref/c++/html/search/files_1.js new file mode 100644 index 0000000000..bf24ec0da5 --- /dev/null +++ b/doc/ref/c++/html/search/files_1.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['byte_5fbuffer_2eh',['byte_buffer.h',['../byte__buffer_8h.html',1,'']]] +]; diff --git a/doc/ref/c++/html/search/files_2.html b/doc/ref/c++/html/search/files_2.html new file mode 100644 index 0000000000..04a8a46342 --- /dev/null +++ b/doc/ref/c++/html/search/files_2.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++/html/search/files_2.js b/doc/ref/c++/html/search/files_2.js new file mode 100644 index 0000000000..845b7ef7bd --- /dev/null +++ b/doc/ref/c++/html/search/files_2.js @@ -0,0 +1,13 @@ +var searchData= +[ + ['call_2eh',['call.h',['../call_8h.html',1,'']]], + ['channel_5farguments_2eh',['channel_arguments.h',['../channel__arguments_8h.html',1,'']]], + ['channel_5finterface_2eh',['channel_interface.h',['../channel__interface_8h.html',1,'']]], + ['client_5fcontext_2eh',['client_context.h',['../client__context_8h.html',1,'']]], + ['client_5funary_5fcall_2eh',['client_unary_call.h',['../client__unary__call_8h.html',1,'']]], + ['completion_5fqueue_2eh',['completion_queue.h',['../completion__queue_8h.html',1,'']]], + ['config_2eh',['config.h',['../config_8h.html',1,'']]], + ['config_5fprotobuf_2eh',['config_protobuf.h',['../config__protobuf_8h.html',1,'']]], + ['create_5fchannel_2eh',['create_channel.h',['../create__channel_8h.html',1,'']]], + ['credentials_2eh',['credentials.h',['../credentials_8h.html',1,'']]] +]; diff --git a/doc/ref/c++/html/search/files_3.html b/doc/ref/c++/html/search/files_3.html new file mode 100644 index 0000000000..0dc9a561e5 --- /dev/null +++ b/doc/ref/c++/html/search/files_3.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++/html/search/files_3.js b/doc/ref/c++/html/search/files_3.js new file mode 100644 index 0000000000..55f82ad328 --- /dev/null +++ b/doc/ref/c++/html/search/files_3.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['dynamic_5fthread_5fpool_2eh',['dynamic_thread_pool.h',['../dynamic__thread__pool_8h.html',1,'']]] +]; diff --git a/doc/ref/c++/html/search/files_4.html b/doc/ref/c++/html/search/files_4.html new file mode 100644 index 0000000000..891b5da340 --- /dev/null +++ b/doc/ref/c++/html/search/files_4.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++/html/search/files_4.js b/doc/ref/c++/html/search/files_4.js new file mode 100644 index 0000000000..bef2c2edf2 --- /dev/null +++ b/doc/ref/c++/html/search/files_4.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['fixed_5fsize_5fthread_5fpool_2eh',['fixed_size_thread_pool.h',['../fixed__size__thread__pool_8h.html',1,'']]] +]; diff --git a/doc/ref/c++/html/search/files_5.html b/doc/ref/c++/html/search/files_5.html new file mode 100644 index 0000000000..1741195c0f --- /dev/null +++ b/doc/ref/c++/html/search/files_5.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++/html/search/files_5.js b/doc/ref/c++/html/search/files_5.js new file mode 100644 index 0000000000..777ac84d2b --- /dev/null +++ b/doc/ref/c++/html/search/files_5.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['generic_5fstub_2eh',['generic_stub.h',['../generic__stub_8h.html',1,'']]], + ['grpc_5flibrary_2eh',['grpc_library.h',['../grpc__library_8h.html',1,'']]] +]; diff --git a/doc/ref/c++/html/search/files_6.html b/doc/ref/c++/html/search/files_6.html new file mode 100644 index 0000000000..262d3da249 --- /dev/null +++ b/doc/ref/c++/html/search/files_6.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++/html/search/files_6.js b/doc/ref/c++/html/search/files_6.js new file mode 100644 index 0000000000..5daed0429a --- /dev/null +++ b/doc/ref/c++/html/search/files_6.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['internal_5fstub_2eh',['internal_stub.h',['../internal__stub_8h.html',1,'']]] +]; diff --git a/doc/ref/c++/html/search/files_7.html b/doc/ref/c++/html/search/files_7.html new file mode 100644 index 0000000000..c5355726df --- /dev/null +++ b/doc/ref/c++/html/search/files_7.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++/html/search/files_7.js b/doc/ref/c++/html/search/files_7.js new file mode 100644 index 0000000000..80b138147c --- /dev/null +++ b/doc/ref/c++/html/search/files_7.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['proto_5futils_2eh',['proto_utils.h',['../proto__utils_8h.html',1,'']]] +]; diff --git a/doc/ref/c++/html/search/files_8.html b/doc/ref/c++/html/search/files_8.html new file mode 100644 index 0000000000..21c328afad --- /dev/null +++ b/doc/ref/c++/html/search/files_8.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++/html/search/files_8.js b/doc/ref/c++/html/search/files_8.js new file mode 100644 index 0000000000..71fffb72b1 --- /dev/null +++ b/doc/ref/c++/html/search/files_8.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['rpc_5fmethod_2eh',['rpc_method.h',['../rpc__method_8h.html',1,'']]], + ['rpc_5fservice_5fmethod_2eh',['rpc_service_method.h',['../rpc__service__method_8h.html',1,'']]] +]; diff --git a/doc/ref/c++/html/search/files_9.html b/doc/ref/c++/html/search/files_9.html new file mode 100644 index 0000000000..00a520120c --- /dev/null +++ b/doc/ref/c++/html/search/files_9.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++/html/search/files_9.js b/doc/ref/c++/html/search/files_9.js new file mode 100644 index 0000000000..d1841de811 --- /dev/null +++ b/doc/ref/c++/html/search/files_9.js @@ -0,0 +1,16 @@ +var searchData= +[ + ['serialization_5ftraits_2eh',['serialization_traits.h',['../serialization__traits_8h.html',1,'']]], + ['server_2eh',['server.h',['../server_8h.html',1,'']]], + ['server_5fbuilder_2eh',['server_builder.h',['../server__builder_8h.html',1,'']]], + ['server_5fcontext_2eh',['server_context.h',['../server__context_8h.html',1,'']]], + ['server_5fcredentials_2eh',['server_credentials.h',['../server__credentials_8h.html',1,'']]], + ['service_5ftype_2eh',['service_type.h',['../service__type_8h.html',1,'']]], + ['slice_2eh',['slice.h',['../slice_8h.html',1,'']]], + ['status_2eh',['status.h',['../status_8h.html',1,'']]], + ['status_5fcode_5fenum_2eh',['status_code_enum.h',['../status__code__enum_8h.html',1,'']]], + ['stream_2eh',['stream.h',['../stream_8h.html',1,'']]], + ['sync_2eh',['sync.h',['../sync_8h.html',1,'']]], + ['sync_5fcxx11_2eh',['sync_cxx11.h',['../sync__cxx11_8h.html',1,'']]], + ['sync_5fno_5fcxx11_2eh',['sync_no_cxx11.h',['../sync__no__cxx11_8h.html',1,'']]] +]; diff --git a/doc/ref/c++/html/search/files_a.html b/doc/ref/c++/html/search/files_a.html new file mode 100644 index 0000000000..ab047558cc --- /dev/null +++ b/doc/ref/c++/html/search/files_a.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++/html/search/files_a.js b/doc/ref/c++/html/search/files_a.js new file mode 100644 index 0000000000..e1dee6f6dc --- /dev/null +++ b/doc/ref/c++/html/search/files_a.js @@ -0,0 +1,8 @@ +var searchData= +[ + ['thd_2eh',['thd.h',['../thd_8h.html',1,'']]], + ['thd_5fcxx11_2eh',['thd_cxx11.h',['../thd__cxx11_8h.html',1,'']]], + ['thd_5fno_5fcxx11_2eh',['thd_no_cxx11.h',['../thd__no__cxx11_8h.html',1,'']]], + ['thread_5fpool_5finterface_2eh',['thread_pool_interface.h',['../thread__pool__interface_8h.html',1,'']]], + ['time_2eh',['time.h',['../time_8h.html',1,'']]] +]; diff --git a/doc/ref/c++/html/search/functions_0.html b/doc/ref/c++/html/search/functions_0.html new file mode 100644 index 0000000000..16a5a527a8 --- /dev/null +++ b/doc/ref/c++/html/search/functions_0.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++/html/search/functions_0.js b/doc/ref/c++/html/search/functions_0.js new file mode 100644 index 0000000000..c56448c752 --- /dev/null +++ b/doc/ref/c++/html/search/functions_0.js @@ -0,0 +1,19 @@ +var searchData= +[ + ['accesstokencredentials',['AccessTokenCredentials',['../namespacegrpc.html#a2a08189bab0ce54afb01754bd92ebd7f',1,'grpc']]], + ['add',['Add',['../classgrpc_1_1_dynamic_thread_pool.html#aea1cdc7989a2d6ab8fb1906428dbea30',1,'grpc::DynamicThreadPool::Add()'],['../classgrpc_1_1_fixed_size_thread_pool.html#ad7ee348722d8d120720032fae96d3026',1,'grpc::FixedSizeThreadPool::Add()'],['../classgrpc_1_1_thread_pool_interface.html#aac6d805cc95ff8e0c8e366102cdd4dce',1,'grpc::ThreadPoolInterface::Add()']]], + ['addcompletionqueue',['AddCompletionQueue',['../classgrpc_1_1_server_builder.html#accbbd95080ca974e84fa1d4cb2ea9518',1,'grpc::ServerBuilder']]], + ['addinitialmetadata',['AddInitialMetadata',['../classgrpc_1_1_server_context.html#ae3371f0adf8521c7097eee437fc4ca4f',1,'grpc::ServerContext']]], + ['addlisteningport',['AddListeningPort',['../classgrpc_1_1_server_builder.html#a256e035e62b43cd79137abf7c066902a',1,'grpc::ServerBuilder']]], + ['addmetadata',['AddMetadata',['../classgrpc_1_1_client_context.html#a69a026f073ef5934697568d689440bd4',1,'grpc::ClientContext']]], + ['addmethod',['AddMethod',['../classgrpc_1_1_rpc_service.html#af2c7369056129ef2e6fde87f040ba578',1,'grpc::RpcService']]], + ['addop',['AddOp',['../classgrpc_1_1_call_no_op.html#a72c69197fb8ad18542e459bffbd8cbd8',1,'grpc::CallNoOp::AddOp()'],['../classgrpc_1_1_call_op_send_initial_metadata.html#ac57cf7a43da437b8b4556839f0403a77',1,'grpc::CallOpSendInitialMetadata::AddOp()'],['../classgrpc_1_1_call_op_send_message.html#a5d19fd3ab26c2b54868c9006f374728e',1,'grpc::CallOpSendMessage::AddOp()'],['../classgrpc_1_1_call_op_recv_message.html#a2d939fbfc75732244f389a5e2b97ab0a',1,'grpc::CallOpRecvMessage::AddOp()'],['../classgrpc_1_1_call_op_generic_recv_message.html#ac95faf8549212febce73cf6301238dfc',1,'grpc::CallOpGenericRecvMessage::AddOp()'],['../classgrpc_1_1_call_op_client_send_close.html#a4415b250cd6d5a82818ba159c272343a',1,'grpc::CallOpClientSendClose::AddOp()'],['../classgrpc_1_1_call_op_server_send_status.html#a7381b06ae0268853ebf9ed3b2737698b',1,'grpc::CallOpServerSendStatus::AddOp()'],['../classgrpc_1_1_call_op_recv_initial_metadata.html#a4f1684c4b023b4e2d348e53f80797f74',1,'grpc::CallOpRecvInitialMetadata::AddOp()'],['../classgrpc_1_1_call_op_client_recv_status.html#a12467c52794548c0022256c153ed7e62',1,'grpc::CallOpClientRecvStatus::AddOp()']]], + ['addtrailingmetadata',['AddTrailingMetadata',['../classgrpc_1_1_server_context.html#ac30e12c4ee3ca008522b24157f4f886c',1,'grpc::ServerContext']]], + ['applytocall',['ApplyToCall',['../classgrpc_1_1_credentials.html#a2b3162e0dbb4530ac1c4b81a0339b1e1',1,'grpc::Credentials']]], + ['assecurecredentials',['AsSecureCredentials',['../classgrpc_1_1_credentials.html#aefc960d2b52b15f2561946e0f840874f',1,'grpc::Credentials']]], + ['asyncgenericservice',['AsyncGenericService',['../classgrpc_1_1_async_generic_service.html#a60e3bd7ac8673ed0b49b1260a91518ae',1,'grpc::AsyncGenericService']]], + ['asynchronousservice',['AsynchronousService',['../classgrpc_1_1_asynchronous_service.html#aacdfbb6050c0d572892681ecd8c5b01b',1,'grpc::AsynchronousService']]], + ['asyncnext',['AsyncNext',['../classgrpc_1_1_completion_queue.html#a290ddf3d96e6d1d5886580e60b0602b4',1,'grpc::CompletionQueue']]], + ['auth_5fcontext',['auth_context',['../classgrpc_1_1_client_context.html#a02f279bf74e26d7c32d0b18dc73dccea',1,'grpc::ClientContext::auth_context()'],['../classgrpc_1_1_server_context.html#a2a8657d382cee53d670208d640383e8e',1,'grpc::ServerContext::auth_context()']]], + ['authpropertyiterator',['AuthPropertyIterator',['../classgrpc_1_1_auth_property_iterator.html#a2885e02ba1b9caad818a1bcdf648d949',1,'grpc::AuthPropertyIterator::AuthPropertyIterator()'],['../classgrpc_1_1_auth_property_iterator.html#aee44bb7255a99611cf490532b7e110d5',1,'grpc::AuthPropertyIterator::AuthPropertyIterator(const grpc_auth_property *property, const grpc_auth_property_iterator *iter)']]] +]; diff --git a/doc/ref/c++/html/search/functions_1.html b/doc/ref/c++/html/search/functions_1.html new file mode 100644 index 0000000000..3b4eacfebf --- /dev/null +++ b/doc/ref/c++/html/search/functions_1.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++/html/search/functions_1.js b/doc/ref/c++/html/search/functions_1.js new file mode 100644 index 0000000000..6ee652e372 --- /dev/null +++ b/doc/ref/c++/html/search/functions_1.js @@ -0,0 +1,8 @@ +var searchData= +[ + ['begin',['begin',['../classgrpc_1_1_auth_context.html#a4a4a9e18e05e1a06cf25b8a77edd8c89',1,'grpc::AuthContext::begin()'],['../classgrpc_1_1_slice.html#ad7b0a21bd37c2ed9899c369777cc9fb8',1,'grpc::Slice::begin()']]], + ['bidistreaminghandler',['BidiStreamingHandler',['../classgrpc_1_1_bidi_streaming_handler.html#a341a08e8b6bab7dfd8debe0ed0178b34',1,'grpc::BidiStreamingHandler']]], + ['blockingunarycall',['BlockingUnaryCall',['../namespacegrpc.html#a35d5687ea2da09f9376f2caa42a1db1b',1,'grpc']]], + ['buildandstart',['BuildAndStart',['../classgrpc_1_1_server_builder.html#af284cd39b185043e8e92405c1ae0f310',1,'grpc::ServerBuilder']]], + ['bytebuffer',['ByteBuffer',['../classgrpc_1_1_byte_buffer.html#aa3037355cbd37dce99c97e5c3700a76b',1,'grpc::ByteBuffer::ByteBuffer()'],['../classgrpc_1_1_byte_buffer.html#aa1f69f81c3cb03c61b544a0222e83004',1,'grpc::ByteBuffer::ByteBuffer(const Slice *slices, size_t nslices)']]] +]; diff --git a/doc/ref/c++/html/search/functions_10.html b/doc/ref/c++/html/search/functions_10.html new file mode 100644 index 0000000000..52cb0d3c43 --- /dev/null +++ b/doc/ref/c++/html/search/functions_10.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++/html/search/functions_10.js b/doc/ref/c++/html/search/functions_10.js new file mode 100644 index 0000000000..8ae368afec --- /dev/null +++ b/doc/ref/c++/html/search/functions_10.js @@ -0,0 +1,46 @@ +var searchData= +[ + ['sendinitialmetadata',['SendInitialMetadata',['../classgrpc_1_1_server_async_response_writer.html#a76be68485a36629af40560aa1f1de0b7',1,'grpc::ServerAsyncResponseWriter::SendInitialMetadata()'],['../classgrpc_1_1_call_op_send_initial_metadata.html#a1d7682714b83f3bf495be8a7804fd34d',1,'grpc::CallOpSendInitialMetadata::SendInitialMetadata()'],['../classgrpc_1_1_server_async_streaming_interface.html#ab2d5db2b2ca3032994396543a8bb044c',1,'grpc::ServerAsyncStreamingInterface::SendInitialMetadata()'],['../classgrpc_1_1_server_reader.html#ad2cc630d207d246a851daa339bda479b',1,'grpc::ServerReader::SendInitialMetadata()'],['../classgrpc_1_1_server_writer.html#aa53df518d62478d0dbbe6f2f6ec44274',1,'grpc::ServerWriter::SendInitialMetadata()'],['../classgrpc_1_1_server_reader_writer.html#a91d0c7316a266b7e8f5447a6f3362fe5',1,'grpc::ServerReaderWriter::SendInitialMetadata()'],['../classgrpc_1_1_server_async_reader.html#a5d05028563e789203225c0ba548710b6',1,'grpc::ServerAsyncReader::SendInitialMetadata()'],['../classgrpc_1_1_server_async_writer.html#ad3a6ab6a46639131770efd0149d04455',1,'grpc::ServerAsyncWriter::SendInitialMetadata()'],['../classgrpc_1_1_server_async_reader_writer.html#ab40293c8bda8123b5c0e7a0455860533',1,'grpc::ServerAsyncReaderWriter::SendInitialMetadata()']]], + ['sendmessage',['SendMessage',['../classgrpc_1_1_call_op_send_message.html#a3cf3a795e98b7db1488ba6c098ac7dd9',1,'grpc::CallOpSendMessage::SendMessage(const M &message, const WriteOptions &options) GRPC_MUST_USE_RESULT'],['../classgrpc_1_1_call_op_send_message.html#ad9928eeba69f23f54d1c378517a15222',1,'grpc::CallOpSendMessage::SendMessage(const M &message) GRPC_MUST_USE_RESULT']]], + ['serialize',['Serialize',['../classgrpc_1_1_serialization_traits_3_01_byte_buffer_00_01void_01_4.html#a142e6455c0e040332f57bd3a35eebd33',1,'grpc::SerializationTraits< ByteBuffer, void >::Serialize()'],['../classgrpc_1_1_serialization_traits_3_01_t_00_01typename_01std_1_1enable__if_3_01std_1_1is__base_42903f95c85f031c7724191271564901.html#adeebcdc9be666be418d94c021179762c',1,'grpc::SerializationTraits< T, typename std::enable_if< std::is_base_of< grpc::protobuf::Message, T >::value >::type >::Serialize()']]], + ['serializeproto',['SerializeProto',['../namespacegrpc.html#a453a85937625eaa278403fd7e33cd7bb',1,'grpc']]], + ['serverasyncreader',['ServerAsyncReader',['../classgrpc_1_1_server_async_reader.html#a7f351e1d526b250336402ee03b8cc75e',1,'grpc::ServerAsyncReader']]], + ['serverasyncreaderwriter',['ServerAsyncReaderWriter',['../classgrpc_1_1_server_async_reader_writer.html#af2b106bee556273e61541950502237ef',1,'grpc::ServerAsyncReaderWriter']]], + ['serverasyncresponsewriter',['ServerAsyncResponseWriter',['../classgrpc_1_1_server_async_response_writer.html#a3c97a19ba6eaa0b9eef9b6b86dbad9e9',1,'grpc::ServerAsyncResponseWriter']]], + ['serverasyncwriter',['ServerAsyncWriter',['../classgrpc_1_1_server_async_writer.html#aa841b99fddf9ce347b9c617058f179f2',1,'grpc::ServerAsyncWriter']]], + ['serverbuilder',['ServerBuilder',['../classgrpc_1_1_server_builder.html#a208346e343cd01351492f0cace59b242',1,'grpc::ServerBuilder']]], + ['servercontext',['ServerContext',['../classgrpc_1_1_server_context.html#a10f47e15934195dcaed6b756498b8fff',1,'grpc::ServerContext']]], + ['serverreader',['ServerReader',['../classgrpc_1_1_server_reader.html#a43e6b5258cfc623fa719884fce957521',1,'grpc::ServerReader']]], + ['serverreaderwriter',['ServerReaderWriter',['../classgrpc_1_1_server_reader_writer.html#a8dfe4a7bf682d51c423c2cb2a71e8b52',1,'grpc::ServerReaderWriter']]], + ['serversendstatus',['ServerSendStatus',['../classgrpc_1_1_call_op_server_send_status.html#ac2720fa707f1fe321afdf3a971bebcf7',1,'grpc::CallOpServerSendStatus']]], + ['serverstreaminghandler',['ServerStreamingHandler',['../classgrpc_1_1_server_streaming_handler.html#af846a2bd80177f74bca1007597fbd2a5',1,'grpc::ServerStreamingHandler']]], + ['serverwriter',['ServerWriter',['../classgrpc_1_1_server_writer.html#a119c720c14d6835a8bc40a4ed615f0f2',1,'grpc::ServerWriter']]], + ['service',['service',['../classgrpc_1_1_synchronous_service.html#ad9eb51c9dc0cedfd838c23db47349796',1,'grpc::SynchronousService']]], + ['serviceaccountcredentials',['ServiceAccountCredentials',['../namespacegrpc.html#af2624b99e948624865a346311a613848',1,'grpc']]], + ['serviceaccountjwtaccesscredentials',['ServiceAccountJWTAccessCredentials',['../namespacegrpc.html#a5802d0b8e29f4937281c57bbe07f3517',1,'grpc']]], + ['set_5fauthority',['set_authority',['../classgrpc_1_1_client_context.html#a43bb17bbd6ab49face3793e8883c5682',1,'grpc::ClientContext']]], + ['set_5fbuffer_5fhint',['set_buffer_hint',['../classgrpc_1_1_write_options.html#aecd282a8c7424e4b0c1a5f512c44b8a8',1,'grpc::WriteOptions']]], + ['set_5fcensus_5fcontext',['set_census_context',['../classgrpc_1_1_client_context.html#a48672c1e42084d2cd6975746b84658dd',1,'grpc::ClientContext']]], + ['set_5fcompression_5falgorithm',['set_compression_algorithm',['../classgrpc_1_1_client_context.html#a67a71b32afe1d71189aa3a24146ec61d',1,'grpc::ClientContext::set_compression_algorithm()'],['../classgrpc_1_1_server_context.html#ade949b886faed50627e5cbd35fe4ec72',1,'grpc::ServerContext::set_compression_algorithm()']]], + ['set_5fcompression_5flevel',['set_compression_level',['../classgrpc_1_1_server_context.html#accfdf160f46aa20eda843443c3eea91d',1,'grpc::ServerContext']]], + ['set_5fcredentials',['set_credentials',['../classgrpc_1_1_client_context.html#ac09d9bcb018a58c970adbab7ecd201cb',1,'grpc::ClientContext']]], + ['set_5fdeadline',['set_deadline',['../classgrpc_1_1_client_context.html#ad4e16866fee3f6ee5a10efb5be6f4da6',1,'grpc::ClientContext']]], + ['set_5fmax_5fmessage_5fsize',['set_max_message_size',['../classgrpc_1_1_call_op_set_interface.html#ac1e3a95ce9a1727011b7e7ce76829f0a',1,'grpc::CallOpSetInterface']]], + ['set_5fno_5fcompression',['set_no_compression',['../classgrpc_1_1_write_options.html#afe5f12d1bf9ed01b7a833458dc889b66',1,'grpc::WriteOptions']]], + ['set_5foutput_5ftag',['set_output_tag',['../classgrpc_1_1_call_op_set.html#a798d253af317730a5b996a4a55d86274',1,'grpc::CallOpSet']]], + ['setchannelargs',['SetChannelArgs',['../classgrpc_1_1_channel_arguments.html#a90ce1857947d36ff894402ad10cb6048',1,'grpc::ChannelArguments']]], + ['setcompressionalgorithm',['SetCompressionAlgorithm',['../classgrpc_1_1_channel_arguments.html#aaf332071bbdff5e4a7f3352f4ad564d5',1,'grpc::ChannelArguments']]], + ['setint',['SetInt',['../classgrpc_1_1_channel_arguments.html#a2b1c60568a4906bfe0b21781b09cdbbf',1,'grpc::ChannelArguments']]], + ['setmaxmessagesize',['SetMaxMessageSize',['../classgrpc_1_1_server_builder.html#ae1e6314004fba16607b883b8cc81f5c9',1,'grpc::ServerBuilder']]], + ['setssltargetnameoverride',['SetSslTargetNameOverride',['../classgrpc_1_1_channel_arguments.html#af4182e659448184f9618f079a1570328',1,'grpc::ChannelArguments']]], + ['setstring',['SetString',['../classgrpc_1_1_channel_arguments.html#a852ac2fe0ac7421fa82927ddda612947',1,'grpc::ChannelArguments']]], + ['setthreadpool',['SetThreadPool',['../classgrpc_1_1_server_builder.html#aea5dd313149029114c60571e5ee8b4cd',1,'grpc::ServerBuilder']]], + ['shutdown',['Shutdown',['../classgrpc_1_1_completion_queue.html#a40efddadd9073386fbcb4f46e8325670',1,'grpc::CompletionQueue::Shutdown()'],['../classgrpc_1_1_server.html#a777a9c8873ae4969585083e0e62482dc',1,'grpc::Server::Shutdown()']]], + ['size',['size',['../classgrpc_1_1_slice.html#aa216fa6d6e98e5e2677b7d33fb4af724',1,'grpc::Slice']]], + ['slice',['Slice',['../classgrpc_1_1_slice.html#a8c5179cf7a39f66d65887bf298dc548f',1,'grpc::Slice::Slice()'],['../classgrpc_1_1_slice.html#a0cf5718377c0ae4584d58bb6c1b042f2',1,'grpc::Slice::Slice(gpr_slice slice, AddRef)'],['../classgrpc_1_1_slice.html#ad952f787620a1fe4c519e53e9e1aa921',1,'grpc::Slice::Slice(gpr_slice slice, StealRef)'],['../classgrpc_1_1_slice.html#a0a6b936d72f7ae35f083d003d3e0c8a3',1,'grpc::Slice::Slice(const Slice &other)']]], + ['sslcredentials',['SslCredentials',['../namespacegrpc.html#adeb675883da0c9ad8ae4dd38214c3f16',1,'grpc']]], + ['sslservercredentials',['SslServerCredentials',['../namespacegrpc.html#adf4e07954696095e27c0181691a1f752',1,'grpc']]], + ['sslservercredentialsoptions',['SslServerCredentialsOptions',['../structgrpc_1_1_ssl_server_credentials_options.html#ae85661f17b0dd9f4fc27275203e5f105',1,'grpc::SslServerCredentialsOptions']]], + ['status',['Status',['../classgrpc_1_1_status.html#a46537b45349a95126a16dcd67b5cf54c',1,'grpc::Status::Status()'],['../classgrpc_1_1_status.html#a8419a0b716f961c8d2d781c65f03def6',1,'grpc::Status::Status(StatusCode code, const grpc::string &details)']]], + ['swap',['Swap',['../classgrpc_1_1_channel_arguments.html#a3ff4f22c2cf31c01885b2aaefbdd227d',1,'grpc::ChannelArguments']]] +]; diff --git a/doc/ref/c++/html/search/functions_11.html b/doc/ref/c++/html/search/functions_11.html new file mode 100644 index 0000000000..5e91b098a9 --- /dev/null +++ b/doc/ref/c++/html/search/functions_11.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++/html/search/functions_11.js b/doc/ref/c++/html/search/functions_11.js new file mode 100644 index 0000000000..c5c4e0443c --- /dev/null +++ b/doc/ref/c++/html/search/functions_11.js @@ -0,0 +1,9 @@ +var searchData= +[ + ['thread',['thread',['../classgrpc_1_1thread.html#a02b103e08092d24bf65e1a7b5b384269',1,'grpc::thread']]], + ['timepoint',['TimePoint',['../classgrpc_1_1_time_point.html#aebfa8f327b7609f7e895845b36f060ad',1,'grpc::TimePoint::TimePoint()'],['../classgrpc_1_1_time_point_3_01gpr__timespec_01_4.html#a092aa1afe85bf73a10bf906bb9924007',1,'grpc::TimePoint< gpr_timespec >::TimePoint()'],['../classgrpc_1_1_time_point_3_01std_1_1chrono_1_1system__clock_1_1time__point_01_4.html#ad4276af3251c142fbe7f161391609d4f',1,'grpc::TimePoint< std::chrono::system_clock::time_point >::TimePoint()']]], + ['timepoint2timespec',['Timepoint2Timespec',['../namespacegrpc.html#a4e160d3739280d51ec130ab1bb1c549c',1,'grpc']]], + ['timepointhr2timespec',['TimepointHR2Timespec',['../namespacegrpc.html#a8b3b542af97e1ae35f327c7095d98369',1,'grpc']]], + ['timespec2timepoint',['Timespec2Timepoint',['../namespacegrpc.html#a12896f279762d0100669da708d466ec1',1,'grpc']]], + ['trycancel',['TryCancel',['../classgrpc_1_1_client_context.html#abd0f6715c30287b75288015eee628984',1,'grpc::ClientContext']]] +]; diff --git a/doc/ref/c++/html/search/functions_12.html b/doc/ref/c++/html/search/functions_12.html new file mode 100644 index 0000000000..1ab0742ba6 --- /dev/null +++ b/doc/ref/c++/html/search/functions_12.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++/html/search/functions_12.js b/doc/ref/c++/html/search/functions_12.js new file mode 100644 index 0000000000..2850e1cacc --- /dev/null +++ b/doc/ref/c++/html/search/functions_12.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['unique_5flock',['unique_lock',['../classgrpc_1_1unique__lock.html#ad82b43eea850ccccf7a1682668c3a633',1,'grpc::unique_lock']]], + ['unlock',['unlock',['../classgrpc_1_1unique__lock.html#af631f112239d5fb5aeff2ed1335e7ccd',1,'grpc::unique_lock']]], + ['unlock_5finternal',['unlock_internal',['../classgrpc_1_1lock__guard.html#a84bc9261c3b0c0bb3824265c31ce26c5',1,'grpc::lock_guard']]] +]; diff --git a/doc/ref/c++/html/search/functions_13.html b/doc/ref/c++/html/search/functions_13.html new file mode 100644 index 0000000000..724f5c1089 --- /dev/null +++ b/doc/ref/c++/html/search/functions_13.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++/html/search/functions_13.js b/doc/ref/c++/html/search/functions_13.js new file mode 100644 index 0000000000..6d70f866ed --- /dev/null +++ b/doc/ref/c++/html/search/functions_13.js @@ -0,0 +1,8 @@ +var searchData= +[ + ['wait',['Wait',['../classgrpc_1_1_server.html#a6f1ec2700c94637813178a5b5f71d6d5',1,'grpc::Server::Wait()'],['../classgrpc_1_1condition__variable.html#a58cced6338389e99d7e663ba0ab5aed8',1,'grpc::condition_variable::wait()']]], + ['waitforinitialmetadata',['WaitForInitialMetadata',['../classgrpc_1_1_client_reader_interface.html#aee87dd6e3e8a40853207ceb53b590b19',1,'grpc::ClientReaderInterface::WaitForInitialMetadata()'],['../classgrpc_1_1_client_reader.html#ad471c81c02db253508b9fd599beab93e',1,'grpc::ClientReader::WaitForInitialMetadata()'],['../classgrpc_1_1_client_reader_writer_interface.html#a6ead554cc1b991f2289b26fb80fdde5e',1,'grpc::ClientReaderWriterInterface::WaitForInitialMetadata()'],['../classgrpc_1_1_client_reader_writer.html#af19ce81004b69300aa18d9ce14be29be',1,'grpc::ClientReaderWriter::WaitForInitialMetadata()']]], + ['write',['Write',['../classgrpc_1_1_writer_interface.html#aa6b2aeb8957265b62bdc063b48f15d44',1,'grpc::WriterInterface::Write(const W &msg, const WriteOptions &options)=0'],['../classgrpc_1_1_writer_interface.html#a5ddbce2a74455afea61fc21e16b01c6a',1,'grpc::WriterInterface::Write(const W &msg)'],['../classgrpc_1_1_client_writer.html#a4c6b81e2d624886c7e86b9b774121e36',1,'grpc::ClientWriter::Write()'],['../classgrpc_1_1_client_reader_writer.html#a5e579c3ff2854b7776fe125a0a0cf762',1,'grpc::ClientReaderWriter::Write()'],['../classgrpc_1_1_server_writer.html#a995e4cbb3661bfdb2cf51ec2b5975a1a',1,'grpc::ServerWriter::Write()'],['../classgrpc_1_1_server_reader_writer.html#ab416079f6464c056c772f7a1ecb69467',1,'grpc::ServerReaderWriter::Write()'],['../classgrpc_1_1_async_writer_interface.html#a40c1091ac5cb5243c874da725ae291b4',1,'grpc::AsyncWriterInterface::Write()'],['../classgrpc_1_1_client_async_writer.html#a544f9e4c310b251bf3c7b84fd035d20a',1,'grpc::ClientAsyncWriter::Write()'],['../classgrpc_1_1_client_async_reader_writer.html#ac3cb288c3bd9d1b826fd726bd2655be3',1,'grpc::ClientAsyncReaderWriter::Write()'],['../classgrpc_1_1_server_async_writer.html#a7027a65f3d84ff275b130cf9a0f170f5',1,'grpc::ServerAsyncWriter::Write()'],['../classgrpc_1_1_server_async_reader_writer.html#ad0d2750db5e195d053e3361e1ff0df35',1,'grpc::ServerAsyncReaderWriter::Write()']]], + ['writeoptions',['WriteOptions',['../classgrpc_1_1_write_options.html#a6a4e429313200ed6c017c5d306e26e93',1,'grpc::WriteOptions::WriteOptions()'],['../classgrpc_1_1_write_options.html#a4d7753bbd8d9d61e2c6d3e49e29be021',1,'grpc::WriteOptions::WriteOptions(const WriteOptions &other)']]], + ['writesdone',['WritesDone',['../classgrpc_1_1_client_writer_interface.html#aff19574252338e9ac1b5446e82ed8ac5',1,'grpc::ClientWriterInterface::WritesDone()'],['../classgrpc_1_1_client_writer.html#abfb6738c132b9ebe49024dc1bf1e9352',1,'grpc::ClientWriter::WritesDone()'],['../classgrpc_1_1_client_reader_writer_interface.html#a52f4e5d5ac7fe0e4995cb337aa0ecfc8',1,'grpc::ClientReaderWriterInterface::WritesDone()'],['../classgrpc_1_1_client_reader_writer.html#a5ed775777711d64b848f31260aef2898',1,'grpc::ClientReaderWriter::WritesDone()'],['../classgrpc_1_1_client_async_writer_interface.html#a488d42d85f8e34902401e013572ff822',1,'grpc::ClientAsyncWriterInterface::WritesDone()'],['../classgrpc_1_1_client_async_writer.html#af9fbf77049c3e5402913c0edeccf3d47',1,'grpc::ClientAsyncWriter::WritesDone()'],['../classgrpc_1_1_client_async_reader_writer_interface.html#a878193880df68ab969b697f1fcd7dbc3',1,'grpc::ClientAsyncReaderWriterInterface::WritesDone()'],['../classgrpc_1_1_client_async_reader_writer.html#ae431aa00a64f2685b60ec853334e6637',1,'grpc::ClientAsyncReaderWriter::WritesDone()']]] +]; diff --git a/doc/ref/c++/html/search/functions_14.html b/doc/ref/c++/html/search/functions_14.html new file mode 100644 index 0000000000..396906bd30 --- /dev/null +++ b/doc/ref/c++/html/search/functions_14.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++/html/search/functions_14.js b/doc/ref/c++/html/search/functions_14.js new file mode 100644 index 0000000000..b68eeabcfc --- /dev/null +++ b/doc/ref/c++/html/search/functions_14.js @@ -0,0 +1,37 @@ +var searchData= +[ + ['_7easynchronousservice',['~AsynchronousService',['../classgrpc_1_1_asynchronous_service.html#a0f1526b3617c6b69d4774194acc6aa00',1,'grpc::AsynchronousService']]], + ['_7easyncreaderinterface',['~AsyncReaderInterface',['../classgrpc_1_1_async_reader_interface.html#ac7845d2df90fb380008aadb7f5f2f379',1,'grpc::AsyncReaderInterface']]], + ['_7easyncwriterinterface',['~AsyncWriterInterface',['../classgrpc_1_1_async_writer_interface.html#a94cc9e4ed13c8fe4a1d883d465477ddd',1,'grpc::AsyncWriterInterface']]], + ['_7eauthcontext',['~AuthContext',['../classgrpc_1_1_auth_context.html#a3784c5f4eeab56a8524da29981548464',1,'grpc::AuthContext']]], + ['_7eauthpropertyiterator',['~AuthPropertyIterator',['../classgrpc_1_1_auth_property_iterator.html#a91a3a2ce5085a948aac11d7371c13b49',1,'grpc::AuthPropertyIterator']]], + ['_7ebytebuffer',['~ByteBuffer',['../classgrpc_1_1_byte_buffer.html#aeb5dd0045ed262de06481465326bd64a',1,'grpc::ByteBuffer']]], + ['_7ecallhook',['~CallHook',['../classgrpc_1_1_call_hook.html#a4aa1cf199f80f6475c6da0ad679c5d9d',1,'grpc::CallHook']]], + ['_7echannelarguments',['~ChannelArguments',['../classgrpc_1_1_channel_arguments.html#a8058adf243855c3a44030c23ccec05ad',1,'grpc::ChannelArguments']]], + ['_7echannelinterface',['~ChannelInterface',['../classgrpc_1_1_channel_interface.html#a3f5145d4778aa952540dc9983cefe13f',1,'grpc::ChannelInterface']]], + ['_7eclientasyncresponsereaderinterface',['~ClientAsyncResponseReaderInterface',['../classgrpc_1_1_client_async_response_reader_interface.html#aa97dc1ab6a7160a489d2e555102bf5a0',1,'grpc::ClientAsyncResponseReaderInterface']]], + ['_7eclientasyncstreaminginterface',['~ClientAsyncStreamingInterface',['../classgrpc_1_1_client_async_streaming_interface.html#a103c33e82dbf1715749886c4249f3f28',1,'grpc::ClientAsyncStreamingInterface']]], + ['_7eclientcontext',['~ClientContext',['../classgrpc_1_1_client_context.html#aeb77ea760faf8f96e775812806c0a3d9',1,'grpc::ClientContext']]], + ['_7eclientstreaminginterface',['~ClientStreamingInterface',['../classgrpc_1_1_client_streaming_interface.html#a312c9454c0f950e1c75b5c802bcbb00e',1,'grpc::ClientStreamingInterface']]], + ['_7ecompletionqueue',['~CompletionQueue',['../classgrpc_1_1_completion_queue.html#aa0534391b20562e7e4cdc12daf0e36b0',1,'grpc::CompletionQueue']]], + ['_7ecompletionqueuetag',['~CompletionQueueTag',['../classgrpc_1_1_completion_queue_tag.html#a2cbf0212ed795c79f98c3421ed0cb4ab',1,'grpc::CompletionQueueTag']]], + ['_7econdition_5fvariable',['~condition_variable',['../classgrpc_1_1condition__variable.html#ab96cbd3448680ce017794565847181ca',1,'grpc::condition_variable']]], + ['_7ecredentials',['~Credentials',['../classgrpc_1_1_credentials.html#af4e8a65a6cee2b847e11134671c213f2',1,'grpc::Credentials']]], + ['_7edynamicthreadpool',['~DynamicThreadPool',['../classgrpc_1_1_dynamic_thread_pool.html#a9a81f1b15a357a8ca6cb3d7fef7a5456',1,'grpc::DynamicThreadPool']]], + ['_7efixedsizethreadpool',['~FixedSizeThreadPool',['../classgrpc_1_1_fixed_size_thread_pool.html#aa31a8326a490c77e0e04b6df7ac3d7f8',1,'grpc::FixedSizeThreadPool']]], + ['_7egrpclibrary',['~GrpcLibrary',['../classgrpc_1_1_grpc_library.html#adadb2fbc794175c8c4578bf283b009a8',1,'grpc::GrpcLibrary']]], + ['_7einternalstub',['~InternalStub',['../classgrpc_1_1_internal_stub.html#a43127d606386366f5935c08a21da059e',1,'grpc::InternalStub']]], + ['_7elock_5fguard',['~lock_guard',['../classgrpc_1_1lock__guard.html#ac99f7ed1e7b1e177a20b23f230eaf1c2',1,'grpc::lock_guard']]], + ['_7emethodhandler',['~MethodHandler',['../classgrpc_1_1_method_handler.html#afc792a35059d6c46b78d7d9410f9a4b0',1,'grpc::MethodHandler']]], + ['_7emutex',['~mutex',['../classgrpc_1_1mutex.html#a318a9bdff2281779aaea87344d6a3e5a',1,'grpc::mutex']]], + ['_7ereaderinterface',['~ReaderInterface',['../classgrpc_1_1_reader_interface.html#a1fbd3d6e86e2f97e5444f29b0af0a9d5',1,'grpc::ReaderInterface']]], + ['_7eserver',['~Server',['../classgrpc_1_1_server.html#aa13591ff1bb2c5d871778189b391feb2',1,'grpc::Server']]], + ['_7eserverasyncstreaminginterface',['~ServerAsyncStreamingInterface',['../classgrpc_1_1_server_async_streaming_interface.html#af7c2bc176a6658e86a74a1cacd53d3bc',1,'grpc::ServerAsyncStreamingInterface']]], + ['_7eservercontext',['~ServerContext',['../classgrpc_1_1_server_context.html#afd37847b1bdba2f82e472fed6f31cea6',1,'grpc::ServerContext']]], + ['_7eservercredentials',['~ServerCredentials',['../classgrpc_1_1_server_credentials.html#aa5df8a7a8f509a96f23ef8943a0306ff',1,'grpc::ServerCredentials']]], + ['_7eslice',['~Slice',['../classgrpc_1_1_slice.html#a1f89af608ad9e5bbc2870d4ee7140c94',1,'grpc::Slice']]], + ['_7esynchronousservice',['~SynchronousService',['../classgrpc_1_1_synchronous_service.html#a7799f247e0928ff36e32ead579585a05',1,'grpc::SynchronousService']]], + ['_7ethread',['~thread',['../classgrpc_1_1thread.html#a821416c0e9319e93ae8b8e5cdaa9f52f',1,'grpc::thread']]], + ['_7ethreadpoolinterface',['~ThreadPoolInterface',['../classgrpc_1_1_thread_pool_interface.html#a74a3380787d9be6e261c2849cdc84538',1,'grpc::ThreadPoolInterface']]], + ['_7ewriterinterface',['~WriterInterface',['../classgrpc_1_1_writer_interface.html#a447d71736fb6e8c6bd21287ecc3a9f75',1,'grpc::WriterInterface']]] +]; diff --git a/doc/ref/c++/html/search/functions_2.html b/doc/ref/c++/html/search/functions_2.html new file mode 100644 index 0000000000..78be8b4198 --- /dev/null +++ b/doc/ref/c++/html/search/functions_2.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++/html/search/functions_2.js b/doc/ref/c++/html/search/functions_2.js new file mode 100644 index 0000000000..9ae485b9b1 --- /dev/null +++ b/doc/ref/c++/html/search/functions_2.js @@ -0,0 +1,43 @@ +var searchData= +[ + ['call',['Call',['../classgrpc_1_1_generic_stub.html#a29d999cf06468cfe12d3cdc912cb0afb',1,'grpc::GenericStub::Call()'],['../classgrpc_1_1_call.html#ac588bdaf930ff18cab36271a686b9a0a',1,'grpc::Call::Call(grpc_call *call, CallHook *call_hook_, CompletionQueue *cq)'],['../classgrpc_1_1_call.html#a82dc146935bbbb535d6c4c9fb9887373',1,'grpc::Call::Call(grpc_call *call, CallHook *call_hook_, CompletionQueue *cq, int max_message_size)'],['../classgrpc_1_1_call.html#a38a1f110afa06bdfd666d00dfa281a38',1,'grpc::Call::call()']]], + ['callopclientrecvstatus',['CallOpClientRecvStatus',['../classgrpc_1_1_call_op_client_recv_status.html#a86b01d095cec90f64a2fbd02da9be7de',1,'grpc::CallOpClientRecvStatus']]], + ['callopclientsendclose',['CallOpClientSendClose',['../classgrpc_1_1_call_op_client_send_close.html#a1601bc705c51e46133f2ee97921c712e',1,'grpc::CallOpClientSendClose']]], + ['callopgenericrecvmessage',['CallOpGenericRecvMessage',['../classgrpc_1_1_call_op_generic_recv_message.html#ae40448871744eb8a25b42003e2543eda',1,'grpc::CallOpGenericRecvMessage']]], + ['calloprecvinitialmetadata',['CallOpRecvInitialMetadata',['../classgrpc_1_1_call_op_recv_initial_metadata.html#a6c99b156711d0dc093a8578b45901cd8',1,'grpc::CallOpRecvInitialMetadata']]], + ['calloprecvmessage',['CallOpRecvMessage',['../classgrpc_1_1_call_op_recv_message.html#a5f2ead0399f19a906b82f87a82f24253',1,'grpc::CallOpRecvMessage']]], + ['callopsendinitialmetadata',['CallOpSendInitialMetadata',['../classgrpc_1_1_call_op_send_initial_metadata.html#a1cf749118f03392e186d251c48200dd8',1,'grpc::CallOpSendInitialMetadata']]], + ['callopsendmessage',['CallOpSendMessage',['../classgrpc_1_1_call_op_send_message.html#a049e460b94bad04d19e3fbe70ba43291',1,'grpc::CallOpSendMessage']]], + ['callopserversendstatus',['CallOpServerSendStatus',['../classgrpc_1_1_call_op_server_send_status.html#ab7a24493e9b8c6f2cc122cf3bd7796e4',1,'grpc::CallOpServerSendStatus']]], + ['callopset',['CallOpSet',['../classgrpc_1_1_call_op_set.html#ae06e1a2d051b6b404eec88c4be303bcf',1,'grpc::CallOpSet']]], + ['callopsetinterface',['CallOpSetInterface',['../classgrpc_1_1_call_op_set_interface.html#ad331a10c0fd65f5a9db680e95682f000',1,'grpc::CallOpSetInterface']]], + ['census_5fcontext',['census_context',['../classgrpc_1_1_client_context.html#a958acd964fe9feb32bca775c96ad5117',1,'grpc::ClientContext::census_context()'],['../classgrpc_1_1_server_context.html#af3adc0c2dc243915f6167c6f80d2882e',1,'grpc::ServerContext::census_context()']]], + ['channel',['channel',['../classgrpc_1_1_internal_stub.html#ae314e47d92a7aed9779724d3a81c2729',1,'grpc::InternalStub']]], + ['channel_5ftag',['channel_tag',['../classgrpc_1_1_rpc_method.html#a59527e676d274583ec6961fb3f4356b3',1,'grpc::RpcMethod']]], + ['channelarguments',['ChannelArguments',['../classgrpc_1_1_channel_arguments.html#aecabf1ea1c78a3202544571cf857e8eb',1,'grpc::ChannelArguments::ChannelArguments()'],['../classgrpc_1_1_channel_arguments.html#ade11dfb5cac0e1da5e9ed5e86c18c4fe',1,'grpc::ChannelArguments::ChannelArguments(const ChannelArguments &other)']]], + ['clear',['Clear',['../classgrpc_1_1_byte_buffer.html#a185b593e5c7d2b888fa377989a6bae80',1,'grpc::ByteBuffer::Clear()'],['../classgrpc_1_1_write_options.html#a9fc0e51224292b15dcfefec342fa0e02',1,'grpc::WriteOptions::Clear()']]], + ['clear_5fbuffer_5fhint',['clear_buffer_hint',['../classgrpc_1_1_write_options.html#a897ba94e51b1f6ead41ade8f92efa89f',1,'grpc::WriteOptions']]], + ['clear_5fno_5fcompression',['clear_no_compression',['../classgrpc_1_1_write_options.html#a7bc26dd151ed56bc49329ca895fe15e7',1,'grpc::WriteOptions']]], + ['client_5fmetadata',['client_metadata',['../classgrpc_1_1_server_context.html#a82f70d1b5b56ca2a4a8a2f5bad6d8ca1',1,'grpc::ServerContext']]], + ['clientasyncreader',['ClientAsyncReader',['../classgrpc_1_1_client_async_reader.html#aa14e3bc04d9852009f8b3094ce0d3ed4',1,'grpc::ClientAsyncReader']]], + ['clientasyncreaderwriter',['ClientAsyncReaderWriter',['../classgrpc_1_1_client_async_reader_writer.html#ae0595a950e2917399bbcef7e70e06066',1,'grpc::ClientAsyncReaderWriter']]], + ['clientasyncresponsereader',['ClientAsyncResponseReader',['../classgrpc_1_1_client_async_response_reader.html#a4868e0f82053062c95fea7bd197acadf',1,'grpc::ClientAsyncResponseReader']]], + ['clientasyncwriter',['ClientAsyncWriter',['../classgrpc_1_1_client_async_writer.html#ad4903b1736b423c076bac8e23db345f6',1,'grpc::ClientAsyncWriter']]], + ['clientcontext',['ClientContext',['../classgrpc_1_1_client_context.html#acabbcf3c160a0628da8a9274b10f54b9',1,'grpc::ClientContext']]], + ['clientreader',['ClientReader',['../classgrpc_1_1_client_reader.html#abf0d84e441443c364b29b206fd7d0c56',1,'grpc::ClientReader']]], + ['clientreaderwriter',['ClientReaderWriter',['../classgrpc_1_1_client_reader_writer.html#a787e8b30520c9b32ef877bf1d3298dcc',1,'grpc::ClientReaderWriter']]], + ['clientrecvstatus',['ClientRecvStatus',['../classgrpc_1_1_call_op_client_recv_status.html#aa5af560ab0bb741197553bbb2538b813',1,'grpc::CallOpClientRecvStatus']]], + ['clientsendclose',['ClientSendClose',['../classgrpc_1_1_call_op_client_send_close.html#a43cd5b76bc82ccd2292e318bcc2a34cc',1,'grpc::CallOpClientSendClose']]], + ['clientstreaminghandler',['ClientStreamingHandler',['../classgrpc_1_1_client_streaming_handler.html#a193efc3ca1c668dddacd42e25c4956ff',1,'grpc::ClientStreamingHandler']]], + ['clientwriter',['ClientWriter',['../classgrpc_1_1_client_writer.html#aed7d44896e0630a13409803459bd3cbe',1,'grpc::ClientWriter']]], + ['completionqueue',['CompletionQueue',['../classgrpc_1_1_completion_queue.html#aea987a15a475923e949934e481fe3566',1,'grpc::CompletionQueue::CompletionQueue()'],['../classgrpc_1_1_completion_queue.html#a081a954044215a7ca8554da4220fb369',1,'grpc::CompletionQueue::CompletionQueue(grpc_completion_queue *take)']]], + ['compositecredentials',['CompositeCredentials',['../namespacegrpc.html#a0ffe059f3158d41d0e268fd375a0815c',1,'grpc']]], + ['compression_5falgorithm',['compression_algorithm',['../classgrpc_1_1_client_context.html#a91691d52182f45043ce9698424d26a56',1,'grpc::ClientContext::compression_algorithm()'],['../classgrpc_1_1_server_context.html#a825f46891cc7db6c896add746eec8171',1,'grpc::ServerContext::compression_algorithm()']]], + ['compression_5flevel',['compression_level',['../classgrpc_1_1_server_context.html#a401d5c77fde5cccb13155ccd668787e8',1,'grpc::ServerContext']]], + ['computeenginecredentials',['ComputeEngineCredentials',['../namespacegrpc.html#a485ca55548022e260806c32d74095c8c',1,'grpc']]], + ['condition_5fvariable',['condition_variable',['../classgrpc_1_1condition__variable.html#ac254c7b505f7b6e3c5c244f971aef611',1,'grpc::condition_variable']]], + ['cq',['cq',['../classgrpc_1_1_completion_queue.html#a999c317e716d1e74aca2eb050912302b',1,'grpc::CompletionQueue::cq()'],['../classgrpc_1_1_call.html#a5a7336b857c427aff2a210b89bb4ac14',1,'grpc::Call::cq()']]], + ['createcall',['CreateCall',['../classgrpc_1_1_channel_interface.html#a9fd365d30961e8e40805a3c8faf276d0',1,'grpc::ChannelInterface']]], + ['createchannel',['CreateChannel',['../namespacegrpc.html#ad56350897572898b62a33e384c5e4a59',1,'grpc']]], + ['createdefaultthreadpool',['CreateDefaultThreadPool',['../namespacegrpc.html#ac7e5a6b4adf7c63f444606454138a334',1,'grpc']]] +]; diff --git a/doc/ref/c++/html/search/functions_3.html b/doc/ref/c++/html/search/functions_3.html new file mode 100644 index 0000000000..ebf2eebd0f --- /dev/null +++ b/doc/ref/c++/html/search/functions_3.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++/html/search/functions_3.js b/doc/ref/c++/html/search/functions_3.js new file mode 100644 index 0000000000..454a9af7ad --- /dev/null +++ b/doc/ref/c++/html/search/functions_3.js @@ -0,0 +1,9 @@ +var searchData= +[ + ['deadline',['deadline',['../classgrpc_1_1_client_context.html#af29e0113f661e1fbbecc20c268a3be6e',1,'grpc::ClientContext::deadline()'],['../classgrpc_1_1_server_context.html#a9e43d1edb334addb8bf672efcfe03052',1,'grpc::ServerContext::deadline()']]], + ['deserialize',['Deserialize',['../classgrpc_1_1_serialization_traits_3_01_byte_buffer_00_01void_01_4.html#ab84ad3da236c61aab17db403b48367f5',1,'grpc::SerializationTraits< ByteBuffer, void >::Deserialize()'],['../classgrpc_1_1_call_op_generic_recv_message_helper_1_1_deserialize_func.html#af2bc8b34d88cc5d355755ec94bf04bcb',1,'grpc::CallOpGenericRecvMessageHelper::DeserializeFunc::Deserialize()'],['../classgrpc_1_1_call_op_generic_recv_message_helper_1_1_deserialize_func_type.html#aff7b6d6d9e51e6d0bdb3a150bc5f99d4',1,'grpc::CallOpGenericRecvMessageHelper::DeserializeFuncType::Deserialize()'],['../classgrpc_1_1_serialization_traits_3_01_t_00_01typename_01std_1_1enable__if_3_01std_1_1is__base_42903f95c85f031c7724191271564901.html#a6a6966d3807ba3c7b3ccc79dca93b92a',1,'grpc::SerializationTraits< T, typename std::enable_if< std::is_base_of< grpc::protobuf::Message, T >::value >::type >::Deserialize()']]], + ['deserializefunctype',['DeserializeFuncType',['../classgrpc_1_1_call_op_generic_recv_message_helper_1_1_deserialize_func_type.html#ae14165824fb892eefb683da1405e0316',1,'grpc::CallOpGenericRecvMessageHelper::DeserializeFuncType']]], + ['deserializeproto',['DeserializeProto',['../namespacegrpc.html#a9124f8212366355212b2fefb8a6ccc1f',1,'grpc']]], + ['dump',['Dump',['../classgrpc_1_1_byte_buffer.html#a1b284d25c0c3c594c386800c548048f1',1,'grpc::ByteBuffer']]], + ['dynamicthreadpool',['DynamicThreadPool',['../classgrpc_1_1_dynamic_thread_pool.html#af4b6567a60ddfa8551dfbddab4cb7209',1,'grpc::DynamicThreadPool']]] +]; diff --git a/doc/ref/c++/html/search/functions_4.html b/doc/ref/c++/html/search/functions_4.html new file mode 100644 index 0000000000..7317ea9163 --- /dev/null +++ b/doc/ref/c++/html/search/functions_4.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++/html/search/functions_4.js b/doc/ref/c++/html/search/functions_4.js new file mode 100644 index 0000000000..c2ccb7f7e1 --- /dev/null +++ b/doc/ref/c++/html/search/functions_4.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['end',['end',['../classgrpc_1_1_auth_context.html#a81d358b427e0f1096e148918cdeef991',1,'grpc::AuthContext::end()'],['../classgrpc_1_1_slice.html#a15f9576be1afa1048ed8963d50581b60',1,'grpc::Slice::end()']]], + ['error_5fcode',['error_code',['../classgrpc_1_1_status.html#a78b50cb074bcd9f1dd50e8f212f7e181',1,'grpc::Status']]], + ['error_5fmessage',['error_message',['../classgrpc_1_1_status.html#a87888a7acefced58302f89a295940f16',1,'grpc::Status']]] +]; diff --git a/doc/ref/c++/html/search/functions_5.html b/doc/ref/c++/html/search/functions_5.html new file mode 100644 index 0000000000..1f1d9ce1b7 --- /dev/null +++ b/doc/ref/c++/html/search/functions_5.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++/html/search/functions_5.js b/doc/ref/c++/html/search/functions_5.js new file mode 100644 index 0000000000..59e4c23b91 --- /dev/null +++ b/doc/ref/c++/html/search/functions_5.js @@ -0,0 +1,13 @@ +var searchData= +[ + ['fillmetadataarray',['FillMetadataArray',['../namespacegrpc.html#a16ecfcd344f569a6fcfa2c42e3a43aca',1,'grpc']]], + ['fillmetadatamap',['FillMetadataMap',['../namespacegrpc.html#a00d2939a7b40a674459016f6148f372d',1,'grpc']]], + ['fillops',['FillOps',['../classgrpc_1_1_call_op_set_interface.html#ae0c95dfc28fc2a0add3e3bec1a703874',1,'grpc::CallOpSetInterface::FillOps()'],['../classgrpc_1_1_call_op_set.html#a886b55145cdad0994ec589b4f4c7df9c',1,'grpc::CallOpSet::FillOps()']]], + ['finalizeresult',['FinalizeResult',['../classgrpc_1_1_completion_queue_tag.html#af7b1abfcd9e506d118dfdcf29ce7fe8d',1,'grpc::CompletionQueueTag::FinalizeResult()'],['../classgrpc_1_1_call_op_set.html#a66575110fdb84b974182154a01464180',1,'grpc::CallOpSet::FinalizeResult()'],['../classgrpc_1_1_sneaky_call_op_set.html#a0ade5b329d43a4002388bac90a8bbafd',1,'grpc::SneakyCallOpSet::FinalizeResult()']]], + ['findpropertyvalues',['FindPropertyValues',['../classgrpc_1_1_auth_context.html#ad34c79f4934c974aa9e77ca69eed82aa',1,'grpc::AuthContext']]], + ['finish',['Finish',['../classgrpc_1_1_client_async_response_reader_interface.html#a379b1d7477431729e01cd48cf6fc78bb',1,'grpc::ClientAsyncResponseReaderInterface::Finish()'],['../classgrpc_1_1_client_async_response_reader.html#a585dc15817999f82a72120a783800830',1,'grpc::ClientAsyncResponseReader::Finish()'],['../classgrpc_1_1_server_async_response_writer.html#ad1e22d187c82a537ded4504fbdef6809',1,'grpc::ServerAsyncResponseWriter::Finish()'],['../classgrpc_1_1_client_streaming_interface.html#a98e2927a42c793017ce7d8c6e88539c4',1,'grpc::ClientStreamingInterface::Finish()'],['../classgrpc_1_1_client_reader.html#abb69eb7672e42eb09fbc4d7110d142df',1,'grpc::ClientReader::Finish()'],['../classgrpc_1_1_client_writer.html#afe847df1fec5c40f6650498c026eb658',1,'grpc::ClientWriter::Finish()'],['../classgrpc_1_1_client_reader_writer.html#aabd46ba35f39419bbcfeff8c0843c116',1,'grpc::ClientReaderWriter::Finish()'],['../classgrpc_1_1_client_async_streaming_interface.html#afc1cfbd1514fea47088bc837bb578a24',1,'grpc::ClientAsyncStreamingInterface::Finish()'],['../classgrpc_1_1_client_async_reader.html#a91bfabf65e2dc955b6983bc0ece5a73f',1,'grpc::ClientAsyncReader::Finish()'],['../classgrpc_1_1_client_async_writer.html#ad37af0a7fc27fc90e168fdb90eb52d8b',1,'grpc::ClientAsyncWriter::Finish()'],['../classgrpc_1_1_client_async_reader_writer.html#a4316a3e8d1b4d148a695c8afa240ea23',1,'grpc::ClientAsyncReaderWriter::Finish()'],['../classgrpc_1_1_server_async_reader.html#aaa77b67709c07ab60bc190bce5ee9a59',1,'grpc::ServerAsyncReader::Finish()'],['../classgrpc_1_1_server_async_writer.html#afbb050c198cbbc7f91f9f7fb8bf8c004',1,'grpc::ServerAsyncWriter::Finish()'],['../classgrpc_1_1_server_async_reader_writer.html#ae4daaf42b4077d171638e574a67418b5',1,'grpc::ServerAsyncReaderWriter::Finish()']]], + ['finishop',['FinishOp',['../classgrpc_1_1_call_no_op.html#a2e39baf8e169ec930d2234c85ca577ae',1,'grpc::CallNoOp::FinishOp()'],['../classgrpc_1_1_call_op_send_initial_metadata.html#a70bd2ec3f8b7b95b02657902ee445a13',1,'grpc::CallOpSendInitialMetadata::FinishOp()'],['../classgrpc_1_1_call_op_send_message.html#a214a005bed5dd03d6dfa16f7a28b205b',1,'grpc::CallOpSendMessage::FinishOp()'],['../classgrpc_1_1_call_op_recv_message.html#ac235a695ea9beb6d4ff3f4f220f695c6',1,'grpc::CallOpRecvMessage::FinishOp()'],['../classgrpc_1_1_call_op_generic_recv_message.html#a40eba461f56840935c97934829b38e16',1,'grpc::CallOpGenericRecvMessage::FinishOp()'],['../classgrpc_1_1_call_op_client_send_close.html#a7c9bcf88cc1ddf2c6cf85cf141c85656',1,'grpc::CallOpClientSendClose::FinishOp()'],['../classgrpc_1_1_call_op_server_send_status.html#a91b57e7b08540afa237cf7621558c978',1,'grpc::CallOpServerSendStatus::FinishOp()'],['../classgrpc_1_1_call_op_recv_initial_metadata.html#a85e4703487b89a0557d82237ed4a74eb',1,'grpc::CallOpRecvInitialMetadata::FinishOp()'],['../classgrpc_1_1_call_op_client_recv_status.html#ac6fcc3bc9d7725d1ce822b560156445f',1,'grpc::CallOpClientRecvStatus::FinishOp()']]], + ['finishwitherror',['FinishWithError',['../classgrpc_1_1_server_async_response_writer.html#af1e5812c2a8017bf82e84748f201ce93',1,'grpc::ServerAsyncResponseWriter::FinishWithError()'],['../classgrpc_1_1_server_async_reader.html#a4407f30ef2dbce2b650824536a6f76fb',1,'grpc::ServerAsyncReader::FinishWithError()']]], + ['fixedsizethreadpool',['FixedSizeThreadPool',['../classgrpc_1_1_fixed_size_thread_pool.html#a7b1d9cbdaedc89f5f4dd6e5782bfe5e0',1,'grpc::FixedSizeThreadPool']]], + ['flags',['flags',['../classgrpc_1_1_write_options.html#a0e047a4f3d159749153bff276880e153',1,'grpc::WriteOptions']]] +]; diff --git a/doc/ref/c++/html/search/functions_6.html b/doc/ref/c++/html/search/functions_6.html new file mode 100644 index 0000000000..c9faaa6a99 --- /dev/null +++ b/doc/ref/c++/html/search/functions_6.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++/html/search/functions_6.js b/doc/ref/c++/html/search/functions_6.js new file mode 100644 index 0000000000..355edd6398 --- /dev/null +++ b/doc/ref/c++/html/search/functions_6.js @@ -0,0 +1,14 @@ +var searchData= +[ + ['genericstub',['GenericStub',['../classgrpc_1_1_generic_stub.html#a1523f381907ac18b841bb4064f2a3b88',1,'grpc::GenericStub']]], + ['get_5fbuffer_5fhint',['get_buffer_hint',['../classgrpc_1_1_write_options.html#a58a983a81a17d0b8f3996164f55912ef',1,'grpc::WriteOptions']]], + ['get_5fno_5fcompression',['get_no_compression',['../classgrpc_1_1_write_options.html#accb16dd92f4001a6d024ffb01178d4bf',1,'grpc::WriteOptions']]], + ['getmethod',['GetMethod',['../classgrpc_1_1_rpc_service.html#adb8bee7f95fdd7bfb12e9c510fbdd192',1,'grpc::RpcService']]], + ['getmethodcount',['GetMethodCount',['../classgrpc_1_1_rpc_service.html#a779c023a42b33893a5ae2b7ca0ef5191',1,'grpc::RpcService']]], + ['getpeeridentity',['GetPeerIdentity',['../classgrpc_1_1_auth_context.html#a94f653509ddd988ce8fd4f22746fead9',1,'grpc::AuthContext']]], + ['getpeeridentitypropertyname',['GetPeerIdentityPropertyName',['../classgrpc_1_1_auth_context.html#ad7b2e589590246b953decd05cdaa4465',1,'grpc::AuthContext']]], + ['getserverinitialmetadata',['GetServerInitialMetadata',['../classgrpc_1_1_client_context.html#a971f592cb4c3d4cc4be227c413264d15',1,'grpc::ClientContext']]], + ['getservertrailingmetadata',['GetServerTrailingMetadata',['../classgrpc_1_1_client_context.html#ab2ad079046a7f9e6dba922274e11aaa3',1,'grpc::ClientContext']]], + ['googledefaultcredentials',['GoogleDefaultCredentials',['../namespacegrpc.html#a63d3b2c5cb11f48742da0d245b0771d3',1,'grpc']]], + ['grpclibrary',['GrpcLibrary',['../classgrpc_1_1_grpc_library.html#af026f86430cf235d7eaf532231a44528',1,'grpc::GrpcLibrary']]] +]; diff --git a/doc/ref/c++/html/search/functions_7.html b/doc/ref/c++/html/search/functions_7.html new file mode 100644 index 0000000000..ec330da83b --- /dev/null +++ b/doc/ref/c++/html/search/functions_7.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++/html/search/functions_7.js b/doc/ref/c++/html/search/functions_7.js new file mode 100644 index 0000000000..11476f6d88 --- /dev/null +++ b/doc/ref/c++/html/search/functions_7.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['handler',['handler',['../classgrpc_1_1_rpc_service_method.html#adcc8bfb7dc592f6b64fec6660f1cbaf1',1,'grpc::RpcServiceMethod']]], + ['handlerparameter',['HandlerParameter',['../structgrpc_1_1_method_handler_1_1_handler_parameter.html#a339310bf784411fd5e7d7b9118704693',1,'grpc::MethodHandler::HandlerParameter']]], + ['host',['host',['../classgrpc_1_1_generic_server_context.html#a2962278c0c6280a2d95f5747ea03babc',1,'grpc::GenericServerContext']]] +]; diff --git a/doc/ref/c++/html/search/functions_8.html b/doc/ref/c++/html/search/functions_8.html new file mode 100644 index 0000000000..afd4facf81 --- /dev/null +++ b/doc/ref/c++/html/search/functions_8.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++/html/search/functions_8.js b/doc/ref/c++/html/search/functions_8.js new file mode 100644 index 0000000000..f7e2d3d5c4 --- /dev/null +++ b/doc/ref/c++/html/search/functions_8.js @@ -0,0 +1,8 @@ +var searchData= +[ + ['iamcredentials',['IAMCredentials',['../namespacegrpc.html#a78c4ecc2e69303f203fd67fd272b6c96',1,'grpc']]], + ['insecurecredentials',['InsecureCredentials',['../namespacegrpc.html#ab7d08c50ff1dd9a368a9ff8191f855c3',1,'grpc']]], + ['insecureservercredentials',['InsecureServerCredentials',['../namespacegrpc.html#aa8c26768567516f22852d7ccc09c7940',1,'grpc']]], + ['internalstub',['InternalStub',['../classgrpc_1_1_internal_stub.html#a5af6cf82c3f8218d94704226559e1b3c',1,'grpc::InternalStub']]], + ['iscancelled',['IsCancelled',['../classgrpc_1_1_server_context.html#ae52a89bbf70c27be3325080000757864',1,'grpc::ServerContext']]] +]; diff --git a/doc/ref/c++/html/search/functions_9.html b/doc/ref/c++/html/search/functions_9.html new file mode 100644 index 0000000000..542b9e0a29 --- /dev/null +++ b/doc/ref/c++/html/search/functions_9.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++/html/search/functions_9.js b/doc/ref/c++/html/search/functions_9.js new file mode 100644 index 0000000000..14e6845c12 --- /dev/null +++ b/doc/ref/c++/html/search/functions_9.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['join',['join',['../classgrpc_1_1thread.html#a2d1d3437f2ff58bb1eacb5417a85c29f',1,'grpc::thread']]] +]; diff --git a/doc/ref/c++/html/search/functions_a.html b/doc/ref/c++/html/search/functions_a.html new file mode 100644 index 0000000000..94fd395d6f --- /dev/null +++ b/doc/ref/c++/html/search/functions_a.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++/html/search/functions_a.js b/doc/ref/c++/html/search/functions_a.js new file mode 100644 index 0000000000..a19e58efd7 --- /dev/null +++ b/doc/ref/c++/html/search/functions_a.js @@ -0,0 +1,7 @@ +var searchData= +[ + ['length',['Length',['../classgrpc_1_1_byte_buffer.html#a9429e928982f8d94ff93a1a91032ad59',1,'grpc::ByteBuffer']]], + ['lock',['lock',['../classgrpc_1_1unique__lock.html#ae29c07f1bdca4a39516f3841dac5cb54',1,'grpc::unique_lock']]], + ['lock_5fguard',['lock_guard',['../classgrpc_1_1lock__guard.html#ad5556ef1ebffe0cf983871fbc61fe264',1,'grpc::lock_guard']]], + ['lock_5finternal',['lock_internal',['../classgrpc_1_1lock__guard.html#ac6236e52082bd62d20f17de1625fd649',1,'grpc::lock_guard']]] +]; diff --git a/doc/ref/c++/html/search/functions_b.html b/doc/ref/c++/html/search/functions_b.html new file mode 100644 index 0000000000..1a03617de0 --- /dev/null +++ b/doc/ref/c++/html/search/functions_b.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++/html/search/functions_b.js b/doc/ref/c++/html/search/functions_b.js new file mode 100644 index 0000000000..643fdf5748 --- /dev/null +++ b/doc/ref/c++/html/search/functions_b.js @@ -0,0 +1,7 @@ +var searchData= +[ + ['max_5fmessage_5fsize',['max_message_size',['../classgrpc_1_1_call.html#aabd1f570cd026b4e5630abc58498a095',1,'grpc::Call']]], + ['method',['method',['../classgrpc_1_1_generic_server_context.html#ae08880fa4adb490326953ad905715c37',1,'grpc::GenericServerContext']]], + ['method_5ftype',['method_type',['../classgrpc_1_1_rpc_method.html#a1de5a64a1e57b5938c4733f9152291b6',1,'grpc::RpcMethod']]], + ['mutex',['mutex',['../classgrpc_1_1mutex.html#ae012e9f1c5cafd9d6f77a9a81d641581',1,'grpc::mutex']]] +]; diff --git a/doc/ref/c++/html/search/functions_c.html b/doc/ref/c++/html/search/functions_c.html new file mode 100644 index 0000000000..a6536e9419 --- /dev/null +++ b/doc/ref/c++/html/search/functions_c.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++/html/search/functions_c.js b/doc/ref/c++/html/search/functions_c.js new file mode 100644 index 0000000000..cb18c7f222 --- /dev/null +++ b/doc/ref/c++/html/search/functions_c.js @@ -0,0 +1,7 @@ +var searchData= +[ + ['name',['name',['../classgrpc_1_1_rpc_method.html#a6fb4872e0af4c79faffe2bb30b2cafe3',1,'grpc::RpcMethod']]], + ['next',['Next',['../classgrpc_1_1_completion_queue.html#a86d9810ced694e50f7987ac90b9f8c1a',1,'grpc::CompletionQueue']]], + ['notify_5fall',['notify_all',['../classgrpc_1_1condition__variable.html#a09a9b8a854f939962c6080bd2764dd36',1,'grpc::condition_variable']]], + ['notify_5fone',['notify_one',['../classgrpc_1_1condition__variable.html#abc49965bc36f319781bb315fff7d9fb3',1,'grpc::condition_variable']]] +]; diff --git a/doc/ref/c++/html/search/functions_d.html b/doc/ref/c++/html/search/functions_d.html new file mode 100644 index 0000000000..8cdcc06f33 --- /dev/null +++ b/doc/ref/c++/html/search/functions_d.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++/html/search/functions_d.js b/doc/ref/c++/html/search/functions_d.js new file mode 100644 index 0000000000..be9591e496 --- /dev/null +++ b/doc/ref/c++/html/search/functions_d.js @@ -0,0 +1,9 @@ +var searchData= +[ + ['ok',['ok',['../classgrpc_1_1_status.html#a1f5b65c54d4e6dd502897e36040714dc',1,'grpc::Status']]], + ['operator_21_3d',['operator!=',['../classgrpc_1_1_auth_property_iterator.html#af3d2671fe70be36b2ed26a75874f2fc1',1,'grpc::AuthPropertyIterator']]], + ['operator_2a',['operator*',['../classgrpc_1_1_auth_property_iterator.html#a564f39b91f4168c6f660bbd3144f1f0e',1,'grpc::AuthPropertyIterator']]], + ['operator_2b_2b',['operator++',['../classgrpc_1_1_auth_property_iterator.html#ac4a895110475c25b9bdce9b72eb19cd6',1,'grpc::AuthPropertyIterator::operator++()'],['../classgrpc_1_1_auth_property_iterator.html#a76dd5ef5047b10f889d85ce2bb33b84b',1,'grpc::AuthPropertyIterator::operator++(int)']]], + ['operator_3d',['operator=',['../classgrpc_1_1_channel_arguments.html#ac75ba90de32a5c7f3cb6c62f7ce649be',1,'grpc::ChannelArguments::operator=()'],['../classgrpc_1_1_write_options.html#abe3d32a3e5879022e7b8f1c6a7533841',1,'grpc::WriteOptions::operator=()'],['../classgrpc_1_1_slice.html#ac5a109779239ed4d3fd58e8124abdba1',1,'grpc::Slice::operator=()']]], + ['operator_3d_3d',['operator==',['../classgrpc_1_1_auth_property_iterator.html#ab5ab6a2c9a4df2b02086513716553dee',1,'grpc::AuthPropertyIterator']]] +]; diff --git a/doc/ref/c++/html/search/functions_e.html b/doc/ref/c++/html/search/functions_e.html new file mode 100644 index 0000000000..649b2c9af6 --- /dev/null +++ b/doc/ref/c++/html/search/functions_e.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++/html/search/functions_e.js b/doc/ref/c++/html/search/functions_e.js new file mode 100644 index 0000000000..e3fc377692 --- /dev/null +++ b/doc/ref/c++/html/search/functions_e.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['peer',['peer',['../classgrpc_1_1_client_context.html#a905d667d96613e022cd83c13dbedb4c3',1,'grpc::ClientContext::peer()'],['../classgrpc_1_1_server_context.html#a5ef7910ccd61514eafa7087519bb17bb',1,'grpc::ServerContext::peer()']]], + ['performops',['PerformOps',['../classgrpc_1_1_call.html#a78ca141a1008fbbb122ee4de076edcc4',1,'grpc::Call']]], + ['performopsoncall',['PerformOpsOnCall',['../classgrpc_1_1_call_hook.html#acf08b6dd7d1faba4efeeb4937bc81d29',1,'grpc::CallHook']]] +]; diff --git a/doc/ref/c++/html/search/functions_f.html b/doc/ref/c++/html/search/functions_f.html new file mode 100644 index 0000000000..386c7d46b1 --- /dev/null +++ b/doc/ref/c++/html/search/functions_f.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++/html/search/functions_f.js b/doc/ref/c++/html/search/functions_f.js new file mode 100644 index 0000000000..67907b0005 --- /dev/null +++ b/doc/ref/c++/html/search/functions_f.js @@ -0,0 +1,23 @@ +var searchData= +[ + ['raw_5fdeadline',['raw_deadline',['../classgrpc_1_1_client_context.html#a5057cab6d547678dded90c024efab652',1,'grpc::ClientContext::raw_deadline()'],['../classgrpc_1_1_server_context.html#add483537d23d3e06125dbe3f2bf50adc',1,'grpc::ServerContext::raw_deadline()']]], + ['raw_5ftime',['raw_time',['../classgrpc_1_1_time_point.html#adb76465d3bf0fef9ad5b918f0ea6a9b6',1,'grpc::TimePoint::raw_time()'],['../classgrpc_1_1_time_point_3_01gpr__timespec_01_4.html#a2f952629962fc23855496ac08a70f6e2',1,'grpc::TimePoint< gpr_timespec >::raw_time()'],['../classgrpc_1_1_time_point_3_01std_1_1chrono_1_1system__clock_1_1time__point_01_4.html#ac6d6a7d1e3ed219fff1dcc5961874f93',1,'grpc::TimePoint< std::chrono::system_clock::time_point >::raw_time()']]], + ['read',['Read',['../classgrpc_1_1_reader_interface.html#a04a1da8610d790ea86ecd5a14fe892b8',1,'grpc::ReaderInterface::Read()'],['../classgrpc_1_1_client_reader.html#a1305f6a3159b73866b4b66621f573ae7',1,'grpc::ClientReader::Read()'],['../classgrpc_1_1_client_reader_writer.html#adcf4e48162a850ae106e9d2f6fd03d0c',1,'grpc::ClientReaderWriter::Read()'],['../classgrpc_1_1_server_reader.html#a8bd737fbe8d5094fbcf40c45dc7723e0',1,'grpc::ServerReader::Read()'],['../classgrpc_1_1_server_reader_writer.html#a0398eca2f3cb613273a77c28bd55489d',1,'grpc::ServerReaderWriter::Read()'],['../classgrpc_1_1_async_reader_interface.html#aa644cf63c12ae8c9d5fda16a361f8a11',1,'grpc::AsyncReaderInterface::Read()'],['../classgrpc_1_1_client_async_reader.html#aaf9f76ba76be0a0144bbdf44d740731d',1,'grpc::ClientAsyncReader::Read()'],['../classgrpc_1_1_client_async_reader_writer.html#a8b6a32ede877fc2d5d4cfc5b95ac163f',1,'grpc::ClientAsyncReaderWriter::Read()'],['../classgrpc_1_1_server_async_reader.html#ac60c1f8d5373644f952377096f1a5b2f',1,'grpc::ServerAsyncReader::Read()'],['../classgrpc_1_1_server_async_reader_writer.html#a7d8d9d36449700c19cd08ecc608cb96a',1,'grpc::ServerAsyncReaderWriter::Read()']]], + ['readinitialmetadata',['ReadInitialMetadata',['../classgrpc_1_1_client_async_response_reader_interface.html#a676e3a03a61c49a82b630d85bbfd366c',1,'grpc::ClientAsyncResponseReaderInterface::ReadInitialMetadata()'],['../classgrpc_1_1_client_async_response_reader.html#a963aefc43f34c9182e265647bbcdb91b',1,'grpc::ClientAsyncResponseReader::ReadInitialMetadata()'],['../classgrpc_1_1_client_async_streaming_interface.html#ad83bfe2febf4a6296b7d2646799b8174',1,'grpc::ClientAsyncStreamingInterface::ReadInitialMetadata()'],['../classgrpc_1_1_client_async_reader.html#a0e5b71e2620dc95fe41305eef7ee7863',1,'grpc::ClientAsyncReader::ReadInitialMetadata()'],['../classgrpc_1_1_client_async_writer.html#a1db45c4f5817db4f770c08dab64916c7',1,'grpc::ClientAsyncWriter::ReadInitialMetadata()'],['../classgrpc_1_1_client_async_reader_writer.html#a69f0115acf443d7820adefc7b2a6f162',1,'grpc::ClientAsyncReaderWriter::ReadInitialMetadata()']]], + ['recvinitialmetadata',['RecvInitialMetadata',['../classgrpc_1_1_call_op_recv_initial_metadata.html#a4dcc9f22c6966baca69cb1935c823a8e',1,'grpc::CallOpRecvInitialMetadata']]], + ['recvmessage',['RecvMessage',['../classgrpc_1_1_call_op_recv_message.html#aa2bdc2952010ab3a017bb859a1c6161c',1,'grpc::CallOpRecvMessage::RecvMessage()'],['../classgrpc_1_1_call_op_generic_recv_message.html#a0235adb3ae82cf78552f556856feb788',1,'grpc::CallOpGenericRecvMessage::RecvMessage()']]], + ['refreshtokencredentials',['RefreshTokenCredentials',['../namespacegrpc.html#af69bf38a7cfbd24e127deb86d50dc41d',1,'grpc']]], + ['registerasyncgenericservice',['RegisterAsyncGenericService',['../classgrpc_1_1_server_builder.html#ac62b0aa4c0448907e02d15386d58ef86',1,'grpc::ServerBuilder']]], + ['registerasyncservice',['RegisterAsyncService',['../classgrpc_1_1_server_builder.html#a2da69a943b10839d6993f9b292aaf578',1,'grpc::ServerBuilder::RegisterAsyncService(AsynchronousService *service)'],['../classgrpc_1_1_server_builder.html#a2107596214baf71230f4f270dec1d064',1,'grpc::ServerBuilder::RegisterAsyncService(const grpc::string &host, AsynchronousService *service)']]], + ['registermethod',['RegisterMethod',['../classgrpc_1_1_channel_interface.html#a267926300784051328390b2f7648c99f',1,'grpc::ChannelInterface']]], + ['registerservice',['RegisterService',['../classgrpc_1_1_server_builder.html#a40f39b2ac8224a91c426b0e75bbb3c66',1,'grpc::ServerBuilder::RegisterService(SynchronousService *service)'],['../classgrpc_1_1_server_builder.html#ad961d91042fe44aa38fa3e1d57120861',1,'grpc::ServerBuilder::RegisterService(const grpc::string &host, SynchronousService *service)']]], + ['requestasyncunary',['RequestAsyncUnary',['../classgrpc_1_1_asynchronous_service.html#a19c9368c6cd8ea4b296c9023cc96b990',1,'grpc::AsynchronousService']]], + ['requestbidistreaming',['RequestBidiStreaming',['../classgrpc_1_1_asynchronous_service.html#a3b7e40607e2bb45b2901a4990847f608',1,'grpc::AsynchronousService']]], + ['requestcall',['RequestCall',['../classgrpc_1_1_async_generic_service.html#aeab5c20e89a754d5add4bdaad01a3ef6',1,'grpc::AsyncGenericService']]], + ['requestclientstreaming',['RequestClientStreaming',['../classgrpc_1_1_asynchronous_service.html#a3694e436bb163a5162cf915a7e277369',1,'grpc::AsynchronousService']]], + ['requestserverstreaming',['RequestServerStreaming',['../classgrpc_1_1_asynchronous_service.html#a197117ab963be83b26e1c67d5a7fd564',1,'grpc::AsynchronousService']]], + ['rpcmethod',['RpcMethod',['../classgrpc_1_1_rpc_method.html#ab06ace199b65e09f1d4c9fde93dafc94',1,'grpc::RpcMethod']]], + ['rpcmethodhandler',['RpcMethodHandler',['../classgrpc_1_1_rpc_method_handler.html#af18c4bdcfc73d0238b238097547e6a48',1,'grpc::RpcMethodHandler']]], + ['rpcservicemethod',['RpcServiceMethod',['../classgrpc_1_1_rpc_service_method.html#a9a4a54d93c2c5d2b5b52ff50af5971da',1,'grpc::RpcServiceMethod']]], + ['runhandler',['RunHandler',['../classgrpc_1_1_method_handler.html#a8f901c44915f81bb86ecba0278f7db16',1,'grpc::MethodHandler::RunHandler()'],['../classgrpc_1_1_rpc_method_handler.html#a3dd04e9149c844224390b403ff24fa41',1,'grpc::RpcMethodHandler::RunHandler()'],['../classgrpc_1_1_client_streaming_handler.html#a702cbf84fa766383bfbb818c8a16e67c',1,'grpc::ClientStreamingHandler::RunHandler()'],['../classgrpc_1_1_server_streaming_handler.html#afd874fc0f3a73c4037d626d3ecbcccca',1,'grpc::ServerStreamingHandler::RunHandler()'],['../classgrpc_1_1_bidi_streaming_handler.html#a674385b5e9f48ffff0bcbc5d77f99bf1',1,'grpc::BidiStreamingHandler::RunHandler()']]] +]; diff --git a/doc/ref/c++/html/search/mag_sel.png b/doc/ref/c++/html/search/mag_sel.png new file mode 100644 index 0000000000..81f6040a20 Binary files /dev/null and b/doc/ref/c++/html/search/mag_sel.png differ diff --git a/doc/ref/c++/html/search/namespaces_0.html b/doc/ref/c++/html/search/namespaces_0.html new file mode 100644 index 0000000000..dc6068615d --- /dev/null +++ b/doc/ref/c++/html/search/namespaces_0.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++/html/search/namespaces_0.js b/doc/ref/c++/html/search/namespaces_0.js new file mode 100644 index 0000000000..bf7a15f20d --- /dev/null +++ b/doc/ref/c++/html/search/namespaces_0.js @@ -0,0 +1,8 @@ +var searchData= +[ + ['callopgenericrecvmessagehelper',['CallOpGenericRecvMessageHelper',['../namespacegrpc_1_1_call_op_generic_recv_message_helper.html',1,'grpc']]], + ['grpc',['grpc',['../namespacegrpc.html',1,'']]], + ['io',['io',['../namespacegrpc_1_1protobuf_1_1io.html',1,'grpc::protobuf']]], + ['protobuf',['protobuf',['../namespacegrpc_1_1protobuf.html',1,'grpc']]], + ['testing',['testing',['../namespacegrpc_1_1testing.html',1,'grpc']]] +]; diff --git a/doc/ref/c++/html/search/nomatches.html b/doc/ref/c++/html/search/nomatches.html new file mode 100644 index 0000000000..b1ded27e9a --- /dev/null +++ b/doc/ref/c++/html/search/nomatches.html @@ -0,0 +1,12 @@ + + + + + + + +
+
No Matches
+
+ + diff --git a/doc/ref/c++/html/search/related_0.html b/doc/ref/c++/html/search/related_0.html new file mode 100644 index 0000000000..b6476349f4 --- /dev/null +++ b/doc/ref/c++/html/search/related_0.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++/html/search/related_0.js b/doc/ref/c++/html/search/related_0.js new file mode 100644 index 0000000000..0dd29abe92 --- /dev/null +++ b/doc/ref/c++/html/search/related_0.js @@ -0,0 +1,20 @@ +var searchData= +[ + ['clientasyncreader',['ClientAsyncReader',['../classgrpc_1_1_client_context.html#af5343062a44a5633b144751e59969237',1,'grpc::ClientContext']]], + ['clientasyncreaderwriter',['ClientAsyncReaderWriter',['../classgrpc_1_1_client_context.html#a5c0c96957129933bfe94a299c764eaa7',1,'grpc::ClientContext']]], + ['clientasyncresponsereader',['ClientAsyncResponseReader',['../classgrpc_1_1_client_context.html#a4b00162a9bd86e07669f2af67f85c73a',1,'grpc::ClientContext']]], + ['clientasyncwriter',['ClientAsyncWriter',['../classgrpc_1_1_client_context.html#af3547958eadfaeb18692865bd73999ad',1,'grpc::ClientContext']]], + ['clientreader',['ClientReader',['../classgrpc_1_1_client_context.html#ade499098cc91745c1c87147d7a7fb7bf',1,'grpc::ClientContext::ClientReader()'],['../classgrpc_1_1_completion_queue.html#ade499098cc91745c1c87147d7a7fb7bf',1,'grpc::CompletionQueue::ClientReader()']]], + ['clientreaderwriter',['ClientReaderWriter',['../classgrpc_1_1_client_context.html#a6d5659aa24edba057895be774e2752ec',1,'grpc::ClientContext::ClientReaderWriter()'],['../classgrpc_1_1_completion_queue.html#a6d5659aa24edba057895be774e2752ec',1,'grpc::CompletionQueue::ClientReaderWriter()']]], + ['clientwriter',['ClientWriter',['../classgrpc_1_1_client_context.html#a4498fada67d531d99a8642f47d746544',1,'grpc::ClientContext::ClientWriter()'],['../classgrpc_1_1_completion_queue.html#a4498fada67d531d99a8642f47d746544',1,'grpc::CompletionQueue::ClientWriter()']]], + ['interopcontextinspector',['InteropContextInspector',['../classgrpc_1_1_server_context.html#a54fd90aaca3685b127354412368eb1c6',1,'grpc::ServerContext']]], + ['server',['Server',['../classgrpc_1_1_completion_queue.html#a8c3fa4c066981aae114e41c3f9340144',1,'grpc::CompletionQueue::Server()'],['../classgrpc_1_1_server_context.html#a8c3fa4c066981aae114e41c3f9340144',1,'grpc::ServerContext::Server()'],['../classgrpc_1_1_server_credentials.html#a8c3fa4c066981aae114e41c3f9340144',1,'grpc::ServerCredentials::Server()']]], + ['serverasyncreader',['ServerAsyncReader',['../classgrpc_1_1_server_context.html#a774bb57486686958c67f29072de768ed',1,'grpc::ServerContext']]], + ['serverasyncreaderwriter',['ServerAsyncReaderWriter',['../classgrpc_1_1_server_context.html#a85f3f3dc5b92690c676b86571be20684',1,'grpc::ServerContext']]], + ['serverasyncresponsewriter',['ServerAsyncResponseWriter',['../classgrpc_1_1_server_context.html#a2c679b602d120c70a6713fe742704b4e',1,'grpc::ServerContext']]], + ['serverasyncwriter',['ServerAsyncWriter',['../classgrpc_1_1_server_context.html#a6068d9e3369a1016e7b75350b80f4f45',1,'grpc::ServerContext']]], + ['servercontext',['ServerContext',['../classgrpc_1_1_completion_queue.html#a6c5b4f4c66d254f341915982a17aac95',1,'grpc::CompletionQueue']]], + ['serverreader',['ServerReader',['../classgrpc_1_1_completion_queue.html#a4f20e2d049342ae00242bbc8021a44bd',1,'grpc::CompletionQueue::ServerReader()'],['../classgrpc_1_1_server_context.html#a4f20e2d049342ae00242bbc8021a44bd',1,'grpc::ServerContext::ServerReader()']]], + ['serverreaderwriter',['ServerReaderWriter',['../classgrpc_1_1_completion_queue.html#a8c0a0d64c582a952c8f16d8eac71c677',1,'grpc::CompletionQueue::ServerReaderWriter()'],['../classgrpc_1_1_server_context.html#a8c0a0d64c582a952c8f16d8eac71c677',1,'grpc::ServerContext::ServerReaderWriter()']]], + ['serverwriter',['ServerWriter',['../classgrpc_1_1_completion_queue.html#a2f2dfa831a62c43ad5647a45080488e3',1,'grpc::CompletionQueue::ServerWriter()'],['../classgrpc_1_1_server_context.html#a2f2dfa831a62c43ad5647a45080488e3',1,'grpc::ServerContext::ServerWriter()']]] +]; diff --git a/doc/ref/c++/html/search/related_1.html b/doc/ref/c++/html/search/related_1.html new file mode 100644 index 0000000000..66fb1d1055 --- /dev/null +++ b/doc/ref/c++/html/search/related_1.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++/html/search/related_1.js b/doc/ref/c++/html/search/related_1.js new file mode 100644 index 0000000000..b2f3cd71f4 --- /dev/null +++ b/doc/ref/c++/html/search/related_1.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['asyncgenericservice',['AsyncGenericService',['../classgrpc_1_1_server.html#afa12bc5912105e1966887391881de595',1,'grpc::Server']]], + ['asynchronousservice',['AsynchronousService',['../classgrpc_1_1_server.html#a9f65421947ee8cbae15ff96b44f6d532',1,'grpc::Server']]] +]; diff --git a/doc/ref/c++/html/search/related_2.html b/doc/ref/c++/html/search/related_2.html new file mode 100644 index 0000000000..06b8cbf490 --- /dev/null +++ b/doc/ref/c++/html/search/related_2.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++/html/search/related_2.js b/doc/ref/c++/html/search/related_2.js new file mode 100644 index 0000000000..25cdff4667 --- /dev/null +++ b/doc/ref/c++/html/search/related_2.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['bidistreaminghandler',['BidiStreamingHandler',['../classgrpc_1_1_completion_queue.html#a9fcf1462b4ea3c6a37e54076aafb93e1',1,'grpc::CompletionQueue::BidiStreamingHandler()'],['../classgrpc_1_1_server_context.html#a9fcf1462b4ea3c6a37e54076aafb93e1',1,'grpc::ServerContext::BidiStreamingHandler()']]], + ['blockingunarycall',['BlockingUnaryCall',['../classgrpc_1_1_client_context.html#a4aac0a120f3498d1151460ef89ce8446',1,'grpc::ClientContext::BlockingUnaryCall()'],['../classgrpc_1_1_completion_queue.html#a4aac0a120f3498d1151460ef89ce8446',1,'grpc::CompletionQueue::BlockingUnaryCall()']]], + ['bytebuffer',['ByteBuffer',['../classgrpc_1_1_slice.html#ac6c83f28f4b17ae317094a794e92e99e',1,'grpc::Slice']]] +]; diff --git a/doc/ref/c++/html/search/related_3.html b/doc/ref/c++/html/search/related_3.html new file mode 100644 index 0000000000..b89f2c9d72 --- /dev/null +++ b/doc/ref/c++/html/search/related_3.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++/html/search/related_3.js b/doc/ref/c++/html/search/related_3.js new file mode 100644 index 0000000000..1ce858e377 --- /dev/null +++ b/doc/ref/c++/html/search/related_3.js @@ -0,0 +1,10 @@ +var searchData= +[ + ['callopclientrecvstatus',['CallOpClientRecvStatus',['../classgrpc_1_1_client_context.html#aa7c3f046b48d55b5a82cbee3fd84faa2',1,'grpc::ClientContext']]], + ['calloprecvinitialmetadata',['CallOpRecvInitialMetadata',['../classgrpc_1_1_client_context.html#a94ad025954d211da7d27efa58cb2ea91',1,'grpc::ClientContext']]], + ['channel',['Channel',['../classgrpc_1_1_client_context.html#ac47342240f21ce36f47485e4ab41a10d',1,'grpc::ClientContext']]], + ['clientstreaminghandler',['ClientStreamingHandler',['../classgrpc_1_1_completion_queue.html#ae11583f8aab976055b1feae895d7e12a',1,'grpc::CompletionQueue::ClientStreamingHandler()'],['../classgrpc_1_1_server_context.html#ae11583f8aab976055b1feae895d7e12a',1,'grpc::ServerContext::ClientStreamingHandler()']]], + ['compositecredentials',['CompositeCredentials',['../classgrpc_1_1_credentials.html#a319db47fafb1868e66fd34b8bc084f3f',1,'grpc::Credentials']]], + ['condition_5fvariable',['condition_variable',['../classgrpc_1_1mutex.html#a89c9b6aa2256fa5efd92a333d96381d4',1,'grpc::mutex::condition_variable()'],['../classgrpc_1_1lock__guard.html#a89c9b6aa2256fa5efd92a333d96381d4',1,'grpc::lock_guard::condition_variable()']]], + ['createchannel',['CreateChannel',['../classgrpc_1_1_credentials.html#a6cd496f9dd7e19b5bdbafaa41036fe69',1,'grpc::Credentials']]] +]; diff --git a/doc/ref/c++/html/search/related_4.html b/doc/ref/c++/html/search/related_4.html new file mode 100644 index 0000000000..d4dbf36771 --- /dev/null +++ b/doc/ref/c++/html/search/related_4.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++/html/search/related_4.js b/doc/ref/c++/html/search/related_4.js new file mode 100644 index 0000000000..5a8ab6216f --- /dev/null +++ b/doc/ref/c++/html/search/related_4.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['lock_5fguard',['lock_guard',['../classgrpc_1_1mutex.html#a4cfa68eb2ccf47f11c725b6773ff9a5b',1,'grpc::mutex']]] +]; diff --git a/doc/ref/c++/html/search/related_5.html b/doc/ref/c++/html/search/related_5.html new file mode 100644 index 0000000000..bb3bdffb98 --- /dev/null +++ b/doc/ref/c++/html/search/related_5.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++/html/search/related_5.js b/doc/ref/c++/html/search/related_5.js new file mode 100644 index 0000000000..0841129c29 --- /dev/null +++ b/doc/ref/c++/html/search/related_5.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['rpcmethodhandler',['RpcMethodHandler',['../classgrpc_1_1_completion_queue.html#a76b9bb18b02084e9eaa8c9b99c668676',1,'grpc::CompletionQueue::RpcMethodHandler()'],['../classgrpc_1_1_server_context.html#a76b9bb18b02084e9eaa8c9b99c668676',1,'grpc::ServerContext::RpcMethodHandler()']]] +]; diff --git a/doc/ref/c++/html/search/related_6.html b/doc/ref/c++/html/search/related_6.html new file mode 100644 index 0000000000..e42ea5ac99 --- /dev/null +++ b/doc/ref/c++/html/search/related_6.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++/html/search/related_6.js b/doc/ref/c++/html/search/related_6.js new file mode 100644 index 0000000000..a0af153dca --- /dev/null +++ b/doc/ref/c++/html/search/related_6.js @@ -0,0 +1,9 @@ +var searchData= +[ + ['secureauthcontext',['SecureAuthContext',['../classgrpc_1_1_auth_property_iterator.html#a18a70918b1f73cdd22cb263845b78d6d',1,'grpc::AuthPropertyIterator']]], + ['securecredentials',['SecureCredentials',['../classgrpc_1_1_channel_arguments.html#ae60893d904f922c32a57fb18e618db66',1,'grpc::ChannelArguments']]], + ['serializationtraits_3c_20bytebuffer_2c_20void_20_3e',['SerializationTraits< ByteBuffer, void >',['../classgrpc_1_1_byte_buffer.html#ab90fe50537dd6fe009b7b913652420f0',1,'grpc::ByteBuffer']]], + ['server',['Server',['../classgrpc_1_1_generic_server_context.html#ac2055578ac48afabe5af487878450f68',1,'grpc::GenericServerContext::Server()'],['../classgrpc_1_1_async_generic_service.html#ac2055578ac48afabe5af487878450f68',1,'grpc::AsyncGenericService::Server()'],['../classgrpc_1_1_server_async_streaming_interface.html#ac2055578ac48afabe5af487878450f68',1,'grpc::ServerAsyncStreamingInterface::Server()'],['../classgrpc_1_1_asynchronous_service.html#ac2055578ac48afabe5af487878450f68',1,'grpc::AsynchronousService::Server()']]], + ['serverbuilder',['ServerBuilder',['../classgrpc_1_1_server_completion_queue.html#a8c2db91f514d534f06396d90c1b1f2c4',1,'grpc::ServerCompletionQueue::ServerBuilder()'],['../classgrpc_1_1_server.html#a8c2db91f514d534f06396d90c1b1f2c4',1,'grpc::Server::ServerBuilder()']]], + ['serverstreaminghandler',['ServerStreamingHandler',['../classgrpc_1_1_completion_queue.html#ac2a23a31e1f8f09e2e51f09e7f50ba0c',1,'grpc::CompletionQueue::ServerStreamingHandler()'],['../classgrpc_1_1_server_context.html#ac2a23a31e1f8f09e2e51f09e7f50ba0c',1,'grpc::ServerContext::ServerStreamingHandler()']]] +]; diff --git a/doc/ref/c++/html/search/related_7.html b/doc/ref/c++/html/search/related_7.html new file mode 100644 index 0000000000..50cdfe50fa --- /dev/null +++ b/doc/ref/c++/html/search/related_7.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++/html/search/related_7.js b/doc/ref/c++/html/search/related_7.js new file mode 100644 index 0000000000..92b21c76bb --- /dev/null +++ b/doc/ref/c++/html/search/related_7.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['channelargumentstest',['ChannelArgumentsTest',['../classgrpc_1_1_channel_arguments.html#ab9fc942609a77bb3021ba172be262c7b',1,'grpc::ChannelArguments']]] +]; diff --git a/doc/ref/c++/html/search/search.css b/doc/ref/c++/html/search/search.css new file mode 100644 index 0000000000..4d7612ff63 --- /dev/null +++ b/doc/ref/c++/html/search/search.css @@ -0,0 +1,271 @@ +/*---------------- Search Box */ + +#FSearchBox { + float: left; +} + +#MSearchBox { + white-space : nowrap; + position: absolute; + float: none; + display: inline; + margin-top: 8px; + right: 0px; + width: 170px; + z-index: 102; + background-color: white; +} + +#MSearchBox .left +{ + display:block; + position:absolute; + left:10px; + width:20px; + height:19px; + background:url('search_l.png') no-repeat; + background-position:right; +} + +#MSearchSelect { + display:block; + position:absolute; + width:20px; + height:19px; +} + +.left #MSearchSelect { + left:4px; +} + +.right #MSearchSelect { + right:5px; +} + +#MSearchField { + display:block; + position:absolute; + height:19px; + background:url('search_m.png') repeat-x; + border:none; + width:111px; + margin-left:20px; + padding-left:4px; + color: #909090; + outline: none; + font: 9pt Arial, Verdana, sans-serif; +} + +#FSearchBox #MSearchField { + margin-left:15px; +} + +#MSearchBox .right { + display:block; + position:absolute; + right:10px; + top:0px; + width:20px; + height:19px; + background:url('search_r.png') no-repeat; + background-position:left; +} + +#MSearchClose { + display: none; + position: absolute; + top: 4px; + background : none; + border: none; + margin: 0px 4px 0px 0px; + padding: 0px 0px; + outline: none; +} + +.left #MSearchClose { + left: 6px; +} + +.right #MSearchClose { + right: 2px; +} + +.MSearchBoxActive #MSearchField { + color: #000000; +} + +/*---------------- Search filter selection */ + +#MSearchSelectWindow { + display: none; + position: absolute; + left: 0; top: 0; + border: 1px solid #90A5CE; + background-color: #F9FAFC; + z-index: 1; + padding-top: 4px; + padding-bottom: 4px; + -moz-border-radius: 4px; + -webkit-border-top-left-radius: 4px; + -webkit-border-top-right-radius: 4px; + -webkit-border-bottom-left-radius: 4px; + -webkit-border-bottom-right-radius: 4px; + -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); +} + +.SelectItem { + font: 8pt Arial, Verdana, sans-serif; + padding-left: 2px; + padding-right: 12px; + border: 0px; +} + +span.SelectionMark { + margin-right: 4px; + font-family: monospace; + outline-style: none; + text-decoration: none; +} + +a.SelectItem { + display: block; + outline-style: none; + color: #000000; + text-decoration: none; + padding-left: 6px; + padding-right: 12px; +} + +a.SelectItem:focus, +a.SelectItem:active { + color: #000000; + outline-style: none; + text-decoration: none; +} + +a.SelectItem:hover { + color: #FFFFFF; + background-color: #3D578C; + outline-style: none; + text-decoration: none; + cursor: pointer; + display: block; +} + +/*---------------- Search results window */ + +iframe#MSearchResults { + width: 60ex; + height: 15em; +} + +#MSearchResultsWindow { + display: none; + position: absolute; + left: 0; top: 0; + border: 1px solid #000; + background-color: #EEF1F7; +} + +/* ----------------------------------- */ + + +#SRIndex { + clear:both; + padding-bottom: 15px; +} + +.SREntry { + font-size: 10pt; + padding-left: 1ex; +} + +.SRPage .SREntry { + font-size: 8pt; + padding: 1px 5px; +} + +body.SRPage { + margin: 5px 2px; +} + +.SRChildren { + padding-left: 3ex; padding-bottom: .5em +} + +.SRPage .SRChildren { + display: none; +} + +.SRSymbol { + font-weight: bold; + color: #425E97; + font-family: Arial, Verdana, sans-serif; + text-decoration: none; + outline: none; +} + +a.SRScope { + display: block; + color: #425E97; + font-family: Arial, Verdana, sans-serif; + text-decoration: none; + outline: none; +} + +a.SRSymbol:focus, a.SRSymbol:active, +a.SRScope:focus, a.SRScope:active { + text-decoration: underline; +} + +span.SRScope { + padding-left: 4px; +} + +.SRPage .SRStatus { + padding: 2px 5px; + font-size: 8pt; + font-style: italic; +} + +.SRResult { + display: none; +} + +DIV.searchresults { + margin-left: 10px; + margin-right: 10px; +} + +/*---------------- External search page results */ + +.searchresult { + background-color: #F0F3F8; +} + +.pages b { + color: white; + padding: 5px 5px 3px 5px; + background-image: url("../tab_a.png"); + background-repeat: repeat-x; + text-shadow: 0 1px 1px #000000; +} + +.pages { + line-height: 17px; + margin-left: 4px; + text-decoration: none; +} + +.hl { + font-weight: bold; +} + +#searchresults { + margin-bottom: 20px; +} + +.searchpages { + margin-top: 10px; +} + diff --git a/doc/ref/c++/html/search/search.js b/doc/ref/c++/html/search/search.js new file mode 100644 index 0000000000..de9b2f6fc5 --- /dev/null +++ b/doc/ref/c++/html/search/search.js @@ -0,0 +1,813 @@ +// Search script generated by doxygen +// Copyright (C) 2009 by Dimitri van Heesch. + +// The code in this file is loosly based on main.js, part of Natural Docs, +// which is Copyright (C) 2003-2008 Greg Valure +// Natural Docs is licensed under the GPL. + +var indexSectionsWithContent = +{ + 0: ":abcdefghijlmnoprstuwz~", + 1: "abcdfghilmprstuw", + 2: "g", + 3: "abcdfgiprst", + 4: "abcdefghijlmnoprstuw~", + 5: "cfgimoprs", + 6: "acgimsz", + 7: "anrs", + 8: "abcdfginoprstu", + 9: ":abclrst", + 10: "g" +}; + +var indexSectionNames = +{ + 0: "all", + 1: "classes", + 2: "namespaces", + 3: "files", + 4: "functions", + 5: "variables", + 6: "typedefs", + 7: "enums", + 8: "enumvalues", + 9: "related", + 10: "defines" +}; + +function convertToId(search) +{ + var result = ''; + for (i=0;i do a search + { + this.Search(); + } + } + + this.OnSearchSelectKey = function(evt) + { + var e = (evt) ? evt : window.event; // for IE + if (e.keyCode==40 && this.searchIndex0) // Up + { + this.searchIndex--; + this.OnSelectItem(this.searchIndex); + } + else if (e.keyCode==13 || e.keyCode==27) + { + this.OnSelectItem(this.searchIndex); + this.CloseSelectionWindow(); + this.DOMSearchField().focus(); + } + return false; + } + + // --------- Actions + + // Closes the results window. + this.CloseResultsWindow = function() + { + this.DOMPopupSearchResultsWindow().style.display = 'none'; + this.DOMSearchClose().style.display = 'none'; + this.Activate(false); + } + + this.CloseSelectionWindow = function() + { + this.DOMSearchSelectWindow().style.display = 'none'; + } + + // Performs a search. + this.Search = function() + { + this.keyTimeout = 0; + + // strip leading whitespace + var searchValue = this.DOMSearchField().value.replace(/^ +/, ""); + + var code = searchValue.toLowerCase().charCodeAt(0); + var idxChar = searchValue.substr(0, 1).toLowerCase(); + if ( 0xD800 <= code && code <= 0xDBFF && searchValue > 1) // surrogate pair + { + idxChar = searchValue.substr(0, 2); + } + + var resultsPage; + var resultsPageWithSearch; + var hasResultsPage; + + var idx = indexSectionsWithContent[this.searchIndex].indexOf(idxChar); + if (idx!=-1) + { + var hexCode=idx.toString(16); + resultsPage = this.resultsPath + '/' + indexSectionNames[this.searchIndex] + '_' + hexCode + '.html'; + resultsPageWithSearch = resultsPage+'?'+escape(searchValue); + hasResultsPage = true; + } + else // nothing available for this search term + { + resultsPage = this.resultsPath + '/nomatches.html'; + resultsPageWithSearch = resultsPage; + hasResultsPage = false; + } + + window.frames.MSearchResults.location = resultsPageWithSearch; + var domPopupSearchResultsWindow = this.DOMPopupSearchResultsWindow(); + + if (domPopupSearchResultsWindow.style.display!='block') + { + var domSearchBox = this.DOMSearchBox(); + this.DOMSearchClose().style.display = 'inline'; + if (this.insideFrame) + { + var domPopupSearchResults = this.DOMPopupSearchResults(); + domPopupSearchResultsWindow.style.position = 'relative'; + domPopupSearchResultsWindow.style.display = 'block'; + var width = document.body.clientWidth - 8; // the -8 is for IE :-( + domPopupSearchResultsWindow.style.width = width + 'px'; + domPopupSearchResults.style.width = width + 'px'; + } + else + { + var domPopupSearchResults = this.DOMPopupSearchResults(); + var left = getXPos(domSearchBox) + 150; // domSearchBox.offsetWidth; + var top = getYPos(domSearchBox) + 20; // domSearchBox.offsetHeight + 1; + domPopupSearchResultsWindow.style.display = 'block'; + left -= domPopupSearchResults.offsetWidth; + domPopupSearchResultsWindow.style.top = top + 'px'; + domPopupSearchResultsWindow.style.left = left + 'px'; + } + } + + this.lastSearchValue = searchValue; + this.lastResultsPage = resultsPage; + } + + // -------- Activation Functions + + // Activates or deactivates the search panel, resetting things to + // their default values if necessary. + this.Activate = function(isActive) + { + if (isActive || // open it + this.DOMPopupSearchResultsWindow().style.display == 'block' + ) + { + this.DOMSearchBox().className = 'MSearchBoxActive'; + + var searchField = this.DOMSearchField(); + + if (searchField.value == this.searchLabel) // clear "Search" term upon entry + { + searchField.value = ''; + this.searchActive = true; + } + } + else if (!isActive) // directly remove the panel + { + this.DOMSearchBox().className = 'MSearchBoxInactive'; + this.DOMSearchField().value = this.searchLabel; + this.searchActive = false; + this.lastSearchValue = '' + this.lastResultsPage = ''; + } + } +} + +// ----------------------------------------------------------------------- + +// The class that handles everything on the search results page. +function SearchResults(name) +{ + // The number of matches from the last run of . + this.lastMatchCount = 0; + this.lastKey = 0; + this.repeatOn = false; + + // Toggles the visibility of the passed element ID. + this.FindChildElement = function(id) + { + var parentElement = document.getElementById(id); + var element = parentElement.firstChild; + + while (element && element!=parentElement) + { + if (element.nodeName == 'DIV' && element.className == 'SRChildren') + { + return element; + } + + if (element.nodeName == 'DIV' && element.hasChildNodes()) + { + element = element.firstChild; + } + else if (element.nextSibling) + { + element = element.nextSibling; + } + else + { + do + { + element = element.parentNode; + } + while (element && element!=parentElement && !element.nextSibling); + + if (element && element!=parentElement) + { + element = element.nextSibling; + } + } + } + } + + this.Toggle = function(id) + { + var element = this.FindChildElement(id); + if (element) + { + if (element.style.display == 'block') + { + element.style.display = 'none'; + } + else + { + element.style.display = 'block'; + } + } + } + + // Searches for the passed string. If there is no parameter, + // it takes it from the URL query. + // + // Always returns true, since other documents may try to call it + // and that may or may not be possible. + this.Search = function(search) + { + if (!search) // get search word from URL + { + search = window.location.search; + search = search.substring(1); // Remove the leading '?' + search = unescape(search); + } + + search = search.replace(/^ +/, ""); // strip leading spaces + search = search.replace(/ +$/, ""); // strip trailing spaces + search = search.toLowerCase(); + search = convertToId(search); + + var resultRows = document.getElementsByTagName("div"); + var matches = 0; + + var i = 0; + while (i < resultRows.length) + { + var row = resultRows.item(i); + if (row.className == "SRResult") + { + var rowMatchName = row.id.toLowerCase(); + rowMatchName = rowMatchName.replace(/^sr\d*_/, ''); // strip 'sr123_' + + if (search.length<=rowMatchName.length && + rowMatchName.substr(0, search.length)==search) + { + row.style.display = 'block'; + matches++; + } + else + { + row.style.display = 'none'; + } + } + i++; + } + document.getElementById("Searching").style.display='none'; + if (matches == 0) // no results + { + document.getElementById("NoMatches").style.display='block'; + } + else // at least one result + { + document.getElementById("NoMatches").style.display='none'; + } + this.lastMatchCount = matches; + return true; + } + + // return the first item with index index or higher that is visible + this.NavNext = function(index) + { + var focusItem; + while (1) + { + var focusName = 'Item'+index; + focusItem = document.getElementById(focusName); + if (focusItem && focusItem.parentNode.parentNode.style.display=='block') + { + break; + } + else if (!focusItem) // last element + { + break; + } + focusItem=null; + index++; + } + return focusItem; + } + + this.NavPrev = function(index) + { + var focusItem; + while (1) + { + var focusName = 'Item'+index; + focusItem = document.getElementById(focusName); + if (focusItem && focusItem.parentNode.parentNode.style.display=='block') + { + break; + } + else if (!focusItem) // last element + { + break; + } + focusItem=null; + index--; + } + return focusItem; + } + + this.ProcessKeys = function(e) + { + if (e.type == "keydown") + { + this.repeatOn = false; + this.lastKey = e.keyCode; + } + else if (e.type == "keypress") + { + if (!this.repeatOn) + { + if (this.lastKey) this.repeatOn = true; + return false; // ignore first keypress after keydown + } + } + else if (e.type == "keyup") + { + this.lastKey = 0; + this.repeatOn = false; + } + return this.lastKey!=0; + } + + this.Nav = function(evt,itemIndex) + { + var e = (evt) ? evt : window.event; // for IE + if (e.keyCode==13) return true; + if (!this.ProcessKeys(e)) return false; + + if (this.lastKey==38) // Up + { + var newIndex = itemIndex-1; + var focusItem = this.NavPrev(newIndex); + if (focusItem) + { + var child = this.FindChildElement(focusItem.parentNode.parentNode.id); + if (child && child.style.display == 'block') // children visible + { + var n=0; + var tmpElem; + while (1) // search for last child + { + tmpElem = document.getElementById('Item'+newIndex+'_c'+n); + if (tmpElem) + { + focusItem = tmpElem; + } + else // found it! + { + break; + } + n++; + } + } + } + if (focusItem) + { + focusItem.focus(); + } + else // return focus to search field + { + parent.document.getElementById("MSearchField").focus(); + } + } + else if (this.lastKey==40) // Down + { + var newIndex = itemIndex+1; + var focusItem; + var item = document.getElementById('Item'+itemIndex); + var elem = this.FindChildElement(item.parentNode.parentNode.id); + if (elem && elem.style.display == 'block') // children visible + { + focusItem = document.getElementById('Item'+itemIndex+'_c0'); + } + if (!focusItem) focusItem = this.NavNext(newIndex); + if (focusItem) focusItem.focus(); + } + else if (this.lastKey==39) // Right + { + var item = document.getElementById('Item'+itemIndex); + var elem = this.FindChildElement(item.parentNode.parentNode.id); + if (elem) elem.style.display = 'block'; + } + else if (this.lastKey==37) // Left + { + var item = document.getElementById('Item'+itemIndex); + var elem = this.FindChildElement(item.parentNode.parentNode.id); + if (elem) elem.style.display = 'none'; + } + else if (this.lastKey==27) // Escape + { + parent.searchBox.CloseResultsWindow(); + parent.document.getElementById("MSearchField").focus(); + } + else if (this.lastKey==13) // Enter + { + return true; + } + return false; + } + + this.NavChild = function(evt,itemIndex,childIndex) + { + var e = (evt) ? evt : window.event; // for IE + if (e.keyCode==13) return true; + if (!this.ProcessKeys(e)) return false; + + if (this.lastKey==38) // Up + { + if (childIndex>0) + { + var newIndex = childIndex-1; + document.getElementById('Item'+itemIndex+'_c'+newIndex).focus(); + } + else // already at first child, jump to parent + { + document.getElementById('Item'+itemIndex).focus(); + } + } + else if (this.lastKey==40) // Down + { + var newIndex = childIndex+1; + var elem = document.getElementById('Item'+itemIndex+'_c'+newIndex); + if (!elem) // last child, jump to parent next parent + { + elem = this.NavNext(itemIndex+1); + } + if (elem) + { + elem.focus(); + } + } + else if (this.lastKey==27) // Escape + { + parent.searchBox.CloseResultsWindow(); + parent.document.getElementById("MSearchField").focus(); + } + else if (this.lastKey==13) // Enter + { + return true; + } + return false; + } +} + +function setKeyActions(elem,action) +{ + elem.setAttribute('onkeydown',action); + elem.setAttribute('onkeypress',action); + elem.setAttribute('onkeyup',action); +} + +function setClassAttr(elem,attr) +{ + elem.setAttribute('class',attr); + elem.setAttribute('className',attr); +} + +function createResults() +{ + var results = document.getElementById("SRResults"); + for (var e=0; e + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++/html/search/typedefs_0.js b/doc/ref/c++/html/search/typedefs_0.js new file mode 100644 index 0000000000..5c389e5e3a --- /dev/null +++ b/doc/ref/c++/html/search/typedefs_0.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['authproperty',['AuthProperty',['../namespacegrpc.html#a8e3a499d0002aae3afd1cae08f44a9ee',1,'grpc']]] +]; diff --git a/doc/ref/c++/html/search/typedefs_1.html b/doc/ref/c++/html/search/typedefs_1.html new file mode 100644 index 0000000000..455fe2b2b9 --- /dev/null +++ b/doc/ref/c++/html/search/typedefs_1.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++/html/search/typedefs_1.js b/doc/ref/c++/html/search/typedefs_1.js new file mode 100644 index 0000000000..eb6e4588bc --- /dev/null +++ b/doc/ref/c++/html/search/typedefs_1.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['codedinputstream',['CodedInputStream',['../namespacegrpc_1_1protobuf_1_1io.html#a8be5a5d13d5471daee11dd8203973bf3',1,'grpc::protobuf::io']]] +]; diff --git a/doc/ref/c++/html/search/typedefs_2.html b/doc/ref/c++/html/search/typedefs_2.html new file mode 100644 index 0000000000..fac5dbac55 --- /dev/null +++ b/doc/ref/c++/html/search/typedefs_2.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++/html/search/typedefs_2.js b/doc/ref/c++/html/search/typedefs_2.js new file mode 100644 index 0000000000..4f2edc1ffa --- /dev/null +++ b/doc/ref/c++/html/search/typedefs_2.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['genericclientasyncreaderwriter',['GenericClientAsyncReaderWriter',['../namespacegrpc.html#aba53fb6f2502caa167e9528e5c560539',1,'grpc']]], + ['genericserverasyncreaderwriter',['GenericServerAsyncReaderWriter',['../namespacegrpc.html#a7b3db9e9e4d0c7faf701c9ebd455196a',1,'grpc']]] +]; diff --git a/doc/ref/c++/html/search/typedefs_3.html b/doc/ref/c++/html/search/typedefs_3.html new file mode 100644 index 0000000000..9cb52e4673 --- /dev/null +++ b/doc/ref/c++/html/search/typedefs_3.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++/html/search/typedefs_3.js b/doc/ref/c++/html/search/typedefs_3.js new file mode 100644 index 0000000000..544cbfaa09 --- /dev/null +++ b/doc/ref/c++/html/search/typedefs_3.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['int64',['int64',['../namespacegrpc_1_1protobuf.html#ad614bff24fe4674ca81af74c769a7b32',1,'grpc::protobuf']]] +]; diff --git a/doc/ref/c++/html/search/typedefs_4.html b/doc/ref/c++/html/search/typedefs_4.html new file mode 100644 index 0000000000..64c6ccef13 --- /dev/null +++ b/doc/ref/c++/html/search/typedefs_4.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++/html/search/typedefs_4.js b/doc/ref/c++/html/search/typedefs_4.js new file mode 100644 index 0000000000..59eb65596f --- /dev/null +++ b/doc/ref/c++/html/search/typedefs_4.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['message',['Message',['../namespacegrpc_1_1protobuf.html#a58557bfd4af54f1c54a6de69ab1fb43c',1,'grpc::protobuf']]] +]; diff --git a/doc/ref/c++/html/search/typedefs_5.html b/doc/ref/c++/html/search/typedefs_5.html new file mode 100644 index 0000000000..e014348b9a --- /dev/null +++ b/doc/ref/c++/html/search/typedefs_5.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++/html/search/typedefs_5.js b/doc/ref/c++/html/search/typedefs_5.js new file mode 100644 index 0000000000..199297f283 --- /dev/null +++ b/doc/ref/c++/html/search/typedefs_5.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['string',['string',['../namespacegrpc.html#ab04a87625da3bf85cdaf5e7856b00203',1,'grpc']]] +]; diff --git a/doc/ref/c++/html/search/typedefs_6.html b/doc/ref/c++/html/search/typedefs_6.html new file mode 100644 index 0000000000..25d6aef5d4 --- /dev/null +++ b/doc/ref/c++/html/search/typedefs_6.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++/html/search/typedefs_6.js b/doc/ref/c++/html/search/typedefs_6.js new file mode 100644 index 0000000000..8cdae6f76f --- /dev/null +++ b/doc/ref/c++/html/search/typedefs_6.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['zerocopyinputstream',['ZeroCopyInputStream',['../namespacegrpc_1_1protobuf_1_1io.html#ae16bb38d6b730de308f0be4eb43931b4',1,'grpc::protobuf::io']]], + ['zerocopyoutputstream',['ZeroCopyOutputStream',['../namespacegrpc_1_1protobuf_1_1io.html#aafcf83341d287d00418952374bc82ce1',1,'grpc::protobuf::io']]] +]; diff --git a/doc/ref/c++/html/search/variables_0.html b/doc/ref/c++/html/search/variables_0.html new file mode 100644 index 0000000000..1b8adc9b33 --- /dev/null +++ b/doc/ref/c++/html/search/variables_0.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++/html/search/variables_0.js b/doc/ref/c++/html/search/variables_0.js new file mode 100644 index 0000000000..8fd5a3159f --- /dev/null +++ b/doc/ref/c++/html/search/variables_0.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['call',['call',['../structgrpc_1_1_method_handler_1_1_handler_parameter.html#aebd5b34a7b5bc6e04ef5ab5df42e7e72',1,'grpc::MethodHandler::HandlerParameter']]], + ['cancelled',['CANCELLED',['../classgrpc_1_1_status.html#a9994ffe95a0495915d82481c2ec594ab',1,'grpc::Status']]], + ['cert_5fchain',['cert_chain',['../structgrpc_1_1_ssl_server_credentials_options_1_1_pem_key_cert_pair.html#ad58d2824d15cc6a1d646b8bef0b8352e',1,'grpc::SslServerCredentialsOptions::PemKeyCertPair']]] +]; diff --git a/doc/ref/c++/html/search/variables_1.html b/doc/ref/c++/html/search/variables_1.html new file mode 100644 index 0000000000..78f63cd1eb --- /dev/null +++ b/doc/ref/c++/html/search/variables_1.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++/html/search/variables_1.js b/doc/ref/c++/html/search/variables_1.js new file mode 100644 index 0000000000..1018b10c6a --- /dev/null +++ b/doc/ref/c++/html/search/variables_1.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['force_5fclient_5fauth',['force_client_auth',['../structgrpc_1_1_ssl_server_credentials_options.html#aa563c0e5a34e389dbc2f4dfa3c097e3e',1,'grpc::SslServerCredentialsOptions']]] +]; diff --git a/doc/ref/c++/html/search/variables_2.html b/doc/ref/c++/html/search/variables_2.html new file mode 100644 index 0000000000..ea80d20140 --- /dev/null +++ b/doc/ref/c++/html/search/variables_2.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++/html/search/variables_2.js b/doc/ref/c++/html/search/variables_2.js new file mode 100644 index 0000000000..1c1157f26c --- /dev/null +++ b/doc/ref/c++/html/search/variables_2.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['got_5fmessage',['got_message',['../classgrpc_1_1_call_op_recv_message.html#a95f94e74f704a7f40e1f2e30aba24c57',1,'grpc::CallOpRecvMessage::got_message()'],['../classgrpc_1_1_call_op_generic_recv_message.html#a1dc0ca6159bc74ec6cbfeacb06c697a0',1,'grpc::CallOpGenericRecvMessage::got_message()']]] +]; diff --git a/doc/ref/c++/html/search/variables_3.html b/doc/ref/c++/html/search/variables_3.html new file mode 100644 index 0000000000..0dca26f47b --- /dev/null +++ b/doc/ref/c++/html/search/variables_3.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++/html/search/variables_3.js b/doc/ref/c++/html/search/variables_3.js new file mode 100644 index 0000000000..95de9e8580 --- /dev/null +++ b/doc/ref/c++/html/search/variables_3.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['initial_5fmetadata_5f',['initial_metadata_',['../classgrpc_1_1_call_op_send_initial_metadata.html#a032d474971352a0f3ca5b1a468fa5fd4',1,'grpc::CallOpSendInitialMetadata']]], + ['initial_5fmetadata_5fcount_5f',['initial_metadata_count_',['../classgrpc_1_1_call_op_send_initial_metadata.html#a19f3366cf32ceb0199e7f636f870dd63',1,'grpc::CallOpSendInitialMetadata']]] +]; diff --git a/doc/ref/c++/html/search/variables_4.html b/doc/ref/c++/html/search/variables_4.html new file mode 100644 index 0000000000..400e8e9b41 --- /dev/null +++ b/doc/ref/c++/html/search/variables_4.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++/html/search/variables_4.js b/doc/ref/c++/html/search/variables_4.js new file mode 100644 index 0000000000..f04a7b799e --- /dev/null +++ b/doc/ref/c++/html/search/variables_4.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['max_5fmessage_5fsize',['max_message_size',['../structgrpc_1_1_method_handler_1_1_handler_parameter.html#ae079bb60a6b69f4e7bca79a11cfa0756',1,'grpc::MethodHandler::HandlerParameter']]], + ['max_5fmessage_5fsize_5f',['max_message_size_',['../classgrpc_1_1_call_op_set_interface.html#a06354e63efdbbd34fa18270490aaabbf',1,'grpc::CallOpSetInterface']]] +]; diff --git a/doc/ref/c++/html/search/variables_5.html b/doc/ref/c++/html/search/variables_5.html new file mode 100644 index 0000000000..7f1241f94b --- /dev/null +++ b/doc/ref/c++/html/search/variables_5.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++/html/search/variables_5.js b/doc/ref/c++/html/search/variables_5.js new file mode 100644 index 0000000000..0791dd3792 --- /dev/null +++ b/doc/ref/c++/html/search/variables_5.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['ok',['OK',['../classgrpc_1_1_status.html#acbac12f241ad08f449aa1b9086ec7acc',1,'grpc::Status']]] +]; diff --git a/doc/ref/c++/html/search/variables_6.html b/doc/ref/c++/html/search/variables_6.html new file mode 100644 index 0000000000..7536df8d5a --- /dev/null +++ b/doc/ref/c++/html/search/variables_6.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++/html/search/variables_6.js b/doc/ref/c++/html/search/variables_6.js new file mode 100644 index 0000000000..7d573ddd67 --- /dev/null +++ b/doc/ref/c++/html/search/variables_6.js @@ -0,0 +1,8 @@ +var searchData= +[ + ['pem_5fcert_5fchain',['pem_cert_chain',['../structgrpc_1_1_ssl_credentials_options.html#a01015d8ec7dbf49f2ac3cd21f21d383b',1,'grpc::SslCredentialsOptions']]], + ['pem_5fkey_5fcert_5fpairs',['pem_key_cert_pairs',['../structgrpc_1_1_ssl_server_credentials_options.html#a3a042e846edd3d1e2f24e846e36c694d',1,'grpc::SslServerCredentialsOptions']]], + ['pem_5fprivate_5fkey',['pem_private_key',['../structgrpc_1_1_ssl_credentials_options.html#a5b661f8daf02db7283774e0fb9a8979e',1,'grpc::SslCredentialsOptions']]], + ['pem_5froot_5fcerts',['pem_root_certs',['../structgrpc_1_1_ssl_credentials_options.html#a0ce1730020e18d04b6af48c88e069869',1,'grpc::SslCredentialsOptions::pem_root_certs()'],['../structgrpc_1_1_ssl_server_credentials_options.html#acdde73dba83ee30aeda4a678f5ce8e74',1,'grpc::SslServerCredentialsOptions::pem_root_certs()']]], + ['private_5fkey',['private_key',['../structgrpc_1_1_ssl_server_credentials_options_1_1_pem_key_cert_pair.html#ad9fa2a2083a40127d264e61cca637050',1,'grpc::SslServerCredentialsOptions::PemKeyCertPair']]] +]; diff --git a/doc/ref/c++/html/search/variables_7.html b/doc/ref/c++/html/search/variables_7.html new file mode 100644 index 0000000000..66186a6994 --- /dev/null +++ b/doc/ref/c++/html/search/variables_7.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++/html/search/variables_7.js b/doc/ref/c++/html/search/variables_7.js new file mode 100644 index 0000000000..a2b74dbedb --- /dev/null +++ b/doc/ref/c++/html/search/variables_7.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['request',['request',['../structgrpc_1_1_method_handler_1_1_handler_parameter.html#a82558a5f8a8d3c9b16be620092f67fa4',1,'grpc::MethodHandler::HandlerParameter']]] +]; diff --git a/doc/ref/c++/html/search/variables_8.html b/doc/ref/c++/html/search/variables_8.html new file mode 100644 index 0000000000..aa13bf24a5 --- /dev/null +++ b/doc/ref/c++/html/search/variables_8.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/c++/html/search/variables_8.js b/doc/ref/c++/html/search/variables_8.js new file mode 100644 index 0000000000..537e235ab1 --- /dev/null +++ b/doc/ref/c++/html/search/variables_8.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['send_5f',['send_',['../classgrpc_1_1_call_op_send_initial_metadata.html#a2e867bf1e2a14f51fbda7ffe4a9d0e30',1,'grpc::CallOpSendInitialMetadata']]], + ['server_5fcontext',['server_context',['../structgrpc_1_1_method_handler_1_1_handler_parameter.html#a281166394b3ec1fc0962f3841ef22c3c',1,'grpc::MethodHandler::HandlerParameter']]] +]; diff --git a/doc/ref/c++/html/serialization__traits_8h.html b/doc/ref/c++/html/serialization__traits_8h.html new file mode 100644 index 0000000000..3bb06b3f02 --- /dev/null +++ b/doc/ref/c++/html/serialization__traits_8h.html @@ -0,0 +1,117 @@ + + + + + + +GRPC C++: include/grpc++/impl/serialization_traits.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
serialization_traits.h File Reference
+
+
+ +

Go to the source code of this file.

+ + + + + +

+Data Structures

class  grpc::SerializationTraits< Message, UnusedButHereForPartialTemplateSpecialization >
 Defines how to serialize and deserialize some type. More...
 
+ + + +

+Namespaces

 grpc
 
+
+ + + + diff --git a/doc/ref/c++/html/serialization__traits_8h_source.html b/doc/ref/c++/html/serialization__traits_8h_source.html new file mode 100644 index 0000000000..e9f7a37d17 --- /dev/null +++ b/doc/ref/c++/html/serialization__traits_8h_source.html @@ -0,0 +1,148 @@ + + + + + + +GRPC C++: include/grpc++/impl/serialization_traits.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
serialization_traits.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPCXX_IMPL_SERIALIZATION_TRAITS_H
+
35 #define GRPCXX_IMPL_SERIALIZATION_TRAITS_H
+
36 
+
37 namespace grpc {
+
38 
+
46 // bool* own_buffer);
+
62 template <class Message,
+
63  class UnusedButHereForPartialTemplateSpecialization = void>
+ +
65 
+
66 } // namespace grpc
+
67 
+
68 #endif // GRPCXX_IMPL_SERIALIZATION_TRAITS_H
+
Defines how to serialize and deserialize some type.
Definition: serialization_traits.h:64
+
::google::protobuf::Message Message
Definition: config_protobuf.h:60
+
+ + + + diff --git a/doc/ref/c++/html/server_8h.html b/doc/ref/c++/html/server_8h.html new file mode 100644 index 0000000000..fda7ffe358 --- /dev/null +++ b/doc/ref/c++/html/server_8h.html @@ -0,0 +1,124 @@ + + + + + + +GRPC C++: include/grpc++/server.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
server.h File Reference
+
+
+
#include <list>
+#include <memory>
+#include <grpc++/completion_queue.h>
+#include <grpc++/config.h>
+#include <grpc++/impl/call.h>
+#include <grpc++/impl/grpc_library.h>
+#include <grpc++/impl/sync.h>
+#include <grpc++/status.h>
+
+

Go to the source code of this file.

+ + + + +

+Data Structures

class  grpc::Server
 
+ + + +

+Namespaces

 grpc
 
+
+ + + + diff --git a/doc/ref/c++/html/server_8h_source.html b/doc/ref/c++/html/server_8h_source.html new file mode 100644 index 0000000000..82b5358a7b --- /dev/null +++ b/doc/ref/c++/html/server_8h_source.html @@ -0,0 +1,373 @@ + + + + + + +GRPC C++: include/grpc++/server.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
server.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPCXX_SERVER_H
+
35 #define GRPCXX_SERVER_H
+
36 
+
37 #include <list>
+
38 #include <memory>
+
39 
+ +
41 #include <grpc++/config.h>
+
42 #include <grpc++/impl/call.h>
+ +
44 #include <grpc++/impl/sync.h>
+
45 #include <grpc++/status.h>
+
46 
+
47 struct grpc_server;
+
48 
+
49 namespace grpc {
+
50 
+
51 class AsynchronousService;
+
52 class GenericServerContext;
+
53 class AsyncGenericService;
+
54 class RpcService;
+
55 class RpcServiceMethod;
+
56 class ServerAsyncStreamingInterface;
+
57 class ServerCredentials;
+
58 class ThreadPoolInterface;
+
59 
+
60 // Currently it only supports handling rpcs in a single thread.
+
61 class Server GRPC_FINAL : public GrpcLibrary, private CallHook {
+
62  public:
+
63  ~Server();
+
64 
+
65  // Shutdown the server, block until all rpc processing finishes.
+
66  void Shutdown();
+
67 
+
68  // Block waiting for all work to complete (the server must either
+
69  // be shutting down or some other thread must call Shutdown for this
+
70  // function to ever return)
+
71  void Wait();
+
72 
+
73  private:
+
74  friend class AsyncGenericService;
+
75  friend class AsynchronousService;
+
76  friend class ServerBuilder;
+
77 
+
78  class SyncRequest;
+
79  class AsyncRequest;
+
80  class ShutdownRequest;
+
81 
+
82  // ServerBuilder use only
+
83  Server(ThreadPoolInterface* thread_pool, bool thread_pool_owned,
+
84  int max_message_size);
+
85  // Register a service. This call does not take ownership of the service.
+
86  // The service must exist for the lifetime of the Server instance.
+
87  bool RegisterService(const grpc::string *host, RpcService* service);
+
88  bool RegisterAsyncService(const grpc::string *host, AsynchronousService* service);
+
89  void RegisterAsyncGenericService(AsyncGenericService* service);
+
90  // Add a listening port. Can be called multiple times.
+
91  int AddListeningPort(const grpc::string& addr, ServerCredentials* creds);
+
92  // Start the server.
+
93  bool Start();
+
94 
+
95  void HandleQueueClosed();
+
96  void RunRpc();
+
97  void ScheduleCallback();
+
98 
+
99  void PerformOpsOnCall(CallOpSetInterface* ops, Call* call) GRPC_OVERRIDE;
+
100 
+
101  class BaseAsyncRequest : public CompletionQueueTag {
+
102  public:
+
103  BaseAsyncRequest(Server* server, ServerContext* context,
+ +
105  CompletionQueue* call_cq, void* tag);
+
106  virtual ~BaseAsyncRequest();
+
107 
+
108  bool FinalizeResult(void** tag, bool* status) GRPC_OVERRIDE;
+
109 
+
110  protected:
+
111  Server* const server_;
+
112  ServerContext* const context_;
+
113  ServerAsyncStreamingInterface* const stream_;
+
114  CompletionQueue* const call_cq_;
+
115  void* const tag_;
+
116  grpc_call* call_;
+
117  grpc_metadata_array initial_metadata_array_;
+
118  };
+
119 
+
120  class RegisteredAsyncRequest : public BaseAsyncRequest {
+
121  public:
+
122  RegisteredAsyncRequest(Server* server, ServerContext* context,
+ +
124  CompletionQueue* call_cq, void* tag);
+
125 
+
126  // uses BaseAsyncRequest::FinalizeResult
+
127 
+
128  protected:
+
129  void IssueRequest(void* registered_method, grpc_byte_buffer** payload,
+
130  ServerCompletionQueue* notification_cq);
+
131  };
+
132 
+
133  class NoPayloadAsyncRequest GRPC_FINAL : public RegisteredAsyncRequest {
+
134  public:
+
135  NoPayloadAsyncRequest(void* registered_method, Server* server,
+
136  ServerContext* context,
+
137  ServerAsyncStreamingInterface* stream,
+
138  CompletionQueue* call_cq,
+
139  ServerCompletionQueue* notification_cq, void* tag)
+
140  : RegisteredAsyncRequest(server, context, stream, call_cq, tag) {
+
141  IssueRequest(registered_method, nullptr, notification_cq);
+
142  }
+
143 
+
144  // uses RegisteredAsyncRequest::FinalizeResult
+
145  };
+
146 
+
147  template <class Message>
+
148  class PayloadAsyncRequest GRPC_FINAL : public RegisteredAsyncRequest {
+
149  public:
+
150  PayloadAsyncRequest(void* registered_method, Server* server,
+
151  ServerContext* context,
+
152  ServerAsyncStreamingInterface* stream,
+
153  CompletionQueue* call_cq,
+
154  ServerCompletionQueue* notification_cq, void* tag,
+
155  Message* request)
+
156  : RegisteredAsyncRequest(server, context, stream, call_cq, tag),
+
157  request_(request) {
+
158  IssueRequest(registered_method, &payload_, notification_cq);
+
159  }
+
160 
+
161  bool FinalizeResult(void** tag, bool* status) GRPC_OVERRIDE {
+
162  bool serialization_status =
+
163  *status && payload_ &&
+
164  SerializationTraits<Message>::Deserialize(payload_, request_,
+
165  server_->max_message_size_)
+
166  .ok();
+
167  bool ret = RegisteredAsyncRequest::FinalizeResult(tag, status);
+
168  *status = serialization_status && *status;
+
169  return ret;
+
170  }
+
171 
+
172  private:
+
173  grpc_byte_buffer* payload_;
+
174  Message* const request_;
+
175  };
+
176 
+
177  class GenericAsyncRequest GRPC_FINAL : public BaseAsyncRequest {
+
178  public:
+
179  GenericAsyncRequest(Server* server, GenericServerContext* context,
+
180  ServerAsyncStreamingInterface* stream,
+
181  CompletionQueue* call_cq,
+
182  ServerCompletionQueue* notification_cq, void* tag);
+
183 
+
184  bool FinalizeResult(void** tag, bool* status) GRPC_OVERRIDE;
+
185 
+
186  private:
+
187  grpc_call_details call_details_;
+
188  };
+
189 
+
190  template <class Message>
+
191  void RequestAsyncCall(void* registered_method, ServerContext* context,
+
192  ServerAsyncStreamingInterface* stream,
+
193  CompletionQueue* call_cq,
+
194  ServerCompletionQueue* notification_cq, void* tag,
+
195  Message* message) {
+
196  new PayloadAsyncRequest<Message>(registered_method, this, context, stream,
+
197  call_cq, notification_cq, tag, message);
+
198  }
+
199 
+
200  void RequestAsyncCall(void* registered_method, ServerContext* context,
+
201  ServerAsyncStreamingInterface* stream,
+
202  CompletionQueue* call_cq,
+
203  ServerCompletionQueue* notification_cq, void* tag) {
+
204  new NoPayloadAsyncRequest(registered_method, this, context, stream, call_cq,
+
205  notification_cq, tag);
+
206  }
+
207 
+
208  void RequestAsyncGenericCall(GenericServerContext* context,
+
209  ServerAsyncStreamingInterface* stream,
+
210  CompletionQueue* call_cq,
+
211  ServerCompletionQueue* notification_cq,
+
212  void* tag) {
+
213  new GenericAsyncRequest(this, context, stream, call_cq, notification_cq,
+
214  tag);
+
215  }
+
216 
+
217  const int max_message_size_;
+
218 
+
219  // Completion queue.
+
220  CompletionQueue cq_;
+
221 
+
222  // Sever status
+
223  grpc::mutex mu_;
+
224  bool started_;
+
225  bool shutdown_;
+
226  // The number of threads which are running callbacks.
+
227  int num_running_cb_;
+
228  grpc::condition_variable callback_cv_;
+
229 
+
230  std::list<SyncRequest>* sync_methods_;
+
231 
+
232  // Pointer to the c grpc server.
+
233  grpc_server* const server_;
+
234 
+
235  ThreadPoolInterface* thread_pool_;
+
236  // Whether the thread pool is created and owned by the server.
+
237  bool thread_pool_owned_;
+
238 };
+
239 
+
240 } // namespace grpc
+
241 
+
242 #endif // GRPCXX_SERVER_H
+
Definition: completion_queue.h:75
+
void Shutdown()
+ +
std::string string
Definition: config.h:112
+
An abstract collection of call ops, used to generate the grpc_call_op structure to pass down to the l...
Definition: call.h:482
+
Definition: service_type.h:68
+
Definition: sync_no_cxx11.h:45
+ + +
Definition: service_type.h:57
+
#define GRPC_FINAL
Definition: config.h:71
+
Definition: async_generic_service.h:59
+
Definition: thread_pool_interface.h:42
+ +
Definition: sync_no_cxx11.h:84
+
Definition: grpc_library.h:41
+
Definition: rpc_service_method.h:227
+
Definition: server_credentials.h:48
+
Definition: server.h:61
+
Definition: call.h:565
+ + +
Definition: server_context.h:86
+
Definition: completion_queue.h:87
+ + +
Definition: completion_queue.h:162
+
#define GRPC_OVERRIDE
Definition: config.h:77
+
Definition: call.h:558
+
Definition: server_builder.h:54
+
::google::protobuf::Message Message
Definition: config_protobuf.h:60
+
+ + + + diff --git a/doc/ref/c++/html/server__builder_8h.html b/doc/ref/c++/html/server__builder_8h.html new file mode 100644 index 0000000000..20fef5d97c --- /dev/null +++ b/doc/ref/c++/html/server__builder_8h.html @@ -0,0 +1,119 @@ + + + + + + +GRPC C++: include/grpc++/server_builder.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
server_builder.h File Reference
+
+
+
#include <memory>
+#include <vector>
+#include <grpc++/config.h>
+
+

Go to the source code of this file.

+ + + + +

+Data Structures

class  grpc::ServerBuilder
 
+ + + +

+Namespaces

 grpc
 
+
+ + + + diff --git a/doc/ref/c++/html/server__builder_8h_source.html b/doc/ref/c++/html/server__builder_8h_source.html new file mode 100644 index 0000000000..757aac9a3c --- /dev/null +++ b/doc/ref/c++/html/server__builder_8h_source.html @@ -0,0 +1,256 @@ + + + + + + +GRPC C++: include/grpc++/server_builder.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
server_builder.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPCXX_SERVER_BUILDER_H
+
35 #define GRPCXX_SERVER_BUILDER_H
+
36 
+
37 #include <memory>
+
38 #include <vector>
+
39 
+
40 #include <grpc++/config.h>
+
41 
+
42 namespace grpc {
+
43 
+
44 class AsyncGenericService;
+
45 class AsynchronousService;
+
46 class CompletionQueue;
+
47 class RpcService;
+
48 class Server;
+
49 class ServerCompletionQueue;
+
50 class ServerCredentials;
+
51 class SynchronousService;
+
52 class ThreadPoolInterface;
+
53 
+ +
55  public:
+
56  ServerBuilder();
+
57 
+
58  // Register a service. This call does not take ownership of the service.
+
59  // The service must exist for the lifetime of the Server instance returned by
+
60  // BuildAndStart().
+
61  // Matches requests with any :authority
+
62  void RegisterService(SynchronousService* service);
+
63 
+
64  // Register an asynchronous service.
+
65  // This call does not take ownership of the service or completion queue.
+
66  // The service and completion queuemust exist for the lifetime of the Server
+
67  // instance returned by BuildAndStart().
+
68  // Matches requests with any :authority
+ +
70 
+
71  // Register a generic service.
+
72  // Matches requests with any :authority
+ +
74 
+
75  // Register a service. This call does not take ownership of the service.
+
76  // The service must exist for the lifetime of the Server instance returned by
+
77  // BuildAndStart().
+
78  // Only matches requests with :authority \a host
+
79  void RegisterService(const grpc::string& host,
+
80  SynchronousService* service);
+
81 
+
82  // Register an asynchronous service.
+
83  // This call does not take ownership of the service or completion queue.
+
84  // The service and completion queuemust exist for the lifetime of the Server
+
85  // instance returned by BuildAndStart().
+
86  // Only matches requests with :authority \a host
+
87  void RegisterAsyncService(const grpc::string& host,
+
88  AsynchronousService* service);
+
89 
+
90  // Set max message size in bytes.
+
91  void SetMaxMessageSize(int max_message_size) {
+
92  max_message_size_ = max_message_size;
+
93  }
+
94 
+
95  // Add a listening port. Can be called multiple times.
+
96  void AddListeningPort(const grpc::string& addr,
+
97  std::shared_ptr<ServerCredentials> creds,
+
98  int* selected_port = nullptr);
+
99 
+
100  // Set the thread pool used for running appliation rpc handlers.
+
101  // Does not take ownership.
+
102  void SetThreadPool(ThreadPoolInterface* thread_pool);
+
103 
+
104  // Add a completion queue for handling asynchronous services
+
105  // Caller is required to keep this completion queue live until calling
+
106  // BuildAndStart()
+
107  std::unique_ptr<ServerCompletionQueue> AddCompletionQueue();
+
108 
+
109  // Return a running server which is ready for processing rpcs.
+
110  std::unique_ptr<Server> BuildAndStart();
+
111 
+
112  private:
+
113  struct Port {
+
114  grpc::string addr;
+
115  std::shared_ptr<ServerCredentials> creds;
+
116  int* selected_port;
+
117  };
+
118 
+
119  typedef std::unique_ptr<grpc::string> HostString;
+
120  template <class T> struct NamedService {
+
121  explicit NamedService(T* s) : service(s) {}
+
122  NamedService(const grpc::string& h, T *s)
+
123  : host(new grpc::string(h)), service(s) {}
+
124  HostString host;
+
125  T* service;
+
126  };
+
127 
+
128  int max_message_size_;
+
129  std::vector<std::unique_ptr<NamedService<RpcService>>> services_;
+
130  std::vector<std::unique_ptr<NamedService<AsynchronousService>>> async_services_;
+
131  std::vector<Port> ports_;
+
132  std::vector<ServerCompletionQueue*> cqs_;
+
133  std::shared_ptr<ServerCredentials> creds_;
+
134  AsyncGenericService* generic_service_;
+
135  ThreadPoolInterface* thread_pool_;
+
136 };
+
137 
+
138 } // namespace grpc
+
139 
+
140 #endif // GRPCXX_SERVER_BUILDER_H
+
std::string string
Definition: config.h:112
+ +
void RegisterAsyncService(AsynchronousService *service)
+
Definition: service_type.h:68
+
void AddListeningPort(const grpc::string &addr, std::shared_ptr< ServerCredentials > creds, int *selected_port=nullptr)
+ +
void SetMaxMessageSize(int max_message_size)
Definition: server_builder.h:91
+
Definition: async_generic_service.h:59
+
Definition: thread_pool_interface.h:42
+
void SetThreadPool(ThreadPoolInterface *thread_pool)
+
Definition: service_type.h:51
+
std::unique_ptr< Server > BuildAndStart()
+
std::unique_ptr< ServerCompletionQueue > AddCompletionQueue()
+
void RegisterAsyncGenericService(AsyncGenericService *service)
+
Definition: server_builder.h:54
+
void RegisterService(SynchronousService *service)
+
+ + + + diff --git a/doc/ref/c++/html/server__context_8h.html b/doc/ref/c++/html/server__context_8h.html new file mode 100644 index 0000000000..ce4d8e1787 --- /dev/null +++ b/doc/ref/c++/html/server__context_8h.html @@ -0,0 +1,147 @@ + + + + + + +GRPC C++: include/grpc++/server_context.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
server_context.h File Reference
+
+ + + + + diff --git a/doc/ref/c++/html/server__context_8h_source.html b/doc/ref/c++/html/server__context_8h_source.html new file mode 100644 index 0000000000..f665301c5f --- /dev/null +++ b/doc/ref/c++/html/server__context_8h_source.html @@ -0,0 +1,319 @@ + + + + + + +GRPC C++: include/grpc++/server_context.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
server_context.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPCXX_SERVER_CONTEXT_H
+
35 #define GRPCXX_SERVER_CONTEXT_H
+
36 
+
37 #include <map>
+
38 #include <memory>
+
39 
+
40 #include <grpc/compression.h>
+
41 #include <grpc/support/time.h>
+
42 #include <grpc++/auth_context.h>
+
43 #include <grpc++/config.h>
+
44 #include <grpc++/time.h>
+
45 
+
46 struct gpr_timespec;
+
47 struct grpc_metadata;
+
48 struct grpc_call;
+
49 struct census_context;
+
50 
+
51 namespace grpc {
+
52 
+
53 template <class W, class R>
+ +
55 template <class W>
+ +
57 template <class W>
+ +
59 template <class R, class W>
+ +
61 template <class R>
+
62 class ServerReader;
+
63 template <class W>
+
64 class ServerWriter;
+
65 template <class R, class W>
+
66 class ServerReaderWriter;
+
67 template <class ServiceType, class RequestType, class ResponseType>
+
68 class RpcMethodHandler;
+
69 template <class ServiceType, class RequestType, class ResponseType>
+ +
71 template <class ServiceType, class RequestType, class ResponseType>
+ +
73 template <class ServiceType, class RequestType, class ResponseType>
+ +
75 
+
76 class Call;
+
77 class CallOpBuffer;
+
78 class CompletionQueue;
+
79 class Server;
+
80 
+
81 namespace testing {
+
82 class InteropContextInspector;
+
83 } // namespace testing
+
84 
+
85 // Interface of server side rpc context.
+ +
87  public:
+
88  ServerContext(); // for async calls
+ +
90 
+
91 #ifndef GRPC_CXX0X_NO_CHRONO
+
92  std::chrono::system_clock::time_point deadline() {
+
93  return Timespec2Timepoint(deadline_);
+
94  }
+
95 #endif // !GRPC_CXX0X_NO_CHRONO
+
96 
+
97  gpr_timespec raw_deadline() { return deadline_; }
+
98 
+
99  void AddInitialMetadata(const grpc::string& key, const grpc::string& value);
+
100  void AddTrailingMetadata(const grpc::string& key, const grpc::string& value);
+
101 
+
102  bool IsCancelled() const;
+
103 
+
104  const std::multimap<grpc::string, grpc::string>& client_metadata() {
+
105  return client_metadata_;
+
106  }
+
107 
+
108  grpc_compression_level compression_level() const {
+
109  return compression_level_;
+
110  }
+
111  void set_compression_level(grpc_compression_level level);
+
112 
+
113  grpc_compression_algorithm compression_algorithm() const {
+
114  return compression_algorithm_;
+
115  }
+
116  void set_compression_algorithm(grpc_compression_algorithm algorithm);
+
117 
+
118  std::shared_ptr<const AuthContext> auth_context() const;
+
119 
+
120  // Return the peer uri in a string.
+
121  // WARNING: this value is never authenticated or subject to any security
+
122  // related code. It must not be used for any authentication related
+
123  // functionality. Instead, use auth_context.
+
124  grpc::string peer() const;
+
125 
+
126  const struct census_context* census_context() const;
+
127 
+
128  private:
+
129  friend class ::grpc::testing::InteropContextInspector;
+
130  friend class ::grpc::Server;
+
131  template <class W, class R>
+
132  friend class ::grpc::ServerAsyncReader;
+
133  template <class W>
+
134  friend class ::grpc::ServerAsyncWriter;
+
135  template <class W>
+
136  friend class ::grpc::ServerAsyncResponseWriter;
+
137  template <class R, class W>
+
138  friend class ::grpc::ServerAsyncReaderWriter;
+
139  template <class R>
+
140  friend class ::grpc::ServerReader;
+
141  template <class W>
+
142  friend class ::grpc::ServerWriter;
+
143  template <class R, class W>
+
144  friend class ::grpc::ServerReaderWriter;
+
145  template <class ServiceType, class RequestType, class ResponseType>
+
146  friend class RpcMethodHandler;
+
147  template <class ServiceType, class RequestType, class ResponseType>
+ +
149  template <class ServiceType, class RequestType, class ResponseType>
+ +
151  template <class ServiceType, class RequestType, class ResponseType>
+
152  friend class BidiStreamingHandler;
+
153 
+
154  // Prevent copying.
+ +
156  ServerContext& operator=(const ServerContext&);
+
157 
+
158  class CompletionOp;
+
159 
+
160  void BeginCompletionOp(Call* call);
+
161 
+
162  ServerContext(gpr_timespec deadline, grpc_metadata* metadata,
+
163  size_t metadata_count);
+
164 
+
165  void set_call(grpc_call* call);
+
166 
+
167  CompletionOp* completion_op_;
+
168 
+
169  gpr_timespec deadline_;
+
170  grpc_call* call_;
+
171  CompletionQueue* cq_;
+
172  bool sent_initial_metadata_;
+
173  mutable std::shared_ptr<const AuthContext> auth_context_;
+
174  std::multimap<grpc::string, grpc::string> client_metadata_;
+
175  std::multimap<grpc::string, grpc::string> initial_metadata_;
+
176  std::multimap<grpc::string, grpc::string> trailing_metadata_;
+
177 
+
178  grpc_compression_level compression_level_;
+
179  grpc_compression_algorithm compression_algorithm_;
+
180 };
+
181 
+
182 } // namespace grpc
+
183 
+
184 #endif // GRPCXX_SERVER_CONTEXT_H
+
grpc_compression_algorithm compression_algorithm() const
Definition: server_context.h:113
+
std::chrono::system_clock::time_point deadline()
Definition: server_context.h:92
+
void set_compression_algorithm(grpc_compression_algorithm algorithm)
+
grpc_compression_level compression_level() const
Definition: server_context.h:108
+
std::string string
Definition: config.h:112
+ + +
Definition: server_context.h:60
+ +
void set_compression_level(grpc_compression_level level)
+
void AddInitialMetadata(const grpc::string &key, const grpc::string &value)
+
Definition: completion_queue.h:53
+
Definition: server_context.h:56
+ + +
const struct census_context * census_context() const
+
Definition: server.h:61
+
Definition: call.h:565
+
Definition: completion_queue.h:59
+
bool IsCancelled() const
+
Definition: server_context.h:86
+
grpc::string peer() const
+
Definition: completion_queue.h:55
+
Definition: completion_queue.h:87
+
Definition: completion_queue.h:61
+
const std::multimap< grpc::string, grpc::string > & client_metadata()
Definition: server_context.h:104
+
Definition: completion_queue.h:57
+
Definition: completion_queue.h:63
+
Definition: async_unary_call.h:101
+
std::chrono::system_clock::time_point Timespec2Timepoint(gpr_timespec t)
+
void AddTrailingMetadata(const grpc::string &key, const grpc::string &value)
+
gpr_timespec raw_deadline()
Definition: server_context.h:97
+
std::shared_ptr< const AuthContext > auth_context() const
+
Definition: server_context.h:54
+
Definition: completion_queue.h:65
+
+ + + + diff --git a/doc/ref/c++/html/server__credentials_8h.html b/doc/ref/c++/html/server__credentials_8h.html new file mode 100644 index 0000000000..37efee4ac7 --- /dev/null +++ b/doc/ref/c++/html/server__credentials_8h.html @@ -0,0 +1,133 @@ + + + + + + +GRPC C++: include/grpc++/server_credentials.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
server_credentials.h File Reference
+
+
+
#include <memory>
+#include <vector>
+#include <grpc++/config.h>
+
+

Go to the source code of this file.

+ + + + + + + + +

+Data Structures

class  grpc::ServerCredentials
 
struct  grpc::SslServerCredentialsOptions
 
struct  grpc::SslServerCredentialsOptions::PemKeyCertPair
 
+ + + +

+Namespaces

 grpc
 
+ + + + + +

+Functions

std::shared_ptr
+< ServerCredentials > 
grpc::SslServerCredentials (const SslServerCredentialsOptions &options)
 
std::shared_ptr
+< ServerCredentials > 
grpc::InsecureServerCredentials ()
 
+
+ + + + diff --git a/doc/ref/c++/html/server__credentials_8h_source.html b/doc/ref/c++/html/server__credentials_8h_source.html new file mode 100644 index 0000000000..69954884c6 --- /dev/null +++ b/doc/ref/c++/html/server__credentials_8h_source.html @@ -0,0 +1,194 @@ + + + + + + +GRPC C++: include/grpc++/server_credentials.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
server_credentials.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPCXX_SERVER_CREDENTIALS_H
+
35 #define GRPCXX_SERVER_CREDENTIALS_H
+
36 
+
37 #include <memory>
+
38 #include <vector>
+
39 
+
40 #include <grpc++/config.h>
+
41 
+
42 struct grpc_server;
+
43 
+
44 namespace grpc {
+
45 class Server;
+
46 
+
47 // grpc_server_credentials wrapper class.
+ +
49  public:
+
50  virtual ~ServerCredentials();
+
51 
+
52  private:
+
53  friend class ::grpc::Server;
+
54 
+
55  virtual int AddPortToServer(const grpc::string& addr,
+
56  grpc_server* server) = 0;
+
57 };
+
58 
+
59 // Options to create ServerCredentials with SSL
+ + +
62 
+
63  struct PemKeyCertPair {
+ + +
66  };
+ +
68  std::vector<PemKeyCertPair> pem_key_cert_pairs;
+ +
70 };
+
71 
+
72 // Builds SSL ServerCredentials given SSL specific options
+
73 std::shared_ptr<ServerCredentials> SslServerCredentials(
+
74  const SslServerCredentialsOptions& options);
+
75 
+
76 std::shared_ptr<ServerCredentials> InsecureServerCredentials();
+
77 
+
78 } // namespace grpc
+
79 
+
80 #endif // GRPCXX_SERVER_CREDENTIALS_H
+
grpc::string cert_chain
Definition: server_credentials.h:65
+
std::shared_ptr< ServerCredentials > InsecureServerCredentials()
+
std::string string
Definition: config.h:112
+ +
Definition: server_credentials.h:63
+ +
bool force_client_auth
Definition: server_credentials.h:69
+
Definition: server_credentials.h:48
+
std::vector< PemKeyCertPair > pem_key_cert_pairs
Definition: server_credentials.h:68
+
grpc::string pem_root_certs
Definition: server_credentials.h:67
+
Definition: server_credentials.h:60
+
std::shared_ptr< ServerCredentials > SslServerCredentials(const SslServerCredentialsOptions &options)
+
grpc::string private_key
Definition: server_credentials.h:64
+
SslServerCredentialsOptions()
Definition: server_credentials.h:61
+
+ + + + diff --git a/doc/ref/c++/html/service__type_8h.html b/doc/ref/c++/html/service__type_8h.html new file mode 100644 index 0000000000..f9a9db8d46 --- /dev/null +++ b/doc/ref/c++/html/service__type_8h.html @@ -0,0 +1,124 @@ + + + + + + +GRPC C++: include/grpc++/impl/service_type.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
service_type.h File Reference
+
+
+ +

Go to the source code of this file.

+ + + + + + + + +

+Data Structures

class  grpc::SynchronousService
 
class  grpc::ServerAsyncStreamingInterface
 
class  grpc::AsynchronousService
 
+ + + +

+Namespaces

 grpc
 
+
+ + + + diff --git a/doc/ref/c++/html/service__type_8h_source.html b/doc/ref/c++/html/service__type_8h_source.html new file mode 100644 index 0000000000..6f9c4649fd --- /dev/null +++ b/doc/ref/c++/html/service__type_8h_source.html @@ -0,0 +1,247 @@ + + + + + + +GRPC C++: include/grpc++/impl/service_type.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
service_type.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPCXX_IMPL_SERVICE_TYPE_H
+
35 #define GRPCXX_IMPL_SERVICE_TYPE_H
+
36 
+
37 #include <grpc++/config.h>
+ +
39 #include <grpc++/server.h>
+
40 #include <grpc++/status.h>
+
41 
+
42 namespace grpc {
+
43 
+
44 class Call;
+
45 class CompletionQueue;
+
46 class RpcService;
+
47 class Server;
+
48 class ServerCompletionQueue;
+
49 class ServerContext;
+
50 
+ +
52  public:
+
53  virtual ~SynchronousService() {}
+
54  virtual RpcService* service() = 0;
+
55 };
+
56 
+ +
58  public:
+ +
60 
+
61  virtual void SendInitialMetadata(void* tag) = 0;
+
62 
+
63  private:
+
64  friend class Server;
+
65  virtual void BindCall(Call* call) = 0;
+
66 };
+
67 
+ +
69  public:
+
70  AsynchronousService(const char** method_names, size_t method_count)
+
71  : server_(nullptr),
+
72  method_names_(method_names),
+
73  method_count_(method_count),
+
74  request_args_(nullptr) {}
+
75 
+
76  ~AsynchronousService() { delete[] request_args_; }
+
77 
+
78  protected:
+
79  template <class Message>
+
80  void RequestAsyncUnary(int index, ServerContext* context, Message* request,
+ +
82  CompletionQueue* call_cq,
+
83  ServerCompletionQueue* notification_cq, void* tag) {
+
84  server_->RequestAsyncCall(request_args_[index], context, stream, call_cq,
+
85  notification_cq, tag, request);
+
86  }
+
87  void RequestClientStreaming(int index, ServerContext* context,
+ +
89  CompletionQueue* call_cq,
+
90  ServerCompletionQueue* notification_cq,
+
91  void* tag) {
+
92  server_->RequestAsyncCall(request_args_[index], context, stream, call_cq,
+
93  notification_cq, tag);
+
94  }
+
95  template <class Message>
+
96  void RequestServerStreaming(int index, ServerContext* context,
+
97  Message* request,
+ +
99  CompletionQueue* call_cq,
+
100  ServerCompletionQueue* notification_cq,
+
101  void* tag) {
+
102  server_->RequestAsyncCall(request_args_[index], context, stream, call_cq,
+
103  notification_cq, tag, request);
+
104  }
+
105  void RequestBidiStreaming(int index, ServerContext* context,
+ +
107  CompletionQueue* call_cq,
+
108  ServerCompletionQueue* notification_cq, void* tag) {
+
109  server_->RequestAsyncCall(request_args_[index], context, stream, call_cq,
+
110  notification_cq, tag);
+
111  }
+
112 
+
113  private:
+
114  friend class Server;
+
115  Server* server_;
+
116  const char** const method_names_;
+
117  size_t method_count_;
+
118  void** request_args_;
+
119 };
+
120 
+
121 } // namespace grpc
+
122 
+
123 #endif // GRPCXX_IMPL_SERVICE_TYPE_H
+
virtual void SendInitialMetadata(void *tag)=0
+
~AsynchronousService()
Definition: service_type.h:76
+
Definition: service_type.h:68
+
virtual ~SynchronousService()
Definition: service_type.h:53
+ +
Definition: service_type.h:57
+ +
void RequestClientStreaming(int index, ServerContext *context, ServerAsyncStreamingInterface *stream, CompletionQueue *call_cq, ServerCompletionQueue *notification_cq, void *tag)
Definition: service_type.h:87
+
Definition: service_type.h:51
+
Definition: rpc_service_method.h:227
+ +
Definition: server.h:61
+
Definition: call.h:565
+
void RequestServerStreaming(int index, ServerContext *context, Message *request, ServerAsyncStreamingInterface *stream, CompletionQueue *call_cq, ServerCompletionQueue *notification_cq, void *tag)
Definition: service_type.h:96
+
Definition: server_context.h:86
+
AsynchronousService(const char **method_names, size_t method_count)
Definition: service_type.h:70
+
Definition: completion_queue.h:87
+ +
virtual RpcService * service()=0
+
void RequestBidiStreaming(int index, ServerContext *context, ServerAsyncStreamingInterface *stream, CompletionQueue *call_cq, ServerCompletionQueue *notification_cq, void *tag)
Definition: service_type.h:105
+
virtual ~ServerAsyncStreamingInterface()
Definition: service_type.h:59
+
Definition: completion_queue.h:162
+
void RequestAsyncUnary(int index, ServerContext *context, Message *request, ServerAsyncStreamingInterface *stream, CompletionQueue *call_cq, ServerCompletionQueue *notification_cq, void *tag)
Definition: service_type.h:80
+
::google::protobuf::Message Message
Definition: config_protobuf.h:60
+
+ + + + diff --git a/doc/ref/c++/html/slice_8h.html b/doc/ref/c++/html/slice_8h.html new file mode 100644 index 0000000000..148b4f1bd2 --- /dev/null +++ b/doc/ref/c++/html/slice_8h.html @@ -0,0 +1,118 @@ + + + + + + +GRPC C++: include/grpc++/slice.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
slice.h File Reference
+
+
+
#include <grpc/support/slice.h>
+#include <grpc++/config.h>
+
+

Go to the source code of this file.

+ + + + +

+Data Structures

class  grpc::Slice
 
+ + + +

+Namespaces

 grpc
 
+
+ + + + diff --git a/doc/ref/c++/html/slice_8h_source.html b/doc/ref/c++/html/slice_8h_source.html new file mode 100644 index 0000000000..0a00663316 --- /dev/null +++ b/doc/ref/c++/html/slice_8h_source.html @@ -0,0 +1,188 @@ + + + + + + +GRPC C++: include/grpc++/slice.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
slice.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPCXX_SLICE_H
+
35 #define GRPCXX_SLICE_H
+
36 
+
37 #include <grpc/support/slice.h>
+
38 #include <grpc++/config.h>
+
39 
+
40 namespace grpc {
+
41 
+ +
43  public:
+
44  // construct empty slice
+
45  Slice();
+
46  // destructor - drops one ref
+
47  ~Slice();
+
48  // construct slice from grpc slice, adding a ref
+
49  enum AddRef { ADD_REF };
+
50  Slice(gpr_slice slice, AddRef);
+
51  // construct slice from grpc slice, stealing a ref
+
52  enum StealRef { STEAL_REF };
+
53  Slice(gpr_slice slice, StealRef);
+
54  // copy constructor - adds a ref
+
55  Slice(const Slice& other);
+
56  // assignment - ref count is unchanged
+
57  Slice& operator=(Slice other) {
+
58  std::swap(slice_, other.slice_);
+
59  return *this;
+
60  }
+
61 
+
62  size_t size() const { return GPR_SLICE_LENGTH(slice_); }
+
63  const gpr_uint8* begin() const { return GPR_SLICE_START_PTR(slice_); }
+
64  const gpr_uint8* end() const { return GPR_SLICE_END_PTR(slice_); }
+
65 
+
66  private:
+
67  friend class ByteBuffer;
+
68 
+
69  gpr_slice slice_;
+
70 };
+
71 
+
72 } // namespace grpc
+
73 
+
74 #endif // GRPCXX_SLICE_H
+ +
const gpr_uint8 * end() const
Definition: slice.h:64
+
StealRef
Definition: slice.h:52
+
Definition: slice.h:42
+ +
const gpr_uint8 * begin() const
Definition: slice.h:63
+
#define GRPC_FINAL
Definition: config.h:71
+
Definition: slice.h:49
+
Definition: slice.h:52
+ +
size_t size() const
Definition: slice.h:62
+
Slice & operator=(Slice other)
Definition: slice.h:57
+
AddRef
Definition: slice.h:49
+
Definition: byte_buffer.h:49
+
+ + + + diff --git a/doc/ref/c++/html/status_8h.html b/doc/ref/c++/html/status_8h.html new file mode 100644 index 0000000000..6634199319 --- /dev/null +++ b/doc/ref/c++/html/status_8h.html @@ -0,0 +1,118 @@ + + + + + + +GRPC C++: include/grpc++/status.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
status.h File Reference
+
+
+ +

Go to the source code of this file.

+ + + + +

+Data Structures

class  grpc::Status
 
+ + + +

+Namespaces

 grpc
 
+
+ + + + diff --git a/doc/ref/c++/html/status_8h_source.html b/doc/ref/c++/html/status_8h_source.html new file mode 100644 index 0000000000..57d1d5856e --- /dev/null +++ b/doc/ref/c++/html/status_8h_source.html @@ -0,0 +1,177 @@ + + + + + + +GRPC C++: include/grpc++/status.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
status.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPCXX_STATUS_H
+
35 #define GRPCXX_STATUS_H
+
36 
+ +
38 #include <grpc++/config.h>
+
39 
+
40 namespace grpc {
+
41 
+
42 class Status {
+
43  public:
+
44  Status() : code_(StatusCode::OK) {}
+
45  Status(StatusCode code, const grpc::string& details)
+
46  : code_(code), details_(details) {}
+
47 
+
48  // Pre-defined special status objects.
+
49  static const Status& OK;
+
50  static const Status& CANCELLED;
+
51 
+
52  StatusCode error_code() const { return code_; }
+
53  grpc::string error_message() const { return details_; }
+
54 
+
55  bool ok() const { return code_ == StatusCode::OK; }
+
56 
+
57  private:
+
58  StatusCode code_;
+
59  grpc::string details_;
+
60 };
+
61 
+
62 } // namespace grpc
+
63 
+
64 #endif // GRPCXX_STATUS_H
+ +
grpc::string error_message() const
Definition: status.h:53
+
std::string string
Definition: config.h:112
+
static const Status & CANCELLED
Definition: status.h:50
+
Definition: status_code_enum.h:41
+ +
StatusCode
Definition: status_code_enum.h:39
+
Status()
Definition: status.h:44
+
Status(StatusCode code, const grpc::string &details)
Definition: status.h:45
+
StatusCode error_code() const
Definition: status.h:52
+
bool ok() const
Definition: status.h:55
+
Definition: status.h:42
+
static const Status & OK
Definition: status.h:49
+
+ + + + diff --git a/doc/ref/c++/html/status__code__enum_8h.html b/doc/ref/c++/html/status__code__enum_8h.html new file mode 100644 index 0000000000..c5bf1ebf4d --- /dev/null +++ b/doc/ref/c++/html/status__code__enum_8h.html @@ -0,0 +1,140 @@ + + + + + + +GRPC C++: include/grpc++/status_code_enum.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
status_code_enum.h File Reference
+
+ + + + + diff --git a/doc/ref/c++/html/status__code__enum_8h_source.html b/doc/ref/c++/html/status__code__enum_8h_source.html new file mode 100644 index 0000000000..b5976fd2fe --- /dev/null +++ b/doc/ref/c++/html/status__code__enum_8h_source.html @@ -0,0 +1,278 @@ + + + + + + +GRPC C++: include/grpc++/status_code_enum.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
status_code_enum.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPCXX_STATUS_CODE_ENUM_H
+
35 #define GRPCXX_STATUS_CODE_ENUM_H
+
36 
+
37 namespace grpc {
+
38 
+
39 enum StatusCode {
+
40  /* Not an error; returned on success */
+
41  OK = 0,
+
42 
+
43  /* The operation was cancelled (typically by the caller). */
+
44  CANCELLED = 1,
+
45 
+
46  /* Unknown error. An example of where this error may be returned is
+
47  if a Status value received from another address space belongs to
+
48  an error-space that is not known in this address space. Also
+
49  errors raised by APIs that do not return enough error information
+
50  may be converted to this error. */
+
51  UNKNOWN = 2,
+
52 
+
53  /* Client specified an invalid argument. Note that this differs
+
54  from FAILED_PRECONDITION. INVALID_ARGUMENT indicates arguments
+
55  that are problematic regardless of the state of the system
+
56  (e.g., a malformed file name). */
+ +
58 
+
59  /* Deadline expired before operation could complete. For operations
+
60  that change the state of the system, this error may be returned
+
61  even if the operation has completed successfully. For example, a
+
62  successful response from a server could have been delayed long
+
63  enough for the deadline to expire. */
+ +
65 
+
66  /* Some requested entity (e.g., file or directory) was not found. */
+
67  NOT_FOUND = 5,
+
68 
+
69  /* Some entity that we attempted to create (e.g., file or directory)
+
70  already exists. */
+ +
72 
+
73  /* The caller does not have permission to execute the specified
+
74  operation. PERMISSION_DENIED must not be used for rejections
+
75  caused by exhausting some resource (use RESOURCE_EXHAUSTED
+
76  instead for those errors). PERMISSION_DENIED must not be
+
77  used if the caller can not be identified (use UNAUTHENTICATED
+
78  instead for those errors). */
+ +
80 
+
81  /* The request does not have valid authentication credentials for the
+
82  operation. */
+ +
84 
+
85  /* Some resource has been exhausted, perhaps a per-user quota, or
+
86  perhaps the entire file system is out of space. */
+ +
88 
+
89  /* Operation was rejected because the system is not in a state
+
90  required for the operation's execution. For example, directory
+
91  to be deleted may be non-empty, an rmdir operation is applied to
+
92  a non-directory, etc.
+
93 
+
94  A litmus test that may help a service implementor in deciding
+
95  between FAILED_PRECONDITION, ABORTED, and UNAVAILABLE:
+
96  (a) Use UNAVAILABLE if the client can retry just the failing call.
+
97  (b) Use ABORTED if the client should retry at a higher-level
+
98  (e.g., restarting a read-modify-write sequence).
+
99  (c) Use FAILED_PRECONDITION if the client should not retry until
+
100  the system state has been explicitly fixed. E.g., if an "rmdir"
+
101  fails because the directory is non-empty, FAILED_PRECONDITION
+
102  should be returned since the client should not retry unless
+
103  they have first fixed up the directory by deleting files from it.
+
104  (d) Use FAILED_PRECONDITION if the client performs conditional
+
105  REST Get/Update/Delete on a resource and the resource on the
+
106  server does not match the condition. E.g., conflicting
+
107  read-modify-write on the same resource. */
+ +
109 
+
110  /* The operation was aborted, typically due to a concurrency issue
+
111  like sequencer check failures, transaction aborts, etc.
+
112 
+
113  See litmus test above for deciding between FAILED_PRECONDITION,
+
114  ABORTED, and UNAVAILABLE. */
+
115  ABORTED = 10,
+
116 
+
117  /* Operation was attempted past the valid range. E.g., seeking or
+
118  reading past end of file.
+
119 
+
120  Unlike INVALID_ARGUMENT, this error indicates a problem that may
+
121  be fixed if the system state changes. For example, a 32-bit file
+
122  system will generate INVALID_ARGUMENT if asked to read at an
+
123  offset that is not in the range [0,2^32-1], but it will generate
+
124  OUT_OF_RANGE if asked to read from an offset past the current
+
125  file size.
+
126 
+
127  There is a fair bit of overlap between FAILED_PRECONDITION and
+
128  OUT_OF_RANGE. We recommend using OUT_OF_RANGE (the more specific
+
129  error) when it applies so that callers who are iterating through
+
130  a space can easily look for an OUT_OF_RANGE error to detect when
+
131  they are done. */
+ +
133 
+
134  /* Operation is not implemented or not supported/enabled in this service. */
+ +
136 
+
137  /* Internal errors. Means some invariants expected by underlying
+
138  system has been broken. If you see one of these errors,
+
139  something is very broken. */
+
140  INTERNAL = 13,
+
141 
+
142  /* The service is currently unavailable. This is a most likely a
+
143  transient condition and may be corrected by retrying with
+
144  a backoff.
+
145 
+
146  See litmus test above for deciding between FAILED_PRECONDITION,
+
147  ABORTED, and UNAVAILABLE. */
+ +
149 
+
150  /* Unrecoverable data loss or corruption. */
+
151  DATA_LOSS = 15,
+
152 
+
153  /* Force users to include a default branch: */
+ +
155 };
+
156 
+
157 } // namespace grpc
+
158 
+
159 #endif // GRPCXX_STATUS_CODE_ENUM_H
+
Definition: status_code_enum.h:79
+
Definition: status_code_enum.h:148
+
Definition: status_code_enum.h:71
+
Definition: status_code_enum.h:108
+
Definition: status_code_enum.h:151
+
Definition: status_code_enum.h:41
+
StatusCode
Definition: status_code_enum.h:39
+
Definition: status_code_enum.h:154
+
Definition: status_code_enum.h:115
+
Definition: status_code_enum.h:44
+
Definition: status_code_enum.h:64
+
Definition: status_code_enum.h:57
+
Definition: status_code_enum.h:135
+
Definition: status_code_enum.h:87
+
Definition: status_code_enum.h:67
+
Definition: status_code_enum.h:51
+
Definition: status_code_enum.h:132
+
Definition: status_code_enum.h:140
+
Definition: status_code_enum.h:83
+
+ + + + diff --git a/doc/ref/c++/html/stream_8h.html b/doc/ref/c++/html/stream_8h.html new file mode 100644 index 0000000000..077629524e --- /dev/null +++ b/doc/ref/c++/html/stream_8h.html @@ -0,0 +1,170 @@ + + + + + + +GRPC C++: include/grpc++/stream.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
stream.h File Reference
+
+ + + + + diff --git a/doc/ref/c++/html/stream_8h_source.html b/doc/ref/c++/html/stream_8h_source.html new file mode 100644 index 0000000000..4e67e40283 --- /dev/null +++ b/doc/ref/c++/html/stream_8h_source.html @@ -0,0 +1,994 @@ + + + + + + +GRPC C++: include/grpc++/stream.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
stream.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPCXX_STREAM_H
+
35 #define GRPCXX_STREAM_H
+
36 
+ +
38 #include <grpc++/client_context.h>
+ +
40 #include <grpc++/server_context.h>
+
41 #include <grpc++/impl/call.h>
+ +
43 #include <grpc++/status.h>
+
44 #include <grpc/support/log.h>
+
45 
+
46 namespace grpc {
+
47 
+
48 // Common interface for all client side streaming.
+ +
50  public:
+ +
52 
+
53  // Wait until the stream finishes, and return the final status. When the
+
54  // client side declares it has no more message to send, either implicitly or
+
55  // by calling WritesDone, it needs to make sure there is no more message to
+
56  // be received from the server, either implicitly or by getting a false from
+
57  // a Read(). Otherwise, this implicitly cancels the stream.
+
58  virtual Status Finish() = 0;
+
59 };
+
60 
+
61 // An interface that yields a sequence of R messages.
+
62 template <class R>
+ +
64  public:
+
65  virtual ~ReaderInterface() {}
+
66 
+
67  // Blocking read a message and parse to msg. Returns true on success.
+
68  // The method returns false when there will be no more incoming messages,
+
69  // either because the other side has called WritesDone or the stream has
+
70  // failed (or been cancelled).
+
71  virtual bool Read(R* msg) = 0;
+
72 };
+
73 
+
74 // An interface that can be fed a sequence of W messages.
+
75 template <class W>
+ +
77  public:
+
78  virtual ~WriterInterface() {}
+
79 
+
80  // Blocking write msg to the stream. Returns true on success.
+
81  // Returns false when the stream has been closed.
+
82  virtual bool Write(const W& msg, const WriteOptions& options) = 0;
+
83 
+
84  inline bool Write(const W& msg) {
+
85  return Write(msg, WriteOptions());
+
86  }
+
87 };
+
88 
+
89 template <class R>
+ +
91  public ReaderInterface<R> {
+
92  public:
+
93  virtual void WaitForInitialMetadata() = 0;
+
94 };
+
95 
+
96 template <class R>
+ +
98  public:
+
99  // Blocking create a stream and write the first request out.
+
100  template <class W>
+
101  ClientReader(ChannelInterface* channel, const RpcMethod& method,
+
102  ClientContext* context, const W& request)
+
103  : context_(context), call_(channel->CreateCall(method, context, &cq_)) {
+ + +
106  ops.SendInitialMetadata(context->send_initial_metadata_);
+
107  // TODO(ctiller): don't assert
+
108  GPR_ASSERT(ops.SendMessage(request).ok());
+
109  ops.ClientSendClose();
+
110  call_.PerformOps(&ops);
+
111  cq_.Pluck(&ops);
+
112  }
+
113 
+
114  // Blocking wait for initial metadata from server. The received metadata
+
115  // can only be accessed after this call returns. Should only be called before
+
116  // the first read. Calling this method is optional, and if it is not called
+
117  // the metadata will be available in ClientContext after the first read.
+ +
119  GPR_ASSERT(!context_->initial_metadata_received_);
+
120 
+ +
122  ops.RecvInitialMetadata(context_);
+
123  call_.PerformOps(&ops);
+
124  cq_.Pluck(&ops); // status ignored
+
125  }
+
126 
+
127  bool Read(R* msg) GRPC_OVERRIDE {
+ +
129  if (!context_->initial_metadata_received_) {
+
130  ops.RecvInitialMetadata(context_);
+
131  }
+
132  ops.RecvMessage(msg);
+
133  call_.PerformOps(&ops);
+
134  return cq_.Pluck(&ops) && ops.got_message;
+
135  }
+
136 
+ + +
139  Status status;
+
140  ops.ClientRecvStatus(context_, &status);
+
141  call_.PerformOps(&ops);
+
142  GPR_ASSERT(cq_.Pluck(&ops));
+
143  return status;
+
144  }
+
145 
+
146  private:
+
147  ClientContext* context_;
+
148  CompletionQueue cq_;
+
149  Call call_;
+
150 };
+
151 
+
152 template <class W>
+ +
154  public WriterInterface<W> {
+
155  public:
+
156  virtual bool WritesDone() = 0;
+
157 };
+
158 
+
159 template <class W>
+
160 class ClientWriter : public ClientWriterInterface<W> {
+
161  public:
+
162  // Blocking create a stream.
+
163  template <class R>
+
164  ClientWriter(ChannelInterface* channel, const RpcMethod& method,
+
165  ClientContext* context, R* response)
+
166  : context_(context), call_(channel->CreateCall(method, context, &cq_)) {
+
167  finish_ops_.RecvMessage(response);
+
168 
+ +
170  ops.SendInitialMetadata(context->send_initial_metadata_);
+
171  call_.PerformOps(&ops);
+
172  cq_.Pluck(&ops);
+
173  }
+
174 
+ +
176  bool Write(const W& msg, const WriteOptions& options) GRPC_OVERRIDE {
+ +
178  if (!ops.SendMessage(msg, options).ok()) {
+
179  return false;
+
180  }
+
181  call_.PerformOps(&ops);
+
182  return cq_.Pluck(&ops);
+
183  }
+
184 
+ + +
187  ops.ClientSendClose();
+
188  call_.PerformOps(&ops);
+
189  return cq_.Pluck(&ops);
+
190  }
+
191 
+
192  // Read the final response and wait for the final status.
+ +
194  Status status;
+
195  finish_ops_.ClientRecvStatus(context_, &status);
+
196  call_.PerformOps(&finish_ops_);
+
197  GPR_ASSERT(cq_.Pluck(&finish_ops_));
+
198  return status;
+
199  }
+
200 
+
201  private:
+
202  ClientContext* context_;
+ +
204  CompletionQueue cq_;
+
205  Call call_;
+
206 };
+
207 
+
208 // Client-side interface for bi-directional streaming.
+
209 template <class W, class R>
+ +
211  public WriterInterface<W>,
+
212  public ReaderInterface<R> {
+
213  public:
+
214  virtual void WaitForInitialMetadata() = 0;
+
215  virtual bool WritesDone() = 0;
+
216 };
+
217 
+
218 template <class W, class R>
+ +
220  public:
+
221  // Blocking create a stream.
+ +
223  ClientContext* context)
+
224  : context_(context), call_(channel->CreateCall(method, context, &cq_)) {
+ +
226  ops.SendInitialMetadata(context->send_initial_metadata_);
+
227  call_.PerformOps(&ops);
+
228  cq_.Pluck(&ops);
+
229  }
+
230 
+
231  // Blocking wait for initial metadata from server. The received metadata
+
232  // can only be accessed after this call returns. Should only be called before
+
233  // the first read. Calling this method is optional, and if it is not called
+
234  // the metadata will be available in ClientContext after the first read.
+ +
236  GPR_ASSERT(!context_->initial_metadata_received_);
+
237 
+ +
239  ops.RecvInitialMetadata(context_);
+
240  call_.PerformOps(&ops);
+
241  cq_.Pluck(&ops); // status ignored
+
242  }
+
243 
+
244  bool Read(R* msg) GRPC_OVERRIDE {
+ +
246  if (!context_->initial_metadata_received_) {
+
247  ops.RecvInitialMetadata(context_);
+
248  }
+
249  ops.RecvMessage(msg);
+
250  call_.PerformOps(&ops);
+
251  return cq_.Pluck(&ops) && ops.got_message;
+
252  }
+
253 
+ +
255  bool Write(const W& msg, const WriteOptions& options) GRPC_OVERRIDE {
+ +
257  if (!ops.SendMessage(msg, options).ok()) return false;
+
258  call_.PerformOps(&ops);
+
259  return cq_.Pluck(&ops);
+
260  }
+
261 
+ + +
264  ops.ClientSendClose();
+
265  call_.PerformOps(&ops);
+
266  return cq_.Pluck(&ops);
+
267  }
+
268 
+ + +
271  Status status;
+
272  ops.ClientRecvStatus(context_, &status);
+
273  call_.PerformOps(&ops);
+
274  GPR_ASSERT(cq_.Pluck(&ops));
+
275  return status;
+
276  }
+
277 
+
278  private:
+
279  ClientContext* context_;
+
280  CompletionQueue cq_;
+
281  Call call_;
+
282 };
+
283 
+
284 template <class R>
+
285 class ServerReader GRPC_FINAL : public ReaderInterface<R> {
+
286  public:
+
287  ServerReader(Call* call, ServerContext* ctx) : call_(call), ctx_(ctx) {}
+
288 
+ +
290  GPR_ASSERT(!ctx_->sent_initial_metadata_);
+
291 
+ +
293  ops.SendInitialMetadata(ctx_->initial_metadata_);
+
294  ctx_->sent_initial_metadata_ = true;
+
295  call_->PerformOps(&ops);
+
296  call_->cq()->Pluck(&ops);
+
297  }
+
298 
+
299  bool Read(R* msg) GRPC_OVERRIDE {
+ +
301  ops.RecvMessage(msg);
+
302  call_->PerformOps(&ops);
+
303  return call_->cq()->Pluck(&ops) && ops.got_message;
+
304  }
+
305 
+
306  private:
+
307  Call* const call_;
+
308  ServerContext* const ctx_;
+
309 };
+
310 
+
311 template <class W>
+
312 class ServerWriter GRPC_FINAL : public WriterInterface<W> {
+
313  public:
+
314  ServerWriter(Call* call, ServerContext* ctx) : call_(call), ctx_(ctx) {}
+
315 
+ +
317  GPR_ASSERT(!ctx_->sent_initial_metadata_);
+
318 
+ +
320  ops.SendInitialMetadata(ctx_->initial_metadata_);
+
321  ctx_->sent_initial_metadata_ = true;
+
322  call_->PerformOps(&ops);
+
323  call_->cq()->Pluck(&ops);
+
324  }
+
325 
+ +
327  bool Write(const W& msg, const WriteOptions& options) GRPC_OVERRIDE {
+ +
329  if (!ops.SendMessage(msg, options).ok()) {
+
330  return false;
+
331  }
+
332  if (!ctx_->sent_initial_metadata_) {
+
333  ops.SendInitialMetadata(ctx_->initial_metadata_);
+
334  ctx_->sent_initial_metadata_ = true;
+
335  }
+
336  call_->PerformOps(&ops);
+
337  return call_->cq()->Pluck(&ops);
+
338  }
+
339 
+
340  private:
+
341  Call* const call_;
+
342  ServerContext* const ctx_;
+
343 };
+
344 
+
345 // Server-side interface for bi-directional streaming.
+
346 template <class W, class R>
+
347 class ServerReaderWriter GRPC_FINAL : public WriterInterface<W>,
+
348  public ReaderInterface<R> {
+
349  public:
+
350  ServerReaderWriter(Call* call, ServerContext* ctx) : call_(call), ctx_(ctx) {}
+
351 
+ +
353  GPR_ASSERT(!ctx_->sent_initial_metadata_);
+
354 
+ +
356  ops.SendInitialMetadata(ctx_->initial_metadata_);
+
357  ctx_->sent_initial_metadata_ = true;
+
358  call_->PerformOps(&ops);
+
359  call_->cq()->Pluck(&ops);
+
360  }
+
361 
+
362  bool Read(R* msg) GRPC_OVERRIDE {
+ +
364  ops.RecvMessage(msg);
+
365  call_->PerformOps(&ops);
+
366  return call_->cq()->Pluck(&ops) && ops.got_message;
+
367  }
+
368 
+ +
370  bool Write(const W& msg, const WriteOptions& options) GRPC_OVERRIDE {
+ +
372  if (!ops.SendMessage(msg, options).ok()) {
+
373  return false;
+
374  }
+
375  if (!ctx_->sent_initial_metadata_) {
+
376  ops.SendInitialMetadata(ctx_->initial_metadata_);
+
377  ctx_->sent_initial_metadata_ = true;
+
378  }
+
379  call_->PerformOps(&ops);
+
380  return call_->cq()->Pluck(&ops);
+
381  }
+
382 
+
383  private:
+
384  Call* const call_;
+
385  ServerContext* const ctx_;
+
386 };
+
387 
+
388 // Async interfaces
+
389 // Common interface for all client side streaming.
+ +
391  public:
+ +
393 
+
394  virtual void ReadInitialMetadata(void* tag) = 0;
+
395 
+
396  virtual void Finish(Status* status, void* tag) = 0;
+
397 };
+
398 
+
399 // An interface that yields a sequence of R messages.
+
400 template <class R>
+ +
402  public:
+ +
404 
+
405  virtual void Read(R* msg, void* tag) = 0;
+
406 };
+
407 
+
408 // An interface that can be fed a sequence of W messages.
+
409 template <class W>
+ +
411  public:
+ +
413 
+
414  virtual void Write(const W& msg, void* tag) = 0;
+
415 };
+
416 
+
417 template <class R>
+ +
419  public AsyncReaderInterface<R> {};
+
420 
+
421 template <class R>
+ +
423  public:
+
424  // Create a stream and write the first request out.
+
425  template <class W>
+ +
427  const RpcMethod& method, ClientContext* context,
+
428  const W& request, void* tag)
+
429  : context_(context), call_(channel->CreateCall(method, context, cq)) {
+
430  init_ops_.set_output_tag(tag);
+
431  init_ops_.SendInitialMetadata(context->send_initial_metadata_);
+
432  // TODO(ctiller): don't assert
+
433  GPR_ASSERT(init_ops_.SendMessage(request).ok());
+
434  init_ops_.ClientSendClose();
+
435  call_.PerformOps(&init_ops_);
+
436  }
+
437 
+ +
439  GPR_ASSERT(!context_->initial_metadata_received_);
+
440 
+
441  meta_ops_.set_output_tag(tag);
+
442  meta_ops_.RecvInitialMetadata(context_);
+
443  call_.PerformOps(&meta_ops_);
+
444  }
+
445 
+
446  void Read(R* msg, void* tag) GRPC_OVERRIDE {
+
447  read_ops_.set_output_tag(tag);
+
448  if (!context_->initial_metadata_received_) {
+
449  read_ops_.RecvInitialMetadata(context_);
+
450  }
+
451  read_ops_.RecvMessage(msg);
+
452  call_.PerformOps(&read_ops_);
+
453  }
+
454 
+
455  void Finish(Status* status, void* tag) GRPC_OVERRIDE {
+
456  finish_ops_.set_output_tag(tag);
+
457  if (!context_->initial_metadata_received_) {
+
458  finish_ops_.RecvInitialMetadata(context_);
+
459  }
+
460  finish_ops_.ClientRecvStatus(context_, status);
+
461  call_.PerformOps(&finish_ops_);
+
462  }
+
463 
+
464  private:
+
465  ClientContext* context_;
+
466  Call call_;
+ +
468  init_ops_;
+ + + +
472 };
+
473 
+
474 template <class W>
+ +
476  public AsyncWriterInterface<W> {
+
477  public:
+
478  virtual void WritesDone(void* tag) = 0;
+
479 };
+
480 
+
481 template <class W>
+ +
483  public:
+
484  template <class R>
+ +
486  const RpcMethod& method, ClientContext* context,
+
487  R* response, void* tag)
+
488  : context_(context), call_(channel->CreateCall(method, context, cq)) {
+
489  finish_ops_.RecvMessage(response);
+
490 
+
491  init_ops_.set_output_tag(tag);
+
492  init_ops_.SendInitialMetadata(context->send_initial_metadata_);
+
493  call_.PerformOps(&init_ops_);
+
494  }
+
495 
+ +
497  GPR_ASSERT(!context_->initial_metadata_received_);
+
498 
+
499  meta_ops_.set_output_tag(tag);
+
500  meta_ops_.RecvInitialMetadata(context_);
+
501  call_.PerformOps(&meta_ops_);
+
502  }
+
503 
+
504  void Write(const W& msg, void* tag) GRPC_OVERRIDE {
+
505  write_ops_.set_output_tag(tag);
+
506  // TODO(ctiller): don't assert
+
507  GPR_ASSERT(write_ops_.SendMessage(msg).ok());
+
508  call_.PerformOps(&write_ops_);
+
509  }
+
510 
+
511  void WritesDone(void* tag) GRPC_OVERRIDE {
+
512  writes_done_ops_.set_output_tag(tag);
+
513  writes_done_ops_.ClientSendClose();
+
514  call_.PerformOps(&writes_done_ops_);
+
515  }
+
516 
+
517  void Finish(Status* status, void* tag) GRPC_OVERRIDE {
+
518  finish_ops_.set_output_tag(tag);
+
519  if (!context_->initial_metadata_received_) {
+
520  finish_ops_.RecvInitialMetadata(context_);
+
521  }
+
522  finish_ops_.ClientRecvStatus(context_, status);
+
523  call_.PerformOps(&finish_ops_);
+
524  }
+
525 
+
526  private:
+
527  ClientContext* context_;
+
528  Call call_;
+ + +
531  CallOpSet<CallOpSendMessage> write_ops_;
+
532  CallOpSet<CallOpClientSendClose> writes_done_ops_;
+ +
534  CallOpClientRecvStatus> finish_ops_;
+
535 };
+
536 
+
537 // Client-side interface for bi-directional streaming.
+
538 template <class W, class R>
+ +
540  public AsyncWriterInterface<W>,
+
541  public AsyncReaderInterface<R> {
+
542  public:
+
543  virtual void WritesDone(void* tag) = 0;
+
544 };
+
545 
+
546 template <class W, class R>
+ +
548  : public ClientAsyncReaderWriterInterface<W, R> {
+
549  public:
+ +
551  const RpcMethod& method, ClientContext* context,
+
552  void* tag)
+
553  : context_(context), call_(channel->CreateCall(method, context, cq)) {
+
554  init_ops_.set_output_tag(tag);
+
555  init_ops_.SendInitialMetadata(context->send_initial_metadata_);
+
556  call_.PerformOps(&init_ops_);
+
557  }
+
558 
+ +
560  GPR_ASSERT(!context_->initial_metadata_received_);
+
561 
+
562  meta_ops_.set_output_tag(tag);
+
563  meta_ops_.RecvInitialMetadata(context_);
+
564  call_.PerformOps(&meta_ops_);
+
565  }
+
566 
+
567  void Read(R* msg, void* tag) GRPC_OVERRIDE {
+
568  read_ops_.set_output_tag(tag);
+
569  if (!context_->initial_metadata_received_) {
+
570  read_ops_.RecvInitialMetadata(context_);
+
571  }
+
572  read_ops_.RecvMessage(msg);
+
573  call_.PerformOps(&read_ops_);
+
574  }
+
575 
+
576  void Write(const W& msg, void* tag) GRPC_OVERRIDE {
+
577  write_ops_.set_output_tag(tag);
+
578  // TODO(ctiller): don't assert
+
579  GPR_ASSERT(write_ops_.SendMessage(msg).ok());
+
580  call_.PerformOps(&write_ops_);
+
581  }
+
582 
+
583  void WritesDone(void* tag) GRPC_OVERRIDE {
+
584  writes_done_ops_.set_output_tag(tag);
+
585  writes_done_ops_.ClientSendClose();
+
586  call_.PerformOps(&writes_done_ops_);
+
587  }
+
588 
+
589  void Finish(Status* status, void* tag) GRPC_OVERRIDE {
+
590  finish_ops_.set_output_tag(tag);
+
591  if (!context_->initial_metadata_received_) {
+
592  finish_ops_.RecvInitialMetadata(context_);
+
593  }
+
594  finish_ops_.ClientRecvStatus(context_, status);
+
595  call_.PerformOps(&finish_ops_);
+
596  }
+
597 
+
598  private:
+
599  ClientContext* context_;
+
600  Call call_;
+ + + +
604  CallOpSet<CallOpSendMessage> write_ops_;
+
605  CallOpSet<CallOpClientSendClose> writes_done_ops_;
+ +
607 };
+
608 
+
609 template <class W, class R>
+
610 class ServerAsyncReader GRPC_FINAL : public ServerAsyncStreamingInterface,
+
611  public AsyncReaderInterface<R> {
+
612  public:
+ +
614  : call_(nullptr, nullptr, nullptr), ctx_(ctx) {}
+
615 
+ +
617  GPR_ASSERT(!ctx_->sent_initial_metadata_);
+
618 
+
619  meta_ops_.set_output_tag(tag);
+
620  meta_ops_.SendInitialMetadata(ctx_->initial_metadata_);
+
621  ctx_->sent_initial_metadata_ = true;
+
622  call_.PerformOps(&meta_ops_);
+
623  }
+
624 
+
625  void Read(R* msg, void* tag) GRPC_OVERRIDE {
+
626  read_ops_.set_output_tag(tag);
+
627  read_ops_.RecvMessage(msg);
+
628  call_.PerformOps(&read_ops_);
+
629  }
+
630 
+
631  void Finish(const W& msg, const Status& status, void* tag) {
+
632  finish_ops_.set_output_tag(tag);
+
633  if (!ctx_->sent_initial_metadata_) {
+
634  finish_ops_.SendInitialMetadata(ctx_->initial_metadata_);
+
635  ctx_->sent_initial_metadata_ = true;
+
636  }
+
637  // The response is dropped if the status is not OK.
+
638  if (status.ok()) {
+
639  finish_ops_.ServerSendStatus(
+
640  ctx_->trailing_metadata_,
+
641  finish_ops_.SendMessage(msg));
+
642  } else {
+
643  finish_ops_.ServerSendStatus(ctx_->trailing_metadata_, status);
+
644  }
+
645  call_.PerformOps(&finish_ops_);
+
646  }
+
647 
+
648  void FinishWithError(const Status& status, void* tag) {
+
649  GPR_ASSERT(!status.ok());
+
650  finish_ops_.set_output_tag(tag);
+
651  if (!ctx_->sent_initial_metadata_) {
+
652  finish_ops_.SendInitialMetadata(ctx_->initial_metadata_);
+
653  ctx_->sent_initial_metadata_ = true;
+
654  }
+
655  finish_ops_.ServerSendStatus(ctx_->trailing_metadata_, status);
+
656  call_.PerformOps(&finish_ops_);
+
657  }
+
658 
+
659  private:
+
660  void BindCall(Call* call) GRPC_OVERRIDE { call_ = *call; }
+
661 
+
662  Call call_;
+
663  ServerContext* ctx_;
+
664  CallOpSet<CallOpSendInitialMetadata> meta_ops_;
+
665  CallOpSet<CallOpRecvMessage<R>> read_ops_;
+
666  CallOpSet<CallOpSendInitialMetadata, CallOpSendMessage,
+
667  CallOpServerSendStatus> finish_ops_;
+
668 };
+
669 
+
670 template <class W>
+
671 class ServerAsyncWriter GRPC_FINAL : public ServerAsyncStreamingInterface,
+
672  public AsyncWriterInterface<W> {
+
673  public:
+ +
675  : call_(nullptr, nullptr, nullptr), ctx_(ctx) {}
+
676 
+ +
678  GPR_ASSERT(!ctx_->sent_initial_metadata_);
+
679 
+
680  meta_ops_.set_output_tag(tag);
+
681  meta_ops_.SendInitialMetadata(ctx_->initial_metadata_);
+
682  ctx_->sent_initial_metadata_ = true;
+
683  call_.PerformOps(&meta_ops_);
+
684  }
+
685 
+
686  void Write(const W& msg, void* tag) GRPC_OVERRIDE {
+
687  write_ops_.set_output_tag(tag);
+
688  if (!ctx_->sent_initial_metadata_) {
+
689  write_ops_.SendInitialMetadata(ctx_->initial_metadata_);
+
690  ctx_->sent_initial_metadata_ = true;
+
691  }
+
692  // TODO(ctiller): don't assert
+
693  GPR_ASSERT(write_ops_.SendMessage(msg).ok());
+
694  call_.PerformOps(&write_ops_);
+
695  }
+
696 
+
697  void Finish(const Status& status, void* tag) {
+
698  finish_ops_.set_output_tag(tag);
+
699  if (!ctx_->sent_initial_metadata_) {
+
700  finish_ops_.SendInitialMetadata(ctx_->initial_metadata_);
+
701  ctx_->sent_initial_metadata_ = true;
+
702  }
+
703  finish_ops_.ServerSendStatus(ctx_->trailing_metadata_, status);
+
704  call_.PerformOps(&finish_ops_);
+
705  }
+
706 
+
707  private:
+
708  void BindCall(Call* call) GRPC_OVERRIDE { call_ = *call; }
+
709 
+
710  Call call_;
+
711  ServerContext* ctx_;
+
712  CallOpSet<CallOpSendInitialMetadata> meta_ops_;
+
713  CallOpSet<CallOpSendInitialMetadata, CallOpSendMessage> write_ops_;
+
714  CallOpSet<CallOpSendInitialMetadata, CallOpServerSendStatus> finish_ops_;
+
715 };
+
716 
+
717 // Server-side interface for bi-directional streaming.
+
718 template <class W, class R>
+
719 class ServerAsyncReaderWriter GRPC_FINAL : public ServerAsyncStreamingInterface,
+
720  public AsyncWriterInterface<W>,
+
721  public AsyncReaderInterface<R> {
+
722  public:
+ +
724  : call_(nullptr, nullptr, nullptr), ctx_(ctx) {}
+
725 
+ +
727  GPR_ASSERT(!ctx_->sent_initial_metadata_);
+
728 
+
729  meta_ops_.set_output_tag(tag);
+
730  meta_ops_.SendInitialMetadata(ctx_->initial_metadata_);
+
731  ctx_->sent_initial_metadata_ = true;
+
732  call_.PerformOps(&meta_ops_);
+
733  }
+
734 
+
735  void Read(R* msg, void* tag) GRPC_OVERRIDE {
+
736  read_ops_.set_output_tag(tag);
+
737  read_ops_.RecvMessage(msg);
+
738  call_.PerformOps(&read_ops_);
+
739  }
+
740 
+
741  void Write(const W& msg, void* tag) GRPC_OVERRIDE {
+
742  write_ops_.set_output_tag(tag);
+
743  if (!ctx_->sent_initial_metadata_) {
+
744  write_ops_.SendInitialMetadata(ctx_->initial_metadata_);
+
745  ctx_->sent_initial_metadata_ = true;
+
746  }
+
747  // TODO(ctiller): don't assert
+
748  GPR_ASSERT(write_ops_.SendMessage(msg).ok());
+
749  call_.PerformOps(&write_ops_);
+
750  }
+
751 
+
752  void Finish(const Status& status, void* tag) {
+
753  finish_ops_.set_output_tag(tag);
+
754  if (!ctx_->sent_initial_metadata_) {
+
755  finish_ops_.SendInitialMetadata(ctx_->initial_metadata_);
+
756  ctx_->sent_initial_metadata_ = true;
+
757  }
+
758  finish_ops_.ServerSendStatus(ctx_->trailing_metadata_, status);
+
759  call_.PerformOps(&finish_ops_);
+
760  }
+
761 
+
762  private:
+
763  void BindCall(Call* call) GRPC_OVERRIDE { call_ = *call; }
+
764 
+
765  Call call_;
+
766  ServerContext* ctx_;
+
767  CallOpSet<CallOpSendInitialMetadata> meta_ops_;
+
768  CallOpSet<CallOpRecvMessage<R>> read_ops_;
+
769  CallOpSet<CallOpSendInitialMetadata, CallOpSendMessage> write_ops_;
+
770  CallOpSet<CallOpSendInitialMetadata, CallOpServerSendStatus> finish_ops_;
+
771 };
+
772 
+
773 } // namespace grpc
+
774 
+
775 #endif // GRPCXX_STREAM_H
+
Definition: stream.h:390
+
Definition: client_context.h:70
+
Definition: client_context.h:60
+
bool Read(R *msg) GRPC_OVERRIDE
Definition: stream.h:244
+
Definition: stream.h:153
+
void Write(const W &msg, void *tag) GRPC_OVERRIDE
Definition: stream.h:504
+
void Read(R *msg, void *tag) GRPC_OVERRIDE
Definition: stream.h:735
+
void WritesDone(void *tag) GRPC_OVERRIDE
Definition: stream.h:511
+
virtual void WaitForInitialMetadata()=0
+ +
CompletionQueue * cq()
Definition: call.h:575
+
void SendInitialMetadata()
Definition: stream.h:352
+
Definition: stream.h:90
+
void SendInitialMetadata()
Definition: stream.h:316
+
ServerReaderWriter(Call *call, ServerContext *ctx)
Definition: stream.h:350
+
void SendInitialMetadata(void *tag) GRPC_OVERRIDE
Definition: stream.h:677
+
Definition: stream.h:63
+
void SendInitialMetadata()
Definition: stream.h:289
+
virtual void WritesDone(void *tag)=0
+
Definition: call.h:431
+
virtual void Write(const W &msg, void *tag)=0
+
virtual ~ReaderInterface()
Definition: stream.h:65
+
void Write(const W &msg, void *tag) GRPC_OVERRIDE
Definition: stream.h:686
+ +
#define GRPC_FINAL
Definition: config.h:71
+
void Write(const W &msg, void *tag) GRPC_OVERRIDE
Definition: stream.h:576
+
void Read(R *msg, void *tag) GRPC_OVERRIDE
Definition: stream.h:625
+
void SendInitialMetadata(void *tag) GRPC_OVERRIDE
Definition: stream.h:726
+
bool Write(const W &msg, const WriteOptions &options) GRPC_OVERRIDE
Definition: stream.h:327
+
Status Finish() GRPC_OVERRIDE
Definition: stream.h:137
+
virtual void WritesDone(void *tag)=0
+
Definition: client_context.h:74
+
Status Finish() GRPC_OVERRIDE
Definition: stream.h:269
+
void FinishWithError(const Status &status, void *tag)
Definition: stream.h:648
+
ClientAsyncWriter(ChannelInterface *channel, CompletionQueue *cq, const RpcMethod &method, ClientContext *context, R *response, void *tag)
Definition: stream.h:485
+
void Write(const W &msg, void *tag) GRPC_OVERRIDE
Definition: stream.h:741
+
Definition: call.h:190
+
ServerReader(Call *call, ServerContext *ctx)
Definition: stream.h:287
+
bool WritesDone() GRPC_OVERRIDE
Definition: stream.h:185
+
virtual ~AsyncReaderInterface()
Definition: stream.h:403
+
bool Write(const W &msg, const WriteOptions &options) GRPC_OVERRIDE
Definition: stream.h:176
+
Definition: call.h:341
+
virtual ~ClientStreamingInterface()
Definition: stream.h:51
+
Definition: stream.h:418
+
ClientReader(ChannelInterface *channel, const RpcMethod &method, ClientContext *context, const W &request)
Definition: stream.h:101
+
bool Read(R *msg) GRPC_OVERRIDE
Definition: stream.h:362
+
void WritesDone(void *tag) GRPC_OVERRIDE
Definition: stream.h:583
+
Status Finish() GRPC_OVERRIDE
Definition: stream.h:193
+
Definition: call.h:565
+ +
bool Read(R *msg) GRPC_OVERRIDE
Definition: stream.h:127
+
virtual bool WritesDone()=0
+
Definition: channel_interface.h:52
+
ServerAsyncWriter(ServerContext *ctx)
Definition: stream.h:674
+
void Finish(Status *status, void *tag) GRPC_OVERRIDE
Definition: stream.h:589
+
void ReadInitialMetadata(void *tag) GRPC_OVERRIDE
Definition: stream.h:496
+
Definition: stream.h:410
+ +
Definition: client_context.h:68
+
Primary implementaiton of CallOpSetInterface.
Definition: call.h:506
+
void ClientSendClose()
Definition: call.h:345
+
Definition: server_context.h:86
+
void Finish(const W &msg, const Status &status, void *tag)
Definition: stream.h:631
+
Per-message write options.
Definition: call.h:64
+
virtual void WaitForInitialMetadata()=0
+ +
bool Write(const W &msg)
Definition: stream.h:84
+
Definition: completion_queue.h:87
+
virtual ~ClientAsyncStreamingInterface()
Definition: stream.h:392
+
ClientAsyncReaderWriter(ChannelInterface *channel, CompletionQueue *cq, const RpcMethod &method, ClientContext *context, void *tag)
Definition: stream.h:550
+
void Finish(Status *status, void *tag) GRPC_OVERRIDE
Definition: stream.h:517
+
void Finish(const Status &status, void *tag)
Definition: stream.h:697
+ +
virtual void ReadInitialMetadata(void *tag)=0
+
Definition: rpc_method.h:39
+ + +
bool Write(const W &msg, const WriteOptions &options) GRPC_OVERRIDE
Definition: stream.h:370
+
void Finish(Status *status, void *tag) GRPC_OVERRIDE
Definition: stream.h:455
+
void PerformOps(CallOpSetInterface *ops)
+
Definition: stream.h:76
+
bool ok() const
Definition: status.h:55
+ +
ClientReaderWriter(ChannelInterface *channel, const RpcMethod &method, ClientContext *context)
Definition: stream.h:222
+
Definition: stream.h:210
+
Definition: status.h:42
+
virtual bool Read(R *msg)=0
+
Definition: stream.h:49
+
virtual void Finish(Status *status, void *tag)=0
+
void SendInitialMetadata(void *tag) GRPC_OVERRIDE
Definition: stream.h:616
+
ServerWriter(Call *call, ServerContext *ctx)
Definition: stream.h:314
+
Definition: call.h:159
+
void WaitForInitialMetadata()
Definition: stream.h:235
+
bool Read(R *msg) GRPC_OVERRIDE
Definition: stream.h:299
+
void Read(R *msg, void *tag) GRPC_OVERRIDE
Definition: stream.h:446
+
virtual bool Write(const W &msg, const WriteOptions &options)=0
+
void Read(R *msg, void *tag) GRPC_OVERRIDE
Definition: stream.h:567
+
Definition: client_context.h:64
+
ServerAsyncReaderWriter(ServerContext *ctx)
Definition: stream.h:723
+
Definition: client_context.h:66
+
virtual ~AsyncWriterInterface()
Definition: stream.h:412
+
void Finish(const Status &status, void *tag)
Definition: stream.h:752
+
void WaitForInitialMetadata()
Definition: stream.h:118
+
#define GRPC_OVERRIDE
Definition: config.h:77
+
void ReadInitialMetadata(void *tag) GRPC_OVERRIDE
Definition: stream.h:559
+
Definition: client_context.h:62
+
Definition: call.h:402
+
ClientAsyncReader(ChannelInterface *channel, CompletionQueue *cq, const RpcMethod &method, ClientContext *context, const W &request, void *tag)
Definition: stream.h:426
+
ClientWriter(ChannelInterface *channel, const RpcMethod &method, ClientContext *context, R *response)
Definition: stream.h:164
+
bool Write(const W &msg, const WriteOptions &options) GRPC_OVERRIDE
Definition: stream.h:255
+
virtual void Read(R *msg, void *tag)=0
+
virtual ~WriterInterface()
Definition: stream.h:78
+
Definition: call.h:298
+ +
ServerAsyncReader(ServerContext *ctx)
Definition: stream.h:613
+
Definition: stream.h:401
+
bool WritesDone() GRPC_OVERRIDE
Definition: stream.h:262
+
void ReadInitialMetadata(void *tag) GRPC_OVERRIDE
Definition: stream.h:438
+
Definition: stream.h:475
+
+ + + + diff --git a/doc/ref/c++/html/structgrpc_1_1_method_handler_1_1_handler_parameter.html b/doc/ref/c++/html/structgrpc_1_1_method_handler_1_1_handler_parameter.html new file mode 100644 index 0000000000..03e99e756d --- /dev/null +++ b/doc/ref/c++/html/structgrpc_1_1_method_handler_1_1_handler_parameter.html @@ -0,0 +1,223 @@ + + + + + + +GRPC C++: grpc::MethodHandler::HandlerParameter Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc::MethodHandler::HandlerParameter Struct Reference
+
+
+ +

#include <rpc_service_method.h>

+ + + + +

+Public Member Functions

 HandlerParameter (Call *c, ServerContext *context, grpc_byte_buffer *req, int max_size)
 
+ + + + + + + + + +

+Data Fields

Callcall
 
ServerContextserver_context
 
grpc_byte_buffer * request
 
int max_message_size
 
+

Constructor & Destructor Documentation

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
grpc::MethodHandler::HandlerParameter::HandlerParameter (Callc,
ServerContextcontext,
grpc_byte_buffer * req,
int max_size 
)
+
+inline
+
+ +
+
+

Field Documentation

+ +
+
+ + + + +
Call* grpc::MethodHandler::HandlerParameter::call
+
+ +
+
+ +
+
+ + + + +
int grpc::MethodHandler::HandlerParameter::max_message_size
+
+ +
+
+ +
+
+ + + + +
grpc_byte_buffer* grpc::MethodHandler::HandlerParameter::request
+
+ +
+
+ +
+
+ + + + +
ServerContext* grpc::MethodHandler::HandlerParameter::server_context
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/c++/html/structgrpc_1_1_ssl_credentials_options.html b/doc/ref/c++/html/structgrpc_1_1_ssl_credentials_options.html new file mode 100644 index 0000000000..aa6d90144d --- /dev/null +++ b/doc/ref/c++/html/structgrpc_1_1_ssl_credentials_options.html @@ -0,0 +1,156 @@ + + + + + + +GRPC C++: grpc::SslCredentialsOptions Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc::SslCredentialsOptions Struct Reference
+
+
+ +

#include <credentials.h>

+ + + + + + + + +

+Data Fields

grpc::string pem_root_certs
 
grpc::string pem_private_key
 
grpc::string pem_cert_chain
 
+

Field Documentation

+ +
+
+ + + + +
grpc::string grpc::SslCredentialsOptions::pem_cert_chain
+
+ +
+
+ +
+
+ + + + +
grpc::string grpc::SslCredentialsOptions::pem_private_key
+
+ +
+
+ +
+
+ + + + +
grpc::string grpc::SslCredentialsOptions::pem_root_certs
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/c++/html/structgrpc_1_1_ssl_server_credentials_options.html b/doc/ref/c++/html/structgrpc_1_1_ssl_server_credentials_options.html new file mode 100644 index 0000000000..985761eb8b --- /dev/null +++ b/doc/ref/c++/html/structgrpc_1_1_ssl_server_credentials_options.html @@ -0,0 +1,192 @@ + + + + + + +GRPC C++: grpc::SslServerCredentialsOptions Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc::SslServerCredentialsOptions Struct Reference
+
+
+ +

#include <server_credentials.h>

+ + + + +

+Data Structures

struct  PemKeyCertPair
 
+ + + +

+Public Member Functions

 SslServerCredentialsOptions ()
 
+ + + + + + + +

+Data Fields

grpc::string pem_root_certs
 
std::vector< PemKeyCertPairpem_key_cert_pairs
 
bool force_client_auth
 
+

Constructor & Destructor Documentation

+ +
+
+ + + + + +
+ + + + + + + +
grpc::SslServerCredentialsOptions::SslServerCredentialsOptions ()
+
+inline
+
+ +
+
+

Field Documentation

+ +
+
+ + + + +
bool grpc::SslServerCredentialsOptions::force_client_auth
+
+ +
+
+ +
+
+ + + + +
std::vector<PemKeyCertPair> grpc::SslServerCredentialsOptions::pem_key_cert_pairs
+
+ +
+
+ +
+
+ + + + +
grpc::string grpc::SslServerCredentialsOptions::pem_root_certs
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/c++/html/structgrpc_1_1_ssl_server_credentials_options_1_1_pem_key_cert_pair.html b/doc/ref/c++/html/structgrpc_1_1_ssl_server_credentials_options_1_1_pem_key_cert_pair.html new file mode 100644 index 0000000000..a5a88b969a --- /dev/null +++ b/doc/ref/c++/html/structgrpc_1_1_ssl_server_credentials_options_1_1_pem_key_cert_pair.html @@ -0,0 +1,142 @@ + + + + + + +GRPC C++: grpc::SslServerCredentialsOptions::PemKeyCertPair Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc::SslServerCredentialsOptions::PemKeyCertPair Struct Reference
+
+
+ +

#include <server_credentials.h>

+ + + + + + +

+Data Fields

grpc::string private_key
 
grpc::string cert_chain
 
+

Field Documentation

+ +
+
+ + + + +
grpc::string grpc::SslServerCredentialsOptions::PemKeyCertPair::cert_chain
+
+ +
+
+ +
+
+ + + + +
grpc::string grpc::SslServerCredentialsOptions::PemKeyCertPair::private_key
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/c++/html/sync_8h.html b/doc/ref/c++/html/sync_8h.html new file mode 100644 index 0000000000..a0099ef8d9 --- /dev/null +++ b/doc/ref/c++/html/sync_8h.html @@ -0,0 +1,104 @@ + + + + + + +GRPC C++: include/grpc++/impl/sync.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
sync.h File Reference
+
+ + + + + diff --git a/doc/ref/c++/html/sync_8h_source.html b/doc/ref/c++/html/sync_8h_source.html new file mode 100644 index 0000000000..bd2546d6a4 --- /dev/null +++ b/doc/ref/c++/html/sync_8h_source.html @@ -0,0 +1,148 @@ + + + + + + +GRPC C++: include/grpc++/impl/sync.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
sync.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPCXX_IMPL_SYNC_H
+
35 #define GRPCXX_IMPL_SYNC_H
+
36 
+
37 #include <grpc++/config.h>
+
38 
+
39 #ifdef GRPC_CXX0X_NO_THREAD
+ +
41 #else
+
42 #include <grpc++/impl/sync_cxx11.h>
+
43 #endif
+
44 
+
45 #endif // GRPCXX_IMPL_SYNC_H
+ + + +
+ + + + diff --git a/doc/ref/c++/html/sync__cxx11_8h.html b/doc/ref/c++/html/sync__cxx11_8h.html new file mode 100644 index 0000000000..421b95bb8c --- /dev/null +++ b/doc/ref/c++/html/sync__cxx11_8h.html @@ -0,0 +1,112 @@ + + + + + + +GRPC C++: include/grpc++/impl/sync_cxx11.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
sync_cxx11.h File Reference
+
+
+
#include <condition_variable>
+#include <mutex>
+
+

Go to the source code of this file.

+ + + + +

+Namespaces

 grpc
 
+
+ + + + diff --git a/doc/ref/c++/html/sync__cxx11_8h_source.html b/doc/ref/c++/html/sync__cxx11_8h_source.html new file mode 100644 index 0000000000..1b96369fab --- /dev/null +++ b/doc/ref/c++/html/sync__cxx11_8h_source.html @@ -0,0 +1,149 @@ + + + + + + +GRPC C++: include/grpc++/impl/sync_cxx11.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
sync_cxx11.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPCXX_IMPL_SYNC_CXX11_H
+
35 #define GRPCXX_IMPL_SYNC_CXX11_H
+
36 
+
37 #include <condition_variable>
+
38 #include <mutex>
+
39 
+
40 namespace grpc {
+
41 
+
42 using std::condition_variable;
+
43 using std::mutex;
+
44 using std::lock_guard;
+
45 using std::unique_lock;
+
46 
+
47 } // namespace grpc
+
48 
+
49 #endif // GRPCXX_IMPL_SYNC_CXX11_H
+
+ + + + diff --git a/doc/ref/c++/html/sync__no__cxx11_8h.html b/doc/ref/c++/html/sync__no__cxx11_8h.html new file mode 100644 index 0000000000..24ca43e89d --- /dev/null +++ b/doc/ref/c++/html/sync__no__cxx11_8h.html @@ -0,0 +1,125 @@ + + + + + + +GRPC C++: include/grpc++/impl/sync_no_cxx11.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
sync_no_cxx11.h File Reference
+
+
+
#include <grpc/support/sync.h>
+
+

Go to the source code of this file.

+ + + + + + + + + + + + +

+Data Structures

class  grpc::lock_guard< mutex >
 
class  grpc::mutex
 
class  grpc::lock_guard< mutex >
 
class  grpc::unique_lock< mutex >
 
class  grpc::condition_variable
 
+ + + +

+Namespaces

 grpc
 
+
+ + + + diff --git a/doc/ref/c++/html/sync__no__cxx11_8h_source.html b/doc/ref/c++/html/sync__no__cxx11_8h_source.html new file mode 100644 index 0000000000..e510bf5ff4 --- /dev/null +++ b/doc/ref/c++/html/sync__no__cxx11_8h_source.html @@ -0,0 +1,219 @@ + + + + + + +GRPC C++: include/grpc++/impl/sync_no_cxx11.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
sync_no_cxx11.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPCXX_IMPL_SYNC_NO_CXX11_H
+
35 #define GRPCXX_IMPL_SYNC_NO_CXX11_H
+
36 
+
37 #include <grpc/support/sync.h>
+
38 
+
39 namespace grpc {
+
40 
+
41 template<class mutex>
+
42 class lock_guard;
+
43 class condition_variable;
+
44 
+
45 class mutex {
+
46  public:
+
47  mutex() { gpr_mu_init(&mu_); }
+
48  ~mutex() { gpr_mu_destroy(&mu_); }
+
49  private:
+
50  ::gpr_mu mu_;
+
51  template <class mutex>
+
52  friend class lock_guard;
+
53  friend class condition_variable;
+
54 };
+
55 
+
56 template <class mutex>
+
57 class lock_guard {
+
58  public:
+
59  lock_guard(mutex &mu) : mu_(mu), locked(true) { gpr_mu_lock(&mu.mu_); }
+ +
61  protected:
+
62  void lock_internal() {
+
63  if (!locked) gpr_mu_lock(&mu_.mu_);
+
64  locked = true;
+
65  }
+
66  void unlock_internal() {
+
67  if (locked) gpr_mu_unlock(&mu_.mu_);
+
68  locked = false;
+
69  }
+
70  private:
+
71  mutex &mu_;
+
72  bool locked;
+
73  friend class condition_variable;
+
74 };
+
75 
+
76 template <class mutex>
+
77 class unique_lock : public lock_guard<mutex> {
+
78  public:
+ +
80  void lock() { this->lock_internal(); }
+
81  void unlock() { this->unlock_internal(); }
+
82 };
+
83 
+ +
85  public:
+
86  condition_variable() { gpr_cv_init(&cv_); }
+
87  ~condition_variable() { gpr_cv_destroy(&cv_); }
+
88  void wait(lock_guard<mutex> &mu) {
+
89  mu.locked = false;
+
90  gpr_cv_wait(&cv_, &mu.mu_.mu_, gpr_inf_future(GPR_CLOCK_REALTIME));
+
91  mu.locked = true;
+
92  }
+
93  void notify_one() { gpr_cv_signal(&cv_); }
+
94  void notify_all() { gpr_cv_broadcast(&cv_); }
+
95  private:
+
96  gpr_cv cv_;
+
97 };
+
98 
+
99 } // namespace grpc
+
100 
+
101 #endif // GRPCXX_IMPL_SYNC_NO_CXX11_H
+
Definition: sync_no_cxx11.h:45
+
void unlock_internal()
Definition: sync_no_cxx11.h:66
+
void lock_internal()
Definition: sync_no_cxx11.h:62
+
Definition: sync_no_cxx11.h:84
+
~condition_variable()
Definition: sync_no_cxx11.h:87
+
~lock_guard()
Definition: sync_no_cxx11.h:60
+
void notify_all()
Definition: sync_no_cxx11.h:94
+
mutex()
Definition: sync_no_cxx11.h:47
+
void notify_one()
Definition: sync_no_cxx11.h:93
+
void unlock()
Definition: sync_no_cxx11.h:81
+
lock_guard(mutex &mu)
Definition: sync_no_cxx11.h:59
+
void lock()
Definition: sync_no_cxx11.h:80
+
~mutex()
Definition: sync_no_cxx11.h:48
+
Definition: sync_no_cxx11.h:42
+
condition_variable()
Definition: sync_no_cxx11.h:86
+
Definition: sync_no_cxx11.h:77
+
unique_lock(mutex &mu)
Definition: sync_no_cxx11.h:79
+
void wait(lock_guard< mutex > &mu)
Definition: sync_no_cxx11.h:88
+
+ + + + diff --git a/doc/ref/c++/html/sync_off.png b/doc/ref/c++/html/sync_off.png new file mode 100644 index 0000000000..3b443fc628 Binary files /dev/null and b/doc/ref/c++/html/sync_off.png differ diff --git a/doc/ref/c++/html/sync_on.png b/doc/ref/c++/html/sync_on.png new file mode 100644 index 0000000000..e08320fb64 Binary files /dev/null and b/doc/ref/c++/html/sync_on.png differ diff --git a/doc/ref/c++/html/tab_a.png b/doc/ref/c++/html/tab_a.png new file mode 100644 index 0000000000..3b725c41c5 Binary files /dev/null and b/doc/ref/c++/html/tab_a.png differ diff --git a/doc/ref/c++/html/tab_b.png b/doc/ref/c++/html/tab_b.png new file mode 100644 index 0000000000..e2b4a8638c Binary files /dev/null and b/doc/ref/c++/html/tab_b.png differ diff --git a/doc/ref/c++/html/tab_h.png b/doc/ref/c++/html/tab_h.png new file mode 100644 index 0000000000..fd5cb70548 Binary files /dev/null and b/doc/ref/c++/html/tab_h.png differ diff --git a/doc/ref/c++/html/tab_s.png b/doc/ref/c++/html/tab_s.png new file mode 100644 index 0000000000..ab478c95b6 Binary files /dev/null and b/doc/ref/c++/html/tab_s.png differ diff --git a/doc/ref/c++/html/tabs.css b/doc/ref/c++/html/tabs.css new file mode 100644 index 0000000000..9cf578f23a --- /dev/null +++ b/doc/ref/c++/html/tabs.css @@ -0,0 +1,60 @@ +.tabs, .tabs2, .tabs3 { + background-image: url('tab_b.png'); + width: 100%; + z-index: 101; + font-size: 13px; + font-family: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif; +} + +.tabs2 { + font-size: 10px; +} +.tabs3 { + font-size: 9px; +} + +.tablist { + margin: 0; + padding: 0; + display: table; +} + +.tablist li { + float: left; + display: table-cell; + background-image: url('tab_b.png'); + line-height: 36px; + list-style: none; +} + +.tablist a { + display: block; + padding: 0 20px; + font-weight: bold; + background-image:url('tab_s.png'); + background-repeat:no-repeat; + background-position:right; + color: #283A5D; + text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); + text-decoration: none; + outline: none; +} + +.tabs3 .tablist a { + padding: 0 10px; +} + +.tablist a:hover { + background-image: url('tab_h.png'); + background-repeat:repeat-x; + color: #fff; + text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0); + text-decoration: none; +} + +.tablist li.current a { + background-image: url('tab_a.png'); + background-repeat:repeat-x; + color: #fff; + text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0); +} diff --git a/doc/ref/c++/html/thd_8h.html b/doc/ref/c++/html/thd_8h.html new file mode 100644 index 0000000000..f91ed35630 --- /dev/null +++ b/doc/ref/c++/html/thd_8h.html @@ -0,0 +1,104 @@ + + + + + + +GRPC C++: include/grpc++/impl/thd.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
thd.h File Reference
+
+ + + + + diff --git a/doc/ref/c++/html/thd_8h_source.html b/doc/ref/c++/html/thd_8h_source.html new file mode 100644 index 0000000000..6aee28de4a --- /dev/null +++ b/doc/ref/c++/html/thd_8h_source.html @@ -0,0 +1,148 @@ + + + + + + +GRPC C++: include/grpc++/impl/thd.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
thd.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPCXX_IMPL_THD_H
+
35 #define GRPCXX_IMPL_THD_H
+
36 
+
37 #include <grpc++/config.h>
+
38 
+
39 #ifdef GRPC_CXX0X_NO_THREAD
+ +
41 #else
+
42 #include <grpc++/impl/thd_cxx11.h>
+
43 #endif
+
44 
+
45 #endif // GRPCXX_IMPL_THD_H
+ + + +
+ + + + diff --git a/doc/ref/c++/html/thd__cxx11_8h.html b/doc/ref/c++/html/thd__cxx11_8h.html new file mode 100644 index 0000000000..5328f876fa --- /dev/null +++ b/doc/ref/c++/html/thd__cxx11_8h.html @@ -0,0 +1,111 @@ + + + + + + +GRPC C++: include/grpc++/impl/thd_cxx11.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
thd_cxx11.h File Reference
+
+
+
#include <thread>
+
+

Go to the source code of this file.

+ + + + +

+Namespaces

 grpc
 
+
+ + + + diff --git a/doc/ref/c++/html/thd__cxx11_8h_source.html b/doc/ref/c++/html/thd__cxx11_8h_source.html new file mode 100644 index 0000000000..34c03bf588 --- /dev/null +++ b/doc/ref/c++/html/thd__cxx11_8h_source.html @@ -0,0 +1,145 @@ + + + + + + +GRPC C++: include/grpc++/impl/thd_cxx11.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
thd_cxx11.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPCXX_IMPL_THD_CXX11_H
+
35 #define GRPCXX_IMPL_THD_CXX11_H
+
36 
+
37 #include <thread>
+
38 
+
39 namespace grpc {
+
40 
+
41 using std::thread;
+
42 
+
43 } // namespace grpc
+
44 
+
45 #endif // GRPCXX_IMPL_THD_CXX11_H
+
+ + + + diff --git a/doc/ref/c++/html/thd__no__cxx11_8h.html b/doc/ref/c++/html/thd__no__cxx11_8h.html new file mode 100644 index 0000000000..63c4ba7b56 --- /dev/null +++ b/doc/ref/c++/html/thd__no__cxx11_8h.html @@ -0,0 +1,117 @@ + + + + + + +GRPC C++: include/grpc++/impl/thd_no_cxx11.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
thd_no_cxx11.h File Reference
+
+
+
#include <grpc/support/thd.h>
+
+

Go to the source code of this file.

+ + + + +

+Data Structures

class  grpc::thread
 
+ + + +

+Namespaces

 grpc
 
+
+ + + + diff --git a/doc/ref/c++/html/thd__no__cxx11_8h_source.html b/doc/ref/c++/html/thd__no__cxx11_8h_source.html new file mode 100644 index 0000000000..a14272e681 --- /dev/null +++ b/doc/ref/c++/html/thd__no__cxx11_8h_source.html @@ -0,0 +1,197 @@ + + + + + + +GRPC C++: include/grpc++/impl/thd_no_cxx11.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
thd_no_cxx11.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPCXX_IMPL_THD_NO_CXX11_H
+
35 #define GRPCXX_IMPL_THD_NO_CXX11_H
+
36 
+
37 #include <grpc/support/thd.h>
+
38 
+
39 namespace grpc {
+
40 
+
41 class thread {
+
42  public:
+
43  template<class T> thread(void (T::*fptr)(), T *obj) {
+
44  func_ = new thread_function<T>(fptr, obj);
+
45  joined_ = false;
+
46  start();
+
47  }
+
48  ~thread() {
+
49  if (!joined_) std::terminate();
+
50  delete func_;
+
51  }
+
52  void join() {
+
53  gpr_thd_join(thd_);
+
54  joined_ = true;
+
55  }
+
56  private:
+
57  void start() {
+
58  gpr_thd_options options = gpr_thd_options_default();
+
59  gpr_thd_options_set_joinable(&options);
+
60  gpr_thd_new(&thd_, thread_func, (void *) func_, &options);
+
61  }
+
62  static void thread_func(void *arg) {
+
63  thread_function_base *func = (thread_function_base *) arg;
+
64  func->call();
+
65  }
+
66  class thread_function_base {
+
67  public:
+
68  virtual ~thread_function_base() { }
+
69  virtual void call() = 0;
+
70  };
+
71  template<class T>
+
72  class thread_function : public thread_function_base {
+
73  public:
+
74  thread_function(void (T::*fptr)(), T *obj)
+
75  : fptr_(fptr)
+
76  , obj_(obj) { }
+
77  virtual void call() { (obj_->*fptr_)(); }
+
78  private:
+
79  void (T::*fptr_)();
+
80  T *obj_;
+
81  };
+
82  thread_function_base *func_;
+
83  gpr_thd_id thd_;
+
84  bool joined_;
+
85 
+
86  // Disallow copy and assign.
+
87  thread(const thread&);
+
88  void operator=(const thread&);
+
89 };
+
90 
+
91 } // namespace grpc
+
92 
+
93 #endif // GRPCXX_IMPL_THD_NO_CXX11_H
+
thread(void(T::*fptr)(), T *obj)
Definition: thd_no_cxx11.h:43
+
void join()
Definition: thd_no_cxx11.h:52
+
Definition: thd_no_cxx11.h:41
+
~thread()
Definition: thd_no_cxx11.h:48
+
+ + + + diff --git a/doc/ref/c++/html/thread__pool__interface_8h.html b/doc/ref/c++/html/thread__pool__interface_8h.html new file mode 100644 index 0000000000..307f5c7c1f --- /dev/null +++ b/doc/ref/c++/html/thread__pool__interface_8h.html @@ -0,0 +1,123 @@ + + + + + + +GRPC C++: include/grpc++/thread_pool_interface.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
thread_pool_interface.h File Reference
+
+
+
#include <functional>
+
+

Go to the source code of this file.

+ + + + +

+Data Structures

class  grpc::ThreadPoolInterface
 
+ + + +

+Namespaces

 grpc
 
+ + + +

+Functions

ThreadPoolInterface * grpc::CreateDefaultThreadPool ()
 
+
+ + + + diff --git a/doc/ref/c++/html/thread__pool__interface_8h_source.html b/doc/ref/c++/html/thread__pool__interface_8h_source.html new file mode 100644 index 0000000000..6e29bdf56e --- /dev/null +++ b/doc/ref/c++/html/thread__pool__interface_8h_source.html @@ -0,0 +1,158 @@ + + + + + + +GRPC C++: include/grpc++/thread_pool_interface.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
thread_pool_interface.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPCXX_THREAD_POOL_INTERFACE_H
+
35 #define GRPCXX_THREAD_POOL_INTERFACE_H
+
36 
+
37 #include <functional>
+
38 
+
39 namespace grpc {
+
40 
+
41 // A thread pool interface for running callbacks.
+ +
43  public:
+
44  virtual ~ThreadPoolInterface() {}
+
45 
+
46  // Schedule the given callback for execution.
+
47  virtual void Add(const std::function<void()>& callback) = 0;
+
48 };
+
49 
+
50 ThreadPoolInterface* CreateDefaultThreadPool();
+
51 
+
52 } // namespace grpc
+
53 
+
54 #endif // GRPCXX_THREAD_POOL_INTERFACE_H
+
virtual void Add(const std::function< void()> &callback)=0
+
Definition: thread_pool_interface.h:42
+
ThreadPoolInterface * CreateDefaultThreadPool()
+
virtual ~ThreadPoolInterface()
Definition: thread_pool_interface.h:44
+
+ + + + diff --git a/doc/ref/c++/html/time_8h.html b/doc/ref/c++/html/time_8h.html new file mode 100644 index 0000000000..e55c9fbdfb --- /dev/null +++ b/doc/ref/c++/html/time_8h.html @@ -0,0 +1,133 @@ + + + + + + +GRPC C++: include/grpc++/time.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
time.h File Reference
+
+
+
#include <grpc++/config.h>
+#include <chrono>
+#include <grpc/support/time.h>
+
+

Go to the source code of this file.

+ + + + + + + + +

+Data Structures

class  grpc::TimePoint< T >
 
class  grpc::TimePoint< gpr_timespec >
 
class  grpc::TimePoint< std::chrono::system_clock::time_point >
 
+ + + +

+Namespaces

 grpc
 
+ + + + + + + +

+Functions

void grpc::Timepoint2Timespec (const std::chrono::system_clock::time_point &from, gpr_timespec *to)
 
void grpc::TimepointHR2Timespec (const std::chrono::high_resolution_clock::time_point &from, gpr_timespec *to)
 
std::chrono::system_clock::time_point grpc::Timespec2Timepoint (gpr_timespec t)
 
+
+ + + + diff --git a/doc/ref/c++/html/time_8h_source.html b/doc/ref/c++/html/time_8h_source.html new file mode 100644 index 0000000000..f42eb5ad3c --- /dev/null +++ b/doc/ref/c++/html/time_8h_source.html @@ -0,0 +1,221 @@ + + + + + + +GRPC C++: include/grpc++/time.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC C++ +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
time.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPCXX_TIME_H
+
35 #define GRPCXX_TIME_H
+
36 
+
37 #include <grpc++/config.h>
+
38 
+
39 namespace grpc {
+
40 
+
41 /* If you are trying to use CompletionQueue::AsyncNext with a time class that
+
42  isn't either gpr_timespec or std::chrono::system_clock::time_point, you
+
43  will most likely be looking at this comment as your compiler will have
+
44  fired an error below. In order to fix this issue, you have two potential
+
45  solutions:
+
46 
+
47  1. Use gpr_timespec or std::chrono::system_clock::time_point instead
+
48  2. Specialize the TimePoint class with whichever time class that you
+
49  want to use here. See below for two examples of how to do this.
+
50  */
+
51 
+
52 template <typename T>
+
53 class TimePoint {
+
54  public:
+
55  TimePoint(const T& time) { you_need_a_specialization_of_TimePoint(); }
+
56  gpr_timespec raw_time() {
+
57  gpr_timespec t;
+
58  return t;
+
59  }
+
60 
+
61  private:
+
62  void you_need_a_specialization_of_TimePoint();
+
63 };
+
64 
+
65 template <>
+
66 class TimePoint<gpr_timespec> {
+
67  public:
+
68  TimePoint(const gpr_timespec& time) : time_(time) {}
+
69  gpr_timespec raw_time() { return time_; }
+
70 
+
71  private:
+
72  gpr_timespec time_;
+
73 };
+
74 
+
75 } // namespace grpc
+
76 
+
77 #ifndef GRPC_CXX0X_NO_CHRONO
+
78 
+
79 #include <chrono>
+
80 
+
81 #include <grpc/support/time.h>
+
82 
+
83 namespace grpc {
+
84 
+
85 // from and to should be absolute time.
+
86 void Timepoint2Timespec(const std::chrono::system_clock::time_point& from,
+
87  gpr_timespec* to);
+ +
89  const std::chrono::high_resolution_clock::time_point& from,
+
90  gpr_timespec* to);
+
91 
+
92 std::chrono::system_clock::time_point Timespec2Timepoint(gpr_timespec t);
+
93 
+
94 template <>
+
95 class TimePoint<std::chrono::system_clock::time_point> {
+
96  public:
+
97  TimePoint(const std::chrono::system_clock::time_point& time) {
+
98  Timepoint2Timespec(time, &time_);
+
99  }
+
100  gpr_timespec raw_time() const { return time_; }
+
101 
+
102  private:
+
103  gpr_timespec time_;
+
104 };
+
105 
+
106 } // namespace grpc
+
107 
+
108 #endif // !GRPC_CXX0X_NO_CHRONO
+
109 
+
110 #endif // GRPCXX_TIME_H
+
void TimepointHR2Timespec(const std::chrono::high_resolution_clock::time_point &from, gpr_timespec *to)
+ +
gpr_timespec raw_time()
Definition: time.h:56
+
Definition: time.h:53
+
TimePoint(const gpr_timespec &time)
Definition: time.h:68
+
TimePoint(const std::chrono::system_clock::time_point &time)
Definition: time.h:97
+
void Timepoint2Timespec(const std::chrono::system_clock::time_point &from, gpr_timespec *to)
+
TimePoint(const T &time)
Definition: time.h:55
+
gpr_timespec raw_time()
Definition: time.h:69
+
gpr_timespec raw_time() const
Definition: time.h:100
+
std::chrono::system_clock::time_point Timespec2Timepoint(gpr_timespec t)
+
+ + + + diff --git a/doc/ref/core.internal/html/add__channel__arg_8c.html b/doc/ref/core.internal/html/add__channel__arg_8c.html new file mode 100644 index 0000000000..501666f6c8 --- /dev/null +++ b/doc/ref/core.internal/html/add__channel__arg_8c.html @@ -0,0 +1,139 @@ + + + + + + +GRPC Core: src/core/client_config/subchannel_factory_decorators/add_channel_arg.c File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
add_channel_arg.c File Reference
+
+
+ + + + + +

+Functions

grpc_subchannel_factorygrpc_subchannel_factory_add_channel_arg (grpc_subchannel_factory *input, const grpc_arg *arg)
 Takes a subchannel factory, returns a new one that mutates incoming channel_args by adding a new argument; ownership of input, arg is retained by the caller. More...
 
+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
grpc_subchannel_factory* grpc_subchannel_factory_add_channel_arg (grpc_subchannel_factoryinput,
const grpc_argarg 
)
+
+ +

Takes a subchannel factory, returns a new one that mutates incoming channel_args by adding a new argument; ownership of input, arg is retained by the caller.

+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/add__channel__arg_8h.html b/doc/ref/core.internal/html/add__channel__arg_8h.html new file mode 100644 index 0000000000..8b8715fb8d --- /dev/null +++ b/doc/ref/core.internal/html/add__channel__arg_8h.html @@ -0,0 +1,140 @@ + + + + + + +GRPC Core: src/core/client_config/subchannel_factory_decorators/add_channel_arg.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
add_channel_arg.h File Reference
+
+
+ +

Go to the source code of this file.

+ + + + + +

+Functions

grpc_subchannel_factorygrpc_subchannel_factory_add_channel_arg (grpc_subchannel_factory *input, const grpc_arg *arg)
 Takes a subchannel factory, returns a new one that mutates incoming channel_args by adding a new argument; ownership of input, arg is retained by the caller. More...
 
+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
grpc_subchannel_factory* grpc_subchannel_factory_add_channel_arg (grpc_subchannel_factoryinput,
const grpc_argarg 
)
+
+ +

Takes a subchannel factory, returns a new one that mutates incoming channel_args by adding a new argument; ownership of input, arg is retained by the caller.

+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/add__channel__arg_8h_source.html b/doc/ref/core.internal/html/add__channel__arg_8h_source.html new file mode 100644 index 0000000000..48c0cf1533 --- /dev/null +++ b/doc/ref/core.internal/html/add__channel__arg_8h_source.html @@ -0,0 +1,146 @@ + + + + + + +GRPC Core: src/core/client_config/subchannel_factory_decorators/add_channel_arg.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
add_channel_arg.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPC_INTERNAL_CORE_CLIENT_CONFIG_SUBCHANNEL_FACTORY_DECORATORS_ADD_CHANNEL_ARG_H
+
35 #define GRPC_INTERNAL_CORE_CLIENT_CONFIG_SUBCHANNEL_FACTORY_DECORATORS_ADD_CHANNEL_ARG_H
+
36 
+ +
38 
+ +
43  grpc_subchannel_factory *input, const grpc_arg *arg);
+
44 
+
45 #endif /* GRPC_INTERNAL_CORE_CLIENT_CONFIG_SUBCHANNEL_FACTORY_DECORATORS_ADD_CHANNEL_ARG_H */
+ +
A single argument...
Definition: grpc.h:91
+
Definition: cmdline.c:47
+
grpc_subchannel_factory * grpc_subchannel_factory_add_channel_arg(grpc_subchannel_factory *input, const grpc_arg *arg)
Takes a subchannel factory, returns a new one that mutates incoming channel_args by adding a new argu...
Definition: add_channel_arg.c:37
+
Constructor for new configured channels.
Definition: subchannel_factory.h:45
+
+ + + + diff --git a/doc/ref/core.internal/html/alarm_8c.html b/doc/ref/core.internal/html/alarm_8c.html new file mode 100644 index 0000000000..339609c449 --- /dev/null +++ b/doc/ref/core.internal/html/alarm_8c.html @@ -0,0 +1,374 @@ + + + + + + +GRPC Core: src/core/iomgr/alarm.c File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
alarm.c File Reference
+
+
+ + + + +

+Data Structures

struct  shard_type
 
+ + + + + + + + + + + + + + + +

+Macros

#define INVALID_HEAP_INDEX   0xffffffffu
 
#define LOG2_NUM_SHARDS   5
 
#define NUM_SHARDS   (1 << LOG2_NUM_SHARDS)
 
#define MAX_ALARMS_PER_CHECK   128
 
#define ADD_DEADLINE_SCALE   0.33
 
#define MIN_QUEUE_WINDOW_DURATION   0.01
 
#define MAX_QUEUE_WINDOW_DURATION   1
 
+ + + + + + + + + + + + + +

+Functions

void grpc_alarm_list_init (gpr_timespec now)
 
void grpc_alarm_list_shutdown (void)
 
void grpc_alarm_init (grpc_alarm *alarm, gpr_timespec deadline, grpc_iomgr_cb_func alarm_cb, void *alarm_cb_arg, gpr_timespec now)
 
void grpc_alarm_cancel (grpc_alarm *alarm)
 
int grpc_alarm_check (gpr_mu *drop_mu, gpr_timespec now, gpr_timespec *next)
 
gpr_timespec grpc_alarm_list_next_timeout (void)
 
+

Macro Definition Documentation

+ +
+
+ + + + +
#define ADD_DEADLINE_SCALE   0.33
+
+ +
+
+ +
+
+ + + + +
#define INVALID_HEAP_INDEX   0xffffffffu
+
+ +
+
+ +
+
+ + + + +
#define LOG2_NUM_SHARDS   5
+
+ +
+
+ +
+
+ + + + +
#define MAX_ALARMS_PER_CHECK   128
+
+ +
+
+ +
+
+ + + + +
#define MAX_QUEUE_WINDOW_DURATION   1
+
+ +
+
+ +
+
+ + + + +
#define MIN_QUEUE_WINDOW_DURATION   0.01
+
+ +
+
+ +
+
+ + + + +
#define NUM_SHARDS   (1 << LOG2_NUM_SHARDS)
+
+ +
+
+

Function Documentation

+ +
+
+ + + + + + + + +
void grpc_alarm_cancel (grpc_alarmalarm)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
int grpc_alarm_check (gpr_mudrop_mu,
gpr_timespec now,
gpr_timespecnext 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void grpc_alarm_init (grpc_alarmalarm,
gpr_timespec deadline,
grpc_iomgr_cb_func alarm_cb,
void * alarm_cb_arg,
gpr_timespec now 
)
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_alarm_list_init (gpr_timespec now)
+
+ +
+
+ +
+
+ + + + + + + + +
gpr_timespec grpc_alarm_list_next_timeout (void )
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_alarm_list_shutdown (void )
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/alarm_8h.html b/doc/ref/core.internal/html/alarm_8h.html new file mode 100644 index 0000000000..9ea5a2a482 --- /dev/null +++ b/doc/ref/core.internal/html/alarm_8h.html @@ -0,0 +1,200 @@ + + + + + + +GRPC Core: src/core/iomgr/alarm.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
alarm.h File Reference
+
+
+ +

Go to the source code of this file.

+ + + + +

+Data Structures

struct  grpc_alarm
 
+ + + +

+Typedefs

typedef struct grpc_alarm grpc_alarm
 
+ + + + + +

+Functions

void grpc_alarm_init (grpc_alarm *alarm, gpr_timespec deadline, grpc_iomgr_cb_func alarm_cb, void *alarm_cb_arg, gpr_timespec now)
 
void grpc_alarm_cancel (grpc_alarm *alarm)
 
+

Typedef Documentation

+ +
+
+ + + + +
typedef struct grpc_alarm grpc_alarm
+
+ +
+
+

Function Documentation

+ +
+
+ + + + + + + + +
void grpc_alarm_cancel (grpc_alarmalarm)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void grpc_alarm_init (grpc_alarmalarm,
gpr_timespec deadline,
grpc_iomgr_cb_func alarm_cb,
void * alarm_cb_arg,
gpr_timespec now 
)
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/alarm_8h_source.html b/doc/ref/core.internal/html/alarm_8h_source.html new file mode 100644 index 0000000000..3677d544cd --- /dev/null +++ b/doc/ref/core.internal/html/alarm_8h_source.html @@ -0,0 +1,205 @@ + + + + + + +GRPC Core: src/core/iomgr/alarm.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
alarm.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPC_INTERNAL_CORE_IOMGR_ALARM_H
+
35 #define GRPC_INTERNAL_CORE_IOMGR_ALARM_H
+
36 
+
37 #include "src/core/iomgr/iomgr.h"
+ +
39 #include <grpc/support/time.h>
+
40 
+
41 typedef struct grpc_alarm {
+ +
43  gpr_uint32 heap_index; /* INVALID_HEAP_INDEX if not in heap */
+
44  int triggered;
+
45  struct grpc_alarm *next;
+
46  struct grpc_alarm *prev;
+ +
48  void *cb_arg;
+
49 } grpc_alarm;
+
50 
+
51 /* Initialize *alarm. When expired or canceled, alarm_cb will be called with
+
52  *alarm_cb_arg and status to indicate if it expired (SUCCESS) or was
+
53  canceled (CANCELLED). alarm_cb is guaranteed to be called exactly once,
+
54  and application code should check the status to determine how it was
+
55  invoked. The application callback is also responsible for maintaining
+
56  information about when to free up any user-level state. */
+ +
58  grpc_iomgr_cb_func alarm_cb, void *alarm_cb_arg,
+
59  gpr_timespec now);
+
60 
+
61 /* Note that there is no alarm destroy function. This is because the
+
62  alarm is a one-time occurrence with a guarantee that the callback will
+
63  be called exactly once, either at expiration or cancellation. Thus, all
+
64  the internal alarm event management state is destroyed just before
+
65  that callback is invoked. If the user has additional state associated with
+
66  the alarm, the user is responsible for determining when it is safe to
+
67  destroy that state. */
+
68 
+
69 /* Cancel an *alarm.
+
70  There are three cases:
+
71  1. We normally cancel the alarm
+
72  2. The alarm has already run
+
73  3. We can't cancel the alarm because it is "in flight".
+
74 
+
75  In all of these cases, the cancellation is still considered successful.
+
76  They are essentially distinguished in that the alarm_cb will be run
+
77  exactly once from either the cancellation (with status CANCELLED)
+
78  or from the activation (with status SUCCESS)
+
79 
+
80  Note carefully that the callback function MAY occur in the same callstack
+
81  as grpc_alarm_cancel. It's expected that most alarms will be cancelled (their
+
82  primary use is to implement deadlines), and so this code is optimized such
+
83  that cancellation costs as little as possible. Making callbacks run inline
+
84  matches this aim.
+
85 
+
86  Requires: cancel() must happen after add() on a given alarm */
+
87 void grpc_alarm_cancel(grpc_alarm *alarm);
+
88 
+
89 #endif /* GRPC_INTERNAL_CORE_IOMGR_ALARM_H */
+
Definition: alarm.h:41
+ +
void grpc_alarm_cancel(grpc_alarm *alarm)
Definition: alarm.c:227
+
grpc_iomgr_cb_func cb
Definition: alarm.h:47
+ +
struct grpc_alarm * next
Definition: alarm.h:45
+
uint32_t gpr_uint32
Definition: port_platform.h:309
+
void * cb_arg
Definition: alarm.h:48
+
void grpc_alarm_init(grpc_alarm *alarm, gpr_timespec deadline, grpc_iomgr_cb_func alarm_cb, void *alarm_cb_arg, gpr_timespec now)
Definition: alarm.c:176
+
gpr_uint32 heap_index
Definition: alarm.h:43
+
gpr_timespec deadline
Definition: alarm.h:42
+
void(* grpc_iomgr_cb_func)(void *arg, int success)
gRPC Callback definition.
Definition: iomgr.h:42
+
struct grpc_alarm grpc_alarm
+
int triggered
Definition: alarm.h:44
+
struct grpc_alarm * prev
Definition: alarm.h:46
+
Definition: time.h:60
+ +
+ + + + diff --git a/doc/ref/core.internal/html/alarm__heap_8c.html b/doc/ref/core.internal/html/alarm__heap_8c.html new file mode 100644 index 0000000000..39e8fecd3c --- /dev/null +++ b/doc/ref/core.internal/html/alarm__heap_8c.html @@ -0,0 +1,289 @@ + + + + + + +GRPC Core: src/core/iomgr/alarm_heap.c File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
alarm_heap.c File Reference
+
+
+
#include "src/core/iomgr/alarm_heap.h"
+#include <string.h>
+#include <grpc/support/alloc.h>
+#include <grpc/support/useful.h>
+
+ + + + + +

+Macros

#define SHRINK_MIN_ELEMS   8
 
#define SHRINK_FULLNESS_FACTOR   2
 
+ + + + + + + + + + + + + + + +

+Functions

void grpc_alarm_heap_init (grpc_alarm_heap *heap)
 
void grpc_alarm_heap_destroy (grpc_alarm_heap *heap)
 
int grpc_alarm_heap_add (grpc_alarm_heap *heap, grpc_alarm *alarm)
 
void grpc_alarm_heap_remove (grpc_alarm_heap *heap, grpc_alarm *alarm)
 
int grpc_alarm_heap_is_empty (grpc_alarm_heap *heap)
 
grpc_alarmgrpc_alarm_heap_top (grpc_alarm_heap *heap)
 
void grpc_alarm_heap_pop (grpc_alarm_heap *heap)
 
+

Macro Definition Documentation

+ +
+
+ + + + +
#define SHRINK_FULLNESS_FACTOR   2
+
+ +
+
+ +
+
+ + + + +
#define SHRINK_MIN_ELEMS   8
+
+ +
+
+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
int grpc_alarm_heap_add (grpc_alarm_heapheap,
grpc_alarmalarm 
)
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_alarm_heap_destroy (grpc_alarm_heapheap)
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_alarm_heap_init (grpc_alarm_heapheap)
+
+ +
+
+ +
+
+ + + + + + + + +
int grpc_alarm_heap_is_empty (grpc_alarm_heapheap)
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_alarm_heap_pop (grpc_alarm_heapheap)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void grpc_alarm_heap_remove (grpc_alarm_heapheap,
grpc_alarmalarm 
)
+
+ +
+
+ +
+
+ + + + + + + + +
grpc_alarm* grpc_alarm_heap_top (grpc_alarm_heapheap)
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/alarm__heap_8h.html b/doc/ref/core.internal/html/alarm__heap_8h.html new file mode 100644 index 0000000000..f28312f126 --- /dev/null +++ b/doc/ref/core.internal/html/alarm__heap_8h.html @@ -0,0 +1,261 @@ + + + + + + +GRPC Core: src/core/iomgr/alarm_heap.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
alarm_heap.h File Reference
+
+
+ +

Go to the source code of this file.

+ + + + +

+Data Structures

struct  grpc_alarm_heap
 
+ + + + + + + + + + + + + + + +

+Functions

int grpc_alarm_heap_add (grpc_alarm_heap *heap, grpc_alarm *alarm)
 
void grpc_alarm_heap_init (grpc_alarm_heap *heap)
 
void grpc_alarm_heap_destroy (grpc_alarm_heap *heap)
 
void grpc_alarm_heap_remove (grpc_alarm_heap *heap, grpc_alarm *alarm)
 
grpc_alarmgrpc_alarm_heap_top (grpc_alarm_heap *heap)
 
void grpc_alarm_heap_pop (grpc_alarm_heap *heap)
 
int grpc_alarm_heap_is_empty (grpc_alarm_heap *heap)
 
+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
int grpc_alarm_heap_add (grpc_alarm_heapheap,
grpc_alarmalarm 
)
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_alarm_heap_destroy (grpc_alarm_heapheap)
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_alarm_heap_init (grpc_alarm_heapheap)
+
+ +
+
+ +
+
+ + + + + + + + +
int grpc_alarm_heap_is_empty (grpc_alarm_heapheap)
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_alarm_heap_pop (grpc_alarm_heapheap)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void grpc_alarm_heap_remove (grpc_alarm_heapheap,
grpc_alarmalarm 
)
+
+ +
+
+ +
+
+ + + + + + + + +
grpc_alarm* grpc_alarm_heap_top (grpc_alarm_heapheap)
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/alarm__heap_8h_source.html b/doc/ref/core.internal/html/alarm__heap_8h_source.html new file mode 100644 index 0000000000..cd8052d36b --- /dev/null +++ b/doc/ref/core.internal/html/alarm__heap_8h_source.html @@ -0,0 +1,169 @@ + + + + + + +GRPC Core: src/core/iomgr/alarm_heap.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
alarm_heap.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPC_INTERNAL_CORE_IOMGR_ALARM_HEAP_H
+
35 #define GRPC_INTERNAL_CORE_IOMGR_ALARM_HEAP_H
+
36 
+
37 #include "src/core/iomgr/alarm.h"
+
38 
+
39 typedef struct {
+ + + + +
44 
+
45 /* return 1 if the new alarm is the first alarm in the heap */
+ +
47 
+ + +
50 
+ + + +
54 
+ +
56 
+
57 #endif /* GRPC_INTERNAL_CORE_IOMGR_ALARM_HEAP_H */
+
Definition: alarm.h:41
+
int alarm_capacity
Definition: alarm_heap.h:42
+
void grpc_alarm_heap_pop(grpc_alarm_heap *heap)
Definition: alarm_heap.c:146
+
int grpc_alarm_heap_is_empty(grpc_alarm_heap *heap)
Definition: alarm_heap.c:138
+
void grpc_alarm_heap_remove(grpc_alarm_heap *heap, grpc_alarm *alarm)
Definition: alarm_heap.c:124
+
Definition: alarm_heap.h:39
+
void grpc_alarm_heap_init(grpc_alarm_heap *heap)
Definition: alarm_heap.c:105
+
int alarm_count
Definition: alarm_heap.h:41
+
grpc_alarm ** alarms
Definition: alarm_heap.h:40
+ +
grpc_alarm * grpc_alarm_heap_top(grpc_alarm_heap *heap)
Definition: alarm_heap.c:142
+
int grpc_alarm_heap_add(grpc_alarm_heap *heap, grpc_alarm *alarm)
Definition: alarm_heap.c:111
+
void grpc_alarm_heap_destroy(grpc_alarm_heap *heap)
Definition: alarm_heap.c:109
+
+ + + + diff --git a/doc/ref/core.internal/html/alarm__internal_8h.html b/doc/ref/core.internal/html/alarm__internal_8h.html new file mode 100644 index 0000000000..0d72b6c868 --- /dev/null +++ b/doc/ref/core.internal/html/alarm__internal_8h.html @@ -0,0 +1,216 @@ + + + + + + +GRPC Core: src/core/iomgr/alarm_internal.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
alarm_internal.h File Reference
+
+
+
#include <grpc/support/sync.h>
+#include <grpc/support/time.h>
+
+

Go to the source code of this file.

+ + + + + + + + + + + + +

+Functions

int grpc_alarm_check (gpr_mu *drop_mu, gpr_timespec now, gpr_timespec *next)
 
void grpc_alarm_list_init (gpr_timespec now)
 
void grpc_alarm_list_shutdown (void)
 
gpr_timespec grpc_alarm_list_next_timeout (void)
 
void grpc_kick_poller (void)
 
+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
int grpc_alarm_check (gpr_mudrop_mu,
gpr_timespec now,
gpr_timespecnext 
)
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_alarm_list_init (gpr_timespec now)
+
+ +
+
+ +
+
+ + + + + + + + +
gpr_timespec grpc_alarm_list_next_timeout (void )
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_alarm_list_shutdown (void )
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_kick_poller (void )
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/alarm__internal_8h_source.html b/doc/ref/core.internal/html/alarm__internal_8h_source.html new file mode 100644 index 0000000000..cec947087f --- /dev/null +++ b/doc/ref/core.internal/html/alarm__internal_8h_source.html @@ -0,0 +1,170 @@ + + + + + + +GRPC Core: src/core/iomgr/alarm_internal.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
alarm_internal.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPC_INTERNAL_CORE_IOMGR_ALARM_INTERNAL_H
+
35 #define GRPC_INTERNAL_CORE_IOMGR_ALARM_INTERNAL_H
+
36 
+
37 #include <grpc/support/sync.h>
+
38 #include <grpc/support/time.h>
+
39 
+
40 /* iomgr internal api for dealing with alarms */
+
41 
+
42 /* Check for alarms to be run, and run them.
+
43  Return non zero if alarm callbacks were executed.
+
44  Drops drop_mu if it is non-null before executing callbacks.
+
45  If next is non-null, TRY to update *next with the next running alarm
+
46  IF that alarm occurs before *next current value.
+
47  *next is never guaranteed to be updated on any given execution; however,
+
48  with high probability at least one thread in the system will see an update
+
49  at any time slice. */
+
50 
+
51 int grpc_alarm_check(gpr_mu *drop_mu, gpr_timespec now, gpr_timespec *next);
+
52 
+ +
54 void grpc_alarm_list_shutdown(void);
+
55 
+ +
57 
+
58 /* the following must be implemented by each iomgr implementation */
+
59 
+
60 void grpc_kick_poller(void);
+
61 
+
62 #endif /* GRPC_INTERNAL_CORE_IOMGR_ALARM_INTERNAL_H */
+
void grpc_alarm_list_init(gpr_timespec now)
Definition: alarm.c:85
+ +
int grpc_alarm_check(gpr_mu *drop_mu, gpr_timespec now, gpr_timespec *next)
Definition: alarm.c:362
+
Definition: sync_win32.h:39
+
void grpc_kick_poller(void)
Definition: iomgr.c:82
+ +
gpr_timespec grpc_alarm_list_next_timeout(void)
Definition: alarm.c:369
+
Definition: time.h:60
+
void grpc_alarm_list_shutdown(void)
Definition: alarm.c:106
+
+ + + + diff --git a/doc/ref/core.internal/html/algorithm_8c.html b/doc/ref/core.internal/html/algorithm_8c.html new file mode 100644 index 0000000000..6636fa645d --- /dev/null +++ b/doc/ref/core.internal/html/algorithm_8c.html @@ -0,0 +1,217 @@ + + + + + + +GRPC Core: src/core/compression/algorithm.c File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
algorithm.c File Reference
+
+
+
#include <stdlib.h>
+#include <string.h>
+#include <grpc/compression.h>
+
+ + + + + + + + + + + + + +

+Functions

int grpc_compression_algorithm_parse (const char *name, grpc_compression_algorithm *algorithm)
 Parses name as a grpc_compression_algorithm instance, updating algorithm. More...
 
int grpc_compression_algorithm_name (grpc_compression_algorithm algorithm, char **name)
 Updates name with the encoding name corresponding to a valid algorithm. More...
 
grpc_compression_algorithm grpc_compression_algorithm_for_level (grpc_compression_level level)
 Returns the compression algorithm corresponding to level. More...
 
grpc_compression_level grpc_compression_level_for_algorithm (grpc_compression_algorithm algorithm)
 Returns the compression level corresponding to algorithm. More...
 
+

Function Documentation

+ +
+
+ + + + + + + + +
grpc_compression_algorithm grpc_compression_algorithm_for_level (grpc_compression_level level)
+
+ +

Returns the compression algorithm corresponding to level.

+

It abort()s for unknown levels .

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
int grpc_compression_algorithm_name (grpc_compression_algorithm algorithm,
char ** name 
)
+
+ +

Updates name with the encoding name corresponding to a valid algorithm.

+

Returns 1 upon success, 0 otherwise.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
int grpc_compression_algorithm_parse (const char * name,
grpc_compression_algorithmalgorithm 
)
+
+ +

Parses name as a grpc_compression_algorithm instance, updating algorithm.

+

Returns 1 upon success, 0 otherwise.

+ +
+
+ +
+
+ + + + + + + + +
grpc_compression_level grpc_compression_level_for_algorithm (grpc_compression_algorithm algorithm)
+
+ +

Returns the compression level corresponding to algorithm.

+

It abort()s for unknown algorithms.

+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/alloc_8c.html b/doc/ref/core.internal/html/alloc_8c.html new file mode 100644 index 0000000000..79ef100357 --- /dev/null +++ b/doc/ref/core.internal/html/alloc_8c.html @@ -0,0 +1,219 @@ + + + + + + +GRPC Core: src/core/support/alloc.c File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
alloc.c File Reference
+
+
+
#include <grpc/support/alloc.h>
+#include <stdlib.h>
+#include <grpc/support/port_platform.h>
+
+ + + + + + + + + + + +

+Functions

void * gpr_malloc (size_t size)
 
void gpr_free (void *p)
 
void * gpr_realloc (void *p, size_t size)
 
void * gpr_malloc_aligned (size_t size, size_t alignment_log)
 
void gpr_free_aligned (void *ptr)
 
+

Function Documentation

+ +
+
+ + + + + + + + +
void gpr_free (void * p)
+
+ +
+
+ +
+
+ + + + + + + + +
void gpr_free_aligned (void * ptr)
+
+ +
+
+ +
+
+ + + + + + + + +
void* gpr_malloc (size_t size)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void* gpr_malloc_aligned (size_t size,
size_t alignment_log 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void* gpr_realloc (void * p,
size_t size 
)
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/alloc_8h.html b/doc/ref/core.internal/html/alloc_8h.html new file mode 100644 index 0000000000..56ac3fc42e --- /dev/null +++ b/doc/ref/core.internal/html/alloc_8h.html @@ -0,0 +1,219 @@ + + + + + + +GRPC Core: include/grpc/support/alloc.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
alloc.h File Reference
+
+
+
#include <stddef.h>
+
+

Go to the source code of this file.

+ + + + + + + + + + + + +

+Functions

void * gpr_malloc (size_t size)
 
void gpr_free (void *ptr)
 
void * gpr_realloc (void *p, size_t size)
 
void * gpr_malloc_aligned (size_t size, size_t alignment_log)
 
void gpr_free_aligned (void *ptr)
 
+

Function Documentation

+ +
+
+ + + + + + + + +
void gpr_free (void * ptr)
+
+ +
+
+ +
+
+ + + + + + + + +
void gpr_free_aligned (void * ptr)
+
+ +
+
+ +
+
+ + + + + + + + +
void* gpr_malloc (size_t size)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void* gpr_malloc_aligned (size_t size,
size_t alignment_log 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void* gpr_realloc (void * p,
size_t size 
)
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/alloc_8h_source.html b/doc/ref/core.internal/html/alloc_8h_source.html new file mode 100644 index 0000000000..027820fe04 --- /dev/null +++ b/doc/ref/core.internal/html/alloc_8h_source.html @@ -0,0 +1,162 @@ + + + + + + +GRPC Core: include/grpc/support/alloc.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
alloc.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPC_SUPPORT_ALLOC_H
+
35 #define GRPC_SUPPORT_ALLOC_H
+
36 
+
37 #include <stddef.h>
+
38 
+
39 #ifdef __cplusplus
+
40 extern "C" {
+
41 #endif
+
42 
+
43 /* malloc, never returns NULL */
+
44 void *gpr_malloc(size_t size);
+
45 /* free */
+
46 void gpr_free(void *ptr);
+
47 /* realloc, never returns NULL */
+
48 void *gpr_realloc(void *p, size_t size);
+
49 /* aligned malloc, never returns NULL, will align to 1 << alignment_log */
+
50 void *gpr_malloc_aligned(size_t size, size_t alignment_log);
+
51 /* free memory allocated by gpr_malloc_aligned */
+
52 void gpr_free_aligned(void *ptr);
+
53 
+
54 #ifdef __cplusplus
+
55 }
+
56 #endif
+
57 
+
58 #endif /* GRPC_SUPPORT_ALLOC_H */
+
void gpr_free_aligned(void *ptr)
Definition: alloc.c:66
+
void * gpr_realloc(void *p, size_t size)
Definition: alloc.c:49
+
void * gpr_malloc(size_t size)
Definition: alloc.c:39
+
void * gpr_malloc_aligned(size_t size, size_t alignment_log)
Definition: alloc.c:57
+
void gpr_free(void *ptr)
Definition: alloc.c:47
+
+ + + + diff --git a/doc/ref/core.internal/html/alpn_8c.html b/doc/ref/core.internal/html/alpn_8c.html new file mode 100644 index 0000000000..31e29d6433 --- /dev/null +++ b/doc/ref/core.internal/html/alpn_8c.html @@ -0,0 +1,173 @@ + + + + + + +GRPC Core: src/core/transport/chttp2/alpn.c File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
alpn.c File Reference
+
+
+ + + + + + + + +

+Functions

int grpc_chttp2_is_alpn_version_supported (const char *version, size_t size)
 
size_t grpc_chttp2_num_alpn_versions (void)
 
const char * grpc_chttp2_get_alpn_version_index (size_t i)
 
+

Function Documentation

+ +
+
+ + + + + + + + +
const char* grpc_chttp2_get_alpn_version_index (size_t i)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
int grpc_chttp2_is_alpn_version_supported (const char * version,
size_t size 
)
+
+ +
+
+ +
+
+ + + + + + + + +
size_t grpc_chttp2_num_alpn_versions (void )
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/alpn_8h.html b/doc/ref/core.internal/html/alpn_8h.html new file mode 100644 index 0000000000..69259eb80a --- /dev/null +++ b/doc/ref/core.internal/html/alpn_8h.html @@ -0,0 +1,173 @@ + + + + + + +GRPC Core: src/core/transport/chttp2/alpn.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
alpn.h File Reference
+
+
+
#include <string.h>
+
+

Go to the source code of this file.

+ + + + + + + + +

+Functions

int grpc_chttp2_is_alpn_version_supported (const char *version, size_t size)
 
size_t grpc_chttp2_num_alpn_versions (void)
 
const char * grpc_chttp2_get_alpn_version_index (size_t i)
 
+

Function Documentation

+ +
+
+ + + + + + + + +
const char* grpc_chttp2_get_alpn_version_index (size_t i)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
int grpc_chttp2_is_alpn_version_supported (const char * version,
size_t size 
)
+
+ +
+
+ +
+
+ + + + + + + + +
size_t grpc_chttp2_num_alpn_versions (void )
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/alpn_8h_source.html b/doc/ref/core.internal/html/alpn_8h_source.html new file mode 100644 index 0000000000..cafd87846b --- /dev/null +++ b/doc/ref/core.internal/html/alpn_8h_source.html @@ -0,0 +1,152 @@ + + + + + + +GRPC Core: src/core/transport/chttp2/alpn.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
alpn.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPC_INTERNAL_CORE_TRANSPORT_CHTTP2_ALPN_H
+
35 #define GRPC_INTERNAL_CORE_TRANSPORT_CHTTP2_ALPN_H
+
36 
+
37 #include <string.h>
+
38 
+
39 /* Retuns 1 if the version is supported, 0 otherwise. */
+
40 int grpc_chttp2_is_alpn_version_supported(const char *version, size_t size);
+
41 
+
42 /* Returns the number of protocol versions to advertise */
+ +
44 
+
45 /* Returns the protocol version at index i (0 <= i <
+
46  * grpc_chttp2_num_alpn_versions()) */
+
47 const char *grpc_chttp2_get_alpn_version_index(size_t i);
+
48 
+
49 #endif /* GRPC_INTERNAL_CORE_TRANSPORT_CHTTP2_ALPN_H */
+
const char * grpc_chttp2_get_alpn_version_index(size_t i)
Definition: alpn.c:53
+
size_t grpc_chttp2_num_alpn_versions(void)
Definition: alpn.c:49
+ +
int grpc_chttp2_is_alpn_version_supported(const char *version, size_t size)
Definition: alpn.c:41
+
+ + + + diff --git a/doc/ref/core.internal/html/annotated.html b/doc/ref/core.internal/html/annotated.html new file mode 100644 index 0000000000..53ac2d6c94 --- /dev/null +++ b/doc/ref/core.internal/html/annotated.html @@ -0,0 +1,346 @@ + + + + + + +GRPC Core: Data Structures + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + +
+ + + + +
+ +
+ +
+
+
Data Structures
+
+
+
Here are the data structures with brief descriptions:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
oCarg
oCb64_huff_sym
oCcall_data
oCcall_link
oCcensus_context
oCcensus_stat
oCchannel_broadcaster
oCchannel_data
oCchannel_registered_method
oCcompleted_request
oCcompute_engine_detector
oCconnected_channel_call_data
oCconnected_channel_channel_data
oCconnection
oCconnector
oCdns_resolver
oCdump_out
oCemail_key_mapping
oCfinished_loose_op_allocated_args
oCframer_state
oCgpr_cancellable
oCgpr_cancellable_list_
oCgpr_cmdline
oCgpr_event
oCgpr_gcc_thread_local
oCgpr_histogram
oCgpr_log_func_args
oCgpr_msvc_thread_local
oCgpr_mu
oCgpr_pthread_thread_local
oCgpr_refcount
oCgpr_slice
oCgpr_slice_buffer
oCgpr_slice_refcount
oCgpr_stack_lockfree
oCgpr_stats_counter
oCgpr_strvec
oCgpr_thd_options
oCgpr_timespec
oCgrpc_access_token_credentials
oCgrpc_alarm
oCgrpc_alarm_heap
oCgrpc_argA single argument..
oCgrpc_auth_context
oCgrpc_auth_json_key
oCgrpc_auth_property
oCgrpc_auth_property_iterator
oCgrpc_auth_refresh_token
oCgrpc_bbq_array
oCgrpc_begin_message
oCgrpc_byte_buffer
oCgrpc_byte_buffer_queue
oCgrpc_byte_buffer_reader
oCgrpc_call
oCgrpc_call_context_element
oCgrpc_call_details
oCgrpc_call_element
oCgrpc_call_stack
oCgrpc_channel
oCgrpc_channel_argsAn array of arguments that can be passed around
oCgrpc_channel_element
oCgrpc_channel_filter
oCgrpc_channel_security_connector
oCgrpc_channel_stack
oCgrpc_chttp2_data_parser
oCgrpc_chttp2_goaway_parser
oCgrpc_chttp2_hpack_compressor
oCgrpc_chttp2_hpack_parser
oCgrpc_chttp2_hpack_parser_string
oCgrpc_chttp2_hptbl
oCgrpc_chttp2_hptbl_find_result
oCgrpc_chttp2_huffsym
oCgrpc_chttp2_incoming_metadata_buffer
oCgrpc_chttp2_incoming_metadata_live_op_buffer
oCgrpc_chttp2_outstanding_ping
oCgrpc_chttp2_ping_parser
oCgrpc_chttp2_rst_stream_parser
oCgrpc_chttp2_setting_parameters
oCgrpc_chttp2_settings_parser
oCgrpc_chttp2_stream
oCgrpc_chttp2_stream_global
oCgrpc_chttp2_stream_link
oCgrpc_chttp2_stream_list
oCgrpc_chttp2_stream_map
oCgrpc_chttp2_stream_parsing
oCgrpc_chttp2_stream_writing
oCgrpc_chttp2_transport
oCgrpc_chttp2_transport_global
oCgrpc_chttp2_transport_parsing
oCgrpc_chttp2_transport_writing
oCgrpc_chttp2_window_update_parser
oCgrpc_client_config
oCgrpc_client_security_context
oCgrpc_completion_queue
oCgrpc_composite_credentials
oCgrpc_composite_credentials_metadata_context
oCgrpc_connect_in_args
oCgrpc_connect_out_args
oCgrpc_connectivity_state_tracker
oCgrpc_connectivity_state_watcher
oCgrpc_connector
oCgrpc_connector_vtable
oCgrpc_cq_completion
oCgrpc_credentials
oCgrpc_credentials_array
oCgrpc_credentials_md
oCgrpc_credentials_md_store
oCgrpc_credentials_metadata_request
oCgrpc_credentials_vtable
oCgrpc_endpoint
oCgrpc_endpoint_pair
oCgrpc_endpoint_vtable
oCgrpc_eventThe result of an operation
oCgrpc_fake_channel_security_connector
oCgrpc_fake_oauth2_credentials
oCgrpc_fd
oCgrpc_fd_watcher
oCgrpc_httpcli_context
oCgrpc_httpcli_header
oCgrpc_httpcli_parser
oCgrpc_httpcli_request
oCgrpc_httpcli_response
oCgrpc_httpcli_ssl_channel_security_connector
oCgrpc_iam_credentials
oCgrpc_iomgr_closureA closure over a grpc_iomgr_cb_func
oCgrpc_iomgr_object
oCgrpc_ioreq
oCgrpc_ioreq_data
oCgrpc_json
oCgrpc_json_reader
oCgrpc_json_reader_vtable
oCgrpc_json_writer
oCgrpc_json_writer_vtable
oCgrpc_jwt_claims
oCgrpc_jwt_verifier
oCgrpc_jwt_verifier_email_domain_key_url_mapping
oCgrpc_kick_fd_info
oCgrpc_lb_policy
oCgrpc_lb_policy_vtable
oCgrpc_linked_mdelem
oCgrpc_mdctx
oCgrpc_mdelem
oCgrpc_mdelem_list
oCgrpc_mdstr
oCgrpc_metadataA single metadata element
oCgrpc_metadata_array
oCgrpc_metadata_batch
oCgrpc_oauth2_token_fetcher_credentials
oCgrpc_opOperation data: one field for each op type (except SEND_CLOSE_FROM_CLIENT which has no arguments)
oCgrpc_pollset
oCgrpc_pollset_kick_state
oCgrpc_pollset_set
oCgrpc_pollset_vtable
oCgrpc_precise_clock
oCgrpc_refresh_token_credentials
oCgrpc_resolved_address
oCgrpc_resolved_addresses
oCgrpc_resolverGrpc_resolver provides grpc_client_config objects to grpc_channel objects
oCgrpc_resolver_factoryGrpc_resolver provides grpc_client_config objects to grpc_channel objects
oCgrpc_resolver_factory_vtable
oCgrpc_resolver_vtable
oCgrpc_secure_transport_setup
oCgrpc_security_connector
oCgrpc_security_connector_vtable
oCgrpc_server
oCgrpc_server_credentials
oCgrpc_server_credentials_vtable
oCgrpc_server_secure_state
oCgrpc_server_security_context
oCgrpc_service_account_credentials
oCgrpc_service_account_jwt_access_credentials
oCgrpc_ssl_channel_security_connector
oCgrpc_ssl_config
oCgrpc_ssl_credentials
oCgrpc_ssl_pem_key_cert_pair
oCgrpc_ssl_server_config
oCgrpc_ssl_server_credentials
oCgrpc_ssl_server_security_connector
oCgrpc_stream_op
oCgrpc_stream_op_bufferA stream op buffer is a wrapper around stream operations that is dynamically extendable
oCgrpc_subchannel
oCgrpc_subchannel_args
oCgrpc_subchannel_call
oCgrpc_subchannel_factoryConstructor for new configured channels
oCgrpc_subchannel_factory_vtable
oCgrpc_time_averaged_stats
oCgrpc_transport
oCgrpc_transport_opTransport op: a set of operations to perform on a transport as a whole
oCgrpc_transport_stream_op
oCgrpc_transport_vtable
oCgrpc_uri
oCgrpc_wakeup_fd_info
oCgrpc_wakeup_fd_vtable
oCgrpc_winsocket
oCgrpc_winsocket_callback_info
oChuff_out
oCinternal_metadata
oCinternal_request
oCinternal_string
oCjose_header
oCjson_reader_userdata
oCjson_writer_userdata
oClb_policy_connectivity_watcherWe create one watcher for each new lb_policy that is returned from a resolver, to watch for state changes from the lb_policy
oClistener
oClockfree_node
oClockfree_node_contents
oCmalloc_refcount
oCmerge_args_factory
oCnew_slice_refcount
oCnew_with_len_slice_refcount
oCpending_pick
oCpick_first_lb_policy
oCreceived_status
oCregistered_call
oCregistered_method
oCregistered_resolver
oCreqinfo_master
oCrequest_killer
oCrequest_matcher
oCrequested_call
oCsecure_endpoint
oCshard_type
oCshutdown_cleanup_args
oCshutdown_tag
oCsockaddr_resolver
oCstate_watcher
oCsubchannel_factory
oCtcp_endpoint_list
oCtracer
oCtsi_fake_frame
oCtsi_fake_frame_protector
oCtsi_fake_handshaker
oCtsi_frame_protector
oCtsi_frame_protector_vtable
oCtsi_handshaker
oCtsi_handshaker_vtable
oCtsi_peer
oCtsi_peer_property
oCtsi_ssl_client_handshaker_factory
oCtsi_ssl_frame_protector
oCtsi_ssl_handshaker
oCtsi_ssl_handshaker_factory
oCtsi_ssl_server_handshaker_factory
oCverifier_cb_ctx
oCwaiting_call
\Cwaiting_for_connect
+
+
+ + + + diff --git a/doc/ref/core.internal/html/atm_8h.html b/doc/ref/core.internal/html/atm_8h.html new file mode 100644 index 0000000000..b3ad30f705 --- /dev/null +++ b/doc/ref/core.internal/html/atm_8h.html @@ -0,0 +1,102 @@ + + + + + + +GRPC Core: include/grpc/support/atm.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
atm.h File Reference
+
+ + + + + diff --git a/doc/ref/core.internal/html/atm_8h_source.html b/doc/ref/core.internal/html/atm_8h_source.html new file mode 100644 index 0000000000..7cfe4b08e2 --- /dev/null +++ b/doc/ref/core.internal/html/atm_8h_source.html @@ -0,0 +1,195 @@ + + + + + + +GRPC Core: include/grpc/support/atm.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
atm.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPC_SUPPORT_ATM_H
+
35 #define GRPC_SUPPORT_ATM_H
+
36 
+
37 /* This interface provides atomic operations and barriers.
+
38  It is internal to gpr support code and should not be used outside it.
+
39 
+
40  If an operation with acquire semantics precedes another memory access by the
+
41  same thread, the operation will precede that other access as seen by other
+
42  threads.
+
43 
+
44  If an operation with release semantics follows another memory access by the
+
45  same thread, the operation will follow that other access as seen by other
+
46  threads.
+
47 
+
48  Routines with "acq" or "full" in the name have acquire semantics. Routines
+
49  with "rel" or "full" in the name have release semantics. Routines with
+
50  "no_barrier" in the name have neither acquire not release semantics.
+
51 
+
52  The routines may be implemented as macros.
+
53 
+
54  // Atomic operations act on an intergral_type gpr_atm that is guaranteed to
+
55  // be the same size as a pointer.
+
56  typedef gpr_intptr gpr_atm;
+
57 
+
58  // A memory barrier, providing both acquire and release semantics, but not
+
59  // otherwise acting on memory.
+
60  void gpr_atm_full_barrier(void);
+
61 
+
62  // Atomically return *p, with acquire semantics.
+
63  gpr_atm gpr_atm_acq_load(gpr_atm *p);
+
64 
+
65  // Atomically set *p = value, with release semantics.
+
66  void gpr_atm_rel_store(gpr_atm *p, gpr_atm value);
+
67 
+
68  // Atomically add delta to *p, and return the old value of *p, with
+
69  // the barriers specified.
+
70  gpr_atm gpr_atm_no_barrier_fetch_add(gpr_atm *p, gpr_atm delta);
+
71  gpr_atm gpr_atm_full_fetch_add(gpr_atm *p, gpr_atm delta);
+
72 
+
73  // Atomically, if *p==o, set *p=n and return non-zero otherwise return 0,
+
74  // with the barriers specified if the operation succeeds.
+
75  int gpr_atm_no_barrier_cas(gpr_atm *p, gpr_atm o, gpr_atm n);
+
76  int gpr_atm_acq_cas(gpr_atm *p, gpr_atm o, gpr_atm n);
+
77  int gpr_atm_rel_cas(gpr_atm *p, gpr_atm o, gpr_atm n);
+
78 */
+
79 
+ +
81 
+
82 #if defined(GPR_GCC_ATOMIC)
+ +
84 #elif defined(GPR_GCC_SYNC)
+ +
86 #elif defined(GPR_WIN32_ATOMIC)
+
87 #include <grpc/support/atm_win32.h>
+
88 #else
+
89 #error could not determine platform for atm
+
90 #endif
+
91 
+
92 #endif /* GRPC_SUPPORT_ATM_H */
+ + + + +
+ + + + diff --git a/doc/ref/core.internal/html/atm__gcc__atomic_8h.html b/doc/ref/core.internal/html/atm__gcc__atomic_8h.html new file mode 100644 index 0000000000..fe86186f00 --- /dev/null +++ b/doc/ref/core.internal/html/atm__gcc__atomic_8h.html @@ -0,0 +1,293 @@ + + + + + + +GRPC Core: include/grpc/support/atm_gcc_atomic.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
atm_gcc_atomic.h File Reference
+
+
+ +

Go to the source code of this file.

+ + + + + + + + + + + + + + + + +

+Macros

#define gpr_atm_full_barrier()   (__atomic_thread_fence(__ATOMIC_SEQ_CST))
 
#define gpr_atm_acq_load(p)   (__atomic_load_n((p), __ATOMIC_ACQUIRE))
 
#define gpr_atm_no_barrier_load(p)   (__atomic_load_n((p), __ATOMIC_RELAXED))
 
#define gpr_atm_rel_store(p, value)   (__atomic_store_n((p), (gpr_intptr)(value), __ATOMIC_RELEASE))
 
#define gpr_atm_no_barrier_store(p, value)   (__atomic_store_n((p), (gpr_intptr)(value), __ATOMIC_RELAXED))
 
#define gpr_atm_no_barrier_fetch_add(p, delta)   (__atomic_fetch_add((p), (gpr_intptr)(delta), __ATOMIC_RELAXED))
 
#define gpr_atm_full_fetch_add(p, delta)   (__atomic_fetch_add((p), (gpr_intptr)(delta), __ATOMIC_ACQ_REL))
 
+ + + +

+Typedefs

typedef gpr_intptr gpr_atm
 
+

Macro Definition Documentation

+ +
+
+ + + + + + + + +
#define gpr_atm_acq_load( p)   (__atomic_load_n((p), __ATOMIC_ACQUIRE))
+
+ +
+
+ +
+
+ + + + + + + +
#define gpr_atm_full_barrier()   (__atomic_thread_fence(__ATOMIC_SEQ_CST))
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
#define gpr_atm_full_fetch_add( p,
 delta 
)   (__atomic_fetch_add((p), (gpr_intptr)(delta), __ATOMIC_ACQ_REL))
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
#define gpr_atm_no_barrier_fetch_add( p,
 delta 
)   (__atomic_fetch_add((p), (gpr_intptr)(delta), __ATOMIC_RELAXED))
+
+ +
+
+ +
+
+ + + + + + + + +
#define gpr_atm_no_barrier_load( p)   (__atomic_load_n((p), __ATOMIC_RELAXED))
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
#define gpr_atm_no_barrier_store( p,
 value 
)   (__atomic_store_n((p), (gpr_intptr)(value), __ATOMIC_RELAXED))
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
#define gpr_atm_rel_store( p,
 value 
)   (__atomic_store_n((p), (gpr_intptr)(value), __ATOMIC_RELEASE))
+
+ +
+
+

Typedef Documentation

+ +
+
+ + + + +
typedef gpr_intptr gpr_atm
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/atm__gcc__atomic_8h_source.html b/doc/ref/core.internal/html/atm__gcc__atomic_8h_source.html new file mode 100644 index 0000000000..ac370067f2 --- /dev/null +++ b/doc/ref/core.internal/html/atm__gcc__atomic_8h_source.html @@ -0,0 +1,177 @@ + + + + + + +GRPC Core: include/grpc/support/atm_gcc_atomic.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
atm_gcc_atomic.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPC_SUPPORT_ATM_GCC_ATOMIC_H
+
35 #define GRPC_SUPPORT_ATM_GCC_ATOMIC_H
+
36 
+
37 /* atm_platform.h for gcc and gcc-like compilers with the
+
38  __atomic_* interface. */
+ +
40 
+ +
42 
+
43 #define gpr_atm_full_barrier() (__atomic_thread_fence(__ATOMIC_SEQ_CST))
+
44 
+
45 #define gpr_atm_acq_load(p) (__atomic_load_n((p), __ATOMIC_ACQUIRE))
+
46 #define gpr_atm_no_barrier_load(p) (__atomic_load_n((p), __ATOMIC_RELAXED))
+
47 #define gpr_atm_rel_store(p, value) \
+
48  (__atomic_store_n((p), (gpr_intptr)(value), __ATOMIC_RELEASE))
+
49 #define gpr_atm_no_barrier_store(p, value) \
+
50  (__atomic_store_n((p), (gpr_intptr)(value), __ATOMIC_RELAXED))
+
51 
+
52 #define gpr_atm_no_barrier_fetch_add(p, delta) \
+
53  (__atomic_fetch_add((p), (gpr_intptr)(delta), __ATOMIC_RELAXED))
+
54 #define gpr_atm_full_fetch_add(p, delta) \
+
55  (__atomic_fetch_add((p), (gpr_intptr)(delta), __ATOMIC_ACQ_REL))
+
56 
+
57 static __inline int gpr_atm_no_barrier_cas(gpr_atm *p, gpr_atm o, gpr_atm n) {
+
58  return __atomic_compare_exchange_n(p, &o, n, 0, __ATOMIC_RELAXED,
+
59  __ATOMIC_RELAXED);
+
60 }
+
61 
+
62 static __inline int gpr_atm_acq_cas(gpr_atm *p, gpr_atm o, gpr_atm n) {
+
63  return __atomic_compare_exchange_n(p, &o, n, 0, __ATOMIC_ACQUIRE,
+
64  __ATOMIC_RELAXED);
+
65 }
+
66 
+
67 static __inline int gpr_atm_rel_cas(gpr_atm *p, gpr_atm o, gpr_atm n) {
+
68  return __atomic_compare_exchange_n(p, &o, n, 0, __ATOMIC_RELEASE,
+
69  __ATOMIC_RELAXED);
+
70 }
+
71 
+
72 #endif /* GRPC_SUPPORT_ATM_GCC_ATOMIC_H */
+ +
intptr_t gpr_intptr
Definition: port_platform.h:312
+
#define gpr_atm_acq_cas(p, o, n)
Definition: atm_gcc_sync.h:84
+
#define gpr_atm_no_barrier_cas(p, o, n)
Definition: atm_gcc_sync.h:83
+
#define gpr_atm_rel_cas(p, o, n)
Definition: atm_gcc_sync.h:85
+
gpr_intptr gpr_atm
Definition: atm_gcc_atomic.h:41
+
+ + + + diff --git a/doc/ref/core.internal/html/atm__gcc__sync_8h.html b/doc/ref/core.internal/html/atm__gcc__sync_8h.html new file mode 100644 index 0000000000..80a174c5c0 --- /dev/null +++ b/doc/ref/core.internal/html/atm__gcc__sync_8h.html @@ -0,0 +1,337 @@ + + + + + + +GRPC Core: include/grpc/support/atm_gcc_sync.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
atm_gcc_sync.h File Reference
+
+
+ +

Go to the source code of this file.

+ + + + + + + + + + + + + + + + + + +

+Macros

#define GPR_ATM_COMPILE_BARRIER_()   __asm__ __volatile__("" : : : "memory")
 
#define GPR_ATM_LS_BARRIER_()   gpr_atm_full_barrier()
 
#define gpr_atm_full_barrier()   (__sync_synchronize())
 
#define gpr_atm_no_barrier_fetch_add(p, delta)   gpr_atm_full_fetch_add((p), (delta))
 
#define gpr_atm_full_fetch_add(p, delta)   (__sync_fetch_and_add((p), (delta)))
 
#define gpr_atm_no_barrier_cas(p, o, n)   gpr_atm_acq_cas((p), (o), (n))
 
#define gpr_atm_acq_cas(p, o, n)   (__sync_bool_compare_and_swap((p), (o), (n)))
 
#define gpr_atm_rel_cas(p, o, n)   gpr_atm_acq_cas((p), (o), (n))
 
+ + + +

+Typedefs

typedef gpr_intptr gpr_atm
 
+

Macro Definition Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
#define gpr_atm_acq_cas( p,
 o,
 
)   (__sync_bool_compare_and_swap((p), (o), (n)))
+
+ +
+
+ +
+
+ + + + + + + +
#define GPR_ATM_COMPILE_BARRIER_()   __asm__ __volatile__("" : : : "memory")
+
+ +
+
+ +
+
+ + + + + + + +
#define gpr_atm_full_barrier()   (__sync_synchronize())
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
#define gpr_atm_full_fetch_add( p,
 delta 
)   (__sync_fetch_and_add((p), (delta)))
+
+ +
+
+ +
+
+ + + + + + + +
#define GPR_ATM_LS_BARRIER_()   gpr_atm_full_barrier()
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
#define gpr_atm_no_barrier_cas( p,
 o,
 
)   gpr_atm_acq_cas((p), (o), (n))
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
#define gpr_atm_no_barrier_fetch_add( p,
 delta 
)   gpr_atm_full_fetch_add((p), (delta))
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
#define gpr_atm_rel_cas( p,
 o,
 
)   gpr_atm_acq_cas((p), (o), (n))
+
+ +
+
+

Typedef Documentation

+ +
+
+ + + + +
typedef gpr_intptr gpr_atm
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/atm__gcc__sync_8h_source.html b/doc/ref/core.internal/html/atm__gcc__sync_8h_source.html new file mode 100644 index 0000000000..94344f76f5 --- /dev/null +++ b/doc/ref/core.internal/html/atm__gcc__sync_8h_source.html @@ -0,0 +1,197 @@ + + + + + + +GRPC Core: include/grpc/support/atm_gcc_sync.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
atm_gcc_sync.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPC_SUPPORT_ATM_GCC_SYNC_H
+
35 #define GRPC_SUPPORT_ATM_GCC_SYNC_H
+
36 
+
37 /* variant of atm_platform.h for gcc and gcc-like compiers with __sync_*
+
38  interface */
+ +
40 
+ +
42 
+
43 #define GPR_ATM_COMPILE_BARRIER_() __asm__ __volatile__("" : : : "memory")
+
44 
+
45 #if defined(__i386) || defined(__x86_64__)
+
46 /* All loads are acquire loads and all stores are release stores. */
+
47 #define GPR_ATM_LS_BARRIER_() GPR_ATM_COMPILE_BARRIER_()
+
48 #else
+
49 #define GPR_ATM_LS_BARRIER_() gpr_atm_full_barrier()
+
50 #endif
+
51 
+
52 #define gpr_atm_full_barrier() (__sync_synchronize())
+
53 
+
54 static __inline gpr_atm gpr_atm_acq_load(const gpr_atm *p) {
+
55  gpr_atm value = *p;
+ +
57  return value;
+
58 }
+
59 
+
60 static __inline gpr_atm gpr_atm_no_barrier_load(const gpr_atm *p) {
+
61  gpr_atm value = *p;
+ +
63  return value;
+
64 }
+
65 
+
66 static __inline void gpr_atm_rel_store(gpr_atm *p, gpr_atm value) {
+ +
68  *p = value;
+
69 }
+
70 
+
71 static __inline void gpr_atm_no_barrier_store(gpr_atm *p, gpr_atm value) {
+ +
73  *p = value;
+
74 }
+
75 
+
76 #undef GPR_ATM_LS_BARRIER_
+
77 #undef GPR_ATM_COMPILE_BARRIER_
+
78 
+
79 #define gpr_atm_no_barrier_fetch_add(p, delta) \
+
80  gpr_atm_full_fetch_add((p), (delta))
+
81 #define gpr_atm_full_fetch_add(p, delta) (__sync_fetch_and_add((p), (delta)))
+
82 
+
83 #define gpr_atm_no_barrier_cas(p, o, n) gpr_atm_acq_cas((p), (o), (n))
+
84 #define gpr_atm_acq_cas(p, o, n) (__sync_bool_compare_and_swap((p), (o), (n)))
+
85 #define gpr_atm_rel_cas(p, o, n) gpr_atm_acq_cas((p), (o), (n))
+
86 
+
87 #endif /* GRPC_SUPPORT_ATM_GCC_SYNC_H */
+
const char * value
Definition: hpack_table.c:44
+ +
intptr_t gpr_intptr
Definition: port_platform.h:312
+
#define GPR_ATM_LS_BARRIER_()
Definition: atm_gcc_sync.h:49
+
#define GPR_ATM_COMPILE_BARRIER_()
Definition: atm_gcc_sync.h:43
+
#define gpr_atm_acq_load(p)
Definition: atm_gcc_atomic.h:45
+
#define gpr_atm_no_barrier_load(p)
Definition: atm_gcc_atomic.h:46
+
gpr_intptr gpr_atm
Definition: atm_gcc_sync.h:41
+
#define gpr_atm_no_barrier_store(p, value)
Definition: atm_gcc_atomic.h:49
+
#define gpr_atm_rel_store(p, value)
Definition: atm_gcc_atomic.h:47
+
gpr_intptr gpr_atm
Definition: atm_gcc_atomic.h:41
+
+ + + + diff --git a/doc/ref/core.internal/html/atm__win32_8h.html b/doc/ref/core.internal/html/atm__win32_8h.html new file mode 100644 index 0000000000..fb6f677fd8 --- /dev/null +++ b/doc/ref/core.internal/html/atm__win32_8h.html @@ -0,0 +1,142 @@ + + + + + + +GRPC Core: include/grpc/support/atm_win32.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
atm_win32.h File Reference
+
+
+ +

Go to the source code of this file.

+ + + + +

+Macros

#define gpr_atm_full_barrier   MemoryBarrier
 
+ + + +

+Typedefs

typedef gpr_intptr gpr_atm
 
+

Macro Definition Documentation

+ +
+
+ + + + +
#define gpr_atm_full_barrier   MemoryBarrier
+
+ +
+
+

Typedef Documentation

+ +
+
+ + + + +
typedef gpr_intptr gpr_atm
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/atm__win32_8h_source.html b/doc/ref/core.internal/html/atm__win32_8h_source.html new file mode 100644 index 0000000000..905ef11021 --- /dev/null +++ b/doc/ref/core.internal/html/atm__win32_8h_source.html @@ -0,0 +1,240 @@ + + + + + + +GRPC Core: include/grpc/support/atm_win32.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
atm_win32.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPC_SUPPORT_ATM_WIN32_H
+
35 #define GRPC_SUPPORT_ATM_WIN32_H
+
36 
+
37 /* Win32 variant of atm_platform.h */
+ +
39 
+ +
41 
+
42 #define gpr_atm_full_barrier MemoryBarrier
+
43 
+
44 static __inline gpr_atm gpr_atm_acq_load(const gpr_atm *p) {
+
45  gpr_atm result = *p;
+ +
47  return result;
+
48 }
+
49 
+
50 static __inline gpr_atm gpr_atm_no_barrier_load(const gpr_atm *p) {
+
51  /* TODO(dklempner): Can we implement something better here? */
+
52  return gpr_atm_acq_load(p);
+
53 }
+
54 
+
55 static __inline void gpr_atm_rel_store(gpr_atm *p, gpr_atm value) {
+ +
57  *p = value;
+
58 }
+
59 
+
60 static __inline void gpr_atm_no_barrier_store(gpr_atm *p, gpr_atm value) {
+
61  /* TODO(ctiller): Can we implement something better here? */
+
62  gpr_atm_rel_store(p, value);
+
63 }
+
64 
+
65 static __inline int gpr_atm_no_barrier_cas(gpr_atm *p, gpr_atm o, gpr_atm n) {
+
66 /* InterlockedCompareExchangePointerNoFence() not available on vista or
+
67  windows7 */
+
68 #ifdef GPR_ARCH_64
+
69  return o == (gpr_atm)InterlockedCompareExchangeAcquire64((volatile LONGLONG *) p,
+
70  (LONGLONG) n, (LONGLONG) o);
+
71 #else
+
72  return o == (gpr_atm)InterlockedCompareExchangeAcquire((volatile LONG *) p,
+
73  (LONG) n, (LONG) o);
+
74 #endif
+
75 }
+
76 
+
77 static __inline int gpr_atm_acq_cas(gpr_atm *p, gpr_atm o, gpr_atm n) {
+
78 #ifdef GPR_ARCH_64
+
79  return o == (gpr_atm)InterlockedCompareExchangeAcquire64((volatile LONGLONG *) p,
+
80  (LONGLONG) n, (LONGLONG) o);
+
81 #else
+
82  return o == (gpr_atm)InterlockedCompareExchangeAcquire((volatile LONG *) p,
+
83  (LONG) n, (LONG) o);
+
84 #endif
+
85 }
+
86 
+
87 static __inline int gpr_atm_rel_cas(gpr_atm *p, gpr_atm o, gpr_atm n) {
+
88 #ifdef GPR_ARCH_64
+
89  return o == (gpr_atm)InterlockedCompareExchangeRelease64((volatile LONGLONG *) p,
+
90  (LONGLONG) n, (LONGLONG) o);
+
91 #else
+
92  return o == (gpr_atm)InterlockedCompareExchangeRelease((volatile LONG *) p,
+
93  (LONG) n, (LONG) o);
+
94 #endif
+
95 }
+
96 
+ +
98  gpr_atm delta) {
+
99  /* Use the CAS operation to get pointer-sized fetch and add */
+
100  gpr_atm old;
+
101  do {
+
102  old = *p;
+
103  } while (!gpr_atm_no_barrier_cas(p, old, old + delta));
+
104  return old;
+
105 }
+
106 
+
107 static __inline gpr_atm gpr_atm_full_fetch_add(gpr_atm *p, gpr_atm delta) {
+
108  /* Use a CAS operation to get pointer-sized fetch and add */
+
109  gpr_atm old;
+
110 #ifdef GPR_ARCH_64
+
111  do {
+
112  old = *p;
+
113  } while (old != (gpr_atm)InterlockedCompareExchange64((volatile LONGLONG *) p,
+
114  (LONGLONG) old + delta,
+
115  (LONGLONG) old));
+
116 #else
+
117  do {
+
118  old = *p;
+
119  } while (old != (gpr_atm)InterlockedCompareExchange((volatile LONG *) p,
+
120  (LONG) old + delta,
+
121  (LONG) old));
+
122 #endif
+
123  return old;
+
124 }
+
125 
+
126 #endif /* GRPC_SUPPORT_ATM_WIN32_H */
+
const char * value
Definition: hpack_table.c:44
+ +
intptr_t gpr_intptr
Definition: port_platform.h:312
+
#define gpr_atm_no_barrier_fetch_add(p, delta)
Definition: atm_gcc_atomic.h:52
+
#define gpr_atm_acq_load(p)
Definition: atm_gcc_atomic.h:45
+
#define gpr_atm_no_barrier_load(p)
Definition: atm_gcc_atomic.h:46
+
#define gpr_atm_acq_cas(p, o, n)
Definition: atm_gcc_sync.h:84
+
#define gpr_atm_full_fetch_add(p, delta)
Definition: atm_gcc_atomic.h:54
+
#define gpr_atm_no_barrier_store(p, value)
Definition: atm_gcc_atomic.h:49
+
#define gpr_atm_rel_store(p, value)
Definition: atm_gcc_atomic.h:47
+
#define gpr_atm_no_barrier_cas(p, o, n)
Definition: atm_gcc_sync.h:83
+
#define gpr_atm_rel_cas(p, o, n)
Definition: atm_gcc_sync.h:85
+
gpr_intptr gpr_atm
Definition: atm_win32.h:40
+
gpr_intptr gpr_atm
Definition: atm_gcc_atomic.h:41
+
#define gpr_atm_full_barrier
Definition: atm_win32.h:42
+
+ + + + diff --git a/doc/ref/core.internal/html/auth__filters_8h.html b/doc/ref/core.internal/html/auth__filters_8h.html new file mode 100644 index 0000000000..8bd3b1124c --- /dev/null +++ b/doc/ref/core.internal/html/auth__filters_8h.html @@ -0,0 +1,137 @@ + + + + + + +GRPC Core: src/core/security/auth_filters.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
auth_filters.h File Reference
+
+
+ +

Go to the source code of this file.

+ + + + + + +

+Variables

const grpc_channel_filter grpc_client_auth_filter
 
const grpc_channel_filter grpc_server_auth_filter
 
+

Variable Documentation

+ +
+
+ + + + +
const grpc_channel_filter grpc_client_auth_filter
+
+ +
+
+ +
+
+ + + + +
const grpc_channel_filter grpc_server_auth_filter
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/auth__filters_8h_source.html b/doc/ref/core.internal/html/auth__filters_8h_source.html new file mode 100644 index 0000000000..2488272922 --- /dev/null +++ b/doc/ref/core.internal/html/auth__filters_8h_source.html @@ -0,0 +1,145 @@ + + + + + + +GRPC Core: src/core/security/auth_filters.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
auth_filters.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPC_INTERNAL_CORE_SECURITY_AUTH_FILTERS_H
+
35 #define GRPC_INTERNAL_CORE_SECURITY_AUTH_FILTERS_H
+
36 
+ +
38 
+ + +
41 
+
42 #endif /* GRPC_INTERNAL_CORE_SECURITY_AUTH_FILTERS_H */
+
Definition: channel_stack.h:64
+ +
const grpc_channel_filter grpc_client_auth_filter
Definition: client_auth_filter.c:346
+
const grpc_channel_filter grpc_server_auth_filter
Definition: server_auth_filter.c:122
+
+ + + + diff --git a/doc/ref/core.internal/html/base64_8c.html b/doc/ref/core.internal/html/base64_8c.html new file mode 100644 index 0000000000..e90fe234c3 --- /dev/null +++ b/doc/ref/core.internal/html/base64_8c.html @@ -0,0 +1,274 @@ + + + + + + +GRPC Core: src/core/security/base64.c File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
base64.c File Reference
+
+
+
#include "src/core/security/base64.h"
+#include <string.h>
+#include <grpc/support/alloc.h>
+#include <grpc/support/log.h>
+#include <grpc/support/useful.h>
+
+ + + + + + + + + +

+Macros

#define GRPC_BASE64_PAD_CHAR   '='
 
#define GRPC_BASE64_PAD_BYTE   0x7F
 
#define GRPC_BASE64_MULTILINE_LINE_LEN   76
 
#define GRPC_BASE64_MULTILINE_NUM_BLOCKS   (GRPC_BASE64_MULTILINE_LINE_LEN / 4)
 
+ + + + + + + +

+Functions

char * grpc_base64_encode (const void *vdata, size_t data_size, int url_safe, int multiline)
 
gpr_slice grpc_base64_decode (const char *b64, int url_safe)
 
gpr_slice grpc_base64_decode_with_len (const char *b64, size_t b64_len, int url_safe)
 
+

Macro Definition Documentation

+ +
+
+ + + + +
#define GRPC_BASE64_MULTILINE_LINE_LEN   76
+
+ +
+
+ +
+
+ + + + +
#define GRPC_BASE64_MULTILINE_NUM_BLOCKS   (GRPC_BASE64_MULTILINE_LINE_LEN / 4)
+
+ +
+
+ +
+
+ + + + +
#define GRPC_BASE64_PAD_BYTE   0x7F
+
+ +
+
+ +
+
+ + + + +
#define GRPC_BASE64_PAD_CHAR   '='
+
+ +
+
+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
gpr_slice grpc_base64_decode (const char * b64,
int url_safe 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
gpr_slice grpc_base64_decode_with_len (const char * b64,
size_t b64_len,
int url_safe 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
char* grpc_base64_encode (const void * vdata,
size_t data_size,
int url_safe,
int multiline 
)
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/base64_8h.html b/doc/ref/core.internal/html/base64_8h.html new file mode 100644 index 0000000000..893c52b802 --- /dev/null +++ b/doc/ref/core.internal/html/base64_8h.html @@ -0,0 +1,211 @@ + + + + + + +GRPC Core: src/core/security/base64.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
base64.h File Reference
+
+
+ +

Go to the source code of this file.

+ + + + + + + + +

+Functions

char * grpc_base64_encode (const void *data, size_t data_size, int url_safe, int multiline)
 
gpr_slice grpc_base64_decode (const char *b64, int url_safe)
 
gpr_slice grpc_base64_decode_with_len (const char *b64, size_t b64_len, int url_safe)
 
+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
gpr_slice grpc_base64_decode (const char * b64,
int url_safe 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
gpr_slice grpc_base64_decode_with_len (const char * b64,
size_t b64_len,
int url_safe 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
char* grpc_base64_encode (const void * data,
size_t data_size,
int url_safe,
int multiline 
)
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/base64_8h_source.html b/doc/ref/core.internal/html/base64_8h_source.html new file mode 100644 index 0000000000..de94bcc1de --- /dev/null +++ b/doc/ref/core.internal/html/base64_8h_source.html @@ -0,0 +1,156 @@ + + + + + + +GRPC Core: src/core/security/base64.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
base64.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPC_INTERNAL_CORE_SECURITY_BASE64_H
+
35 #define GRPC_INTERNAL_CORE_SECURITY_BASE64_H
+
36 
+
37 #include <grpc/support/slice.h>
+
38 
+
39 /* Encodes data using base64. It is the caller's responsability to free
+
40  the returned char * using gpr_free. Returns NULL on NULL input. */
+
41 char *grpc_base64_encode(const void *data, size_t data_size, int url_safe,
+
42  int multiline);
+
43 
+
44 /* Decodes data according to the base64 specification. Returns an empty
+
45  slice in case of failure. */
+
46 gpr_slice grpc_base64_decode(const char *b64, int url_safe);
+
47 
+
48 /* Same as above except that the length is provided by the caller. */
+
49 gpr_slice grpc_base64_decode_with_len(const char *b64, size_t b64_len,
+
50  int url_safe);
+
51 
+
52 #endif /* GRPC_INTERNAL_CORE_SECURITY_BASE64_H */
+
gpr_slice grpc_base64_decode(const char *b64, int url_safe)
Definition: base64.c:122
+ +
gpr_slice grpc_base64_decode_with_len(const char *b64, size_t b64_len, int url_safe)
Definition: base64.c:183
+
char * grpc_base64_encode(const void *data, size_t data_size, int url_safe, int multiline)
Definition: base64.c:69
+
Definition: slice.h:79
+
+ + + + diff --git a/doc/ref/core.internal/html/basic__timers_8c.html b/doc/ref/core.internal/html/basic__timers_8c.html new file mode 100644 index 0000000000..78969d07d9 --- /dev/null +++ b/doc/ref/core.internal/html/basic__timers_8c.html @@ -0,0 +1,143 @@ + + + + + + +GRPC Core: src/core/profiling/basic_timers.c File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
basic_timers.c File Reference
+
+
+ + + + + + +

+Functions

void grpc_timers_global_init (void)
 
void grpc_timers_global_destroy (void)
 
+

Function Documentation

+ +
+
+ + + + + + + + +
void grpc_timers_global_destroy (void )
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_timers_global_init (void )
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/bc_s.png b/doc/ref/core.internal/html/bc_s.png new file mode 100644 index 0000000000..224b29aa98 Binary files /dev/null and b/doc/ref/core.internal/html/bc_s.png differ diff --git a/doc/ref/core.internal/html/bdwn.png b/doc/ref/core.internal/html/bdwn.png new file mode 100644 index 0000000000..940a0b9504 Binary files /dev/null and b/doc/ref/core.internal/html/bdwn.png differ diff --git a/doc/ref/core.internal/html/bin__encoder_8c.html b/doc/ref/core.internal/html/bin__encoder_8c.html new file mode 100644 index 0000000000..ee0084324e --- /dev/null +++ b/doc/ref/core.internal/html/bin__encoder_8c.html @@ -0,0 +1,200 @@ + + + + + + +GRPC Core: src/core/transport/chttp2/bin_encoder.c File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
bin_encoder.c File Reference
+
+
+ + + + + + +

+Data Structures

struct  b64_huff_sym
 
struct  huff_out
 
+ + + + + + + + + +

+Functions

gpr_slice grpc_chttp2_base64_encode (gpr_slice input)
 
gpr_slice grpc_chttp2_huffman_compress (gpr_slice input)
 
gpr_slice grpc_chttp2_base64_encode_and_huffman_compress (gpr_slice input)
 
int grpc_is_binary_header (const char *key, size_t length)
 
+

Function Documentation

+ +
+
+ + + + + + + + +
gpr_slice grpc_chttp2_base64_encode (gpr_slice input)
+
+ +
+
+ +
+
+ + + + + + + + +
gpr_slice grpc_chttp2_base64_encode_and_huffman_compress (gpr_slice input)
+
+ +
+
+ +
+
+ + + + + + + + +
gpr_slice grpc_chttp2_huffman_compress (gpr_slice input)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
int grpc_is_binary_header (const char * key,
size_t length 
)
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/bin__encoder_8h.html b/doc/ref/core.internal/html/bin__encoder_8h.html new file mode 100644 index 0000000000..d71b52f606 --- /dev/null +++ b/doc/ref/core.internal/html/bin__encoder_8h.html @@ -0,0 +1,191 @@ + + + + + + +GRPC Core: src/core/transport/chttp2/bin_encoder.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
bin_encoder.h File Reference
+
+
+ +

Go to the source code of this file.

+ + + + + + + + + + +

+Functions

gpr_slice grpc_chttp2_base64_encode (gpr_slice input)
 
gpr_slice grpc_chttp2_huffman_compress (gpr_slice input)
 
gpr_slice grpc_chttp2_base64_encode_and_huffman_compress (gpr_slice input)
 
int grpc_is_binary_header (const char *key, size_t length)
 
+

Function Documentation

+ +
+
+ + + + + + + + +
gpr_slice grpc_chttp2_base64_encode (gpr_slice input)
+
+ +
+
+ +
+
+ + + + + + + + +
gpr_slice grpc_chttp2_base64_encode_and_huffman_compress (gpr_slice input)
+
+ +
+
+ +
+
+ + + + + + + + +
gpr_slice grpc_chttp2_huffman_compress (gpr_slice input)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
int grpc_is_binary_header (const char * key,
size_t length 
)
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/bin__encoder_8h_source.html b/doc/ref/core.internal/html/bin__encoder_8h_source.html new file mode 100644 index 0000000000..80f899abc9 --- /dev/null +++ b/doc/ref/core.internal/html/bin__encoder_8h_source.html @@ -0,0 +1,162 @@ + + + + + + +GRPC Core: src/core/transport/chttp2/bin_encoder.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
bin_encoder.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPC_INTERNAL_CORE_TRANSPORT_CHTTP2_BIN_ENCODER_H
+
35 #define GRPC_INTERNAL_CORE_TRANSPORT_CHTTP2_BIN_ENCODER_H
+
36 
+
37 #include <grpc/support/slice.h>
+
38 
+
39 /* base64 encode a slice. Returns a new slice, does not take ownership of the
+
40  input */
+ +
42 
+
43 /* Compress a slice with the static huffman encoder detailed in the hpack
+
44  standard. Returns a new slice, does not take ownership of the input */
+ +
46 
+
47 /* equivalent to:
+
48  gpr_slice x = grpc_chttp2_base64_encode(input);
+
49  gpr_slice y = grpc_chttp2_huffman_compress(x);
+
50  gpr_slice_unref(x);
+
51  return y; */
+ +
53 
+
54 int grpc_is_binary_header(const char *key, size_t length);
+
55 
+
56 #endif /* GRPC_INTERNAL_CORE_TRANSPORT_CHTTP2_BIN_ENCODER_H */
+
gpr_slice grpc_chttp2_base64_encode_and_huffman_compress(gpr_slice input)
Definition: bin_encoder.c:173
+
gpr_slice grpc_chttp2_base64_encode(gpr_slice input)
Definition: bin_encoder.c:64
+
gpr_slice grpc_chttp2_huffman_compress(gpr_slice input)
Definition: bin_encoder.c:108
+
int grpc_is_binary_header(const char *key, size_t length)
Definition: bin_encoder.c:224
+ +
const char * key
Definition: hpack_table.c:43
+
Definition: slice.h:79
+
+ + + + diff --git a/doc/ref/core.internal/html/byte__buffer_8c.html b/doc/ref/core.internal/html/byte__buffer_8c.html new file mode 100644 index 0000000000..4389d60bbc --- /dev/null +++ b/doc/ref/core.internal/html/byte__buffer_8c.html @@ -0,0 +1,265 @@ + + + + + + +GRPC Core: src/core/surface/byte_buffer.c File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
byte_buffer.c File Reference
+
+
+
#include <grpc/byte_buffer.h>
+#include <grpc/support/alloc.h>
+#include <grpc/support/log.h>
+
+ + + + + + + + + + + + + + + + + + + +

+Functions

grpc_byte_buffergrpc_raw_byte_buffer_create (gpr_slice *slices, size_t nslices)
 Returns a RAW byte buffer instance over the given slices (up to nslices). More...
 
grpc_byte_buffergrpc_raw_compressed_byte_buffer_create (gpr_slice *slices, size_t nslices, grpc_compression_algorithm compression)
 Returns a compressed RAW byte buffer instance over the given slices (up to nslices). More...
 
grpc_byte_buffergrpc_raw_byte_buffer_from_reader (grpc_byte_buffer_reader *reader)
 Returns a RAW byte buffer instance from the output of reader. More...
 
grpc_byte_buffergrpc_byte_buffer_copy (grpc_byte_buffer *bb)
 Copies input byte buffer bb. More...
 
void grpc_byte_buffer_destroy (grpc_byte_buffer *bb)
 Destroys byte_buffer deallocating all its memory. More...
 
size_t grpc_byte_buffer_length (grpc_byte_buffer *bb)
 Returns the size of the given byte buffer, in bytes. More...
 
+

Function Documentation

+ +
+
+ + + + + + + + +
grpc_byte_buffer* grpc_byte_buffer_copy (grpc_byte_bufferbb)
+
+ +

Copies input byte buffer bb.

+

Increases the reference count of all the source slices. The user is responsible for calling grpc_byte_buffer_destroy over the returned copy.

+ +
+
+ +
+
+ + + + + + + + +
void grpc_byte_buffer_destroy (grpc_byte_bufferbyte_buffer)
+
+ +

Destroys byte_buffer deallocating all its memory.

+ +
+
+ +
+
+ + + + + + + + +
size_t grpc_byte_buffer_length (grpc_byte_bufferbb)
+
+ +

Returns the size of the given byte buffer, in bytes.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
grpc_byte_buffer* grpc_raw_byte_buffer_create (gpr_sliceslices,
size_t nslices 
)
+
+ +

Returns a RAW byte buffer instance over the given slices (up to nslices).

+

Increases the reference count for all slices processed. The user is responsible for invoking grpc_byte_buffer_destroy on the returned instance.

+ +
+
+ +
+
+ + + + + + + + +
grpc_byte_buffer* grpc_raw_byte_buffer_from_reader (grpc_byte_buffer_readerreader)
+
+ +

Returns a RAW byte buffer instance from the output of reader.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
grpc_byte_buffer* grpc_raw_compressed_byte_buffer_create (gpr_sliceslices,
size_t nslices,
grpc_compression_algorithm compression 
)
+
+ +

Returns a compressed RAW byte buffer instance over the given slices (up to nslices).

+

The compression argument defines the compression algorithm used to generate the data in slices.

+

Increases the reference count for all slices processed. The user is responsible for invoking grpc_byte_buffer_destroy on the returned instance.

+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/byte__buffer_8h.html b/doc/ref/core.internal/html/byte__buffer_8h.html new file mode 100644 index 0000000000..a3871f8b5a --- /dev/null +++ b/doc/ref/core.internal/html/byte__buffer_8h.html @@ -0,0 +1,416 @@ + + + + + + +GRPC Core: include/grpc/byte_buffer.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
byte_buffer.h File Reference
+
+
+ +

Go to the source code of this file.

+ + + + +

+Data Structures

struct  grpc_byte_buffer
 
+ + + + + +

+Typedefs

typedef struct grpc_byte_buffer grpc_byte_buffer
 
typedef struct
+grpc_byte_buffer_reader 
grpc_byte_buffer_reader
 
+ + + +

+Enumerations

enum  grpc_byte_buffer_type { GRPC_BB_RAW + }
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

grpc_byte_buffergrpc_raw_byte_buffer_create (gpr_slice *slices, size_t nslices)
 Returns a RAW byte buffer instance over the given slices (up to nslices). More...
 
grpc_byte_buffergrpc_raw_compressed_byte_buffer_create (gpr_slice *slices, size_t nslices, grpc_compression_algorithm compression)
 Returns a compressed RAW byte buffer instance over the given slices (up to nslices). More...
 
grpc_byte_buffergrpc_byte_buffer_copy (grpc_byte_buffer *bb)
 Copies input byte buffer bb. More...
 
size_t grpc_byte_buffer_length (grpc_byte_buffer *bb)
 Returns the size of the given byte buffer, in bytes. More...
 
void grpc_byte_buffer_destroy (grpc_byte_buffer *byte_buffer)
 Destroys byte_buffer deallocating all its memory. More...
 
void grpc_byte_buffer_reader_init (grpc_byte_buffer_reader *reader, grpc_byte_buffer *buffer)
 Initialize reader to read over buffer. More...
 
void grpc_byte_buffer_reader_destroy (grpc_byte_buffer_reader *reader)
 Cleanup and destroy reader. More...
 
int grpc_byte_buffer_reader_next (grpc_byte_buffer_reader *reader, gpr_slice *slice)
 Updates slice with the next piece of data from from reader and returns. More...
 
grpc_byte_buffergrpc_raw_byte_buffer_from_reader (grpc_byte_buffer_reader *reader)
 Returns a RAW byte buffer instance from the output of reader. More...
 
+

Typedef Documentation

+ +
+
+ + + + +
typedef struct grpc_byte_buffer grpc_byte_buffer
+
+ +
+
+ +
+
+ +
+
+

Enumeration Type Documentation

+ +
+
+ + + + +
enum grpc_byte_buffer_type
+
+ + +
Enumerator
GRPC_BB_RAW  +
+ +
+
+

Function Documentation

+ +
+
+ + + + + + + + +
grpc_byte_buffer* grpc_byte_buffer_copy (grpc_byte_bufferbb)
+
+ +

Copies input byte buffer bb.

+

Increases the reference count of all the source slices. The user is responsible for calling grpc_byte_buffer_destroy over the returned copy.

+ +
+
+ +
+
+ + + + + + + + +
void grpc_byte_buffer_destroy (grpc_byte_bufferbyte_buffer)
+
+ +

Destroys byte_buffer deallocating all its memory.

+ +
+
+ +
+
+ + + + + + + + +
size_t grpc_byte_buffer_length (grpc_byte_bufferbb)
+
+ +

Returns the size of the given byte buffer, in bytes.

+ +
+
+ +
+
+ + + + + + + + +
void grpc_byte_buffer_reader_destroy (grpc_byte_buffer_readerreader)
+
+ +

Cleanup and destroy reader.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void grpc_byte_buffer_reader_init (grpc_byte_buffer_readerreader,
grpc_byte_bufferbuffer 
)
+
+ +

Initialize reader to read over buffer.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
int grpc_byte_buffer_reader_next (grpc_byte_buffer_readerreader,
gpr_sliceslice 
)
+
+ +

Updates slice with the next piece of data from from reader and returns.

+
    +
  1. Returns 0 at the end of the stream. Caller is responsible for calling gpr_slice_unref on the result.
  2. +
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
grpc_byte_buffer* grpc_raw_byte_buffer_create (gpr_sliceslices,
size_t nslices 
)
+
+ +

Returns a RAW byte buffer instance over the given slices (up to nslices).

+

Increases the reference count for all slices processed. The user is responsible for invoking grpc_byte_buffer_destroy on the returned instance.

+ +
+
+ +
+
+ + + + + + + + +
grpc_byte_buffer* grpc_raw_byte_buffer_from_reader (grpc_byte_buffer_readerreader)
+
+ +

Returns a RAW byte buffer instance from the output of reader.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
grpc_byte_buffer* grpc_raw_compressed_byte_buffer_create (gpr_sliceslices,
size_t nslices,
grpc_compression_algorithm compression 
)
+
+ +

Returns a compressed RAW byte buffer instance over the given slices (up to nslices).

+

The compression argument defines the compression algorithm used to generate the data in slices.

+

Increases the reference count for all slices processed. The user is responsible for invoking grpc_byte_buffer_destroy on the returned instance.

+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/byte__buffer_8h_source.html b/doc/ref/core.internal/html/byte__buffer_8h_source.html new file mode 100644 index 0000000000..d4fbcf97f6 --- /dev/null +++ b/doc/ref/core.internal/html/byte__buffer_8h_source.html @@ -0,0 +1,212 @@ + + + + + + +GRPC Core: include/grpc/byte_buffer.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
byte_buffer.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPC_BYTE_BUFFER_H
+
35 #define GRPC_BYTE_BUFFER_H
+
36 
+
37 #include <grpc/compression.h>
+ +
39 
+
40 #ifdef __cplusplus
+
41 extern "C" {
+
42 #endif
+
43 
+
44 typedef enum {
+ +
46  /* Future types may include GRPC_BB_PROTOBUF, etc. */
+ +
48 
+ + +
51  union {
+
52  struct {
+ + +
55  } raw;
+
56  } data;
+
57 };
+ +
59 
+ +
65  size_t nslices);
+
66 
+ +
74  gpr_slice *slices, size_t nslices, grpc_compression_algorithm compression);
+
75 
+ +
81 
+ +
84 
+ +
87 
+ + +
91 
+ +
94  grpc_byte_buffer *buffer);
+
95 
+ +
98 
+ +
103  gpr_slice *slice);
+
104 
+ +
107  grpc_byte_buffer_reader *reader);
+
108 
+
109 #ifdef __cplusplus
+
110 }
+
111 #endif
+
112 
+
113 #endif /* GRPC_BYTE_BUFFER_H */
+ +
grpc_compression_algorithm
Definition: compression.h:45
+
int grpc_byte_buffer_reader_next(grpc_byte_buffer_reader *reader, gpr_slice *slice)
Updates slice with the next piece of data from from reader and returns.
Definition: byte_buffer_reader.c:90
+
union grpc_byte_buffer::@0 data
+
void grpc_byte_buffer_reader_init(grpc_byte_buffer_reader *reader, grpc_byte_buffer *buffer)
Initialize reader to read over buffer.
Definition: byte_buffer_reader.c:56
+
gpr_slice_buffer slice_buffer
Definition: byte_buffer.h:54
+
grpc_byte_buffer_type type
Definition: byte_buffer.h:50
+
Definition: byte_buffer.h:49
+
Definition: slice_buffer.h:48
+
Definition: byte_buffer.h:45
+
grpc_byte_buffer_type
Definition: byte_buffer.h:44
+
void grpc_byte_buffer_destroy(grpc_byte_buffer *byte_buffer)
Destroys byte_buffer deallocating all its memory.
Definition: byte_buffer.c:83
+
grpc_byte_buffer * grpc_raw_compressed_byte_buffer_create(gpr_slice *slices, size_t nslices, grpc_compression_algorithm compression)
Returns a compressed RAW byte buffer instance over the given slices (up to nslices).
Definition: byte_buffer.c:44
+
grpc_byte_buffer * grpc_raw_byte_buffer_from_reader(grpc_byte_buffer_reader *reader)
Returns a RAW byte buffer instance from the output of reader.
Definition: byte_buffer.c:58
+
struct grpc_byte_buffer::@0::@1 raw
+
grpc_compression_algorithm compression
Definition: byte_buffer.h:53
+
void grpc_byte_buffer_reader_destroy(grpc_byte_buffer_reader *reader)
Cleanup and destroy reader.
Definition: byte_buffer_reader.c:79
+
size_t grpc_byte_buffer_length(grpc_byte_buffer *bb)
Returns the size of the given byte buffer, in bytes.
Definition: byte_buffer.c:93
+ +
grpc_byte_buffer * grpc_raw_byte_buffer_create(gpr_slice *slices, size_t nslices)
Returns a RAW byte buffer instance over the given slices (up to nslices).
Definition: byte_buffer.c:38
+
Definition: byte_buffer_reader.h:44
+
Definition: slice.h:79
+
grpc_byte_buffer * grpc_byte_buffer_copy(grpc_byte_buffer *bb)
Copies input byte buffer bb.
Definition: byte_buffer.c:72
+
+ + + + diff --git a/doc/ref/core.internal/html/byte__buffer__queue_8c.html b/doc/ref/core.internal/html/byte__buffer__queue_8c.html new file mode 100644 index 0000000000..44b76ee807 --- /dev/null +++ b/doc/ref/core.internal/html/byte__buffer__queue_8c.html @@ -0,0 +1,227 @@ + + + + + + +GRPC Core: src/core/surface/byte_buffer_queue.c File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
byte_buffer_queue.c File Reference
+
+
+ + + + + + + + + + + + + + +

+Functions

void grpc_bbq_destroy (grpc_byte_buffer_queue *q)
 
int grpc_bbq_empty (grpc_byte_buffer_queue *q)
 
void grpc_bbq_push (grpc_byte_buffer_queue *q, grpc_byte_buffer *buffer)
 
void grpc_bbq_flush (grpc_byte_buffer_queue *q)
 
size_t grpc_bbq_bytes (grpc_byte_buffer_queue *q)
 
grpc_byte_buffergrpc_bbq_pop (grpc_byte_buffer_queue *q)
 
+

Function Documentation

+ +
+
+ + + + + + + + +
size_t grpc_bbq_bytes (grpc_byte_buffer_queueq)
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_bbq_destroy (grpc_byte_buffer_queueq)
+
+ +
+
+ +
+
+ + + + + + + + +
int grpc_bbq_empty (grpc_byte_buffer_queueq)
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_bbq_flush (grpc_byte_buffer_queueq)
+
+ +
+
+ +
+
+ + + + + + + + +
grpc_byte_buffer* grpc_bbq_pop (grpc_byte_buffer_queueq)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void grpc_bbq_push (grpc_byte_buffer_queueq,
grpc_byte_bufferbuffer 
)
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/byte__buffer__queue_8h.html b/doc/ref/core.internal/html/byte__buffer__queue_8h.html new file mode 100644 index 0000000000..ea55c37e09 --- /dev/null +++ b/doc/ref/core.internal/html/byte__buffer__queue_8h.html @@ -0,0 +1,235 @@ + + + + + + +GRPC Core: src/core/surface/byte_buffer_queue.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
byte_buffer_queue.h File Reference
+
+
+
#include <grpc/byte_buffer.h>
+
+

Go to the source code of this file.

+ + + + + + +

+Data Structures

struct  grpc_bbq_array
 
struct  grpc_byte_buffer_queue
 
+ + + + + + + + + + + + + +

+Functions

void grpc_bbq_destroy (grpc_byte_buffer_queue *q)
 
grpc_byte_buffergrpc_bbq_pop (grpc_byte_buffer_queue *q)
 
void grpc_bbq_flush (grpc_byte_buffer_queue *q)
 
int grpc_bbq_empty (grpc_byte_buffer_queue *q)
 
void grpc_bbq_push (grpc_byte_buffer_queue *q, grpc_byte_buffer *bb)
 
size_t grpc_bbq_bytes (grpc_byte_buffer_queue *q)
 
+

Function Documentation

+ +
+
+ + + + + + + + +
size_t grpc_bbq_bytes (grpc_byte_buffer_queueq)
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_bbq_destroy (grpc_byte_buffer_queueq)
+
+ +
+
+ +
+
+ + + + + + + + +
int grpc_bbq_empty (grpc_byte_buffer_queueq)
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_bbq_flush (grpc_byte_buffer_queueq)
+
+ +
+
+ +
+
+ + + + + + + + +
grpc_byte_buffer* grpc_bbq_pop (grpc_byte_buffer_queueq)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void grpc_bbq_push (grpc_byte_buffer_queueq,
grpc_byte_bufferbb 
)
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/byte__buffer__queue_8h_source.html b/doc/ref/core.internal/html/byte__buffer__queue_8h_source.html new file mode 100644 index 0000000000..12d0d9eb20 --- /dev/null +++ b/doc/ref/core.internal/html/byte__buffer__queue_8h_source.html @@ -0,0 +1,178 @@ + + + + + + +GRPC Core: src/core/surface/byte_buffer_queue.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
byte_buffer_queue.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPC_INTERNAL_CORE_SURFACE_BYTE_BUFFER_QUEUE_H
+
35 #define GRPC_INTERNAL_CORE_SURFACE_BYTE_BUFFER_QUEUE_H
+
36 
+
37 #include <grpc/byte_buffer.h>
+
38 
+
39 /* TODO(ctiller): inline an element or two into this struct to avoid per-call
+
40  allocations */
+
41 typedef struct {
+ +
43  size_t count;
+
44  size_t capacity;
+ +
46 
+
47 /* should be initialized by zeroing memory */
+
48 typedef struct {
+
49  size_t drain_pos;
+ + +
52  size_t bytes;
+ +
54 
+ + + + + + +
61 
+
62 #endif /* GRPC_INTERNAL_CORE_SURFACE_BYTE_BUFFER_QUEUE_H */
+
Definition: byte_buffer_queue.h:48
+
size_t count
Definition: byte_buffer_queue.h:43
+ +
grpc_bbq_array filling
Definition: byte_buffer_queue.h:50
+
void grpc_bbq_push(grpc_byte_buffer_queue *q, grpc_byte_buffer *bb)
Definition: byte_buffer_queue.c:64
+
void grpc_bbq_flush(grpc_byte_buffer_queue *q)
Definition: byte_buffer_queue.c:69
+
Definition: byte_buffer.h:49
+
int grpc_bbq_empty(grpc_byte_buffer_queue *q)
Definition: byte_buffer_queue.c:60
+
size_t grpc_bbq_bytes(grpc_byte_buffer_queue *q)
Definition: byte_buffer_queue.c:76
+
Definition: byte_buffer_queue.h:41
+
void grpc_bbq_destroy(grpc_byte_buffer_queue *q)
Definition: byte_buffer_queue.c:55
+
size_t bytes
Definition: byte_buffer_queue.h:52
+
grpc_byte_buffer ** data
Definition: byte_buffer_queue.h:42
+
size_t drain_pos
Definition: byte_buffer_queue.h:49
+
grpc_byte_buffer * grpc_bbq_pop(grpc_byte_buffer_queue *q)
Definition: byte_buffer_queue.c:78
+
size_t capacity
Definition: byte_buffer_queue.h:44
+
grpc_bbq_array draining
Definition: byte_buffer_queue.h:51
+
+ + + + diff --git a/doc/ref/core.internal/html/byte__buffer__reader_8c.html b/doc/ref/core.internal/html/byte__buffer__reader_8c.html new file mode 100644 index 0000000000..4095b36851 --- /dev/null +++ b/doc/ref/core.internal/html/byte__buffer__reader_8c.html @@ -0,0 +1,200 @@ + + + + + + +GRPC Core: src/core/surface/byte_buffer_reader.c File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
byte_buffer_reader.c File Reference
+
+
+ + + + + + + + + + + +

+Functions

void grpc_byte_buffer_reader_init (grpc_byte_buffer_reader *reader, grpc_byte_buffer *buffer)
 Initialize reader to read over buffer. More...
 
void grpc_byte_buffer_reader_destroy (grpc_byte_buffer_reader *reader)
 Cleanup and destroy reader. More...
 
int grpc_byte_buffer_reader_next (grpc_byte_buffer_reader *reader, gpr_slice *slice)
 Updates slice with the next piece of data from from reader and returns. More...
 
+

Function Documentation

+ +
+
+ + + + + + + + +
void grpc_byte_buffer_reader_destroy (grpc_byte_buffer_readerreader)
+
+ +

Cleanup and destroy reader.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void grpc_byte_buffer_reader_init (grpc_byte_buffer_readerreader,
grpc_byte_bufferbuffer 
)
+
+ +

Initialize reader to read over buffer.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
int grpc_byte_buffer_reader_next (grpc_byte_buffer_readerreader,
gpr_sliceslice 
)
+
+ +

Updates slice with the next piece of data from from reader and returns.

+
    +
  1. Returns 0 at the end of the stream. Caller is responsible for calling gpr_slice_unref on the result.
  2. +
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/byte__buffer__reader_8h.html b/doc/ref/core.internal/html/byte__buffer__reader_8h.html new file mode 100644 index 0000000000..7aedcc5238 --- /dev/null +++ b/doc/ref/core.internal/html/byte__buffer__reader_8h.html @@ -0,0 +1,111 @@ + + + + + + +GRPC Core: include/grpc/byte_buffer_reader.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
byte_buffer_reader.h File Reference
+
+
+
#include <grpc/grpc.h>
+#include <grpc/byte_buffer.h>
+
+

Go to the source code of this file.

+ + + + +

+Data Structures

struct  grpc_byte_buffer_reader
 
+
+ + + + diff --git a/doc/ref/core.internal/html/byte__buffer__reader_8h_source.html b/doc/ref/core.internal/html/byte__buffer__reader_8h_source.html new file mode 100644 index 0000000000..cb98285b54 --- /dev/null +++ b/doc/ref/core.internal/html/byte__buffer__reader_8h_source.html @@ -0,0 +1,165 @@ + + + + + + +GRPC Core: include/grpc/byte_buffer_reader.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
byte_buffer_reader.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPC_BYTE_BUFFER_READER_H
+
35 #define GRPC_BYTE_BUFFER_READER_H
+
36 
+
37 #include <grpc/grpc.h>
+
38 #include <grpc/byte_buffer.h>
+
39 
+
40 #ifdef __cplusplus
+
41 extern "C" {
+
42 #endif
+
43 
+ + + +
47  /* Different current objects correspond to different types of byte buffers */
+
48  union {
+
49  /* Index into a slice buffer's array of slices */
+
50  unsigned index;
+
51  } current;
+
52 };
+
53 
+
54 #ifdef __cplusplus
+
55 }
+
56 #endif
+
57 
+
58 #endif /* GRPC_BYTE_BUFFER_READER_H */
+ +
grpc_byte_buffer * buffer_out
Definition: byte_buffer_reader.h:46
+
Definition: byte_buffer.h:49
+
unsigned index
Definition: byte_buffer_reader.h:50
+
union grpc_byte_buffer_reader::@2 current
+
grpc_byte_buffer * buffer_in
Definition: byte_buffer_reader.h:45
+
Definition: byte_buffer_reader.h:44
+ +
+ + + + diff --git a/doc/ref/core.internal/html/call_8c.html b/doc/ref/core.internal/html/call_8c.html new file mode 100644 index 0000000000..6150b09518 --- /dev/null +++ b/doc/ref/core.internal/html/call_8c.html @@ -0,0 +1,954 @@ + + + + + + +GRPC Core: src/core/surface/call.c File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
call.c File Reference
+
+
+
#include <assert.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <grpc/compression.h>
+#include <grpc/support/alloc.h>
+#include <grpc/support/log.h>
+#include <grpc/support/string_util.h>
+#include "src/core/channel/channel_stack.h"
+#include "src/core/iomgr/alarm.h"
+#include "src/core/profiling/timers.h"
+#include "src/core/surface/byte_buffer_queue.h"
+#include "src/core/surface/call.h"
+#include "src/core/surface/channel.h"
+#include "src/core/surface/completion_queue.h"
+
+ + + + + + + + + + + +

+Data Structures

struct  completed_request
 
struct  reqinfo_master
 
struct  received_status
 
struct  grpc_call
 
struct  finished_loose_op_allocated_args
 
+ + + + + + + + + + + + + + + + + + + + + + +

+Macros

#define MAX_CONCURRENT_COMPLETIONS   6
 The maximum number of completions possible. More...
 
#define REQSET_EMPTY   'X'
 
#define REQSET_DONE   'Y'
 
#define MAX_SEND_INITIAL_METADATA_COUNT   3
 
#define CALL_STACK_FROM_CALL(call)   ((grpc_call_stack *)((call) + 1))
 
#define CALL_FROM_CALL_STACK(call_stack)   (((grpc_call *)(call_stack)) - 1)
 
#define CALL_ELEM_FROM_CALL(call, idx)   grpc_call_stack_element(CALL_STACK_FROM_CALL(call), idx)
 
#define CALL_FROM_TOP_ELEM(top_elem)   CALL_FROM_CALL_STACK(grpc_call_stack_from_top_element(top_elem))
 
#define STATUS_OFFSET   1
 
#define COMPRESS_OFFSET   1
 
+ + + + + + + + + + + +

+Enumerations

enum  req_state { REQ_INITIAL = 0, +REQ_READY, +REQ_DONE + }
 
enum  send_action {
+  SEND_NOTHING, +SEND_INITIAL_METADATA, +SEND_BUFFERED_INITIAL_METADATA, +SEND_MESSAGE, +
+  SEND_BUFFERED_MESSAGE, +SEND_TRAILING_METADATA_AND_FINISH, +SEND_FINISH +
+ }
 
enum  status_source {
+  STATUS_FROM_API_OVERRIDE = 0, +STATUS_FROM_CORE, +STATUS_FROM_WIRE, +STATUS_FROM_SERVER_STATUS, +
+  STATUS_SOURCE_COUNT +
+ }
 
enum  read_state { READ_STATE_INITIAL = 0, +READ_STATE_GOT_INITIAL_METADATA, +READ_STATE_READ_CLOSED, +READ_STATE_STREAM_CLOSED + }
 
enum  write_state { WRITE_STATE_INITIAL = 0, +WRITE_STATE_STARTED, +WRITE_STATE_WRITE_CLOSED + }
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

grpc_callgrpc_call_create (grpc_channel *channel, grpc_completion_queue *cq, const void *server_transport_data, grpc_mdelem **add_initial_metadata, size_t add_initial_metadata_count, gpr_timespec send_deadline)
 
void grpc_call_set_completion_queue (grpc_call *call, grpc_completion_queue *cq)
 
grpc_completion_queuegrpc_call_get_completion_queue (grpc_call *call)
 
void grpc_call_internal_ref (grpc_call *c)
 
void grpc_call_internal_unref (grpc_call *c, int allow_immediate_deletion)
 
grpc_compression_algorithm grpc_call_get_compression_algorithm (const grpc_call *call)
 
grpc_call_error grpc_call_start_ioreq_and_call_back (grpc_call *call, const grpc_ioreq *reqs, size_t nreqs, grpc_ioreq_completion_func on_complete, void *user_data)
 
void grpc_call_destroy (grpc_call *c)
 Destroy a call. More...
 
grpc_call_error grpc_call_cancel (grpc_call *call)
 Called by clients to cancel an RPC on the server. More...
 
grpc_call_error grpc_call_cancel_with_status (grpc_call *c, grpc_status_code status, const char *description)
 Called by clients to cancel an RPC on the server. More...
 
char * grpc_call_get_peer (grpc_call *call)
 Returns a newly allocated string representing the endpoint to which this call is communicating with. More...
 
grpc_callgrpc_call_from_top_element (grpc_call_element *elem)
 
grpc_call_stackgrpc_call_get_call_stack (grpc_call *call)
 
grpc_call_error grpc_call_start_batch (grpc_call *call, const grpc_op *ops, size_t nops, void *tag)
 Start a batch of operations defined in the array ops; when complete, post a completion of type 'tag' to the completion queue bound to the call. More...
 
void grpc_call_context_set (grpc_call *call, grpc_context_index elem, void *value, void(*destroy)(void *value))
 
void * grpc_call_context_get (grpc_call *call, grpc_context_index elem)
 
gpr_uint8 grpc_call_is_client (grpc_call *call)
 
+

Macro Definition Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
#define CALL_ELEM_FROM_CALL( call,
 idx 
)   grpc_call_stack_element(CALL_STACK_FROM_CALL(call), idx)
+
+ +
+
+ +
+
+ + + + + + + + +
#define CALL_FROM_CALL_STACK( call_stack)   (((grpc_call *)(call_stack)) - 1)
+
+ +
+
+ +
+
+ + + + + + + + +
#define CALL_FROM_TOP_ELEM( top_elem)   CALL_FROM_CALL_STACK(grpc_call_stack_from_top_element(top_elem))
+
+ +
+
+ +
+
+ + + + + + + + +
#define CALL_STACK_FROM_CALL( call)   ((grpc_call_stack *)((call) + 1))
+
+ +
+
+ +
+
+ + + + +
#define COMPRESS_OFFSET   1
+
+ +
+
+ +
+
+ + + + +
#define MAX_CONCURRENT_COMPLETIONS   6
+
+ +

The maximum number of completions possible.

+

Based upon the maximum number of individually queueable ops in the batch api:

+
    +
  • initial metadata send
  • +
  • message send
  • +
  • status/close send (depending on client/server)
  • +
  • initial metadata recv
  • +
  • message recv
  • +
  • status/close recv (depending on client/server)
  • +
+ +
+
+ +
+
+ + + + +
#define MAX_SEND_INITIAL_METADATA_COUNT   3
+
+ +
+
+ +
+
+ + + + +
#define REQSET_DONE   'Y'
+
+ +
+
+ +
+
+ + + + +
#define REQSET_EMPTY   'X'
+
+ +
+
+ +
+
+ + + + +
#define STATUS_OFFSET   1
+
+ +
+
+

Enumeration Type Documentation

+ +
+
+ + + + +
enum read_state
+
+ + + + + +
Enumerator
READ_STATE_INITIAL  +
READ_STATE_GOT_INITIAL_METADATA  +
READ_STATE_READ_CLOSED  +
READ_STATE_STREAM_CLOSED  +
+ +
+
+ +
+
+ + + + +
enum req_state
+
+ + + + +
Enumerator
REQ_INITIAL  +
REQ_READY  +
REQ_DONE  +
+ +
+
+ +
+
+ + + + +
enum send_action
+
+ + + + + + + + +
Enumerator
SEND_NOTHING  +
SEND_INITIAL_METADATA  +
SEND_BUFFERED_INITIAL_METADATA  +
SEND_MESSAGE  +
SEND_BUFFERED_MESSAGE  +
SEND_TRAILING_METADATA_AND_FINISH  +
SEND_FINISH  +
+ +
+
+ +
+
+ + + + +
enum status_source
+
+ + + + + + +
Enumerator
STATUS_FROM_API_OVERRIDE  +
STATUS_FROM_CORE  +
STATUS_FROM_WIRE  +
STATUS_FROM_SERVER_STATUS  +
STATUS_SOURCE_COUNT  +
+ +
+
+ +
+
+ + + + +
enum write_state
+
+ + + + +
Enumerator
WRITE_STATE_INITIAL  +
WRITE_STATE_STARTED  +
WRITE_STATE_WRITE_CLOSED  +
+ +
+
+

Function Documentation

+ +
+
+ + + + + + + + +
grpc_call_error grpc_call_cancel (grpc_callcall)
+
+ +

Called by clients to cancel an RPC on the server.

+

Can be called multiple times, from any thread. THREAD-SAFETY grpc_call_cancel and grpc_call_cancel_with_status are thread-safe, and can be called at any point before grpc_call_destroy is called.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
grpc_call_error grpc_call_cancel_with_status (grpc_callcall,
grpc_status_code status,
const char * description 
)
+
+ +

Called by clients to cancel an RPC on the server.

+

Can be called multiple times, from any thread. If a status has not been received for the call, set it to the status code and description passed in. Importantly, this function does not send status nor description to the remote endpoint.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void* grpc_call_context_get (grpc_callcall,
grpc_context_index elem 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void grpc_call_context_set (grpc_callcall,
grpc_context_index elem,
void * value,
void(*)(void *valuedestroy 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
grpc_call* grpc_call_create (grpc_channelchannel,
grpc_completion_queuecq,
const void * server_transport_data,
grpc_mdelem ** add_initial_metadata,
size_t add_initial_metadata_count,
gpr_timespec send_deadline 
)
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_call_destroy (grpc_callcall)
+
+ +

Destroy a call.

+

THREAD SAFETY: grpc_call_destroy is thread-compatible

+ +
+
+ +
+
+ + + + + + + + +
grpc_call* grpc_call_from_top_element (grpc_call_elementelem)
+
+ +
+
+ +
+
+ + + + + + + + +
grpc_call_stack* grpc_call_get_call_stack (grpc_callcall)
+
+ +
+
+ +
+
+ + + + + + + + +
grpc_completion_queue* grpc_call_get_completion_queue (grpc_callcall)
+
+ +
+
+ +
+
+ + + + + + + + +
grpc_compression_algorithm grpc_call_get_compression_algorithm (const grpc_callcall)
+
+ +
+
+ +
+
+ + + + + + + + +
char* grpc_call_get_peer (grpc_callcall)
+
+ +

Returns a newly allocated string representing the endpoint to which this call is communicating with.

+

The string is in the uri format accepted by grpc_channel_create. The returned string should be disposed of with gpr_free().

+

WARNING: this value is never authenticated or subject to any security related code. It must not be used for any authentication related functionality. Instead, use grpc_auth_context.

+ +
+
+ +
+
+ + + + + + + + +
void grpc_call_internal_ref (grpc_callc)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void grpc_call_internal_unref (grpc_callc,
int allow_immediate_deletion 
)
+
+ +
+
+ +
+
+ + + + + + + + +
gpr_uint8 grpc_call_is_client (grpc_callcall)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void grpc_call_set_completion_queue (grpc_callcall,
grpc_completion_queuecq 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
grpc_call_error grpc_call_start_batch (grpc_callcall,
const grpc_opops,
size_t nops,
void * tag 
)
+
+ +

Start a batch of operations defined in the array ops; when complete, post a completion of type 'tag' to the completion queue bound to the call.

+

The order of ops specified in the batch has no significance. Only one operation of each type can be active at once in any given batch. You must call grpc_completion_queue_next or grpc_completion_queue_pluck on the completion queue associated with 'call' for work to be performed. THREAD SAFETY: access to grpc_call_start_batch in multi-threaded environment needs to be synchronized. As an optimization, you may synchronize batches containing just send operations independently from batches containing just receive operations.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
grpc_call_error grpc_call_start_ioreq_and_call_back (grpc_callcall,
const grpc_ioreqreqs,
size_t nreqs,
grpc_ioreq_completion_func on_complete,
void * user_data 
)
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/call_8h.html b/doc/ref/core.internal/html/call_8h.html new file mode 100644 index 0000000000..f4c86dbf84 --- /dev/null +++ b/doc/ref/core.internal/html/call_8h.html @@ -0,0 +1,938 @@ + + + + + + +GRPC Core: src/core/surface/call.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
call.h File Reference
+
+
+ +

Go to the source code of this file.

+ + + + + + +

+Data Structures

union  grpc_ioreq_data
 
struct  grpc_ioreq
 
+ + + + + + + + + + + +

+Macros

#define GRPC_CALL_INTERNAL_REF(call, reason)   grpc_call_internal_ref(call)
 
#define GRPC_CALL_INTERNAL_UNREF(call, reason, allow_immediate_deletion)   grpc_call_internal_unref(call, allow_immediate_deletion)
 
#define GRPC_CALL_LOG_BATCH(sev, call, ops, nops, tag)   if (grpc_trace_batch) grpc_call_log_batch(sev, call, ops, nops, tag)
 
#define GRPC_SERVER_LOG_REQUEST_CALL(sev, server, call, details,initial_metadata, cq_bound_to_call,cq_for_notifications, tag)
 
#define GRPC_SERVER_LOG_SHUTDOWN(sev, server, cq, tag)   if (grpc_trace_batch) grpc_server_log_shutdown(sev, server, cq, tag)
 
+ + + +

+Typedefs

typedef void(* grpc_ioreq_completion_func )(grpc_call *call, int success, void *user_data)
 
+ + + +

+Enumerations

enum  grpc_ioreq_op {
+  GRPC_IOREQ_RECV_INITIAL_METADATA, +GRPC_IOREQ_RECV_MESSAGE, +GRPC_IOREQ_RECV_TRAILING_METADATA, +GRPC_IOREQ_RECV_STATUS, +
+  GRPC_IOREQ_RECV_STATUS_DETAILS, +GRPC_IOREQ_RECV_CLOSE, +GRPC_IOREQ_SEND_INITIAL_METADATA, +GRPC_IOREQ_SEND_MESSAGE, +
+  GRPC_IOREQ_SEND_TRAILING_METADATA, +GRPC_IOREQ_SEND_STATUS, +GRPC_IOREQ_SEND_CLOSE, +GRPC_IOREQ_OP_COUNT +
+ }
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

grpc_callgrpc_call_create (grpc_channel *channel, grpc_completion_queue *cq, const void *server_transport_data, grpc_mdelem **add_initial_metadata, size_t add_initial_metadata_count, gpr_timespec send_deadline)
 
void grpc_call_set_completion_queue (grpc_call *call, grpc_completion_queue *cq)
 
grpc_completion_queuegrpc_call_get_completion_queue (grpc_call *call)
 
void grpc_call_internal_ref (grpc_call *call)
 
void grpc_call_internal_unref (grpc_call *call, int allow_immediate_deletion)
 
grpc_call_error grpc_call_start_ioreq_and_call_back (grpc_call *call, const grpc_ioreq *reqs, size_t nreqs, grpc_ioreq_completion_func on_complete, void *user_data)
 
grpc_call_stackgrpc_call_get_call_stack (grpc_call *call)
 
grpc_callgrpc_call_from_top_element (grpc_call_element *surface_element)
 
void grpc_call_log_batch (char *file, int line, gpr_log_severity severity, grpc_call *call, const grpc_op *ops, size_t nops, void *tag)
 
void grpc_server_log_request_call (char *file, int line, gpr_log_severity severity, grpc_server *server, grpc_call **call, grpc_call_details *details, grpc_metadata_array *initial_metadata, grpc_completion_queue *cq_bound_to_call, grpc_completion_queue *cq_for_notification, void *tag)
 
void grpc_server_log_shutdown (char *file, int line, gpr_log_severity severity, grpc_server *server, grpc_completion_queue *cq, void *tag)
 
void grpc_call_context_set (grpc_call *call, grpc_context_index elem, void *value, void(*destroy)(void *value))
 
void * grpc_call_context_get (grpc_call *call, grpc_context_index elem)
 
gpr_uint8 grpc_call_is_client (grpc_call *call)
 
+ + + +

+Variables

int grpc_trace_batch
 
+

Macro Definition Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
#define GRPC_CALL_INTERNAL_REF( call,
 reason 
)   grpc_call_internal_ref(call)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
#define GRPC_CALL_INTERNAL_UNREF( call,
 reason,
 allow_immediate_deletion 
)   grpc_call_internal_unref(call, allow_immediate_deletion)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
#define GRPC_CALL_LOG_BATCH( sev,
 call,
 ops,
 nops,
 tag 
)   if (grpc_trace_batch) grpc_call_log_batch(sev, call, ops, nops, tag)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
#define GRPC_SERVER_LOG_REQUEST_CALL( sev,
 server,
 call,
 details,
 initial_metadata,
 cq_bound_to_call,
 cq_for_notifications,
 tag 
)
+
+Value:
+
grpc_server_log_request_call(sev, server, call, details, initial_metadata, \
+
cq_bound_to_call, cq_for_notifications, tag)
+
void grpc_server_log_request_call(char *file, int line, gpr_log_severity severity, grpc_server *server, grpc_call **call, grpc_call_details *details, grpc_metadata_array *initial_metadata, grpc_completion_queue *cq_bound_to_call, grpc_completion_queue *cq_for_notification, void *tag)
Definition: call_log_batch.c:124
+
int grpc_trace_batch
Definition: call_log_batch.c:40
+
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
#define GRPC_SERVER_LOG_SHUTDOWN( sev,
 server,
 cq,
 tag 
)   if (grpc_trace_batch) grpc_server_log_shutdown(sev, server, cq, tag)
+
+ +
+
+

Typedef Documentation

+ +
+
+ + + + +
typedef void(* grpc_ioreq_completion_func)(grpc_call *call, int success, void *user_data)
+
+ +
+
+

Enumeration Type Documentation

+ +
+
+ + + + +
enum grpc_ioreq_op
+
+ + + + + + + + + + + + + +
Enumerator
GRPC_IOREQ_RECV_INITIAL_METADATA  +
GRPC_IOREQ_RECV_MESSAGE  +
GRPC_IOREQ_RECV_TRAILING_METADATA  +
GRPC_IOREQ_RECV_STATUS  +
GRPC_IOREQ_RECV_STATUS_DETAILS  +
GRPC_IOREQ_RECV_CLOSE  +
GRPC_IOREQ_SEND_INITIAL_METADATA  +
GRPC_IOREQ_SEND_MESSAGE  +
GRPC_IOREQ_SEND_TRAILING_METADATA  +
GRPC_IOREQ_SEND_STATUS  +
GRPC_IOREQ_SEND_CLOSE  +
GRPC_IOREQ_OP_COUNT  +
+ +
+
+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
void* grpc_call_context_get (grpc_callcall,
grpc_context_index elem 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void grpc_call_context_set (grpc_callcall,
grpc_context_index elem,
void * value,
void(*)(void *valuedestroy 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
grpc_call* grpc_call_create (grpc_channelchannel,
grpc_completion_queuecq,
const void * server_transport_data,
grpc_mdelem ** add_initial_metadata,
size_t add_initial_metadata_count,
gpr_timespec send_deadline 
)
+
+ +
+
+ +
+
+ + + + + + + + +
grpc_call* grpc_call_from_top_element (grpc_call_elementsurface_element)
+
+ +
+
+ +
+
+ + + + + + + + +
grpc_call_stack* grpc_call_get_call_stack (grpc_callcall)
+
+ +
+
+ +
+
+ + + + + + + + +
grpc_completion_queue* grpc_call_get_completion_queue (grpc_callcall)
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_call_internal_ref (grpc_callcall)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void grpc_call_internal_unref (grpc_callcall,
int allow_immediate_deletion 
)
+
+ +
+
+ +
+
+ + + + + + + + +
gpr_uint8 grpc_call_is_client (grpc_callcall)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void grpc_call_log_batch (char * file,
int line,
gpr_log_severity severity,
grpc_callcall,
const grpc_opops,
size_t nops,
void * tag 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void grpc_call_set_completion_queue (grpc_callcall,
grpc_completion_queuecq 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
grpc_call_error grpc_call_start_ioreq_and_call_back (grpc_callcall,
const grpc_ioreqreqs,
size_t nreqs,
grpc_ioreq_completion_func on_complete,
void * user_data 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void grpc_server_log_request_call (char * file,
int line,
gpr_log_severity severity,
grpc_serverserver,
grpc_call ** call,
grpc_call_detailsdetails,
grpc_metadata_arrayinitial_metadata,
grpc_completion_queuecq_bound_to_call,
grpc_completion_queuecq_for_notification,
void * tag 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void grpc_server_log_shutdown (char * file,
int line,
gpr_log_severity severity,
grpc_serverserver,
grpc_completion_queuecq,
void * tag 
)
+
+ +
+
+

Variable Documentation

+ +
+
+ + + + +
int grpc_trace_batch
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/call_8h_source.html b/doc/ref/core.internal/html/call_8h_source.html new file mode 100644 index 0000000000..0ea32c40a1 --- /dev/null +++ b/doc/ref/core.internal/html/call_8h_source.html @@ -0,0 +1,330 @@ + + + + + + +GRPC Core: src/core/surface/call.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
call.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPC_INTERNAL_CORE_SURFACE_CALL_H
+
35 #define GRPC_INTERNAL_CORE_SURFACE_CALL_H
+
36 
+ + +
39 #include <grpc/grpc.h>
+
40 
+
41 /* Primitive operation types - grpc_op's get rewritten into these */
+
42 typedef enum {
+ + + + + + + + + + + + + +
56 
+
57 typedef union {
+ + +
60  struct {
+
61  void (*set_value)(grpc_status_code status, void *user_data);
+
62  void *user_data;
+
63  } recv_status;
+
64  struct {
+
65  char **details;
+ +
67  } recv_status_details;
+
68  struct {
+
69  size_t count;
+ +
71  } send_metadata;
+ +
73  struct {
+ + +
76  } send_status;
+ +
78 
+
79 typedef struct {
+ + + +
83 } grpc_ioreq;
+
84 
+
85 typedef void (*grpc_ioreq_completion_func)(grpc_call *call, int success,
+
86  void *user_data);
+
87 
+ +
89  const void *server_transport_data,
+
90  grpc_mdelem **add_initial_metadata,
+
91  size_t add_initial_metadata_count,
+
92  gpr_timespec send_deadline);
+
93 
+ + +
96 
+
97 #ifdef GRPC_CALL_REF_COUNT_DEBUG
+
98 void grpc_call_internal_ref(grpc_call *call, const char *reason);
+
99 void grpc_call_internal_unref(grpc_call *call, const char *reason,
+
100  int allow_immediate_deletion);
+
101 #define GRPC_CALL_INTERNAL_REF(call, reason) \
+
102  grpc_call_internal_ref(call, reason)
+
103 #define GRPC_CALL_INTERNAL_UNREF(call, reason, allow_immediate_deletion) \
+
104  grpc_call_internal_unref(call, reason, allow_immediate_deletion)
+
105 #else
+ +
107 void grpc_call_internal_unref(grpc_call *call, int allow_immediate_deletion);
+
108 #define GRPC_CALL_INTERNAL_REF(call, reason) grpc_call_internal_ref(call)
+
109 #define GRPC_CALL_INTERNAL_UNREF(call, reason, allow_immediate_deletion) \
+
110  grpc_call_internal_unref(call, allow_immediate_deletion)
+
111 #endif
+
112 
+ +
114  grpc_call *call, const grpc_ioreq *reqs, size_t nreqs,
+
115  grpc_ioreq_completion_func on_complete, void *user_data);
+
116 
+ +
118 
+
119 /* Given the top call_element, get the call object. */
+ +
121 
+
122 extern int grpc_trace_batch;
+
123 
+
124 void grpc_call_log_batch(char *file, int line, gpr_log_severity severity,
+
125  grpc_call *call, const grpc_op *ops, size_t nops,
+
126  void *tag);
+
127 
+
128 void grpc_server_log_request_call(char *file, int line,
+
129  gpr_log_severity severity,
+
130  grpc_server *server, grpc_call **call,
+
131  grpc_call_details *details,
+
132  grpc_metadata_array *initial_metadata,
+
133  grpc_completion_queue *cq_bound_to_call,
+
134  grpc_completion_queue *cq_for_notification,
+
135  void *tag);
+
136 
+
137 void grpc_server_log_shutdown(char *file, int line, gpr_log_severity severity,
+
138  grpc_server *server, grpc_completion_queue *cq,
+
139  void *tag);
+
140 
+
141 /* Set a context pointer.
+
142  No thread safety guarantees are made wrt this value. */
+ +
144  void *value, void (*destroy)(void *value));
+
145 /* Get a context pointer. */
+ +
147 
+
148 #define GRPC_CALL_LOG_BATCH(sev, call, ops, nops, tag) \
+
149  if (grpc_trace_batch) grpc_call_log_batch(sev, call, ops, nops, tag)
+
150 
+
151 #define GRPC_SERVER_LOG_REQUEST_CALL(sev, server, call, details, \
+
152  initial_metadata, cq_bound_to_call, \
+
153  cq_for_notifications, tag) \
+
154  if (grpc_trace_batch) \
+
155  grpc_server_log_request_call(sev, server, call, details, initial_metadata, \
+
156  cq_bound_to_call, cq_for_notifications, tag)
+
157 
+
158 #define GRPC_SERVER_LOG_SHUTDOWN(sev, server, cq, tag) \
+
159  if (grpc_trace_batch) grpc_server_log_shutdown(sev, server, cq, tag)
+
160 
+ +
162 
+
163 #endif /* GRPC_INTERNAL_CORE_SURFACE_CALL_H */
+
Definition: call.h:52
+
const char * value
Definition: hpack_table.c:44
+
grpc_call * grpc_call_create(grpc_channel *channel, grpc_completion_queue *cq, const void *server_transport_data, grpc_mdelem **add_initial_metadata, size_t add_initial_metadata_count, gpr_timespec send_deadline)
Definition: call.c:293
+
void grpc_server_log_shutdown(char *file, int line, gpr_log_severity severity, grpc_server *server, grpc_completion_queue *cq, void *tag)
Definition: call_log_batch.c:140
+
uint8_t gpr_uint8
Definition: port_platform.h:307
+
Definition: call.h:54
+
Definition: call.h:57
+
Definition: channel.c:61
+ +
size_t * details_capacity
Definition: call.h:66
+
Definition: call.h:46
+ +
Definition: metadata.h:70
+
void * grpc_call_context_get(grpc_call *call, grpc_context_index elem)
Definition: call.c:1583
+
Definition: grpc.h:244
+
Definition: byte_buffer.h:49
+
Definition: grpc.h:235
+
uint32_t gpr_uint32
Definition: port_platform.h:309
+
grpc_ioreq_op op
Definition: call.h:80
+
void(* grpc_ioreq_completion_func)(grpc_call *call, int success, void *user_data)
Definition: call.h:85
+
size_t count
Definition: call.h:69
+
gpr_log_severity
Definition: log.h:56
+
void grpc_server_log_request_call(char *file, int line, gpr_log_severity severity, grpc_server *server, grpc_call **call, grpc_call_details *details, grpc_metadata_array *initial_metadata, grpc_completion_queue *cq_bound_to_call, grpc_completion_queue *cq_for_notification, void *tag)
Definition: call_log_batch.c:124
+
grpc_call_error grpc_call_start_ioreq_and_call_back(grpc_call *call, const grpc_ioreq *reqs, size_t nreqs, grpc_ioreq_completion_func on_complete, void *user_data)
Definition: call.c:1167
+
Definition: call.h:47
+
grpc_call_error
Result of a grpc call.
Definition: grpc.h:156
+
grpc_status_code code
Definition: call.h:74
+
grpc_metadata * metadata
Definition: call.h:70
+
char ** details
Definition: call.h:65
+
grpc_call_stack * grpc_call_get_call_stack(grpc_call *call)
Definition: call.c:1397
+
A single metadata element.
Definition: grpc.h:197
+
void grpc_call_internal_ref(grpc_call *call)
Definition: call.c:399
+
Definition: metadata.h:78
+
Operation data: one field for each op type (except SEND_CLOSE_FROM_CLIENT which has no arguments) ...
Definition: grpc.h:287
+
grpc_ioreq_op
Definition: call.h:42
+
gpr_uint32 flags
A copy of the write flags from grpc_op.
Definition: call.h:81
+
gpr_uint8 grpc_call_is_client(grpc_call *call)
Definition: call.c:1587
+
grpc_metadata_array * recv_metadata
Definition: call.h:58
+
Definition: completion_queue.c:49
+
void grpc_call_set_completion_queue(grpc_call *call, grpc_completion_queue *cq)
Definition: call.c:357
+ +
void grpc_call_log_batch(char *file, int line, gpr_log_severity severity, grpc_call *call, const grpc_op *ops, size_t nops, void *tag)
Definition: call_log_batch.c:110
+
grpc_ioreq_data data
Definition: call.h:82
+ +
void grpc_call_context_set(grpc_call *call, grpc_context_index elem, void *value, void(*destroy)(void *value))
Definition: call.c:1574
+
Definition: channel_stack.h:141
+
void grpc_call_internal_unref(grpc_call *call, int allow_immediate_deletion)
Definition: call.c:447
+
grpc_context_index
Definition: context.h:38
+
grpc_byte_buffer ** recv_message
Definition: call.h:59
+
grpc_mdstr * details
Definition: call.h:75
+ +
grpc_byte_buffer * send_message
Definition: call.h:72
+
grpc_call * grpc_call_from_top_element(grpc_call_element *surface_element)
Definition: call.c:1261
+
Definition: time.h:60
+
grpc_status_code
Definition: status.h:41
+
Definition: channel_stack.h:124
+
Definition: call.h:44
+
grpc_completion_queue * grpc_call_get_completion_queue(grpc_call *call)
Definition: call.c:367
+
Definition: call.h:48
+
void * user_data
Definition: call.h:62
+
Definition: call.h:53
+ + +
int grpc_trace_batch
Definition: call_log_batch.c:40
+
Definition: call.c:143
+
Definition: call.h:50
+
Definition: call.h:79
+
Definition: server.c:181
+
+ + + + diff --git a/doc/ref/core.internal/html/call__details_8c.html b/doc/ref/core.internal/html/call__details_8c.html new file mode 100644 index 0000000000..f3326c16ab --- /dev/null +++ b/doc/ref/core.internal/html/call__details_8c.html @@ -0,0 +1,145 @@ + + + + + + +GRPC Core: src/core/surface/call_details.c File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
call_details.c File Reference
+
+
+
#include <grpc/grpc.h>
+#include <grpc/support/alloc.h>
+#include <string.h>
+
+ + + + + +

+Functions

void grpc_call_details_init (grpc_call_details *cd)
 
void grpc_call_details_destroy (grpc_call_details *cd)
 
+

Function Documentation

+ +
+
+ + + + + + + + +
void grpc_call_details_destroy (grpc_call_detailscd)
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_call_details_init (grpc_call_detailscd)
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/call__log__batch_8c.html b/doc/ref/core.internal/html/call__log__batch_8c.html new file mode 100644 index 0000000000..59e9a1fbbc --- /dev/null +++ b/doc/ref/core.internal/html/call__log__batch_8c.html @@ -0,0 +1,333 @@ + + + + + + +GRPC Core: src/core/surface/call_log_batch.c File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
call_log_batch.c File Reference
+
+
+ + + + + + + + + + +

+Functions

char * grpc_op_string (const grpc_op *op)
 
void grpc_call_log_batch (char *file, int line, gpr_log_severity severity, grpc_call *call, const grpc_op *ops, size_t nops, void *tag)
 
void grpc_server_log_request_call (char *file, int line, gpr_log_severity severity, grpc_server *server, grpc_call **call, grpc_call_details *details, grpc_metadata_array *initial_metadata, grpc_completion_queue *cq_bound_to_call, grpc_completion_queue *cq_for_notification, void *tag)
 
void grpc_server_log_shutdown (char *file, int line, gpr_log_severity severity, grpc_server *server, grpc_completion_queue *cq, void *tag)
 
+ + + +

+Variables

int grpc_trace_batch = 0
 
+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void grpc_call_log_batch (char * file,
int line,
gpr_log_severity severity,
grpc_callcall,
const grpc_opops,
size_t nops,
void * tag 
)
+
+ +
+
+ +
+
+ + + + + + + + +
char* grpc_op_string (const grpc_opop)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void grpc_server_log_request_call (char * file,
int line,
gpr_log_severity severity,
grpc_serverserver,
grpc_call ** call,
grpc_call_detailsdetails,
grpc_metadata_arrayinitial_metadata,
grpc_completion_queuecq_bound_to_call,
grpc_completion_queuecq_for_notification,
void * tag 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void grpc_server_log_shutdown (char * file,
int line,
gpr_log_severity severity,
grpc_serverserver,
grpc_completion_queuecq,
void * tag 
)
+
+ +
+
+

Variable Documentation

+ +
+
+ + + + +
int grpc_trace_batch = 0
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/cancellable_8c.html b/doc/ref/core.internal/html/cancellable_8c.html new file mode 100644 index 0000000000..1f038329b4 --- /dev/null +++ b/doc/ref/core.internal/html/cancellable_8c.html @@ -0,0 +1,221 @@ + + + + + + +GRPC Core: src/core/support/cancellable.c File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
cancellable.c File Reference
+
+
+
#include <grpc/support/atm.h>
+#include <grpc/support/sync.h>
+#include <grpc/support/time.h>
+
+ + + + + + + + + + + +

+Functions

void gpr_cancellable_init (gpr_cancellable *c)
 
void gpr_cancellable_destroy (gpr_cancellable *c)
 
int gpr_cancellable_is_cancelled (gpr_cancellable *c)
 
void gpr_cancellable_cancel (gpr_cancellable *c)
 
int gpr_cv_cancellable_wait (gpr_cv *cv, gpr_mu *mu, gpr_timespec abs_deadline, gpr_cancellable *c)
 
+

Function Documentation

+ +
+
+ + + + + + + + +
void gpr_cancellable_cancel (gpr_cancellablec)
+
+ +
+
+ +
+
+ + + + + + + + +
void gpr_cancellable_destroy (gpr_cancellablec)
+
+ +
+
+ +
+
+ + + + + + + + +
void gpr_cancellable_init (gpr_cancellablec)
+
+ +
+
+ +
+
+ + + + + + + + +
int gpr_cancellable_is_cancelled (gpr_cancellablec)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
int gpr_cv_cancellable_wait (gpr_cvcv,
gpr_mumu,
gpr_timespec abs_deadline,
gpr_cancellablec 
)
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/cancellable__platform_8h.html b/doc/ref/core.internal/html/cancellable__platform_8h.html new file mode 100644 index 0000000000..80590cf51f --- /dev/null +++ b/doc/ref/core.internal/html/cancellable__platform_8h.html @@ -0,0 +1,113 @@ + + + + + + +GRPC Core: include/grpc/support/cancellable_platform.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
cancellable_platform.h File Reference
+
+
+
#include <grpc/support/atm.h>
+#include <grpc/support/sync.h>
+
+

Go to the source code of this file.

+ + + + + + +

+Data Structures

struct  gpr_cancellable_list_
 
struct  gpr_cancellable
 
+
+ + + + diff --git a/doc/ref/core.internal/html/cancellable__platform_8h_source.html b/doc/ref/core.internal/html/cancellable__platform_8h_source.html new file mode 100644 index 0000000000..27c6e8acf3 --- /dev/null +++ b/doc/ref/core.internal/html/cancellable__platform_8h_source.html @@ -0,0 +1,168 @@ + + + + + + +GRPC Core: include/grpc/support/cancellable_platform.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
cancellable_platform.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPC_SUPPORT_CANCELLABLE_PLATFORM_H
+
35 #define GRPC_SUPPORT_CANCELLABLE_PLATFORM_H
+
36 
+
37 #include <grpc/support/atm.h>
+
38 #include <grpc/support/sync.h>
+
39 
+ +
41  /* a doubly-linked list on cancellable's waiters queue */
+ + +
44  /* The following two fields are arguments to gpr_cv_cancellable_wait() */
+ + +
47 };
+
48 
+
49 /* Internal definition of gpr_cancellable. */
+
50 typedef struct {
+
51  gpr_mu mu; /* protects waiters and modifications to cancelled */
+ +
53  struct gpr_cancellable_list_ waiters;
+ +
55 
+
56 #endif /* GRPC_SUPPORT_CANCELLABLE_PLATFORM_H */
+ +
struct gpr_cancellable_list_ * prev
Definition: cancellable_platform.h:43
+
Definition: cancellable_platform.h:40
+
gpr_cv * cv
Definition: cancellable_platform.h:46
+
gpr_atm cancelled
Definition: cancellable_platform.h:52
+
pthread_cond_t gpr_cv
Definition: sync_posix.h:42
+
Definition: cancellable_platform.h:50
+
Definition: sync_win32.h:39
+
gpr_mu * mu
Definition: cancellable_platform.h:45
+
gpr_mu mu
Definition: cancellable_platform.h:51
+ +
struct gpr_cancellable_list_ * next
Definition: cancellable_platform.h:42
+
gpr_intptr gpr_atm
Definition: atm_gcc_atomic.h:41
+
+ + + + diff --git a/doc/ref/core.internal/html/census_2context_8h.html b/doc/ref/core.internal/html/census_2context_8h.html new file mode 100644 index 0000000000..2d3d69fca1 --- /dev/null +++ b/doc/ref/core.internal/html/census_2context_8h.html @@ -0,0 +1,110 @@ + + + + + + +GRPC Core: src/core/census/context.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
context.h File Reference
+
+
+
#include <grpc/census.h>
+
+

Go to the source code of this file.

+ + + + +

+Data Structures

struct  census_context
 
+
+ + + + diff --git a/doc/ref/core.internal/html/census_2context_8h_source.html b/doc/ref/core.internal/html/census_2context_8h_source.html new file mode 100644 index 0000000000..946ecfbe31 --- /dev/null +++ b/doc/ref/core.internal/html/census_2context_8h_source.html @@ -0,0 +1,153 @@ + + + + + + +GRPC Core: src/core/census/context.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
context.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPC_INTERNAL_CORE_CENSUS_CONTEXT_H
+
35 #define GRPC_INTERNAL_CORE_CENSUS_CONTEXT_H
+
36 
+
37 #include <grpc/census.h>
+
38 
+
39 /* census_context is the in-memory representation of information needed to
+
40  * maintain tracing, RPC statistics and resource usage information. */
+ +
42  gpr_uint64 op_id; /* Operation identifier - unique per-context */
+
43  gpr_uint64 trace_id; /* Globally unique trace identifier */
+
44  /* TODO(aveitch) Add census tags:
+
45  const census_tag_set *tags;
+
46  */
+
47 };
+
48 
+
49 #endif /* GRPC_INTERNAL_CORE_CENSUS_CONTEXT_H */
+
gpr_uint64 trace_id
Definition: context.h:43
+
Definition: context.h:41
+ +
uint64_t gpr_uint64
Definition: port_platform.h:310
+
gpr_uint64 op_id
Definition: context.h:42
+
+ + + + diff --git a/doc/ref/core.internal/html/census_8h.html b/doc/ref/core.internal/html/census_8h.html new file mode 100644 index 0000000000..8129fdf064 --- /dev/null +++ b/doc/ref/core.internal/html/census_8h.html @@ -0,0 +1,369 @@ + + + + + + +GRPC Core: include/grpc/census.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
census.h File Reference
+
+
+
#include <grpc/grpc.h>
+
+

Go to the source code of this file.

+ + + + +

+Data Structures

struct  census_stat
 
+ + + +

+Typedefs

typedef struct census_context census_context
 
+ + + +

+Enumerations

enum  census_features {
+  CENSUS_FEATURE_NONE = 0, +CENSUS_FEATURE_TRACING = 1, +CENSUS_FEATURE_STATS = 2, +CENSUS_FEATURE_CPU = 4, +
+  CENSUS_FEATURE_ALL +
+ }
 
+ + + + + + + + + + + + + + + + + + + + +

+Functions

int census_initialize (int features)
 Shutdown and startup census subsystem. More...
 
void census_shutdown (void)
 
int census_supported (void)
 Return the features supported by the current census implementation (not all features will be available on all platforms). More...
 
int census_enabled (void)
 Return the census features currently enabled. More...
 
size_t census_context_serialize (const census_context *context, char *buffer, size_t buf_size)
 
int census_context_deserialize (const char *buffer, census_context **context)
 
void census_context_destroy (census_context *context)
 
void census_record_stat (census_context *context, census_stat *stats, size_t nstats)
 
+

Typedef Documentation

+ +
+
+ + + + +
typedef struct census_context census_context
+
+ +
+
+

Enumeration Type Documentation

+ +
+
+ + + + +
enum census_features
+
+ + + + + + +
Enumerator
CENSUS_FEATURE_NONE  +
CENSUS_FEATURE_TRACING  +
CENSUS_FEATURE_STATS  +
CENSUS_FEATURE_CPU  +
CENSUS_FEATURE_ALL  +
+ +
+
+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
int census_context_deserialize (const char * buffer,
census_context ** context 
)
+
+ +
+
+ +
+
+ + + + + + + + +
void census_context_destroy (census_contextcontext)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
size_t census_context_serialize (const census_contextcontext,
char * buffer,
size_t buf_size 
)
+
+ +
+
+ +
+
+ + + + + + + + +
int census_enabled (void )
+
+ +

Return the census features currently enabled.

+ +
+
+ +
+
+ + + + + + + + +
int census_initialize (int features)
+
+ +

Shutdown and startup census subsystem.

+

The 'features' argument should be the OR (|) of census_features values. If census fails to initialize, then census_initialize() will return a non-zero value. It is an error to call census_initialize() more than once (without an intervening census_shutdown()).

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void census_record_stat (census_contextcontext,
census_statstats,
size_t nstats 
)
+
+ +
+
+ +
+
+ + + + + + + + +
void census_shutdown (void )
+
+ +
+
+ +
+
+ + + + + + + + +
int census_supported (void )
+
+ +

Return the features supported by the current census implementation (not all features will be available on all platforms).

+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/census_8h_source.html b/doc/ref/core.internal/html/census_8h_source.html new file mode 100644 index 0000000000..986d7760bf --- /dev/null +++ b/doc/ref/core.internal/html/census_8h_source.html @@ -0,0 +1,232 @@ + + + + + + +GRPC Core: include/grpc/census.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
census.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 /* RPC-internal Census API's. These are designed to be generic enough that
+
35  * they can (ultimately) be used in many different RPC systems (with differing
+
36  * implementations). */
+
37 
+
38 #ifndef CENSUS_CENSUS_H
+
39 #define CENSUS_CENSUS_H
+
40 
+
41 #include <grpc/grpc.h>
+
42 
+
43 #ifdef __cplusplus
+
44 extern "C" {
+
45 #endif
+
46 
+
47 /* Identify census features that can be enabled via census_initialize(). */
+ +
49  CENSUS_FEATURE_NONE = 0, /* Do not enable census. */
+
50  CENSUS_FEATURE_TRACING = 1, /* Enable census tracing. */
+
51  CENSUS_FEATURE_STATS = 2, /* Enable Census stats collection. */
+
52  CENSUS_FEATURE_CPU = 4, /* Enable Census CPU usage collection. */
+ + +
55 };
+
56 
+
62 int census_initialize(int features);
+
63 void census_shutdown(void);
+
64 
+
67 int census_supported(void);
+
68 
+
70 int census_enabled(void);
+
71 
+
72 /* Internally, Census relies on a context, which should be propagated across
+
73  * RPC's. From the RPC subsystems viewpoint, this is an opaque data structure.
+
74  * A context must be used as the first argument to all other census
+
75  * functions. Conceptually, contexts should be thought of as specific to
+
76  * single RPC/thread. The context can be serialized for passing across the
+
77  * wire. */
+ +
79 
+
80 /* This function is called by the RPC subsystem whenever it needs to get a
+
81  * serialized form of the current census context (presumably to pass across
+
82  * the wire). Arguments:
+
83  * 'buffer': pointer to memory into which serialized context will be placed
+
84  * 'buf_size': size of 'buffer'
+
85  *
+
86  * Returns: the number of bytes used in buffer if successful, or 0 if the
+
87  * buffer is of insufficient size.
+
88  *
+
89  * TODO(aveitch): determine how best to communicate required/max buffer size
+
90  * so caller doesn't have to guess. */
+
91 size_t census_context_serialize(const census_context *context, char *buffer,
+
92  size_t buf_size);
+
93 
+
94 /* Create a new census context, possibly from a serialized buffer. If 'buffer'
+
95  * is non-NULL, it is assumed that it is a buffer encoded by
+
96  * census_context_serialize(). If `buffer` is NULL, a new, empty context is
+
97  * created. The decoded/new contest is returned in 'context'.
+
98  *
+
99  * Returns 0 if no errors, non-zero if buffer is incorrectly formatted, in
+
100  * which case a new empty context will be returned. */
+
101 int census_context_deserialize(const char *buffer, census_context **context);
+
102 
+
103 /* The given context is destroyed. Once destroyed, using the context in
+
104  * future census calls will result in undefined behavior. */
+ +
106 
+
107 /* A census statistic to be recorded comprises two parts: an ID for the
+
108  * particular statistic and the value to be recorded against it. */
+
109 typedef struct {
+
110  int id;
+
111  double value;
+
112 } census_stat;
+
113 
+
114 /* Record new stats against the given context. */
+
115 void census_record_stat(census_context *context, census_stat *stats,
+
116  size_t nstats);
+
117 
+
118 #ifdef __cplusplus
+
119 }
+
120 #endif
+
121 
+
122 #endif /* CENSUS_CENSUS_H */
+
void census_context_destroy(census_context *context)
Definition: context.c:59
+
int census_context_deserialize(const char *buffer, census_context **context)
Definition: context.c:48
+
Definition: census.h:50
+
int census_initialize(int features)
Shutdown and startup census subsystem.
Definition: initialize.c:38
+
Definition: census.h:52
+
Definition: census.h:53
+
Definition: census.h:51
+
void census_shutdown(void)
Definition: initialize.c:50
+
int id
Definition: census.h:110
+
int census_supported(void)
Return the features supported by the current census implementation (not all features will be availabl...
Definition: initialize.c:52
+
double value
Definition: census.h:111
+
Definition: context.h:41
+
census_features
Definition: census.h:48
+
void census_record_stat(census_context *context, census_stat *stats, size_t nstats)
Definition: record_stat.c:37
+
int census_enabled(void)
Return the census features currently enabled.
Definition: initialize.c:57
+ +
size_t census_context_serialize(const census_context *context, char *buffer, size_t buf_size)
Definition: context.c:42
+
Definition: census.h:109
+
Definition: census.h:49
+
+ + + + diff --git a/doc/ref/core.internal/html/census__filter_8h.html b/doc/ref/core.internal/html/census__filter_8h.html new file mode 100644 index 0000000000..3d190f75f6 --- /dev/null +++ b/doc/ref/core.internal/html/census__filter_8h.html @@ -0,0 +1,137 @@ + + + + + + +GRPC Core: src/core/channel/census_filter.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
census_filter.h File Reference
+
+
+ +

Go to the source code of this file.

+ + + + + + +

+Variables

const grpc_channel_filter grpc_client_census_filter
 
const grpc_channel_filter grpc_server_census_filter
 
+

Variable Documentation

+ +
+
+ + + + +
const grpc_channel_filter grpc_client_census_filter
+
+ +
+
+ +
+
+ + + + +
const grpc_channel_filter grpc_server_census_filter
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/census__filter_8h_source.html b/doc/ref/core.internal/html/census__filter_8h_source.html new file mode 100644 index 0000000000..9ae7bf2ab0 --- /dev/null +++ b/doc/ref/core.internal/html/census__filter_8h_source.html @@ -0,0 +1,147 @@ + + + + + + +GRPC Core: src/core/channel/census_filter.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
census_filter.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPC_INTERNAL_CORE_CHANNEL_CENSUS_FILTER_H
+
35 #define GRPC_INTERNAL_CORE_CHANNEL_CENSUS_FILTER_H
+
36 
+ +
38 
+
39 /* Census filters: provides tracing and stats collection functionalities. It
+
40  needs to reside right below the surface filter in the channel stack. */
+ + +
43 
+
44 #endif /* GRPC_INTERNAL_CORE_CHANNEL_CENSUS_FILTER_H */
+
Definition: channel_stack.h:64
+ +
const grpc_channel_filter grpc_server_census_filter
+
const grpc_channel_filter grpc_client_census_filter
+
+ + + + diff --git a/doc/ref/core.internal/html/channel_2context_8h.html b/doc/ref/core.internal/html/channel_2context_8h.html new file mode 100644 index 0000000000..f458318c55 --- /dev/null +++ b/doc/ref/core.internal/html/channel_2context_8h.html @@ -0,0 +1,139 @@ + + + + + + +GRPC Core: src/core/channel/context.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
context.h File Reference
+
+
+ +

Go to the source code of this file.

+ + + + +

+Data Structures

struct  grpc_call_context_element
 
+ + + +

+Enumerations

enum  grpc_context_index { GRPC_CONTEXT_SECURITY = 0, +GRPC_CONTEXT_TRACING, +GRPC_CONTEXT_COUNT + }
 
+

Enumeration Type Documentation

+ +
+
+ + + + +
enum grpc_context_index
+
+ + + + +
Enumerator
GRPC_CONTEXT_SECURITY  +
GRPC_CONTEXT_TRACING  +
GRPC_CONTEXT_COUNT  +
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/channel_2context_8h_source.html b/doc/ref/core.internal/html/channel_2context_8h_source.html new file mode 100644 index 0000000000..04dbab536b --- /dev/null +++ b/doc/ref/core.internal/html/channel_2context_8h_source.html @@ -0,0 +1,154 @@ + + + + + + +GRPC Core: src/core/channel/context.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
context.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPC_INTERNAL_CORE_CHANNEL_CONTEXT_H
+
35 #define GRPC_INTERNAL_CORE_CHANNEL_CONTEXT_H
+
36 
+
37 /* Call object context pointers */
+
38 typedef enum {
+ + + + +
43 
+
44 typedef struct {
+
45  void *value;
+
46  void (*destroy)(void *);
+ +
48 
+
49 #endif /* GRPC_INTERNAL_CORE_CHANNEL_CONTEXT_H */
+
Definition: context.h:40
+
void * value
Definition: context.h:45
+
Definition: context.h:44
+
Definition: context.h:41
+
grpc_context_index
Definition: context.h:38
+
Definition: context.h:39
+
+ + + + diff --git a/doc/ref/core.internal/html/channel_8c.html b/doc/ref/core.internal/html/channel_8c.html new file mode 100644 index 0000000000..1be01c2300 --- /dev/null +++ b/doc/ref/core.internal/html/channel_8c.html @@ -0,0 +1,639 @@ + + + + + + +GRPC Core: src/core/surface/channel.c File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
channel.c File Reference
+
+
+
#include "src/core/surface/channel.h"
+#include <stdlib.h>
+#include <string.h>
+#include <grpc/support/alloc.h>
+#include <grpc/support/log.h>
+#include <grpc/support/string_util.h>
+#include "src/core/iomgr/iomgr.h"
+#include "src/core/surface/call.h"
+#include "src/core/surface/init.h"
+
+ + + + + +

+Data Structures

struct  registered_call
 
struct  grpc_channel
 
+ + + + + + + + + + + + +

+Macros

#define NUM_CACHED_STATUS_ELEMS   3
 Cache grpc-status: X mdelems for X = 0..NUM_CACHED_STATUS_ELEMS. More...
 
#define CHANNEL_STACK_FROM_CHANNEL(c)   ((grpc_channel_stack *)((c) + 1))
 
#define CHANNEL_FROM_CHANNEL_STACK(channel_stack)   (((grpc_channel *)(channel_stack)) - 1)
 
#define CHANNEL_FROM_TOP_ELEM(top_elem)   CHANNEL_FROM_CHANNEL_STACK(grpc_channel_stack_from_top_element(top_elem))
 
#define DEFAULT_MAX_MESSAGE_LENGTH   (100 * 1024 * 1024)
 
+ + + +

+Typedefs

typedef struct registered_call registered_call
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

grpc_channelgrpc_channel_create_from_filters (const char *target, const grpc_channel_filter **filters, size_t num_filters, const grpc_channel_args *args, grpc_mdctx *mdctx, int is_client)
 
char * grpc_channel_get_target (grpc_channel *channel)
 Return a newly allocated string representing the target a channel was created for. More...
 
grpc_callgrpc_channel_create_call (grpc_channel *channel, grpc_completion_queue *cq, const char *method, const char *host, gpr_timespec deadline)
 Create a call given a grpc_channel, in order to call 'method'. More...
 
void * grpc_channel_register_call (grpc_channel *channel, const char *method, const char *host)
 Pre-register a method/host pair on a channel. More...
 
grpc_callgrpc_channel_create_registered_call (grpc_channel *channel, grpc_completion_queue *completion_queue, void *registered_call_handle, gpr_timespec deadline)
 Create a call given a handle returned from grpc_channel_register_call. More...
 
void grpc_channel_internal_ref (grpc_channel *c)
 
void grpc_channel_internal_unref (grpc_channel *channel)
 
void grpc_channel_destroy (grpc_channel *channel)
 Close and destroy a grpc channel. More...
 
grpc_channel_stackgrpc_channel_get_channel_stack (grpc_channel *channel)
 Get a (borrowed) pointer to this channels underlying channel stack. More...
 
grpc_mdctxgrpc_channel_get_metadata_context (grpc_channel *channel)
 Get a (borrowed) pointer to the channel wide metadata context. More...
 
grpc_mdstrgrpc_channel_get_status_string (grpc_channel *channel)
 
grpc_mdstrgrpc_channel_get_compression_algorithm_string (grpc_channel *channel)
 
grpc_mdelemgrpc_channel_get_reffed_status_elem (grpc_channel *channel, int i)
 Get a grpc_mdelem of grpc-status: X where X is the numeric value of status_code. More...
 
grpc_mdstrgrpc_channel_get_message_string (grpc_channel *channel)
 
gpr_uint32 grpc_channel_get_max_message_length (grpc_channel *channel)
 
+

Macro Definition Documentation

+ +
+
+ + + + + + + + +
#define CHANNEL_FROM_CHANNEL_STACK( channel_stack)   (((grpc_channel *)(channel_stack)) - 1)
+
+ +
+
+ +
+
+ + + + + + + + +
#define CHANNEL_FROM_TOP_ELEM( top_elem)   CHANNEL_FROM_CHANNEL_STACK(grpc_channel_stack_from_top_element(top_elem))
+
+ +
+
+ +
+
+ + + + + + + + +
#define CHANNEL_STACK_FROM_CHANNEL( c)   ((grpc_channel_stack *)((c) + 1))
+
+ +
+
+ +
+
+ + + + +
#define DEFAULT_MAX_MESSAGE_LENGTH   (100 * 1024 * 1024)
+
+ +
+
+ +
+
+ + + + +
#define NUM_CACHED_STATUS_ELEMS   3
+
+ +

Cache grpc-status: X mdelems for X = 0..NUM_CACHED_STATUS_ELEMS.

+

Avoids needing to take a metadata context lock for sending status if the status code is <= NUM_CACHED_STATUS_ELEMS. Sized to allow the most commonly used codes to fit in (OK, Cancelled, Unknown).

+ +
+
+

Typedef Documentation

+ +
+
+ + + + +
typedef struct registered_call registered_call
+
+ +
+
+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
grpc_call* grpc_channel_create_call (grpc_channelchannel,
grpc_completion_queuecompletion_queue,
const char * method,
const char * host,
gpr_timespec deadline 
)
+
+ +

Create a call given a grpc_channel, in order to call 'method'.

+

All completions are sent to 'completion_queue'. 'method' and 'host' need only live through the invocation of this function.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
grpc_channel* grpc_channel_create_from_filters (const char * target,
const grpc_channel_filter ** filters,
size_t num_filters,
const grpc_channel_argsargs,
grpc_mdctxmdctx,
int is_client 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
grpc_call* grpc_channel_create_registered_call (grpc_channelchannel,
grpc_completion_queuecompletion_queue,
void * registered_call_handle,
gpr_timespec deadline 
)
+
+ +

Create a call given a handle returned from grpc_channel_register_call.

+ +
+
+ +
+
+ + + + + + + + +
void grpc_channel_destroy (grpc_channelchannel)
+
+ +

Close and destroy a grpc channel.

+ +
+
+ +
+
+ + + + + + + + +
grpc_channel_stack* grpc_channel_get_channel_stack (grpc_channelchannel)
+
+ +

Get a (borrowed) pointer to this channels underlying channel stack.

+ +
+
+ +
+
+ + + + + + + + +
grpc_mdstr* grpc_channel_get_compression_algorithm_string (grpc_channelchannel)
+
+ +
+
+ +
+
+ + + + + + + + +
gpr_uint32 grpc_channel_get_max_message_length (grpc_channelchannel)
+
+ +
+
+ +
+
+ + + + + + + + +
grpc_mdstr* grpc_channel_get_message_string (grpc_channelchannel)
+
+ +
+
+ +
+
+ + + + + + + + +
grpc_mdctx* grpc_channel_get_metadata_context (grpc_channelchannel)
+
+ +

Get a (borrowed) pointer to the channel wide metadata context.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
grpc_mdelem* grpc_channel_get_reffed_status_elem (grpc_channelchannel,
int status_code 
)
+
+ +

Get a grpc_mdelem of grpc-status: X where X is the numeric value of status_code.

+

The returned elem is owned by the caller.

+ +
+
+ +
+
+ + + + + + + + +
grpc_mdstr* grpc_channel_get_status_string (grpc_channelchannel)
+
+ +
+
+ +
+
+ + + + + + + + +
char* grpc_channel_get_target (grpc_channelchannel)
+
+ +

Return a newly allocated string representing the target a channel was created for.

+ +
+
+ +
+
+ + + + + + + + +
void grpc_channel_internal_ref (grpc_channelc)
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_channel_internal_unref (grpc_channelchannel)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void* grpc_channel_register_call (grpc_channelchannel,
const char * method,
const char * host 
)
+
+ +

Pre-register a method/host pair on a channel.

+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/channel_8h.html b/doc/ref/core.internal/html/channel_8h.html new file mode 100644 index 0000000000..79fb0d91bc --- /dev/null +++ b/doc/ref/core.internal/html/channel_8h.html @@ -0,0 +1,405 @@ + + + + + + +GRPC Core: src/core/surface/channel.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
channel.h File Reference
+
+
+ +

Go to the source code of this file.

+ + + + + + +

+Macros

#define GRPC_CHANNEL_INTERNAL_REF(channel, reason)   grpc_channel_internal_ref(channel)
 
#define GRPC_CHANNEL_INTERNAL_UNREF(channel, reason)   grpc_channel_internal_unref(channel)
 
+ + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

grpc_channelgrpc_channel_create_from_filters (const char *target, const grpc_channel_filter **filters, size_t count, const grpc_channel_args *args, grpc_mdctx *mdctx, int is_client)
 
grpc_channel_stackgrpc_channel_get_channel_stack (grpc_channel *channel)
 Get a (borrowed) pointer to this channels underlying channel stack. More...
 
grpc_mdctxgrpc_channel_get_metadata_context (grpc_channel *channel)
 Get a (borrowed) pointer to the channel wide metadata context. More...
 
grpc_mdelemgrpc_channel_get_reffed_status_elem (grpc_channel *channel, int status_code)
 Get a grpc_mdelem of grpc-status: X where X is the numeric value of status_code. More...
 
grpc_mdstrgrpc_channel_get_status_string (grpc_channel *channel)
 
grpc_mdstrgrpc_channel_get_compression_algorithm_string (grpc_channel *channel)
 
grpc_mdstrgrpc_channel_get_message_string (grpc_channel *channel)
 
gpr_uint32 grpc_channel_get_max_message_length (grpc_channel *channel)
 
void grpc_channel_internal_ref (grpc_channel *channel)
 
void grpc_channel_internal_unref (grpc_channel *channel)
 
+

Macro Definition Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
#define GRPC_CHANNEL_INTERNAL_REF( channel,
 reason 
)   grpc_channel_internal_ref(channel)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
#define GRPC_CHANNEL_INTERNAL_UNREF( channel,
 reason 
)   grpc_channel_internal_unref(channel)
+
+ +
+
+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
grpc_channel* grpc_channel_create_from_filters (const char * target,
const grpc_channel_filter ** filters,
size_t count,
const grpc_channel_argsargs,
grpc_mdctxmdctx,
int is_client 
)
+
+ +
+
+ +
+
+ + + + + + + + +
grpc_channel_stack* grpc_channel_get_channel_stack (grpc_channelchannel)
+
+ +

Get a (borrowed) pointer to this channels underlying channel stack.

+ +
+
+ +
+
+ + + + + + + + +
grpc_mdstr* grpc_channel_get_compression_algorithm_string (grpc_channelchannel)
+
+ +
+
+ +
+
+ + + + + + + + +
gpr_uint32 grpc_channel_get_max_message_length (grpc_channelchannel)
+
+ +
+
+ +
+
+ + + + + + + + +
grpc_mdstr* grpc_channel_get_message_string (grpc_channelchannel)
+
+ +
+
+ +
+
+ + + + + + + + +
grpc_mdctx* grpc_channel_get_metadata_context (grpc_channelchannel)
+
+ +

Get a (borrowed) pointer to the channel wide metadata context.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
grpc_mdelem* grpc_channel_get_reffed_status_elem (grpc_channelchannel,
int status_code 
)
+
+ +

Get a grpc_mdelem of grpc-status: X where X is the numeric value of status_code.

+

The returned elem is owned by the caller.

+ +
+
+ +
+
+ + + + + + + + +
grpc_mdstr* grpc_channel_get_status_string (grpc_channelchannel)
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_channel_internal_ref (grpc_channelchannel)
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_channel_internal_unref (grpc_channelchannel)
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/channel_8h_source.html b/doc/ref/core.internal/html/channel_8h_source.html new file mode 100644 index 0000000000..3a3725e978 --- /dev/null +++ b/doc/ref/core.internal/html/channel_8h_source.html @@ -0,0 +1,191 @@ + + + + + + +GRPC Core: src/core/surface/channel.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
channel.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPC_INTERNAL_CORE_SURFACE_CHANNEL_H
+
35 #define GRPC_INTERNAL_CORE_SURFACE_CHANNEL_H
+
36 
+ + +
39 
+ +
41  const char *target, const grpc_channel_filter **filters, size_t count,
+
42  const grpc_channel_args *args, grpc_mdctx *mdctx, int is_client);
+
43 
+ +
46 
+ +
49 
+ +
55  int status_code);
+ + +
58  grpc_channel *channel);
+ + +
61 
+
62 #ifdef GRPC_CHANNEL_REF_COUNT_DEBUG
+
63 void grpc_channel_internal_ref(grpc_channel *channel, const char *reason);
+
64 void grpc_channel_internal_unref(grpc_channel *channel, const char *reason);
+
65 #define GRPC_CHANNEL_INTERNAL_REF(channel, reason) \
+
66  grpc_channel_internal_ref(channel, reason)
+
67 #define GRPC_CHANNEL_INTERNAL_UNREF(channel, reason) \
+
68  grpc_channel_internal_unref(channel, reason)
+
69 #else
+ + +
72 #define GRPC_CHANNEL_INTERNAL_REF(channel, reason) \
+
73  grpc_channel_internal_ref(channel)
+
74 #define GRPC_CHANNEL_INTERNAL_UNREF(channel, reason) \
+
75  grpc_channel_internal_unref(channel)
+
76 #endif
+
77 
+
78 #endif /* GRPC_INTERNAL_CORE_SURFACE_CHANNEL_H */
+
Definition: channel_stack.h:64
+
Definition: channel_stack.h:132
+
An array of arguments that can be passed around.
Definition: grpc.h:113
+
Definition: channel.c:61
+
void grpc_channel_internal_ref(grpc_channel *channel)
Definition: channel.c:211
+ + +
Definition: metadata.h:70
+
uint32_t gpr_uint32
Definition: port_platform.h:309
+
grpc_mdelem * grpc_channel_get_reffed_status_elem(grpc_channel *channel, int status_code)
Get a grpc_mdelem of grpc-status: X where X is the numeric value of status_code.
Definition: channel.c:285
+
grpc_mdctx * grpc_channel_get_metadata_context(grpc_channel *channel)
Get a (borrowed) pointer to the channel wide metadata context.
Definition: channel.c:272
+
gpr_uint32 grpc_channel_get_max_message_length(grpc_channel *channel)
Definition: channel.c:301
+
grpc_channel * grpc_channel_create_from_filters(const char *target, const grpc_channel_filter **filters, size_t count, const grpc_channel_args *args, grpc_mdctx *mdctx, int is_client)
Definition: channel.c:90
+
grpc_channel_stack * grpc_channel_get_channel_stack(grpc_channel *channel)
Get a (borrowed) pointer to this channels underlying channel stack.
Definition: channel.c:268
+
Definition: metadata.c:98
+
Definition: metadata.h:78
+
grpc_mdstr * grpc_channel_get_status_string(grpc_channel *channel)
Definition: channel.c:276
+
grpc_mdstr * grpc_channel_get_compression_algorithm_string(grpc_channel *channel)
Definition: channel.c:280
+
grpc_mdstr * grpc_channel_get_message_string(grpc_channel *channel)
Definition: channel.c:297
+
void grpc_channel_internal_unref(grpc_channel *channel)
Definition: channel.c:248
+
+ + + + diff --git a/doc/ref/core.internal/html/channel__args_8c.html b/doc/ref/core.internal/html/channel__args_8c.html new file mode 100644 index 0000000000..e68ae71dd5 --- /dev/null +++ b/doc/ref/core.internal/html/channel__args_8c.html @@ -0,0 +1,294 @@ + + + + + + +GRPC Core: src/core/channel/channel_args.c File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
channel_args.c File Reference
+
+
+ + + + + + + + + + + + + + + + + + + + + + +

+Functions

grpc_channel_argsgrpc_channel_args_copy_and_add (const grpc_channel_args *src, const grpc_arg *to_add, size_t num_to_add)
 Copy some arguments and add the to_add parameter in the end. More...
 
grpc_channel_argsgrpc_channel_args_copy (const grpc_channel_args *src)
 
grpc_channel_argsgrpc_channel_args_merge (const grpc_channel_args *a, const grpc_channel_args *b)
 Copy args from a then args from b into a new channel args. More...
 
void grpc_channel_args_destroy (grpc_channel_args *a)
 Destroy arguments created by grpc_channel_args_copy. More...
 
int grpc_channel_args_is_census_enabled (const grpc_channel_args *a)
 Reads census_enabled settings from channel args. More...
 
grpc_compression_algorithm grpc_channel_args_get_compression_algorithm (const grpc_channel_args *a)
 Returns the compression algorithm set in a. More...
 
grpc_channel_argsgrpc_channel_args_set_compression_algorithm (grpc_channel_args *a, grpc_compression_algorithm algorithm)
 Returns a channel arg instance with compression enabled. More...
 
+

Function Documentation

+ +
+
+ + + + + + + + +
grpc_channel_args* grpc_channel_args_copy (const grpc_channel_argssrc)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
grpc_channel_args* grpc_channel_args_copy_and_add (const grpc_channel_argssrc,
const grpc_argto_add,
size_t num_to_add 
)
+
+ +

Copy some arguments and add the to_add parameter in the end.

+

If to_add is NULL, it is equivalent to call grpc_channel_args_copy.

+ +
+
+ +
+
+ + + + + + + + +
void grpc_channel_args_destroy (grpc_channel_argsa)
+
+ +

Destroy arguments created by grpc_channel_args_copy.

+ +
+
+ +
+
+ + + + + + + + +
grpc_compression_algorithm grpc_channel_args_get_compression_algorithm (const grpc_channel_argsa)
+
+ +

Returns the compression algorithm set in a.

+ +
+
+ +
+
+ + + + + + + + +
int grpc_channel_args_is_census_enabled (const grpc_channel_argsa)
+
+ +

Reads census_enabled settings from channel args.

+

Returns 1 if census_enabled is specified in channel args, otherwise returns 0.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
grpc_channel_args* grpc_channel_args_merge (const grpc_channel_argsa,
const grpc_channel_argsb 
)
+
+ +

Copy args from a then args from b into a new channel args.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
grpc_channel_args* grpc_channel_args_set_compression_algorithm (grpc_channel_argsa,
grpc_compression_algorithm algorithm 
)
+
+ +

Returns a channel arg instance with compression enabled.

+

If a is non-NULL, its args are copied. N.B. GRPC_COMPRESS_NONE disables compression for the channel.

+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/channel__args_8h.html b/doc/ref/core.internal/html/channel__args_8h.html new file mode 100644 index 0000000000..07cd2603f5 --- /dev/null +++ b/doc/ref/core.internal/html/channel__args_8h.html @@ -0,0 +1,293 @@ + + + + + + +GRPC Core: src/core/channel/channel_args.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
channel_args.h File Reference
+
+
+
#include <grpc/compression.h>
+#include <grpc/grpc.h>
+
+

Go to the source code of this file.

+ + + + + + + + + + + + + + + + + + + + + + +

+Functions

grpc_channel_argsgrpc_channel_args_copy (const grpc_channel_args *src)
 
grpc_channel_argsgrpc_channel_args_copy_and_add (const grpc_channel_args *src, const grpc_arg *to_add, size_t num_to_add)
 Copy some arguments and add the to_add parameter in the end. More...
 
grpc_channel_argsgrpc_channel_args_merge (const grpc_channel_args *a, const grpc_channel_args *b)
 Copy args from a then args from b into a new channel args. More...
 
void grpc_channel_args_destroy (grpc_channel_args *a)
 Destroy arguments created by grpc_channel_args_copy. More...
 
int grpc_channel_args_is_census_enabled (const grpc_channel_args *a)
 Reads census_enabled settings from channel args. More...
 
grpc_compression_algorithm grpc_channel_args_get_compression_algorithm (const grpc_channel_args *a)
 Returns the compression algorithm set in a. More...
 
grpc_channel_argsgrpc_channel_args_set_compression_algorithm (grpc_channel_args *a, grpc_compression_algorithm algorithm)
 Returns a channel arg instance with compression enabled. More...
 
+

Function Documentation

+ +
+
+ + + + + + + + +
grpc_channel_args* grpc_channel_args_copy (const grpc_channel_argssrc)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
grpc_channel_args* grpc_channel_args_copy_and_add (const grpc_channel_argssrc,
const grpc_argto_add,
size_t num_to_add 
)
+
+ +

Copy some arguments and add the to_add parameter in the end.

+

If to_add is NULL, it is equivalent to call grpc_channel_args_copy.

+ +
+
+ +
+
+ + + + + + + + +
void grpc_channel_args_destroy (grpc_channel_argsa)
+
+ +

Destroy arguments created by grpc_channel_args_copy.

+ +
+
+ +
+
+ + + + + + + + +
grpc_compression_algorithm grpc_channel_args_get_compression_algorithm (const grpc_channel_argsa)
+
+ +

Returns the compression algorithm set in a.

+ +
+
+ +
+
+ + + + + + + + +
int grpc_channel_args_is_census_enabled (const grpc_channel_argsa)
+
+ +

Reads census_enabled settings from channel args.

+

Returns 1 if census_enabled is specified in channel args, otherwise returns 0.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
grpc_channel_args* grpc_channel_args_merge (const grpc_channel_argsa,
const grpc_channel_argsb 
)
+
+ +

Copy args from a then args from b into a new channel args.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
grpc_channel_args* grpc_channel_args_set_compression_algorithm (grpc_channel_argsa,
grpc_compression_algorithm algorithm 
)
+
+ +

Returns a channel arg instance with compression enabled.

+

If a is non-NULL, its args are copied. N.B. GRPC_COMPRESS_NONE disables compression for the channel.

+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/channel__args_8h_source.html b/doc/ref/core.internal/html/channel__args_8h_source.html new file mode 100644 index 0000000000..da5141f519 --- /dev/null +++ b/doc/ref/core.internal/html/channel__args_8h_source.html @@ -0,0 +1,171 @@ + + + + + + +GRPC Core: src/core/channel/channel_args.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
channel_args.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPC_INTERNAL_CORE_CHANNEL_CHANNEL_ARGS_H
+
35 #define GRPC_INTERNAL_CORE_CHANNEL_CHANNEL_ARGS_H
+
36 
+
37 #include <grpc/compression.h>
+
38 #include <grpc/grpc.h>
+
39 
+
40 /* Copy some arguments */
+ +
42 
+ +
46  const grpc_arg *to_add,
+
47  size_t num_to_add);
+
48 
+ +
51  const grpc_channel_args *b);
+
52 
+ +
55 
+ +
59 
+ +
62  const grpc_channel_args *a);
+
63 
+ + +
69 
+
70 #endif /* GRPC_INTERNAL_CORE_CHANNEL_CHANNEL_ARGS_H */
+
void grpc_channel_args_destroy(grpc_channel_args *a)
Destroy arguments created by grpc_channel_args_copy.
Definition: channel_args.c:95
+ +
grpc_compression_algorithm
Definition: compression.h:45
+
An array of arguments that can be passed around.
Definition: grpc.h:113
+
grpc_channel_args * grpc_channel_args_set_compression_algorithm(grpc_channel_args *a, grpc_compression_algorithm algorithm)
Returns a channel arg instance with compression enabled.
Definition: channel_args.c:141
+
A single argument...
Definition: grpc.h:91
+
grpc_channel_args * grpc_channel_args_copy_and_add(const grpc_channel_args *src, const grpc_arg *to_add, size_t num_to_add)
Copy some arguments and add the to_add parameter in the end.
Definition: channel_args.c:64
+
grpc_channel_args * grpc_channel_args_copy(const grpc_channel_args *src)
Definition: channel_args.c:86
+
grpc_channel_args * grpc_channel_args_merge(const grpc_channel_args *a, const grpc_channel_args *b)
Copy args from a then args from b into a new channel args.
Definition: channel_args.c:90
+
int grpc_channel_args_is_census_enabled(const grpc_channel_args *a)
Reads census_enabled settings from channel args.
Definition: channel_args.c:116
+ +
grpc_compression_algorithm grpc_channel_args_get_compression_algorithm(const grpc_channel_args *a)
Returns the compression algorithm set in a.
Definition: channel_args.c:127
+
+ + + + diff --git a/doc/ref/core.internal/html/channel__connectivity_8c.html b/doc/ref/core.internal/html/channel__connectivity_8c.html new file mode 100644 index 0000000000..d80b0b00eb --- /dev/null +++ b/doc/ref/core.internal/html/channel__connectivity_8c.html @@ -0,0 +1,232 @@ + + + + + + +GRPC Core: src/core/surface/channel_connectivity.c File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
channel_connectivity.c File Reference
+
+
+ + + + +

+Data Structures

struct  state_watcher
 
+ + + +

+Enumerations

enum  callback_phase { WAITING, +CALLING_BACK, +CALLING_BACK_AND_FINISHED, +CALLED_BACK + }
 
+ + + + + + + +

+Functions

grpc_connectivity_state grpc_channel_check_connectivity_state (grpc_channel *channel, int try_to_connect)
 Check the connectivity state of a channel. More...
 
void grpc_channel_watch_connectivity_state (grpc_channel *channel, grpc_connectivity_state last_observed_state, gpr_timespec deadline, grpc_completion_queue *cq, void *tag)
 Watch for a change in connectivity state. More...
 
+

Enumeration Type Documentation

+ +
+
+ + + + +
enum callback_phase
+
+ + + + + +
Enumerator
WAITING  +
CALLING_BACK  +
CALLING_BACK_AND_FINISHED  +
CALLED_BACK  +
+ +
+
+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
grpc_connectivity_state grpc_channel_check_connectivity_state (grpc_channelchannel,
int try_to_connect 
)
+
+ +

Check the connectivity state of a channel.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void grpc_channel_watch_connectivity_state (grpc_channelchannel,
grpc_connectivity_state last_observed_state,
gpr_timespec deadline,
grpc_completion_queuecq,
void * tag 
)
+
+ +

Watch for a change in connectivity state.

+

Once the channel connectivity state is different from last_observed_state, tag will be enqueued on cq with success=1. If deadline expires BEFORE the state is changed, tag will be enqueued on cq with success=0.

+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/channel__create_8c.html b/doc/ref/core.internal/html/channel__create_8c.html new file mode 100644 index 0000000000..6c0daaa4d7 --- /dev/null +++ b/doc/ref/core.internal/html/channel__create_8c.html @@ -0,0 +1,177 @@ + + + + + + +GRPC Core: src/core/surface/channel_create.c File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
channel_create.c File Reference
+
+
+ + + + + + +

+Data Structures

struct  connector
 
struct  subchannel_factory
 
+ + + +

+Macros

#define MAX_FILTERS   3
 
+ + + + +

+Functions

grpc_channelgrpc_insecure_channel_create (const char *target, const grpc_channel_args *args)
 Create a client channel to 'target'. More...
 
+

Macro Definition Documentation

+ +
+
+ + + + +
#define MAX_FILTERS   3
+
+ +
+
+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
grpc_channel* grpc_insecure_channel_create (const char * target,
const grpc_channel_argsargs 
)
+
+ +

Create a client channel to 'target'.

+

Additional channel level configuration MAY be provided by grpc_channel_args, though the expectation is that most clients will want to simply pass NULL. See grpc_channel_args definition for more on this. The data in 'args' need only live through the invocation of this function.

+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/channel__stack_8c.html b/doc/ref/core.internal/html/channel__stack_8c.html new file mode 100644 index 0000000000..5bc66c5c07 --- /dev/null +++ b/doc/ref/core.internal/html/channel__stack_8c.html @@ -0,0 +1,556 @@ + + + + + + +GRPC Core: src/core/channel/channel_stack.c File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
channel_stack.c File Reference
+
+
+
#include "src/core/channel/channel_stack.h"
+#include <grpc/support/log.h>
+#include <stdlib.h>
+#include <string.h>
+
+ + + + + + + +

+Macros

#define ROUND_UP_TO_ALIGNMENT_SIZE(x)   (((x) + GPR_MAX_ALIGNMENT - 1) & ~(GPR_MAX_ALIGNMENT - 1))
 
#define CHANNEL_ELEMS_FROM_STACK(stk)
 
#define CALL_ELEMS_FROM_STACK(stk)
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

size_t grpc_channel_stack_size (const grpc_channel_filter **filters, size_t filter_count)
 
grpc_channel_elementgrpc_channel_stack_element (grpc_channel_stack *channel_stack, size_t index)
 
grpc_channel_elementgrpc_channel_stack_last_element (grpc_channel_stack *channel_stack)
 
grpc_call_elementgrpc_call_stack_element (grpc_call_stack *call_stack, size_t index)
 
void grpc_channel_stack_init (const grpc_channel_filter **filters, size_t filter_count, grpc_channel *master, const grpc_channel_args *args, grpc_mdctx *metadata_context, grpc_channel_stack *stack)
 
void grpc_channel_stack_destroy (grpc_channel_stack *stack)
 
void grpc_call_stack_init (grpc_channel_stack *channel_stack, const void *transport_server_data, grpc_transport_stream_op *initial_op, grpc_call_stack *call_stack)
 
void grpc_call_stack_destroy (grpc_call_stack *stack)
 
void grpc_call_next_op (grpc_call_element *elem, grpc_transport_stream_op *op)
 
char * grpc_call_next_get_peer (grpc_call_element *elem)
 
void grpc_channel_next_op (grpc_channel_element *elem, grpc_transport_op *op)
 
grpc_channel_stackgrpc_channel_stack_from_top_element (grpc_channel_element *elem)
 
grpc_call_stackgrpc_call_stack_from_top_element (grpc_call_element *elem)
 
void grpc_call_element_send_cancel (grpc_call_element *cur_elem)
 
+ + + +

+Variables

int grpc_trace_channel = 0
 
+

Macro Definition Documentation

+ +
+
+ + + + + + + + +
#define CALL_ELEMS_FROM_STACK( stk)
+
+Value:
((grpc_call_element *)((char *)(stk) + \
+ +
#define ROUND_UP_TO_ALIGNMENT_SIZE(x)
Definition: channel_stack.c:59
+
Definition: channel_stack.h:141
+
Definition: channel_stack.h:124
+
+
+
+ +
+
+ + + + + + + + +
#define CHANNEL_ELEMS_FROM_STACK( stk)
+
+Value:
+
sizeof(grpc_channel_stack))))
+
Definition: channel_stack.h:132
+
#define ROUND_UP_TO_ALIGNMENT_SIZE(x)
Definition: channel_stack.c:59
+
Definition: channel_stack.h:116
+
+
+
+ +
+
+ + + + + + + + +
#define ROUND_UP_TO_ALIGNMENT_SIZE( x)   (((x) + GPR_MAX_ALIGNMENT - 1) & ~(GPR_MAX_ALIGNMENT - 1))
+
+ +
+
+

Function Documentation

+ +
+
+ + + + + + + + +
void grpc_call_element_send_cancel (grpc_call_elementcur_elem)
+
+ +
+
+ +
+
+ + + + + + + + +
char* grpc_call_next_get_peer (grpc_call_elementelem)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void grpc_call_next_op (grpc_call_elementelem,
grpc_transport_stream_opop 
)
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_call_stack_destroy (grpc_call_stackstack)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
grpc_call_element* grpc_call_stack_element (grpc_call_stackcall_stack,
size_t index 
)
+
+ +
+
+ +
+
+ + + + + + + + +
grpc_call_stack* grpc_call_stack_from_top_element (grpc_call_elementelem)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void grpc_call_stack_init (grpc_channel_stackchannel_stack,
const void * transport_server_data,
grpc_transport_stream_opinitial_op,
grpc_call_stackcall_stack 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void grpc_channel_next_op (grpc_channel_elementelem,
grpc_transport_opop 
)
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_channel_stack_destroy (grpc_channel_stackstack)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
grpc_channel_element* grpc_channel_stack_element (grpc_channel_stackchannel_stack,
size_t index 
)
+
+ +
+
+ +
+
+ + + + + + + + +
grpc_channel_stack* grpc_channel_stack_from_top_element (grpc_channel_elementelem)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void grpc_channel_stack_init (const grpc_channel_filter ** filters,
size_t filter_count,
grpc_channelmaster,
const grpc_channel_argsargs,
grpc_mdctxmetadata_context,
grpc_channel_stackstack 
)
+
+ +
+
+ +
+
+ + + + + + + + +
grpc_channel_element* grpc_channel_stack_last_element (grpc_channel_stackchannel_stack)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
size_t grpc_channel_stack_size (const grpc_channel_filter ** filters,
size_t filter_count 
)
+
+ +
+
+

Variable Documentation

+ +
+
+ + + + +
int grpc_trace_channel = 0
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/channel__stack_8h.html b/doc/ref/core.internal/html/channel__stack_8h.html new file mode 100644 index 0000000000..044110bb4f --- /dev/null +++ b/doc/ref/core.internal/html/channel__stack_8h.html @@ -0,0 +1,622 @@ + + + + + + +GRPC Core: src/core/channel/channel_stack.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
channel_stack.h File Reference
+
+
+
#include <stddef.h>
+#include <grpc/grpc.h>
+#include <grpc/support/log.h>
+#include "src/core/debug/trace.h"
+#include "src/core/transport/transport.h"
+
+

Go to the source code of this file.

+ + + + + + + + + + + + +

+Data Structures

struct  grpc_channel_filter
 
struct  grpc_channel_element
 
struct  grpc_call_element
 
struct  grpc_channel_stack
 
struct  grpc_call_stack
 
+ + + +

+Macros

#define GRPC_CALL_LOG_OP(sev, elem, op)   if (grpc_trace_channel) grpc_call_log_op(sev, elem, op)
 
+ + + + + +

+Typedefs

typedef struct grpc_channel_element grpc_channel_element
 
typedef struct grpc_call_element grpc_call_element
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

grpc_channel_elementgrpc_channel_stack_element (grpc_channel_stack *stack, size_t i)
 
grpc_channel_elementgrpc_channel_stack_last_element (grpc_channel_stack *stack)
 
grpc_call_elementgrpc_call_stack_element (grpc_call_stack *stack, size_t i)
 
size_t grpc_channel_stack_size (const grpc_channel_filter **filters, size_t filter_count)
 
void grpc_channel_stack_init (const grpc_channel_filter **filters, size_t filter_count, grpc_channel *master, const grpc_channel_args *args, grpc_mdctx *metadata_context, grpc_channel_stack *stack)
 
void grpc_channel_stack_destroy (grpc_channel_stack *stack)
 
void grpc_call_stack_init (grpc_channel_stack *channel_stack, const void *transport_server_data, grpc_transport_stream_op *initial_op, grpc_call_stack *call_stack)
 
void grpc_call_stack_destroy (grpc_call_stack *stack)
 
void grpc_call_next_op (grpc_call_element *elem, grpc_transport_stream_op *op)
 
void grpc_channel_next_op (grpc_channel_element *elem, grpc_transport_op *op)
 
char * grpc_call_next_get_peer (grpc_call_element *elem)
 
grpc_channel_stackgrpc_channel_stack_from_top_element (grpc_channel_element *elem)
 
grpc_call_stackgrpc_call_stack_from_top_element (grpc_call_element *elem)
 
void grpc_call_log_op (char *file, int line, gpr_log_severity severity, grpc_call_element *elem, grpc_transport_stream_op *op)
 
void grpc_call_element_send_cancel (grpc_call_element *cur_elem)
 
+ + + +

+Variables

int grpc_trace_channel
 
+

Macro Definition Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
#define GRPC_CALL_LOG_OP( sev,
 elem,
 op 
)   if (grpc_trace_channel) grpc_call_log_op(sev, elem, op)
+
+ +
+
+

Typedef Documentation

+ +
+
+ + + + +
typedef struct grpc_call_element grpc_call_element
+
+ +
+
+ +
+
+ + + + +
typedef struct grpc_channel_element grpc_channel_element
+
+ +
+
+

Function Documentation

+ +
+
+ + + + + + + + +
void grpc_call_element_send_cancel (grpc_call_elementcur_elem)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void grpc_call_log_op (char * file,
int line,
gpr_log_severity severity,
grpc_call_elementelem,
grpc_transport_stream_opop 
)
+
+ +
+
+ +
+
+ + + + + + + + +
char* grpc_call_next_get_peer (grpc_call_elementelem)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void grpc_call_next_op (grpc_call_elementelem,
grpc_transport_stream_opop 
)
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_call_stack_destroy (grpc_call_stackstack)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
grpc_call_element* grpc_call_stack_element (grpc_call_stackstack,
size_t i 
)
+
+ +
+
+ +
+
+ + + + + + + + +
grpc_call_stack* grpc_call_stack_from_top_element (grpc_call_elementelem)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void grpc_call_stack_init (grpc_channel_stackchannel_stack,
const void * transport_server_data,
grpc_transport_stream_opinitial_op,
grpc_call_stackcall_stack 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void grpc_channel_next_op (grpc_channel_elementelem,
grpc_transport_opop 
)
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_channel_stack_destroy (grpc_channel_stackstack)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
grpc_channel_element* grpc_channel_stack_element (grpc_channel_stackstack,
size_t i 
)
+
+ +
+
+ +
+
+ + + + + + + + +
grpc_channel_stack* grpc_channel_stack_from_top_element (grpc_channel_elementelem)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void grpc_channel_stack_init (const grpc_channel_filter ** filters,
size_t filter_count,
grpc_channelmaster,
const grpc_channel_argsargs,
grpc_mdctxmetadata_context,
grpc_channel_stackstack 
)
+
+ +
+
+ +
+
+ + + + + + + + +
grpc_channel_element* grpc_channel_stack_last_element (grpc_channel_stackstack)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
size_t grpc_channel_stack_size (const grpc_channel_filter ** filters,
size_t filter_count 
)
+
+ +
+
+

Variable Documentation

+ +
+
+ + + + +
int grpc_trace_channel
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/channel__stack_8h_source.html b/doc/ref/core.internal/html/channel__stack_8h_source.html new file mode 100644 index 0000000000..f7a27c52ba --- /dev/null +++ b/doc/ref/core.internal/html/channel__stack_8h_source.html @@ -0,0 +1,339 @@ + + + + + + +GRPC Core: src/core/channel/channel_stack.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
channel_stack.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPC_INTERNAL_CORE_CHANNEL_CHANNEL_STACK_H
+
35 #define GRPC_INTERNAL_CORE_CHANNEL_CHANNEL_STACK_H
+
36 
+
37 /* A channel filter defines how operations on a channel are implemented.
+
38  Channel filters are chained together to create full channels, and if those
+
39  chains are linear, then channel stacks provide a mechanism to minimize
+
40  allocations for that chain.
+
41  Call stacks are created by channel stacks and represent the per-call data
+
42  for that stack. */
+
43 
+
44 #include <stddef.h>
+
45 
+
46 #include <grpc/grpc.h>
+
47 #include <grpc/support/log.h>
+
48 #include "src/core/debug/trace.h"
+ +
50 
+ + +
53 
+
54 /* Channel filters specify:
+
55  1. the amount of memory needed in the channel & call (via the sizeof_XXX
+
56  members)
+
57  2. functions to initialize and destroy channel & call data
+
58  (init_XXX, destroy_XXX)
+
59  3. functions to implement call operations and channel operations (call_op,
+
60  channel_op)
+
61  4. a name, which is useful when debugging
+
62 
+
63  Members are laid out in approximate frequency of use order. */
+
64 typedef struct {
+
65  /* Called to eg. send/receive data on a call.
+
66  See grpc_call_next_op on how to call the next element in the stack */
+
67  void (*start_transport_stream_op)(grpc_call_element *elem,
+ +
69  /* Called to handle channel level operations - e.g. new calls, or transport
+
70  closure.
+
71  See grpc_channel_next_op on how to call the next element in the stack */
+
72  void (*start_transport_op)(grpc_channel_element *elem, grpc_transport_op *op);
+
73 
+
74  /* sizeof(per call data) */
+ +
76  /* Initialize per call data.
+
77  elem is initialized at the start of the call, and elem->call_data is what
+
78  needs initializing.
+
79  The filter does not need to do any chaining.
+
80  server_transport_data is an opaque pointer. If it is NULL, this call is
+
81  on a client; if it is non-NULL, then it points to memory owned by the
+
82  transport and is on the server. Most filters want to ignore this
+
83  argument.*/
+
84  void (*init_call_elem)(grpc_call_element *elem,
+
85  const void *server_transport_data,
+
86  grpc_transport_stream_op *initial_op);
+
87  /* Destroy per call data.
+
88  The filter does not need to do any chaining */
+
89  void (*destroy_call_elem)(grpc_call_element *elem);
+
90 
+
91  /* sizeof(per channel data) */
+ +
93  /* Initialize per-channel data.
+
94  elem is initialized at the start of the call, and elem->channel_data is
+
95  what needs initializing.
+
96  is_first, is_last designate this elements position in the stack, and are
+
97  useful for asserting correct configuration by upper layer code.
+
98  The filter does not need to do any chaining */
+
99  void (*init_channel_elem)(grpc_channel_element *elem, grpc_channel *master,
+
100  const grpc_channel_args *args,
+
101  grpc_mdctx *metadata_context, int is_first,
+
102  int is_last);
+
103  /* Destroy per channel data.
+
104  The filter does not need to do any chaining */
+
105  void (*destroy_channel_elem)(grpc_channel_element *elem);
+
106 
+
107  /* Implement grpc_call_get_peer() */
+
108  char *(*get_peer)(grpc_call_element *elem);
+
109 
+
110  /* The name of this filter */
+
111  const char *name;
+ +
113 
+
114 /* A channel_element tracks its filter and the filter requested memory within
+
115  a channel allocation */
+ + + +
119 };
+
120 
+
121 /* A call_element tracks its filter, the filter requested memory within
+
122  a channel allocation, and the filter requested memory within a call
+
123  allocation */
+ + + +
127  void *call_data;
+
128 };
+
129 
+
130 /* A channel stack tracks a set of related filters for one channel, and
+
131  guarantees they live within a single malloc() allocation */
+
132 typedef struct {
+
133  size_t count;
+
134  /* Memory required for a call stack (computed at channel stack
+
135  initialization) */
+ + +
138 
+
139 /* A call stack tracks a set of related filters for one call, and guarantees
+
140  they live within a single malloc() allocation */
+
141 typedef struct { size_t count; } grpc_call_stack;
+
142 
+
143 /* Get a channel element given a channel stack and its index */
+ +
145  size_t i);
+
146 /* Get the last channel element in a channel stack */
+ +
148  grpc_channel_stack *stack);
+
149 /* Get a call stack element given a call stack and an index */
+ +
151 
+
152 /* Determine memory required for a channel stack containing a set of filters */
+
153 size_t grpc_channel_stack_size(const grpc_channel_filter **filters,
+
154  size_t filter_count);
+
155 /* Initialize a channel stack given some filters */
+
156 void grpc_channel_stack_init(const grpc_channel_filter **filters,
+
157  size_t filter_count, grpc_channel *master,
+
158  const grpc_channel_args *args,
+
159  grpc_mdctx *metadata_context,
+
160  grpc_channel_stack *stack);
+
161 /* Destroy a channel stack */
+ +
163 
+
164 /* Initialize a call stack given a channel stack. transport_server_data is
+
165  expected to be NULL on a client, or an opaque transport owned pointer on the
+
166  server. */
+
167 void grpc_call_stack_init(grpc_channel_stack *channel_stack,
+
168  const void *transport_server_data,
+
169  grpc_transport_stream_op *initial_op,
+
170  grpc_call_stack *call_stack);
+
171 /* Destroy a call stack */
+ +
173 
+
174 /* Call the next operation in a call stack */
+ +
176 /* Call the next operation (depending on call directionality) in a channel
+
177  stack */
+ +
179 /* Pass through a request to get_peer to the next child element */
+ +
181 
+
182 /* Given the top element of a channel stack, get the channel stack itself */
+ +
184  grpc_channel_element *elem);
+
185 /* Given the top element of a call stack, get the call stack itself */
+ +
187 
+
188 void grpc_call_log_op(char *file, int line, gpr_log_severity severity,
+ +
190 
+ +
192 
+
193 extern int grpc_trace_channel;
+
194 
+
195 #define GRPC_CALL_LOG_OP(sev, elem, op) \
+
196  if (grpc_trace_channel) grpc_call_log_op(sev, elem, op)
+
197 
+
198 #endif /* GRPC_INTERNAL_CORE_CHANNEL_CHANNEL_STACK_H */
+
Definition: channel_stack.h:64
+
size_t count
Definition: channel_stack.h:141
+
Definition: channel_stack.h:132
+ +
void grpc_call_stack_init(grpc_channel_stack *channel_stack, const void *transport_server_data, grpc_transport_stream_op *initial_op, grpc_call_stack *call_stack)
Definition: channel_stack.c:151
+
char * grpc_call_next_get_peer(grpc_call_element *elem)
Definition: channel_stack.c:194
+
int grpc_trace_channel
Definition: channel_stack.c:40
+ +
An array of arguments that can be passed around.
Definition: grpc.h:113
+
Definition: channel.c:61
+
size_t sizeof_channel_data
Definition: channel_stack.h:92
+
Definition: transport.h:66
+
void grpc_call_next_op(grpc_call_element *elem, grpc_transport_stream_op *op)
Definition: channel_stack.c:189
+
size_t count
Definition: channel_stack.h:133
+
void grpc_channel_stack_init(const grpc_channel_filter **filters, size_t filter_count, grpc_channel *master, const grpc_channel_args *args, grpc_mdctx *metadata_context, grpc_channel_stack *stack)
Definition: channel_stack.c:104
+
grpc_channel_stack * grpc_channel_stack_from_top_element(grpc_channel_element *elem)
Definition: channel_stack.c:204
+
size_t sizeof_call_data
Definition: channel_stack.h:75
+
void grpc_call_element_send_cancel(grpc_call_element *cur_elem)
Definition: channel_stack.c:215
+
void * channel_data
Definition: channel_stack.h:118
+
const grpc_channel_filter * filter
Definition: channel_stack.h:117
+
gpr_log_severity
Definition: log.h:56
+
void grpc_channel_stack_destroy(grpc_channel_stack *stack)
Definition: channel_stack.c:140
+
grpc_call_stack * grpc_call_stack_from_top_element(grpc_call_element *elem)
Definition: channel_stack.c:210
+
Definition: metadata.c:98
+
const grpc_channel_filter * filter
Definition: channel_stack.h:125
+
size_t grpc_channel_stack_size(const grpc_channel_filter **filters, size_t filter_count)
Definition: channel_stack.c:62
+
void grpc_call_stack_destroy(grpc_call_stack *stack)
Definition: channel_stack.c:178
+
void grpc_channel_next_op(grpc_channel_element *elem, grpc_transport_op *op)
Definition: channel_stack.c:199
+
void grpc_call_log_op(char *file, int line, gpr_log_severity severity, grpc_call_element *elem, grpc_transport_stream_op *op)
Definition: transport_op_string.c:161
+
void * call_data
Definition: channel_stack.h:127
+
Definition: channel_stack.h:141
+
Definition: channel_stack.h:116
+
grpc_channel_element * grpc_channel_stack_last_element(grpc_channel_stack *stack)
Definition: channel_stack.c:94
+
Definition: channel_stack.h:124
+
grpc_call_element * grpc_call_stack_element(grpc_call_stack *stack, size_t i)
Definition: channel_stack.c:99
+
size_t call_stack_size
Definition: channel_stack.h:136
+ + +
const char * name
Definition: channel_stack.h:111
+
void * channel_data
Definition: channel_stack.h:126
+
grpc_channel_element * grpc_channel_stack_element(grpc_channel_stack *stack, size_t i)
Definition: channel_stack.c:89
+
Transport op: a set of operations to perform on a transport as a whole.
Definition: transport.h:90
+
+ + + + diff --git a/doc/ref/core.internal/html/chttp2__transport_8c.html b/doc/ref/core.internal/html/chttp2__transport_8c.html new file mode 100644 index 0000000000..28354705ad --- /dev/null +++ b/doc/ref/core.internal/html/chttp2__transport_8c.html @@ -0,0 +1,651 @@ + + + + + + +GRPC Core: src/core/transport/chttp2_transport.c File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
chttp2_transport.c File Reference
+
+
+ + + + + + + + + + + + + + + + + + + + + + +

+Macros

#define DEFAULT_WINDOW   65535
 
#define DEFAULT_CONNECTION_WINDOW_TARGET   (1024 * 1024)
 
#define MAX_WINDOW   0x7fffffffu
 
#define MAX_CLIENT_STREAM_ID   0x7fffffffu
 
#define TRANSPORT_FROM_WRITING(tw)
 
#define TRANSPORT_FROM_PARSING(tw)
 
#define TRANSPORT_FROM_GLOBAL(tg)
 
#define STREAM_FROM_GLOBAL(sg)   ((grpc_chttp2_stream *)((char *)(sg)-offsetof(grpc_chttp2_stream, global)))
 
#define REF_TRANSPORT(t, r)   ref_transport(t)
 
#define UNREF_TRANSPORT(t, r)   unref_transport(t)
 
+ + + + + + + + + + + + + + + + + + +

+Functions

grpc_chttp2_stream_parsinggrpc_chttp2_parsing_lookup_stream (grpc_chttp2_transport_parsing *transport_parsing, gpr_uint32 id)
 
grpc_chttp2_stream_parsinggrpc_chttp2_parsing_accept_stream (grpc_chttp2_transport_parsing *transport_parsing, gpr_uint32 id)
 
void grpc_chttp2_terminate_writing (grpc_chttp2_transport_writing *transport_writing, int success)
 
void grpc_chttp2_add_incoming_goaway (grpc_chttp2_transport_global *transport_global, gpr_uint32 goaway_error, gpr_slice goaway_text)
 
void grpc_chttp2_schedule_closure (grpc_chttp2_transport_global *transport_global, grpc_iomgr_closure *closure, int success)
 schedule a closure to run without the transport lock taken More...
 
void grpc_chttp2_flowctl_trace (const char *file, int line, const char *reason, const char *context, const char *var, int is_client, gpr_uint32 stream_id, gpr_int64 current_value, gpr_int64 delta)
 
grpc_transportgrpc_create_chttp2_transport (const grpc_channel_args *channel_args, grpc_endpoint *ep, grpc_mdctx *mdctx, int is_client)
 
void grpc_chttp2_transport_start_reading (grpc_transport *transport, gpr_slice *slices, size_t nslices)
 
+ + + + + +

+Variables

int grpc_http_trace = 0
 
int grpc_flowctl_trace = 0
 
+

Macro Definition Documentation

+ +
+
+ + + + +
#define DEFAULT_CONNECTION_WINDOW_TARGET   (1024 * 1024)
+
+ +
+
+ +
+
+ + + + +
#define DEFAULT_WINDOW   65535
+
+ +
+
+ +
+
+ + + + +
#define MAX_CLIENT_STREAM_ID   0x7fffffffu
+
+ +
+
+ +
+
+ + + + +
#define MAX_WINDOW   0x7fffffffu
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
#define REF_TRANSPORT( t,
 
)   ref_transport(t)
+
+ +
+
+ +
+
+ + + + + + + + +
#define STREAM_FROM_GLOBAL( sg)   ((grpc_chttp2_stream *)((char *)(sg)-offsetof(grpc_chttp2_stream, global)))
+
+ +
+
+ +
+
+ + + + + + + + +
#define TRANSPORT_FROM_GLOBAL( tg)
+
+Value:
((grpc_chttp2_transport *)((char *)(tg)-offsetof(grpc_chttp2_transport, \
+
global)))
+
Definition: internal.h:283
+
+
+
+ +
+
+ + + + + + + + +
#define TRANSPORT_FROM_PARSING( tw)
+
+Value:
((grpc_chttp2_transport *)((char *)(tw)-offsetof(grpc_chttp2_transport, \
+
parsing)))
+
Definition: internal.h:283
+
+
+
+ +
+
+ + + + + + + + +
#define TRANSPORT_FROM_WRITING( tw)
+
+Value:
((grpc_chttp2_transport *)((char *)(tw)-offsetof(grpc_chttp2_transport, \
+
writing)))
+
Definition: internal.h:283
+
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
#define UNREF_TRANSPORT( t,
 
)   unref_transport(t)
+
+ +
+
+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void grpc_chttp2_add_incoming_goaway (grpc_chttp2_transport_globaltransport_global,
gpr_uint32 goaway_error,
gpr_slice goaway_text 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void grpc_chttp2_flowctl_trace (const char * file,
int line,
const char * reason,
const char * context,
const char * var,
int is_client,
gpr_uint32 stream_id,
gpr_int64 current_value,
gpr_int64 delta 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
grpc_chttp2_stream_parsing* grpc_chttp2_parsing_accept_stream (grpc_chttp2_transport_parsingtransport_parsing,
gpr_uint32 id 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
grpc_chttp2_stream_parsing* grpc_chttp2_parsing_lookup_stream (grpc_chttp2_transport_parsingtransport_parsing,
gpr_uint32 id 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void grpc_chttp2_schedule_closure (grpc_chttp2_transport_globaltransport_global,
grpc_iomgr_closureclosure,
int success 
)
+
+ +

schedule a closure to run without the transport lock taken

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void grpc_chttp2_terminate_writing (grpc_chttp2_transport_writingtransport_writing,
int success 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void grpc_chttp2_transport_start_reading (grpc_transporttransport,
gpr_sliceslices,
size_t nslices 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
grpc_transport* grpc_create_chttp2_transport (const grpc_channel_argschannel_args,
grpc_endpointep,
grpc_mdctxmdctx,
int is_client 
)
+
+ +
+
+

Variable Documentation

+ +
+
+ + + + +
int grpc_flowctl_trace = 0
+
+ +
+
+ +
+
+ + + + +
int grpc_http_trace = 0
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/chttp2__transport_8h.html b/doc/ref/core.internal/html/chttp2__transport_8h.html new file mode 100644 index 0000000000..d59452e085 --- /dev/null +++ b/doc/ref/core.internal/html/chttp2__transport_8h.html @@ -0,0 +1,217 @@ + + + + + + +GRPC Core: src/core/transport/chttp2_transport.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
chttp2_transport.h File Reference
+
+
+ +

Go to the source code of this file.

+ + + + + + +

+Functions

grpc_transportgrpc_create_chttp2_transport (const grpc_channel_args *channel_args, grpc_endpoint *ep, grpc_mdctx *metadata_context, int is_client)
 
void grpc_chttp2_transport_start_reading (grpc_transport *transport, gpr_slice *slices, size_t nslices)
 
+ + + + + +

+Variables

int grpc_http_trace
 
int grpc_flowctl_trace
 
+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void grpc_chttp2_transport_start_reading (grpc_transporttransport,
gpr_sliceslices,
size_t nslices 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
grpc_transport* grpc_create_chttp2_transport (const grpc_channel_argschannel_args,
grpc_endpointep,
grpc_mdctxmetadata_context,
int is_client 
)
+
+ +
+
+

Variable Documentation

+ +
+
+ + + + +
int grpc_flowctl_trace
+
+ +
+
+ +
+
+ + + + +
int grpc_http_trace
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/chttp2__transport_8h_source.html b/doc/ref/core.internal/html/chttp2__transport_8h_source.html new file mode 100644 index 0000000000..604c67eb94 --- /dev/null +++ b/doc/ref/core.internal/html/chttp2__transport_8h_source.html @@ -0,0 +1,160 @@ + + + + + + +GRPC Core: src/core/transport/chttp2_transport.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
chttp2_transport.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPC_INTERNAL_CORE_TRANSPORT_CHTTP2_TRANSPORT_H
+
35 #define GRPC_INTERNAL_CORE_TRANSPORT_CHTTP2_TRANSPORT_H
+
36 
+ + +
39 
+
40 extern int grpc_http_trace;
+
41 extern int grpc_flowctl_trace;
+
42 
+ +
44  const grpc_channel_args *channel_args, grpc_endpoint *ep,
+
45  grpc_mdctx *metadata_context, int is_client);
+
46 
+ +
48  gpr_slice *slices, size_t nslices);
+
49 
+
50 #endif /* GRPC_INTERNAL_CORE_TRANSPORT_CHTTP2_TRANSPORT_H */
+ +
An array of arguments that can be passed around.
Definition: grpc.h:113
+
int grpc_flowctl_trace
Definition: chttp2_transport.c:61
+
int grpc_http_trace
Definition: chttp2_transport.c:60
+
Definition: metadata.c:98
+
Definition: endpoint.h:108
+ +
Definition: transport_impl.h:67
+
Definition: slice.h:79
+
grpc_transport * grpc_create_chttp2_transport(const grpc_channel_args *channel_args, grpc_endpoint *ep, grpc_mdctx *metadata_context, int is_client)
Definition: chttp2_transport.c:1112
+
void grpc_chttp2_transport_start_reading(grpc_transport *transport, gpr_slice *slices, size_t nslices)
Definition: chttp2_transport.c:1120
+
+ + + + diff --git a/doc/ref/core.internal/html/classes.html b/doc/ref/core.internal/html/classes.html new file mode 100644 index 0000000000..b23822490f --- /dev/null +++ b/doc/ref/core.internal/html/classes.html @@ -0,0 +1,177 @@ + + + + + + +GRPC Core: Data Structure Index + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + +
+ + + + +
+ +
+ +
+
+
Data Structure Index
+
+
+
A | B | C | D | E | F | G | H | I | J | L | M | N | P | R | S | T | V | W
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  a  
+
grpc_auth_context   grpc_connector   grpc_resolver   
  m  
+
grpc_auth_json_key   grpc_connector_vtable   grpc_resolver_factory   
arg   grpc_auth_property   grpc_cq_completion   grpc_resolver_factory_vtable   malloc_refcount   
  b  
+
grpc_auth_property_iterator   grpc_credentials   grpc_resolver_vtable   merge_args_factory   
grpc_auth_refresh_token   grpc_credentials_array   grpc_secure_transport_setup   
  n  
+
b64_huff_sym   grpc_bbq_array   grpc_credentials_md   grpc_security_connector   
  c  
+
grpc_begin_message   grpc_credentials_md_store   grpc_security_connector_vtable   new_slice_refcount   
grpc_byte_buffer   grpc_credentials_metadata_request   grpc_server   new_with_len_slice_refcount   
call_data   grpc_byte_buffer_queue   grpc_credentials_vtable   grpc_server_credentials   
  p  
+
call_link   grpc_byte_buffer_reader   grpc_endpoint   grpc_server_credentials_vtable   
census_context   grpc_call   grpc_endpoint_pair   grpc_server_secure_state   pending_pick   
census_stat   grpc_call_context_element   grpc_endpoint_vtable   grpc_server_security_context   pick_first_lb_policy   
channel_broadcaster   grpc_call_details   grpc_event   grpc_service_account_credentials   
  r  
+
channel_data   grpc_call_element   grpc_fake_channel_security_connector   grpc_service_account_jwt_access_credentials   
channel_registered_method   grpc_call_stack   grpc_fake_oauth2_credentials   grpc_ssl_channel_security_connector   received_status   
completed_request   grpc_channel   grpc_fd   grpc_ssl_config   registered_call   
compute_engine_detector   grpc_channel_args   grpc_fd_watcher   grpc_ssl_credentials   registered_method   
connected_channel_call_data   grpc_channel_element   grpc_httpcli_context   grpc_ssl_pem_key_cert_pair   registered_resolver   
connected_channel_channel_data   grpc_channel_filter   grpc_httpcli_header   grpc_ssl_server_config   reqinfo_master   
connection   grpc_channel_security_connector   grpc_httpcli_parser   grpc_ssl_server_credentials   request_killer   
connector   grpc_channel_stack   grpc_httpcli_request   grpc_ssl_server_security_connector   request_matcher   
  d  
+
grpc_chttp2_data_parser   grpc_httpcli_response   grpc_stream_op   requested_call   
grpc_chttp2_goaway_parser   grpc_httpcli_ssl_channel_security_connector   grpc_stream_op_buffer   
  s  
+
dns_resolver   grpc_chttp2_hpack_compressor   grpc_iam_credentials   grpc_subchannel   
dump_out   grpc_chttp2_hpack_parser   grpc_iomgr_closure   grpc_subchannel_args   secure_endpoint   
  e  
+
grpc_chttp2_hpack_parser_string   grpc_iomgr_object   grpc_subchannel_call   shard_type   
grpc_chttp2_hptbl   grpc_ioreq   grpc_subchannel_factory   shutdown_cleanup_args   
email_key_mapping   grpc_chttp2_hptbl_find_result   grpc_ioreq_data   grpc_subchannel_factory_vtable   shutdown_tag   
  f  
+
grpc_chttp2_huffsym   grpc_json   grpc_time_averaged_stats   sockaddr_resolver   
grpc_chttp2_incoming_metadata_buffer   grpc_json_reader   grpc_transport   state_watcher   
finished_loose_op_allocated_args   grpc_chttp2_incoming_metadata_live_op_buffer   grpc_json_reader_vtable   grpc_transport_op   subchannel_factory   
framer_state   grpc_chttp2_outstanding_ping   grpc_json_writer   grpc_transport_stream_op   
  t  
+
  g  
+
grpc_chttp2_ping_parser   grpc_json_writer_vtable   grpc_transport_vtable   
grpc_chttp2_rst_stream_parser   grpc_jwt_claims   grpc_uri   tcp_endpoint_list   
gpr_cancellable   grpc_chttp2_setting_parameters   grpc_jwt_verifier   grpc_wakeup_fd_info   tracer   
gpr_cancellable_list_   grpc_chttp2_settings_parser   grpc_jwt_verifier_email_domain_key_url_mapping   grpc_wakeup_fd_vtable   tsi_fake_frame   
gpr_cmdline   grpc_chttp2_stream   grpc_kick_fd_info   grpc_winsocket   tsi_fake_frame_protector   
gpr_event   grpc_chttp2_stream_global   grpc_lb_policy   grpc_winsocket_callback_info   tsi_fake_handshaker   
gpr_gcc_thread_local   grpc_chttp2_stream_link   grpc_lb_policy_vtable   
  h  
+
tsi_frame_protector   
gpr_histogram   grpc_chttp2_stream_list   grpc_linked_mdelem   tsi_frame_protector_vtable   
gpr_log_func_args   grpc_chttp2_stream_map   grpc_mdctx   huff_out   tsi_handshaker   
gpr_msvc_thread_local   grpc_chttp2_stream_parsing   grpc_mdelem   
  i  
+
tsi_handshaker_vtable   
gpr_mu   grpc_chttp2_stream_writing   grpc_mdelem_list   tsi_peer   
gpr_pthread_thread_local   grpc_chttp2_transport   grpc_mdstr   internal_metadata   tsi_peer_property   
gpr_refcount   grpc_chttp2_transport_global   grpc_metadata   internal_request   tsi_ssl_client_handshaker_factory   
gpr_slice   grpc_chttp2_transport_parsing   grpc_metadata_array   internal_string   tsi_ssl_frame_protector   
gpr_slice_buffer   grpc_chttp2_transport_writing   grpc_metadata_batch   
  j  
+
tsi_ssl_handshaker   
gpr_slice_refcount   grpc_chttp2_window_update_parser   grpc_oauth2_token_fetcher_credentials   tsi_ssl_handshaker_factory   
gpr_stack_lockfree   grpc_client_config   grpc_op   jose_header   tsi_ssl_server_handshaker_factory   
gpr_stats_counter   grpc_client_security_context   grpc_pollset   json_reader_userdata   
  v  
+
gpr_strvec   grpc_completion_queue   grpc_pollset_kick_state   json_writer_userdata   
gpr_thd_options   grpc_composite_credentials   grpc_pollset_set   
  l  
+
verifier_cb_ctx   
gpr_timespec   grpc_composite_credentials_metadata_context   grpc_pollset_vtable   
  w  
+
grpc_access_token_credentials   grpc_connect_in_args   grpc_precise_clock   lb_policy_connectivity_watcher   
grpc_alarm   grpc_connect_out_args   grpc_refresh_token_credentials   listener   waiting_call   
grpc_alarm_heap   grpc_connectivity_state_tracker   grpc_resolved_address   lockfree_node   waiting_for_connect   
grpc_arg   grpc_connectivity_state_watcher   grpc_resolved_addresses   lockfree_node_contents   
+
A | B | C | D | E | F | G | H | I | J | L | M | N | P | R | S | T | V | W
+
+ + + + diff --git a/doc/ref/core.internal/html/client__auth__filter_8c.html b/doc/ref/core.internal/html/client__auth__filter_8c.html new file mode 100644 index 0000000000..c429122b10 --- /dev/null +++ b/doc/ref/core.internal/html/client__auth__filter_8c.html @@ -0,0 +1,167 @@ + + + + + + +GRPC Core: src/core/security/client_auth_filter.c File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
client_auth_filter.c File Reference
+
+
+ + + + + + +

+Data Structures

struct  call_data
 
struct  channel_data
 
+ + + +

+Macros

#define MAX_CREDENTIALS_METADATA_COUNT   4
 
+ + + +

+Variables

const grpc_channel_filter grpc_client_auth_filter
 
+

Macro Definition Documentation

+ +
+
+ + + + +
#define MAX_CREDENTIALS_METADATA_COUNT   4
+
+ +
+
+

Variable Documentation

+ +
+
+ + + + +
const grpc_channel_filter grpc_client_auth_filter
+
+Initial value:
= {
+
auth_start_transport_op, grpc_channel_next_op,
+
sizeof(call_data), init_call_elem,
+
destroy_call_elem, sizeof(channel_data),
+
init_channel_elem, destroy_channel_elem,
+
grpc_call_next_get_peer, "client-auth"}
+
char * grpc_call_next_get_peer(grpc_call_element *elem)
Definition: channel_stack.c:194
+
struct call_data call_data
+
Definition: client_auth_filter.c:69
+
void grpc_channel_next_op(grpc_channel_element *elem, grpc_transport_op *op)
Definition: channel_stack.c:199
+
+
+
+
+ + + + diff --git a/doc/ref/core.internal/html/client__channel_8c.html b/doc/ref/core.internal/html/client__channel_8c.html new file mode 100644 index 0000000000..499bc9b262 --- /dev/null +++ b/doc/ref/core.internal/html/client__channel_8c.html @@ -0,0 +1,405 @@ + + + + + + +GRPC Core: src/core/channel/client_channel.c File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
client_channel.c File Reference
+
+
+ + + + + + + + + + + +

+Data Structures

struct  channel_data
 
struct  lb_policy_connectivity_watcher
 We create one watcher for each new lb_policy that is returned from a resolver, to watch for state changes from the lb_policy. More...
 
struct  call_data
 
struct  waiting_call
 
+ + + +

+Typedefs

typedef struct call_data call_data
 
+ + + +

+Enumerations

enum  call_state {
+  CALL_CREATED, +CALL_WAITING_FOR_SEND, +CALL_WAITING_FOR_CONFIG, +CALL_WAITING_FOR_PICK, +
+  CALL_WAITING_FOR_CALL, +CALL_ACTIVE, +CALL_CANCELLED, +NOT_STARTED, +
+  PENDING, +ACTIVATED, +ZOMBIED +
+ }
 
+ + + + + + + + + + + + + +

+Functions

void grpc_client_channel_set_resolver (grpc_channel_stack *channel_stack, grpc_resolver *resolver)
 
grpc_connectivity_state grpc_client_channel_check_connectivity_state (grpc_channel_element *elem, int try_to_connect)
 
void grpc_client_channel_watch_connectivity_state (grpc_channel_element *elem, grpc_connectivity_state *state, grpc_iomgr_closure *on_complete)
 
grpc_pollset_setgrpc_client_channel_get_connecting_pollset_set (grpc_channel_element *elem)
 
void grpc_client_channel_add_interested_party (grpc_channel_element *elem, grpc_pollset *pollset)
 
void grpc_client_channel_del_interested_party (grpc_channel_element *elem, grpc_pollset *pollset)
 
+ + + +

+Variables

const grpc_channel_filter grpc_client_channel_filter
 
+

Typedef Documentation

+ +
+
+ + + + +
typedef struct call_data call_data
+
+ +
+
+

Enumeration Type Documentation

+ +
+
+ + + + +
enum call_state
+
+ + + + + + + + + + + + +
Enumerator
CALL_CREATED  +
CALL_WAITING_FOR_SEND  +
CALL_WAITING_FOR_CONFIG  +
CALL_WAITING_FOR_PICK  +
CALL_WAITING_FOR_CALL  +
CALL_ACTIVE  +
CALL_CANCELLED  +
NOT_STARTED  +
PENDING  +
ACTIVATED  +
ZOMBIED  +
+ +
+
+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
void grpc_client_channel_add_interested_party (grpc_channel_elementelem,
grpc_pollsetpollset 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
grpc_connectivity_state grpc_client_channel_check_connectivity_state (grpc_channel_elementelem,
int try_to_connect 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void grpc_client_channel_del_interested_party (grpc_channel_elementelem,
grpc_pollsetpollset 
)
+
+ +
+
+ +
+
+ + + + + + + + +
grpc_pollset_set* grpc_client_channel_get_connecting_pollset_set (grpc_channel_elementelem)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void grpc_client_channel_set_resolver (grpc_channel_stackchannel_stack,
grpc_resolverresolver 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void grpc_client_channel_watch_connectivity_state (grpc_channel_elementelem,
grpc_connectivity_statestate,
grpc_iomgr_closureon_complete 
)
+
+ +
+
+

Variable Documentation

+ +
+
+ + + + +
const grpc_channel_filter grpc_client_channel_filter
+
+Initial value:
= {
+
cc_start_transport_stream_op,
+
cc_start_transport_op,
+
sizeof(call_data),
+
init_call_elem,
+
destroy_call_elem,
+
sizeof(channel_data),
+
init_channel_elem,
+
destroy_channel_elem,
+
cc_get_peer,
+
"client-channel",
+
}
+
Definition: client_auth_filter.c:69
+
struct call_data call_data
Definition: client_channel.c:52
+
+
+
+
+ + + + diff --git a/doc/ref/core.internal/html/client__channel_8h.html b/doc/ref/core.internal/html/client__channel_8h.html new file mode 100644 index 0000000000..b3f0ca9bcc --- /dev/null +++ b/doc/ref/core.internal/html/client__channel_8h.html @@ -0,0 +1,293 @@ + + + + + + +GRPC Core: src/core/channel/client_channel.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
client_channel.h File Reference
+
+
+ +

Go to the source code of this file.

+ + + + + + + + + + + + + + +

+Functions

void grpc_client_channel_set_resolver (grpc_channel_stack *channel_stack, grpc_resolver *resolver)
 
grpc_connectivity_state grpc_client_channel_check_connectivity_state (grpc_channel_element *elem, int try_to_connect)
 
void grpc_client_channel_watch_connectivity_state (grpc_channel_element *elem, grpc_connectivity_state *state, grpc_iomgr_closure *on_complete)
 
grpc_pollset_setgrpc_client_channel_get_connecting_pollset_set (grpc_channel_element *elem)
 
void grpc_client_channel_add_interested_party (grpc_channel_element *channel, grpc_pollset *pollset)
 
void grpc_client_channel_del_interested_party (grpc_channel_element *channel, grpc_pollset *pollset)
 
+ + + +

+Variables

const grpc_channel_filter grpc_client_channel_filter
 
+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
void grpc_client_channel_add_interested_party (grpc_channel_elementchannel,
grpc_pollsetpollset 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
grpc_connectivity_state grpc_client_channel_check_connectivity_state (grpc_channel_elementelem,
int try_to_connect 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void grpc_client_channel_del_interested_party (grpc_channel_elementchannel,
grpc_pollsetpollset 
)
+
+ +
+
+ +
+
+ + + + + + + + +
grpc_pollset_set* grpc_client_channel_get_connecting_pollset_set (grpc_channel_elementelem)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void grpc_client_channel_set_resolver (grpc_channel_stackchannel_stack,
grpc_resolverresolver 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void grpc_client_channel_watch_connectivity_state (grpc_channel_elementelem,
grpc_connectivity_statestate,
grpc_iomgr_closureon_complete 
)
+
+ +
+
+

Variable Documentation

+ +
+
+ + + + +
const grpc_channel_filter grpc_client_channel_filter
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/client__channel_8h_source.html b/doc/ref/core.internal/html/client__channel_8h_source.html new file mode 100644 index 0000000000..692fbfc26c --- /dev/null +++ b/doc/ref/core.internal/html/client__channel_8h_source.html @@ -0,0 +1,185 @@ + + + + + + +GRPC Core: src/core/channel/client_channel.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
client_channel.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPC_INTERNAL_CORE_CHANNEL_CLIENT_CHANNEL_H
+
35 #define GRPC_INTERNAL_CORE_CHANNEL_CLIENT_CHANNEL_H
+
36 
+ + +
39 
+
40 /* A client channel is a channel that begins disconnected, and can connect
+
41  to some endpoint on demand. If that endpoint disconnects, it will be
+
42  connected to again later.
+
43 
+
44  Calls on a disconnected client channel are queued until a connection is
+
45  established. */
+
46 
+ +
48 
+
49 /* post-construction initializer to let the client channel know which
+
50  transport setup it should cancel upon destruction, or initiate when it needs
+
51  a connection */
+ +
53  grpc_resolver *resolver);
+
54 
+ +
56  grpc_channel_element *elem, int try_to_connect);
+
57 
+ + +
60  grpc_iomgr_closure *on_complete);
+
61 
+ +
63 
+ +
65  grpc_pollset *pollset);
+ +
67  grpc_pollset *pollset);
+
68 
+
69 #endif /* GRPC_INTERNAL_CORE_CHANNEL_CLIENT_CHANNEL_H */
+
Definition: channel_stack.h:64
+
grpc_connectivity_state
Connectivity state of a channel.
Definition: grpc.h:139
+
Definition: channel_stack.h:132
+
void grpc_client_channel_watch_connectivity_state(grpc_channel_element *elem, grpc_connectivity_state *state, grpc_iomgr_closure *on_complete)
Definition: client_channel.c:718
+ +
void grpc_client_channel_set_resolver(grpc_channel_stack *channel_stack, grpc_resolver *resolver)
Definition: client_channel.c:688
+
Definition: pollset_posix.h:48
+
grpc_resolver provides grpc_client_config objects to grpc_channel objects
Definition: resolver.h:46
+ +
const grpc_channel_filter grpc_client_channel_filter
Definition: client_channel.c:675
+
A closure over a grpc_iomgr_cb_func.
Definition: iomgr.h:45
+
grpc_connectivity_state grpc_client_channel_check_connectivity_state(grpc_channel_element *elem, int try_to_connect)
Definition: client_channel.c:701
+
Definition: channel_stack.h:116
+
grpc_pollset_set * grpc_client_channel_get_connecting_pollset_set(grpc_channel_element *elem)
Definition: client_channel.c:728
+
Definition: pollset_set_posix.h:40
+
void grpc_client_channel_add_interested_party(grpc_channel_element *channel, grpc_pollset *pollset)
Definition: client_channel.c:733
+
void grpc_client_channel_del_interested_party(grpc_channel_element *channel, grpc_pollset *pollset)
Definition: client_channel.c:739
+
+ + + + diff --git a/doc/ref/core.internal/html/client__config_8c.html b/doc/ref/core.internal/html/client__config_8c.html new file mode 100644 index 0000000000..d721feeb17 --- /dev/null +++ b/doc/ref/core.internal/html/client__config_8c.html @@ -0,0 +1,214 @@ + + + + + + +GRPC Core: src/core/client_config/client_config.c File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
client_config.c File Reference
+
+
+ + + + +

+Data Structures

struct  grpc_client_config
 
+ + + + + + + + + + + +

+Functions

grpc_client_configgrpc_client_config_create ()
 
void grpc_client_config_ref (grpc_client_config *c)
 
void grpc_client_config_unref (grpc_client_config *c)
 
void grpc_client_config_set_lb_policy (grpc_client_config *c, grpc_lb_policy *lb_policy)
 
grpc_lb_policygrpc_client_config_get_lb_policy (grpc_client_config *c)
 
+

Function Documentation

+ +
+
+ + + + + + + +
grpc_client_config* grpc_client_config_create ()
+
+ +
+
+ +
+
+ + + + + + + + +
grpc_lb_policy* grpc_client_config_get_lb_policy (grpc_client_configc)
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_client_config_ref (grpc_client_configc)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void grpc_client_config_set_lb_policy (grpc_client_configc,
grpc_lb_policylb_policy 
)
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_client_config_unref (grpc_client_configc)
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/client__config_8h.html b/doc/ref/core.internal/html/client__config_8h.html new file mode 100644 index 0000000000..012ef81990 --- /dev/null +++ b/doc/ref/core.internal/html/client__config_8h.html @@ -0,0 +1,231 @@ + + + + + + +GRPC Core: src/core/client_config/client_config.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
client_config.h File Reference
+
+
+ +

Go to the source code of this file.

+ + + + + +

+Typedefs

typedef struct grpc_client_config grpc_client_config
 Total configuration for a client. More...
 
+ + + + + + + + + + + +

+Functions

grpc_client_configgrpc_client_config_create ()
 
void grpc_client_config_ref (grpc_client_config *client_config)
 
void grpc_client_config_unref (grpc_client_config *client_config)
 
void grpc_client_config_set_lb_policy (grpc_client_config *client_config, grpc_lb_policy *lb_policy)
 
grpc_lb_policygrpc_client_config_get_lb_policy (grpc_client_config *client_config)
 
+

Typedef Documentation

+ +
+
+ + + + +
typedef struct grpc_client_config grpc_client_config
+
+ +

Total configuration for a client.

+

Provided, and updated, by grpc_resolver

+ +
+
+

Function Documentation

+ +
+
+ + + + + + + +
grpc_client_config* grpc_client_config_create ()
+
+ +
+
+ +
+
+ + + + + + + + +
grpc_lb_policy* grpc_client_config_get_lb_policy (grpc_client_configclient_config)
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_client_config_ref (grpc_client_configclient_config)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void grpc_client_config_set_lb_policy (grpc_client_configclient_config,
grpc_lb_policylb_policy 
)
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_client_config_unref (grpc_client_configclient_config)
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/client__config_8h_source.html b/doc/ref/core.internal/html/client__config_8h_source.html new file mode 100644 index 0000000000..d3455ab3ca --- /dev/null +++ b/doc/ref/core.internal/html/client__config_8h_source.html @@ -0,0 +1,158 @@ + + + + + + +GRPC Core: src/core/client_config/client_config.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
client_config.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPC_INTERNAL_CORE_CLIENT_CONFIG_CLIENT_CONFIG_H
+
35 #define GRPC_INTERNAL_CORE_CLIENT_CONFIG_CLIENT_CONFIG_H
+
36 
+ +
38 
+ +
42 
+ +
44 void grpc_client_config_ref(grpc_client_config *client_config);
+
45 void grpc_client_config_unref(grpc_client_config *client_config);
+
46 
+ + + +
50  grpc_client_config *client_config);
+
51 
+
52 #endif /* GRPC_INTERNAL_CORE_CLIENT_CONFIG_CLIENT_CONFIG_H */
+
void grpc_client_config_ref(grpc_client_config *client_config)
Definition: client_config.c:52
+
void grpc_client_config_set_lb_policy(grpc_client_config *client_config, grpc_lb_policy *lb_policy)
Definition: client_config.c:61
+ +
grpc_lb_policy * lb_policy
Definition: client_config.c:42
+
Definition: client_config.c:40
+
grpc_lb_policy * grpc_client_config_get_lb_policy(grpc_client_config *client_config)
Definition: client_config.c:72
+
grpc_client_config * grpc_client_config_create()
Definition: client_config.c:45
+
Definition: lb_policy.h:47
+
void grpc_client_config_unref(grpc_client_config *client_config)
Definition: client_config.c:54
+
+ + + + diff --git a/doc/ref/core.internal/html/closed.png b/doc/ref/core.internal/html/closed.png new file mode 100644 index 0000000000..98cc2c909d Binary files /dev/null and b/doc/ref/core.internal/html/closed.png differ diff --git a/doc/ref/core.internal/html/cmdline_8c.html b/doc/ref/core.internal/html/cmdline_8c.html new file mode 100644 index 0000000000..bee6a608fa --- /dev/null +++ b/doc/ref/core.internal/html/cmdline_8c.html @@ -0,0 +1,434 @@ + + + + + + +GRPC Core: src/core/support/cmdline.c File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
cmdline.c File Reference
+
+
+
#include <grpc/support/cmdline.h>
+#include <limits.h>
+#include <stdio.h>
+#include <string.h>
+#include <grpc/support/alloc.h>
+#include <grpc/support/log.h>
+#include <grpc/support/string_util.h>
+
+ + + + + +

+Data Structures

struct  arg
 
struct  gpr_cmdline
 
+ + + +

+Typedefs

typedef struct arg arg
 
+ + + +

+Enumerations

enum  argtype { ARGTYPE_INT, +ARGTYPE_BOOL, +ARGTYPE_STRING + }
 
+ + + + + + + + + + + + + + + + + +

+Functions

gpr_cmdlinegpr_cmdline_create (const char *description)
 
void gpr_cmdline_destroy (gpr_cmdline *cl)
 
void gpr_cmdline_add_int (gpr_cmdline *cl, const char *name, const char *help, int *value)
 
void gpr_cmdline_add_flag (gpr_cmdline *cl, const char *name, const char *help, int *value)
 
void gpr_cmdline_add_string (gpr_cmdline *cl, const char *name, const char *help, char **value)
 
void gpr_cmdline_on_extra_arg (gpr_cmdline *cl, const char *name, const char *help, void(*on_extra_arg)(void *user_data, const char *arg), void *user_data)
 
char * gpr_cmdline_usage_string (gpr_cmdline *cl, const char *argv0)
 
void gpr_cmdline_parse (gpr_cmdline *cl, int argc, char **argv)
 
+

Typedef Documentation

+ +
+
+ + + + +
typedef struct arg arg
+
+ +
+
+

Enumeration Type Documentation

+ +
+
+ + + + +
enum argtype
+
+ + + + +
Enumerator
ARGTYPE_INT  +
ARGTYPE_BOOL  +
ARGTYPE_STRING  +
+ +
+
+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void gpr_cmdline_add_flag (gpr_cmdlinecl,
const char * name,
const char * help,
int * value 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void gpr_cmdline_add_int (gpr_cmdlinecl,
const char * name,
const char * help,
int * value 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void gpr_cmdline_add_string (gpr_cmdlinecl,
const char * name,
const char * help,
char ** value 
)
+
+ +
+
+ +
+
+ + + + + + + + +
gpr_cmdline* gpr_cmdline_create (const char * description)
+
+ +
+
+ +
+
+ + + + + + + + +
void gpr_cmdline_destroy (gpr_cmdlinecl)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void gpr_cmdline_on_extra_arg (gpr_cmdlinecl,
const char * name,
const char * help,
void(*)(void *user_data, const char *argon_extra_arg,
void * user_data 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void gpr_cmdline_parse (gpr_cmdlinecl,
int argc,
char ** argv 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
char* gpr_cmdline_usage_string (gpr_cmdlinecl,
const char * argv0 
)
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/cmdline_8h.html b/doc/ref/core.internal/html/cmdline_8h.html new file mode 100644 index 0000000000..14581cc54f --- /dev/null +++ b/doc/ref/core.internal/html/cmdline_8h.html @@ -0,0 +1,391 @@ + + + + + + +GRPC Core: include/grpc/support/cmdline.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
cmdline.h File Reference
+
+
+ +

Go to the source code of this file.

+ + + + +

+Typedefs

typedef struct gpr_cmdline gpr_cmdline
 
+ + + + + + + + + + + + + + + + + +

+Functions

gpr_cmdlinegpr_cmdline_create (const char *description)
 
void gpr_cmdline_add_int (gpr_cmdline *cl, const char *name, const char *help, int *value)
 
void gpr_cmdline_add_flag (gpr_cmdline *cl, const char *name, const char *help, int *value)
 
void gpr_cmdline_add_string (gpr_cmdline *cl, const char *name, const char *help, char **value)
 
void gpr_cmdline_on_extra_arg (gpr_cmdline *cl, const char *name, const char *help, void(*on_extra_arg)(void *user_data, const char *arg), void *user_data)
 
void gpr_cmdline_parse (gpr_cmdline *cl, int argc, char **argv)
 
void gpr_cmdline_destroy (gpr_cmdline *cl)
 
char * gpr_cmdline_usage_string (gpr_cmdline *cl, const char *argv0)
 
+

Typedef Documentation

+ +
+
+ + + + +
typedef struct gpr_cmdline gpr_cmdline
+
+ +
+
+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void gpr_cmdline_add_flag (gpr_cmdlinecl,
const char * name,
const char * help,
int * value 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void gpr_cmdline_add_int (gpr_cmdlinecl,
const char * name,
const char * help,
int * value 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void gpr_cmdline_add_string (gpr_cmdlinecl,
const char * name,
const char * help,
char ** value 
)
+
+ +
+
+ +
+
+ + + + + + + + +
gpr_cmdline* gpr_cmdline_create (const char * description)
+
+ +
+
+ +
+
+ + + + + + + + +
void gpr_cmdline_destroy (gpr_cmdlinecl)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void gpr_cmdline_on_extra_arg (gpr_cmdlinecl,
const char * name,
const char * help,
void(*)(void *user_data, const char *argon_extra_arg,
void * user_data 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void gpr_cmdline_parse (gpr_cmdlinecl,
int argc,
char ** argv 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
char* gpr_cmdline_usage_string (gpr_cmdlinecl,
const char * argv0 
)
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/cmdline_8h_source.html b/doc/ref/core.internal/html/cmdline_8h_source.html new file mode 100644 index 0000000000..43a4422a25 --- /dev/null +++ b/doc/ref/core.internal/html/cmdline_8h_source.html @@ -0,0 +1,209 @@ + + + + + + +GRPC Core: include/grpc/support/cmdline.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
cmdline.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPC_SUPPORT_CMDLINE_H
+
35 #define GRPC_SUPPORT_CMDLINE_H
+
36 
+
37 #ifdef __cplusplus
+
38 extern "C" {
+
39 #endif
+
40 
+
41 /* Simple command line parser.
+
42 
+
43  Supports flags that can be specified as -foo, --foo, --no-foo, -no-foo, etc
+
44  And integers, strings that can be specified as -foo=4, -foo blah, etc
+
45 
+
46  No support for short command line options (but we may get that in the
+
47  future.)
+
48 
+
49  Usage (for a program with a single flag argument 'foo'):
+
50 
+
51  int main(int argc, char **argv) {
+
52  gpr_cmdline *cl;
+
53  int verbose = 0;
+
54 
+
55  cl = gpr_cmdline_create("My cool tool");
+
56  gpr_cmdline_add_int(cl, "verbose", "Produce verbose output?", &verbose);
+
57  gpr_cmdline_parse(cl, argc, argv);
+
58  gpr_cmdline_destroy(cl);
+
59 
+
60  if (verbose) {
+
61  gpr_log(GPR_INFO, "Goodbye cruel world!");
+
62  }
+
63 
+
64  return 0;
+
65  } */
+
66 
+
67 typedef struct gpr_cmdline gpr_cmdline;
+
68 
+
69 /* Construct a command line parser: takes a short description of the tool
+
70  doing the parsing */
+ +
72 /* Add an integer parameter, with a name (used on the command line) and some
+
73  helpful text (used in the command usage) */
+
74 void gpr_cmdline_add_int(gpr_cmdline *cl, const char *name, const char *help,
+
75  int *value);
+
76 /* The same, for a boolean flag */
+
77 void gpr_cmdline_add_flag(gpr_cmdline *cl, const char *name, const char *help,
+
78  int *value);
+
79 /* And for a string */
+
80 void gpr_cmdline_add_string(gpr_cmdline *cl, const char *name, const char *help,
+
81  char **value);
+
82 /* Set a callback for non-named arguments */
+ +
84  gpr_cmdline *cl, const char *name, const char *help,
+
85  void (*on_extra_arg)(void *user_data, const char *arg), void *user_data);
+
86 /* Parse the command line */
+
87 void gpr_cmdline_parse(gpr_cmdline *cl, int argc, char **argv);
+
88 /* Destroy the parser */
+ +
90 /* Get a string describing usage */
+
91 char *gpr_cmdline_usage_string(gpr_cmdline *cl, const char *argv0);
+
92 
+
93 #ifdef __cplusplus
+
94 }
+
95 #endif
+
96 
+
97 #endif /* GRPC_SUPPORT_CMDLINE_H */
+
const char * value
Definition: hpack_table.c:44
+
void gpr_cmdline_destroy(gpr_cmdline *cl)
Definition: cmdline.c:81
+
Definition: cmdline.c:47
+
void gpr_cmdline_parse(gpr_cmdline *cl, int argc, char **argv)
Definition: cmdline.c:314
+
void gpr_cmdline_add_int(gpr_cmdline *cl, const char *name, const char *help, int *value)
Definition: cmdline.c:108
+
void gpr_cmdline_on_extra_arg(gpr_cmdline *cl, const char *name, const char *help, void(*on_extra_arg)(void *user_data, const char *arg), void *user_data)
Definition: cmdline.c:123
+
const char * description
Definition: cmdline.c:56
+
gpr_cmdline * gpr_cmdline_create(const char *description)
Definition: cmdline.c:71
+
Definition: cmdline.c:55
+
const char * argv0
Definition: cmdline.c:58
+
char * gpr_cmdline_usage_string(gpr_cmdline *cl, const char *argv0)
Definition: cmdline.c:160
+
void gpr_cmdline_add_flag(gpr_cmdline *cl, const char *name, const char *help, int *value)
Definition: cmdline.c:113
+
void gpr_cmdline_add_string(gpr_cmdline *cl, const char *name, const char *help, char **value)
Definition: cmdline.c:118
+
+ + + + diff --git a/doc/ref/core.internal/html/completion__queue_8c.html b/doc/ref/core.internal/html/completion__queue_8c.html new file mode 100644 index 0000000000..bc38faaa79 --- /dev/null +++ b/doc/ref/core.internal/html/completion__queue_8c.html @@ -0,0 +1,438 @@ + + + + + + +GRPC Core: src/core/surface/completion_queue.c File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
completion_queue.c File Reference
+
+
+ + + + +

+Data Structures

struct  grpc_completion_queue
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

grpc_completion_queuegrpc_completion_queue_create (void)
 Create a completion queue. More...
 
void grpc_cq_internal_ref (grpc_completion_queue *cc)
 
void grpc_cq_internal_unref (grpc_completion_queue *cc)
 
void grpc_cq_begin_op (grpc_completion_queue *cc)
 
void grpc_cq_end_op (grpc_completion_queue *cc, void *tag, int success, void(*done)(void *done_arg, grpc_cq_completion *storage), void *done_arg, grpc_cq_completion *storage)
 
grpc_event grpc_completion_queue_next (grpc_completion_queue *cc, gpr_timespec deadline)
 Blocks until an event is available, the completion queue is being shut down, or deadline is reached. More...
 
grpc_event grpc_completion_queue_pluck (grpc_completion_queue *cc, void *tag, gpr_timespec deadline)
 Blocks until an event with tag 'tag' is available, the completion queue is being shutdown or deadline is reached. More...
 
void grpc_completion_queue_shutdown (grpc_completion_queue *cc)
 Begin destruction of a completion queue. More...
 
void grpc_completion_queue_destroy (grpc_completion_queue *cc)
 Destroy a completion queue. More...
 
grpc_pollsetgrpc_cq_pollset (grpc_completion_queue *cc)
 
void grpc_cq_hack_spin_pollset (grpc_completion_queue *cc)
 
void grpc_cq_mark_server_cq (grpc_completion_queue *cc)
 
int grpc_cq_is_server_cq (grpc_completion_queue *cc)
 
+

Function Documentation

+ +
+
+ + + + + + + + +
grpc_completion_queue* grpc_completion_queue_create (void )
+
+ +

Create a completion queue.

+ +
+
+ +
+
+ + + + + + + + +
void grpc_completion_queue_destroy (grpc_completion_queuecq)
+
+ +

Destroy a completion queue.

+

The caller must ensure that the queue is drained and no threads are executing grpc_completion_queue_next

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
grpc_event grpc_completion_queue_next (grpc_completion_queuecq,
gpr_timespec deadline 
)
+
+ +

Blocks until an event is available, the completion queue is being shut down, or deadline is reached.

+

Returns a grpc_event with type GRPC_QUEUE_TIMEOUT on timeout, otherwise a grpc_event describing the event that occurred.

+

Callers must not call grpc_completion_queue_next and grpc_completion_queue_pluck simultaneously on the same completion queue.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
grpc_event grpc_completion_queue_pluck (grpc_completion_queuecq,
void * tag,
gpr_timespec deadline 
)
+
+ +

Blocks until an event with tag 'tag' is available, the completion queue is being shutdown or deadline is reached.

+

Returns a grpc_event with type GRPC_QUEUE_TIMEOUT on timeout, otherwise a grpc_event describing the event that occurred.

+

Callers must not call grpc_completion_queue_next and grpc_completion_queue_pluck simultaneously on the same completion queue.

+ +
+
+ +
+
+ + + + + + + + +
void grpc_completion_queue_shutdown (grpc_completion_queuecq)
+
+ +

Begin destruction of a completion queue.

+

Once all possible events are drained then grpc_completion_queue_next will start to produce GRPC_QUEUE_SHUTDOWN events only. At that point it's safe to call grpc_completion_queue_destroy.

+

After calling this function applications should ensure that no NEW work is added to be published on this completion queue.

+ +
+
+ +
+
+ + + + + + + + +
void grpc_cq_begin_op (grpc_completion_queuecc)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void grpc_cq_end_op (grpc_completion_queuecc,
void * tag,
int success,
void(*)(void *done_arg, grpc_cq_completion *storage) done,
void * done_arg,
grpc_cq_completionstorage 
)
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_cq_hack_spin_pollset (grpc_completion_queuecc)
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_cq_internal_ref (grpc_completion_queuecc)
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_cq_internal_unref (grpc_completion_queuecc)
+
+ +
+
+ +
+
+ + + + + + + + +
int grpc_cq_is_server_cq (grpc_completion_queuecc)
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_cq_mark_server_cq (grpc_completion_queuecc)
+
+ +
+
+ +
+
+ + + + + + + + +
grpc_pollset* grpc_cq_pollset (grpc_completion_queuecc)
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/completion__queue_8h.html b/doc/ref/core.internal/html/completion__queue_8h.html new file mode 100644 index 0000000000..7160d965a1 --- /dev/null +++ b/doc/ref/core.internal/html/completion__queue_8h.html @@ -0,0 +1,374 @@ + + + + + + +GRPC Core: src/core/surface/completion_queue.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
completion_queue.h File Reference
+
+
+
#include "src/core/iomgr/pollset.h"
+#include <grpc/grpc.h>
+
+

Go to the source code of this file.

+ + + + +

+Data Structures

struct  grpc_cq_completion
 
+ + + + + +

+Macros

#define GRPC_CQ_INTERNAL_REF(cc, reason)   grpc_cq_internal_ref(cc)
 
#define GRPC_CQ_INTERNAL_UNREF(cc, reason)   grpc_cq_internal_unref(cc)
 
+ + + +

+Typedefs

typedef struct grpc_cq_completion grpc_cq_completion
 
+ + + + + + + + + + + + + + + + + +

+Functions

void grpc_cq_internal_ref (grpc_completion_queue *cc)
 
void grpc_cq_internal_unref (grpc_completion_queue *cc)
 
void grpc_cq_begin_op (grpc_completion_queue *cc)
 
void grpc_cq_end_op (grpc_completion_queue *cc, void *tag, int success, void(*done)(void *done_arg, grpc_cq_completion *storage), void *done_arg, grpc_cq_completion *storage)
 
grpc_pollsetgrpc_cq_pollset (grpc_completion_queue *cc)
 
void grpc_cq_hack_spin_pollset (grpc_completion_queue *cc)
 
void grpc_cq_mark_server_cq (grpc_completion_queue *cc)
 
int grpc_cq_is_server_cq (grpc_completion_queue *cc)
 
+

Macro Definition Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
#define GRPC_CQ_INTERNAL_REF( cc,
 reason 
)   grpc_cq_internal_ref(cc)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
#define GRPC_CQ_INTERNAL_UNREF( cc,
 reason 
)   grpc_cq_internal_unref(cc)
+
+ +
+
+

Typedef Documentation

+ +
+
+ + + + +
typedef struct grpc_cq_completion grpc_cq_completion
+
+ +
+
+

Function Documentation

+ +
+
+ + + + + + + + +
void grpc_cq_begin_op (grpc_completion_queuecc)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void grpc_cq_end_op (grpc_completion_queuecc,
void * tag,
int success,
void(*)(void *done_arg, grpc_cq_completion *storage) done,
void * done_arg,
grpc_cq_completionstorage 
)
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_cq_hack_spin_pollset (grpc_completion_queuecc)
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_cq_internal_ref (grpc_completion_queuecc)
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_cq_internal_unref (grpc_completion_queuecc)
+
+ +
+
+ +
+
+ + + + + + + + +
int grpc_cq_is_server_cq (grpc_completion_queuecc)
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_cq_mark_server_cq (grpc_completion_queuecc)
+
+ +
+
+ +
+
+ + + + + + + + +
grpc_pollset* grpc_cq_pollset (grpc_completion_queuecc)
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/completion__queue_8h_source.html b/doc/ref/core.internal/html/completion__queue_8h_source.html new file mode 100644 index 0000000000..48d4936252 --- /dev/null +++ b/doc/ref/core.internal/html/completion__queue_8h_source.html @@ -0,0 +1,199 @@ + + + + + + +GRPC Core: src/core/surface/completion_queue.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
completion_queue.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPC_INTERNAL_CORE_SURFACE_COMPLETION_QUEUE_H
+
35 #define GRPC_INTERNAL_CORE_SURFACE_COMPLETION_QUEUE_H
+
36 
+
37 /* Internal API for completion channels */
+
38 
+
39 #include "src/core/iomgr/pollset.h"
+
40 #include <grpc/grpc.h>
+
41 
+
42 typedef struct grpc_cq_completion {
+
44  void *tag;
+
47  void (*done)(void *done_arg, struct grpc_cq_completion *c);
+
48  void *done_arg;
+ + +
52 
+
53 #ifdef GRPC_CQ_REF_COUNT_DEBUG
+
54 void grpc_cq_internal_ref(grpc_completion_queue *cc, const char *reason,
+
55  const char *file, int line);
+
56 void grpc_cq_internal_unref(grpc_completion_queue *cc, const char *reason,
+
57  const char *file, int line);
+
58 #define GRPC_CQ_INTERNAL_REF(cc, reason) \
+
59  grpc_cq_internal_ref(cc, reason, __FILE__, __LINE__)
+
60 #define GRPC_CQ_INTERNAL_UNREF(cc, reason) \
+
61  grpc_cq_internal_unref(cc, reason, __FILE__, __LINE__)
+
62 #else
+ + +
65 #define GRPC_CQ_INTERNAL_REF(cc, reason) grpc_cq_internal_ref(cc)
+
66 #define GRPC_CQ_INTERNAL_UNREF(cc, reason) grpc_cq_internal_unref(cc)
+
67 #endif
+
68 
+
69 /* Flag that an operation is beginning: the completion channel will not finish
+
70  shutdown until a corrensponding grpc_cq_end_* call is made */
+ +
72 
+
73 /* Queue a GRPC_OP_COMPLETED operation */
+
74 void grpc_cq_end_op(grpc_completion_queue *cc, void *tag, int success,
+
75  void (*done)(void *done_arg, grpc_cq_completion *storage),
+
76  void *done_arg, grpc_cq_completion *storage);
+
77 
+ +
79 
+ +
81 
+ + +
84 
+
85 #endif /* GRPC_INTERNAL_CORE_SURFACE_COMPLETION_QUEUE_H */
+
grpc_pollset * grpc_cq_pollset(grpc_completion_queue *cc)
Definition: completion_queue.c:260
+
uintptr_t gpr_uintptr
Definition: port_platform.h:314
+
struct grpc_cq_completion grpc_cq_completion
+ +
Definition: completion_queue.h:42
+
gpr_uintptr next
next pointer; low bit is used to indicate success or not
Definition: completion_queue.h:50
+
Definition: pollset_posix.h:48
+
void grpc_cq_hack_spin_pollset(grpc_completion_queue *cc)
Definition: completion_queue.c:264
+
void * done_arg
Definition: completion_queue.h:48
+
void(* done)(void *done_arg, struct grpc_cq_completion *c)
done callback - called when this queue element is no longer needed by the completion queue ...
Definition: completion_queue.h:47
+
void grpc_cq_end_op(grpc_completion_queue *cc, void *tag, int success, void(*done)(void *done_arg, grpc_cq_completion *storage), void *done_arg, grpc_cq_completion *storage)
Definition: completion_queue.c:116
+
Definition: completion_queue.c:49
+
void grpc_cq_internal_unref(grpc_completion_queue *cc)
Definition: completion_queue.c:100
+
void grpc_cq_begin_op(grpc_completion_queue *cc)
Definition: completion_queue.c:109
+
void grpc_cq_internal_ref(grpc_completion_queue *cc)
Definition: completion_queue.c:84
+ +
void * tag
user supplied tag
Definition: completion_queue.h:44
+
void grpc_cq_mark_server_cq(grpc_completion_queue *cc)
Definition: completion_queue.c:273
+
int grpc_cq_is_server_cq(grpc_completion_queue *cc)
Definition: completion_queue.c:275
+
+ + + + diff --git a/doc/ref/core.internal/html/compress__filter_8c.html b/doc/ref/core.internal/html/compress__filter_8c.html new file mode 100644 index 0000000000..dd631c6fac --- /dev/null +++ b/doc/ref/core.internal/html/compress__filter_8c.html @@ -0,0 +1,196 @@ + + + + + + +GRPC Core: src/core/channel/compress_filter.c File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
compress_filter.c File Reference
+
+
+ + + + + + +

+Data Structures

struct  call_data
 
struct  channel_data
 
+ + + + + +

+Typedefs

typedef struct call_data call_data
 
typedef struct channel_data channel_data
 
+ + + + +

+Variables

const grpc_channel_filter grpc_compress_filter
 Compression filter for outgoing data. More...
 
+

Typedef Documentation

+ +
+
+ + + + +
typedef struct call_data call_data
+
+ +
+
+ +
+
+ + + + +
typedef struct channel_data channel_data
+
+ +
+
+

Variable Documentation

+ +
+
+ + + + +
const grpc_channel_filter grpc_compress_filter
+
+Initial value:
= {
+
compress_start_transport_stream_op,
+ +
sizeof(call_data),
+
init_call_elem,
+
destroy_call_elem,
+
sizeof(channel_data),
+
init_channel_elem,
+
destroy_channel_elem,
+ +
"compress"}
+
char * grpc_call_next_get_peer(grpc_call_element *elem)
Definition: channel_stack.c:194
+
Definition: client_auth_filter.c:69
+
void grpc_channel_next_op(grpc_channel_element *elem, grpc_transport_op *op)
Definition: channel_stack.c:199
+
struct call_data call_data
+
+

Compression filter for outgoing data.

+

See <grpc/compression.h> for the available compression settings.

+

Compression settings may come from:

+
    +
  • Channel configuration, as established at channel creation time.
  • +
  • The metadata accompanying the outgoing data to be compressed. This is taken as a request only. We may choose not to honor it. The metadata key is given by GRPC_COMPRESS_REQUEST_ALGORITHM_KEY.
  • +
+

Compression can be disabled for concrete messages (for instance in order to prevent CRIME/BEAST type attacks) by having the GRPC_WRITE_NO_COMPRESS set in the BEGIN_MESSAGE flags.

+

The attempted compression mechanism is added to the resulting initial metadata under the'grpc-encoding' key.

+

If compression is actually performed, BEGIN_MESSAGE's flag is modified to incorporate GRPC_WRITE_INTERNAL_COMPRESS. Otherwise, and regardless of the aforementioned 'grpc-encoding' metadata value, data will pass through uncompressed.

+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/compress__filter_8h.html b/doc/ref/core.internal/html/compress__filter_8h.html new file mode 100644 index 0000000000..2e332a498f --- /dev/null +++ b/doc/ref/core.internal/html/compress__filter_8h.html @@ -0,0 +1,154 @@ + + + + + + +GRPC Core: src/core/channel/compress_filter.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
compress_filter.h File Reference
+
+
+ +

Go to the source code of this file.

+ + + + +

+Macros

#define GRPC_COMPRESS_REQUEST_ALGORITHM_KEY   "internal:grpc-encoding-request"
 
+ + + + +

+Variables

const grpc_channel_filter grpc_compress_filter
 Compression filter for outgoing data. More...
 
+

Macro Definition Documentation

+ +
+
+ + + + +
#define GRPC_COMPRESS_REQUEST_ALGORITHM_KEY   "internal:grpc-encoding-request"
+
+ +
+
+

Variable Documentation

+ +
+
+ + + + +
const grpc_channel_filter grpc_compress_filter
+
+ +

Compression filter for outgoing data.

+

See <grpc/compression.h> for the available compression settings.

+

Compression settings may come from:

+
    +
  • Channel configuration, as established at channel creation time.
  • +
  • The metadata accompanying the outgoing data to be compressed. This is taken as a request only. We may choose not to honor it. The metadata key is given by GRPC_COMPRESS_REQUEST_ALGORITHM_KEY.
  • +
+

Compression can be disabled for concrete messages (for instance in order to prevent CRIME/BEAST type attacks) by having the GRPC_WRITE_NO_COMPRESS set in the BEGIN_MESSAGE flags.

+

The attempted compression mechanism is added to the resulting initial metadata under the'grpc-encoding' key.

+

If compression is actually performed, BEGIN_MESSAGE's flag is modified to incorporate GRPC_WRITE_INTERNAL_COMPRESS. Otherwise, and regardless of the aforementioned 'grpc-encoding' metadata value, data will pass through uncompressed.

+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/compress__filter_8h_source.html b/doc/ref/core.internal/html/compress__filter_8h_source.html new file mode 100644 index 0000000000..a2d03bc1e3 --- /dev/null +++ b/doc/ref/core.internal/html/compress__filter_8h_source.html @@ -0,0 +1,145 @@ + + + + + + +GRPC Core: src/core/channel/compress_filter.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
compress_filter.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPC_INTERNAL_CORE_CHANNEL_COMPRESS_FILTER_H
+
35 #define GRPC_INTERNAL_CORE_CHANNEL_COMPRESS_FILTER_H
+
36 
+ +
38 
+
39 #define GRPC_COMPRESS_REQUEST_ALGORITHM_KEY "internal:grpc-encoding-request"
+
40 
+ +
64 
+
65 #endif /* GRPC_INTERNAL_CORE_CHANNEL_COMPRESS_FILTER_H */
+
Definition: channel_stack.h:64
+ +
const grpc_channel_filter grpc_compress_filter
Compression filter for outgoing data.
Definition: compress_filter.c:318
+
+ + + + diff --git a/doc/ref/core.internal/html/compression_8h.html b/doc/ref/core.internal/html/compression_8h.html new file mode 100644 index 0000000000..9a955297bd --- /dev/null +++ b/doc/ref/core.internal/html/compression_8h.html @@ -0,0 +1,305 @@ + + + + + + +GRPC Core: include/grpc/compression.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
compression.h File Reference
+
+
+ +

Go to the source code of this file.

+ + + + + +

+Macros

#define GRPC_COMPRESSION_ALGORITHM_ARG   "grpc.compression_algorithm"
 To be used in channel arguments. More...
 
+ + + + + +

+Enumerations

enum  grpc_compression_algorithm { GRPC_COMPRESS_NONE = 0, +GRPC_COMPRESS_DEFLATE, +GRPC_COMPRESS_GZIP, +GRPC_COMPRESS_ALGORITHMS_COUNT + }
 
enum  grpc_compression_level {
+  GRPC_COMPRESS_LEVEL_NONE = 0, +GRPC_COMPRESS_LEVEL_LOW, +GRPC_COMPRESS_LEVEL_MED, +GRPC_COMPRESS_LEVEL_HIGH, +
+  GRPC_COMPRESS_LEVEL_COUNT +
+ }
 
+ + + + + + + + + + + + + +

+Functions

int grpc_compression_algorithm_parse (const char *name, grpc_compression_algorithm *algorithm)
 Parses name as a grpc_compression_algorithm instance, updating algorithm. More...
 
int grpc_compression_algorithm_name (grpc_compression_algorithm algorithm, char **name)
 Updates name with the encoding name corresponding to a valid algorithm. More...
 
grpc_compression_level grpc_compression_level_for_algorithm (grpc_compression_algorithm algorithm)
 Returns the compression level corresponding to algorithm. More...
 
grpc_compression_algorithm grpc_compression_algorithm_for_level (grpc_compression_level level)
 Returns the compression algorithm corresponding to level. More...
 
+

Macro Definition Documentation

+ +
+
+ + + + +
#define GRPC_COMPRESSION_ALGORITHM_ARG   "grpc.compression_algorithm"
+
+ +

To be used in channel arguments.

+ +
+
+

Enumeration Type Documentation

+ +
+
+ + + + +
enum grpc_compression_algorithm
+
+ + + + + +
Enumerator
GRPC_COMPRESS_NONE  +
GRPC_COMPRESS_DEFLATE  +
GRPC_COMPRESS_GZIP  +
GRPC_COMPRESS_ALGORITHMS_COUNT  +
+ +
+
+ +
+
+ + + + +
enum grpc_compression_level
+
+ + + + + + +
Enumerator
GRPC_COMPRESS_LEVEL_NONE  +
GRPC_COMPRESS_LEVEL_LOW  +
GRPC_COMPRESS_LEVEL_MED  +
GRPC_COMPRESS_LEVEL_HIGH  +
GRPC_COMPRESS_LEVEL_COUNT  +
+ +
+
+

Function Documentation

+ +
+
+ + + + + + + + +
grpc_compression_algorithm grpc_compression_algorithm_for_level (grpc_compression_level level)
+
+ +

Returns the compression algorithm corresponding to level.

+

It abort()s for unknown levels .

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
int grpc_compression_algorithm_name (grpc_compression_algorithm algorithm,
char ** name 
)
+
+ +

Updates name with the encoding name corresponding to a valid algorithm.

+

Returns 1 upon success, 0 otherwise.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
int grpc_compression_algorithm_parse (const char * name,
grpc_compression_algorithmalgorithm 
)
+
+ +

Parses name as a grpc_compression_algorithm instance, updating algorithm.

+

Returns 1 upon success, 0 otherwise.

+ +
+
+ +
+
+ + + + + + + + +
grpc_compression_level grpc_compression_level_for_algorithm (grpc_compression_algorithm algorithm)
+
+ +

Returns the compression level corresponding to algorithm.

+

It abort()s for unknown algorithms.

+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/compression_8h_source.html b/doc/ref/core.internal/html/compression_8h_source.html new file mode 100644 index 0000000000..6502396750 --- /dev/null +++ b/doc/ref/core.internal/html/compression_8h_source.html @@ -0,0 +1,190 @@ + + + + + + +GRPC Core: include/grpc/compression.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
compression.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPC_COMPRESSION_H
+
35 #define GRPC_COMPRESSION_H
+
36 
+
37 #ifdef __cplusplus
+
38 extern "C" {
+
39 #endif
+
40 
+
42 #define GRPC_COMPRESSION_ALGORITHM_ARG "grpc.compression_algorithm"
+
43 
+
44 /* The various compression algorithms supported by GRPC */
+
45 typedef enum {
+ + + +
49  /* TODO(ctiller): snappy */
+ + +
52 
+
53 typedef enum {
+ + + + + + +
60 
+
63 int grpc_compression_algorithm_parse(const char *name,
+
64  grpc_compression_algorithm *algorithm);
+
65 
+ +
69  char **name);
+
70 
+ +
75  grpc_compression_algorithm algorithm);
+
76 
+ + +
82 
+
83 #ifdef __cplusplus
+
84 }
+
85 #endif
+
86 
+
87 #endif /* GRPC_COMPRESSION_H */
+
Definition: compression.h:50
+
grpc_compression_algorithm
Definition: compression.h:45
+
Definition: compression.h:48
+
int grpc_compression_algorithm_parse(const char *name, grpc_compression_algorithm *algorithm)
Parses name as a grpc_compression_algorithm instance, updating algorithm.
Definition: algorithm.c:38
+
Definition: compression.h:47
+
Definition: compression.h:54
+
Definition: compression.h:55
+
grpc_compression_level grpc_compression_level_for_algorithm(grpc_compression_algorithm algorithm)
Returns the compression level corresponding to algorithm.
Definition: algorithm.c:87
+
grpc_compression_level
Definition: compression.h:53
+
Definition: compression.h:46
+
Definition: compression.h:56
+
int grpc_compression_algorithm_name(grpc_compression_algorithm algorithm, char **name)
Updates name with the encoding name corresponding to a valid algorithm.
Definition: algorithm.c:52
+
Definition: compression.h:58
+
grpc_compression_algorithm grpc_compression_algorithm_for_level(grpc_compression_level level)
Returns the compression algorithm corresponding to level.
Definition: algorithm.c:72
+
Definition: compression.h:57
+
+ + + + diff --git a/doc/ref/core.internal/html/connected__channel_8c.html b/doc/ref/core.internal/html/connected__channel_8c.html new file mode 100644 index 0000000000..6384b7841f --- /dev/null +++ b/doc/ref/core.internal/html/connected__channel_8c.html @@ -0,0 +1,274 @@ + + + + + + +GRPC Core: src/core/channel/connected_channel.c File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
connected_channel.c File Reference
+
+
+
#include "src/core/channel/connected_channel.h"
+#include <stdarg.h>
+#include <stdio.h>
+#include <string.h>
+#include "src/core/transport/transport.h"
+#include <grpc/byte_buffer.h>
+#include <grpc/support/alloc.h>
+#include <grpc/support/log.h>
+#include <grpc/support/slice_buffer.h>
+
+ + + + + +

+Data Structures

struct  connected_channel_channel_data
 
struct  connected_channel_call_data
 
+ + + + + + + +

+Macros

#define MAX_BUFFER_LENGTH   8192
 
#define TRANSPORT_STREAM_FROM_CALL_DATA(calld)   ((grpc_stream *)((calld) + 1))
 
#define CALL_DATA_FROM_TRANSPORT_STREAM(transport_stream)   (((call_data *)(transport_stream)) - 1)
 
+ + + + + +

+Typedefs

typedef struct
+connected_channel_channel_data 
channel_data
 
typedef struct
+connected_channel_call_data 
call_data
 
+ + + +

+Functions

void grpc_connected_channel_bind_transport (grpc_channel_stack *channel_stack, grpc_transport *transport)
 
+ + + +

+Variables

const grpc_channel_filter grpc_connected_channel_filter
 
+

Macro Definition Documentation

+ +
+
+ + + + + + + + +
#define CALL_DATA_FROM_TRANSPORT_STREAM( transport_stream)   (((call_data *)(transport_stream)) - 1)
+
+ +
+
+ +
+
+ + + + +
#define MAX_BUFFER_LENGTH   8192
+
+ +
+
+ +
+
+ + + + + + + + +
#define TRANSPORT_STREAM_FROM_CALL_DATA( calld)   ((grpc_stream *)((calld) + 1))
+
+ +
+
+

Typedef Documentation

+ +
+
+ + + + +
typedef struct connected_channel_call_data call_data
+
+ +
+
+ +
+
+ + + + +
typedef struct connected_channel_channel_data channel_data
+
+ +
+
+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
void grpc_connected_channel_bind_transport (grpc_channel_stackchannel_stack,
grpc_transporttransport 
)
+
+ +
+
+

Variable Documentation

+ +
+
+ + + + +
const grpc_channel_filter grpc_connected_channel_filter
+
+Initial value:
= {
+
con_start_transport_stream_op,
+
con_start_transport_op,
+
sizeof(call_data),
+
init_call_elem,
+
destroy_call_elem,
+
sizeof(channel_data),
+
init_channel_elem,
+
destroy_channel_elem,
+
con_get_peer,
+
"connected",
+
}
+
struct connected_channel_call_data call_data
+
Definition: client_auth_filter.c:69
+
+
+
+
+ + + + diff --git a/doc/ref/core.internal/html/connected__channel_8h.html b/doc/ref/core.internal/html/connected__channel_8h.html new file mode 100644 index 0000000000..238359b0ed --- /dev/null +++ b/doc/ref/core.internal/html/connected__channel_8h.html @@ -0,0 +1,156 @@ + + + + + + +GRPC Core: src/core/channel/connected_channel.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
connected_channel.h File Reference
+
+
+ +

Go to the source code of this file.

+ + + + +

+Functions

void grpc_connected_channel_bind_transport (grpc_channel_stack *channel_stack, grpc_transport *transport)
 
+ + + +

+Variables

const grpc_channel_filter grpc_connected_channel_filter
 
+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
void grpc_connected_channel_bind_transport (grpc_channel_stackchannel_stack,
grpc_transporttransport 
)
+
+ +
+
+

Variable Documentation

+ +
+
+ + + + +
const grpc_channel_filter grpc_connected_channel_filter
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/connected__channel_8h_source.html b/doc/ref/core.internal/html/connected__channel_8h_source.html new file mode 100644 index 0000000000..63fb691072 --- /dev/null +++ b/doc/ref/core.internal/html/connected__channel_8h_source.html @@ -0,0 +1,154 @@ + + + + + + +GRPC Core: src/core/channel/connected_channel.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
connected_channel.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPC_INTERNAL_CORE_CHANNEL_CONNECTED_CHANNEL_H
+
35 #define GRPC_INTERNAL_CORE_CHANNEL_CONNECTED_CHANNEL_H
+
36 
+ +
38 
+
39 /* A channel filter representing a channel that is on a connected transport.
+
40  This filter performs actual sending and receiving of messages. */
+
41 
+ +
43 
+
44 /* Post construction fixup: set the transport in the connected channel.
+
45  Must be called before any call stack using this filter is used. */
+ +
47  grpc_transport *transport);
+
48 
+
49 #endif /* GRPC_INTERNAL_CORE_CHANNEL_CONNECTED_CHANNEL_H */
+
Definition: channel_stack.h:64
+
Definition: channel_stack.h:132
+ +
void grpc_connected_channel_bind_transport(grpc_channel_stack *channel_stack, grpc_transport *transport)
Definition: connected_channel.c:140
+
Definition: transport_impl.h:67
+
const grpc_channel_filter grpc_connected_channel_filter
Definition: connected_channel.c:127
+
+ + + + diff --git a/doc/ref/core.internal/html/connectivity__state_8c.html b/doc/ref/core.internal/html/connectivity__state_8c.html new file mode 100644 index 0000000000..81a6bc2a38 --- /dev/null +++ b/doc/ref/core.internal/html/connectivity__state_8c.html @@ -0,0 +1,334 @@ + + + + + + +GRPC Core: src/core/transport/connectivity_state.c File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
connectivity_state.c File Reference
+
+
+ + + + + + + + + + + + + + + + + +

+Functions

const char * grpc_connectivity_state_name (grpc_connectivity_state state)
 
void grpc_connectivity_state_init (grpc_connectivity_state_tracker *tracker, grpc_connectivity_state init_state, const char *name)
 
void grpc_connectivity_state_destroy (grpc_connectivity_state_tracker *tracker)
 
grpc_connectivity_state grpc_connectivity_state_check (grpc_connectivity_state_tracker *tracker)
 
int grpc_connectivity_state_notify_on_state_change (grpc_connectivity_state_tracker *tracker, grpc_connectivity_state *current, grpc_iomgr_closure *notify)
 Return 1 if the channel should start connecting, 0 otherwise. More...
 
void grpc_connectivity_state_set_with_scheduler (grpc_connectivity_state_tracker *tracker, grpc_connectivity_state state, void(*scheduler)(void *arg, grpc_iomgr_closure *closure), void *arg, const char *reason)
 
void grpc_connectivity_state_set (grpc_connectivity_state_tracker *tracker, grpc_connectivity_state state, const char *reason)
 
+ + + +

+Variables

int grpc_connectivity_state_trace = 0
 
+

Function Documentation

+ +
+
+ + + + + + + + +
grpc_connectivity_state grpc_connectivity_state_check (grpc_connectivity_state_trackertracker)
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_connectivity_state_destroy (grpc_connectivity_state_trackertracker)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void grpc_connectivity_state_init (grpc_connectivity_state_trackertracker,
grpc_connectivity_state init_state,
const char * name 
)
+
+ +
+
+ +
+
+ + + + + + + + +
const char* grpc_connectivity_state_name (grpc_connectivity_state state)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
int grpc_connectivity_state_notify_on_state_change (grpc_connectivity_state_trackertracker,
grpc_connectivity_statecurrent,
grpc_iomgr_closurenotify 
)
+
+ +

Return 1 if the channel should start connecting, 0 otherwise.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void grpc_connectivity_state_set (grpc_connectivity_state_trackertracker,
grpc_connectivity_state state,
const char * reason 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void grpc_connectivity_state_set_with_scheduler (grpc_connectivity_state_trackertracker,
grpc_connectivity_state state,
void(*)(void *arg, grpc_iomgr_closure *closure) scheduler,
void * arg,
const char * reason 
)
+
+ +
+
+

Variable Documentation

+ +
+
+ + + + +
int grpc_connectivity_state_trace = 0
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/connectivity__state_8h.html b/doc/ref/core.internal/html/connectivity__state_8h.html new file mode 100644 index 0000000000..9f5b713bb7 --- /dev/null +++ b/doc/ref/core.internal/html/connectivity__state_8h.html @@ -0,0 +1,344 @@ + + + + + + +GRPC Core: src/core/transport/connectivity_state.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
connectivity_state.h File Reference
+
+
+
#include <grpc/grpc.h>
+#include "src/core/iomgr/iomgr.h"
+
+

Go to the source code of this file.

+ + + + + + +

+Data Structures

struct  grpc_connectivity_state_watcher
 
struct  grpc_connectivity_state_tracker
 
+ + + +

+Typedefs

typedef struct
+grpc_connectivity_state_watcher 
grpc_connectivity_state_watcher
 
+ + + + + + + + + + + + + + +

+Functions

void grpc_connectivity_state_init (grpc_connectivity_state_tracker *tracker, grpc_connectivity_state init_state, const char *name)
 
void grpc_connectivity_state_destroy (grpc_connectivity_state_tracker *tracker)
 
void grpc_connectivity_state_set (grpc_connectivity_state_tracker *tracker, grpc_connectivity_state state, const char *reason)
 
void grpc_connectivity_state_set_with_scheduler (grpc_connectivity_state_tracker *tracker, grpc_connectivity_state state, void(*scheduler)(void *arg, grpc_iomgr_closure *closure), void *arg, const char *reason)
 
grpc_connectivity_state grpc_connectivity_state_check (grpc_connectivity_state_tracker *tracker)
 
int grpc_connectivity_state_notify_on_state_change (grpc_connectivity_state_tracker *tracker, grpc_connectivity_state *current, grpc_iomgr_closure *notify)
 Return 1 if the channel should start connecting, 0 otherwise. More...
 
+ + + +

+Variables

int grpc_connectivity_state_trace
 
+

Typedef Documentation

+ + +

Function Documentation

+ +
+
+ + + + + + + + +
grpc_connectivity_state grpc_connectivity_state_check (grpc_connectivity_state_trackertracker)
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_connectivity_state_destroy (grpc_connectivity_state_trackertracker)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void grpc_connectivity_state_init (grpc_connectivity_state_trackertracker,
grpc_connectivity_state init_state,
const char * name 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
int grpc_connectivity_state_notify_on_state_change (grpc_connectivity_state_trackertracker,
grpc_connectivity_statecurrent,
grpc_iomgr_closurenotify 
)
+
+ +

Return 1 if the channel should start connecting, 0 otherwise.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void grpc_connectivity_state_set (grpc_connectivity_state_trackertracker,
grpc_connectivity_state state,
const char * reason 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void grpc_connectivity_state_set_with_scheduler (grpc_connectivity_state_trackertracker,
grpc_connectivity_state state,
void(*)(void *arg, grpc_iomgr_closure *closure) scheduler,
void * arg,
const char * reason 
)
+
+ +
+
+

Variable Documentation

+ +
+
+ + + + +
int grpc_connectivity_state_trace
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/connectivity__state_8h_source.html b/doc/ref/core.internal/html/connectivity__state_8h_source.html new file mode 100644 index 0000000000..db822e9ad9 --- /dev/null +++ b/doc/ref/core.internal/html/connectivity__state_8h_source.html @@ -0,0 +1,194 @@ + + + + + + +GRPC Core: src/core/transport/connectivity_state.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
connectivity_state.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPC_INTERNAL_CORE_TRANSPORT_CONNECTIVITY_STATE_H
+
35 #define GRPC_INTERNAL_CORE_TRANSPORT_CONNECTIVITY_STATE_H
+
36 
+
37 #include <grpc/grpc.h>
+
38 #include "src/core/iomgr/iomgr.h"
+
39 
+ + + + + +
48 
+
49 typedef struct {
+ + +
55  char *name;
+ +
57 
+ +
59 
+ +
61  grpc_connectivity_state init_state,
+
62  const char *name);
+ +
64 
+ + +
67  const char *reason);
+ + +
70  void (*scheduler)(void *arg, grpc_iomgr_closure *closure), void *arg,
+
71  const char *reason);
+
72 
+ + +
75 
+ + +
79  grpc_iomgr_closure *notify);
+
80 
+
81 #endif /* GRPC_INTERNAL_CORE_TRANSPORT_CONNECTIVITY_STATE_H */
+
grpc_connectivity_state
Connectivity state of a channel.
Definition: grpc.h:139
+
char * name
a name to help debugging
Definition: connectivity_state.h:55
+
int grpc_connectivity_state_notify_on_state_change(grpc_connectivity_state_tracker *tracker, grpc_connectivity_state *current, grpc_iomgr_closure *notify)
Return 1 if the channel should start connecting, 0 otherwise.
Definition: connectivity_state.c:87
+
struct grpc_connectivity_state_watcher * next
we keep watchers in a linked list
Definition: connectivity_state.h:42
+
void grpc_connectivity_state_set_with_scheduler(grpc_connectivity_state_tracker *tracker, grpc_connectivity_state state, void(*scheduler)(void *arg, grpc_iomgr_closure *closure), void *arg, const char *reason)
Definition: connectivity_state.c:108
+
Definition: cmdline.c:47
+
struct grpc_connectivity_state_watcher grpc_connectivity_state_watcher
+
grpc_connectivity_state_watcher * watchers
all our watchers
Definition: connectivity_state.h:53
+
void grpc_connectivity_state_set(grpc_connectivity_state_tracker *tracker, grpc_connectivity_state state, const char *reason)
Definition: connectivity_state.c:143
+
A closure over a grpc_iomgr_cb_func.
Definition: iomgr.h:45
+
grpc_iomgr_closure * notify
closure to notify on change
Definition: connectivity_state.h:44
+
grpc_connectivity_state grpc_connectivity_state_check(grpc_connectivity_state_tracker *tracker)
Definition: connectivity_state.c:82
+
grpc_connectivity_state * current
the current state as believed by the watcher
Definition: connectivity_state.h:46
+
void grpc_connectivity_state_destroy(grpc_connectivity_state_tracker *tracker)
Definition: connectivity_state.c:66
+
grpc_connectivity_state current_state
current connectivity state
Definition: connectivity_state.h:51
+
void grpc_connectivity_state_init(grpc_connectivity_state_tracker *tracker, grpc_connectivity_state init_state, const char *name)
Definition: connectivity_state.c:58
+ +
int grpc_connectivity_state_trace
Definition: connectivity_state.c:39
+ +
Definition: connectivity_state.h:40
+
Definition: connectivity_state.h:49
+
+ + + + diff --git a/doc/ref/core.internal/html/connector_8c.html b/doc/ref/core.internal/html/connector_8c.html new file mode 100644 index 0000000000..eb1aa4ef60 --- /dev/null +++ b/doc/ref/core.internal/html/connector_8c.html @@ -0,0 +1,183 @@ + + + + + + +GRPC Core: src/core/client_config/connector.c File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
connector.c File Reference
+
+
+ + + + + + + + +

+Functions

void grpc_connector_ref (grpc_connector *connector)
 
void grpc_connector_unref (grpc_connector *connector)
 
void grpc_connector_connect (grpc_connector *connector, const grpc_connect_in_args *in_args, grpc_connect_out_args *out_args, grpc_iomgr_closure *notify)
 
+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void grpc_connector_connect (grpc_connectorconnector,
const grpc_connect_in_argsin_args,
grpc_connect_out_argsout_args,
grpc_iomgr_closurenotify 
)
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_connector_ref (grpc_connectorconnector)
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_connector_unref (grpc_connectorconnector)
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/connector_8h.html b/doc/ref/core.internal/html/connector_8h.html new file mode 100644 index 0000000000..65a23109ed --- /dev/null +++ b/doc/ref/core.internal/html/connector_8h.html @@ -0,0 +1,233 @@ + + + + + + +GRPC Core: src/core/client_config/connector.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
connector.h File Reference
+
+
+ +

Go to the source code of this file.

+ + + + + + + + + + +

+Data Structures

struct  grpc_connector
 
struct  grpc_connect_in_args
 
struct  grpc_connect_out_args
 
struct  grpc_connector_vtable
 
+ + + + + +

+Typedefs

typedef struct grpc_connector grpc_connector
 
typedef struct
+grpc_connector_vtable 
grpc_connector_vtable
 
+ + + + + + + +

+Functions

void grpc_connector_ref (grpc_connector *connector)
 
void grpc_connector_unref (grpc_connector *connector)
 
void grpc_connector_connect (grpc_connector *connector, const grpc_connect_in_args *in_args, grpc_connect_out_args *out_args, grpc_iomgr_closure *notify)
 
+

Typedef Documentation

+ +
+
+ + + + +
typedef struct grpc_connector grpc_connector
+
+ +
+
+ +
+
+ + + + +
typedef struct grpc_connector_vtable grpc_connector_vtable
+
+ +
+
+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void grpc_connector_connect (grpc_connectorconnector,
const grpc_connect_in_argsin_args,
grpc_connect_out_argsout_args,
grpc_iomgr_closurenotify 
)
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_connector_ref (grpc_connectorconnector)
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_connector_unref (grpc_connectorconnector)
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/connector_8h_source.html b/doc/ref/core.internal/html/connector_8h_source.html new file mode 100644 index 0000000000..c557daebe4 --- /dev/null +++ b/doc/ref/core.internal/html/connector_8h_source.html @@ -0,0 +1,208 @@ + + + + + + +GRPC Core: src/core/client_config/connector.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
connector.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPC_INTERNAL_CORE_CLIENT_CONFIG_CONNECTOR_H
+
35 #define GRPC_INTERNAL_CORE_CLIENT_CONFIG_CONNECTOR_H
+
36 
+ + + +
40 
+ + +
43 
+ + +
46 };
+
47 
+
48 typedef struct {
+ +
52  const struct sockaddr *addr;
+
53  int addr_len;
+ + + + +
61 
+
62 typedef struct {
+ + +
67  size_t num_filters;
+ +
69 
+ + + + +
74  const grpc_connect_in_args *in_args,
+
75  grpc_connect_out_args *out_args, grpc_iomgr_closure *notify);
+
76 };
+
77 
+ + + +
81  const grpc_connect_in_args *in_args,
+
82  grpc_connect_out_args *out_args,
+
83  grpc_iomgr_closure *notify);
+
84 
+
85 #endif
+
Definition: channel_stack.h:64
+
void(* ref)(grpc_connector *connector)
Definition: connector.h:71
+
grpc_mdctx * metadata_context
metadata context
Definition: connector.h:59
+
gpr_timespec deadline
deadline for connection
Definition: connector.h:55
+ +
An array of arguments that can be passed around.
Definition: grpc.h:113
+ +
int addr_len
Definition: connector.h:53
+ +
Definition: secure_channel_create.c:54
+
void grpc_connector_unref(grpc_connector *connector)
Definition: connector.c:40
+
size_t num_filters
Definition: connector.h:67
+
const grpc_connector_vtable * vtable
Definition: connector.h:45
+
void grpc_connector_ref(grpc_connector *connector)
Definition: connector.c:36
+
Definition: connector.h:70
+
void grpc_connector_connect(grpc_connector *connector, const grpc_connect_in_args *in_args, grpc_connect_out_args *out_args, grpc_iomgr_closure *notify)
Definition: connector.c:44
+
Definition: metadata.c:98
+
Definition: connector.h:44
+
A closure over a grpc_iomgr_cb_func.
Definition: iomgr.h:45
+
grpc_pollset_set * interested_parties
set of pollsets interested in this connection
Definition: connector.h:50
+
grpc_transport * transport
the connected transport
Definition: connector.h:64
+
void(* connect)(grpc_connector *connector, const grpc_connect_in_args *in_args, grpc_connect_out_args *out_args, grpc_iomgr_closure *notify)
Definition: connector.h:73
+
Definition: connector.h:62
+
void(* unref)(grpc_connector *connector)
Definition: connector.h:72
+
Definition: connector.h:48
+
Definition: time.h:60
+
const grpc_channel_filter ** filters
any additional filters (owned by the caller of connect)
Definition: connector.h:66
+
Definition: pollset_set_posix.h:40
+
const struct sockaddr * addr
address to connect to
Definition: connector.h:52
+
Definition: transport_impl.h:67
+
const grpc_channel_args * channel_args
channel arguments (to be passed to transport)
Definition: connector.h:57
+
+ + + + diff --git a/doc/ref/core.internal/html/context_8c.html b/doc/ref/core.internal/html/context_8c.html new file mode 100644 index 0000000000..17fa573c47 --- /dev/null +++ b/doc/ref/core.internal/html/context_8c.html @@ -0,0 +1,190 @@ + + + + + + +GRPC Core: src/core/census/context.c File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
context.c File Reference
+
+
+
#include "src/core/census/context.h"
+#include <string.h>
+#include <grpc/census.h>
+#include <grpc/support/alloc.h>
+
+ + + + + + + +

+Functions

size_t census_context_serialize (const census_context *context, char *buffer, size_t buf_size)
 
int census_context_deserialize (const char *buffer, census_context **context)
 
void census_context_destroy (census_context *context)
 
+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
int census_context_deserialize (const char * buffer,
census_context ** context 
)
+
+ +
+
+ +
+
+ + + + + + + + +
void census_context_destroy (census_contextcontext)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
size_t census_context_serialize (const census_contextcontext,
char * buffer,
size_t buf_size 
)
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/cpu_8h.html b/doc/ref/core.internal/html/cpu_8h.html new file mode 100644 index 0000000000..cbe54a8f5b --- /dev/null +++ b/doc/ref/core.internal/html/cpu_8h.html @@ -0,0 +1,144 @@ + + + + + + +GRPC Core: include/grpc/support/cpu.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
cpu.h File Reference
+
+
+ +

Go to the source code of this file.

+ + + + + + +

+Functions

unsigned gpr_cpu_num_cores (void)
 
unsigned gpr_cpu_current_cpu (void)
 
+

Function Documentation

+ +
+
+ + + + + + + + +
unsigned gpr_cpu_current_cpu (void )
+
+ +
+
+ +
+
+ + + + + + + + +
unsigned gpr_cpu_num_cores (void )
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/cpu_8h_source.html b/doc/ref/core.internal/html/cpu_8h_source.html new file mode 100644 index 0000000000..9619cb2a9a --- /dev/null +++ b/doc/ref/core.internal/html/cpu_8h_source.html @@ -0,0 +1,158 @@ + + + + + + +GRPC Core: include/grpc/support/cpu.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
cpu.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPC_SUPPORT_CPU_H
+
35 #define GRPC_SUPPORT_CPU_H
+
36 
+
37 #ifdef __cplusplus
+
38 extern "C" {
+
39 #endif
+
40 
+
41 /* Interface providing CPU information for currently running system */
+
42 
+
43 /* Return the number of CPU cores on the current system. Will return 0 if
+
44  the information is not available. */
+
45 unsigned gpr_cpu_num_cores(void);
+
46 
+
47 /* Return the CPU on which the current thread is executing; N.B. This should
+
48  be considered advisory only - it is possible that the thread is switched
+
49  to a different CPU at any time. Returns a value in range
+
50  [0, gpr_cpu_num_cores() - 1] */
+
51 unsigned gpr_cpu_current_cpu(void);
+
52 
+
53 #ifdef __cplusplus
+
54 } // extern "C"
+
55 #endif
+
56 
+
57 #endif /* GRPC_SUPPORT_CPU_H */
+
unsigned gpr_cpu_num_cores(void)
+
unsigned gpr_cpu_current_cpu(void)
+
+ + + + diff --git a/doc/ref/core.internal/html/cpu__iphone_8c.html b/doc/ref/core.internal/html/cpu__iphone_8c.html new file mode 100644 index 0000000000..fda1bf053e --- /dev/null +++ b/doc/ref/core.internal/html/cpu__iphone_8c.html @@ -0,0 +1,100 @@ + + + + + + +GRPC Core: src/core/support/cpu_iphone.c File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
cpu_iphone.c File Reference
+
+ + + + + diff --git a/doc/ref/core.internal/html/cpu__linux_8c.html b/doc/ref/core.internal/html/cpu__linux_8c.html new file mode 100644 index 0000000000..321898a586 --- /dev/null +++ b/doc/ref/core.internal/html/cpu__linux_8c.html @@ -0,0 +1,121 @@ + + + + + + +GRPC Core: src/core/support/cpu_linux.c File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
cpu_linux.c File Reference
+
+
+ + + + +

+Macros

#define _GNU_SOURCE
 
+

Macro Definition Documentation

+ +
+
+ + + + +
#define _GNU_SOURCE
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/cpu__posix_8c.html b/doc/ref/core.internal/html/cpu__posix_8c.html new file mode 100644 index 0000000000..9b7ac95297 --- /dev/null +++ b/doc/ref/core.internal/html/cpu__posix_8c.html @@ -0,0 +1,100 @@ + + + + + + +GRPC Core: src/core/support/cpu_posix.c File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
cpu_posix.c File Reference
+
+ + + + + diff --git a/doc/ref/core.internal/html/cpu__windows_8c.html b/doc/ref/core.internal/html/cpu__windows_8c.html new file mode 100644 index 0000000000..a34a4abcd7 --- /dev/null +++ b/doc/ref/core.internal/html/cpu__windows_8c.html @@ -0,0 +1,100 @@ + + + + + + +GRPC Core: src/core/support/cpu_windows.c File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
cpu_windows.c File Reference
+
+ + + + + diff --git a/doc/ref/core.internal/html/credentials_8c.html b/doc/ref/core.internal/html/credentials_8c.html new file mode 100644 index 0000000000..1d716338d8 --- /dev/null +++ b/doc/ref/core.internal/html/credentials_8c.html @@ -0,0 +1,825 @@ + + + + + + +GRPC Core: src/core/security/credentials.c File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
credentials.c File Reference
+
+
+ + + + + + +

+Data Structures

struct  grpc_credentials_metadata_request
 
struct  grpc_composite_credentials_metadata_context
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

grpc_credentialsgrpc_credentials_ref (grpc_credentials *creds)
 
void grpc_credentials_unref (grpc_credentials *creds)
 
void grpc_credentials_release (grpc_credentials *creds)
 
int grpc_credentials_has_request_metadata (grpc_credentials *creds)
 
int grpc_credentials_has_request_metadata_only (grpc_credentials *creds)
 
void grpc_credentials_get_request_metadata (grpc_credentials *creds, grpc_pollset *pollset, const char *service_url, grpc_credentials_metadata_cb cb, void *user_data)
 
grpc_security_status grpc_credentials_create_security_connector (grpc_credentials *creds, const char *target, const grpc_channel_args *args, grpc_credentials *request_metadata_creds, grpc_channel_security_connector **sc, grpc_channel_args **new_args)
 
void grpc_server_credentials_release (grpc_server_credentials *creds)
 
grpc_security_status grpc_server_credentials_create_security_connector (grpc_server_credentials *creds, grpc_security_connector **sc)
 
grpc_credentialsgrpc_ssl_credentials_create (const char *pem_root_certs, grpc_ssl_pem_key_cert_pair *pem_key_cert_pair)
 
grpc_server_credentialsgrpc_ssl_server_credentials_create (const char *pem_root_certs, grpc_ssl_pem_key_cert_pair *pem_key_cert_pairs, size_t num_key_cert_pairs, int force_client_auth)
 
grpc_credentialsgrpc_service_account_jwt_access_credentials_create_from_auth_json_key (grpc_auth_json_key key, gpr_timespec token_lifetime)
 
grpc_credentialsgrpc_service_account_jwt_access_credentials_create (const char *json_key, gpr_timespec token_lifetime)
 
grpc_credentials_status grpc_oauth2_token_fetcher_credentials_parse_server_response (const grpc_httpcli_response *response, grpc_credentials_md_store **token_md, gpr_timespec *token_lifetime)
 
grpc_credentialsgrpc_compute_engine_credentials_create (void)
 
grpc_credentialsgrpc_service_account_credentials_create (const char *json_key, const char *scope, gpr_timespec token_lifetime)
 
grpc_credentialsgrpc_refresh_token_credentials_create_from_auth_refresh_token (grpc_auth_refresh_token refresh_token)
 
grpc_credentialsgrpc_refresh_token_credentials_create (const char *json_refresh_token)
 
void on_simulated_token_fetch_done (void *user_data, int success)
 
grpc_credentialsgrpc_fake_oauth2_credentials_create (const char *token_md_value, int is_async)
 
grpc_credentialsgrpc_access_token_credentials_create (const char *access_token)
 
grpc_credentialsgrpc_fake_transport_security_credentials_create (void)
 
grpc_server_credentialsgrpc_fake_transport_security_server_credentials_create (void)
 
grpc_credentialsgrpc_composite_credentials_create (grpc_credentials *creds1, grpc_credentials *creds2)
 
const grpc_credentials_arraygrpc_composite_credentials_get_credentials (grpc_credentials *creds)
 
grpc_credentialsgrpc_credentials_contains_type (grpc_credentials *creds, const char *type, grpc_credentials **composite_creds)
 
grpc_credentialsgrpc_iam_credentials_create (const char *token, const char *authority_selector)
 
+

Function Documentation

+ +
+
+ + + + + + + + +
grpc_credentials* grpc_access_token_credentials_create (const char * access_token)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
grpc_credentials* grpc_composite_credentials_create (grpc_credentialscreds1,
grpc_credentialscreds2 
)
+
+ +
+
+ +
+
+ + + + + + + + +
const grpc_credentials_array* grpc_composite_credentials_get_credentials (grpc_credentialscreds)
+
+ +
+
+ +
+
+ + + + + + + + +
grpc_credentials* grpc_compute_engine_credentials_create (void )
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
grpc_credentials* grpc_credentials_contains_type (grpc_credentialscreds,
const char * type,
grpc_credentials ** composite_creds 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
grpc_security_status grpc_credentials_create_security_connector (grpc_credentialscreds,
const char * target,
const grpc_channel_argsargs,
grpc_credentialsrequest_metadata_creds,
grpc_channel_security_connector ** sc,
grpc_channel_args ** new_args 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void grpc_credentials_get_request_metadata (grpc_credentialscreds,
grpc_pollsetpollset,
const char * service_url,
grpc_credentials_metadata_cb cb,
void * user_data 
)
+
+ +
+
+ +
+
+ + + + + + + + +
int grpc_credentials_has_request_metadata (grpc_credentialscreds)
+
+ +
+
+ +
+
+ + + + + + + + +
int grpc_credentials_has_request_metadata_only (grpc_credentialscreds)
+
+ +
+
+ +
+
+ + + + + + + + +
grpc_credentials* grpc_credentials_ref (grpc_credentialscreds)
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_credentials_release (grpc_credentialscreds)
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_credentials_unref (grpc_credentialscreds)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
grpc_credentials* grpc_fake_oauth2_credentials_create (const char * token_md_value,
int is_async 
)
+
+ +
+
+ +
+
+ + + + + + + + +
grpc_credentials* grpc_fake_transport_security_credentials_create (void )
+
+ +
+
+ +
+
+ + + + + + + + +
grpc_server_credentials* grpc_fake_transport_security_server_credentials_create (void )
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
grpc_credentials* grpc_iam_credentials_create (const char * token,
const char * authority_selector 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
grpc_credentials_status grpc_oauth2_token_fetcher_credentials_parse_server_response (const grpc_httpcli_responseresponse,
grpc_credentials_md_store ** token_md,
gpr_timespectoken_lifetime 
)
+
+ +
+
+ +
+
+ + + + + + + + +
grpc_credentials* grpc_refresh_token_credentials_create (const char * json_refresh_token)
+
+ +
+
+ +
+
+ + + + + + + + +
grpc_credentials* grpc_refresh_token_credentials_create_from_auth_refresh_token (grpc_auth_refresh_token refresh_token)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
grpc_security_status grpc_server_credentials_create_security_connector (grpc_server_credentialscreds,
grpc_security_connector ** sc 
)
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_server_credentials_release (grpc_server_credentialscreds)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
grpc_credentials* grpc_service_account_credentials_create (const char * json_key,
const char * scope,
gpr_timespec token_lifetime 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
grpc_credentials* grpc_service_account_jwt_access_credentials_create (const char * json_key,
gpr_timespec token_lifetime 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
grpc_credentials* grpc_service_account_jwt_access_credentials_create_from_auth_json_key (grpc_auth_json_key key,
gpr_timespec token_lifetime 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
grpc_credentials* grpc_ssl_credentials_create (const char * pem_root_certs,
grpc_ssl_pem_key_cert_pairpem_key_cert_pair 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
grpc_server_credentials* grpc_ssl_server_credentials_create (const char * pem_root_certs,
grpc_ssl_pem_key_cert_pairpem_key_cert_pairs,
size_t num_key_cert_pairs,
int force_client_auth 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void on_simulated_token_fetch_done (void * user_data,
int success 
)
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/credentials_8h.html b/doc/ref/core.internal/html/credentials_8h.html new file mode 100644 index 0000000000..2efcbad006 --- /dev/null +++ b/doc/ref/core.internal/html/credentials_8h.html @@ -0,0 +1,1053 @@ + + + + + + +GRPC Core: src/core/security/credentials.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
credentials.h File Reference
+
+
+ +

Go to the source code of this file.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Data Structures

struct  grpc_credentials_md
 
struct  grpc_credentials_md_store
 
struct  grpc_credentials_vtable
 
struct  grpc_credentials
 
struct  grpc_credentials_array
 
struct  grpc_server_credentials_vtable
 
struct  grpc_server_credentials
 
struct  grpc_ssl_credentials
 
struct  grpc_ssl_server_credentials
 
struct  grpc_service_account_jwt_access_credentials
 
struct  grpc_oauth2_token_fetcher_credentials
 
struct  grpc_service_account_credentials
 
struct  grpc_refresh_token_credentials
 
struct  grpc_access_token_credentials
 
struct  grpc_fake_oauth2_credentials
 
struct  grpc_iam_credentials
 
struct  grpc_composite_credentials
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Macros

#define GRPC_FAKE_TRANSPORT_SECURITY_TYPE   "fake"
 
#define GRPC_CREDENTIALS_TYPE_SSL   "Ssl"
 
#define GRPC_CREDENTIALS_TYPE_OAUTH2   "Oauth2"
 
#define GRPC_CREDENTIALS_TYPE_JWT   "Jwt"
 
#define GRPC_CREDENTIALS_TYPE_IAM   "Iam"
 
#define GRPC_CREDENTIALS_TYPE_COMPOSITE   "Composite"
 
#define GRPC_CREDENTIALS_TYPE_FAKE_TRANSPORT_SECURITY   "FakeTransportSecurity"
 
#define GRPC_AUTHORIZATION_METADATA_KEY   "Authorization"
 
#define GRPC_IAM_AUTHORIZATION_TOKEN_METADATA_KEY   "x-goog-iam-authorization-token"
 
#define GRPC_IAM_AUTHORITY_SELECTOR_METADATA_KEY   "x-goog-iam-authority-selector"
 
#define GRPC_GOOGLE_CLOUD_SDK_CONFIG_DIRECTORY   "gcloud"
 
#define GRPC_GOOGLE_WELL_KNOWN_CREDENTIALS_FILE   "application_default_credentials.json"
 
#define GRPC_SECURE_TOKEN_REFRESH_THRESHOLD_SECS   60
 
#define GRPC_COMPUTE_ENGINE_METADATA_HOST   "metadata"
 
#define GRPC_COMPUTE_ENGINE_METADATA_TOKEN_PATH   "/computeMetadata/v1/instance/service-accounts/default/token"
 
#define GRPC_GOOGLE_OAUTH2_SERVICE_HOST   "www.googleapis.com"
 
#define GRPC_GOOGLE_OAUTH2_SERVICE_TOKEN_PATH   "/oauth2/v3/token"
 
#define GRPC_SERVICE_ACCOUNT_POST_BODY_PREFIX
 
#define GRPC_REFRESH_TOKEN_POST_BODY_FORMAT_STRING   "client_id=%s&client_secret=%s&refresh_token=%s&grant_type=refresh_token"
 
+ + + + + + + +

+Typedefs

typedef void(* grpc_credentials_metadata_cb )(void *user_data, grpc_credentials_md *md_elems, size_t num_md, grpc_credentials_status status)
 
typedef struct
+grpc_credentials_metadata_request 
grpc_credentials_metadata_request
 
typedef void(* grpc_fetch_oauth2_func )(grpc_credentials_metadata_request *req, grpc_httpcli_context *http_context, grpc_pollset *pollset, grpc_httpcli_response_cb response_cb, gpr_timespec deadline)
 
+ + + +

+Enumerations

enum  grpc_credentials_status { GRPC_CREDENTIALS_OK = 0, +GRPC_CREDENTIALS_ERROR + }
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

grpc_credentials_md_storegrpc_credentials_md_store_create (size_t initial_capacity)
 
void grpc_credentials_md_store_add (grpc_credentials_md_store *store, gpr_slice key, gpr_slice value)
 
void grpc_credentials_md_store_add_cstrings (grpc_credentials_md_store *store, const char *key, const char *value)
 
grpc_credentials_md_storegrpc_credentials_md_store_ref (grpc_credentials_md_store *store)
 
void grpc_credentials_md_store_unref (grpc_credentials_md_store *store)
 
grpc_credentialsgrpc_fake_transport_security_credentials_create (void)
 
grpc_server_credentialsgrpc_fake_transport_security_server_credentials_create (void)
 
char * grpc_get_well_known_google_credentials_file_path (void)
 
grpc_credentialsgrpc_credentials_ref (grpc_credentials *creds)
 
void grpc_credentials_unref (grpc_credentials *creds)
 
int grpc_credentials_has_request_metadata (grpc_credentials *creds)
 
int grpc_credentials_has_request_metadata_only (grpc_credentials *creds)
 
void grpc_credentials_get_request_metadata (grpc_credentials *creds, grpc_pollset *pollset, const char *service_url, grpc_credentials_metadata_cb cb, void *user_data)
 
grpc_security_status grpc_credentials_create_security_connector (grpc_credentials *creds, const char *target, const grpc_channel_args *args, grpc_credentials *request_metadata_creds, grpc_channel_security_connector **sc, grpc_channel_args **new_args)
 
const grpc_credentials_arraygrpc_composite_credentials_get_credentials (grpc_credentials *composite_creds)
 
grpc_credentialsgrpc_credentials_contains_type (grpc_credentials *creds, const char *type, grpc_credentials **composite_creds)
 
grpc_credentials_status grpc_oauth2_token_fetcher_credentials_parse_server_response (const struct grpc_httpcli_response *response, grpc_credentials_md_store **token_md, gpr_timespec *token_lifetime)
 
void grpc_flush_cached_google_default_credentials (void)
 
grpc_credentialsgrpc_fake_oauth2_credentials_create (const char *token_md_value, int is_async)
 
grpc_credentialsgrpc_service_account_jwt_access_credentials_create_from_auth_json_key (grpc_auth_json_key key, gpr_timespec token_lifetime)
 
grpc_credentialsgrpc_refresh_token_credentials_create_from_auth_refresh_token (grpc_auth_refresh_token token)
 
grpc_security_status grpc_server_credentials_create_security_connector (grpc_server_credentials *creds, grpc_security_connector **sc)
 
+

Macro Definition Documentation

+ +
+
+ + + + +
#define GRPC_AUTHORIZATION_METADATA_KEY   "Authorization"
+
+ +
+
+ +
+
+ + + + +
#define GRPC_COMPUTE_ENGINE_METADATA_HOST   "metadata"
+
+ +
+
+ +
+
+ + + + +
#define GRPC_COMPUTE_ENGINE_METADATA_TOKEN_PATH   "/computeMetadata/v1/instance/service-accounts/default/token"
+
+ +
+
+ +
+
+ + + + +
#define GRPC_CREDENTIALS_TYPE_COMPOSITE   "Composite"
+
+ +
+
+ +
+
+ + + + +
#define GRPC_CREDENTIALS_TYPE_FAKE_TRANSPORT_SECURITY   "FakeTransportSecurity"
+
+ +
+
+ +
+
+ + + + +
#define GRPC_CREDENTIALS_TYPE_IAM   "Iam"
+
+ +
+
+ +
+
+ + + + +
#define GRPC_CREDENTIALS_TYPE_JWT   "Jwt"
+
+ +
+
+ +
+
+ + + + +
#define GRPC_CREDENTIALS_TYPE_OAUTH2   "Oauth2"
+
+ +
+
+ +
+
+ + + + +
#define GRPC_CREDENTIALS_TYPE_SSL   "Ssl"
+
+ +
+
+ +
+
+ + + + +
#define GRPC_FAKE_TRANSPORT_SECURITY_TYPE   "fake"
+
+ +
+
+ +
+
+ + + + +
#define GRPC_GOOGLE_CLOUD_SDK_CONFIG_DIRECTORY   "gcloud"
+
+ +
+
+ +
+
+ + + + +
#define GRPC_GOOGLE_OAUTH2_SERVICE_HOST   "www.googleapis.com"
+
+ +
+
+ +
+
+ + + + +
#define GRPC_GOOGLE_OAUTH2_SERVICE_TOKEN_PATH   "/oauth2/v3/token"
+
+ +
+
+ +
+
+ + + + +
#define GRPC_GOOGLE_WELL_KNOWN_CREDENTIALS_FILE   "application_default_credentials.json"
+
+ +
+
+ +
+
+ + + + +
#define GRPC_IAM_AUTHORITY_SELECTOR_METADATA_KEY   "x-goog-iam-authority-selector"
+
+ +
+
+ +
+
+ + + + +
#define GRPC_IAM_AUTHORIZATION_TOKEN_METADATA_KEY   "x-goog-iam-authorization-token"
+
+ +
+
+ +
+
+ + + + +
#define GRPC_REFRESH_TOKEN_POST_BODY_FORMAT_STRING   "client_id=%s&client_secret=%s&refresh_token=%s&grant_type=refresh_token"
+
+ +
+
+ +
+
+ + + + +
#define GRPC_SECURE_TOKEN_REFRESH_THRESHOLD_SECS   60
+
+ +
+
+ +
+
+ + + + +
#define GRPC_SERVICE_ACCOUNT_POST_BODY_PREFIX
+
+Value:
"grant_type=urn%3Aietf%3Aparams%3Aoauth%3Agrant-type%3Ajwt-bearer&" \
+
"assertion="
+
+
+
+

Typedef Documentation

+ +
+
+ + + + +
typedef void(* grpc_credentials_metadata_cb)(void *user_data, grpc_credentials_md *md_elems, size_t num_md, grpc_credentials_status status)
+
+ +
+
+ + + +
+
+ + + + +
typedef void(* grpc_fetch_oauth2_func)(grpc_credentials_metadata_request *req, grpc_httpcli_context *http_context, grpc_pollset *pollset, grpc_httpcli_response_cb response_cb, gpr_timespec deadline)
+
+ +
+
+

Enumeration Type Documentation

+ +
+
+ + + + +
enum grpc_credentials_status
+
+ + + +
Enumerator
GRPC_CREDENTIALS_OK  +
GRPC_CREDENTIALS_ERROR  +
+ +
+
+

Function Documentation

+ +
+
+ + + + + + + + +
const grpc_credentials_array* grpc_composite_credentials_get_credentials (grpc_credentialscomposite_creds)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
grpc_credentials* grpc_credentials_contains_type (grpc_credentialscreds,
const char * type,
grpc_credentials ** composite_creds 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
grpc_security_status grpc_credentials_create_security_connector (grpc_credentialscreds,
const char * target,
const grpc_channel_argsargs,
grpc_credentialsrequest_metadata_creds,
grpc_channel_security_connector ** sc,
grpc_channel_args ** new_args 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void grpc_credentials_get_request_metadata (grpc_credentialscreds,
grpc_pollsetpollset,
const char * service_url,
grpc_credentials_metadata_cb cb,
void * user_data 
)
+
+ +
+
+ +
+
+ + + + + + + + +
int grpc_credentials_has_request_metadata (grpc_credentialscreds)
+
+ +
+
+ +
+
+ + + + + + + + +
int grpc_credentials_has_request_metadata_only (grpc_credentialscreds)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void grpc_credentials_md_store_add (grpc_credentials_md_storestore,
gpr_slice key,
gpr_slice value 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void grpc_credentials_md_store_add_cstrings (grpc_credentials_md_storestore,
const char * key,
const char * value 
)
+
+ +
+
+ +
+
+ + + + + + + + +
grpc_credentials_md_store* grpc_credentials_md_store_create (size_t initial_capacity)
+
+ +
+
+ +
+
+ + + + + + + + +
grpc_credentials_md_store* grpc_credentials_md_store_ref (grpc_credentials_md_storestore)
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_credentials_md_store_unref (grpc_credentials_md_storestore)
+
+ +
+
+ +
+
+ + + + + + + + +
grpc_credentials* grpc_credentials_ref (grpc_credentialscreds)
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_credentials_unref (grpc_credentialscreds)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
grpc_credentials* grpc_fake_oauth2_credentials_create (const char * token_md_value,
int is_async 
)
+
+ +
+
+ +
+
+ + + + + + + + +
grpc_credentials* grpc_fake_transport_security_credentials_create (void )
+
+ +
+
+ +
+
+ + + + + + + + +
grpc_server_credentials* grpc_fake_transport_security_server_credentials_create (void )
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_flush_cached_google_default_credentials (void )
+
+ +
+
+ +
+
+ + + + + + + + +
char* grpc_get_well_known_google_credentials_file_path (void )
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
grpc_credentials_status grpc_oauth2_token_fetcher_credentials_parse_server_response (const struct grpc_httpcli_responseresponse,
grpc_credentials_md_store ** token_md,
gpr_timespectoken_lifetime 
)
+
+ +
+
+ +
+
+ + + + + + + + +
grpc_credentials* grpc_refresh_token_credentials_create_from_auth_refresh_token (grpc_auth_refresh_token token)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
grpc_security_status grpc_server_credentials_create_security_connector (grpc_server_credentialscreds,
grpc_security_connector ** sc 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
grpc_credentials* grpc_service_account_jwt_access_credentials_create_from_auth_json_key (grpc_auth_json_key key,
gpr_timespec token_lifetime 
)
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/credentials_8h_source.html b/doc/ref/core.internal/html/credentials_8h_source.html new file mode 100644 index 0000000000..4bfcdc070b --- /dev/null +++ b/doc/ref/core.internal/html/credentials_8h_source.html @@ -0,0 +1,538 @@ + + + + + + +GRPC Core: src/core/security/credentials.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
credentials.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPC_INTERNAL_CORE_SECURITY_CREDENTIALS_H
+
35 #define GRPC_INTERNAL_CORE_SECURITY_CREDENTIALS_H
+
36 
+ +
38 #include <grpc/grpc.h>
+
39 #include <grpc/grpc_security.h>
+
40 #include <grpc/support/sync.h>
+
41 
+ + + +
45 
+ +
47 
+
48 /* --- Constants. --- */
+
49 
+
50 typedef enum {
+ + + +
54 
+
55 #define GRPC_FAKE_TRANSPORT_SECURITY_TYPE "fake"
+
56 
+
57 #define GRPC_CREDENTIALS_TYPE_SSL "Ssl"
+
58 #define GRPC_CREDENTIALS_TYPE_OAUTH2 "Oauth2"
+
59 #define GRPC_CREDENTIALS_TYPE_JWT "Jwt"
+
60 #define GRPC_CREDENTIALS_TYPE_IAM "Iam"
+
61 #define GRPC_CREDENTIALS_TYPE_COMPOSITE "Composite"
+
62 #define GRPC_CREDENTIALS_TYPE_FAKE_TRANSPORT_SECURITY "FakeTransportSecurity"
+
63 
+
64 #define GRPC_AUTHORIZATION_METADATA_KEY "Authorization"
+
65 #define GRPC_IAM_AUTHORIZATION_TOKEN_METADATA_KEY \
+
66  "x-goog-iam-authorization-token"
+
67 #define GRPC_IAM_AUTHORITY_SELECTOR_METADATA_KEY "x-goog-iam-authority-selector"
+
68 
+
69 #define GRPC_GOOGLE_CLOUD_SDK_CONFIG_DIRECTORY "gcloud"
+
70 #define GRPC_GOOGLE_WELL_KNOWN_CREDENTIALS_FILE \
+
71  "application_default_credentials.json"
+
72 
+
73 #define GRPC_SECURE_TOKEN_REFRESH_THRESHOLD_SECS 60
+
74 
+
75 #define GRPC_COMPUTE_ENGINE_METADATA_HOST "metadata"
+
76 #define GRPC_COMPUTE_ENGINE_METADATA_TOKEN_PATH \
+
77  "/computeMetadata/v1/instance/service-accounts/default/token"
+
78 
+
79 #define GRPC_GOOGLE_OAUTH2_SERVICE_HOST "www.googleapis.com"
+
80 #define GRPC_GOOGLE_OAUTH2_SERVICE_TOKEN_PATH "/oauth2/v3/token"
+
81 
+
82 #define GRPC_SERVICE_ACCOUNT_POST_BODY_PREFIX \
+
83  "grant_type=urn%3Aietf%3Aparams%3Aoauth%3Agrant-type%3Ajwt-bearer&" \
+
84  "assertion="
+
85 
+
86 #define GRPC_REFRESH_TOKEN_POST_BODY_FORMAT_STRING \
+
87  "client_id=%s&client_secret=%s&refresh_token=%s&grant_type=refresh_token"
+
88 
+
89 /* --- grpc_credentials_md. --- */
+
90 
+
91 typedef struct {
+ + + +
95 
+
96 typedef struct {
+ +
98  size_t num_entries;
+
99  size_t allocated;
+ + +
102 
+ +
104  size_t initial_capacity);
+
105 
+
106 /* Will ref key and value. */
+ + + +
110  const char *key, const char *value);
+ + + +
114 
+
115 /* --- grpc_credentials. --- */
+
116 
+
117 /* Creates a fake transport security credentials object for testing. */
+ +
119 /* Creates a fake server transport security credentials object for testing. */
+ +
121  void);
+
122 
+
123 /* It is the caller's responsibility to gpr_free the result if not NULL. */
+ +
125 
+
126 typedef void (*grpc_credentials_metadata_cb)(void *user_data,
+
127  grpc_credentials_md *md_elems,
+
128  size_t num_md,
+
129  grpc_credentials_status status);
+
130 
+
131 typedef struct {
+
132  void (*destroy)(grpc_credentials *c);
+
133  int (*has_request_metadata)(const grpc_credentials *c);
+
134  int (*has_request_metadata_only)(const grpc_credentials *c);
+
135  void (*get_request_metadata)(grpc_credentials *c, grpc_pollset *pollset,
+
136  const char *service_url,
+ +
138  void *user_data);
+
139  grpc_security_status (*create_security_connector)(
+
140  grpc_credentials *c, const char *target, const grpc_channel_args *args,
+
141  grpc_credentials *request_metadata_creds,
+ + +
144 
+ + +
147  const char *type;
+ +
149 };
+
150 
+ + + + + +
156  grpc_pollset *pollset,
+
157  const char *service_url,
+ +
159  void *user_data);
+
160 
+
161 /* Creates a security connector for the channel. May also create new channel
+
162  args for the channel to be used in place of the passed in const args if
+
163  returned non NULL. In that case the caller is responsible for destroying
+
164  new_args after channel creation. */
+ +
166  grpc_credentials *creds, const char *target, const grpc_channel_args *args,
+
167  grpc_credentials *request_metadata_creds,
+ +
169 
+
170 typedef struct {
+ +
172  size_t num_creds;
+ +
174 
+ +
176  grpc_credentials *composite_creds);
+
177 
+
178 /* Returns creds if creds is of the specified type or the inner creds of the
+
179  specified type (if found), if the creds is of type COMPOSITE.
+
180  If composite_creds is not NULL, *composite_creds will point to creds if of
+
181  type COMPOSITE in case of success. */
+ +
183  grpc_credentials *creds, const char *type,
+
184  grpc_credentials **composite_creds);
+
185 
+
186 /* Exposed for testing only. */
+ + +
189  const struct grpc_httpcli_response *response,
+
190  grpc_credentials_md_store **token_md, gpr_timespec *token_lifetime);
+ +
192 
+
193 /* Simulates an oauth2 token fetch with the specified value for testing. */
+ +
195  const char *token_md_value, int is_async);
+
196 
+
197 /* Private constructor for jwt credentials from an already parsed json key.
+
198  Takes ownership of the key. */
+ + +
201  grpc_auth_json_key key, gpr_timespec token_lifetime);
+
202 
+
203 /* Private constructor for refresh token credentials from an already parsed
+
204  refresh token. Takes ownership of the refresh token. */
+ + +
207 
+
208 /* --- grpc_server_credentials. --- */
+
209 
+
210 typedef struct {
+
211  void (*destroy)(grpc_server_credentials *c);
+
212  grpc_security_status (*create_security_connector)(
+ + +
215 
+ + +
218  const char *type;
+
219 };
+
220 
+ + +
223 
+
224 /* -- Ssl credentials. -- */
+
225 
+
226 typedef struct {
+ + + +
230 
+
231 typedef struct {
+ + + +
235 
+
236 /* -- Jwt credentials -- */
+
237 
+
238 typedef struct {
+ +
240 
+
241  /* Have a simple cache for now with just 1 entry. We could have a map based on
+
242  the service_url for a more sophisticated one. */
+ +
244  struct {
+ +
246  char *service_url;
+ +
248  } cached;
+
249 
+ + + +
253 
+
254 /* -- Oauth2TokenFetcher credentials --
+
255 
+
256  This object is a base for credentials that need to acquire an oauth2 token
+
257  from an http service. */
+
258 
+ + +
261 
+ +
263  grpc_httpcli_context *http_context,
+
264  grpc_pollset *pollset,
+
265  grpc_httpcli_response_cb response_cb,
+
266  gpr_timespec deadline);
+
267 
+
268 typedef struct {
+ + + + + + + +
276 
+
277 /* -- ServiceAccount credentials. -- */
+
278 
+
279 typedef struct {
+ + +
282  char *scope;
+ + +
285 
+
286 /* -- RefreshToken credentials. -- */
+
287 
+
288 typedef struct {
+ + + +
292 
+
293 /* -- Oauth2 Access Token credentials. -- */
+
294 
+
295 typedef struct {
+ + + +
299 
+
300 /* -- Fake Oauth2 credentials. -- */
+
301 
+
302 typedef struct {
+ + +
305  int is_async;
+ +
307 
+
308 /* -- IAM credentials. -- */
+
309 
+
310 typedef struct {
+ + + +
314 
+
315 /* -- Composite credentials. -- */
+
316 
+
317 typedef struct {
+ + + + +
322 
+
323 #endif /* GRPC_INTERNAL_CORE_SECURITY_CREDENTIALS_H */
+
grpc_credentials_status
Definition: credentials.h:50
+
const char * value
Definition: hpack_table.c:44
+
grpc_credentials_md_store * jwt_md
Definition: credentials.h:245
+
Definition: credentials.h:131
+
grpc_credentials_md * entries
Definition: credentials.h:97
+
Definition: credentials.h:210
+
int grpc_credentials_has_request_metadata_only(grpc_credentials *creds)
Definition: credentials.c:102
+
gpr_timespec jwt_lifetime
Definition: credentials.h:251
+
gpr_refcount refcount
Definition: credentials.h:100
+
Definition: sync_generic.h:49
+
void(* grpc_credentials_metadata_cb)(void *user_data, grpc_credentials_md *md_elems, size_t num_md, grpc_credentials_status status)
Definition: credentials.h:126
+
Definition: credentials.h:91
+
grpc_credentials_md_store * grpc_credentials_md_store_create(size_t initial_capacity)
Definition: credentials_metadata.c:48
+
An array of arguments that can be passed around.
Definition: grpc.h:113
+
Definition: credentials.h:268
+
Definition: credentials.h:279
+ +
grpc_credentials_md_store * access_token_md
Definition: credentials.h:304
+
const char * type
Definition: credentials.h:218
+
grpc_ssl_config config
Definition: credentials.h:228
+
grpc_credentials_status grpc_oauth2_token_fetcher_credentials_parse_server_response(const struct grpc_httpcli_response *response, grpc_credentials_md_store **token_md, gpr_timespec *token_lifetime)
+
char * service_url
Definition: credentials.h:246
+
int is_async
Definition: credentials.h:305
+
grpc_credentials_md_store * grpc_credentials_md_store_ref(grpc_credentials_md_store *store)
Definition: credentials_metadata.c:80
+
Definition: credentials.h:317
+
grpc_auth_json_key key
Definition: credentials.h:281
+
const grpc_credentials_vtable * vtable
Definition: credentials.h:146
+ +
grpc_credentials * grpc_service_account_jwt_access_credentials_create_from_auth_json_key(grpc_auth_json_key key, gpr_timespec token_lifetime)
Definition: credentials.c:407
+
grpc_oauth2_token_fetcher_credentials base
Definition: credentials.h:289
+
grpc_security_status grpc_credentials_create_security_connector(grpc_credentials *creds, const char *target, const grpc_channel_args *args, grpc_credentials *request_metadata_creds, grpc_channel_security_connector **sc, grpc_channel_args **new_args)
Definition: credentials.c:123
+
grpc_oauth2_token_fetcher_credentials base
Definition: credentials.h:280
+
grpc_auth_refresh_token refresh_token
Definition: credentials.h:290
+
grpc_credentials_md_store * iam_md
Definition: credentials.h:312
+
grpc_credentials * grpc_refresh_token_credentials_create_from_auth_refresh_token(grpc_auth_refresh_token token)
Definition: credentials.c:747
+
grpc_credentials * grpc_credentials_contains_type(grpc_credentials *creds, const char *type, grpc_credentials **composite_creds)
Definition: credentials.c:1157
+
void(* grpc_fetch_oauth2_func)(grpc_credentials_metadata_request *req, grpc_httpcli_context *http_context, grpc_pollset *pollset, grpc_httpcli_response_cb response_cb, gpr_timespec deadline)
Definition: credentials.h:262
+
int grpc_credentials_has_request_metadata(grpc_credentials *creds)
Definition: credentials.c:97
+
Definition: credentials.h:231
+
void grpc_credentials_md_store_add(grpc_credentials_md_store *store, gpr_slice key, gpr_slice value)
Definition: credentials_metadata.c:60
+ +
char * grpc_get_well_known_google_credentials_file_path(void)
+
Definition: pollset_posix.h:48
+
gpr_mu mu
Definition: credentials.h:270
+
size_t num_creds
Definition: credentials.h:172
+
grpc_auth_json_key key
Definition: credentials.h:250
+
Definition: credentials.h:216
+
Definition: credentials.h:145
+
Definition: credentials.h:170
+
Definition: credentials.h:295
+
Definition: credentials.h:96
+
gpr_slice value
Definition: credentials.h:93
+
void grpc_credentials_unref(grpc_credentials *creds)
Definition: credentials.c:88
+
const grpc_server_credentials_vtable * vtable
Definition: credentials.h:217
+
grpc_credentials base
Definition: credentials.h:303
+
void grpc_flush_cached_google_default_credentials(void)
Definition: google_default_credentials.c:213
+
grpc_credentials base
Definition: credentials.h:318
+
grpc_credentials * connector_creds
Definition: credentials.h:320
+
Definition: json_token.h:94
+
grpc_server_credentials * grpc_fake_transport_security_server_credentials_create(void)
Definition: credentials.c:938
+
size_t allocated
Definition: credentials.h:99
+
Definition: credentials.h:52
+
void grpc_credentials_get_request_metadata(grpc_credentials *creds, grpc_pollset *pollset, const char *service_url, grpc_credentials_metadata_cb cb, void *user_data)
Definition: credentials.c:107
+
Definition: credentials.h:310
+
gpr_timespec token_lifetime
Definition: credentials.h:283
+
size_t num_entries
Definition: credentials.h:98
+
gpr_refcount refcount
Definition: credentials.h:148
+
grpc_credentials_md_store * access_token_md
Definition: credentials.h:297
+
Definition: sync_win32.h:39
+
void grpc_credentials_md_store_unref(grpc_credentials_md_store *store)
Definition: credentials_metadata.c:87
+
Definition: security_connector.h:196
+
gpr_timespec jwt_expiration
Definition: credentials.h:247
+ +
Definition: security_connector.h:75
+
Definition: credentials.h:238
+
Definition: security_connector.h:135
+
Definition: json_token.h:52
+
Definition: credentials.h:226
+
grpc_credentials base
Definition: credentials.h:296
+
grpc_httpcli_context httpcli_context
Definition: credentials.h:273
+
grpc_credentials_array inner
Definition: credentials.h:319
+
const char * type
Definition: credentials.h:147
+
Definition: credentials.h:288
+
grpc_credentials * grpc_fake_transport_security_credentials_create(void)
Definition: credentials.c:929
+
gpr_mu cache_mu
Definition: credentials.h:243
+
gpr_timespec token_expiration
Definition: credentials.h:272
+
Definition: security_connector.h:165
+ +
Definition: credentials.h:51
+
gpr_slice key
Definition: credentials.h:92
+ +
Definition: time.h:60
+
const grpc_credentials_array * grpc_composite_credentials_get_credentials(grpc_credentials *composite_creds)
Definition: credentials.c:1149
+
void grpc_credentials_md_store_add_cstrings(grpc_credentials_md_store *store, const char *key, const char *value)
Definition: credentials_metadata.c:69
+
void(* grpc_httpcli_response_cb)(void *user_data, const grpc_httpcli_response *response)
Definition: httpcli.h:89
+
grpc_credentials * grpc_credentials_ref(grpc_credentials *creds)
Definition: credentials.c:82
+
Definition: httpcli.h:57
+
grpc_credentials base
Definition: credentials.h:227
+
grpc_server_credentials base
Definition: credentials.h:232
+
Definition: credentials.c:54
+
grpc_credentials * grpc_fake_oauth2_credentials_create(const char *token_md_value, int is_async)
Definition: credentials.c:818
+
Definition: httpcli.h:77
+
grpc_credentials base
Definition: credentials.h:311
+
Definition: credentials.h:302
+
grpc_credentials_md_store * access_token_md
Definition: credentials.h:271
+
grpc_security_status
Definition: security_connector.h:43
+
const char * key
Definition: hpack_table.c:43
+ +
Definition: slice.h:79
+
grpc_fetch_oauth2_func fetch_func
Definition: credentials.h:274
+
grpc_security_status grpc_server_credentials_create_security_connector(grpc_server_credentials *creds, grpc_security_connector **sc)
Definition: credentials.c:143
+
grpc_credentials base
Definition: credentials.h:239
+
grpc_credentials ** creds_array
Definition: credentials.h:171
+
grpc_ssl_server_config config
Definition: credentials.h:233
+
char * scope
Definition: credentials.h:282
+
grpc_credentials base
Definition: credentials.h:269
+
+ + + + diff --git a/doc/ref/core.internal/html/credentials__metadata_8c.html b/doc/ref/core.internal/html/credentials__metadata_8c.html new file mode 100644 index 0000000000..05c7cba141 --- /dev/null +++ b/doc/ref/core.internal/html/credentials__metadata_8c.html @@ -0,0 +1,231 @@ + + + + + + +GRPC Core: src/core/security/credentials_metadata.c File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
credentials_metadata.c File Reference
+
+
+ + + + + + + + + + + + +

+Functions

grpc_credentials_md_storegrpc_credentials_md_store_create (size_t initial_capacity)
 
void grpc_credentials_md_store_add (grpc_credentials_md_store *store, gpr_slice key, gpr_slice value)
 
void grpc_credentials_md_store_add_cstrings (grpc_credentials_md_store *store, const char *key, const char *value)
 
grpc_credentials_md_storegrpc_credentials_md_store_ref (grpc_credentials_md_store *store)
 
void grpc_credentials_md_store_unref (grpc_credentials_md_store *store)
 
+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void grpc_credentials_md_store_add (grpc_credentials_md_storestore,
gpr_slice key,
gpr_slice value 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void grpc_credentials_md_store_add_cstrings (grpc_credentials_md_storestore,
const char * key,
const char * value 
)
+
+ +
+
+ +
+
+ + + + + + + + +
grpc_credentials_md_store* grpc_credentials_md_store_create (size_t initial_capacity)
+
+ +
+
+ +
+
+ + + + + + + + +
grpc_credentials_md_store* grpc_credentials_md_store_ref (grpc_credentials_md_storestore)
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_credentials_md_store_unref (grpc_credentials_md_storestore)
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/credentials__posix_8c.html b/doc/ref/core.internal/html/credentials__posix_8c.html new file mode 100644 index 0000000000..4a209b2319 --- /dev/null +++ b/doc/ref/core.internal/html/credentials__posix_8c.html @@ -0,0 +1,100 @@ + + + + + + +GRPC Core: src/core/security/credentials_posix.c File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
credentials_posix.c File Reference
+
+ + + + + diff --git a/doc/ref/core.internal/html/credentials__win32_8c.html b/doc/ref/core.internal/html/credentials__win32_8c.html new file mode 100644 index 0000000000..f550f8b0c5 --- /dev/null +++ b/doc/ref/core.internal/html/credentials__win32_8c.html @@ -0,0 +1,100 @@ + + + + + + +GRPC Core: src/core/security/credentials_win32.c File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
credentials_win32.c File Reference
+
+ + + + + diff --git a/doc/ref/core.internal/html/dir_03e3f2561cf9e09e514d23ee8902839b.html b/doc/ref/core.internal/html/dir_03e3f2561cf9e09e514d23ee8902839b.html new file mode 100644 index 0000000000..eb172178b3 --- /dev/null +++ b/doc/ref/core.internal/html/dir_03e3f2561cf9e09e514d23ee8902839b.html @@ -0,0 +1,113 @@ + + + + + + +GRPC Core: src/core/httpcli Directory Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + +
+ +
+ + +
+
+
+
httpcli Directory Reference
+
+
+ + + + + + + + + + + + + + + + + + +

+Files

file  format_request.c
 
file  format_request.h [code]
 
file  httpcli.c
 
file  httpcli.h [code]
 
file  httpcli_security_connector.c
 
file  httpcli_security_connector.h [code]
 
file  parser.c
 
file  parser.h [code]
 
+
+ + + + diff --git a/doc/ref/core.internal/html/dir_35c0979e6ab890cbca79261dc9fc2958.html b/doc/ref/core.internal/html/dir_35c0979e6ab890cbca79261dc9fc2958.html new file mode 100644 index 0000000000..ec45156e17 --- /dev/null +++ b/doc/ref/core.internal/html/dir_35c0979e6ab890cbca79261dc9fc2958.html @@ -0,0 +1,103 @@ + + + + + + +GRPC Core: src/core/compression Directory Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + +
+ +
+ + +
+
+
+
compression Directory Reference
+
+
+ + + + + + + + +

+Files

file  algorithm.c
 
file  message_compress.c
 
file  message_compress.h [code]
 
+
+ + + + diff --git a/doc/ref/core.internal/html/dir_3f1a464cbd6442b4d6b6ee306c9b0460.html b/doc/ref/core.internal/html/dir_3f1a464cbd6442b4d6b6ee306c9b0460.html new file mode 100644 index 0000000000..4c29d228f7 --- /dev/null +++ b/doc/ref/core.internal/html/dir_3f1a464cbd6442b4d6b6ee306c9b0460.html @@ -0,0 +1,229 @@ + + + + + + +GRPC Core: src/core/iomgr Directory Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + +
+ +
+ + +
+
+
+
iomgr Directory Reference
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Files

file  alarm.c
 
file  alarm.h [code]
 
file  alarm_heap.c
 
file  alarm_heap.h [code]
 
file  alarm_internal.h [code]
 
file  endpoint.c
 
file  endpoint.h [code]
 
file  endpoint_pair.h [code]
 
file  endpoint_pair_posix.c
 
file  endpoint_pair_windows.c
 
file  fd_posix.c
 
file  fd_posix.h [code]
 
file  iocp_windows.c
 
file  iocp_windows.h [code]
 
file  iomgr.c
 
file  iomgr.h [code]
 
file  iomgr_internal.h [code]
 
file  iomgr_posix.c
 
file  iomgr_posix.h [code]
 
file  iomgr_windows.c
 
file  pollset.h [code]
 
file  pollset_kick_posix.c
 
file  pollset_kick_posix.h [code]
 
file  pollset_multipoller_with_epoll.c
 
file  pollset_multipoller_with_poll_posix.c
 
file  pollset_posix.c
 
file  pollset_posix.h [code]
 
file  pollset_set.h [code]
 
file  pollset_set_posix.c
 
file  pollset_set_posix.h [code]
 
file  pollset_set_windows.c
 
file  pollset_set_windows.h [code]
 
file  pollset_windows.c
 
file  pollset_windows.h [code]
 
file  resolve_address.h [code]
 
file  resolve_address_posix.c
 
file  resolve_address_windows.c
 
file  sockaddr.h [code]
 
file  sockaddr_posix.h [code]
 
file  sockaddr_utils.c
 
file  sockaddr_utils.h [code]
 
file  sockaddr_win32.h [code]
 
file  socket_utils_common_posix.c
 
file  socket_utils_linux.c
 
file  socket_utils_posix.c
 
file  socket_utils_posix.h [code]
 
file  socket_windows.c
 
file  socket_windows.h [code]
 
file  tcp_client.h [code]
 
file  tcp_client_posix.c
 
file  tcp_client_windows.c
 
file  tcp_posix.c
 
file  tcp_posix.h [code]
 
file  tcp_server.h [code]
 
file  tcp_server_posix.c
 
file  tcp_server_windows.c
 
file  tcp_windows.c
 
file  tcp_windows.h [code]
 
file  time_averaged_stats.c
 
file  time_averaged_stats.h [code]
 
file  wakeup_fd_eventfd.c
 
file  wakeup_fd_nospecial.c
 
file  wakeup_fd_pipe.c
 
file  wakeup_fd_pipe.h [code]
 
file  wakeup_fd_posix.c
 
file  wakeup_fd_posix.h [code]
 
+
+ + + + diff --git a/doc/ref/core.internal/html/dir_3f4beedb24b0e92d29e048ed944a7adc.html b/doc/ref/core.internal/html/dir_3f4beedb24b0e92d29e048ed944a7adc.html new file mode 100644 index 0000000000..af4d7f0ef7 --- /dev/null +++ b/doc/ref/core.internal/html/dir_3f4beedb24b0e92d29e048ed944a7adc.html @@ -0,0 +1,105 @@ + + + + + + +GRPC Core: src/core/client_config/subchannel_factory_decorators Directory Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + +
+ +
+ + +
+
+
+
subchannel_factory_decorators Directory Reference
+
+
+ + + + + + + + + + +

+Files

file  add_channel_arg.c
 
file  add_channel_arg.h [code]
 
file  merge_channel_args.c
 
file  merge_channel_args.h [code]
 
+
+ + + + diff --git a/doc/ref/core.internal/html/dir_5349cec9f9058ade8b7779c683443df9.html b/doc/ref/core.internal/html/dir_5349cec9f9058ade8b7779c683443df9.html new file mode 100644 index 0000000000..0d5e289014 --- /dev/null +++ b/doc/ref/core.internal/html/dir_5349cec9f9058ade8b7779c683443df9.html @@ -0,0 +1,101 @@ + + + + + + +GRPC Core: src/core/debug Directory Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + +
+ +
+ + +
+
+
+
debug Directory Reference
+
+
+ + + + + + +

+Files

file  trace.c
 
file  trace.h [code]
 
+
+ + + + diff --git a/doc/ref/core.internal/html/dir_63ea090b1bf0393f23b745b651ae7f2b.html b/doc/ref/core.internal/html/dir_63ea090b1bf0393f23b745b651ae7f2b.html new file mode 100644 index 0000000000..1f7ecca93a --- /dev/null +++ b/doc/ref/core.internal/html/dir_63ea090b1bf0393f23b745b651ae7f2b.html @@ -0,0 +1,109 @@ + + + + + + +GRPC Core: src/core/census Directory Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + +
+ +
+ + +
+
+
+
census Directory Reference
+
+
+ + + + + + + + + + + + + + +

+Files

file  context.c
 
file  context.h [code]
 
file  grpc_context.c
 
file  initialize.c
 
file  record_stat.c
 
file  rpc_stat_id.h [code]
 
+
+ + + + diff --git a/doc/ref/core.internal/html/dir_68267d1309a1af8e8297ef4c3efbcdba.html b/doc/ref/core.internal/html/dir_68267d1309a1af8e8297ef4c3efbcdba.html new file mode 100644 index 0000000000..fb900bdf5c --- /dev/null +++ b/doc/ref/core.internal/html/dir_68267d1309a1af8e8297ef4c3efbcdba.html @@ -0,0 +1,99 @@ + + + + + + +GRPC Core: src Directory Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + +
+ +
+ + +
+
+
+
src Directory Reference
+
+
+ + + + +

+Directories

directory  core
 
+
+ + + + diff --git a/doc/ref/core.internal/html/dir_7283b8f5e6e3c4b0819c2b491a18d7d4.html b/doc/ref/core.internal/html/dir_7283b8f5e6e3c4b0819c2b491a18d7d4.html new file mode 100644 index 0000000000..ee6826b43a --- /dev/null +++ b/doc/ref/core.internal/html/dir_7283b8f5e6e3c4b0819c2b491a18d7d4.html @@ -0,0 +1,113 @@ + + + + + + +GRPC Core: src/core/json Directory Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + +
+ +
+ + +
+
+
+
json Directory Reference
+
+
+ + + + + + + + + + + + + + + + + + +

+Files

file  json.c
 
file  json.h [code]
 
file  json_common.h [code]
 
file  json_reader.c
 
file  json_reader.h [code]
 
file  json_string.c
 
file  json_writer.c
 
file  json_writer.h [code]
 
+
+ + + + diff --git a/doc/ref/core.internal/html/dir_73fa28a1e06161e89b964f34cd202aba.html b/doc/ref/core.internal/html/dir_73fa28a1e06161e89b964f34cd202aba.html new file mode 100644 index 0000000000..e4e722893b --- /dev/null +++ b/doc/ref/core.internal/html/dir_73fa28a1e06161e89b964f34cd202aba.html @@ -0,0 +1,105 @@ + + + + + + +GRPC Core: src/core/profiling Directory Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + +
+ +
+ + +
+
+
+
profiling Directory Reference
+
+
+ + + + + + + + + + +

+Files

file  basic_timers.c
 
file  stap_timers.c
 
file  timers.h [code]
 
file  timers_preciseclock.h [code]
 
+
+ + + + diff --git a/doc/ref/core.internal/html/dir_79268b13b30141157b35932967b4e740.html b/doc/ref/core.internal/html/dir_79268b13b30141157b35932967b4e740.html new file mode 100644 index 0000000000..e62b486034 --- /dev/null +++ b/doc/ref/core.internal/html/dir_79268b13b30141157b35932967b4e740.html @@ -0,0 +1,126 @@ + + + + + + +GRPC Core: src/core/transport Directory Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + +
+ +
+ + +
+
+
+
transport Directory Reference
+
+
+ + + + +

+Directories

directory  chttp2
 
+ + + + + + + + + + + + + + + + + + + + + + + + + +

+Files

file  chttp2_transport.c
 
file  chttp2_transport.h [code]
 
file  connectivity_state.c
 
file  connectivity_state.h [code]
 
 
 
file  stream_op.c
 
file  stream_op.h [code]
 
file  transport.c
 
file  transport.h [code]
 
file  transport_impl.h [code]
 
file  transport_op_string.c
 
+
+ + + + diff --git a/doc/ref/core.internal/html/dir_8aa15e76222df75340b2e23e43efb3e2.html b/doc/ref/core.internal/html/dir_8aa15e76222df75340b2e23e43efb3e2.html new file mode 100644 index 0000000000..1fb594f96e --- /dev/null +++ b/doc/ref/core.internal/html/dir_8aa15e76222df75340b2e23e43efb3e2.html @@ -0,0 +1,133 @@ + + + + + + +GRPC Core: src/core/channel Directory Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + +
+ +
+ + +
+
+
+
channel Directory Reference
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Files

file  census_filter.h [code]
 
file  channel_args.c
 
file  channel_args.h [code]
 
file  channel_stack.c
 
file  channel_stack.h [code]
 
file  client_channel.c
 
file  client_channel.h [code]
 
file  compress_filter.c
 
file  compress_filter.h [code]
 
file  connected_channel.c
 
file  connected_channel.h [code]
 
file  context.h [code]
 
file  http_client_filter.c
 
file  http_client_filter.h [code]
 
file  http_server_filter.c
 
file  http_server_filter.h [code]
 
file  noop_filter.c
 
file  noop_filter.h [code]
 
+
+ + + + diff --git a/doc/ref/core.internal/html/dir_9410f15740cc8f8ab312fa27ab494b45.html b/doc/ref/core.internal/html/dir_9410f15740cc8f8ab312fa27ab494b45.html new file mode 100644 index 0000000000..615e08b2f3 --- /dev/null +++ b/doc/ref/core.internal/html/dir_9410f15740cc8f8ab312fa27ab494b45.html @@ -0,0 +1,187 @@ + + + + + + +GRPC Core: src/core/support Directory Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + +
+ +
+ + +
+
+
+
support Directory Reference
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Files

file  alloc.c
 
file  cancellable.c
 
file  cmdline.c
 
file  cpu_iphone.c
 
file  cpu_linux.c
 
file  cpu_posix.c
 
file  cpu_windows.c
 
file  env.h [code]
 
file  env_linux.c
 
file  env_posix.c
 
file  env_win32.c
 
file  file.c
 
file  file.h [code]
 
file  file_posix.c
 
file  file_win32.c
 
file  histogram.c
 
file  host_port.c
 
file  log.c
 
file  log_android.c
 
file  log_linux.c
 
file  log_posix.c
 
file  log_win32.c
 
file  murmur_hash.c
 
file  murmur_hash.h [code]
 
file  slice.c
 
file  slice_buffer.c
 
file  stack_lockfree.c
 
file  stack_lockfree.h [code]
 
file  string.c
 
file  string.h [code]
 
file  string_posix.c
 
file  string_win32.c
 
file  string_win32.h [code]
 
file  subprocess_posix.c
 
file  sync.c
 
file  sync_posix.c
 
file  sync_win32.c
 
file  thd.c
 
file  thd_internal.h [code]
 
file  thd_posix.c
 
file  thd_win32.c
 
file  time.c
 
file  time_posix.c
 
file  time_win32.c
 
file  tls_pthread.c
 
+
+ + + + diff --git a/doc/ref/core.internal/html/dir_99f60d2bb6231896bcd2887028065f74.html b/doc/ref/core.internal/html/dir_99f60d2bb6231896bcd2887028065f74.html new file mode 100644 index 0000000000..44b0959361 --- /dev/null +++ b/doc/ref/core.internal/html/dir_99f60d2bb6231896bcd2887028065f74.html @@ -0,0 +1,111 @@ + + + + + + +GRPC Core: src/core/tsi Directory Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + +
+ +
+ + +
+
+
+
tsi Directory Reference
+
+ + + + + diff --git a/doc/ref/core.internal/html/dir_9d7a14d6d9adcbe4c35dbdb88d867e2e.html b/doc/ref/core.internal/html/dir_9d7a14d6d9adcbe4c35dbdb88d867e2e.html new file mode 100644 index 0000000000..3ca5db4da5 --- /dev/null +++ b/doc/ref/core.internal/html/dir_9d7a14d6d9adcbe4c35dbdb88d867e2e.html @@ -0,0 +1,116 @@ + + + + + + +GRPC Core: include/grpc Directory Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + +
+ +
+ + +
+
+
+
grpc Directory Reference
+
+
+ + + + +

+Directories

directory  support
 
+ + + + + + + + + + + + + + + +

+Files

file  byte_buffer.h [code]
 
file  byte_buffer_reader.h [code]
 
file  census.h [code]
 
file  compression.h [code]
 
file  grpc.h [code]
 
file  grpc_security.h [code]
 
file  status.h [code]
 
+
+ + + + diff --git a/doc/ref/core.internal/html/dir_aebb8dcc11953d78e620bbef0b9e2183.html b/doc/ref/core.internal/html/dir_aebb8dcc11953d78e620bbef0b9e2183.html new file mode 100644 index 0000000000..a4145b5c9a --- /dev/null +++ b/doc/ref/core.internal/html/dir_aebb8dcc11953d78e620bbef0b9e2183.html @@ -0,0 +1,125 @@ + + + + + + +GRPC Core: src/core Directory Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + +
+ +
+ + +
+
+
+
core Directory Reference
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Directories

directory  census
 
directory  channel
 
directory  client_config
 
directory  compression
 
directory  debug
 
directory  httpcli
 
directory  iomgr
 
directory  json
 
directory  profiling
 
directory  security
 
directory  support
 
directory  surface
 
directory  transport
 
directory  tsi
 
+
+ + + + diff --git a/doc/ref/core.internal/html/dir_b758f7a0b27044dfb0efa69af3c473f5.html b/doc/ref/core.internal/html/dir_b758f7a0b27044dfb0efa69af3c473f5.html new file mode 100644 index 0000000000..421c3f8222 --- /dev/null +++ b/doc/ref/core.internal/html/dir_b758f7a0b27044dfb0efa69af3c473f5.html @@ -0,0 +1,145 @@ + + + + + + +GRPC Core: src/core/security Directory Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + +
+ +
+ + +
+
+
+
security Directory Reference
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Files

file  auth_filters.h [code]
 
file  base64.c
 
file  base64.h [code]
 
file  client_auth_filter.c
 
file  credentials.c
 
file  credentials.h [code]
 
 
file  credentials_posix.c
 
file  credentials_win32.c
 
file  google_default_credentials.c
 
file  json_token.c
 
file  json_token.h [code]
 
file  jwt_verifier.c
 
file  jwt_verifier.h [code]
 
file  secure_endpoint.c
 
file  secure_endpoint.h [code]
 
file  secure_transport_setup.c
 
file  secure_transport_setup.h [code]
 
file  security_connector.c
 
file  security_connector.h [code]
 
file  security_context.c
 
file  security_context.h [code]
 
file  server_auth_filter.c
 
file  server_secure_chttp2.c
 
+
+ + + + diff --git a/doc/ref/core.internal/html/dir_bbc3f91aaf5c0e78deeca586ef449264.html b/doc/ref/core.internal/html/dir_bbc3f91aaf5c0e78deeca586ef449264.html new file mode 100644 index 0000000000..a7249ca946 --- /dev/null +++ b/doc/ref/core.internal/html/dir_bbc3f91aaf5c0e78deeca586ef449264.html @@ -0,0 +1,101 @@ + + + + + + +GRPC Core: src/core/client_config/lb_policies Directory Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + +
+ +
+ + +
+
+
+
lb_policies Directory Reference
+
+
+ + + + + + +

+Files

file  pick_first.c
 
file  pick_first.h [code]
 
+
+ + + + diff --git a/doc/ref/core.internal/html/dir_bf8522d75c0d0c872d1b1e399b1737b8.html b/doc/ref/core.internal/html/dir_bf8522d75c0d0c872d1b1e399b1737b8.html new file mode 100644 index 0000000000..40ebbbb507 --- /dev/null +++ b/doc/ref/core.internal/html/dir_bf8522d75c0d0c872d1b1e399b1737b8.html @@ -0,0 +1,177 @@ + + + + + + +GRPC Core: src/core/transport/chttp2 Directory Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + +
+ +
+ + +
+
+
+
chttp2 Directory Reference
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Files

file  alpn.c
 
file  alpn.h [code]
 
file  bin_encoder.c
 
file  bin_encoder.h [code]
 
file  frame.h [code]
 
file  frame_data.c
 
file  frame_data.h [code]
 
file  frame_goaway.c
 
file  frame_goaway.h [code]
 
file  frame_ping.c
 
file  frame_ping.h [code]
 
file  frame_rst_stream.c
 
file  frame_rst_stream.h [code]
 
file  frame_settings.c
 
file  frame_settings.h [code]
 
file  frame_window_update.c
 
file  frame_window_update.h [code]
 
file  hpack_parser.c
 
file  hpack_parser.h [code]
 
file  hpack_table.c
 
file  hpack_table.h [code]
 
file  http2_errors.h [code]
 
file  huffsyms.c
 
file  huffsyms.h [code]
 
 
 
file  internal.h [code]
 
file  parsing.c
 
file  status_conversion.c
 
file  status_conversion.h [code]
 
file  stream_encoder.c
 
file  stream_encoder.h [code]
 
file  stream_lists.c
 
file  stream_map.c
 
file  stream_map.h [code]
 
file  timeout_encoding.c
 
file  timeout_encoding.h [code]
 
file  varint.c
 
file  varint.h [code]
 
file  writing.c
 
+
+ + + + diff --git a/doc/ref/core.internal/html/dir_c11753f61f8d651d8cfd411cfadfafab.html b/doc/ref/core.internal/html/dir_c11753f61f8d651d8cfd411cfadfafab.html new file mode 100644 index 0000000000..28f9a74498 --- /dev/null +++ b/doc/ref/core.internal/html/dir_c11753f61f8d651d8cfd411cfadfafab.html @@ -0,0 +1,105 @@ + + + + + + +GRPC Core: src/core/client_config/resolvers Directory Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + +
+ +
+ + +
+
+
+
resolvers Directory Reference
+
+
+ + + + + + + + + + +

+Files

file  dns_resolver.c
 
file  dns_resolver.h [code]
 
file  sockaddr_resolver.c
 
file  sockaddr_resolver.h [code]
 
+
+ + + + diff --git a/doc/ref/core.internal/html/dir_cad3142e04109052413f2d2a2d1813b0.html b/doc/ref/core.internal/html/dir_cad3142e04109052413f2d2a2d1813b0.html new file mode 100644 index 0000000000..03fda648e8 --- /dev/null +++ b/doc/ref/core.internal/html/dir_cad3142e04109052413f2d2a2d1813b0.html @@ -0,0 +1,153 @@ + + + + + + +GRPC Core: include/grpc/support Directory Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + +
+ +
+ + +
+
+
+
support Directory Reference
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Files

file  alloc.h [code]
 
file  atm.h [code]
 
file  atm_gcc_atomic.h [code]
 
file  atm_gcc_sync.h [code]
 
file  atm_win32.h [code]
 
file  cancellable_platform.h [code]
 
file  cmdline.h [code]
 
file  cpu.h [code]
 
file  histogram.h [code]
 
file  host_port.h [code]
 
file  log.h [code]
 
file  log_win32.h [code]
 
file  port_platform.h [code]
 
file  slice.h [code]
 
file  slice_buffer.h [code]
 
file  string_util.h [code]
 
file  subprocess.h [code]
 
file  sync.h [code]
 
file  sync_generic.h [code]
 
file  sync_posix.h [code]
 
file  sync_win32.h [code]
 
file  thd.h [code]
 
file  time.h [code]
 
file  tls.h [code]
 
file  tls_gcc.h [code]
 
file  tls_msvc.h [code]
 
file  tls_pthread.h [code]
 
file  useful.h [code]
 
+
+ + + + diff --git a/doc/ref/core.internal/html/dir_d44c64559bbebec7f509842c48db8b23.html b/doc/ref/core.internal/html/dir_d44c64559bbebec7f509842c48db8b23.html new file mode 100644 index 0000000000..6763f19e61 --- /dev/null +++ b/doc/ref/core.internal/html/dir_d44c64559bbebec7f509842c48db8b23.html @@ -0,0 +1,99 @@ + + + + + + +GRPC Core: include Directory Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + +
+ +
+ + +
+
+
+
include Directory Reference
+
+
+ + + + +

+Directories

directory  grpc
 
+
+ + + + diff --git a/doc/ref/core.internal/html/dir_d6c86f4345f838817939dd561d8a016c.html b/doc/ref/core.internal/html/dir_d6c86f4345f838817939dd561d8a016c.html new file mode 100644 index 0000000000..0f0b95ea8b --- /dev/null +++ b/doc/ref/core.internal/html/dir_d6c86f4345f838817939dd561d8a016c.html @@ -0,0 +1,142 @@ + + + + + + +GRPC Core: src/core/client_config Directory Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + +
+ +
+ + +
+
+
+
client_config Directory Reference
+
+
+ + + + + + + + +

+Directories

directory  lb_policies
 
directory  resolvers
 
directory  subchannel_factory_decorators
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Files

file  client_config.c
 
file  client_config.h [code]
 
file  connector.c
 
file  connector.h [code]
 
file  lb_policy.c
 
file  lb_policy.h [code]
 
file  resolver.c
 
file  resolver.h [code]
 
file  resolver_factory.c
 
file  resolver_factory.h [code]
 
file  resolver_registry.c
 
file  resolver_registry.h [code]
 
file  subchannel.c
 
file  subchannel.h [code]
 
file  subchannel_factory.c
 
file  subchannel_factory.h [code]
 
file  uri_parser.c
 
file  uri_parser.h [code]
 
+
+ + + + diff --git a/doc/ref/core.internal/html/dir_ea54cbef5e3ffa125df07262bbfc9627.html b/doc/ref/core.internal/html/dir_ea54cbef5e3ffa125df07262bbfc9627.html new file mode 100644 index 0000000000..c8fb274d25 --- /dev/null +++ b/doc/ref/core.internal/html/dir_ea54cbef5e3ffa125df07262bbfc9627.html @@ -0,0 +1,155 @@ + + + + + + +GRPC Core: src/core/surface Directory Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + +
+ +
+ + +
+
+
+
surface Directory Reference
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Files

file  byte_buffer.c
 
file  byte_buffer_queue.c
 
file  byte_buffer_queue.h [code]
 
file  byte_buffer_reader.c
 
file  call.c
 
file  call.h [code]
 
file  call_details.c
 
file  call_log_batch.c
 
file  channel.c
 
file  channel.h [code]
 
file  channel_connectivity.c
 
file  channel_create.c
 
file  completion_queue.c
 
file  completion_queue.h [code]
 
file  event_string.c
 
file  event_string.h [code]
 
file  init.c
 
file  init.h [code]
 
file  init_secure.c
 
file  lame_client.c
 
 
file  secure_channel_create.c
 
file  server.c
 
file  server.h [code]
 
file  server_chttp2.c
 
file  server_create.c
 
file  surface_trace.c
 
file  surface_trace.h [code]
 
file  version.c
 
+
+ + + + diff --git a/doc/ref/core.internal/html/dns__resolver_8c.html b/doc/ref/core.internal/html/dns__resolver_8c.html new file mode 100644 index 0000000000..14db34447c --- /dev/null +++ b/doc/ref/core.internal/html/dns__resolver_8c.html @@ -0,0 +1,141 @@ + + + + + + +GRPC Core: src/core/client_config/resolvers/dns_resolver.c File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
dns_resolver.c File Reference
+
+
+ + + + +

+Data Structures

struct  dns_resolver
 
+ + + + +

+Functions

grpc_resolver_factorygrpc_dns_resolver_factory_create ()
 Create a dns resolver factory. More...
 
+

Function Documentation

+ +
+
+ + + + + + + + +
grpc_resolver_factory* grpc_dns_resolver_factory_create (void )
+
+ +

Create a dns resolver factory.

+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/dns__resolver_8h.html b/doc/ref/core.internal/html/dns__resolver_8h.html new file mode 100644 index 0000000000..66cd3d461d --- /dev/null +++ b/doc/ref/core.internal/html/dns__resolver_8h.html @@ -0,0 +1,130 @@ + + + + + + +GRPC Core: src/core/client_config/resolvers/dns_resolver.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
dns_resolver.h File Reference
+
+
+ +

Go to the source code of this file.

+ + + + + +

+Functions

grpc_resolver_factorygrpc_dns_resolver_factory_create (void)
 Create a dns resolver factory. More...
 
+

Function Documentation

+ +
+
+ + + + + + + + +
grpc_resolver_factory* grpc_dns_resolver_factory_create (void )
+
+ +

Create a dns resolver factory.

+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/dns__resolver_8h_source.html b/doc/ref/core.internal/html/dns__resolver_8h_source.html new file mode 100644 index 0000000000..31dd4cb090 --- /dev/null +++ b/doc/ref/core.internal/html/dns__resolver_8h_source.html @@ -0,0 +1,143 @@ + + + + + + +GRPC Core: src/core/client_config/resolvers/dns_resolver.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
dns_resolver.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPC_INTERNAL_CORE_CLIENT_CONFIG_RESOLVERS_DNS_RESOLVER_H
+
35 #define GRPC_INTERNAL_CORE_CLIENT_CONFIG_RESOLVERS_DNS_RESOLVER_H
+
36 
+ +
38 
+ +
41 
+
42 #endif /* GRPC_INTERNAL_CORE_CLIENT_CONFIG_RESOLVERS_DNS_RESOLVER_H */
+
grpc_resolver_factory * grpc_dns_resolver_factory_create(void)
Create a dns resolver factory.
Definition: dns_resolver.c:258
+ +
grpc_resolver provides grpc_client_config objects to grpc_channel objects
Definition: resolver_factory.h:46
+
+ + + + diff --git a/doc/ref/core.internal/html/doxygen.css b/doc/ref/core.internal/html/doxygen.css new file mode 100644 index 0000000000..f0f36f89f5 --- /dev/null +++ b/doc/ref/core.internal/html/doxygen.css @@ -0,0 +1,1366 @@ +/* The standard CSS for doxygen 1.8.6 */ + +body, table, div, p, dl { + font: 400 14px/22px Roboto,sans-serif; +} + +/* @group Heading Levels */ + +h1.groupheader { + font-size: 150%; +} + +.title { + font: 400 14px/28px Roboto,sans-serif; + font-size: 150%; + font-weight: bold; + margin: 10px 2px; +} + +h2.groupheader { + border-bottom: 1px solid #879ECB; + color: #354C7B; + font-size: 150%; + font-weight: normal; + margin-top: 1.75em; + padding-top: 8px; + padding-bottom: 4px; + width: 100%; +} + +h3.groupheader { + font-size: 100%; +} + +h1, h2, h3, h4, h5, h6 { + -webkit-transition: text-shadow 0.5s linear; + -moz-transition: text-shadow 0.5s linear; + -ms-transition: text-shadow 0.5s linear; + -o-transition: text-shadow 0.5s linear; + transition: text-shadow 0.5s linear; + margin-right: 15px; +} + +h1.glow, h2.glow, h3.glow, h4.glow, h5.glow, h6.glow { + text-shadow: 0 0 15px cyan; +} + +dt { + font-weight: bold; +} + +div.multicol { + -moz-column-gap: 1em; + -webkit-column-gap: 1em; + -moz-column-count: 3; + -webkit-column-count: 3; +} + +p.startli, p.startdd { + margin-top: 2px; +} + +p.starttd { + margin-top: 0px; +} + +p.endli { + margin-bottom: 0px; +} + +p.enddd { + margin-bottom: 4px; +} + +p.endtd { + margin-bottom: 2px; +} + +/* @end */ + +caption { + font-weight: bold; +} + +span.legend { + font-size: 70%; + text-align: center; +} + +h3.version { + font-size: 90%; + text-align: center; +} + +div.qindex, div.navtab{ + background-color: #EBEFF6; + border: 1px solid #A3B4D7; + text-align: center; +} + +div.qindex, div.navpath { + width: 100%; + line-height: 140%; +} + +div.navtab { + margin-right: 15px; +} + +/* @group Link Styling */ + +a { + color: #3D578C; + font-weight: normal; + text-decoration: none; +} + +.contents a:visited { + color: #4665A2; +} + +a:hover { + text-decoration: underline; +} + +a.qindex { + font-weight: bold; +} + +a.qindexHL { + font-weight: bold; + background-color: #9CAFD4; + color: #ffffff; + border: 1px double #869DCA; +} + +.contents a.qindexHL:visited { + color: #ffffff; +} + +a.el { + font-weight: bold; +} + +a.elRef { +} + +a.code, a.code:visited, a.line, a.line:visited { + color: #4665A2; +} + +a.codeRef, a.codeRef:visited, a.lineRef, a.lineRef:visited { + color: #4665A2; +} + +/* @end */ + +dl.el { + margin-left: -1cm; +} + +pre.fragment { + border: 1px solid #C4CFE5; + background-color: #FBFCFD; + padding: 4px 6px; + margin: 4px 8px 4px 2px; + overflow: auto; + word-wrap: break-word; + font-size: 9pt; + line-height: 125%; + font-family: monospace, fixed; + font-size: 105%; +} + +div.fragment { + padding: 4px 6px; + margin: 4px 8px 4px 2px; + background-color: #FBFCFD; + border: 1px solid #C4CFE5; +} + +div.line { + font-family: monospace, fixed; + font-size: 13px; + min-height: 13px; + line-height: 1.0; + text-wrap: unrestricted; + white-space: -moz-pre-wrap; /* Moz */ + white-space: -pre-wrap; /* Opera 4-6 */ + white-space: -o-pre-wrap; /* Opera 7 */ + white-space: pre-wrap; /* CSS3 */ + word-wrap: break-word; /* IE 5.5+ */ + text-indent: -53px; + padding-left: 53px; + padding-bottom: 0px; + margin: 0px; + -webkit-transition-property: background-color, box-shadow; + -webkit-transition-duration: 0.5s; + -moz-transition-property: background-color, box-shadow; + -moz-transition-duration: 0.5s; + -ms-transition-property: background-color, box-shadow; + -ms-transition-duration: 0.5s; + -o-transition-property: background-color, box-shadow; + -o-transition-duration: 0.5s; + transition-property: background-color, box-shadow; + transition-duration: 0.5s; +} + +div.line.glow { + background-color: cyan; + box-shadow: 0 0 10px cyan; +} + + +span.lineno { + padding-right: 4px; + text-align: right; + border-right: 2px solid #0F0; + background-color: #E8E8E8; + white-space: pre; +} +span.lineno a { + background-color: #D8D8D8; +} + +span.lineno a:hover { + background-color: #C8C8C8; +} + +div.ah { + background-color: black; + font-weight: bold; + color: #ffffff; + margin-bottom: 3px; + margin-top: 3px; + padding: 0.2em; + border: solid thin #333; + border-radius: 0.5em; + -webkit-border-radius: .5em; + -moz-border-radius: .5em; + box-shadow: 2px 2px 3px #999; + -webkit-box-shadow: 2px 2px 3px #999; + -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px; + background-image: -webkit-gradient(linear, left top, left bottom, from(#eee), to(#000),color-stop(0.3, #444)); + background-image: -moz-linear-gradient(center top, #eee 0%, #444 40%, #000); +} + +div.groupHeader { + margin-left: 16px; + margin-top: 12px; + font-weight: bold; +} + +div.groupText { + margin-left: 16px; + font-style: italic; +} + +body { + background-color: white; + color: black; + margin: 0; +} + +div.contents { + margin-top: 10px; + margin-left: 12px; + margin-right: 8px; +} + +td.indexkey { + background-color: #EBEFF6; + font-weight: bold; + border: 1px solid #C4CFE5; + margin: 2px 0px 2px 0; + padding: 2px 10px; + white-space: nowrap; + vertical-align: top; +} + +td.indexvalue { + background-color: #EBEFF6; + border: 1px solid #C4CFE5; + padding: 2px 10px; + margin: 2px 0px; +} + +tr.memlist { + background-color: #EEF1F7; +} + +p.formulaDsp { + text-align: center; +} + +img.formulaDsp { + +} + +img.formulaInl { + vertical-align: middle; +} + +div.center { + text-align: center; + margin-top: 0px; + margin-bottom: 0px; + padding: 0px; +} + +div.center img { + border: 0px; +} + +address.footer { + text-align: right; + padding-right: 12px; +} + +img.footer { + border: 0px; + vertical-align: middle; +} + +/* @group Code Colorization */ + +span.keyword { + color: #008000 +} + +span.keywordtype { + color: #604020 +} + +span.keywordflow { + color: #e08000 +} + +span.comment { + color: #800000 +} + +span.preprocessor { + color: #806020 +} + +span.stringliteral { + color: #002080 +} + +span.charliteral { + color: #008080 +} + +span.vhdldigit { + color: #ff00ff +} + +span.vhdlchar { + color: #000000 +} + +span.vhdlkeyword { + color: #700070 +} + +span.vhdllogic { + color: #ff0000 +} + +blockquote { + background-color: #F7F8FB; + border-left: 2px solid #9CAFD4; + margin: 0 24px 0 4px; + padding: 0 12px 0 16px; +} + +/* @end */ + +/* +.search { + color: #003399; + font-weight: bold; +} + +form.search { + margin-bottom: 0px; + margin-top: 0px; +} + +input.search { + font-size: 75%; + color: #000080; + font-weight: normal; + background-color: #e8eef2; +} +*/ + +td.tiny { + font-size: 75%; +} + +.dirtab { + padding: 4px; + border-collapse: collapse; + border: 1px solid #A3B4D7; +} + +th.dirtab { + background: #EBEFF6; + font-weight: bold; +} + +hr { + height: 0px; + border: none; + border-top: 1px solid #4A6AAA; +} + +hr.footer { + height: 1px; +} + +/* @group Member Descriptions */ + +table.memberdecls { + border-spacing: 0px; + padding: 0px; +} + +.memberdecls td, .fieldtable tr { + -webkit-transition-property: background-color, box-shadow; + -webkit-transition-duration: 0.5s; + -moz-transition-property: background-color, box-shadow; + -moz-transition-duration: 0.5s; + -ms-transition-property: background-color, box-shadow; + -ms-transition-duration: 0.5s; + -o-transition-property: background-color, box-shadow; + -o-transition-duration: 0.5s; + transition-property: background-color, box-shadow; + transition-duration: 0.5s; +} + +.memberdecls td.glow, .fieldtable tr.glow { + background-color: cyan; + box-shadow: 0 0 15px cyan; +} + +.mdescLeft, .mdescRight, +.memItemLeft, .memItemRight, +.memTemplItemLeft, .memTemplItemRight, .memTemplParams { + background-color: #F9FAFC; + border: none; + margin: 4px; + padding: 1px 0 0 8px; +} + +.mdescLeft, .mdescRight { + padding: 0px 8px 4px 8px; + color: #555; +} + +.memSeparator { + border-bottom: 1px solid #DEE4F0; + line-height: 1px; + margin: 0px; + padding: 0px; +} + +.memItemLeft, .memTemplItemLeft { + white-space: nowrap; +} + +.memItemRight { + width: 100%; +} + +.memTemplParams { + color: #4665A2; + white-space: nowrap; + font-size: 80%; +} + +/* @end */ + +/* @group Member Details */ + +/* Styles for detailed member documentation */ + +.memtemplate { + font-size: 80%; + color: #4665A2; + font-weight: normal; + margin-left: 9px; +} + +.memnav { + background-color: #EBEFF6; + border: 1px solid #A3B4D7; + text-align: center; + margin: 2px; + margin-right: 15px; + padding: 2px; +} + +.mempage { + width: 100%; +} + +.memitem { + padding: 0; + margin-bottom: 10px; + margin-right: 5px; + -webkit-transition: box-shadow 0.5s linear; + -moz-transition: box-shadow 0.5s linear; + -ms-transition: box-shadow 0.5s linear; + -o-transition: box-shadow 0.5s linear; + transition: box-shadow 0.5s linear; + display: table !important; + width: 100%; +} + +.memitem.glow { + box-shadow: 0 0 15px cyan; +} + +.memname { + font-weight: bold; + margin-left: 6px; +} + +.memname td { + vertical-align: bottom; +} + +.memproto, dl.reflist dt { + border-top: 1px solid #A8B8D9; + border-left: 1px solid #A8B8D9; + border-right: 1px solid #A8B8D9; + padding: 6px 0px 6px 0px; + color: #253555; + font-weight: bold; + text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); + background-image:url('nav_f.png'); + background-repeat:repeat-x; + background-color: #E2E8F2; + /* opera specific markup */ + box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); + border-top-right-radius: 4px; + border-top-left-radius: 4px; + /* firefox specific markup */ + -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px; + -moz-border-radius-topright: 4px; + -moz-border-radius-topleft: 4px; + /* webkit specific markup */ + -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); + -webkit-border-top-right-radius: 4px; + -webkit-border-top-left-radius: 4px; + +} + +.memdoc, dl.reflist dd { + border-bottom: 1px solid #A8B8D9; + border-left: 1px solid #A8B8D9; + border-right: 1px solid #A8B8D9; + padding: 6px 10px 2px 10px; + background-color: #FBFCFD; + border-top-width: 0; + background-image:url('nav_g.png'); + background-repeat:repeat-x; + background-color: #FFFFFF; + /* opera specific markup */ + border-bottom-left-radius: 4px; + border-bottom-right-radius: 4px; + box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); + /* firefox specific markup */ + -moz-border-radius-bottomleft: 4px; + -moz-border-radius-bottomright: 4px; + -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px; + /* webkit specific markup */ + -webkit-border-bottom-left-radius: 4px; + -webkit-border-bottom-right-radius: 4px; + -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); +} + +dl.reflist dt { + padding: 5px; +} + +dl.reflist dd { + margin: 0px 0px 10px 0px; + padding: 5px; +} + +.paramkey { + text-align: right; +} + +.paramtype { + white-space: nowrap; +} + +.paramname { + color: #602020; + white-space: nowrap; +} +.paramname em { + font-style: normal; +} +.paramname code { + line-height: 14px; +} + +.params, .retval, .exception, .tparams { + margin-left: 0px; + padding-left: 0px; +} + +.params .paramname, .retval .paramname { + font-weight: bold; + vertical-align: top; +} + +.params .paramtype { + font-style: italic; + vertical-align: top; +} + +.params .paramdir { + font-family: "courier new",courier,monospace; + vertical-align: top; +} + +table.mlabels { + border-spacing: 0px; +} + +td.mlabels-left { + width: 100%; + padding: 0px; +} + +td.mlabels-right { + vertical-align: bottom; + padding: 0px; + white-space: nowrap; +} + +span.mlabels { + margin-left: 8px; +} + +span.mlabel { + background-color: #728DC1; + border-top:1px solid #5373B4; + border-left:1px solid #5373B4; + border-right:1px solid #C4CFE5; + border-bottom:1px solid #C4CFE5; + text-shadow: none; + color: white; + margin-right: 4px; + padding: 2px 3px; + border-radius: 3px; + font-size: 7pt; + white-space: nowrap; + vertical-align: middle; +} + + + +/* @end */ + +/* these are for tree view when not used as main index */ + +div.directory { + margin: 10px 0px; + border-top: 1px solid #A8B8D9; + border-bottom: 1px solid #A8B8D9; + width: 100%; +} + +.directory table { + border-collapse:collapse; +} + +.directory td { + margin: 0px; + padding: 0px; + vertical-align: top; +} + +.directory td.entry { + white-space: nowrap; + padding-right: 6px; + padding-top: 3px; +} + +.directory td.entry a { + outline:none; +} + +.directory td.entry a img { + border: none; +} + +.directory td.desc { + width: 100%; + padding-left: 6px; + padding-right: 6px; + padding-top: 3px; + border-left: 1px solid rgba(0,0,0,0.05); +} + +.directory tr.even { + padding-left: 6px; + background-color: #F7F8FB; +} + +.directory img { + vertical-align: -30%; +} + +.directory .levels { + white-space: nowrap; + width: 100%; + text-align: right; + font-size: 9pt; +} + +.directory .levels span { + cursor: pointer; + padding-left: 2px; + padding-right: 2px; + color: #3D578C; +} + +div.dynheader { + margin-top: 8px; + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +address { + font-style: normal; + color: #2A3D61; +} + +table.doxtable { + border-collapse:collapse; + margin-top: 4px; + margin-bottom: 4px; +} + +table.doxtable td, table.doxtable th { + border: 1px solid #2D4068; + padding: 3px 7px 2px; +} + +table.doxtable th { + background-color: #374F7F; + color: #FFFFFF; + font-size: 110%; + padding-bottom: 4px; + padding-top: 5px; +} + +table.fieldtable { + /*width: 100%;*/ + margin-bottom: 10px; + border: 1px solid #A8B8D9; + border-spacing: 0px; + -moz-border-radius: 4px; + -webkit-border-radius: 4px; + border-radius: 4px; + -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px; + -webkit-box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15); + box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15); +} + +.fieldtable td, .fieldtable th { + padding: 3px 7px 2px; +} + +.fieldtable td.fieldtype, .fieldtable td.fieldname { + white-space: nowrap; + border-right: 1px solid #A8B8D9; + border-bottom: 1px solid #A8B8D9; + vertical-align: top; +} + +.fieldtable td.fieldname { + padding-top: 3px; +} + +.fieldtable td.fielddoc { + border-bottom: 1px solid #A8B8D9; + /*width: 100%;*/ +} + +.fieldtable td.fielddoc p:first-child { + margin-top: 0px; +} + +.fieldtable td.fielddoc p:last-child { + margin-bottom: 2px; +} + +.fieldtable tr:last-child td { + border-bottom: none; +} + +.fieldtable th { + background-image:url('nav_f.png'); + background-repeat:repeat-x; + background-color: #E2E8F2; + font-size: 90%; + color: #253555; + padding-bottom: 4px; + padding-top: 5px; + text-align:left; + -moz-border-radius-topleft: 4px; + -moz-border-radius-topright: 4px; + -webkit-border-top-left-radius: 4px; + -webkit-border-top-right-radius: 4px; + border-top-left-radius: 4px; + border-top-right-radius: 4px; + border-bottom: 1px solid #A8B8D9; +} + + +.tabsearch { + top: 0px; + left: 10px; + height: 36px; + background-image: url('tab_b.png'); + z-index: 101; + overflow: hidden; + font-size: 13px; +} + +.navpath ul +{ + font-size: 11px; + background-image:url('tab_b.png'); + background-repeat:repeat-x; + background-position: 0 -5px; + height:30px; + line-height:30px; + color:#8AA0CC; + border:solid 1px #C2CDE4; + overflow:hidden; + margin:0px; + padding:0px; +} + +.navpath li +{ + list-style-type:none; + float:left; + padding-left:10px; + padding-right:15px; + background-image:url('bc_s.png'); + background-repeat:no-repeat; + background-position:right; + color:#364D7C; +} + +.navpath li.navelem a +{ + height:32px; + display:block; + text-decoration: none; + outline: none; + color: #283A5D; + font-family: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif; + text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); + text-decoration: none; +} + +.navpath li.navelem a:hover +{ + color:#6884BD; +} + +.navpath li.footer +{ + list-style-type:none; + float:right; + padding-left:10px; + padding-right:15px; + background-image:none; + background-repeat:no-repeat; + background-position:right; + color:#364D7C; + font-size: 8pt; +} + + +div.summary +{ + float: right; + font-size: 8pt; + padding-right: 5px; + width: 50%; + text-align: right; +} + +div.summary a +{ + white-space: nowrap; +} + +div.ingroups +{ + font-size: 8pt; + width: 50%; + text-align: left; +} + +div.ingroups a +{ + white-space: nowrap; +} + +div.header +{ + background-image:url('nav_h.png'); + background-repeat:repeat-x; + background-color: #F9FAFC; + margin: 0px; + border-bottom: 1px solid #C4CFE5; +} + +div.headertitle +{ + padding: 5px 5px 5px 10px; +} + +dl +{ + padding: 0 0 0 10px; +} + +/* dl.note, dl.warning, dl.attention, dl.pre, dl.post, dl.invariant, dl.deprecated, dl.todo, dl.test, dl.bug */ +dl.section +{ + margin-left: 0px; + padding-left: 0px; +} + +dl.note +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #D0C000; +} + +dl.warning, dl.attention +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #FF0000; +} + +dl.pre, dl.post, dl.invariant +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #00D000; +} + +dl.deprecated +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #505050; +} + +dl.todo +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #00C0E0; +} + +dl.test +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #3030E0; +} + +dl.bug +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #C08050; +} + +dl.section dd { + margin-bottom: 6px; +} + + +#projectlogo +{ + text-align: center; + vertical-align: bottom; + border-collapse: separate; +} + +#projectlogo img +{ + border: 0px none; +} + +#projectname +{ + font: 300% Tahoma, Arial,sans-serif; + margin: 0px; + padding: 2px 0px; +} + +#projectbrief +{ + font: 120% Tahoma, Arial,sans-serif; + margin: 0px; + padding: 0px; +} + +#projectnumber +{ + font: 50% Tahoma, Arial,sans-serif; + margin: 0px; + padding: 0px; +} + +#titlearea +{ + padding: 0px; + margin: 0px; + width: 100%; + border-bottom: 1px solid #5373B4; +} + +.image +{ + text-align: center; +} + +.dotgraph +{ + text-align: center; +} + +.mscgraph +{ + text-align: center; +} + +.diagraph +{ + text-align: center; +} + +.caption +{ + font-weight: bold; +} + +div.zoom +{ + border: 1px solid #90A5CE; +} + +dl.citelist { + margin-bottom:50px; +} + +dl.citelist dt { + color:#334975; + float:left; + font-weight:bold; + margin-right:10px; + padding:5px; +} + +dl.citelist dd { + margin:2px 0; + padding:5px 0; +} + +div.toc { + padding: 14px 25px; + background-color: #F4F6FA; + border: 1px solid #D8DFEE; + border-radius: 7px 7px 7px 7px; + float: right; + height: auto; + margin: 0 20px 10px 10px; + width: 200px; +} + +div.toc li { + background: url("bdwn.png") no-repeat scroll 0 5px transparent; + font: 10px/1.2 Verdana,DejaVu Sans,Geneva,sans-serif; + margin-top: 5px; + padding-left: 10px; + padding-top: 2px; +} + +div.toc h3 { + font: bold 12px/1.2 Arial,FreeSans,sans-serif; + color: #4665A2; + border-bottom: 0 none; + margin: 0; +} + +div.toc ul { + list-style: none outside none; + border: medium none; + padding: 0px; +} + +div.toc li.level1 { + margin-left: 0px; +} + +div.toc li.level2 { + margin-left: 15px; +} + +div.toc li.level3 { + margin-left: 30px; +} + +div.toc li.level4 { + margin-left: 45px; +} + +.inherit_header { + font-weight: bold; + color: gray; + cursor: pointer; + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +.inherit_header td { + padding: 6px 0px 2px 5px; +} + +.inherit { + display: none; +} + +tr.heading h2 { + margin-top: 12px; + margin-bottom: 4px; +} + +/* tooltip related style info */ + +.ttc { + position: absolute; + display: none; +} + +#powerTip { + cursor: default; + white-space: nowrap; + background-color: white; + border: 1px solid gray; + border-radius: 4px 4px 4px 4px; + box-shadow: 1px 1px 7px gray; + display: none; + font-size: smaller; + max-width: 80%; + opacity: 0.9; + padding: 1ex 1em 1em; + position: absolute; + z-index: 2147483647; +} + +#powerTip div.ttdoc { + color: grey; + font-style: italic; +} + +#powerTip div.ttname a { + font-weight: bold; +} + +#powerTip div.ttname { + font-weight: bold; +} + +#powerTip div.ttdeci { + color: #006318; +} + +#powerTip div { + margin: 0px; + padding: 0px; + font: 12px/16px Roboto,sans-serif; +} + +#powerTip:before, #powerTip:after { + content: ""; + position: absolute; + margin: 0px; +} + +#powerTip.n:after, #powerTip.n:before, +#powerTip.s:after, #powerTip.s:before, +#powerTip.w:after, #powerTip.w:before, +#powerTip.e:after, #powerTip.e:before, +#powerTip.ne:after, #powerTip.ne:before, +#powerTip.se:after, #powerTip.se:before, +#powerTip.nw:after, #powerTip.nw:before, +#powerTip.sw:after, #powerTip.sw:before { + border: solid transparent; + content: " "; + height: 0; + width: 0; + position: absolute; +} + +#powerTip.n:after, #powerTip.s:after, +#powerTip.w:after, #powerTip.e:after, +#powerTip.nw:after, #powerTip.ne:after, +#powerTip.sw:after, #powerTip.se:after { + border-color: rgba(255, 255, 255, 0); +} + +#powerTip.n:before, #powerTip.s:before, +#powerTip.w:before, #powerTip.e:before, +#powerTip.nw:before, #powerTip.ne:before, +#powerTip.sw:before, #powerTip.se:before { + border-color: rgba(128, 128, 128, 0); +} + +#powerTip.n:after, #powerTip.n:before, +#powerTip.ne:after, #powerTip.ne:before, +#powerTip.nw:after, #powerTip.nw:before { + top: 100%; +} + +#powerTip.n:after, #powerTip.ne:after, #powerTip.nw:after { + border-top-color: #ffffff; + border-width: 10px; + margin: 0px -10px; +} +#powerTip.n:before { + border-top-color: #808080; + border-width: 11px; + margin: 0px -11px; +} +#powerTip.n:after, #powerTip.n:before { + left: 50%; +} + +#powerTip.nw:after, #powerTip.nw:before { + right: 14px; +} + +#powerTip.ne:after, #powerTip.ne:before { + left: 14px; +} + +#powerTip.s:after, #powerTip.s:before, +#powerTip.se:after, #powerTip.se:before, +#powerTip.sw:after, #powerTip.sw:before { + bottom: 100%; +} + +#powerTip.s:after, #powerTip.se:after, #powerTip.sw:after { + border-bottom-color: #ffffff; + border-width: 10px; + margin: 0px -10px; +} + +#powerTip.s:before, #powerTip.se:before, #powerTip.sw:before { + border-bottom-color: #808080; + border-width: 11px; + margin: 0px -11px; +} + +#powerTip.s:after, #powerTip.s:before { + left: 50%; +} + +#powerTip.sw:after, #powerTip.sw:before { + right: 14px; +} + +#powerTip.se:after, #powerTip.se:before { + left: 14px; +} + +#powerTip.e:after, #powerTip.e:before { + left: 100%; +} +#powerTip.e:after { + border-left-color: #ffffff; + border-width: 10px; + top: 50%; + margin-top: -10px; +} +#powerTip.e:before { + border-left-color: #808080; + border-width: 11px; + top: 50%; + margin-top: -11px; +} + +#powerTip.w:after, #powerTip.w:before { + right: 100%; +} +#powerTip.w:after { + border-right-color: #ffffff; + border-width: 10px; + top: 50%; + margin-top: -10px; +} +#powerTip.w:before { + border-right-color: #808080; + border-width: 11px; + top: 50%; + margin-top: -11px; +} + +@media print +{ + #top { display: none; } + #side-nav { display: none; } + #nav-path { display: none; } + body { overflow:visible; } + h1, h2, h3, h4, h5, h6 { page-break-after: avoid; } + .summary { display: none; } + .memitem { page-break-inside: avoid; } + #doc-content + { + margin-left:0 !important; + height:auto !important; + width:auto !important; + overflow:inherit; + display:inline; + } +} + diff --git a/doc/ref/core.internal/html/doxygen.png b/doc/ref/core.internal/html/doxygen.png new file mode 100644 index 0000000000..3ff17d807f Binary files /dev/null and b/doc/ref/core.internal/html/doxygen.png differ diff --git a/doc/ref/core.internal/html/dynsections.js b/doc/ref/core.internal/html/dynsections.js new file mode 100644 index 0000000000..ed092c7f63 --- /dev/null +++ b/doc/ref/core.internal/html/dynsections.js @@ -0,0 +1,97 @@ +function toggleVisibility(linkObj) +{ + var base = $(linkObj).attr('id'); + var summary = $('#'+base+'-summary'); + var content = $('#'+base+'-content'); + var trigger = $('#'+base+'-trigger'); + var src=$(trigger).attr('src'); + if (content.is(':visible')===true) { + content.hide(); + summary.show(); + $(linkObj).addClass('closed').removeClass('opened'); + $(trigger).attr('src',src.substring(0,src.length-8)+'closed.png'); + } else { + content.show(); + summary.hide(); + $(linkObj).removeClass('closed').addClass('opened'); + $(trigger).attr('src',src.substring(0,src.length-10)+'open.png'); + } + return false; +} + +function updateStripes() +{ + $('table.directory tr'). + removeClass('even').filter(':visible:even').addClass('even'); +} +function toggleLevel(level) +{ + $('table.directory tr').each(function(){ + var l = this.id.split('_').length-1; + var i = $('#img'+this.id.substring(3)); + var a = $('#arr'+this.id.substring(3)); + if (l + + + + + +GRPC Core: src/core/iomgr/endpoint.c File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
endpoint.c File Reference
+
+
+ + + + + + + + + + + + + + + + +

+Functions

void grpc_endpoint_notify_on_read (grpc_endpoint *ep, grpc_endpoint_read_cb cb, void *user_data)
 
grpc_endpoint_write_status grpc_endpoint_write (grpc_endpoint *ep, gpr_slice *slices, size_t nslices, grpc_endpoint_write_cb cb, void *user_data)
 
void grpc_endpoint_add_to_pollset (grpc_endpoint *ep, grpc_pollset *pollset)
 
void grpc_endpoint_add_to_pollset_set (grpc_endpoint *ep, grpc_pollset_set *pollset_set)
 
void grpc_endpoint_shutdown (grpc_endpoint *ep)
 
void grpc_endpoint_destroy (grpc_endpoint *ep)
 
char * grpc_endpoint_get_peer (grpc_endpoint *ep)
 
+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
void grpc_endpoint_add_to_pollset (grpc_endpointep,
grpc_pollsetpollset 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void grpc_endpoint_add_to_pollset_set (grpc_endpointep,
grpc_pollset_setpollset_set 
)
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_endpoint_destroy (grpc_endpointep)
+
+ +
+
+ +
+
+ + + + + + + + +
char* grpc_endpoint_get_peer (grpc_endpointep)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void grpc_endpoint_notify_on_read (grpc_endpointep,
grpc_endpoint_read_cb cb,
void * user_data 
)
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_endpoint_shutdown (grpc_endpointep)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
grpc_endpoint_write_status grpc_endpoint_write (grpc_endpointep,
gpr_sliceslices,
size_t nslices,
grpc_endpoint_write_cb cb,
void * user_data 
)
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/endpoint_8h.html b/doc/ref/core.internal/html/endpoint_8h.html new file mode 100644 index 0000000000..e15915dcf1 --- /dev/null +++ b/doc/ref/core.internal/html/endpoint_8h.html @@ -0,0 +1,459 @@ + + + + + + +GRPC Core: src/core/iomgr/endpoint.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
endpoint.h File Reference
+
+
+ +

Go to the source code of this file.

+ + + + + + +

+Data Structures

struct  grpc_endpoint_vtable
 
struct  grpc_endpoint
 
+ + + + + + + + + + + + + +

+Typedefs

typedef struct grpc_endpoint grpc_endpoint
 
typedef struct grpc_endpoint_vtable grpc_endpoint_vtable
 
typedef enum
+grpc_endpoint_cb_status 
grpc_endpoint_cb_status
 
typedef enum
+grpc_endpoint_write_status 
grpc_endpoint_write_status
 
typedef void(* grpc_endpoint_read_cb )(void *user_data, gpr_slice *slices, size_t nslices, grpc_endpoint_cb_status error)
 
typedef void(* grpc_endpoint_write_cb )(void *user_data, grpc_endpoint_cb_status error)
 
+ + + + + +

+Enumerations

enum  grpc_endpoint_cb_status { GRPC_ENDPOINT_CB_OK = 0, +GRPC_ENDPOINT_CB_EOF, +GRPC_ENDPOINT_CB_SHUTDOWN, +GRPC_ENDPOINT_CB_ERROR + }
 
enum  grpc_endpoint_write_status { GRPC_ENDPOINT_WRITE_DONE, +GRPC_ENDPOINT_WRITE_PENDING, +GRPC_ENDPOINT_WRITE_ERROR + }
 
+ + + + + + + + + + + + + + + +

+Functions

void grpc_endpoint_notify_on_read (grpc_endpoint *ep, grpc_endpoint_read_cb cb, void *user_data)
 
char * grpc_endpoint_get_peer (grpc_endpoint *ep)
 
grpc_endpoint_write_status grpc_endpoint_write (grpc_endpoint *ep, gpr_slice *slices, size_t nslices, grpc_endpoint_write_cb cb, void *user_data)
 
void grpc_endpoint_shutdown (grpc_endpoint *ep)
 
void grpc_endpoint_destroy (grpc_endpoint *ep)
 
void grpc_endpoint_add_to_pollset (grpc_endpoint *ep, grpc_pollset *pollset)
 
void grpc_endpoint_add_to_pollset_set (grpc_endpoint *ep, grpc_pollset_set *pollset_set)
 
+

Typedef Documentation

+ +
+
+ + + + +
typedef struct grpc_endpoint grpc_endpoint
+
+ +
+
+ +
+
+ +
+
+ +
+
+ + + + +
typedef void(* grpc_endpoint_read_cb)(void *user_data, gpr_slice *slices, size_t nslices, grpc_endpoint_cb_status error)
+
+ +
+
+ +
+
+ + + + +
typedef struct grpc_endpoint_vtable grpc_endpoint_vtable
+
+ +
+
+ +
+
+ + + + +
typedef void(* grpc_endpoint_write_cb)(void *user_data, grpc_endpoint_cb_status error)
+
+ +
+
+ +
+
+ +
+
+

Enumeration Type Documentation

+ +
+
+ + + + +
enum grpc_endpoint_cb_status
+
+ + + + + +
Enumerator
GRPC_ENDPOINT_CB_OK  +
GRPC_ENDPOINT_CB_EOF  +
GRPC_ENDPOINT_CB_SHUTDOWN  +
GRPC_ENDPOINT_CB_ERROR  +
+ +
+
+ +
+
+ + + + +
enum grpc_endpoint_write_status
+
+ + + + +
Enumerator
GRPC_ENDPOINT_WRITE_DONE  +
GRPC_ENDPOINT_WRITE_PENDING  +
GRPC_ENDPOINT_WRITE_ERROR  +
+ +
+
+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
void grpc_endpoint_add_to_pollset (grpc_endpointep,
grpc_pollsetpollset 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void grpc_endpoint_add_to_pollset_set (grpc_endpointep,
grpc_pollset_setpollset_set 
)
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_endpoint_destroy (grpc_endpointep)
+
+ +
+
+ +
+
+ + + + + + + + +
char* grpc_endpoint_get_peer (grpc_endpointep)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void grpc_endpoint_notify_on_read (grpc_endpointep,
grpc_endpoint_read_cb cb,
void * user_data 
)
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_endpoint_shutdown (grpc_endpointep)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
grpc_endpoint_write_status grpc_endpoint_write (grpc_endpointep,
gpr_sliceslices,
size_t nslices,
grpc_endpoint_write_cb cb,
void * user_data 
)
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/endpoint_8h_source.html b/doc/ref/core.internal/html/endpoint_8h_source.html new file mode 100644 index 0000000000..9c430efc79 --- /dev/null +++ b/doc/ref/core.internal/html/endpoint_8h_source.html @@ -0,0 +1,245 @@ + + + + + + +GRPC Core: src/core/iomgr/endpoint.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
endpoint.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPC_INTERNAL_CORE_IOMGR_ENDPOINT_H
+
35 #define GRPC_INTERNAL_CORE_IOMGR_ENDPOINT_H
+
36 
+
37 #include "src/core/iomgr/pollset.h"
+ +
39 #include <grpc/support/slice.h>
+
40 #include <grpc/support/time.h>
+
41 
+
42 /* An endpoint caps a streaming channel between two communicating processes.
+
43  Examples may be: a tcp socket, <stdin+stdout>, or some shared memory. */
+
44 
+ + +
47 
+ +
49  GRPC_ENDPOINT_CB_OK = 0, /* Call completed successfully */
+
50  GRPC_ENDPOINT_CB_EOF, /* Call completed successfully, end of file reached */
+
51  GRPC_ENDPOINT_CB_SHUTDOWN, /* Call interrupted by shutdown */
+
52  GRPC_ENDPOINT_CB_ERROR /* Call interrupted by socket error */
+ +
54 
+ +
56  GRPC_ENDPOINT_WRITE_DONE, /* completed immediately, cb won't be called */
+
57  GRPC_ENDPOINT_WRITE_PENDING, /* cb will be called when completed */
+
58  GRPC_ENDPOINT_WRITE_ERROR /* write errored out, cb won't be called */
+ +
60 
+
61 typedef void (*grpc_endpoint_read_cb)(void *user_data, gpr_slice *slices,
+
62  size_t nslices,
+ +
64 typedef void (*grpc_endpoint_write_cb)(void *user_data,
+ +
66 
+ + +
69  void *user_data);
+ +
71  size_t nslices, grpc_endpoint_write_cb cb,
+
72  void *user_data);
+
73  void (*add_to_pollset)(grpc_endpoint *ep, grpc_pollset *pollset);
+ +
75  void (*shutdown)(grpc_endpoint *ep);
+
76  void (*destroy)(grpc_endpoint *ep);
+
77  char *(*get_peer)(grpc_endpoint *ep);
+
78 };
+
79 
+
80 /* When data is available on the connection, calls the callback with slices. */
+ +
82  void *user_data);
+
83 
+ +
85 
+
86 /* Write slices out to the socket.
+
87 
+
88  If the connection is ready for more data after the end of the call, it
+
89  returns GRPC_ENDPOINT_WRITE_DONE.
+
90  Otherwise it returns GRPC_ENDPOINT_WRITE_PENDING and calls cb when the
+
91  connection is ready for more data. */
+ +
93  gpr_slice *slices,
+
94  size_t nslices,
+ +
96  void *user_data);
+
97 
+
98 /* Causes any pending read/write callbacks to run immediately with
+
99  GRPC_ENDPOINT_CB_SHUTDOWN status */
+ + +
102 
+
103 /* Add an endpoint to a pollset, so that when the pollset is polled, events from
+
104  this endpoint are considered */
+ + +
107 
+ + +
110 };
+
111 
+
112 #endif /* GRPC_INTERNAL_CORE_IOMGR_ENDPOINT_H */
+
void(* add_to_pollset)(grpc_endpoint *ep, grpc_pollset *pollset)
Definition: endpoint.h:73
+
Definition: endpoint.h:56
+
void(* shutdown)(grpc_endpoint *ep)
Definition: endpoint.h:75
+
grpc_endpoint_cb_status
Definition: endpoint.h:48
+ +
void(* add_to_pollset_set)(grpc_endpoint *ep, grpc_pollset_set *pollset)
Definition: endpoint.h:74
+
grpc_endpoint_write_status
Definition: endpoint.h:55
+
grpc_endpoint_write_status grpc_endpoint_write(grpc_endpoint *ep, gpr_slice *slices, size_t nslices, grpc_endpoint_write_cb cb, void *user_data)
Definition: endpoint.c:41
+
void grpc_endpoint_destroy(grpc_endpoint *ep)
Definition: endpoint.c:59
+ +
char * grpc_endpoint_get_peer(grpc_endpoint *ep)
Definition: endpoint.c:61
+
Definition: endpoint.h:50
+
Definition: endpoint.h:57
+
void grpc_endpoint_notify_on_read(grpc_endpoint *ep, grpc_endpoint_read_cb cb, void *user_data)
Definition: endpoint.c:36
+
grpc_endpoint_write_status(* write)(grpc_endpoint *ep, gpr_slice *slices, size_t nslices, grpc_endpoint_write_cb cb, void *user_data)
Definition: endpoint.h:70
+
Definition: pollset_posix.h:48
+
const grpc_endpoint_vtable * vtable
Definition: endpoint.h:109
+
Definition: endpoint.h:67
+
void(* notify_on_read)(grpc_endpoint *ep, grpc_endpoint_read_cb cb, void *user_data)
Definition: endpoint.h:68
+
Definition: endpoint.h:51
+
void grpc_endpoint_add_to_pollset_set(grpc_endpoint *ep, grpc_pollset_set *pollset_set)
Definition: endpoint.c:53
+
void(* destroy)(grpc_endpoint *ep)
Definition: endpoint.h:76
+
void(* grpc_endpoint_read_cb)(void *user_data, gpr_slice *slices, size_t nslices, grpc_endpoint_cb_status error)
Definition: endpoint.h:61
+
void grpc_endpoint_add_to_pollset(grpc_endpoint *ep, grpc_pollset *pollset)
Definition: endpoint.c:49
+ +
Definition: endpoint.h:58
+
Definition: endpoint.h:108
+ +
Definition: endpoint.h:52
+
Definition: endpoint.h:49
+
void(* grpc_endpoint_write_cb)(void *user_data, grpc_endpoint_cb_status error)
Definition: endpoint.h:64
+
Definition: pollset_set_posix.h:40
+
void grpc_endpoint_shutdown(grpc_endpoint *ep)
Definition: endpoint.c:57
+
Definition: slice.h:79
+
+ + + + diff --git a/doc/ref/core.internal/html/endpoint__pair_8h.html b/doc/ref/core.internal/html/endpoint__pair_8h.html new file mode 100644 index 0000000000..e24b8da94c --- /dev/null +++ b/doc/ref/core.internal/html/endpoint__pair_8h.html @@ -0,0 +1,143 @@ + + + + + + +GRPC Core: src/core/iomgr/endpoint_pair.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
endpoint_pair.h File Reference
+
+
+ +

Go to the source code of this file.

+ + + + +

+Data Structures

struct  grpc_endpoint_pair
 
+ + + +

+Functions

grpc_endpoint_pair grpc_iomgr_create_endpoint_pair (const char *name, size_t read_slice_size)
 
+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
grpc_endpoint_pair grpc_iomgr_create_endpoint_pair (const char * name,
size_t read_slice_size 
)
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/endpoint__pair_8h_source.html b/doc/ref/core.internal/html/endpoint__pair_8h_source.html new file mode 100644 index 0000000000..eea862c380 --- /dev/null +++ b/doc/ref/core.internal/html/endpoint__pair_8h_source.html @@ -0,0 +1,152 @@ + + + + + + +GRPC Core: src/core/iomgr/endpoint_pair.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
endpoint_pair.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPC_INTERNAL_CORE_IOMGR_ENDPOINT_PAIR_H
+
35 #define GRPC_INTERNAL_CORE_IOMGR_ENDPOINT_PAIR_H
+
36 
+ +
38 
+
39 typedef struct {
+ + + +
43 
+ +
45  size_t read_slice_size);
+
46 
+
47 #endif /* GRPC_INTERNAL_CORE_IOMGR_ENDPOINT_PAIR_H */
+
Definition: endpoint_pair.h:39
+
grpc_endpoint * client
Definition: endpoint_pair.h:40
+
grpc_endpoint_pair grpc_iomgr_create_endpoint_pair(const char *name, size_t read_slice_size)
+
Definition: endpoint.h:108
+ +
grpc_endpoint * server
Definition: endpoint_pair.h:41
+
+ + + + diff --git a/doc/ref/core.internal/html/endpoint__pair__posix_8c.html b/doc/ref/core.internal/html/endpoint__pair__posix_8c.html new file mode 100644 index 0000000000..3d5da3a510 --- /dev/null +++ b/doc/ref/core.internal/html/endpoint__pair__posix_8c.html @@ -0,0 +1,100 @@ + + + + + + +GRPC Core: src/core/iomgr/endpoint_pair_posix.c File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
endpoint_pair_posix.c File Reference
+
+ + + + + diff --git a/doc/ref/core.internal/html/endpoint__pair__windows_8c.html b/doc/ref/core.internal/html/endpoint__pair__windows_8c.html new file mode 100644 index 0000000000..d993f999dc --- /dev/null +++ b/doc/ref/core.internal/html/endpoint__pair__windows_8c.html @@ -0,0 +1,100 @@ + + + + + + +GRPC Core: src/core/iomgr/endpoint_pair_windows.c File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
endpoint_pair_windows.c File Reference
+
+ + + + + diff --git a/doc/ref/core.internal/html/env_8h.html b/doc/ref/core.internal/html/env_8h.html new file mode 100644 index 0000000000..e049044fc9 --- /dev/null +++ b/doc/ref/core.internal/html/env_8h.html @@ -0,0 +1,156 @@ + + + + + + +GRPC Core: src/core/support/env.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
env.h File Reference
+
+
+
#include <stdio.h>
+#include <grpc/support/slice.h>
+
+

Go to the source code of this file.

+ + + + + + +

+Functions

char * gpr_getenv (const char *name)
 
void gpr_setenv (const char *name, const char *value)
 
+

Function Documentation

+ +
+
+ + + + + + + + +
char* gpr_getenv (const char * name)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void gpr_setenv (const char * name,
const char * value 
)
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/env_8h_source.html b/doc/ref/core.internal/html/env_8h_source.html new file mode 100644 index 0000000000..c65f11de2f --- /dev/null +++ b/doc/ref/core.internal/html/env_8h_source.html @@ -0,0 +1,163 @@ + + + + + + +GRPC Core: src/core/support/env.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
env.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPC_INTERNAL_CORE_SUPPORT_ENV_H
+
35 #define GRPC_INTERNAL_CORE_SUPPORT_ENV_H
+
36 
+
37 #include <stdio.h>
+
38 
+
39 #include <grpc/support/slice.h>
+
40 
+
41 #ifdef __cplusplus
+
42 extern "C" {
+
43 #endif
+
44 
+
45 /* Env utility functions */
+
46 
+
47 /* Gets the environment variable value with the specified name.
+
48  Returns a newly allocated string. It is the responsability of the caller to
+
49  gpr_free the return value if not NULL (which means that the environment
+
50  variable exists). */
+
51 char *gpr_getenv(const char *name);
+
52 
+
53 /* Sets the the environment with the specified name to the specified value. */
+
54 void gpr_setenv(const char *name, const char *value);
+
55 
+
56 #ifdef __cplusplus
+
57 }
+
58 #endif
+
59 
+
60 #endif /* GRPC_INTERNAL_CORE_SUPPORT_ENV_H */
+
const char * value
Definition: hpack_table.c:44
+
char * gpr_getenv(const char *name)
+
void gpr_setenv(const char *name, const char *value)
+ +
+ + + + diff --git a/doc/ref/core.internal/html/env__linux_8c.html b/doc/ref/core.internal/html/env__linux_8c.html new file mode 100644 index 0000000000..dff64194df --- /dev/null +++ b/doc/ref/core.internal/html/env__linux_8c.html @@ -0,0 +1,121 @@ + + + + + + +GRPC Core: src/core/support/env_linux.c File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
env_linux.c File Reference
+
+
+ + + + +

+Macros

#define _GNU_SOURCE
 
+

Macro Definition Documentation

+ +
+
+ + + + +
#define _GNU_SOURCE
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/env__posix_8c.html b/doc/ref/core.internal/html/env__posix_8c.html new file mode 100644 index 0000000000..5f2af1e3ba --- /dev/null +++ b/doc/ref/core.internal/html/env__posix_8c.html @@ -0,0 +1,100 @@ + + + + + + +GRPC Core: src/core/support/env_posix.c File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
env_posix.c File Reference
+
+ + + + + diff --git a/doc/ref/core.internal/html/env__win32_8c.html b/doc/ref/core.internal/html/env__win32_8c.html new file mode 100644 index 0000000000..7965b641af --- /dev/null +++ b/doc/ref/core.internal/html/env__win32_8c.html @@ -0,0 +1,100 @@ + + + + + + +GRPC Core: src/core/support/env_win32.c File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
env_win32.c File Reference
+
+ + + + + diff --git a/doc/ref/core.internal/html/event__string_8c.html b/doc/ref/core.internal/html/event__string_8c.html new file mode 100644 index 0000000000..1f89db14a5 --- /dev/null +++ b/doc/ref/core.internal/html/event__string_8c.html @@ -0,0 +1,129 @@ + + + + + + +GRPC Core: src/core/surface/event_string.c File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
event_string.c File Reference
+
+
+
#include "src/core/surface/event_string.h"
+#include <stdio.h>
+#include "src/core/support/string.h"
+#include <grpc/byte_buffer.h>
+#include <grpc/support/string_util.h>
+
+ + + +

+Functions

char * grpc_event_string (grpc_event *ev)
 
+

Function Documentation

+ +
+
+ + + + + + + + +
char* grpc_event_string (grpc_eventev)
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/event__string_8h.html b/doc/ref/core.internal/html/event__string_8h.html new file mode 100644 index 0000000000..4148898ded --- /dev/null +++ b/doc/ref/core.internal/html/event__string_8h.html @@ -0,0 +1,127 @@ + + + + + + +GRPC Core: src/core/surface/event_string.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
event_string.h File Reference
+
+
+
#include <grpc/grpc.h>
+
+

Go to the source code of this file.

+ + + + +

+Functions

char * grpc_event_string (grpc_event *ev)
 
+

Function Documentation

+ +
+
+ + + + + + + + +
char* grpc_event_string (grpc_eventev)
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/event__string_8h_source.html b/doc/ref/core.internal/html/event__string_8h_source.html new file mode 100644 index 0000000000..6e4707985f --- /dev/null +++ b/doc/ref/core.internal/html/event__string_8h_source.html @@ -0,0 +1,144 @@ + + + + + + +GRPC Core: src/core/surface/event_string.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
event_string.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPC_INTERNAL_CORE_SURFACE_EVENT_STRING_H
+
35 #define GRPC_INTERNAL_CORE_SURFACE_EVENT_STRING_H
+
36 
+
37 #include <grpc/grpc.h>
+
38 
+
39 /* Returns a string describing an event. Must be later freed with gpr_free() */
+
40 char *grpc_event_string(grpc_event *ev);
+
41 
+
42 #endif /* GRPC_INTERNAL_CORE_SURFACE_EVENT_STRING_H */
+
The result of an operation.
Definition: grpc.h:224
+
char * grpc_event_string(grpc_event *ev)
Definition: event_string.c:56
+ +
+ + + + diff --git a/doc/ref/core.internal/html/fake__transport__security_8c.html b/doc/ref/core.internal/html/fake__transport__security_8c.html new file mode 100644 index 0000000000..c81db00a47 --- /dev/null +++ b/doc/ref/core.internal/html/fake__transport__security_8c.html @@ -0,0 +1,245 @@ + + + + + + +GRPC Core: src/core/tsi/fake_transport_security.c File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
fake_transport_security.c File Reference
+
+
+
#include "src/core/tsi/fake_transport_security.h"
+#include <stdlib.h>
+#include <string.h>
+#include <grpc/support/log.h>
+#include <grpc/support/port_platform.h>
+#include <grpc/support/useful.h>
+#include "src/core/tsi/transport_security.h"
+
+ + + + + + + +

+Data Structures

struct  tsi_fake_frame
 
struct  tsi_fake_handshaker
 
struct  tsi_fake_frame_protector
 
+ + + + + + + +

+Macros

#define TSI_FAKE_FRAME_HEADER_SIZE   4
 
#define TSI_FAKE_FRAME_INITIAL_ALLOCATED_SIZE   64
 
#define TSI_FAKE_DEFAULT_FRAME_SIZE   16384
 
+ + + +

+Enumerations

enum  tsi_fake_handshake_message {
+  TSI_FAKE_CLIENT_INIT = 0, +TSI_FAKE_SERVER_INIT = 1, +TSI_FAKE_CLIENT_FINISHED = 2, +TSI_FAKE_SERVER_FINISHED = 3, +
+  TSI_FAKE_HANDSHAKE_MESSAGE_MAX = 4 +
+ }
 
+ + + + + +

+Functions

tsi_handshakertsi_create_fake_handshaker (int is_client)
 
tsi_frame_protectortsi_create_fake_protector (size_t *max_protected_frame_size)
 
+

Macro Definition Documentation

+ +
+
+ + + + +
#define TSI_FAKE_DEFAULT_FRAME_SIZE   16384
+
+ +
+
+ +
+
+ + + + +
#define TSI_FAKE_FRAME_HEADER_SIZE   4
+
+ +
+
+ +
+
+ + + + +
#define TSI_FAKE_FRAME_INITIAL_ALLOCATED_SIZE   64
+
+ +
+
+

Enumeration Type Documentation

+ +
+
+ + + + +
enum tsi_fake_handshake_message
+
+ + + + + + +
Enumerator
TSI_FAKE_CLIENT_INIT  +
TSI_FAKE_SERVER_INIT  +
TSI_FAKE_CLIENT_FINISHED  +
TSI_FAKE_SERVER_FINISHED  +
TSI_FAKE_HANDSHAKE_MESSAGE_MAX  +
+ +
+
+

Function Documentation

+ +
+
+ + + + + + + + +
tsi_handshaker* tsi_create_fake_handshaker (int is_client)
+
+ +
+
+ +
+
+ + + + + + + + +
tsi_frame_protector* tsi_create_fake_protector (size_t * max_protected_frame_size)
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/fake__transport__security_8h.html b/doc/ref/core.internal/html/fake__transport__security_8h.html new file mode 100644 index 0000000000..0d6cbbf6b6 --- /dev/null +++ b/doc/ref/core.internal/html/fake__transport__security_8h.html @@ -0,0 +1,164 @@ + + + + + + +GRPC Core: src/core/tsi/fake_transport_security.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
fake_transport_security.h File Reference
+
+
+ +

Go to the source code of this file.

+ + + + +

+Macros

#define TSI_FAKE_CERTIFICATE_TYPE   "FAKE"
 
+ + + + + +

+Functions

tsi_handshakertsi_create_fake_handshaker (int is_client)
 
tsi_frame_protectortsi_create_fake_protector (size_t *max_protected_frame_size)
 
+

Macro Definition Documentation

+ +
+
+ + + + +
#define TSI_FAKE_CERTIFICATE_TYPE   "FAKE"
+
+ +
+
+

Function Documentation

+ +
+
+ + + + + + + + +
tsi_handshaker* tsi_create_fake_handshaker (int is_client)
+
+ +
+
+ +
+
+ + + + + + + + +
tsi_frame_protector* tsi_create_fake_protector (size_t * max_protected_frame_size)
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/fake__transport__security_8h_source.html b/doc/ref/core.internal/html/fake__transport__security_8h_source.html new file mode 100644 index 0000000000..d517483fea --- /dev/null +++ b/doc/ref/core.internal/html/fake__transport__security_8h_source.html @@ -0,0 +1,165 @@ + + + + + + +GRPC Core: src/core/tsi/fake_transport_security.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
fake_transport_security.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPC_INTERNAL_CORE_TSI_FAKE_TRANSPORT_SECURITY_H
+
35 #define GRPC_INTERNAL_CORE_TSI_FAKE_TRANSPORT_SECURITY_H
+
36 
+ +
38 
+
39 #ifdef __cplusplus
+
40 extern "C" {
+
41 #endif
+
42 
+
43 /* Value for the TSI_CERTIFICATE_TYPE_PEER_PROPERTY property for FAKE certs. */
+
44 #define TSI_FAKE_CERTIFICATE_TYPE "FAKE"
+
45 
+
46 /* Creates a fake handshaker that will create a fake frame protector.
+
47 
+
48  No cryptography is performed in these objects. They just simulate handshake
+
49  messages going back and forth for the handshaker and do some framing on
+
50  cleartext data for the protector. */
+ +
52 
+
53 /* Creates a protector directly without going through the handshake phase. */
+ +
55  size_t* max_protected_frame_size);
+
56 
+
57 #ifdef __cplusplus
+
58 }
+
59 #endif
+
60 
+
61 #endif /* GRPC_INTERNAL_CORE_TSI_FAKE_TRANSPORT_SECURITY_H */
+
Definition: transport_security.h:65
+ +
tsi_handshaker * tsi_create_fake_handshaker(int is_client)
Definition: fake_transport_security.c:498
+
Definition: transport_security.h:86
+
tsi_frame_protector * tsi_create_fake_protector(size_t *max_protected_frame_size)
Definition: fake_transport_security.c:513
+
+ + + + diff --git a/doc/ref/core.internal/html/fd__posix_8c.html b/doc/ref/core.internal/html/fd__posix_8c.html new file mode 100644 index 0000000000..0672f60f38 --- /dev/null +++ b/doc/ref/core.internal/html/fd__posix_8c.html @@ -0,0 +1,100 @@ + + + + + + +GRPC Core: src/core/iomgr/fd_posix.c File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
fd_posix.c File Reference
+
+ + + + + diff --git a/doc/ref/core.internal/html/fd__posix_8h.html b/doc/ref/core.internal/html/fd__posix_8h.html new file mode 100644 index 0000000000..4a84e1dea1 --- /dev/null +++ b/doc/ref/core.internal/html/fd__posix_8h.html @@ -0,0 +1,577 @@ + + + + + + +GRPC Core: src/core/iomgr/fd_posix.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
fd_posix.h File Reference
+
+
+ +

Go to the source code of this file.

+ + + + + + +

+Data Structures

struct  grpc_fd_watcher
 
struct  grpc_fd
 
+ + + + + +

+Macros

#define GRPC_FD_REF(fd, reason)   grpc_fd_ref(fd)
 
#define GRPC_FD_UNREF(fd, reason)   grpc_fd_unref(fd)
 
+ + + + + +

+Typedefs

typedef struct grpc_fd grpc_fd
 
typedef struct grpc_fd_watcher grpc_fd_watcher
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

grpc_fdgrpc_fd_create (int fd, const char *name)
 
void grpc_fd_orphan (grpc_fd *fd, grpc_iomgr_closure *on_done, const char *reason)
 
gpr_uint32 grpc_fd_begin_poll (grpc_fd *fd, grpc_pollset *pollset, gpr_uint32 read_mask, gpr_uint32 write_mask, grpc_fd_watcher *rec)
 
void grpc_fd_end_poll (grpc_fd_watcher *rec, int got_read, int got_write)
 
int grpc_fd_is_orphaned (grpc_fd *fd)
 
void grpc_fd_shutdown (grpc_fd *fd)
 
void grpc_fd_notify_on_read (grpc_fd *fd, grpc_iomgr_closure *closure)
 
void grpc_fd_notify_on_write (grpc_fd *fd, grpc_iomgr_closure *closure)
 
void grpc_fd_become_readable (grpc_fd *fd, int allow_synchronous_callback)
 
void grpc_fd_become_writable (grpc_fd *fd, int allow_synchronous_callback)
 
void grpc_fd_ref (grpc_fd *fd)
 
void grpc_fd_unref (grpc_fd *fd)
 
void grpc_fd_global_init (void)
 
void grpc_fd_global_shutdown (void)
 
+

Macro Definition Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
#define GRPC_FD_REF( fd,
 reason 
)   grpc_fd_ref(fd)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
#define GRPC_FD_UNREF( fd,
 reason 
)   grpc_fd_unref(fd)
+
+ +
+
+

Typedef Documentation

+ +
+
+ + + + +
typedef struct grpc_fd grpc_fd
+
+ +
+
+ +
+
+ + + + +
typedef struct grpc_fd_watcher grpc_fd_watcher
+
+ +
+
+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
void grpc_fd_become_readable (grpc_fdfd,
int allow_synchronous_callback 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void grpc_fd_become_writable (grpc_fdfd,
int allow_synchronous_callback 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
gpr_uint32 grpc_fd_begin_poll (grpc_fdfd,
grpc_pollsetpollset,
gpr_uint32 read_mask,
gpr_uint32 write_mask,
grpc_fd_watcherrec 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
grpc_fd* grpc_fd_create (int fd,
const char * name 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void grpc_fd_end_poll (grpc_fd_watcherrec,
int got_read,
int got_write 
)
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_fd_global_init (void )
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_fd_global_shutdown (void )
+
+ +
+
+ +
+
+ + + + + + + + +
int grpc_fd_is_orphaned (grpc_fdfd)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void grpc_fd_notify_on_read (grpc_fdfd,
grpc_iomgr_closureclosure 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void grpc_fd_notify_on_write (grpc_fdfd,
grpc_iomgr_closureclosure 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void grpc_fd_orphan (grpc_fdfd,
grpc_iomgr_closureon_done,
const char * reason 
)
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_fd_ref (grpc_fdfd)
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_fd_shutdown (grpc_fdfd)
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_fd_unref (grpc_fdfd)
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/fd__posix_8h_source.html b/doc/ref/core.internal/html/fd__posix_8h_source.html new file mode 100644 index 0000000000..27d5be84f5 --- /dev/null +++ b/doc/ref/core.internal/html/fd__posix_8h_source.html @@ -0,0 +1,325 @@ + + + + + + +GRPC Core: src/core/iomgr/fd_posix.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
fd_posix.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPC_INTERNAL_CORE_IOMGR_FD_POSIX_H
+
35 #define GRPC_INTERNAL_CORE_IOMGR_FD_POSIX_H
+
36 
+ +
38 #include "src/core/iomgr/pollset.h"
+
39 #include <grpc/support/atm.h>
+
40 #include <grpc/support/sync.h>
+
41 #include <grpc/support/time.h>
+
42 
+
43 typedef struct grpc_fd grpc_fd;
+
44 
+
45 typedef struct grpc_fd_watcher {
+ + + + + +
51 
+
52 struct grpc_fd {
+
53  int fd;
+
54  /* refst format:
+
55  bit0: 1=active/0=orphaned
+
56  bit1-n: refcount
+
57  meaning that mostly we ref by two to avoid altering the orphaned bit,
+
58  and just unref by 1 when we're ready to flag the object as orphaned */
+ +
60 
+ + +
63  int closed;
+
64 
+
65  /* The watcher list.
+
66 
+
67  The following watcher related fields are protected by watcher_mu.
+
68 
+
69  An fd_watcher is an ephemeral object created when an fd wants to
+
70  begin polling, and destroyed after the poll.
+
71 
+
72  It denotes the fd's interest in whether to read poll or write poll
+
73  or both or neither on this fd.
+
74 
+
75  If a watcher is asked to poll for reads or writes, the read_watcher
+
76  or write_watcher fields are set respectively. A watcher may be asked
+
77  to poll for both, in which case both fields will be set.
+
78 
+
79  read_watcher and write_watcher may be NULL if no watcher has been
+
80  asked to poll for reads or writes.
+
81 
+
82  If an fd_watcher is not asked to poll for reads or writes, it's added
+
83  to a linked list of inactive watchers, rooted at inactive_watcher_root.
+
84  If at a later time there becomes need of a poller to poll, one of
+
85  the inactive pollers may be kicked out of their poll loops to take
+
86  that responsibility. */
+ + + + +
91 
+ + +
94 
+ +
96 
+ + +
99 
+ +
101 };
+
102 
+
103 /* Create a wrapped file descriptor.
+
104  Requires fd is a non-blocking file descriptor.
+
105  This takes ownership of closing fd. */
+
106 grpc_fd *grpc_fd_create(int fd, const char *name);
+
107 
+
108 /* Releases fd to be asynchronously destroyed.
+
109  on_done is called when the underlying file descriptor is definitely close()d.
+
110  If on_done is NULL, no callback will be made.
+
111  Requires: *fd initialized; no outstanding notify_on_read or
+
112  notify_on_write. */
+ +
114  const char *reason);
+
115 
+
116 /* Begin polling on an fd.
+
117  Registers that the given pollset is interested in this fd - so that if read
+
118  or writability interest changes, the pollset can be kicked to pick up that
+
119  new interest.
+
120  Return value is:
+
121  (fd_needs_read? read_mask : 0) | (fd_needs_write? write_mask : 0)
+
122  i.e. a combination of read_mask and write_mask determined by the fd's current
+
123  interest in said events.
+
124  Polling strategies that do not need to alter their behavior depending on the
+
125  fd's current interest (such as epoll) do not need to call this function. */
+ +
127  gpr_uint32 read_mask, gpr_uint32 write_mask,
+
128  grpc_fd_watcher *rec);
+
129 /* Complete polling previously started with grpc_fd_begin_poll */
+
130 void grpc_fd_end_poll(grpc_fd_watcher *rec, int got_read, int got_write);
+
131 
+
132 /* Return 1 if this fd is orphaned, 0 otherwise */
+ +
134 
+
135 /* Cause any current callbacks to error out with GRPC_CALLBACK_CANCELLED. */
+ +
137 
+
138 /* Register read interest, causing read_cb to be called once when fd becomes
+
139  readable, on deadline specified by deadline, or on shutdown triggered by
+
140  grpc_fd_shutdown.
+
141  read_cb will be called with read_cb_arg when *fd becomes readable.
+
142  read_cb is Called with status of GRPC_CALLBACK_SUCCESS if readable,
+
143  GRPC_CALLBACK_TIMED_OUT if the call timed out,
+
144  and CANCELLED if the call was cancelled.
+
145 
+
146  Requires:This method must not be called before the read_cb for any previous
+
147  call runs. Edge triggered events are used whenever they are supported by the
+
148  underlying platform. This means that users must drain fd in read_cb before
+
149  calling notify_on_read again. Users are also expected to handle spurious
+
150  events, i.e read_cb is called while nothing can be readable from fd */
+ +
152 
+
153 /* Exactly the same semantics as above, except based on writable events. */
+ +
155 
+
156 /* Notification from the poller to an fd that it has become readable or
+
157  writable.
+
158  If allow_synchronous_callback is 1, allow running the fd callback inline
+
159  in this callstack, otherwise register an asynchronous callback and return */
+
160 void grpc_fd_become_readable(grpc_fd *fd, int allow_synchronous_callback);
+
161 void grpc_fd_become_writable(grpc_fd *fd, int allow_synchronous_callback);
+
162 
+
163 /* Reference counting for fds */
+
164 #ifdef GRPC_FD_REF_COUNT_DEBUG
+
165 void grpc_fd_ref(grpc_fd *fd, const char *reason, const char *file, int line);
+
166 void grpc_fd_unref(grpc_fd *fd, const char *reason, const char *file, int line);
+
167 #define GRPC_FD_REF(fd, reason) grpc_fd_ref(fd, reason, __FILE__, __LINE__)
+
168 #define GRPC_FD_UNREF(fd, reason) grpc_fd_unref(fd, reason, __FILE__, __LINE__)
+
169 #else
+
170 void grpc_fd_ref(grpc_fd *fd);
+
171 void grpc_fd_unref(grpc_fd *fd);
+
172 #define GRPC_FD_REF(fd, reason) grpc_fd_ref(fd)
+
173 #define GRPC_FD_UNREF(fd, reason) grpc_fd_unref(fd)
+
174 #endif
+
175 
+
176 void grpc_fd_global_init(void);
+
177 void grpc_fd_global_shutdown(void);
+
178 
+
179 #endif /* GRPC_INTERNAL_CORE_IOMGR_FD_POSIX_H */
+
gpr_atm shutdown
Definition: fd_posix.h:62
+
void grpc_fd_shutdown(grpc_fd *fd)
+
void grpc_fd_become_readable(grpc_fd *fd, int allow_synchronous_callback)
+
grpc_fd_watcher inactive_watcher_root
Definition: fd_posix.h:88
+
void grpc_fd_unref(grpc_fd *fd)
+
struct grpc_fd_watcher * next
Definition: fd_posix.h:46
+ +
int fd
Definition: fd_posix.h:53
+ +
void grpc_fd_ref(grpc_fd *fd)
+
grpc_fd * fd
Definition: fd_posix.h:49
+
grpc_iomgr_closure * on_done_closure
Definition: fd_posix.h:97
+
void grpc_fd_end_poll(grpc_fd_watcher *rec, int got_read, int got_write)
+
grpc_pollset * pollset
Definition: fd_posix.h:48
+
struct grpc_fd_watcher * prev
Definition: fd_posix.h:47
+ +
uint32_t gpr_uint32
Definition: port_platform.h:309
+
void grpc_fd_notify_on_write(grpc_fd *fd, grpc_iomgr_closure *closure)
+
void grpc_fd_global_init(void)
+
Definition: pollset_posix.h:48
+
grpc_iomgr_object iomgr_object
Definition: fd_posix.h:100
+
struct grpc_fd_watcher grpc_fd_watcher
+
gpr_atm readst
Definition: fd_posix.h:92
+
Definition: iomgr_internal.h:40
+
int closed
Definition: fd_posix.h:63
+
gpr_uint32 grpc_fd_begin_poll(grpc_fd *fd, grpc_pollset *pollset, gpr_uint32 read_mask, gpr_uint32 write_mask, grpc_fd_watcher *rec)
+
void grpc_fd_global_shutdown(void)
+
grpc_fd_watcher * read_watcher
Definition: fd_posix.h:89
+
gpr_mu watcher_mu
Definition: fd_posix.h:87
+
Definition: sync_win32.h:39
+
grpc_fd * grpc_fd_create(int fd, const char *name)
+
grpc_fd_watcher * write_watcher
Definition: fd_posix.h:90
+
gpr_atm refst
Definition: fd_posix.h:59
+
void grpc_fd_notify_on_read(grpc_fd *fd, grpc_iomgr_closure *closure)
+
A closure over a grpc_iomgr_cb_func.
Definition: iomgr.h:45
+
void grpc_fd_become_writable(grpc_fd *fd, int allow_synchronous_callback)
+
int grpc_fd_is_orphaned(grpc_fd *fd)
+ +
struct grpc_fd * freelist_next
Definition: fd_posix.h:95
+
Definition: fd_posix.h:45
+
grpc_iomgr_closure * shutdown_closures[2]
Definition: fd_posix.h:98
+
gpr_atm writest
Definition: fd_posix.h:93
+
gpr_intptr gpr_atm
Definition: atm_gcc_atomic.h:41
+
gpr_mu set_state_mu
Definition: fd_posix.h:61
+
void grpc_fd_orphan(grpc_fd *fd, grpc_iomgr_closure *on_done, const char *reason)
+ +
Definition: fd_posix.h:52
+
+ + + + diff --git a/doc/ref/core.internal/html/file_8c.html b/doc/ref/core.internal/html/file_8c.html new file mode 100644 index 0000000000..34ac22e214 --- /dev/null +++ b/doc/ref/core.internal/html/file_8c.html @@ -0,0 +1,146 @@ + + + + + + +GRPC Core: src/core/support/file.c File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
file.c File Reference
+
+
+
#include "src/core/support/file.h"
+#include <errno.h>
+#include <string.h>
+#include <grpc/support/alloc.h>
+#include <grpc/support/log.h>
+#include <grpc/support/string_util.h>
+
+ + + +

+Functions

gpr_slice gpr_load_file (const char *filename, int add_null_terminator, int *success)
 
+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
gpr_slice gpr_load_file (const char * filename,
int add_null_terminator,
int * success 
)
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/file_8h.html b/doc/ref/core.internal/html/file_8h.html new file mode 100644 index 0000000000..f00c9444cc --- /dev/null +++ b/doc/ref/core.internal/html/file_8h.html @@ -0,0 +1,172 @@ + + + + + + +GRPC Core: src/core/support/file.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
file.h File Reference
+
+
+
#include <stdio.h>
+#include <grpc/support/slice.h>
+
+

Go to the source code of this file.

+ + + + + + +

+Functions

gpr_slice gpr_load_file (const char *filename, int add_null_terminator, int *success)
 
FILE * gpr_tmpfile (const char *prefix, char **tmp_filename)
 
+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
gpr_slice gpr_load_file (const char * filename,
int add_null_terminator,
int * success 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
FILE* gpr_tmpfile (const char * prefix,
char ** tmp_filename 
)
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/file_8h_source.html b/doc/ref/core.internal/html/file_8h_source.html new file mode 100644 index 0000000000..959c200f1e --- /dev/null +++ b/doc/ref/core.internal/html/file_8h_source.html @@ -0,0 +1,166 @@ + + + + + + +GRPC Core: src/core/support/file.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
file.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPC_INTERNAL_CORE_SUPPORT_FILE_H
+
35 #define GRPC_INTERNAL_CORE_SUPPORT_FILE_H
+
36 
+
37 #include <stdio.h>
+
38 
+
39 #include <grpc/support/slice.h>
+
40 
+
41 #ifdef __cplusplus
+
42 extern "C" {
+
43 #endif
+
44 
+
45 /* File utility functions */
+
46 
+
47 /* Loads the content of a file into a slice. add_null_terminator will add
+
48  a NULL terminator if non-zero. The success parameter, if not NULL,
+
49  will be set to 1 in case of success and 0 in case of failure. */
+
50 gpr_slice gpr_load_file(const char *filename, int add_null_terminator,
+
51  int *success);
+
52 
+
53 /* Creates a temporary file from a prefix.
+
54  If tmp_filename is not NULL, *tmp_filename is assigned the name of the
+
55  created file and it is the responsibility of the caller to gpr_free it
+
56  unless an error occurs in which case it will be set to NULL. */
+
57 FILE *gpr_tmpfile(const char *prefix, char **tmp_filename);
+
58 
+
59 #ifdef __cplusplus
+
60 }
+
61 #endif
+
62 
+
63 #endif /* GRPC_INTERNAL_CORE_SUPPORT_FILE_H */
+
FILE * gpr_tmpfile(const char *prefix, char **tmp_filename)
+
gpr_slice gpr_load_file(const char *filename, int add_null_terminator, int *success)
Definition: file.c:45
+ +
Definition: slice.h:79
+
+ + + + diff --git a/doc/ref/core.internal/html/file__posix_8c.html b/doc/ref/core.internal/html/file__posix_8c.html new file mode 100644 index 0000000000..6771c9205c --- /dev/null +++ b/doc/ref/core.internal/html/file__posix_8c.html @@ -0,0 +1,100 @@ + + + + + + +GRPC Core: src/core/support/file_posix.c File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
file_posix.c File Reference
+
+ + + + + diff --git a/doc/ref/core.internal/html/file__win32_8c.html b/doc/ref/core.internal/html/file__win32_8c.html new file mode 100644 index 0000000000..fce890b1be --- /dev/null +++ b/doc/ref/core.internal/html/file__win32_8c.html @@ -0,0 +1,100 @@ + + + + + + +GRPC Core: src/core/support/file_win32.c File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
file_win32.c File Reference
+
+ + + + + diff --git a/doc/ref/core.internal/html/files.html b/doc/ref/core.internal/html/files.html new file mode 100644 index 0000000000..c2c65ffedd --- /dev/null +++ b/doc/ref/core.internal/html/files.html @@ -0,0 +1,457 @@ + + + + + + +GRPC Core: File List + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + +
+ + + + +
+ +
+ +
+
+
File List
+
+
+
Here is a list of all files with brief descriptions:
+
[detail level 12345]
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
o-include
|\-grpc
| o+support
| o*byte_buffer.h
| o*byte_buffer_reader.h
| o*census.h
| o*compression.h
| o*grpc.h
| o*grpc_security.h
| \*status.h
\-src
 \-core
  o+census
  o+channel
  o+client_config
  o+compression
  o+debug
  o+httpcli
  o+iomgr
  o+json
  o+profiling
  o+security
  o+support
  o+surface
  o+transport
  \+tsi
+
+
+ + + + diff --git a/doc/ref/core.internal/html/format__request_8c.html b/doc/ref/core.internal/html/format__request_8c.html new file mode 100644 index 0000000000..bdfde089aa --- /dev/null +++ b/doc/ref/core.internal/html/format__request_8c.html @@ -0,0 +1,166 @@ + + + + + + +GRPC Core: src/core/httpcli/format_request.c File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
format_request.c File Reference
+
+
+
#include "src/core/httpcli/format_request.h"
+#include <stdarg.h>
+#include <stdio.h>
+#include <string.h>
+#include <grpc/support/alloc.h>
+#include <grpc/support/slice.h>
+#include <grpc/support/string_util.h>
+#include <grpc/support/useful.h>
+
+ + + + + +

+Functions

gpr_slice grpc_httpcli_format_get_request (const grpc_httpcli_request *request)
 
gpr_slice grpc_httpcli_format_post_request (const grpc_httpcli_request *request, const char *body_bytes, size_t body_size)
 
+

Function Documentation

+ +
+
+ + + + + + + + +
gpr_slice grpc_httpcli_format_get_request (const grpc_httpcli_requestrequest)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
gpr_slice grpc_httpcli_format_post_request (const grpc_httpcli_requestrequest,
const char * body_bytes,
size_t body_size 
)
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/format__request_8h.html b/doc/ref/core.internal/html/format__request_8h.html new file mode 100644 index 0000000000..308fd11967 --- /dev/null +++ b/doc/ref/core.internal/html/format__request_8h.html @@ -0,0 +1,162 @@ + + + + + + +GRPC Core: src/core/httpcli/format_request.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
format_request.h File Reference
+
+
+ +

Go to the source code of this file.

+ + + + + + +

+Functions

gpr_slice grpc_httpcli_format_get_request (const grpc_httpcli_request *request)
 
gpr_slice grpc_httpcli_format_post_request (const grpc_httpcli_request *request, const char *body_bytes, size_t body_size)
 
+

Function Documentation

+ +
+
+ + + + + + + + +
gpr_slice grpc_httpcli_format_get_request (const grpc_httpcli_requestrequest)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
gpr_slice grpc_httpcli_format_post_request (const grpc_httpcli_requestrequest,
const char * body_bytes,
size_t body_size 
)
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/format__request_8h_source.html b/doc/ref/core.internal/html/format__request_8h_source.html new file mode 100644 index 0000000000..4ebfb8b21d --- /dev/null +++ b/doc/ref/core.internal/html/format__request_8h_source.html @@ -0,0 +1,150 @@ + + + + + + +GRPC Core: src/core/httpcli/format_request.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
format_request.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPC_INTERNAL_CORE_HTTPCLI_FORMAT_REQUEST_H
+
35 #define GRPC_INTERNAL_CORE_HTTPCLI_FORMAT_REQUEST_H
+
36 
+ +
38 #include <grpc/support/slice.h>
+
39 
+ + +
42  const char *body_bytes,
+
43  size_t body_size);
+
44 
+
45 #endif /* GRPC_INTERNAL_CORE_HTTPCLI_FORMAT_REQUEST_H */
+ +
gpr_slice grpc_httpcli_format_get_request(const grpc_httpcli_request *request)
Definition: format_request.c:65
+
gpr_slice grpc_httpcli_format_post_request(const grpc_httpcli_request *request, const char *body_bytes, size_t body_size)
Definition: format_request.c:81
+
Definition: httpcli.h:62
+ +
Definition: slice.h:79
+
+ + + + diff --git a/doc/ref/core.internal/html/frame_8h.html b/doc/ref/core.internal/html/frame_8h.html new file mode 100644 index 0000000000..e1adc31921 --- /dev/null +++ b/doc/ref/core.internal/html/frame_8h.html @@ -0,0 +1,371 @@ + + + + + + +GRPC Core: src/core/transport/chttp2/frame.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
frame.h File Reference
+
+
+ +

Go to the source code of this file.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Macros

#define GRPC_CHTTP2_FRAME_DATA   0
 
#define GRPC_CHTTP2_FRAME_HEADER   1
 
#define GRPC_CHTTP2_FRAME_CONTINUATION   9
 
#define GRPC_CHTTP2_FRAME_RST_STREAM   3
 
#define GRPC_CHTTP2_FRAME_SETTINGS   4
 
#define GRPC_CHTTP2_FRAME_PING   6
 
#define GRPC_CHTTP2_FRAME_GOAWAY   7
 
#define GRPC_CHTTP2_FRAME_WINDOW_UPDATE   8
 
#define GRPC_CHTTP2_MAX_PAYLOAD_LENGTH   ((1 << 14) - 1)
 
#define GRPC_CHTTP2_DATA_FLAG_END_STREAM   1
 
#define GRPC_CHTTP2_FLAG_ACK   1
 
#define GRPC_CHTTP2_DATA_FLAG_END_HEADERS   4
 
#define GRPC_CHTTP2_DATA_FLAG_PADDED   8
 
#define GRPC_CHTTP2_FLAG_HAS_PRIORITY   0x20
 
+ + + + + +

+Typedefs

typedef struct
+grpc_chttp2_stream_parsing 
grpc_chttp2_stream_parsing
 
typedef struct
+grpc_chttp2_transport_parsing 
grpc_chttp2_transport_parsing
 
+ + + +

+Enumerations

enum  grpc_chttp2_parse_error { GRPC_CHTTP2_PARSE_OK, +GRPC_CHTTP2_STREAM_ERROR, +GRPC_CHTTP2_CONNECTION_ERROR + }
 
+

Macro Definition Documentation

+ +
+
+ + + + +
#define GRPC_CHTTP2_DATA_FLAG_END_HEADERS   4
+
+ +
+
+ +
+
+ + + + +
#define GRPC_CHTTP2_DATA_FLAG_END_STREAM   1
+
+ +
+
+ +
+
+ + + + +
#define GRPC_CHTTP2_DATA_FLAG_PADDED   8
+
+ +
+
+ +
+
+ + + + +
#define GRPC_CHTTP2_FLAG_ACK   1
+
+ +
+
+ +
+
+ + + + +
#define GRPC_CHTTP2_FLAG_HAS_PRIORITY   0x20
+
+ +
+
+ +
+
+ + + + +
#define GRPC_CHTTP2_FRAME_CONTINUATION   9
+
+ +
+
+ +
+
+ + + + +
#define GRPC_CHTTP2_FRAME_DATA   0
+
+ +
+
+ +
+
+ + + + +
#define GRPC_CHTTP2_FRAME_GOAWAY   7
+
+ +
+
+ +
+
+ + + + +
#define GRPC_CHTTP2_FRAME_HEADER   1
+
+ +
+
+ +
+
+ + + + +
#define GRPC_CHTTP2_FRAME_PING   6
+
+ +
+
+ +
+
+ + + + +
#define GRPC_CHTTP2_FRAME_RST_STREAM   3
+
+ +
+
+ +
+
+ + + + +
#define GRPC_CHTTP2_FRAME_SETTINGS   4
+
+ +
+
+ +
+
+ + + + +
#define GRPC_CHTTP2_FRAME_WINDOW_UPDATE   8
+
+ +
+
+ +
+
+ + + + +
#define GRPC_CHTTP2_MAX_PAYLOAD_LENGTH   ((1 << 14) - 1)
+
+ +
+
+

Typedef Documentation

+ +
+
+ +
+
+ + +

Enumeration Type Documentation

+ +
+
+ + + + +
enum grpc_chttp2_parse_error
+
+ + + + +
Enumerator
GRPC_CHTTP2_PARSE_OK  +
GRPC_CHTTP2_STREAM_ERROR  +
GRPC_CHTTP2_CONNECTION_ERROR  +
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/frame_8h_source.html b/doc/ref/core.internal/html/frame_8h_source.html new file mode 100644 index 0000000000..ecad627ede --- /dev/null +++ b/doc/ref/core.internal/html/frame_8h_source.html @@ -0,0 +1,176 @@ + + + + + + +GRPC Core: src/core/transport/chttp2/frame.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
frame.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPC_INTERNAL_CORE_TRANSPORT_CHTTP2_FRAME_H
+
35 #define GRPC_INTERNAL_CORE_TRANSPORT_CHTTP2_FRAME_H
+
36 
+ +
38 #include <grpc/support/slice.h>
+
39 
+
40 /* Common definitions for frame handling in the chttp2 transport */
+
41 
+
42 typedef enum {
+ + + + +
47 
+
48 /* defined in internal.h */
+ + +
51 
+
52 #define GRPC_CHTTP2_FRAME_DATA 0
+
53 #define GRPC_CHTTP2_FRAME_HEADER 1
+
54 #define GRPC_CHTTP2_FRAME_CONTINUATION 9
+
55 #define GRPC_CHTTP2_FRAME_RST_STREAM 3
+
56 #define GRPC_CHTTP2_FRAME_SETTINGS 4
+
57 #define GRPC_CHTTP2_FRAME_PING 6
+
58 #define GRPC_CHTTP2_FRAME_GOAWAY 7
+
59 #define GRPC_CHTTP2_FRAME_WINDOW_UPDATE 8
+
60 
+
61 #define GRPC_CHTTP2_MAX_PAYLOAD_LENGTH ((1 << 14) - 1)
+
62 
+
63 #define GRPC_CHTTP2_DATA_FLAG_END_STREAM 1
+
64 #define GRPC_CHTTP2_FLAG_ACK 1
+
65 #define GRPC_CHTTP2_DATA_FLAG_END_HEADERS 4
+
66 #define GRPC_CHTTP2_DATA_FLAG_PADDED 8
+
67 #define GRPC_CHTTP2_FLAG_HAS_PRIORITY 0x20
+
68 
+
69 #endif /* GRPC_INTERNAL_CORE_TRANSPORT_CHTTP2_FRAME_H */
+ +
Definition: frame.h:43
+
grpc_chttp2_parse_error
Definition: frame.h:42
+
Definition: internal.h:215
+
Definition: internal.h:412
+ +
Definition: frame.h:45
+
Definition: frame.h:44
+
+ + + + diff --git a/doc/ref/core.internal/html/frame__data_8c.html b/doc/ref/core.internal/html/frame__data_8c.html new file mode 100644 index 0000000000..89260e9bff --- /dev/null +++ b/doc/ref/core.internal/html/frame__data_8c.html @@ -0,0 +1,223 @@ + + + + + + +GRPC Core: src/core/transport/chttp2/frame_data.c File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
frame_data.c File Reference
+
+
+ + + + + + + + + + +

+Functions

grpc_chttp2_parse_error grpc_chttp2_data_parser_init (grpc_chttp2_data_parser *parser)
 
void grpc_chttp2_data_parser_destroy (grpc_chttp2_data_parser *parser)
 
grpc_chttp2_parse_error grpc_chttp2_data_parser_begin_frame (grpc_chttp2_data_parser *parser, gpr_uint8 flags)
 
grpc_chttp2_parse_error grpc_chttp2_data_parser_parse (void *parser, grpc_chttp2_transport_parsing *transport_parsing, grpc_chttp2_stream_parsing *stream_parsing, gpr_slice slice, int is_last)
 
+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
grpc_chttp2_parse_error grpc_chttp2_data_parser_begin_frame (grpc_chttp2_data_parserparser,
gpr_uint8 flags 
)
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_chttp2_data_parser_destroy (grpc_chttp2_data_parserparser)
+
+ +
+
+ +
+
+ + + + + + + + +
grpc_chttp2_parse_error grpc_chttp2_data_parser_init (grpc_chttp2_data_parserparser)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
grpc_chttp2_parse_error grpc_chttp2_data_parser_parse (void * parser,
grpc_chttp2_transport_parsingtransport_parsing,
grpc_chttp2_stream_parsingstream_parsing,
gpr_slice slice,
int is_last 
)
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/frame__data_8h.html b/doc/ref/core.internal/html/frame__data_8h.html new file mode 100644 index 0000000000..f399814b54 --- /dev/null +++ b/doc/ref/core.internal/html/frame__data_8h.html @@ -0,0 +1,288 @@ + + + + + + +GRPC Core: src/core/transport/chttp2/frame_data.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
frame_data.h File Reference
+
+
+ +

Go to the source code of this file.

+ + + + +

+Data Structures

struct  grpc_chttp2_data_parser
 
+ + + +

+Enumerations

enum  grpc_chttp2_stream_state {
+  GRPC_CHTTP2_DATA_FH_0, +GRPC_CHTTP2_DATA_FH_1, +GRPC_CHTTP2_DATA_FH_2, +GRPC_CHTTP2_DATA_FH_3, +
+  GRPC_CHTTP2_DATA_FH_4, +GRPC_CHTTP2_DATA_FRAME +
+ }
 
+ + + + + + + + + + + +

+Functions

grpc_chttp2_parse_error grpc_chttp2_data_parser_init (grpc_chttp2_data_parser *parser)
 
void grpc_chttp2_data_parser_destroy (grpc_chttp2_data_parser *parser)
 
grpc_chttp2_parse_error grpc_chttp2_data_parser_begin_frame (grpc_chttp2_data_parser *parser, gpr_uint8 flags)
 
grpc_chttp2_parse_error grpc_chttp2_data_parser_parse (void *parser, grpc_chttp2_transport_parsing *transport_parsing, grpc_chttp2_stream_parsing *stream_parsing, gpr_slice slice, int is_last)
 
gpr_slice grpc_chttp2_data_frame_create_empty_close (gpr_uint32 id)
 
+

Enumeration Type Documentation

+ +
+
+ + + + +
enum grpc_chttp2_stream_state
+
+ + + + + + + +
Enumerator
GRPC_CHTTP2_DATA_FH_0  +
GRPC_CHTTP2_DATA_FH_1  +
GRPC_CHTTP2_DATA_FH_2  +
GRPC_CHTTP2_DATA_FH_3  +
GRPC_CHTTP2_DATA_FH_4  +
GRPC_CHTTP2_DATA_FRAME  +
+ +
+
+

Function Documentation

+ +
+
+ + + + + + + + +
gpr_slice grpc_chttp2_data_frame_create_empty_close (gpr_uint32 id)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
grpc_chttp2_parse_error grpc_chttp2_data_parser_begin_frame (grpc_chttp2_data_parserparser,
gpr_uint8 flags 
)
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_chttp2_data_parser_destroy (grpc_chttp2_data_parserparser)
+
+ +
+
+ +
+
+ + + + + + + + +
grpc_chttp2_parse_error grpc_chttp2_data_parser_init (grpc_chttp2_data_parserparser)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
grpc_chttp2_parse_error grpc_chttp2_data_parser_parse (void * parser,
grpc_chttp2_transport_parsingtransport_parsing,
grpc_chttp2_stream_parsingstream_parsing,
gpr_slice slice,
int is_last 
)
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/frame__data_8h_source.html b/doc/ref/core.internal/html/frame__data_8h_source.html new file mode 100644 index 0000000000..ac4347fc5c --- /dev/null +++ b/doc/ref/core.internal/html/frame__data_8h_source.html @@ -0,0 +1,211 @@ + + + + + + +GRPC Core: src/core/transport/chttp2/frame_data.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
frame_data.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPC_INTERNAL_CORE_TRANSPORT_CHTTP2_FRAME_DATA_H
+
35 #define GRPC_INTERNAL_CORE_TRANSPORT_CHTTP2_FRAME_DATA_H
+
36 
+
37 /* Parser for GRPC streams embedded in DATA frames */
+
38 
+
39 #include <grpc/support/slice.h>
+ + + +
43 
+
44 typedef enum {
+ + + + + + + +
52 
+
53 typedef struct {
+ + + + +
58 
+ + + +
62 
+
63 /* initialize per-stream state for data frame parsing */
+ +
65  grpc_chttp2_data_parser *parser);
+
66 
+ +
68 
+
69 /* start processing a new data frame */
+ +
71  grpc_chttp2_data_parser *parser, gpr_uint8 flags);
+
72 
+
73 /* handle a slice of a data frame - is_last indicates the last slice of a
+
74  frame */
+ +
76  void *parser, grpc_chttp2_transport_parsing *transport_parsing,
+
77  grpc_chttp2_stream_parsing *stream_parsing, gpr_slice slice, int is_last);
+
78 
+
79 /* create a slice with an empty data frame and is_last set */
+ +
81 
+
82 #endif /* GRPC_INTERNAL_CORE_TRANSPORT_CHTTP2_FRAME_DATA_H */
+
uint8_t gpr_uint8
Definition: port_platform.h:307
+
grpc_chttp2_stream_state
Definition: frame_data.h:44
+
grpc_chttp2_parse_error grpc_chttp2_data_parser_begin_frame(grpc_chttp2_data_parser *parser, gpr_uint8 flags)
Definition: frame_data.c:56
+
grpc_chttp2_parse_error
Definition: frame.h:42
+
uint32_t gpr_uint32
Definition: port_platform.h:309
+
int is_frame_compressed
Definition: frame_data.h:59
+
grpc_stream_op_buffer incoming_sopb
Definition: frame_data.h:60
+
Definition: frame_data.h:50
+
Definition: frame_data.h:49
+
grpc_chttp2_stream_state state
Definition: frame_data.h:54
+
grpc_chttp2_parse_error grpc_chttp2_data_parser_init(grpc_chttp2_data_parser *parser)
Definition: frame_data.c:45
+ +
Definition: frame_data.h:48
+
Definition: internal.h:215
+
Definition: frame_data.h:46
+
gpr_uint32 frame_size
Definition: frame_data.h:57
+ +
Definition: internal.h:412
+
void grpc_chttp2_data_parser_destroy(grpc_chttp2_data_parser *parser)
Definition: frame_data.c:52
+ +
Definition: frame_data.h:53
+
gpr_slice grpc_chttp2_data_frame_create_empty_close(gpr_uint32 id)
Definition: stream_encoder.c:449
+
Definition: frame_data.h:47
+
grpc_chttp2_parse_error grpc_chttp2_data_parser_parse(void *parser, grpc_chttp2_transport_parsing *transport_parsing, grpc_chttp2_stream_parsing *stream_parsing, gpr_slice slice, int is_last)
Definition: frame_data.c:72
+
Definition: frame_data.h:45
+
gpr_uint8 frame_type
Definition: frame_data.h:56
+ +
A stream op buffer is a wrapper around stream operations that is dynamically extendable.
Definition: stream_op.h:176
+
Definition: slice.h:79
+
gpr_uint8 is_last_frame
Definition: frame_data.h:55
+
+ + + + diff --git a/doc/ref/core.internal/html/frame__goaway_8c.html b/doc/ref/core.internal/html/frame__goaway_8c.html new file mode 100644 index 0000000000..f966d7b377 --- /dev/null +++ b/doc/ref/core.internal/html/frame__goaway_8c.html @@ -0,0 +1,267 @@ + + + + + + +GRPC Core: src/core/transport/chttp2/frame_goaway.c File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
frame_goaway.c File Reference
+
+
+ + + + + + + + + + + + +

+Functions

void grpc_chttp2_goaway_parser_init (grpc_chttp2_goaway_parser *p)
 
void grpc_chttp2_goaway_parser_destroy (grpc_chttp2_goaway_parser *p)
 
grpc_chttp2_parse_error grpc_chttp2_goaway_parser_begin_frame (grpc_chttp2_goaway_parser *p, gpr_uint32 length, gpr_uint8 flags)
 
grpc_chttp2_parse_error grpc_chttp2_goaway_parser_parse (void *parser, grpc_chttp2_transport_parsing *transport_parsing, grpc_chttp2_stream_parsing *stream_parsing, gpr_slice slice, int is_last)
 
void grpc_chttp2_goaway_append (gpr_uint32 last_stream_id, gpr_uint32 error_code, gpr_slice debug_data, gpr_slice_buffer *slice_buffer)
 
+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void grpc_chttp2_goaway_append (gpr_uint32 last_stream_id,
gpr_uint32 error_code,
gpr_slice debug_data,
gpr_slice_bufferslice_buffer 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
grpc_chttp2_parse_error grpc_chttp2_goaway_parser_begin_frame (grpc_chttp2_goaway_parserp,
gpr_uint32 length,
gpr_uint8 flags 
)
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_chttp2_goaway_parser_destroy (grpc_chttp2_goaway_parserp)
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_chttp2_goaway_parser_init (grpc_chttp2_goaway_parserp)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
grpc_chttp2_parse_error grpc_chttp2_goaway_parser_parse (void * parser,
grpc_chttp2_transport_parsingtransport_parsing,
grpc_chttp2_stream_parsingstream_parsing,
gpr_slice slice,
int is_last 
)
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/frame__goaway_8h.html b/doc/ref/core.internal/html/frame__goaway_8h.html new file mode 100644 index 0000000000..5f9fed657f --- /dev/null +++ b/doc/ref/core.internal/html/frame__goaway_8h.html @@ -0,0 +1,326 @@ + + + + + + +GRPC Core: src/core/transport/chttp2/frame_goaway.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
frame_goaway.h File Reference
+
+
+ +

Go to the source code of this file.

+ + + + +

+Data Structures

struct  grpc_chttp2_goaway_parser
 
+ + + +

+Enumerations

enum  grpc_chttp2_goaway_parse_state {
+  GRPC_CHTTP2_GOAWAY_LSI0, +GRPC_CHTTP2_GOAWAY_LSI1, +GRPC_CHTTP2_GOAWAY_LSI2, +GRPC_CHTTP2_GOAWAY_LSI3, +
+  GRPC_CHTTP2_GOAWAY_ERR0, +GRPC_CHTTP2_GOAWAY_ERR1, +GRPC_CHTTP2_GOAWAY_ERR2, +GRPC_CHTTP2_GOAWAY_ERR3, +
+  GRPC_CHTTP2_GOAWAY_DEBUG +
+ }
 
+ + + + + + + + + + + +

+Functions

void grpc_chttp2_goaway_parser_init (grpc_chttp2_goaway_parser *p)
 
void grpc_chttp2_goaway_parser_destroy (grpc_chttp2_goaway_parser *p)
 
grpc_chttp2_parse_error grpc_chttp2_goaway_parser_begin_frame (grpc_chttp2_goaway_parser *parser, gpr_uint32 length, gpr_uint8 flags)
 
grpc_chttp2_parse_error grpc_chttp2_goaway_parser_parse (void *parser, grpc_chttp2_transport_parsing *transport_parsing, grpc_chttp2_stream_parsing *stream_parsing, gpr_slice slice, int is_last)
 
void grpc_chttp2_goaway_append (gpr_uint32 last_stream_id, gpr_uint32 error_code, gpr_slice debug_data, gpr_slice_buffer *slice_buffer)
 
+

Enumeration Type Documentation

+ +
+
+ + + + + + + + + + +
Enumerator
GRPC_CHTTP2_GOAWAY_LSI0  +
GRPC_CHTTP2_GOAWAY_LSI1  +
GRPC_CHTTP2_GOAWAY_LSI2  +
GRPC_CHTTP2_GOAWAY_LSI3  +
GRPC_CHTTP2_GOAWAY_ERR0  +
GRPC_CHTTP2_GOAWAY_ERR1  +
GRPC_CHTTP2_GOAWAY_ERR2  +
GRPC_CHTTP2_GOAWAY_ERR3  +
GRPC_CHTTP2_GOAWAY_DEBUG  +
+ +
+
+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void grpc_chttp2_goaway_append (gpr_uint32 last_stream_id,
gpr_uint32 error_code,
gpr_slice debug_data,
gpr_slice_bufferslice_buffer 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
grpc_chttp2_parse_error grpc_chttp2_goaway_parser_begin_frame (grpc_chttp2_goaway_parserparser,
gpr_uint32 length,
gpr_uint8 flags 
)
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_chttp2_goaway_parser_destroy (grpc_chttp2_goaway_parserp)
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_chttp2_goaway_parser_init (grpc_chttp2_goaway_parserp)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
grpc_chttp2_parse_error grpc_chttp2_goaway_parser_parse (void * parser,
grpc_chttp2_transport_parsingtransport_parsing,
grpc_chttp2_stream_parsingstream_parsing,
gpr_slice slice,
int is_last 
)
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/frame__goaway_8h_source.html b/doc/ref/core.internal/html/frame__goaway_8h_source.html new file mode 100644 index 0000000000..81677c8328 --- /dev/null +++ b/doc/ref/core.internal/html/frame__goaway_8h_source.html @@ -0,0 +1,207 @@ + + + + + + +GRPC Core: src/core/transport/chttp2/frame_goaway.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
frame_goaway.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPC_INTERNAL_CORE_TRANSPORT_CHTTP2_FRAME_GOAWAY_H
+
35 #define GRPC_INTERNAL_CORE_TRANSPORT_CHTTP2_FRAME_GOAWAY_H
+
36 
+ + +
39 #include <grpc/support/slice.h>
+ +
41 
+
42 typedef enum {
+ + + + + + + + + + +
53 
+
54 typedef struct {
+ + + +
58  char *debug_data;
+ + + +
62 
+ + + +
66  grpc_chttp2_goaway_parser *parser, gpr_uint32 length, gpr_uint8 flags);
+ +
68  void *parser, grpc_chttp2_transport_parsing *transport_parsing,
+
69  grpc_chttp2_stream_parsing *stream_parsing, gpr_slice slice, int is_last);
+
70 
+
71 void grpc_chttp2_goaway_append(gpr_uint32 last_stream_id, gpr_uint32 error_code,
+
72  gpr_slice debug_data,
+
73  gpr_slice_buffer *slice_buffer);
+
74 
+
75 #endif /* GRPC_INTERNAL_CORE_TRANSPORT_CHTTP2_FRAME_GOAWAY_H */
+
gpr_uint32 last_stream_id
Definition: frame_goaway.h:56
+ +
Definition: frame_goaway.h:50
+
uint8_t gpr_uint8
Definition: port_platform.h:307
+
Definition: frame_goaway.h:43
+
Definition: frame_goaway.h:51
+
Definition: frame_goaway.h:44
+
grpc_chttp2_parse_error
Definition: frame.h:42
+
void grpc_chttp2_goaway_parser_destroy(grpc_chttp2_goaway_parser *p)
Definition: frame_goaway.c:46
+
uint32_t gpr_uint32
Definition: port_platform.h:309
+
Definition: frame_goaway.h:48
+
Definition: slice_buffer.h:48
+
Definition: frame_goaway.h:47
+
gpr_uint32 debug_length
Definition: frame_goaway.h:59
+
grpc_chttp2_goaway_parse_state state
Definition: frame_goaway.h:55
+ +
Definition: frame_goaway.h:54
+
gpr_uint32 error_code
Definition: frame_goaway.h:57
+
Definition: internal.h:215
+
Definition: frame_goaway.h:49
+
Definition: frame_goaway.h:46
+ +
char * debug_data
Definition: frame_goaway.h:58
+
Definition: internal.h:412
+
grpc_chttp2_parse_error grpc_chttp2_goaway_parser_parse(void *parser, grpc_chttp2_transport_parsing *transport_parsing, grpc_chttp2_stream_parsing *stream_parsing, gpr_slice slice, int is_last)
Definition: frame_goaway.c:65
+
void grpc_chttp2_goaway_parser_init(grpc_chttp2_goaway_parser *p)
Definition: frame_goaway.c:42
+ +
gpr_uint32 debug_pos
Definition: frame_goaway.h:60
+
void grpc_chttp2_goaway_append(gpr_uint32 last_stream_id, gpr_uint32 error_code, gpr_slice debug_data, gpr_slice_buffer *slice_buffer)
Definition: frame_goaway.c:158
+
Definition: slice.h:79
+
grpc_chttp2_goaway_parse_state
Definition: frame_goaway.h:42
+
Definition: frame_goaway.h:45
+
grpc_chttp2_parse_error grpc_chttp2_goaway_parser_begin_frame(grpc_chttp2_goaway_parser *parser, gpr_uint32 length, gpr_uint8 flags)
Definition: frame_goaway.c:50
+
+ + + + diff --git a/doc/ref/core.internal/html/frame__ping_8c.html b/doc/ref/core.internal/html/frame__ping_8c.html new file mode 100644 index 0000000000..66b49202d3 --- /dev/null +++ b/doc/ref/core.internal/html/frame__ping_8c.html @@ -0,0 +1,219 @@ + + + + + + +GRPC Core: src/core/transport/chttp2/frame_ping.c File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
frame_ping.c File Reference
+
+
+ + + + + + + + +

+Functions

gpr_slice grpc_chttp2_ping_create (gpr_uint8 ack, gpr_uint8 *opaque_8bytes)
 
grpc_chttp2_parse_error grpc_chttp2_ping_parser_begin_frame (grpc_chttp2_ping_parser *parser, gpr_uint32 length, gpr_uint8 flags)
 
grpc_chttp2_parse_error grpc_chttp2_ping_parser_parse (void *parser, grpc_chttp2_transport_parsing *transport_parsing, grpc_chttp2_stream_parsing *stream_parsing, gpr_slice slice, int is_last)
 
+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
gpr_slice grpc_chttp2_ping_create (gpr_uint8 ack,
gpr_uint8opaque_8bytes 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
grpc_chttp2_parse_error grpc_chttp2_ping_parser_begin_frame (grpc_chttp2_ping_parserparser,
gpr_uint32 length,
gpr_uint8 flags 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
grpc_chttp2_parse_error grpc_chttp2_ping_parser_parse (void * parser,
grpc_chttp2_transport_parsingtransport_parsing,
grpc_chttp2_stream_parsingstream_parsing,
gpr_slice slice,
int is_last 
)
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/frame__ping_8h.html b/doc/ref/core.internal/html/frame__ping_8h.html new file mode 100644 index 0000000000..431c0d0cfe --- /dev/null +++ b/doc/ref/core.internal/html/frame__ping_8h.html @@ -0,0 +1,224 @@ + + + + + + +GRPC Core: src/core/transport/chttp2/frame_ping.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
frame_ping.h File Reference
+
+
+ +

Go to the source code of this file.

+ + + + +

+Data Structures

struct  grpc_chttp2_ping_parser
 
+ + + + + + + +

+Functions

gpr_slice grpc_chttp2_ping_create (gpr_uint8 ack, gpr_uint8 *opaque_8bytes)
 
grpc_chttp2_parse_error grpc_chttp2_ping_parser_begin_frame (grpc_chttp2_ping_parser *parser, gpr_uint32 length, gpr_uint8 flags)
 
grpc_chttp2_parse_error grpc_chttp2_ping_parser_parse (void *parser, grpc_chttp2_transport_parsing *transport_parsing, grpc_chttp2_stream_parsing *stream_parsing, gpr_slice slice, int is_last)
 
+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
gpr_slice grpc_chttp2_ping_create (gpr_uint8 ack,
gpr_uint8opaque_8bytes 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
grpc_chttp2_parse_error grpc_chttp2_ping_parser_begin_frame (grpc_chttp2_ping_parserparser,
gpr_uint32 length,
gpr_uint8 flags 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
grpc_chttp2_parse_error grpc_chttp2_ping_parser_parse (void * parser,
grpc_chttp2_transport_parsingtransport_parsing,
grpc_chttp2_stream_parsingstream_parsing,
gpr_slice slice,
int is_last 
)
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/frame__ping_8h_source.html b/doc/ref/core.internal/html/frame__ping_8h_source.html new file mode 100644 index 0000000000..8dfe9eecab --- /dev/null +++ b/doc/ref/core.internal/html/frame__ping_8h_source.html @@ -0,0 +1,167 @@ + + + + + + +GRPC Core: src/core/transport/chttp2/frame_ping.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
frame_ping.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPC_INTERNAL_CORE_TRANSPORT_CHTTP2_FRAME_PING_H
+
35 #define GRPC_INTERNAL_CORE_TRANSPORT_CHTTP2_FRAME_PING_H
+
36 
+
37 #include <grpc/support/slice.h>
+ +
39 
+
40 typedef struct {
+ + +
43  gpr_uint8 opaque_8bytes[8];
+ +
45 
+ +
47 
+ +
49  grpc_chttp2_ping_parser *parser, gpr_uint32 length, gpr_uint8 flags);
+ +
51  void *parser, grpc_chttp2_transport_parsing *transport_parsing,
+
52  grpc_chttp2_stream_parsing *stream_parsing, gpr_slice slice, int is_last);
+
53 
+
54 #endif /* GRPC_INTERNAL_CORE_TRANSPORT_CHTTP2_FRAME_PING_H */
+
uint8_t gpr_uint8
Definition: port_platform.h:307
+
gpr_uint8 is_ack
Definition: frame_ping.h:42
+
grpc_chttp2_parse_error
Definition: frame.h:42
+
uint32_t gpr_uint32
Definition: port_platform.h:309
+ +
grpc_chttp2_parse_error grpc_chttp2_ping_parser_begin_frame(grpc_chttp2_ping_parser *parser, gpr_uint32 length, gpr_uint8 flags)
Definition: frame_ping.c:60
+
Definition: internal.h:215
+
gpr_slice grpc_chttp2_ping_create(gpr_uint8 ack, gpr_uint8 *opaque_8bytes)
Definition: frame_ping.c:42
+
Definition: frame_ping.h:40
+
Definition: internal.h:412
+
gpr_uint8 byte
Definition: frame_ping.h:41
+ +
grpc_chttp2_parse_error grpc_chttp2_ping_parser_parse(void *parser, grpc_chttp2_transport_parsing *transport_parsing, grpc_chttp2_stream_parsing *stream_parsing, gpr_slice slice, int is_last)
Definition: frame_ping.c:71
+
Definition: slice.h:79
+
+ + + + diff --git a/doc/ref/core.internal/html/frame__rst__stream_8c.html b/doc/ref/core.internal/html/frame__rst__stream_8c.html new file mode 100644 index 0000000000..0c3080093d --- /dev/null +++ b/doc/ref/core.internal/html/frame__rst__stream_8c.html @@ -0,0 +1,218 @@ + + + + + + +GRPC Core: src/core/transport/chttp2/frame_rst_stream.c File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
frame_rst_stream.c File Reference
+
+
+ + + + + + + + +

+Functions

gpr_slice grpc_chttp2_rst_stream_create (gpr_uint32 id, gpr_uint32 code)
 
grpc_chttp2_parse_error grpc_chttp2_rst_stream_parser_begin_frame (grpc_chttp2_rst_stream_parser *parser, gpr_uint32 length, gpr_uint8 flags)
 
grpc_chttp2_parse_error grpc_chttp2_rst_stream_parser_parse (void *parser, grpc_chttp2_transport_parsing *transport_parsing, grpc_chttp2_stream_parsing *stream_parsing, gpr_slice slice, int is_last)
 
+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
gpr_slice grpc_chttp2_rst_stream_create (gpr_uint32 id,
gpr_uint32 code 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
grpc_chttp2_parse_error grpc_chttp2_rst_stream_parser_begin_frame (grpc_chttp2_rst_stream_parserparser,
gpr_uint32 length,
gpr_uint8 flags 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
grpc_chttp2_parse_error grpc_chttp2_rst_stream_parser_parse (void * parser,
grpc_chttp2_transport_parsingtransport_parsing,
grpc_chttp2_stream_parsingstream_parsing,
gpr_slice slice,
int is_last 
)
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/frame__rst__stream_8h.html b/doc/ref/core.internal/html/frame__rst__stream_8h.html new file mode 100644 index 0000000000..f14043a58d --- /dev/null +++ b/doc/ref/core.internal/html/frame__rst__stream_8h.html @@ -0,0 +1,224 @@ + + + + + + +GRPC Core: src/core/transport/chttp2/frame_rst_stream.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
frame_rst_stream.h File Reference
+
+
+ +

Go to the source code of this file.

+ + + + +

+Data Structures

struct  grpc_chttp2_rst_stream_parser
 
+ + + + + + + +

+Functions

gpr_slice grpc_chttp2_rst_stream_create (gpr_uint32 stream_id, gpr_uint32 code)
 
grpc_chttp2_parse_error grpc_chttp2_rst_stream_parser_begin_frame (grpc_chttp2_rst_stream_parser *parser, gpr_uint32 length, gpr_uint8 flags)
 
grpc_chttp2_parse_error grpc_chttp2_rst_stream_parser_parse (void *parser, grpc_chttp2_transport_parsing *transport_parsing, grpc_chttp2_stream_parsing *stream_parsing, gpr_slice slice, int is_last)
 
+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
gpr_slice grpc_chttp2_rst_stream_create (gpr_uint32 stream_id,
gpr_uint32 code 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
grpc_chttp2_parse_error grpc_chttp2_rst_stream_parser_begin_frame (grpc_chttp2_rst_stream_parserparser,
gpr_uint32 length,
gpr_uint8 flags 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
grpc_chttp2_parse_error grpc_chttp2_rst_stream_parser_parse (void * parser,
grpc_chttp2_transport_parsingtransport_parsing,
grpc_chttp2_stream_parsingstream_parsing,
gpr_slice slice,
int is_last 
)
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/frame__rst__stream_8h_source.html b/doc/ref/core.internal/html/frame__rst__stream_8h_source.html new file mode 100644 index 0000000000..51c79becf9 --- /dev/null +++ b/doc/ref/core.internal/html/frame__rst__stream_8h_source.html @@ -0,0 +1,165 @@ + + + + + + +GRPC Core: src/core/transport/chttp2/frame_rst_stream.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
frame_rst_stream.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPC_INTERNAL_CORE_TRANSPORT_CHTTP2_FRAME_RST_STREAM_H
+
35 #define GRPC_INTERNAL_CORE_TRANSPORT_CHTTP2_FRAME_RST_STREAM_H
+
36 
+
37 #include <grpc/support/slice.h>
+ +
39 
+
40 typedef struct {
+ +
42  gpr_uint8 reason_bytes[4];
+ +
44 
+ +
46 
+ +
48  grpc_chttp2_rst_stream_parser *parser, gpr_uint32 length, gpr_uint8 flags);
+ +
50  void *parser, grpc_chttp2_transport_parsing *transport_parsing,
+
51  grpc_chttp2_stream_parsing *stream_parsing, gpr_slice slice, int is_last);
+
52 
+
53 #endif /* GRPC_INTERNAL_CORE_TRANSPORT_CHTTP2_FRAME_RST_STREAM_H */
+
gpr_uint8 byte
Definition: frame_rst_stream.h:41
+
uint8_t gpr_uint8
Definition: port_platform.h:307
+
grpc_chttp2_parse_error grpc_chttp2_rst_stream_parser_parse(void *parser, grpc_chttp2_transport_parsing *transport_parsing, grpc_chttp2_stream_parsing *stream_parsing, gpr_slice slice, int is_last)
Definition: frame_rst_stream.c:73
+
Definition: frame_rst_stream.h:40
+
grpc_chttp2_parse_error
Definition: frame.h:42
+
uint32_t gpr_uint32
Definition: port_platform.h:309
+ +
gpr_slice grpc_chttp2_rst_stream_create(gpr_uint32 stream_id, gpr_uint32 code)
Definition: frame_rst_stream.c:41
+
Definition: internal.h:215
+
grpc_chttp2_parse_error grpc_chttp2_rst_stream_parser_begin_frame(grpc_chttp2_rst_stream_parser *parser, gpr_uint32 length, gpr_uint8 flags)
Definition: frame_rst_stream.c:62
+
Definition: internal.h:412
+ +
Definition: slice.h:79
+
+ + + + diff --git a/doc/ref/core.internal/html/frame__settings_8c.html b/doc/ref/core.internal/html/frame__settings_8c.html new file mode 100644 index 0000000000..1ecb19db87 --- /dev/null +++ b/doc/ref/core.internal/html/frame__settings_8c.html @@ -0,0 +1,294 @@ + + + + + + +GRPC Core: src/core/transport/chttp2/frame_settings.c File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
frame_settings.c File Reference
+
+
+ + + + + + + + + + +

+Functions

gpr_slice grpc_chttp2_settings_create (gpr_uint32 *old, const gpr_uint32 *new, gpr_uint32 force_mask, size_t count)
 
gpr_slice grpc_chttp2_settings_ack_create (void)
 
grpc_chttp2_parse_error grpc_chttp2_settings_parser_begin_frame (grpc_chttp2_settings_parser *parser, gpr_uint32 length, gpr_uint8 flags, gpr_uint32 *settings)
 
grpc_chttp2_parse_error grpc_chttp2_settings_parser_parse (void *p, grpc_chttp2_transport_parsing *transport_parsing, grpc_chttp2_stream_parsing *stream_parsing, gpr_slice slice, int is_last)
 
+ + + +

+Variables

const
+grpc_chttp2_setting_parameters 
grpc_chttp2_settings_parameters [GRPC_CHTTP2_NUM_SETTINGS]
 
+

Function Documentation

+ +
+
+ + + + + + + + +
gpr_slice grpc_chttp2_settings_ack_create (void )
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
gpr_slice grpc_chttp2_settings_create (gpr_uint32old,
const gpr_uint32new,
gpr_uint32 force_mask,
size_t count 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
grpc_chttp2_parse_error grpc_chttp2_settings_parser_begin_frame (grpc_chttp2_settings_parserparser,
gpr_uint32 length,
gpr_uint8 flags,
gpr_uint32settings 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
grpc_chttp2_parse_error grpc_chttp2_settings_parser_parse (void * p,
grpc_chttp2_transport_parsingtransport_parsing,
grpc_chttp2_stream_parsingstream_parsing,
gpr_slice slice,
int is_last 
)
+
+ +
+
+

Variable Documentation

+ +
+
+ + + + +
const grpc_chttp2_setting_parameters grpc_chttp2_settings_parameters[GRPC_CHTTP2_NUM_SETTINGS]
+
+Initial value:
= {
+ +
{"HEADER_TABLE_SIZE", 4096, 0, 0xffffffff,
+ +
{"ENABLE_PUSH", 1, 0, 1, GRPC_CHTTP2_DISCONNECT_ON_INVALID_VALUE},
+
{"MAX_CONCURRENT_STREAMS", 0xffffffffu, 0, 0xffffffffu,
+ +
{"INITIAL_WINDOW_SIZE", 65535, 0, 0xffffffffu,
+ +
{"MAX_FRAME_SIZE", 16384, 16384, 16777215,
+ +
{"MAX_HEADER_LIST_SIZE", 0xffffffffu, 0, 0xffffffffu,
+ +
}
+
Definition: frame_settings.h:71
+
Definition: frame_settings.h:72
+
+
+
+
+ + + + diff --git a/doc/ref/core.internal/html/frame__settings_8h.html b/doc/ref/core.internal/html/frame__settings_8h.html new file mode 100644 index 0000000000..09c973ddb8 --- /dev/null +++ b/doc/ref/core.internal/html/frame__settings_8h.html @@ -0,0 +1,387 @@ + + + + + + +GRPC Core: src/core/transport/chttp2/frame_settings.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
frame_settings.h File Reference
+
+
+ +

Go to the source code of this file.

+ + + + + + +

+Data Structures

struct  grpc_chttp2_settings_parser
 
struct  grpc_chttp2_setting_parameters
 
+ + + + + + + +

+Enumerations

enum  grpc_chttp2_settings_parse_state {
+  GRPC_CHTTP2_SPS_ID0, +GRPC_CHTTP2_SPS_ID1, +GRPC_CHTTP2_SPS_VAL0, +GRPC_CHTTP2_SPS_VAL1, +
+  GRPC_CHTTP2_SPS_VAL2, +GRPC_CHTTP2_SPS_VAL3 +
+ }
 
enum  grpc_chttp2_setting_id {
+  GRPC_CHTTP2_SETTINGS_HEADER_TABLE_SIZE = 1, +GRPC_CHTTP2_SETTINGS_ENABLE_PUSH = 2, +GRPC_CHTTP2_SETTINGS_MAX_CONCURRENT_STREAMS = 3, +GRPC_CHTTP2_SETTINGS_INITIAL_WINDOW_SIZE = 4, +
+  GRPC_CHTTP2_SETTINGS_MAX_FRAME_SIZE = 5, +GRPC_CHTTP2_SETTINGS_MAX_HEADER_LIST_SIZE = 6, +GRPC_CHTTP2_NUM_SETTINGS +
+ }
 
enum  grpc_chttp2_invalid_value_behavior { GRPC_CHTTP2_CLAMP_INVALID_VALUE, +GRPC_CHTTP2_DISCONNECT_ON_INVALID_VALUE + }
 
+ + + + + + + + + +

+Functions

gpr_slice grpc_chttp2_settings_create (gpr_uint32 *old, const gpr_uint32 *new, gpr_uint32 force_mask, size_t count)
 
gpr_slice grpc_chttp2_settings_ack_create (void)
 
grpc_chttp2_parse_error grpc_chttp2_settings_parser_begin_frame (grpc_chttp2_settings_parser *parser, gpr_uint32 length, gpr_uint8 flags, gpr_uint32 *settings)
 
grpc_chttp2_parse_error grpc_chttp2_settings_parser_parse (void *parser, grpc_chttp2_transport_parsing *transport_parsing, grpc_chttp2_stream_parsing *stream_parsing, gpr_slice slice, int is_last)
 
+ + + +

+Variables

const
+grpc_chttp2_setting_parameters 
grpc_chttp2_settings_parameters [GRPC_CHTTP2_NUM_SETTINGS]
 
+

Enumeration Type Documentation

+ +
+
+ + + +
Enumerator
GRPC_CHTTP2_CLAMP_INVALID_VALUE  +
GRPC_CHTTP2_DISCONNECT_ON_INVALID_VALUE  +
+ +
+
+ +
+
+ + + + +
enum grpc_chttp2_setting_id
+
+ + + + + + + + +
Enumerator
GRPC_CHTTP2_SETTINGS_HEADER_TABLE_SIZE  +
GRPC_CHTTP2_SETTINGS_ENABLE_PUSH  +
GRPC_CHTTP2_SETTINGS_MAX_CONCURRENT_STREAMS  +
GRPC_CHTTP2_SETTINGS_INITIAL_WINDOW_SIZE  +
GRPC_CHTTP2_SETTINGS_MAX_FRAME_SIZE  +
GRPC_CHTTP2_SETTINGS_MAX_HEADER_LIST_SIZE  +
GRPC_CHTTP2_NUM_SETTINGS  +
+ +
+
+ +
+
+ + + + + + + +
Enumerator
GRPC_CHTTP2_SPS_ID0  +
GRPC_CHTTP2_SPS_ID1  +
GRPC_CHTTP2_SPS_VAL0  +
GRPC_CHTTP2_SPS_VAL1  +
GRPC_CHTTP2_SPS_VAL2  +
GRPC_CHTTP2_SPS_VAL3  +
+ +
+
+

Function Documentation

+ +
+
+ + + + + + + + +
gpr_slice grpc_chttp2_settings_ack_create (void )
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
gpr_slice grpc_chttp2_settings_create (gpr_uint32old,
const gpr_uint32new,
gpr_uint32 force_mask,
size_t count 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
grpc_chttp2_parse_error grpc_chttp2_settings_parser_begin_frame (grpc_chttp2_settings_parserparser,
gpr_uint32 length,
gpr_uint8 flags,
gpr_uint32settings 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
grpc_chttp2_parse_error grpc_chttp2_settings_parser_parse (void * parser,
grpc_chttp2_transport_parsingtransport_parsing,
grpc_chttp2_stream_parsingstream_parsing,
gpr_slice slice,
int is_last 
)
+
+ +
+
+

Variable Documentation

+ +
+
+ + + + +
const grpc_chttp2_setting_parameters grpc_chttp2_settings_parameters[GRPC_CHTTP2_NUM_SETTINGS]
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/frame__settings_8h_source.html b/doc/ref/core.internal/html/frame__settings_8h_source.html new file mode 100644 index 0000000000..2e9c26981d --- /dev/null +++ b/doc/ref/core.internal/html/frame__settings_8h_source.html @@ -0,0 +1,244 @@ + + + + + + +GRPC Core: src/core/transport/chttp2/frame_settings.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
frame_settings.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPC_INTERNAL_CORE_TRANSPORT_CHTTP2_FRAME_SETTINGS_H
+
35 #define GRPC_INTERNAL_CORE_TRANSPORT_CHTTP2_FRAME_SETTINGS_H
+
36 
+ +
38 #include <grpc/support/slice.h>
+ +
40 
+
41 typedef enum {
+ + + + + + + +
49 
+
50 /* The things HTTP/2 defines as connection level settings */
+
51 typedef enum {
+ + + + + + + + +
60 
+
61 typedef struct {
+ + + + + + + +
69 
+
70 typedef enum {
+ + + +
74 
+
75 typedef struct {
+
76  const char *name;
+ + + + + +
82 
+
83 /* HTTP/2 mandated connection setting parameters */
+ + +
86 
+
87 /* Create a settings frame by diffing old & new, and updating old to be new */
+ +
89  gpr_uint32 force_mask, size_t count);
+
90 /* Create an ack settings frame */
+ +
92 
+ +
94  grpc_chttp2_settings_parser *parser, gpr_uint32 length, gpr_uint8 flags,
+
95  gpr_uint32 *settings);
+ +
97  void *parser, grpc_chttp2_transport_parsing *transport_parsing,
+
98  grpc_chttp2_stream_parsing *stream_parsing, gpr_slice slice, int is_last);
+
99 
+
100 #endif /* GRPC_INTERNAL_CORE_TRANSPORT_CHTTP2_FRAME_SETTINGS_H */
+
const grpc_chttp2_setting_parameters grpc_chttp2_settings_parameters[GRPC_CHTTP2_NUM_SETTINGS]
Definition: frame_settings.c:47
+
Definition: frame_settings.h:56
+ +
uint8_t gpr_uint8
Definition: port_platform.h:307
+
Definition: frame_settings.h:43
+
Definition: frame_settings.h:71
+
Definition: frame_settings.h:53
+
grpc_chttp2_invalid_value_behavior invalid_value_behavior
Definition: frame_settings.h:80
+
const char * name
Definition: frame_settings.h:76
+
grpc_chttp2_parse_error grpc_chttp2_settings_parser_begin_frame(grpc_chttp2_settings_parser *parser, gpr_uint32 length, gpr_uint8 flags, gpr_uint32 *settings)
Definition: frame_settings.c:114
+
Definition: frame_settings.h:46
+
gpr_uint32 * target_settings
Definition: frame_settings.h:63
+
grpc_chttp2_parse_error
Definition: frame.h:42
+
uint32_t gpr_uint32
Definition: port_platform.h:309
+
Definition: frame_settings.h:44
+
gpr_slice grpc_chttp2_settings_ack_create(void)
Definition: frame_settings.c:108
+
grpc_chttp2_settings_parse_state
Definition: frame_settings.h:41
+
Definition: frame_settings.h:55
+
gpr_uint8 is_ack
Definition: frame_settings.h:64
+ +
gpr_uint32 default_value
Definition: frame_settings.h:77
+
Definition: frame_settings.h:42
+
Definition: frame_settings.h:52
+
gpr_uint16 id
Definition: frame_settings.h:65
+
Definition: frame_settings.h:54
+
Definition: internal.h:215
+
Definition: frame_settings.h:72
+
uint16_t gpr_uint16
Definition: port_platform.h:308
+
Definition: frame_settings.h:57
+
gpr_uint32 max_value
Definition: frame_settings.h:79
+
gpr_slice grpc_chttp2_settings_create(gpr_uint32 *old, const gpr_uint32 *new, gpr_uint32 force_mask, size_t count)
Definition: frame_settings.c:76
+
Definition: frame_settings.h:58
+
Definition: internal.h:412
+
gpr_uint32 value
Definition: frame_settings.h:66
+
Definition: frame_settings.h:75
+
Definition: frame_settings.h:61
+ +
Definition: frame_settings.h:45
+
gpr_uint32 min_value
Definition: frame_settings.h:78
+
grpc_chttp2_setting_id
Definition: frame_settings.h:51
+
grpc_chttp2_invalid_value_behavior
Definition: frame_settings.h:70
+
grpc_chttp2_parse_error grpc_chttp2_settings_parser_parse(void *parser, grpc_chttp2_transport_parsing *transport_parsing, grpc_chttp2_stream_parsing *stream_parsing, gpr_slice slice, int is_last)
Definition: frame_settings.c:140
+
grpc_chttp2_settings_parse_state state
Definition: frame_settings.h:62
+
Definition: frame_settings.h:47
+
Definition: slice.h:79
+
+ + + + diff --git a/doc/ref/core.internal/html/frame__window__update_8c.html b/doc/ref/core.internal/html/frame__window__update_8c.html new file mode 100644 index 0000000000..61ebdb479b --- /dev/null +++ b/doc/ref/core.internal/html/frame__window__update_8c.html @@ -0,0 +1,217 @@ + + + + + + +GRPC Core: src/core/transport/chttp2/frame_window_update.c File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
frame_window_update.c File Reference
+
+
+ + + + + + + + +

+Functions

gpr_slice grpc_chttp2_window_update_create (gpr_uint32 id, gpr_uint32 window_update)
 
grpc_chttp2_parse_error grpc_chttp2_window_update_parser_begin_frame (grpc_chttp2_window_update_parser *parser, gpr_uint32 length, gpr_uint8 flags)
 
grpc_chttp2_parse_error grpc_chttp2_window_update_parser_parse (void *parser, grpc_chttp2_transport_parsing *transport_parsing, grpc_chttp2_stream_parsing *stream_parsing, gpr_slice slice, int is_last)
 
+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
gpr_slice grpc_chttp2_window_update_create (gpr_uint32 id,
gpr_uint32 window_update 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
grpc_chttp2_parse_error grpc_chttp2_window_update_parser_begin_frame (grpc_chttp2_window_update_parserparser,
gpr_uint32 length,
gpr_uint8 flags 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
grpc_chttp2_parse_error grpc_chttp2_window_update_parser_parse (void * parser,
grpc_chttp2_transport_parsingtransport_parsing,
grpc_chttp2_stream_parsingstream_parsing,
gpr_slice slice,
int is_last 
)
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/frame__window__update_8h.html b/doc/ref/core.internal/html/frame__window__update_8h.html new file mode 100644 index 0000000000..bd0c6f13ef --- /dev/null +++ b/doc/ref/core.internal/html/frame__window__update_8h.html @@ -0,0 +1,224 @@ + + + + + + +GRPC Core: src/core/transport/chttp2/frame_window_update.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
frame_window_update.h File Reference
+
+
+ +

Go to the source code of this file.

+ + + + +

+Data Structures

struct  grpc_chttp2_window_update_parser
 
+ + + + + + + +

+Functions

gpr_slice grpc_chttp2_window_update_create (gpr_uint32 id, gpr_uint32 window_delta)
 
grpc_chttp2_parse_error grpc_chttp2_window_update_parser_begin_frame (grpc_chttp2_window_update_parser *parser, gpr_uint32 length, gpr_uint8 flags)
 
grpc_chttp2_parse_error grpc_chttp2_window_update_parser_parse (void *parser, grpc_chttp2_transport_parsing *transport_parsing, grpc_chttp2_stream_parsing *stream_parsing, gpr_slice slice, int is_last)
 
+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
gpr_slice grpc_chttp2_window_update_create (gpr_uint32 id,
gpr_uint32 window_delta 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
grpc_chttp2_parse_error grpc_chttp2_window_update_parser_begin_frame (grpc_chttp2_window_update_parserparser,
gpr_uint32 length,
gpr_uint8 flags 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
grpc_chttp2_parse_error grpc_chttp2_window_update_parser_parse (void * parser,
grpc_chttp2_transport_parsingtransport_parsing,
grpc_chttp2_stream_parsingstream_parsing,
gpr_slice slice,
int is_last 
)
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/frame__window__update_8h_source.html b/doc/ref/core.internal/html/frame__window__update_8h_source.html new file mode 100644 index 0000000000..27e02793e6 --- /dev/null +++ b/doc/ref/core.internal/html/frame__window__update_8h_source.html @@ -0,0 +1,170 @@ + + + + + + +GRPC Core: src/core/transport/chttp2/frame_window_update.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
frame_window_update.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPC_INTERNAL_CORE_TRANSPORT_CHTTP2_FRAME_WINDOW_UPDATE_H
+
35 #define GRPC_INTERNAL_CORE_TRANSPORT_CHTTP2_FRAME_WINDOW_UPDATE_H
+
36 
+
37 #include <grpc/support/slice.h>
+ +
39 
+
40 typedef struct {
+ + + + +
45 
+ +
47  gpr_uint32 window_delta);
+
48 
+ + +
51  gpr_uint8 flags);
+ +
53  void *parser, grpc_chttp2_transport_parsing *transport_parsing,
+
54  grpc_chttp2_stream_parsing *stream_parsing, gpr_slice slice, int is_last);
+
55 
+
56 #endif /* GRPC_INTERNAL_CORE_TRANSPORT_CHTTP2_FRAME_WINDOW_UPDATE_H */
+
uint8_t gpr_uint8
Definition: port_platform.h:307
+
gpr_uint32 amount
Definition: frame_window_update.h:43
+
grpc_chttp2_parse_error
Definition: frame.h:42
+
uint32_t gpr_uint32
Definition: port_platform.h:309
+
gpr_uint8 byte
Definition: frame_window_update.h:41
+ +
Definition: internal.h:215
+
Definition: internal.h:412
+
Definition: frame_window_update.h:40
+
grpc_chttp2_parse_error grpc_chttp2_window_update_parser_parse(void *parser, grpc_chttp2_transport_parsing *transport_parsing, grpc_chttp2_stream_parsing *stream_parsing, gpr_slice slice, int is_last)
Definition: frame_window_update.c:76
+ +
gpr_slice grpc_chttp2_window_update_create(gpr_uint32 id, gpr_uint32 window_delta)
Definition: frame_window_update.c:39
+
Definition: slice.h:79
+
gpr_uint8 is_connection_update
Definition: frame_window_update.h:42
+
grpc_chttp2_parse_error grpc_chttp2_window_update_parser_begin_frame(grpc_chttp2_window_update_parser *parser, gpr_uint32 length, gpr_uint8 flags)
Definition: frame_window_update.c:63
+
+ + + + diff --git a/doc/ref/core.internal/html/ftv2blank.png b/doc/ref/core.internal/html/ftv2blank.png new file mode 100644 index 0000000000..63c605bb4c Binary files /dev/null and b/doc/ref/core.internal/html/ftv2blank.png differ diff --git a/doc/ref/core.internal/html/ftv2cl.png b/doc/ref/core.internal/html/ftv2cl.png new file mode 100644 index 0000000000..132f6577bf Binary files /dev/null and b/doc/ref/core.internal/html/ftv2cl.png differ diff --git a/doc/ref/core.internal/html/ftv2doc.png b/doc/ref/core.internal/html/ftv2doc.png new file mode 100644 index 0000000000..17edabff95 Binary files /dev/null and b/doc/ref/core.internal/html/ftv2doc.png differ diff --git a/doc/ref/core.internal/html/ftv2folderclosed.png b/doc/ref/core.internal/html/ftv2folderclosed.png new file mode 100644 index 0000000000..bb8ab35edc Binary files /dev/null and b/doc/ref/core.internal/html/ftv2folderclosed.png differ diff --git a/doc/ref/core.internal/html/ftv2folderopen.png b/doc/ref/core.internal/html/ftv2folderopen.png new file mode 100644 index 0000000000..d6c7f676a3 Binary files /dev/null and b/doc/ref/core.internal/html/ftv2folderopen.png differ diff --git a/doc/ref/core.internal/html/ftv2lastnode.png b/doc/ref/core.internal/html/ftv2lastnode.png new file mode 100644 index 0000000000..63c605bb4c Binary files /dev/null and b/doc/ref/core.internal/html/ftv2lastnode.png differ diff --git a/doc/ref/core.internal/html/ftv2link.png b/doc/ref/core.internal/html/ftv2link.png new file mode 100644 index 0000000000..17edabff95 Binary files /dev/null and b/doc/ref/core.internal/html/ftv2link.png differ diff --git a/doc/ref/core.internal/html/ftv2mlastnode.png b/doc/ref/core.internal/html/ftv2mlastnode.png new file mode 100644 index 0000000000..0b63f6d38c Binary files /dev/null and b/doc/ref/core.internal/html/ftv2mlastnode.png differ diff --git a/doc/ref/core.internal/html/ftv2mnode.png b/doc/ref/core.internal/html/ftv2mnode.png new file mode 100644 index 0000000000..0b63f6d38c Binary files /dev/null and b/doc/ref/core.internal/html/ftv2mnode.png differ diff --git a/doc/ref/core.internal/html/ftv2mo.png b/doc/ref/core.internal/html/ftv2mo.png new file mode 100644 index 0000000000..4bfb80f76e Binary files /dev/null and b/doc/ref/core.internal/html/ftv2mo.png differ diff --git a/doc/ref/core.internal/html/ftv2node.png b/doc/ref/core.internal/html/ftv2node.png new file mode 100644 index 0000000000..63c605bb4c Binary files /dev/null and b/doc/ref/core.internal/html/ftv2node.png differ diff --git a/doc/ref/core.internal/html/ftv2ns.png b/doc/ref/core.internal/html/ftv2ns.png new file mode 100644 index 0000000000..72e3d71c28 Binary files /dev/null and b/doc/ref/core.internal/html/ftv2ns.png differ diff --git a/doc/ref/core.internal/html/ftv2plastnode.png b/doc/ref/core.internal/html/ftv2plastnode.png new file mode 100644 index 0000000000..c6ee22f937 Binary files /dev/null and b/doc/ref/core.internal/html/ftv2plastnode.png differ diff --git a/doc/ref/core.internal/html/ftv2pnode.png b/doc/ref/core.internal/html/ftv2pnode.png new file mode 100644 index 0000000000..c6ee22f937 Binary files /dev/null and b/doc/ref/core.internal/html/ftv2pnode.png differ diff --git a/doc/ref/core.internal/html/ftv2splitbar.png b/doc/ref/core.internal/html/ftv2splitbar.png new file mode 100644 index 0000000000..fe895f2c58 Binary files /dev/null and b/doc/ref/core.internal/html/ftv2splitbar.png differ diff --git a/doc/ref/core.internal/html/ftv2vertline.png b/doc/ref/core.internal/html/ftv2vertline.png new file mode 100644 index 0000000000..63c605bb4c Binary files /dev/null and b/doc/ref/core.internal/html/ftv2vertline.png differ diff --git a/doc/ref/core.internal/html/functions.html b/doc/ref/core.internal/html/functions.html new file mode 100644 index 0000000000..6d7ba6cd24 --- /dev/null +++ b/doc/ref/core.internal/html/functions.html @@ -0,0 +1,275 @@ + + + + + + +GRPC Core: Data Fields + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+
Here is a list of all struct and union fields with links to the structures/unions they belong to:
+ +

- a -

+
+ + + + diff --git a/doc/ref/core.internal/html/functions_b.html b/doc/ref/core.internal/html/functions_b.html new file mode 100644 index 0000000000..e197057aa5 --- /dev/null +++ b/doc/ref/core.internal/html/functions_b.html @@ -0,0 +1,250 @@ + + + + + + +GRPC Core: Data Fields + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+
Here is a list of all struct and union fields with links to the structures/unions they belong to:
+ +

- b -

+
+ + + + diff --git a/doc/ref/core.internal/html/functions_c.html b/doc/ref/core.internal/html/functions_c.html new file mode 100644 index 0000000000..076b5fc7aa --- /dev/null +++ b/doc/ref/core.internal/html/functions_c.html @@ -0,0 +1,508 @@ + + + + + + +GRPC Core: Data Fields + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+
Here is a list of all struct and union fields with links to the structures/unions they belong to:
+ +

- c -

+
+ + + + diff --git a/doc/ref/core.internal/html/functions_d.html b/doc/ref/core.internal/html/functions_d.html new file mode 100644 index 0000000000..19fa1525b8 --- /dev/null +++ b/doc/ref/core.internal/html/functions_d.html @@ -0,0 +1,261 @@ + + + + + + +GRPC Core: Data Fields + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+
Here is a list of all struct and union fields with links to the structures/unions they belong to:
+ +

- d -

+
+ + + + diff --git a/doc/ref/core.internal/html/functions_e.html b/doc/ref/core.internal/html/functions_e.html new file mode 100644 index 0000000000..d8a4f95355 --- /dev/null +++ b/doc/ref/core.internal/html/functions_e.html @@ -0,0 +1,200 @@ + + + + + + +GRPC Core: Data Fields + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+
Here is a list of all struct and union fields with links to the structures/unions they belong to:
+ +

- e -

+
+ + + + diff --git a/doc/ref/core.internal/html/functions_f.html b/doc/ref/core.internal/html/functions_f.html new file mode 100644 index 0000000000..81ed7fbf4a --- /dev/null +++ b/doc/ref/core.internal/html/functions_f.html @@ -0,0 +1,222 @@ + + + + + + +GRPC Core: Data Fields + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+
Here is a list of all struct and union fields with links to the structures/unions they belong to:
+ +

- f -

+
+ + + + diff --git a/doc/ref/core.internal/html/functions_g.html b/doc/ref/core.internal/html/functions_g.html new file mode 100644 index 0000000000..c670630d9c --- /dev/null +++ b/doc/ref/core.internal/html/functions_g.html @@ -0,0 +1,192 @@ + + + + + + +GRPC Core: Data Fields + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+
Here is a list of all struct and union fields with links to the structures/unions they belong to:
+ +

- g -

+
+ + + + diff --git a/doc/ref/core.internal/html/functions_h.html b/doc/ref/core.internal/html/functions_h.html new file mode 100644 index 0000000000..dbe6667db7 --- /dev/null +++ b/doc/ref/core.internal/html/functions_h.html @@ -0,0 +1,256 @@ + + + + + + +GRPC Core: Data Fields + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+
Here is a list of all struct and union fields with links to the structures/unions they belong to:
+ +

- h -

+
+ + + + diff --git a/doc/ref/core.internal/html/functions_i.html b/doc/ref/core.internal/html/functions_i.html new file mode 100644 index 0000000000..b03c776e66 --- /dev/null +++ b/doc/ref/core.internal/html/functions_i.html @@ -0,0 +1,343 @@ + + + + + + +GRPC Core: Data Fields + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+
Here is a list of all struct and union fields with links to the structures/unions they belong to:
+ +

- i -

+
+ + + + diff --git a/doc/ref/core.internal/html/functions_j.html b/doc/ref/core.internal/html/functions_j.html new file mode 100644 index 0000000000..60e1f588a4 --- /dev/null +++ b/doc/ref/core.internal/html/functions_j.html @@ -0,0 +1,144 @@ + + + + + + +GRPC Core: Data Fields + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+
Here is a list of all struct and union fields with links to the structures/unions they belong to:
+ +

- j -

+
+ + + + diff --git a/doc/ref/core.internal/html/functions_k.html b/doc/ref/core.internal/html/functions_k.html new file mode 100644 index 0000000000..ae736491ac --- /dev/null +++ b/doc/ref/core.internal/html/functions_k.html @@ -0,0 +1,165 @@ + + + + + + +GRPC Core: Data Fields + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+
Here is a list of all struct and union fields with links to the structures/unions they belong to:
+ +

- k -

+
+ + + + diff --git a/doc/ref/core.internal/html/functions_l.html b/doc/ref/core.internal/html/functions_l.html new file mode 100644 index 0000000000..d43dcab91c --- /dev/null +++ b/doc/ref/core.internal/html/functions_l.html @@ -0,0 +1,198 @@ + + + + + + +GRPC Core: Data Fields + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+
Here is a list of all struct and union fields with links to the structures/unions they belong to:
+ +

- l -

+
+ + + + diff --git a/doc/ref/core.internal/html/functions_m.html b/doc/ref/core.internal/html/functions_m.html new file mode 100644 index 0000000000..dff6c9338c --- /dev/null +++ b/doc/ref/core.internal/html/functions_m.html @@ -0,0 +1,290 @@ + + + + + + +GRPC Core: Data Fields + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+
Here is a list of all struct and union fields with links to the structures/unions they belong to:
+ +

- m -

+
+ + + + diff --git a/doc/ref/core.internal/html/functions_n.html b/doc/ref/core.internal/html/functions_n.html new file mode 100644 index 0000000000..85a50f3763 --- /dev/null +++ b/doc/ref/core.internal/html/functions_n.html @@ -0,0 +1,255 @@ + + + + + + +GRPC Core: Data Fields + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+
Here is a list of all struct and union fields with links to the structures/unions they belong to:
+ +

- n -

+
+ + + + diff --git a/doc/ref/core.internal/html/functions_o.html b/doc/ref/core.internal/html/functions_o.html new file mode 100644 index 0000000000..16926a19fb --- /dev/null +++ b/doc/ref/core.internal/html/functions_o.html @@ -0,0 +1,276 @@ + + + + + + +GRPC Core: Data Fields + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+
Here is a list of all struct and union fields with links to the structures/unions they belong to:
+ +

- o -

+
+ + + + diff --git a/doc/ref/core.internal/html/functions_p.html b/doc/ref/core.internal/html/functions_p.html new file mode 100644 index 0000000000..6e0d41b351 --- /dev/null +++ b/doc/ref/core.internal/html/functions_p.html @@ -0,0 +1,355 @@ + + + + + + +GRPC Core: Data Fields + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+
Here is a list of all struct and union fields with links to the structures/unions they belong to:
+ +

- p -

+
+ + + + diff --git a/doc/ref/core.internal/html/functions_q.html b/doc/ref/core.internal/html/functions_q.html new file mode 100644 index 0000000000..99b57985b6 --- /dev/null +++ b/doc/ref/core.internal/html/functions_q.html @@ -0,0 +1,136 @@ + + + + + + +GRPC Core: Data Fields + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+
Here is a list of all struct and union fields with links to the structures/unions they belong to:
+ +

- q -

+
+ + + + diff --git a/doc/ref/core.internal/html/functions_r.html b/doc/ref/core.internal/html/functions_r.html new file mode 100644 index 0000000000..7f0cda92eb --- /dev/null +++ b/doc/ref/core.internal/html/functions_r.html @@ -0,0 +1,356 @@ + + + + + + +GRPC Core: Data Fields + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+
Here is a list of all struct and union fields with links to the structures/unions they belong to:
+ +

- r -

+
+ + + + diff --git a/doc/ref/core.internal/html/functions_s.html b/doc/ref/core.internal/html/functions_s.html new file mode 100644 index 0000000000..33e83f3d8b --- /dev/null +++ b/doc/ref/core.internal/html/functions_s.html @@ -0,0 +1,533 @@ + + + + + + +GRPC Core: Data Fields + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+
Here is a list of all struct and union fields with links to the structures/unions they belong to:
+ +

- s -

+
+ + + + diff --git a/doc/ref/core.internal/html/functions_t.html b/doc/ref/core.internal/html/functions_t.html new file mode 100644 index 0000000000..26c27e1bd7 --- /dev/null +++ b/doc/ref/core.internal/html/functions_t.html @@ -0,0 +1,236 @@ + + + + + + +GRPC Core: Data Fields + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+
Here is a list of all struct and union fields with links to the structures/unions they belong to:
+ +

- t -

+
+ + + + diff --git a/doc/ref/core.internal/html/functions_u.html b/doc/ref/core.internal/html/functions_u.html new file mode 100644 index 0000000000..28a6f99f25 --- /dev/null +++ b/doc/ref/core.internal/html/functions_u.html @@ -0,0 +1,197 @@ + + + + + + +GRPC Core: Data Fields + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+
Here is a list of all struct and union fields with links to the structures/unions they belong to:
+ +

- u -

+
+ + + + diff --git a/doc/ref/core.internal/html/functions_v.html b/doc/ref/core.internal/html/functions_v.html new file mode 100644 index 0000000000..a2813447f4 --- /dev/null +++ b/doc/ref/core.internal/html/functions_v.html @@ -0,0 +1,178 @@ + + + + + + +GRPC Core: Data Fields + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ + + + + + diff --git a/doc/ref/core.internal/html/functions_vars.html b/doc/ref/core.internal/html/functions_vars.html new file mode 100644 index 0000000000..f624f8c077 --- /dev/null +++ b/doc/ref/core.internal/html/functions_vars.html @@ -0,0 +1,275 @@ + + + + + + +GRPC Core: Data Fields - Variables + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+  + +

- a -

+
+ + + + diff --git a/doc/ref/core.internal/html/functions_vars_b.html b/doc/ref/core.internal/html/functions_vars_b.html new file mode 100644 index 0000000000..6b89a53f5e --- /dev/null +++ b/doc/ref/core.internal/html/functions_vars_b.html @@ -0,0 +1,250 @@ + + + + + + +GRPC Core: Data Fields - Variables + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+  + +

- b -

+
+ + + + diff --git a/doc/ref/core.internal/html/functions_vars_c.html b/doc/ref/core.internal/html/functions_vars_c.html new file mode 100644 index 0000000000..d1d99c9adb --- /dev/null +++ b/doc/ref/core.internal/html/functions_vars_c.html @@ -0,0 +1,508 @@ + + + + + + +GRPC Core: Data Fields - Variables + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+  + +

- c -

+
+ + + + diff --git a/doc/ref/core.internal/html/functions_vars_d.html b/doc/ref/core.internal/html/functions_vars_d.html new file mode 100644 index 0000000000..bc0be2e860 --- /dev/null +++ b/doc/ref/core.internal/html/functions_vars_d.html @@ -0,0 +1,261 @@ + + + + + + +GRPC Core: Data Fields - Variables + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+  + +

- d -

+
+ + + + diff --git a/doc/ref/core.internal/html/functions_vars_e.html b/doc/ref/core.internal/html/functions_vars_e.html new file mode 100644 index 0000000000..41cd70489d --- /dev/null +++ b/doc/ref/core.internal/html/functions_vars_e.html @@ -0,0 +1,200 @@ + + + + + + +GRPC Core: Data Fields - Variables + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+  + +

- e -

+
+ + + + diff --git a/doc/ref/core.internal/html/functions_vars_f.html b/doc/ref/core.internal/html/functions_vars_f.html new file mode 100644 index 0000000000..1f80a18995 --- /dev/null +++ b/doc/ref/core.internal/html/functions_vars_f.html @@ -0,0 +1,222 @@ + + + + + + +GRPC Core: Data Fields - Variables + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+  + +

- f -

+
+ + + + diff --git a/doc/ref/core.internal/html/functions_vars_g.html b/doc/ref/core.internal/html/functions_vars_g.html new file mode 100644 index 0000000000..5c7c126bca --- /dev/null +++ b/doc/ref/core.internal/html/functions_vars_g.html @@ -0,0 +1,192 @@ + + + + + + +GRPC Core: Data Fields - Variables + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+  + +

- g -

+
+ + + + diff --git a/doc/ref/core.internal/html/functions_vars_h.html b/doc/ref/core.internal/html/functions_vars_h.html new file mode 100644 index 0000000000..1294fdc344 --- /dev/null +++ b/doc/ref/core.internal/html/functions_vars_h.html @@ -0,0 +1,256 @@ + + + + + + +GRPC Core: Data Fields - Variables + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+  + +

- h -

+
+ + + + diff --git a/doc/ref/core.internal/html/functions_vars_i.html b/doc/ref/core.internal/html/functions_vars_i.html new file mode 100644 index 0000000000..6130539b26 --- /dev/null +++ b/doc/ref/core.internal/html/functions_vars_i.html @@ -0,0 +1,343 @@ + + + + + + +GRPC Core: Data Fields - Variables + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+  + +

- i -

+
+ + + + diff --git a/doc/ref/core.internal/html/functions_vars_j.html b/doc/ref/core.internal/html/functions_vars_j.html new file mode 100644 index 0000000000..5147910ff4 --- /dev/null +++ b/doc/ref/core.internal/html/functions_vars_j.html @@ -0,0 +1,144 @@ + + + + + + +GRPC Core: Data Fields - Variables + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ + + + + + diff --git a/doc/ref/core.internal/html/functions_vars_k.html b/doc/ref/core.internal/html/functions_vars_k.html new file mode 100644 index 0000000000..b88a3717bb --- /dev/null +++ b/doc/ref/core.internal/html/functions_vars_k.html @@ -0,0 +1,165 @@ + + + + + + +GRPC Core: Data Fields - Variables + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ + + + + + diff --git a/doc/ref/core.internal/html/functions_vars_l.html b/doc/ref/core.internal/html/functions_vars_l.html new file mode 100644 index 0000000000..24f8eaf02a --- /dev/null +++ b/doc/ref/core.internal/html/functions_vars_l.html @@ -0,0 +1,198 @@ + + + + + + +GRPC Core: Data Fields - Variables + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+  + +

- l -

+
+ + + + diff --git a/doc/ref/core.internal/html/functions_vars_m.html b/doc/ref/core.internal/html/functions_vars_m.html new file mode 100644 index 0000000000..0aaaa9baaf --- /dev/null +++ b/doc/ref/core.internal/html/functions_vars_m.html @@ -0,0 +1,290 @@ + + + + + + +GRPC Core: Data Fields - Variables + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+  + +

- m -

+
+ + + + diff --git a/doc/ref/core.internal/html/functions_vars_n.html b/doc/ref/core.internal/html/functions_vars_n.html new file mode 100644 index 0000000000..9237cb8964 --- /dev/null +++ b/doc/ref/core.internal/html/functions_vars_n.html @@ -0,0 +1,255 @@ + + + + + + +GRPC Core: Data Fields - Variables + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+  + +

- n -

+
+ + + + diff --git a/doc/ref/core.internal/html/functions_vars_o.html b/doc/ref/core.internal/html/functions_vars_o.html new file mode 100644 index 0000000000..80a890d8ee --- /dev/null +++ b/doc/ref/core.internal/html/functions_vars_o.html @@ -0,0 +1,276 @@ + + + + + + +GRPC Core: Data Fields - Variables + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+  + +

- o -

+
+ + + + diff --git a/doc/ref/core.internal/html/functions_vars_p.html b/doc/ref/core.internal/html/functions_vars_p.html new file mode 100644 index 0000000000..1fa3484c9f --- /dev/null +++ b/doc/ref/core.internal/html/functions_vars_p.html @@ -0,0 +1,355 @@ + + + + + + +GRPC Core: Data Fields - Variables + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+  + +

- p -

+
+ + + + diff --git a/doc/ref/core.internal/html/functions_vars_q.html b/doc/ref/core.internal/html/functions_vars_q.html new file mode 100644 index 0000000000..87f9788b7b --- /dev/null +++ b/doc/ref/core.internal/html/functions_vars_q.html @@ -0,0 +1,136 @@ + + + + + + +GRPC Core: Data Fields - Variables + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+  + +

- q -

+
+ + + + diff --git a/doc/ref/core.internal/html/functions_vars_r.html b/doc/ref/core.internal/html/functions_vars_r.html new file mode 100644 index 0000000000..ed8865c034 --- /dev/null +++ b/doc/ref/core.internal/html/functions_vars_r.html @@ -0,0 +1,356 @@ + + + + + + +GRPC Core: Data Fields - Variables + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+  + +

- r -

+
+ + + + diff --git a/doc/ref/core.internal/html/functions_vars_s.html b/doc/ref/core.internal/html/functions_vars_s.html new file mode 100644 index 0000000000..e2e25a133c --- /dev/null +++ b/doc/ref/core.internal/html/functions_vars_s.html @@ -0,0 +1,533 @@ + + + + + + +GRPC Core: Data Fields - Variables + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+  + +

- s -

+
+ + + + diff --git a/doc/ref/core.internal/html/functions_vars_t.html b/doc/ref/core.internal/html/functions_vars_t.html new file mode 100644 index 0000000000..342f070a38 --- /dev/null +++ b/doc/ref/core.internal/html/functions_vars_t.html @@ -0,0 +1,236 @@ + + + + + + +GRPC Core: Data Fields - Variables + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+  + +

- t -

+
+ + + + diff --git a/doc/ref/core.internal/html/functions_vars_u.html b/doc/ref/core.internal/html/functions_vars_u.html new file mode 100644 index 0000000000..719f6d871f --- /dev/null +++ b/doc/ref/core.internal/html/functions_vars_u.html @@ -0,0 +1,197 @@ + + + + + + +GRPC Core: Data Fields - Variables + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ + + + + + diff --git a/doc/ref/core.internal/html/functions_vars_v.html b/doc/ref/core.internal/html/functions_vars_v.html new file mode 100644 index 0000000000..00e30119ce --- /dev/null +++ b/doc/ref/core.internal/html/functions_vars_v.html @@ -0,0 +1,178 @@ + + + + + + +GRPC Core: Data Fields - Variables + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ + + + + + diff --git a/doc/ref/core.internal/html/functions_vars_w.html b/doc/ref/core.internal/html/functions_vars_w.html new file mode 100644 index 0000000000..0b7e85eaf6 --- /dev/null +++ b/doc/ref/core.internal/html/functions_vars_w.html @@ -0,0 +1,212 @@ + + + + + + +GRPC Core: Data Fields - Variables + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+  + +

- w -

+
+ + + + diff --git a/doc/ref/core.internal/html/functions_w.html b/doc/ref/core.internal/html/functions_w.html new file mode 100644 index 0000000000..276aad8ae6 --- /dev/null +++ b/doc/ref/core.internal/html/functions_w.html @@ -0,0 +1,212 @@ + + + + + + +GRPC Core: Data Fields + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+
Here is a list of all struct and union fields with links to the structures/unions they belong to:
+ +

- w -

+
+ + + + diff --git a/doc/ref/core.internal/html/globals.html b/doc/ref/core.internal/html/globals.html new file mode 100644 index 0000000000..08a0865d41 --- /dev/null +++ b/doc/ref/core.internal/html/globals.html @@ -0,0 +1,142 @@ + + + + + + +GRPC Core: Globals + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+
Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:
+ +

- _ -

+
+ + + + diff --git a/doc/ref/core.internal/html/globals_a.html b/doc/ref/core.internal/html/globals_a.html new file mode 100644 index 0000000000..d57c3ab07f --- /dev/null +++ b/doc/ref/core.internal/html/globals_a.html @@ -0,0 +1,154 @@ + + + + + + +GRPC Core: Globals + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+
Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:
+ +

- a -

+
+ + + + diff --git a/doc/ref/core.internal/html/globals_b.html b/doc/ref/core.internal/html/globals_b.html new file mode 100644 index 0000000000..be3efddaa8 --- /dev/null +++ b/doc/ref/core.internal/html/globals_b.html @@ -0,0 +1,154 @@ + + + + + + +GRPC Core: Globals + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+
Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:
+ +

- b -

+
+ + + + diff --git a/doc/ref/core.internal/html/globals_c.html b/doc/ref/core.internal/html/globals_c.html new file mode 100644 index 0000000000..6e6f5fb903 --- /dev/null +++ b/doc/ref/core.internal/html/globals_c.html @@ -0,0 +1,314 @@ + + + + + + +GRPC Core: Globals + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+
Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:
+ +

- c -

+
+ + + + diff --git a/doc/ref/core.internal/html/globals_d.html b/doc/ref/core.internal/html/globals_d.html new file mode 100644 index 0000000000..58f1e72a6f --- /dev/null +++ b/doc/ref/core.internal/html/globals_d.html @@ -0,0 +1,151 @@ + + + + + + +GRPC Core: Globals + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+
Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:
+ +

- d -

+
+ + + + diff --git a/doc/ref/core.internal/html/globals_defs.html b/doc/ref/core.internal/html/globals_defs.html new file mode 100644 index 0000000000..6fced70135 --- /dev/null +++ b/doc/ref/core.internal/html/globals_defs.html @@ -0,0 +1,136 @@ + + + + + + +GRPC Core: Globals + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+  + +

- _ -

+
+ + + + diff --git a/doc/ref/core.internal/html/globals_defs_a.html b/doc/ref/core.internal/html/globals_defs_a.html new file mode 100644 index 0000000000..80b0aefa7e --- /dev/null +++ b/doc/ref/core.internal/html/globals_defs_a.html @@ -0,0 +1,130 @@ + + + + + + +GRPC Core: Globals + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+  + +

- a -

    +
  • ADD_DEADLINE_SCALE +: alarm.c +
  • +
+
+ + + + diff --git a/doc/ref/core.internal/html/globals_defs_c.html b/doc/ref/core.internal/html/globals_defs_c.html new file mode 100644 index 0000000000..c6d2a7e4f5 --- /dev/null +++ b/doc/ref/core.internal/html/globals_defs_c.html @@ -0,0 +1,190 @@ + + + + + + +GRPC Core: Globals + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+  + +

- c -

+
+ + + + diff --git a/doc/ref/core.internal/html/globals_defs_d.html b/doc/ref/core.internal/html/globals_defs_d.html new file mode 100644 index 0000000000..3517a7f082 --- /dev/null +++ b/doc/ref/core.internal/html/globals_defs_d.html @@ -0,0 +1,142 @@ + + + + + + +GRPC Core: Globals + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+  + +

- d -

+
+ + + + diff --git a/doc/ref/core.internal/html/globals_defs_e.html b/doc/ref/core.internal/html/globals_defs_e.html new file mode 100644 index 0000000000..aea2420c22 --- /dev/null +++ b/doc/ref/core.internal/html/globals_defs_e.html @@ -0,0 +1,130 @@ + + + + + + +GRPC Core: Globals + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+  + +

- e -

+
+ + + + diff --git a/doc/ref/core.internal/html/globals_defs_f.html b/doc/ref/core.internal/html/globals_defs_f.html new file mode 100644 index 0000000000..4747f3d40e --- /dev/null +++ b/doc/ref/core.internal/html/globals_defs_f.html @@ -0,0 +1,133 @@ + + + + + + +GRPC Core: Globals + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+  + +

- f -

+
+ + + + diff --git a/doc/ref/core.internal/html/globals_defs_g.html b/doc/ref/core.internal/html/globals_defs_g.html new file mode 100644 index 0000000000..2f78b28546 --- /dev/null +++ b/doc/ref/core.internal/html/globals_defs_g.html @@ -0,0 +1,752 @@ + + + + + + +GRPC Core: Globals + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+  + +

- g -

+
+ + + + diff --git a/doc/ref/core.internal/html/globals_defs_h.html b/doc/ref/core.internal/html/globals_defs_h.html new file mode 100644 index 0000000000..6cc5ce5b2b --- /dev/null +++ b/doc/ref/core.internal/html/globals_defs_h.html @@ -0,0 +1,139 @@ + + + + + + +GRPC Core: Globals + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+  + +

- h -

+
+ + + + diff --git a/doc/ref/core.internal/html/globals_defs_i.html b/doc/ref/core.internal/html/globals_defs_i.html new file mode 100644 index 0000000000..55c751ba24 --- /dev/null +++ b/doc/ref/core.internal/html/globals_defs_i.html @@ -0,0 +1,145 @@ + + + + + + +GRPC Core: Globals + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+  + +

- i -

+
+ + + + diff --git a/doc/ref/core.internal/html/globals_defs_l.html b/doc/ref/core.internal/html/globals_defs_l.html new file mode 100644 index 0000000000..085cb02e18 --- /dev/null +++ b/doc/ref/core.internal/html/globals_defs_l.html @@ -0,0 +1,130 @@ + + + + + + +GRPC Core: Globals + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+  + +

- l -

+
+ + + + diff --git a/doc/ref/core.internal/html/globals_defs_m.html b/doc/ref/core.internal/html/globals_defs_m.html new file mode 100644 index 0000000000..c190469efb --- /dev/null +++ b/doc/ref/core.internal/html/globals_defs_m.html @@ -0,0 +1,164 @@ + + + + + + +GRPC Core: Globals + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+  + +

- m -

+
+ + + + diff --git a/doc/ref/core.internal/html/globals_defs_n.html b/doc/ref/core.internal/html/globals_defs_n.html new file mode 100644 index 0000000000..757b098c47 --- /dev/null +++ b/doc/ref/core.internal/html/globals_defs_n.html @@ -0,0 +1,133 @@ + + + + + + +GRPC Core: Globals + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+  + +

- n -

+
+ + + + diff --git a/doc/ref/core.internal/html/globals_defs_o.html b/doc/ref/core.internal/html/globals_defs_o.html new file mode 100644 index 0000000000..4c06d74e7c --- /dev/null +++ b/doc/ref/core.internal/html/globals_defs_o.html @@ -0,0 +1,133 @@ + + + + + + +GRPC Core: Globals + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+  + +

- o -

+
+ + + + diff --git a/doc/ref/core.internal/html/globals_defs_r.html b/doc/ref/core.internal/html/globals_defs_r.html new file mode 100644 index 0000000000..f62ab46972 --- /dev/null +++ b/doc/ref/core.internal/html/globals_defs_r.html @@ -0,0 +1,151 @@ + + + + + + +GRPC Core: Globals + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+  + +

- r -

+
+ + + + diff --git a/doc/ref/core.internal/html/globals_defs_s.html b/doc/ref/core.internal/html/globals_defs_s.html new file mode 100644 index 0000000000..2420aa991b --- /dev/null +++ b/doc/ref/core.internal/html/globals_defs_s.html @@ -0,0 +1,164 @@ + + + + + + +GRPC Core: Globals + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+  + +

- s -

+
+ + + + diff --git a/doc/ref/core.internal/html/globals_defs_t.html b/doc/ref/core.internal/html/globals_defs_t.html new file mode 100644 index 0000000000..098385dd18 --- /dev/null +++ b/doc/ref/core.internal/html/globals_defs_t.html @@ -0,0 +1,199 @@ + + + + + + +GRPC Core: Globals + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+  + +

- t -

+
+ + + + diff --git a/doc/ref/core.internal/html/globals_defs_u.html b/doc/ref/core.internal/html/globals_defs_u.html new file mode 100644 index 0000000000..835ef2b4fe --- /dev/null +++ b/doc/ref/core.internal/html/globals_defs_u.html @@ -0,0 +1,136 @@ + + + + + + +GRPC Core: Globals + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+  + +

- u -

+
+ + + + diff --git a/doc/ref/core.internal/html/globals_e.html b/doc/ref/core.internal/html/globals_e.html new file mode 100644 index 0000000000..06d33fd904 --- /dev/null +++ b/doc/ref/core.internal/html/globals_e.html @@ -0,0 +1,142 @@ + + + + + + +GRPC Core: Globals + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+
Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:
+ +

- e -

+
+ + + + diff --git a/doc/ref/core.internal/html/globals_enum.html b/doc/ref/core.internal/html/globals_enum.html new file mode 100644 index 0000000000..a190eb17b8 --- /dev/null +++ b/doc/ref/core.internal/html/globals_enum.html @@ -0,0 +1,319 @@ + + + + + + +GRPC Core: Globals + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+  + +

- a -

+ + +

- b -

+ + +

- c -

+ + +

- f -

+ + +

- g -

+ + +

- i -

+ + +

- r -

+ + +

- s -

+ + +

- t -

+ + +

- w -

+
+ + + + diff --git a/doc/ref/core.internal/html/globals_eval.html b/doc/ref/core.internal/html/globals_eval.html new file mode 100644 index 0000000000..01c832803f --- /dev/null +++ b/doc/ref/core.internal/html/globals_eval.html @@ -0,0 +1,139 @@ + + + + + + +GRPC Core: Globals + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+  + +

- a -

+
+ + + + diff --git a/doc/ref/core.internal/html/globals_eval_b.html b/doc/ref/core.internal/html/globals_eval_b.html new file mode 100644 index 0000000000..8b6d6ae7bf --- /dev/null +++ b/doc/ref/core.internal/html/globals_eval_b.html @@ -0,0 +1,145 @@ + + + + + + +GRPC Core: Globals + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+  + +

- b -

+
+ + + + diff --git a/doc/ref/core.internal/html/globals_eval_c.html b/doc/ref/core.internal/html/globals_eval_c.html new file mode 100644 index 0000000000..1982599bb1 --- /dev/null +++ b/doc/ref/core.internal/html/globals_eval_c.html @@ -0,0 +1,172 @@ + + + + + + +GRPC Core: Globals + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+  + +

- c -

+
+ + + + diff --git a/doc/ref/core.internal/html/globals_eval_d.html b/doc/ref/core.internal/html/globals_eval_d.html new file mode 100644 index 0000000000..8fceba527a --- /dev/null +++ b/doc/ref/core.internal/html/globals_eval_d.html @@ -0,0 +1,130 @@ + + + + + + +GRPC Core: Globals + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+  + +

- d -

+
+ + + + diff --git a/doc/ref/core.internal/html/globals_eval_e.html b/doc/ref/core.internal/html/globals_eval_e.html new file mode 100644 index 0000000000..4b63de2738 --- /dev/null +++ b/doc/ref/core.internal/html/globals_eval_e.html @@ -0,0 +1,133 @@ + + + + + + +GRPC Core: Globals + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+  + +

- e -

+
+ + + + diff --git a/doc/ref/core.internal/html/globals_eval_g.html b/doc/ref/core.internal/html/globals_eval_g.html new file mode 100644 index 0000000000..2f30afb177 --- /dev/null +++ b/doc/ref/core.internal/html/globals_eval_g.html @@ -0,0 +1,955 @@ + + + + + + +GRPC Core: Globals + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+  + +

- g -

+
+ + + + diff --git a/doc/ref/core.internal/html/globals_eval_h.html b/doc/ref/core.internal/html/globals_eval_h.html new file mode 100644 index 0000000000..f74b406346 --- /dev/null +++ b/doc/ref/core.internal/html/globals_eval_h.html @@ -0,0 +1,130 @@ + + + + + + +GRPC Core: Globals + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+  + +

- h -

+
+ + + + diff --git a/doc/ref/core.internal/html/globals_eval_i.html b/doc/ref/core.internal/html/globals_eval_i.html new file mode 100644 index 0000000000..902a26a2e3 --- /dev/null +++ b/doc/ref/core.internal/html/globals_eval_i.html @@ -0,0 +1,136 @@ + + + + + + +GRPC Core: Globals + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+  + +

- i -

+
+ + + + diff --git a/doc/ref/core.internal/html/globals_eval_l.html b/doc/ref/core.internal/html/globals_eval_l.html new file mode 100644 index 0000000000..ea032f804f --- /dev/null +++ b/doc/ref/core.internal/html/globals_eval_l.html @@ -0,0 +1,154 @@ + + + + + + +GRPC Core: Globals + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+  + +

- l -

+
+ + + + diff --git a/doc/ref/core.internal/html/globals_eval_m.html b/doc/ref/core.internal/html/globals_eval_m.html new file mode 100644 index 0000000000..106bb7beac --- /dev/null +++ b/doc/ref/core.internal/html/globals_eval_m.html @@ -0,0 +1,133 @@ + + + + + + +GRPC Core: Globals + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+  + +

- m -

+
+ + + + diff --git a/doc/ref/core.internal/html/globals_eval_n.html b/doc/ref/core.internal/html/globals_eval_n.html new file mode 100644 index 0000000000..f6d92a8757 --- /dev/null +++ b/doc/ref/core.internal/html/globals_eval_n.html @@ -0,0 +1,136 @@ + + + + + + +GRPC Core: Globals + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+  + +

- n -

+
+ + + + diff --git a/doc/ref/core.internal/html/globals_eval_p.html b/doc/ref/core.internal/html/globals_eval_p.html new file mode 100644 index 0000000000..e1a900c1dd --- /dev/null +++ b/doc/ref/core.internal/html/globals_eval_p.html @@ -0,0 +1,133 @@ + + + + + + +GRPC Core: Globals + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+  + +

- p -

+
+ + + + diff --git a/doc/ref/core.internal/html/globals_eval_r.html b/doc/ref/core.internal/html/globals_eval_r.html new file mode 100644 index 0000000000..93b3a84bcd --- /dev/null +++ b/doc/ref/core.internal/html/globals_eval_r.html @@ -0,0 +1,151 @@ + + + + + + +GRPC Core: Globals + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+  + +

- r -

    +
  • READ_STATE_GOT_INITIAL_METADATA +: call.c +
  • +
  • READ_STATE_INITIAL +: call.c +
  • +
  • READ_STATE_READ_CLOSED +: call.c +
  • +
  • READ_STATE_STREAM_CLOSED +: call.c +
  • +
  • REGISTERED_CALL +: server.c +
  • +
  • REQ_DONE +: call.c +
  • +
  • REQ_INITIAL +: call.c +
  • +
  • REQ_READY +: call.c +
  • +
+
+ + + + diff --git a/doc/ref/core.internal/html/globals_eval_s.html b/doc/ref/core.internal/html/globals_eval_s.html new file mode 100644 index 0000000000..e51528f174 --- /dev/null +++ b/doc/ref/core.internal/html/globals_eval_s.html @@ -0,0 +1,166 @@ + + + + + + +GRPC Core: Globals + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+  + +

- s -

    +
  • SEND_BUFFERED_INITIAL_METADATA +: call.c +
  • +
  • SEND_BUFFERED_MESSAGE +: call.c +
  • +
  • SEND_FINISH +: call.c +
  • +
  • SEND_INITIAL_METADATA +: call.c +
  • +
  • SEND_MESSAGE +: call.c +
  • +
  • SEND_NOTHING +: call.c +
  • +
  • SEND_TRAILING_METADATA_AND_FINISH +: call.c +
  • +
  • STATUS_FROM_API_OVERRIDE +: call.c +
  • +
  • STATUS_FROM_CORE +: call.c +
  • +
  • STATUS_FROM_SERVER_STATUS +: call.c +
  • +
  • STATUS_FROM_WIRE +: call.c +
  • +
  • STATUS_SOURCE_COUNT +: call.c +
  • +
  • STREAM_LIST_COUNT +: internal.h +
  • +
+
+ + + + diff --git a/doc/ref/core.internal/html/globals_eval_t.html b/doc/ref/core.internal/html/globals_eval_t.html new file mode 100644 index 0000000000..dfbad64431 --- /dev/null +++ b/doc/ref/core.internal/html/globals_eval_t.html @@ -0,0 +1,181 @@ + + + + + + +GRPC Core: Globals + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+  + +

- t -

+
+ + + + diff --git a/doc/ref/core.internal/html/globals_eval_w.html b/doc/ref/core.internal/html/globals_eval_w.html new file mode 100644 index 0000000000..9060349bb9 --- /dev/null +++ b/doc/ref/core.internal/html/globals_eval_w.html @@ -0,0 +1,139 @@ + + + + + + +GRPC Core: Globals + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+  + +

- w -

+
+ + + + diff --git a/doc/ref/core.internal/html/globals_eval_z.html b/doc/ref/core.internal/html/globals_eval_z.html new file mode 100644 index 0000000000..5afbda4302 --- /dev/null +++ b/doc/ref/core.internal/html/globals_eval_z.html @@ -0,0 +1,130 @@ + + + + + + +GRPC Core: Globals + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+  + +

- z -

+
+ + + + diff --git a/doc/ref/core.internal/html/globals_f.html b/doc/ref/core.internal/html/globals_f.html new file mode 100644 index 0000000000..e6b8c557af --- /dev/null +++ b/doc/ref/core.internal/html/globals_f.html @@ -0,0 +1,145 @@ + + + + + + +GRPC Core: Globals + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+
Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:
+ +

- f -

+
+ + + + diff --git a/doc/ref/core.internal/html/globals_func.html b/doc/ref/core.internal/html/globals_func.html new file mode 100644 index 0000000000..d9d8068035 --- /dev/null +++ b/doc/ref/core.internal/html/globals_func.html @@ -0,0 +1,154 @@ + + + + + + +GRPC Core: Globals + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+  + +

- c -

+
+ + + + diff --git a/doc/ref/core.internal/html/globals_func_g.html b/doc/ref/core.internal/html/globals_func_g.html new file mode 100644 index 0000000000..0bfa4b6574 --- /dev/null +++ b/doc/ref/core.internal/html/globals_func_g.html @@ -0,0 +1,3085 @@ + + + + + + +GRPC Core: Globals + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+  + +

- g -

+
+ + + + diff --git a/doc/ref/core.internal/html/globals_func_o.html b/doc/ref/core.internal/html/globals_func_o.html new file mode 100644 index 0000000000..f539d3e778 --- /dev/null +++ b/doc/ref/core.internal/html/globals_func_o.html @@ -0,0 +1,122 @@ + + + + + + +GRPC Core: Globals + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+  + +

- o -

+
+ + + + diff --git a/doc/ref/core.internal/html/globals_func_p.html b/doc/ref/core.internal/html/globals_func_p.html new file mode 100644 index 0000000000..864f0922e0 --- /dev/null +++ b/doc/ref/core.internal/html/globals_func_p.html @@ -0,0 +1,128 @@ + + + + + + +GRPC Core: Globals + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+  + +

- p -

+
+ + + + diff --git a/doc/ref/core.internal/html/globals_func_t.html b/doc/ref/core.internal/html/globals_func_t.html new file mode 100644 index 0000000000..d4fc19c985 --- /dev/null +++ b/doc/ref/core.internal/html/globals_func_t.html @@ -0,0 +1,228 @@ + + + + + + +GRPC Core: Globals + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+  + +

- t -

+
+ + + + diff --git a/doc/ref/core.internal/html/globals_func_v.html b/doc/ref/core.internal/html/globals_func_v.html new file mode 100644 index 0000000000..d8983c1289 --- /dev/null +++ b/doc/ref/core.internal/html/globals_func_v.html @@ -0,0 +1,119 @@ + + + + + + +GRPC Core: Globals + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+  + +

- v -

+
+ + + + diff --git a/doc/ref/core.internal/html/globals_g.html b/doc/ref/core.internal/html/globals_g.html new file mode 100644 index 0000000000..908fe00b4f --- /dev/null +++ b/doc/ref/core.internal/html/globals_g.html @@ -0,0 +1,5171 @@ + + + + + + +GRPC Core: Globals + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+
Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:
+ +

- g -

+
+ + + + diff --git a/doc/ref/core.internal/html/globals_h.html b/doc/ref/core.internal/html/globals_h.html new file mode 100644 index 0000000000..2e58cee297 --- /dev/null +++ b/doc/ref/core.internal/html/globals_h.html @@ -0,0 +1,148 @@ + + + + + + +GRPC Core: Globals + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+
Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:
+ +

- h -

+
+ + + + diff --git a/doc/ref/core.internal/html/globals_i.html b/doc/ref/core.internal/html/globals_i.html new file mode 100644 index 0000000000..78dee60515 --- /dev/null +++ b/doc/ref/core.internal/html/globals_i.html @@ -0,0 +1,169 @@ + + + + + + +GRPC Core: Globals + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+
Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:
+ +

- i -

+
+ + + + diff --git a/doc/ref/core.internal/html/globals_k.html b/doc/ref/core.internal/html/globals_k.html new file mode 100644 index 0000000000..fc5111ff4b --- /dev/null +++ b/doc/ref/core.internal/html/globals_k.html @@ -0,0 +1,136 @@ + + + + + + +GRPC Core: Globals + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+
Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:
+ +

- k -

+
+ + + + diff --git a/doc/ref/core.internal/html/globals_l.html b/doc/ref/core.internal/html/globals_l.html new file mode 100644 index 0000000000..b8bd8e6790 --- /dev/null +++ b/doc/ref/core.internal/html/globals_l.html @@ -0,0 +1,169 @@ + + + + + + +GRPC Core: Globals + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+
Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:
+ +

- l -

+
+ + + + diff --git a/doc/ref/core.internal/html/globals_m.html b/doc/ref/core.internal/html/globals_m.html new file mode 100644 index 0000000000..59d3743897 --- /dev/null +++ b/doc/ref/core.internal/html/globals_m.html @@ -0,0 +1,176 @@ + + + + + + +GRPC Core: Globals + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+
Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:
+ +

- m -

+
+ + + + diff --git a/doc/ref/core.internal/html/globals_n.html b/doc/ref/core.internal/html/globals_n.html new file mode 100644 index 0000000000..31e1a506fd --- /dev/null +++ b/doc/ref/core.internal/html/globals_n.html @@ -0,0 +1,154 @@ + + + + + + +GRPC Core: Globals + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+
Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:
+ +

- n -

+
+ + + + diff --git a/doc/ref/core.internal/html/globals_o.html b/doc/ref/core.internal/html/globals_o.html new file mode 100644 index 0000000000..4ba94223f7 --- /dev/null +++ b/doc/ref/core.internal/html/globals_o.html @@ -0,0 +1,145 @@ + + + + + + +GRPC Core: Globals + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+
Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:
+ +

- o -

+
+ + + + diff --git a/doc/ref/core.internal/html/globals_p.html b/doc/ref/core.internal/html/globals_p.html new file mode 100644 index 0000000000..15508272f2 --- /dev/null +++ b/doc/ref/core.internal/html/globals_p.html @@ -0,0 +1,154 @@ + + + + + + +GRPC Core: Globals + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+
Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:
+ +

- p -

+
+ + + + diff --git a/doc/ref/core.internal/html/globals_r.html b/doc/ref/core.internal/html/globals_r.html new file mode 100644 index 0000000000..30214a2503 --- /dev/null +++ b/doc/ref/core.internal/html/globals_r.html @@ -0,0 +1,202 @@ + + + + + + +GRPC Core: Globals + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+
Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:
+ +

- r -

+
+ + + + diff --git a/doc/ref/core.internal/html/globals_s.html b/doc/ref/core.internal/html/globals_s.html new file mode 100644 index 0000000000..2e68b75b36 --- /dev/null +++ b/doc/ref/core.internal/html/globals_s.html @@ -0,0 +1,218 @@ + + + + + + +GRPC Core: Globals + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+
Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:
+ +

- s -

+
+ + + + diff --git a/doc/ref/core.internal/html/globals_t.html b/doc/ref/core.internal/html/globals_t.html new file mode 100644 index 0000000000..c9b3e8698b --- /dev/null +++ b/doc/ref/core.internal/html/globals_t.html @@ -0,0 +1,400 @@ + + + + + + +GRPC Core: Globals + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+
Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:
+ +

- t -

+
+ + + + diff --git a/doc/ref/core.internal/html/globals_type.html b/doc/ref/core.internal/html/globals_type.html new file mode 100644 index 0000000000..1beccccfdd --- /dev/null +++ b/doc/ref/core.internal/html/globals_type.html @@ -0,0 +1,657 @@ + + + + + + +GRPC Core: Globals + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+  + +

- a -

+ + +

- c -

+ + +

- g -

+ + +

- i -

+ + +

- l -

+ + +

- n -

    +
  • new_slice_refcount +: slice.c +
  • +
  • new_with_len_slice_refcount +: slice.c +
  • +
+ + +

- p -

+ + +

- r -

+ + +

- s -

+ + +

- t -

+ + +

- w -

+
+ + + + diff --git a/doc/ref/core.internal/html/globals_u.html b/doc/ref/core.internal/html/globals_u.html new file mode 100644 index 0000000000..3b34de8859 --- /dev/null +++ b/doc/ref/core.internal/html/globals_u.html @@ -0,0 +1,142 @@ + + + + + + +GRPC Core: Globals + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+
Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:
+ +

- u -

+
+ + + + diff --git a/doc/ref/core.internal/html/globals_v.html b/doc/ref/core.internal/html/globals_v.html new file mode 100644 index 0000000000..8206b2c194 --- /dev/null +++ b/doc/ref/core.internal/html/globals_v.html @@ -0,0 +1,139 @@ + + + + + + +GRPC Core: Globals + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+
Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:
+ +

- v -

+
+ + + + diff --git a/doc/ref/core.internal/html/globals_vars.html b/doc/ref/core.internal/html/globals_vars.html new file mode 100644 index 0000000000..1e20e21f25 --- /dev/null +++ b/doc/ref/core.internal/html/globals_vars.html @@ -0,0 +1,240 @@ + + + + + + +GRPC Core: Globals + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+  + +

- g -

+ + +

- k -

+ + +

- t -

+ + +

- v -

+
+ + + + diff --git a/doc/ref/core.internal/html/globals_w.html b/doc/ref/core.internal/html/globals_w.html new file mode 100644 index 0000000000..5af7bbac75 --- /dev/null +++ b/doc/ref/core.internal/html/globals_w.html @@ -0,0 +1,151 @@ + + + + + + +GRPC Core: Globals + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+
Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:
+ +

- w -

+
+ + + + diff --git a/doc/ref/core.internal/html/globals_z.html b/doc/ref/core.internal/html/globals_z.html new file mode 100644 index 0000000000..dccbd2ae81 --- /dev/null +++ b/doc/ref/core.internal/html/globals_z.html @@ -0,0 +1,136 @@ + + + + + + +GRPC Core: Globals + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+
Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:
+ +

- z -

+
+ + + + diff --git a/doc/ref/core.internal/html/google__default__credentials_8c.html b/doc/ref/core.internal/html/google__default__credentials_8c.html new file mode 100644 index 0000000000..869d499a33 --- /dev/null +++ b/doc/ref/core.internal/html/google__default__credentials_8c.html @@ -0,0 +1,175 @@ + + + + + + +GRPC Core: src/core/security/google_default_credentials.c File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
google_default_credentials.c File Reference
+
+
+ + + + +

+Data Structures

struct  compute_engine_detector
 
+ + + +

+Macros

#define GRPC_COMPUTE_ENGINE_DETECTION_HOST   "metadata.google.internal"
 
+ + + + + +

+Functions

grpc_credentialsgrpc_google_default_credentials_create (void)
 
void grpc_flush_cached_google_default_credentials (void)
 
+

Macro Definition Documentation

+ +
+
+ + + + +
#define GRPC_COMPUTE_ENGINE_DETECTION_HOST   "metadata.google.internal"
+
+ +
+
+

Function Documentation

+ +
+
+ + + + + + + + +
void grpc_flush_cached_google_default_credentials (void )
+
+ +
+
+ +
+
+ + + + + + + + +
grpc_credentials* grpc_google_default_credentials_create (void )
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/graph_legend.html b/doc/ref/core.internal/html/graph_legend.html new file mode 100644 index 0000000000..703099e7c8 --- /dev/null +++ b/doc/ref/core.internal/html/graph_legend.html @@ -0,0 +1,153 @@ + + + + + + +GRPC Core: Graph Legend + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + +
+ + + + +
+ +
+ +
+
+
Graph Legend
+
+
+

This page explains how to interpret the graphs that are generated by doxygen.

+

Consider the following example:

+
/*! Invisible class because of truncation */
+
class Invisible { };
+
+
/*! Truncated class, inheritance relation is hidden */
+
class Truncated : public Invisible { };
+
+
/* Class not documented with doxygen comments */
+
class Undocumented { };
+
+
/*! Class that is inherited using public inheritance */
+
class PublicBase : public Truncated { };
+
+
/*! A template class */
+
template<class T> class Templ { };
+
+
/*! Class that is inherited using protected inheritance */
+
class ProtectedBase { };
+
+
/*! Class that is inherited using private inheritance */
+
class PrivateBase { };
+
+
/*! Class that is used by the Inherited class */
+
class Used { };
+
+
/*! Super class that inherits a number of other classes */
+
class Inherited : public PublicBase,
+
protected ProtectedBase,
+
private PrivateBase,
+
public Undocumented,
+
public Templ<int>
+
{
+
private:
+
Used *m_usedClass;
+
};
+

This will result in the following graph:

+
+ +
+

The boxes in the above graph have the following meaning:

+
    +
  • +A filled gray box represents the struct or class for which the graph is generated.
  • +
  • +A box with a black border denotes a documented struct or class.
  • +
  • +A box with a grey border denotes an undocumented struct or class.
  • +
  • +A box with a red border denotes a documented struct or class forwhich not all inheritance/containment relations are shown. A graph is truncated if it does not fit within the specified boundaries.
  • +
+

The arrows have the following meaning:

+
    +
  • +A dark blue arrow is used to visualize a public inheritance relation between two classes.
  • +
  • +A dark green arrow is used for protected inheritance.
  • +
  • +A dark red arrow is used for private inheritance.
  • +
  • +A purple dashed arrow is used if a class is contained or used by another class. The arrow is labeled with the variable(s) through which the pointed class or struct is accessible.
  • +
  • +A yellow dashed arrow denotes a relation between a template instance and the template class it was instantiated from. The arrow is labeled with the template parameters of the instance.
  • +
+
+ + + + diff --git a/doc/ref/core.internal/html/graph_legend.md5 b/doc/ref/core.internal/html/graph_legend.md5 new file mode 100644 index 0000000000..a06ed050cb --- /dev/null +++ b/doc/ref/core.internal/html/graph_legend.md5 @@ -0,0 +1 @@ +387ff8eb65306fa251338d3c9bd7bfff \ No newline at end of file diff --git a/doc/ref/core.internal/html/graph_legend.png b/doc/ref/core.internal/html/graph_legend.png new file mode 100644 index 0000000000..6c1d0c239c Binary files /dev/null and b/doc/ref/core.internal/html/graph_legend.png differ diff --git a/doc/ref/core.internal/html/grpc_8h.html b/doc/ref/core.internal/html/grpc_8h.html new file mode 100644 index 0000000000..c87ce76139 --- /dev/null +++ b/doc/ref/core.internal/html/grpc_8h.html @@ -0,0 +1,1877 @@ + + + + + + +GRPC Core: include/grpc/grpc.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc.h File Reference
+
+
+
#include <grpc/status.h>
+#include <stddef.h>
+#include <grpc/byte_buffer.h>
+#include <grpc/support/slice.h>
+#include <grpc/support/time.h>
+
+

Go to the source code of this file.

+ + + + + + + + + + + + + + + + + + + + + +

+Data Structures

struct  grpc_arg
 A single argument... More...
 
struct  grpc_channel_args
 An array of arguments that can be passed around. More...
 
struct  grpc_metadata
 A single metadata element. More...
 
struct  grpc_event
 The result of an operation. More...
 
struct  grpc_metadata_array
 
struct  grpc_call_details
 
struct  grpc_op
 Operation data: one field for each op type (except SEND_CLOSE_FROM_CLIENT which has no arguments) More...
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Macros

#define GRPC_ARG_ENABLE_CENSUS   "grpc.census"
 Enable census for tracing and stats collection. More...
 
#define GRPC_ARG_MAX_CONCURRENT_STREAMS   "grpc.max_concurrent_streams"
 Maximum number of concurrent incoming streams to allow on a http2 connection. More...
 
#define GRPC_ARG_MAX_MESSAGE_LENGTH   "grpc.max_message_length"
 Maximum message length that the channel can receive. More...
 
#define GRPC_ARG_HTTP2_INITIAL_SEQUENCE_NUMBER   "grpc.http2.initial_sequence_number"
 Initial sequence number for http2 transports. More...
 
#define GRPC_ARG_DEFAULT_AUTHORITY   "grpc.default_authority"
 Default authority to pass if none specified on call construction. More...
 
#define GRPC_ARG_PRIMARY_USER_AGENT_STRING   "grpc.primary_user_agent"
 Primary user agent: goes at the start of the user-agent metadata sent on each request. More...
 
#define GRPC_ARG_SECONDARY_USER_AGENT_STRING   "grpc.secondary_user_agent"
 Secondary user agent: goes at the end of the user-agent metadata sent on each request. More...
 
#define GRPC_WRITE_BUFFER_HINT   (0x00000001u)
 Hint that the write may be buffered and need not go out on the wire immediately. More...
 
#define GRPC_WRITE_NO_COMPRESS   (0x00000002u)
 Force compression to be disabled for a particular write (start_write/add_metadata). More...
 
#define GRPC_WRITE_USED_MASK   (GRPC_WRITE_BUFFER_HINT | GRPC_WRITE_NO_COMPRESS)
 Mask of all valid flags. More...
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Typedefs

typedef struct
+grpc_completion_queue 
grpc_completion_queue
 Completion Queues enable notification of the completion of asynchronous actions. More...
 
typedef struct grpc_channel grpc_channel
 The Channel interface allows creation of Call objects. More...
 
typedef struct grpc_server grpc_server
 A server listens to some port and responds to request calls. More...
 
typedef struct grpc_call grpc_call
 A Call represents an RPC. More...
 
typedef enum grpc_call_error grpc_call_error
 Result of a grpc call. More...
 
typedef struct grpc_metadata grpc_metadata
 A single metadata element. More...
 
typedef enum grpc_completion_type grpc_completion_type
 The type of completion (for grpc_event) More...
 
typedef struct grpc_event grpc_event
 The result of an operation. More...
 
typedef struct grpc_op grpc_op
 Operation data: one field for each op type (except SEND_CLOSE_FROM_CLIENT which has no arguments) More...
 
+ + + + + + + + + + + + + + + +

+Enumerations

enum  grpc_arg_type { GRPC_ARG_STRING, +GRPC_ARG_INTEGER, +GRPC_ARG_POINTER + }
 Type specifier for grpc_arg. More...
 
enum  grpc_connectivity_state {
+  GRPC_CHANNEL_IDLE, +GRPC_CHANNEL_CONNECTING, +GRPC_CHANNEL_READY, +GRPC_CHANNEL_TRANSIENT_FAILURE, +
+  GRPC_CHANNEL_FATAL_FAILURE +
+ }
 Connectivity state of a channel. More...
 
enum  grpc_call_error {
+  GRPC_CALL_OK = 0, +GRPC_CALL_ERROR, +GRPC_CALL_ERROR_NOT_ON_SERVER, +GRPC_CALL_ERROR_NOT_ON_CLIENT, +
+  GRPC_CALL_ERROR_ALREADY_ACCEPTED, +GRPC_CALL_ERROR_ALREADY_INVOKED, +GRPC_CALL_ERROR_NOT_INVOKED, +GRPC_CALL_ERROR_ALREADY_FINISHED, +
+  GRPC_CALL_ERROR_TOO_MANY_OPERATIONS, +GRPC_CALL_ERROR_INVALID_FLAGS, +GRPC_CALL_ERROR_INVALID_METADATA, +GRPC_CALL_ERROR_NOT_SERVER_COMPLETION_QUEUE +
+ }
 Result of a grpc call. More...
 
enum  grpc_completion_type { GRPC_QUEUE_SHUTDOWN, +GRPC_QUEUE_TIMEOUT, +GRPC_OP_COMPLETE + }
 The type of completion (for grpc_event) More...
 
enum  grpc_op_type {
+  GRPC_OP_SEND_INITIAL_METADATA = 0, +GRPC_OP_SEND_MESSAGE, +GRPC_OP_SEND_CLOSE_FROM_CLIENT, +GRPC_OP_SEND_STATUS_FROM_SERVER, +
+  GRPC_OP_RECV_INITIAL_METADATA, +GRPC_OP_RECV_MESSAGE, +GRPC_OP_RECV_STATUS_ON_CLIENT, +GRPC_OP_RECV_CLOSE_ON_SERVER +
+ }
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

void grpc_metadata_array_init (grpc_metadata_array *array)
 
void grpc_metadata_array_destroy (grpc_metadata_array *array)
 
void grpc_call_details_init (grpc_call_details *details)
 
void grpc_call_details_destroy (grpc_call_details *details)
 
void grpc_init (void)
 Initialize the grpc library. More...
 
void grpc_shutdown (void)
 Shut down the grpc library. More...
 
const char * grpc_version_string (void)
 Return a string representing the current version of grpc. More...
 
grpc_completion_queuegrpc_completion_queue_create (void)
 Create a completion queue. More...
 
grpc_event grpc_completion_queue_next (grpc_completion_queue *cq, gpr_timespec deadline)
 Blocks until an event is available, the completion queue is being shut down, or deadline is reached. More...
 
grpc_event grpc_completion_queue_pluck (grpc_completion_queue *cq, void *tag, gpr_timespec deadline)
 Blocks until an event with tag 'tag' is available, the completion queue is being shutdown or deadline is reached. More...
 
void grpc_completion_queue_shutdown (grpc_completion_queue *cq)
 Begin destruction of a completion queue. More...
 
void grpc_completion_queue_destroy (grpc_completion_queue *cq)
 Destroy a completion queue. More...
 
grpc_connectivity_state grpc_channel_check_connectivity_state (grpc_channel *channel, int try_to_connect)
 Check the connectivity state of a channel. More...
 
void grpc_channel_watch_connectivity_state (grpc_channel *channel, grpc_connectivity_state last_observed_state, gpr_timespec deadline, grpc_completion_queue *cq, void *tag)
 Watch for a change in connectivity state. More...
 
grpc_callgrpc_channel_create_call (grpc_channel *channel, grpc_completion_queue *completion_queue, const char *method, const char *host, gpr_timespec deadline)
 Create a call given a grpc_channel, in order to call 'method'. More...
 
void * grpc_channel_register_call (grpc_channel *channel, const char *method, const char *host)
 Pre-register a method/host pair on a channel. More...
 
grpc_callgrpc_channel_create_registered_call (grpc_channel *channel, grpc_completion_queue *completion_queue, void *registered_call_handle, gpr_timespec deadline)
 Create a call given a handle returned from grpc_channel_register_call. More...
 
grpc_call_error grpc_call_start_batch (grpc_call *call, const grpc_op *ops, size_t nops, void *tag)
 Start a batch of operations defined in the array ops; when complete, post a completion of type 'tag' to the completion queue bound to the call. More...
 
char * grpc_call_get_peer (grpc_call *call)
 Returns a newly allocated string representing the endpoint to which this call is communicating with. More...
 
void grpc_census_call_set_context (grpc_call *call, struct census_context *context)
 
struct census_contextgrpc_census_call_get_context (grpc_call *call)
 
char * grpc_channel_get_target (grpc_channel *channel)
 Return a newly allocated string representing the target a channel was created for. More...
 
grpc_channelgrpc_insecure_channel_create (const char *target, const grpc_channel_args *args)
 Create a client channel to 'target'. More...
 
grpc_channelgrpc_lame_client_channel_create (const char *target)
 Create a lame client: this client fails every operation attempted on it. More...
 
void grpc_channel_destroy (grpc_channel *channel)
 Close and destroy a grpc channel. More...
 
grpc_call_error grpc_call_cancel (grpc_call *call)
 Called by clients to cancel an RPC on the server. More...
 
grpc_call_error grpc_call_cancel_with_status (grpc_call *call, grpc_status_code status, const char *description)
 Called by clients to cancel an RPC on the server. More...
 
void grpc_call_destroy (grpc_call *call)
 Destroy a call. More...
 
grpc_call_error grpc_server_request_call (grpc_server *server, grpc_call **call, grpc_call_details *details, grpc_metadata_array *request_metadata, grpc_completion_queue *cq_bound_to_call, grpc_completion_queue *cq_for_notification, void *tag_new)
 Request notification of a new call. More...
 
void * grpc_server_register_method (grpc_server *server, const char *method, const char *host)
 Registers a method in the server. More...
 
grpc_call_error grpc_server_request_registered_call (grpc_server *server, void *registered_method, grpc_call **call, gpr_timespec *deadline, grpc_metadata_array *request_metadata, grpc_byte_buffer **optional_payload, grpc_completion_queue *cq_bound_to_call, grpc_completion_queue *cq_for_notification, void *tag_new)
 Request notification of a new pre-registered call. More...
 
grpc_servergrpc_server_create (const grpc_channel_args *args)
 Create a server. More...
 
void grpc_server_register_completion_queue (grpc_server *server, grpc_completion_queue *cq)
 Register a completion queue with the server. More...
 
int grpc_server_add_http2_port (grpc_server *server, const char *addr)
 Add a HTTP2 over plaintext over tcp listener. More...
 
void grpc_server_start (grpc_server *server)
 Start a server - tells all listeners to start listening. More...
 
void grpc_server_shutdown_and_notify (grpc_server *server, grpc_completion_queue *cq, void *tag)
 Begin shutting down a server. More...
 
void grpc_server_cancel_all_calls (grpc_server *server)
 Cancel all in-progress calls. More...
 
void grpc_server_destroy (grpc_server *server)
 Destroy a server. More...
 
int grpc_tracer_set_enabled (const char *name, int enabled)
 Enable or disable a tracer. More...
 
+

Macro Definition Documentation

+ +
+
+ + + + +
#define GRPC_ARG_DEFAULT_AUTHORITY   "grpc.default_authority"
+
+ +

Default authority to pass if none specified on call construction.

+ +
+
+ +
+
+ + + + +
#define GRPC_ARG_ENABLE_CENSUS   "grpc.census"
+
+ +

Enable census for tracing and stats collection.

+ +
+
+ +
+
+ + + + +
#define GRPC_ARG_HTTP2_INITIAL_SEQUENCE_NUMBER   "grpc.http2.initial_sequence_number"
+
+ +

Initial sequence number for http2 transports.

+ +
+
+ +
+
+ + + + +
#define GRPC_ARG_MAX_CONCURRENT_STREAMS   "grpc.max_concurrent_streams"
+
+ +

Maximum number of concurrent incoming streams to allow on a http2 connection.

+ +
+
+ +
+
+ + + + +
#define GRPC_ARG_MAX_MESSAGE_LENGTH   "grpc.max_message_length"
+
+ +

Maximum message length that the channel can receive.

+ +
+
+ +
+
+ + + + +
#define GRPC_ARG_PRIMARY_USER_AGENT_STRING   "grpc.primary_user_agent"
+
+ +

Primary user agent: goes at the start of the user-agent metadata sent on each request.

+ +
+
+ +
+
+ + + + +
#define GRPC_ARG_SECONDARY_USER_AGENT_STRING   "grpc.secondary_user_agent"
+
+ +

Secondary user agent: goes at the end of the user-agent metadata sent on each request.

+ +
+
+ +
+
+ + + + +
#define GRPC_WRITE_BUFFER_HINT   (0x00000001u)
+
+ +

Hint that the write may be buffered and need not go out on the wire immediately.

+

GRPC is free to buffer the message until the next non-buffered write, or until writes_done, but it need not buffer completely or at all.

+ +
+
+ +
+
+ + + + +
#define GRPC_WRITE_NO_COMPRESS   (0x00000002u)
+
+ +

Force compression to be disabled for a particular write (start_write/add_metadata).

+

Illegal on invoke/accept.

+ +
+
+ +
+
+ + + + +
#define GRPC_WRITE_USED_MASK   (GRPC_WRITE_BUFFER_HINT | GRPC_WRITE_NO_COMPRESS)
+
+ +

Mask of all valid flags.

+ +
+
+

Typedef Documentation

+ +
+
+ + + + +
typedef struct grpc_call grpc_call
+
+ +

A Call represents an RPC.

+

When created, it is in a configuration state allowing properties to be set until it is invoked. After invoke, the Call can have messages written to it and read from it.

+ +
+
+ +
+
+ + + + +
typedef enum grpc_call_error grpc_call_error
+
+ +

Result of a grpc call.

+

If the caller satisfies the prerequisites of a particular operation, the grpc_call_error returned will be GRPC_CALL_OK. Receiving any other value listed here is an indication of a bug in the caller.

+ +
+
+ +
+
+ + + + +
typedef struct grpc_channel grpc_channel
+
+ +

The Channel interface allows creation of Call objects.

+ +
+
+ +
+
+ + + + +
typedef struct grpc_completion_queue grpc_completion_queue
+
+ +

Completion Queues enable notification of the completion of asynchronous actions.

+ +
+
+ +
+
+ + + + +
typedef enum grpc_completion_type grpc_completion_type
+
+ +

The type of completion (for grpc_event)

+ +
+
+ +
+
+ + + + +
typedef struct grpc_event grpc_event
+
+ +

The result of an operation.

+

Returned by a completion queue when the operation started with tag.

+ +
+
+ +
+
+ + + + +
typedef struct grpc_metadata grpc_metadata
+
+ +

A single metadata element.

+ +
+
+ +
+
+ + + + +
typedef struct grpc_op grpc_op
+
+ +

Operation data: one field for each op type (except SEND_CLOSE_FROM_CLIENT which has no arguments)

+ +
+
+ +
+
+ + + + +
typedef struct grpc_server grpc_server
+
+ +

A server listens to some port and responds to request calls.

+ +
+
+

Enumeration Type Documentation

+ +
+
+ + + + +
enum grpc_arg_type
+
+ +

Type specifier for grpc_arg.

+ + + + +
Enumerator
GRPC_ARG_STRING  +
GRPC_ARG_INTEGER  +
GRPC_ARG_POINTER  +
+ +
+
+ +
+
+ + + + +
enum grpc_call_error
+
+ +

Result of a grpc call.

+

If the caller satisfies the prerequisites of a particular operation, the grpc_call_error returned will be GRPC_CALL_OK. Receiving any other value listed here is an indication of a bug in the caller.

+ + + + + + + + + + + + + +
Enumerator
GRPC_CALL_OK  +

everything went ok

+
GRPC_CALL_ERROR  +

something failed, we don't know what

+
GRPC_CALL_ERROR_NOT_ON_SERVER  +

this method is not available on the server

+
GRPC_CALL_ERROR_NOT_ON_CLIENT  +

this method is not available on the client

+
GRPC_CALL_ERROR_ALREADY_ACCEPTED  +

this method must be called before server_accept

+
GRPC_CALL_ERROR_ALREADY_INVOKED  +

this method must be called before invoke

+
GRPC_CALL_ERROR_NOT_INVOKED  +

this method must be called after invoke

+
GRPC_CALL_ERROR_ALREADY_FINISHED  +

this call is already finished (writes_done or write_status has already been called)

+
GRPC_CALL_ERROR_TOO_MANY_OPERATIONS  +

there is already an outstanding read/write operation on the call

+
GRPC_CALL_ERROR_INVALID_FLAGS  +

the flags value was illegal for this call

+
GRPC_CALL_ERROR_INVALID_METADATA  +

invalid metadata was passed to this call

+
GRPC_CALL_ERROR_NOT_SERVER_COMPLETION_QUEUE  +

completion queue for notification has not been registered with the server

+
+ +
+
+ +
+
+ + + + +
enum grpc_completion_type
+
+ +

The type of completion (for grpc_event)

+ + + + +
Enumerator
GRPC_QUEUE_SHUTDOWN  +

Shutting down.

+
GRPC_QUEUE_TIMEOUT  +

No event before timeout.

+
GRPC_OP_COMPLETE  +

Operation completion.

+
+ +
+
+ +
+
+ + + + +
enum grpc_connectivity_state
+
+ +

Connectivity state of a channel.

+ + + + + + +
Enumerator
GRPC_CHANNEL_IDLE  +

channel is idle

+
GRPC_CHANNEL_CONNECTING  +

channel is connecting

+
GRPC_CHANNEL_READY  +

channel is ready for work

+
GRPC_CHANNEL_TRANSIENT_FAILURE  +

channel has seen a failure but expects to recover

+
GRPC_CHANNEL_FATAL_FAILURE  +

channel has seen a failure that it cannot recover from

+
+ +
+
+ +
+
+ + + + +
enum grpc_op_type
+
+ + + + + + + + + +
Enumerator
GRPC_OP_SEND_INITIAL_METADATA  +

Send initial metadata: one and only one instance MUST be sent for each call, unless the call was cancelled - in which case this can be skipped.

+
GRPC_OP_SEND_MESSAGE  +

Send a message: 0 or more of these operations can occur for each call.

+
GRPC_OP_SEND_CLOSE_FROM_CLIENT  +

Send a close from the client: one and only one instance MUST be sent from the client, unless the call was cancelled - in which case this can be skipped.

+
GRPC_OP_SEND_STATUS_FROM_SERVER  +

Send status from the server: one and only one instance MUST be sent from the server unless the call was cancelled - in which case this can be skipped.

+
GRPC_OP_RECV_INITIAL_METADATA  +

Receive initial metadata: one and only one MUST be made on the client, must not be made on the server.

+
GRPC_OP_RECV_MESSAGE  +

Receive a message: 0 or more of these operations can occur for each call.

+
GRPC_OP_RECV_STATUS_ON_CLIENT  +

Receive status on the client: one and only one must be made on the client.

+

This operation always succeeds, meaning ops paired with this operation will also appear to succeed, even though they may not have. In that case the status will indicate some failure.

+
GRPC_OP_RECV_CLOSE_ON_SERVER  +

Receive close on the server: one and only one must be made on the server.

+
+ +
+
+

Function Documentation

+ +
+
+ + + + + + + + +
grpc_call_error grpc_call_cancel (grpc_callcall)
+
+ +

Called by clients to cancel an RPC on the server.

+

Can be called multiple times, from any thread. THREAD-SAFETY grpc_call_cancel and grpc_call_cancel_with_status are thread-safe, and can be called at any point before grpc_call_destroy is called.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
grpc_call_error grpc_call_cancel_with_status (grpc_callcall,
grpc_status_code status,
const char * description 
)
+
+ +

Called by clients to cancel an RPC on the server.

+

Can be called multiple times, from any thread. If a status has not been received for the call, set it to the status code and description passed in. Importantly, this function does not send status nor description to the remote endpoint.

+ +
+
+ +
+
+ + + + + + + + +
void grpc_call_destroy (grpc_callcall)
+
+ +

Destroy a call.

+

THREAD SAFETY: grpc_call_destroy is thread-compatible

+ +
+
+ +
+
+ + + + + + + + +
void grpc_call_details_destroy (grpc_call_detailsdetails)
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_call_details_init (grpc_call_detailsdetails)
+
+ +
+
+ +
+
+ + + + + + + + +
char* grpc_call_get_peer (grpc_callcall)
+
+ +

Returns a newly allocated string representing the endpoint to which this call is communicating with.

+

The string is in the uri format accepted by grpc_channel_create. The returned string should be disposed of with gpr_free().

+

WARNING: this value is never authenticated or subject to any security related code. It must not be used for any authentication related functionality. Instead, use grpc_auth_context.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
grpc_call_error grpc_call_start_batch (grpc_callcall,
const grpc_opops,
size_t nops,
void * tag 
)
+
+ +

Start a batch of operations defined in the array ops; when complete, post a completion of type 'tag' to the completion queue bound to the call.

+

The order of ops specified in the batch has no significance. Only one operation of each type can be active at once in any given batch. You must call grpc_completion_queue_next or grpc_completion_queue_pluck on the completion queue associated with 'call' for work to be performed. THREAD SAFETY: access to grpc_call_start_batch in multi-threaded environment needs to be synchronized. As an optimization, you may synchronize batches containing just send operations independently from batches containing just receive operations.

+ +
+
+ +
+
+ + + + + + + + +
struct census_context* grpc_census_call_get_context (grpc_callcall)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void grpc_census_call_set_context (grpc_callcall,
struct census_contextcontext 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
grpc_connectivity_state grpc_channel_check_connectivity_state (grpc_channelchannel,
int try_to_connect 
)
+
+ +

Check the connectivity state of a channel.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
grpc_call* grpc_channel_create_call (grpc_channelchannel,
grpc_completion_queuecompletion_queue,
const char * method,
const char * host,
gpr_timespec deadline 
)
+
+ +

Create a call given a grpc_channel, in order to call 'method'.

+

All completions are sent to 'completion_queue'. 'method' and 'host' need only live through the invocation of this function.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
grpc_call* grpc_channel_create_registered_call (grpc_channelchannel,
grpc_completion_queuecompletion_queue,
void * registered_call_handle,
gpr_timespec deadline 
)
+
+ +

Create a call given a handle returned from grpc_channel_register_call.

+ +
+
+ +
+
+ + + + + + + + +
void grpc_channel_destroy (grpc_channelchannel)
+
+ +

Close and destroy a grpc channel.

+ +
+
+ +
+
+ + + + + + + + +
char* grpc_channel_get_target (grpc_channelchannel)
+
+ +

Return a newly allocated string representing the target a channel was created for.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void* grpc_channel_register_call (grpc_channelchannel,
const char * method,
const char * host 
)
+
+ +

Pre-register a method/host pair on a channel.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void grpc_channel_watch_connectivity_state (grpc_channelchannel,
grpc_connectivity_state last_observed_state,
gpr_timespec deadline,
grpc_completion_queuecq,
void * tag 
)
+
+ +

Watch for a change in connectivity state.

+

Once the channel connectivity state is different from last_observed_state, tag will be enqueued on cq with success=1. If deadline expires BEFORE the state is changed, tag will be enqueued on cq with success=0.

+ +
+
+ +
+
+ + + + + + + + +
grpc_completion_queue* grpc_completion_queue_create (void )
+
+ +

Create a completion queue.

+ +
+
+ +
+
+ + + + + + + + +
void grpc_completion_queue_destroy (grpc_completion_queuecq)
+
+ +

Destroy a completion queue.

+

The caller must ensure that the queue is drained and no threads are executing grpc_completion_queue_next

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
grpc_event grpc_completion_queue_next (grpc_completion_queuecq,
gpr_timespec deadline 
)
+
+ +

Blocks until an event is available, the completion queue is being shut down, or deadline is reached.

+

Returns a grpc_event with type GRPC_QUEUE_TIMEOUT on timeout, otherwise a grpc_event describing the event that occurred.

+

Callers must not call grpc_completion_queue_next and grpc_completion_queue_pluck simultaneously on the same completion queue.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
grpc_event grpc_completion_queue_pluck (grpc_completion_queuecq,
void * tag,
gpr_timespec deadline 
)
+
+ +

Blocks until an event with tag 'tag' is available, the completion queue is being shutdown or deadline is reached.

+

Returns a grpc_event with type GRPC_QUEUE_TIMEOUT on timeout, otherwise a grpc_event describing the event that occurred.

+

Callers must not call grpc_completion_queue_next and grpc_completion_queue_pluck simultaneously on the same completion queue.

+ +
+
+ +
+
+ + + + + + + + +
void grpc_completion_queue_shutdown (grpc_completion_queuecq)
+
+ +

Begin destruction of a completion queue.

+

Once all possible events are drained then grpc_completion_queue_next will start to produce GRPC_QUEUE_SHUTDOWN events only. At that point it's safe to call grpc_completion_queue_destroy.

+

After calling this function applications should ensure that no NEW work is added to be published on this completion queue.

+ +
+
+ +
+
+ + + + + + + + +
void grpc_init (void )
+
+ +

Initialize the grpc library.

+

It is not safe to call any other grpc functions before calling this. (To avoid overhead, little checking is done, and some things may work. We do not warrant that they will continue to do so in future revisions of this library).

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
grpc_channel* grpc_insecure_channel_create (const char * target,
const grpc_channel_argsargs 
)
+
+ +

Create a client channel to 'target'.

+

Additional channel level configuration MAY be provided by grpc_channel_args, though the expectation is that most clients will want to simply pass NULL. See grpc_channel_args definition for more on this. The data in 'args' need only live through the invocation of this function.

+ +
+
+ +
+
+ + + + + + + + +
grpc_channel* grpc_lame_client_channel_create (const char * target)
+
+ +

Create a lame client: this client fails every operation attempted on it.

+ +
+
+ +
+
+ + + + + + + + +
void grpc_metadata_array_destroy (grpc_metadata_arrayarray)
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_metadata_array_init (grpc_metadata_arrayarray)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
int grpc_server_add_http2_port (grpc_serverserver,
const char * addr 
)
+
+ +

Add a HTTP2 over plaintext over tcp listener.

+

Returns bound port number on success, 0 on failure. REQUIRES: server not started

+ +
+
+ +
+
+ + + + + + + + +
void grpc_server_cancel_all_calls (grpc_serverserver)
+
+ +

Cancel all in-progress calls.

+

Only usable after shutdown.

+ +
+
+ +
+
+ + + + + + + + +
grpc_server* grpc_server_create (const grpc_channel_argsargs)
+
+ +

Create a server.

+

Additional configuration for each incoming channel can be specified with args. If no additional configuration is needed, args can be NULL. See grpc_channel_args for more. The data in 'args' need only live through the invocation of this function.

+ +
+
+ +
+
+ + + + + + + + +
void grpc_server_destroy (grpc_serverserver)
+
+ +

Destroy a server.

+

Shutdown must have completed beforehand (i.e. all tags generated by grpc_server_shutdown_and_notify must have been received, and at least one call to grpc_server_shutdown_and_notify must have been made).

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void grpc_server_register_completion_queue (grpc_serverserver,
grpc_completion_queuecq 
)
+
+ +

Register a completion queue with the server.

+

Must be done for any notification completion queue that is passed to grpc_server_request_*_call and to grpc_server_shutdown_and_notify. Must be performed prior to grpc_server_start.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void* grpc_server_register_method (grpc_serverserver,
const char * method,
const char * host 
)
+
+ +

Registers a method in the server.

+

Methods to this (host, method) pair will not be reported by grpc_server_request_call, but instead be reported by grpc_server_request_registered_call when passed the appropriate registered_method (as returned by this function). Must be called before grpc_server_start. Returns NULL on failure.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
grpc_call_error grpc_server_request_call (grpc_serverserver,
grpc_call ** call,
grpc_call_detailsdetails,
grpc_metadata_arrayrequest_metadata,
grpc_completion_queuecq_bound_to_call,
grpc_completion_queuecq_for_notification,
void * tag_new 
)
+
+ +

Request notification of a new call.

+

'cq_for_notification' must have been registered to the server via grpc_server_register_completion_queue.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
grpc_call_error grpc_server_request_registered_call (grpc_serverserver,
void * registered_method,
grpc_call ** call,
gpr_timespecdeadline,
grpc_metadata_arrayrequest_metadata,
grpc_byte_buffer ** optional_payload,
grpc_completion_queuecq_bound_to_call,
grpc_completion_queuecq_for_notification,
void * tag_new 
)
+
+ +

Request notification of a new pre-registered call.

+

'cq_for_notification' must have been registered to the server via grpc_server_register_completion_queue.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void grpc_server_shutdown_and_notify (grpc_serverserver,
grpc_completion_queuecq,
void * tag 
)
+
+ +

Begin shutting down a server.

+

After completion, no new calls or connections will be admitted. Existing calls will be allowed to complete. Send a GRPC_OP_COMPLETE event when there are no more calls being serviced. Shutdown is idempotent, and all tags will be notified at once if multiple grpc_server_shutdown_and_notify calls are made. 'cq' must have been registered to this server via grpc_server_register_completion_queue.

+ +
+
+ +
+
+ + + + + + + + +
void grpc_server_start (grpc_serverserver)
+
+ +

Start a server - tells all listeners to start listening.

+ +
+
+ +
+
+ + + + + + + + +
void grpc_shutdown (void )
+
+ +

Shut down the grpc library.

+

No memory is used by grpc after this call returns, nor are any instructions executing within the grpc library. Prior to calling, all application owned grpc objects must have been destroyed.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
int grpc_tracer_set_enabled (const char * name,
int enabled 
)
+
+ +

Enable or disable a tracer.

+

Tracers (usually controlled by the environment variable GRPC_TRACE) allow printf-style debugging on GRPC internals, and are useful for tracking down problems in the field.

+

Use of this function is not strictly thread-safe, but the thread-safety issues raised by it should not be of concern.

+ +
+
+ +
+
+ + + + + + + + +
const char* grpc_version_string (void )
+
+ +

Return a string representing the current version of grpc.

+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/grpc_8h_source.html b/doc/ref/core.internal/html/grpc_8h_source.html new file mode 100644 index 0000000000..9f3e8532f9 --- /dev/null +++ b/doc/ref/core.internal/html/grpc_8h_source.html @@ -0,0 +1,565 @@ + + + + + + +GRPC Core: include/grpc/grpc.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
grpc.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPC_GRPC_H
+
35 #define GRPC_GRPC_H
+
36 
+
37 #include <grpc/status.h>
+
38 
+
39 #include <stddef.h>
+
40 #include <grpc/byte_buffer.h>
+
41 #include <grpc/support/slice.h>
+
42 #include <grpc/support/time.h>
+
43 
+
44 #ifdef __cplusplus
+
45 extern "C" {
+
46 #endif
+
47 
+ +
60 
+
62 typedef struct grpc_channel grpc_channel;
+
63 
+
65 typedef struct grpc_server grpc_server;
+
66 
+
70 typedef struct grpc_call grpc_call;
+
71 
+
73 typedef enum {
+ + + + +
78 
+
91 typedef struct {
+ +
93  char *key;
+
94  union {
+
95  char *string;
+
96  int integer;
+
97  struct {
+
98  void *p;
+
99  void *(*copy)(void *p);
+
100  void (*destroy)(void *p);
+
101  } pointer;
+
102  } value;
+
103 } grpc_arg;
+
104 
+
113 typedef struct {
+
114  size_t num_args;
+ + +
117 
+
118 /* Channel argument keys: */
+
120 #define GRPC_ARG_ENABLE_CENSUS "grpc.census"
+
121 
+
123 #define GRPC_ARG_MAX_CONCURRENT_STREAMS "grpc.max_concurrent_streams"
+
124 
+
125 #define GRPC_ARG_MAX_MESSAGE_LENGTH "grpc.max_message_length"
+
126 
+
127 #define GRPC_ARG_HTTP2_INITIAL_SEQUENCE_NUMBER \
+
128  "grpc.http2.initial_sequence_number"
+
129 
+
130 #define GRPC_ARG_DEFAULT_AUTHORITY "grpc.default_authority"
+
131 
+
133 #define GRPC_ARG_PRIMARY_USER_AGENT_STRING "grpc.primary_user_agent"
+
134 
+
136 #define GRPC_ARG_SECONDARY_USER_AGENT_STRING "grpc.secondary_user_agent"
+
137 
+
139 typedef enum {
+ + + + + + +
151 
+
156 typedef enum grpc_call_error {
+ + + + + + + + + + + + + +
184 
+
185 /* Write Flags: */
+
189 #define GRPC_WRITE_BUFFER_HINT (0x00000001u)
+
190 
+
192 #define GRPC_WRITE_NO_COMPRESS (0x00000002u)
+
193 
+
194 #define GRPC_WRITE_USED_MASK (GRPC_WRITE_BUFFER_HINT | GRPC_WRITE_NO_COMPRESS)
+
195 
+
197 typedef struct grpc_metadata {
+
198  const char *key;
+
199  const char *value;
+
200  size_t value_length;
+
201 
+
206  struct {
+
207  void *obfuscated[3];
+
208  } internal_data;
+
209 } grpc_metadata;
+
210 
+
212 typedef enum grpc_completion_type {
+ + + + +
220 
+
224 typedef struct grpc_event {
+ +
229  int success;
+
232  void *tag;
+
233 } grpc_event;
+
234 
+
235 typedef struct {
+
236  size_t count;
+
237  size_t capacity;
+ + +
240 
+ + +
243 
+
244 typedef struct {
+
245  char *method;
+ +
247  char *host;
+ + + +
251 
+ + +
254 
+
255 typedef enum {
+ + + + + + + + +
283 } grpc_op_type;
+
284 
+
287 typedef struct grpc_op {
+ + +
292  union {
+
293  struct {
+
294  size_t count;
+ + + +
298  struct {
+ + + +
302  const char *status_details;
+ + + +
314  struct {
+ + + + + +
346  struct {
+
349  int *cancelled;
+ +
351  } data;
+
352 } grpc_op;
+
353 
+
360 void grpc_init(void);
+
361 
+
368 void grpc_shutdown(void);
+
369 
+
371 const char *grpc_version_string(void);
+
372 
+ +
375 
+ +
385  gpr_timespec deadline);
+
386 
+ +
396  gpr_timespec deadline);
+
397 
+ +
406 
+ +
410 
+ +
413  grpc_channel *channel, int try_to_connect);
+
414 
+ +
421  grpc_channel *channel, grpc_connectivity_state last_observed_state,
+
422  gpr_timespec deadline, grpc_completion_queue *cq, void *tag);
+
423 
+ +
428  grpc_completion_queue *completion_queue,
+
429  const char *method, const char *host,
+
430  gpr_timespec deadline);
+
431 
+
433 void *grpc_channel_register_call(grpc_channel *channel, const char *method,
+
434  const char *host);
+
435 
+ +
438  grpc_channel *channel, grpc_completion_queue *completion_queue,
+
439  void *registered_call_handle, gpr_timespec deadline);
+
440 
+ +
453  size_t nops, void *tag);
+
454 
+
463 char *grpc_call_get_peer(grpc_call *call);
+
464 
+
465 struct census_context;
+
466 
+
467 /* Set census context for a call; Must be called before first call to
+
468  grpc_call_start_batch(). */
+ +
470  struct census_context *context);
+
471 
+
472 /* Retrieve the calls current census context. */
+ +
474 
+
477 char *grpc_channel_get_target(grpc_channel *channel);
+
478 
+
484 grpc_channel *grpc_insecure_channel_create(const char *target,
+
485  const grpc_channel_args *args);
+
486 
+
488 grpc_channel *grpc_lame_client_channel_create(const char *target);
+
489 
+
491 void grpc_channel_destroy(grpc_channel *channel);
+
492 
+
493 /* Error handling for grpc_call
+
494  Most grpc_call functions return a grpc_error. If the error is not GRPC_OK
+
495  then the operation failed due to some unsatisfied precondition.
+
496  If a grpc_call fails, it's guaranteed that no change to the call state
+
497  has been made. */
+
498 
+ +
505 
+ +
513  grpc_status_code status,
+
514  const char *description);
+
515 
+
518 void grpc_call_destroy(grpc_call *call);
+
519 
+ +
524  grpc_server *server, grpc_call **call, grpc_call_details *details,
+
525  grpc_metadata_array *request_metadata,
+
526  grpc_completion_queue *cq_bound_to_call,
+
527  grpc_completion_queue *cq_for_notification, void *tag_new);
+
528 
+
536 void *grpc_server_register_method(grpc_server *server, const char *method,
+
537  const char *host);
+
538 
+ +
543  grpc_server *server, void *registered_method, grpc_call **call,
+
544  gpr_timespec *deadline, grpc_metadata_array *request_metadata,
+
545  grpc_byte_buffer **optional_payload,
+
546  grpc_completion_queue *cq_bound_to_call,
+
547  grpc_completion_queue *cq_for_notification, void *tag_new);
+
548 
+ +
554 
+ + +
561 
+
565 int grpc_server_add_http2_port(grpc_server *server, const char *addr);
+
566 
+
568 void grpc_server_start(grpc_server *server);
+
569 
+ +
578  grpc_completion_queue *cq, void *tag);
+
579 
+ +
583 
+
588 void grpc_server_destroy(grpc_server *server);
+
589 
+
598 int grpc_tracer_set_enabled(const char *name, int enabled);
+
599 
+
600 #ifdef __cplusplus
+
601 }
+
602 #endif
+
603 
+
604 #endif /* GRPC_GRPC_H */
+
completion queue for notification has not been registered with the server
Definition: grpc.h:182
+
Operation completion.
Definition: grpc.h:218
+
void * tag
The tag passed to grpc_call_start_batch etc to start this operation.
Definition: grpc.h:232
+
grpc_op_type op
Operation type, as defined by grpc_op_type.
Definition: grpc.h:289
+
grpc_connectivity_state
Connectivity state of a channel.
Definition: grpc.h:139
+
const char * value
Definition: hpack_table.c:44
+
Send a close from the client: one and only one instance MUST be sent from the client, unless the call was cancelled - in which case this can be skipped.
Definition: grpc.h:264
+
void grpc_server_destroy(grpc_server *server)
Destroy a server.
Definition: server.c:1063
+
char ** status_details
status_details is a buffer owned by the application before the op completes and after the op has comp...
Definition: grpc.h:343
+
grpc_op_type
Definition: grpc.h:255
+
gpr_uint32 flags
Write flags bitset for grpc_begin_messages.
Definition: grpc.h:291
+
struct grpc_op grpc_op
Operation data: one field for each op type (except SEND_CLOSE_FROM_CLIENT which has no arguments) ...
+
void grpc_server_register_completion_queue(grpc_server *server, grpc_completion_queue *cq)
Register a completion queue with the server.
Definition: server.c:742
+
grpc_metadata_array * recv_initial_metadata
ownership of the array is with the caller, but ownership of the elements stays with the call object (...
Definition: grpc.h:309
+
grpc_event grpc_completion_queue_pluck(grpc_completion_queue *cq, void *tag, gpr_timespec deadline)
Blocks until an event with tag 'tag' is available, the completion queue is being shutdown or deadline...
Definition: completion_queue.c:187
+
void grpc_call_details_destroy(grpc_call_details *details)
Definition: call_details.c:43
+
An array of arguments that can be passed around.
Definition: grpc.h:113
+
Definition: channel.c:61
+
grpc_arg * args
Definition: grpc.h:115
+ + +
grpc_arg_type
Type specifier for grpc_arg.
Definition: grpc.h:73
+
the flags value was illegal for this call
Definition: grpc.h:177
+
grpc_status_code status
Definition: grpc.h:301
+
gpr_timespec deadline
Definition: grpc.h:249
+
Definition: grpc.h:76
+
The result of an operation.
Definition: grpc.h:224
+
grpc_channel * grpc_lame_client_channel_create(const char *target)
Create a lame client: this client fails every operation attempted on it.
Definition: lame_client.c:141
+
int integer
Definition: grpc.h:96
+
grpc_channel * grpc_insecure_channel_create(const char *target, const grpc_channel_args *args)
Create a client channel to 'target'.
Definition: channel_create.c:157
+
Send status from the server: one and only one instance MUST be sent from the server unless the call w...
Definition: grpc.h:268
+
char * string
Definition: grpc.h:95
+
void grpc_call_details_init(grpc_call_details *details)
Definition: call_details.c:39
+
char * host
Definition: grpc.h:247
+
int success
non-zero if the operation was successful, 0 upon failure.
Definition: grpc.h:229
+
void grpc_call_destroy(grpc_call *call)
Destroy a call.
Definition: call.c:1177
+
union grpc_op::@6 data
+
size_t count
Definition: grpc.h:294
+
A single argument...
Definition: grpc.h:91
+
Definition: grpc.h:244
+
something failed, we don't know what
Definition: grpc.h:160
+
Definition: server.c:169
+
Definition: byte_buffer.h:49
+
grpc_byte_buffer ** recv_message
ownership of the byte buffer is moved to the caller; the caller must call grpc_byte_buffer_destroy on...
Definition: grpc.h:313
+
void grpc_server_start(grpc_server *server)
Start a server - tells all listeners to start listening.
Definition: server.c:845
+
Definition: grpc.h:235
+
uint32_t gpr_uint32
Definition: port_platform.h:309
+
void * p
Definition: grpc.h:98
+
size_t * status_details_capacity
Definition: grpc.h:344
+
Receive a message: 0 or more of these operations can occur for each call.
Definition: grpc.h:274
+
size_t method_capacity
Definition: grpc.h:246
+
grpc_connectivity_state grpc_channel_check_connectivity_state(grpc_channel *channel, int try_to_connect)
Check the connectivity state of a channel.
Definition: channel_connectivity.c:43
+
grpc_status_code * status
Definition: grpc.h:322
+
struct grpc_op::@6::@9 recv_status_on_client
+
void grpc_server_shutdown_and_notify(grpc_server *server, grpc_completion_queue *cq, void *tag)
Begin shutting down a server.
Definition: server.c:989
+
void grpc_channel_watch_connectivity_state(grpc_channel *channel, grpc_connectivity_state last_observed_state, gpr_timespec deadline, grpc_completion_queue *cq, void *tag)
Watch for a change in connectivity state.
Definition: channel_connectivity.c:151
+
grpc_metadata * metadata
Definition: grpc.h:238
+
this method must be called before invoke
Definition: grpc.h:168
+
void * grpc_channel_register_call(grpc_channel *channel, const char *method, const char *host)
Pre-register a method/host pair on a channel.
Definition: channel.c:181
+
Send initial metadata: one and only one instance MUST be sent for each call, unless the call was canc...
Definition: grpc.h:258
+
Definition: grpc.h:75
+
grpc_call_error
Result of a grpc call.
Definition: grpc.h:156
+
grpc_metadata * trailing_metadata
Definition: grpc.h:300
+
grpc_server * grpc_server_create(const grpc_channel_args *args)
Create a server.
Definition: server_create.c:39
+
size_t capacity
Definition: grpc.h:237
+
const char * key
Definition: grpc.h:198
+
void grpc_server_cancel_all_calls(grpc_server *server)
Cancel all in-progress calls.
Definition: server.c:1053
+
invalid metadata was passed to this call
Definition: grpc.h:179
+
const char * status_details
Definition: grpc.h:302
+
grpc_call_error grpc_call_cancel(grpc_call *call)
Called by clients to cancel an RPC on the server.
Definition: call.c:1189
+
A single metadata element.
Definition: grpc.h:197
+
this method is not available on the server
Definition: grpc.h:162
+
Shutting down.
Definition: grpc.h:214
+
Receive initial metadata: one and only one MUST be made on the client, must not be made on the server...
Definition: grpc.h:271
+
Operation data: one field for each op type (except SEND_CLOSE_FROM_CLIENT which has no arguments) ...
Definition: grpc.h:287
+
grpc_call_error grpc_server_request_call(grpc_server *server, grpc_call **call, grpc_call_details *details, grpc_metadata_array *request_metadata, grpc_completion_queue *cq_bound_to_call, grpc_completion_queue *cq_for_notification, void *tag_new)
Request notification of a new call.
Definition: server.c:1148
+
void * obfuscated[3]
Definition: grpc.h:207
+
Send a message: 0 or more of these operations can occur for each call.
Definition: grpc.h:260
+
everything went ok
Definition: grpc.h:158
+
grpc_event grpc_completion_queue_next(grpc_completion_queue *cq, gpr_timespec deadline)
Blocks until an event is available, the completion queue is being shut down, or deadline is reached...
Definition: completion_queue.c:147
+
this call is already finished (writes_done or write_status has already been called) ...
Definition: grpc.h:173
+
struct grpc_event grpc_event
The result of an operation.
+
grpc_completion_type
The type of completion (for grpc_event)
Definition: grpc.h:212
+
Definition: completion_queue.c:49
+
size_t trailing_metadata_count
Definition: grpc.h:299
+
size_t host_capacity
Definition: grpc.h:248
+
void * grpc_server_register_method(grpc_server *server, const char *method, const char *host)
Registers a method in the server.
Definition: server.c:820
+
char * grpc_channel_get_target(grpc_channel *channel)
Return a newly allocated string representing the target a channel was created for.
Definition: channel.c:144
+
void grpc_channel_destroy(grpc_channel *channel)
Close and destroy a grpc channel.
Definition: channel.c:257
+
struct grpc_op::@6::@7 send_initial_metadata
+
const char * grpc_version_string(void)
Return a string representing the current version of grpc.
Definition: version.c:39
+
struct grpc_metadata::@5 internal_data
The following fields are reserved for grpc internal use.
+
size_t num_args
Definition: grpc.h:114
+
Definition: context.h:41
+
size_t count
Definition: grpc.h:236
+
Receive status on the client: one and only one must be made on the client.
Definition: grpc.h:279
+
channel is ready for work
Definition: grpc.h:145
+
char * key
Definition: grpc.h:93
+
int grpc_server_add_http2_port(grpc_server *server, const char *addr)
Add a HTTP2 over plaintext over tcp listener.
Definition: server_chttp2.c:83
+ +
char * grpc_call_get_peer(grpc_call *call)
Returns a newly allocated string representing the endpoint to which this call is communicating with...
Definition: call.c:1256
+
channel has seen a failure but expects to recover
Definition: grpc.h:147
+
struct grpc_metadata grpc_metadata
A single metadata element.
+
const char * value
Definition: grpc.h:199
+ +
this method is not available on the client
Definition: grpc.h:164
+
grpc_call_error grpc_call_start_batch(grpc_call *call, const grpc_op *ops, size_t nops, void *tag)
Start a batch of operations defined in the array ops; when complete, post a completion of type 'tag' ...
Definition: call.c:1431
+
channel is idle
Definition: grpc.h:141
+
channel has seen a failure that it cannot recover from
Definition: grpc.h:149
+
struct grpc_op::@6::@10 recv_close_on_server
+
Definition: time.h:60
+
grpc_status_code
Definition: status.h:41
+
grpc_call * grpc_channel_create_call(grpc_channel *channel, grpc_completion_queue *completion_queue, const char *method, const char *host, gpr_timespec deadline)
Create a call given a grpc_channel, in order to call 'method'.
Definition: channel.c:165
+
struct census_context * grpc_census_call_get_context(grpc_call *call)
Definition: grpc_context.c:60
+
void grpc_metadata_array_destroy(grpc_metadata_array *array)
Definition: metadata_array.c:43
+
No event before timeout.
Definition: grpc.h:216
+
void grpc_init(void)
Initialize the grpc library.
Definition: init.c:61
+
channel is connecting
Definition: grpc.h:143
+
struct grpc_op::@6::@8 send_status_from_server
+
grpc_byte_buffer * send_message
Definition: grpc.h:297
+
grpc_metadata_array * trailing_metadata
ownership of the array is with the caller, but ownership of the elements stays with the call object (...
Definition: grpc.h:321
+
grpc_call_error grpc_server_request_registered_call(grpc_server *server, void *registered_method, grpc_call **call, gpr_timespec *deadline, grpc_metadata_array *request_metadata, grpc_byte_buffer **optional_payload, grpc_completion_queue *cq_bound_to_call, grpc_completion_queue *cq_for_notification, void *tag_new)
Request notification of a new pre-registered call.
Definition: server.c:1173
+
void grpc_shutdown(void)
Shut down the grpc library.
Definition: init.c:94
+
void grpc_metadata_array_init(grpc_metadata_array *array)
Definition: metadata_array.c:39
+
void grpc_completion_queue_destroy(grpc_completion_queue *cq)
Destroy a completion queue.
Definition: completion_queue.c:255
+
grpc_call * grpc_channel_create_registered_call(grpc_channel *channel, grpc_completion_queue *completion_queue, void *registered_call_handle, gpr_timespec deadline)
Create a call given a handle returned from grpc_channel_register_call.
Definition: channel.c:197
+
size_t value_length
Definition: grpc.h:200
+
there is already an outstanding read/write operation on the call
Definition: grpc.h:175
+
Receive close on the server: one and only one must be made on the server.
Definition: grpc.h:282
+
grpc_completion_type type
The type of the completion.
Definition: grpc.h:226
+
this method must be called before server_accept
Definition: grpc.h:166
+
grpc_arg_type type
Definition: grpc.h:92
+
void grpc_completion_queue_shutdown(grpc_completion_queue *cq)
Begin destruction of a completion queue.
Definition: completion_queue.c:237
+
Definition: grpc.h:74
+
grpc_metadata * metadata
Definition: grpc.h:295
+
grpc_call_error grpc_call_cancel_with_status(grpc_call *call, grpc_status_code status, const char *description)
Called by clients to cancel an RPC on the server.
Definition: call.c:1193
+
Definition: call.c:143
+
int * cancelled
out argument, set to 1 if the call failed in any way (seen as a cancellation on the server)...
Definition: grpc.h:349
+
grpc_completion_queue * grpc_completion_queue_create(void)
Create a completion queue.
Definition: completion_queue.c:65
+
this method must be called after invoke
Definition: grpc.h:170
+
char * method
Definition: grpc.h:245
+
int grpc_tracer_set_enabled(const char *name, int enabled)
Enable or disable a tracer.
Definition: trace.c:112
+
Definition: server.c:181
+
void grpc_census_call_set_context(grpc_call *call, struct census_context *context)
Definition: grpc_context.c:42
+
+ + + + diff --git a/doc/ref/core.internal/html/grpc__context_8c.html b/doc/ref/core.internal/html/grpc__context_8c.html new file mode 100644 index 0000000000..4108aa8f07 --- /dev/null +++ b/doc/ref/core.internal/html/grpc__context_8c.html @@ -0,0 +1,155 @@ + + + + + + +GRPC Core: src/core/census/grpc_context.c File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc_context.c File Reference
+
+
+
#include <grpc/census.h>
+#include <grpc/grpc.h>
+#include "src/core/surface/call.h"
+
+ + + + + +

+Functions

void grpc_census_call_set_context (grpc_call *call, census_context *context)
 
census_contextgrpc_census_call_get_context (grpc_call *call)
 
+

Function Documentation

+ +
+
+ + + + + + + + +
census_context* grpc_census_call_get_context (grpc_callcall)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void grpc_census_call_set_context (grpc_callcall,
census_contextcontext 
)
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/grpc__security_8h.html b/doc/ref/core.internal/html/grpc__security_8h.html new file mode 100644 index 0000000000..63bf90dfcf --- /dev/null +++ b/doc/ref/core.internal/html/grpc__security_8h.html @@ -0,0 +1,863 @@ + + + + + + +GRPC Core: include/grpc/grpc_security.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc_security.h File Reference
+
+
+
#include <grpc/grpc.h>
+#include <grpc/status.h>
+
+

Go to the source code of this file.

+ + + + + + + + +

+Data Structures

struct  grpc_ssl_pem_key_cert_pair
 
struct  grpc_auth_property_iterator
 
struct  grpc_auth_property
 
+ + + + + + + + + + + + + + + +

+Macros

#define GRPC_GOOGLE_CREDENTIALS_ENV_VAR   "GOOGLE_APPLICATION_CREDENTIALS"
 
#define GRPC_DEFAULT_SSL_ROOTS_FILE_PATH_ENV_VAR   "GRPC_DEFAULT_SSL_ROOTS_FILE_PATH"
 
#define GRPC_SSL_TARGET_NAME_OVERRIDE_ARG   "grpc.ssl_target_name_override"
 
#define GRPC_TRANSPORT_SECURITY_TYPE_PROPERTY_NAME   "transport_security_type"
 
#define GRPC_SSL_TRANSPORT_SECURITY_TYPE   "ssl"
 
#define GRPC_X509_CN_PROPERTY_NAME   "x509_common_name"
 
#define GRPC_X509_SAN_PROPERTY_NAME   "x509_subject_alternative_name"
 
+ + + + + + + + + + + +

+Typedefs

typedef struct grpc_credentials grpc_credentials
 
typedef struct
+grpc_server_credentials 
grpc_server_credentials
 
typedef struct grpc_auth_context grpc_auth_context
 
typedef struct
+grpc_auth_property_iterator 
grpc_auth_property_iterator
 
typedef struct grpc_auth_property grpc_auth_property
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

void grpc_credentials_release (grpc_credentials *creds)
 
grpc_credentialsgrpc_google_default_credentials_create (void)
 
grpc_credentialsgrpc_ssl_credentials_create (const char *pem_root_certs, grpc_ssl_pem_key_cert_pair *pem_key_cert_pair)
 
grpc_credentialsgrpc_composite_credentials_create (grpc_credentials *creds1, grpc_credentials *creds2)
 
grpc_credentialsgrpc_compute_engine_credentials_create (void)
 
grpc_credentialsgrpc_service_account_credentials_create (const char *json_key, const char *scope, gpr_timespec token_lifetime)
 
grpc_credentialsgrpc_service_account_jwt_access_credentials_create (const char *json_key, gpr_timespec token_lifetime)
 
grpc_credentialsgrpc_refresh_token_credentials_create (const char *json_refresh_token)
 
grpc_credentialsgrpc_access_token_credentials_create (const char *access_token)
 
grpc_credentialsgrpc_iam_credentials_create (const char *authorization_token, const char *authority_selector)
 
grpc_channelgrpc_secure_channel_create (grpc_credentials *creds, const char *target, const grpc_channel_args *args)
 
void grpc_server_credentials_release (grpc_server_credentials *creds)
 
grpc_server_credentialsgrpc_ssl_server_credentials_create (const char *pem_root_certs, grpc_ssl_pem_key_cert_pair *pem_key_cert_pairs, size_t num_key_cert_pairs, int force_client_auth)
 
int grpc_server_add_secure_http2_port (grpc_server *server, const char *addr, grpc_server_credentials *creds)
 
grpc_call_error grpc_call_set_credentials (grpc_call *call, grpc_credentials *creds)
 
const grpc_auth_propertygrpc_auth_property_iterator_next (grpc_auth_property_iterator *it)
 
grpc_auth_property_iterator grpc_auth_context_property_iterator (const grpc_auth_context *ctx)
 
grpc_auth_property_iterator grpc_auth_context_peer_identity (const grpc_auth_context *ctx)
 
grpc_auth_property_iterator grpc_auth_context_find_properties_by_name (const grpc_auth_context *ctx, const char *name)
 
const char * grpc_auth_context_peer_identity_property_name (const grpc_auth_context *ctx)
 
int grpc_auth_context_peer_is_authenticated (const grpc_auth_context *ctx)
 
grpc_auth_contextgrpc_call_auth_context (grpc_call *call)
 
void grpc_auth_context_release (grpc_auth_context *context)
 
+ + + +

+Variables

const gpr_timespec grpc_max_auth_token_lifetime
 
+

Macro Definition Documentation

+ +
+
+ + + + +
#define GRPC_DEFAULT_SSL_ROOTS_FILE_PATH_ENV_VAR   "GRPC_DEFAULT_SSL_ROOTS_FILE_PATH"
+
+ +
+
+ +
+
+ + + + +
#define GRPC_GOOGLE_CREDENTIALS_ENV_VAR   "GOOGLE_APPLICATION_CREDENTIALS"
+
+ +
+
+ +
+
+ + + + +
#define GRPC_SSL_TARGET_NAME_OVERRIDE_ARG   "grpc.ssl_target_name_override"
+
+ +
+
+ +
+
+ + + + +
#define GRPC_SSL_TRANSPORT_SECURITY_TYPE   "ssl"
+
+ +
+
+ +
+
+ + + + +
#define GRPC_TRANSPORT_SECURITY_TYPE_PROPERTY_NAME   "transport_security_type"
+
+ +
+
+ +
+
+ + + + +
#define GRPC_X509_CN_PROPERTY_NAME   "x509_common_name"
+
+ +
+
+ +
+
+ + + + +
#define GRPC_X509_SAN_PROPERTY_NAME   "x509_subject_alternative_name"
+
+ +
+
+

Typedef Documentation

+ +
+
+ + + + +
typedef struct grpc_auth_context grpc_auth_context
+
+ +
+
+ +
+
+ + + + +
typedef struct grpc_auth_property grpc_auth_property
+
+ +
+
+ +
+
+ +
+
+ +
+
+ + + + +
typedef struct grpc_credentials grpc_credentials
+
+ +
+
+ +
+
+ +
+
+

Function Documentation

+ +
+
+ + + + + + + + +
grpc_credentials* grpc_access_token_credentials_create (const char * access_token)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
grpc_auth_property_iterator grpc_auth_context_find_properties_by_name (const grpc_auth_contextctx,
const char * name 
)
+
+ +
+
+ +
+
+ + + + + + + + +
grpc_auth_property_iterator grpc_auth_context_peer_identity (const grpc_auth_contextctx)
+
+ +
+
+ +
+
+ + + + + + + + +
const char* grpc_auth_context_peer_identity_property_name (const grpc_auth_contextctx)
+
+ +
+
+ +
+
+ + + + + + + + +
int grpc_auth_context_peer_is_authenticated (const grpc_auth_contextctx)
+
+ +
+
+ +
+
+ + + + + + + + +
grpc_auth_property_iterator grpc_auth_context_property_iterator (const grpc_auth_contextctx)
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_auth_context_release (grpc_auth_contextcontext)
+
+ +
+
+ +
+
+ + + + + + + + +
const grpc_auth_property* grpc_auth_property_iterator_next (grpc_auth_property_iteratorit)
+
+ +
+
+ +
+
+ + + + + + + + +
grpc_auth_context* grpc_call_auth_context (grpc_callcall)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
grpc_call_error grpc_call_set_credentials (grpc_callcall,
grpc_credentialscreds 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
grpc_credentials* grpc_composite_credentials_create (grpc_credentialscreds1,
grpc_credentialscreds2 
)
+
+ +
+
+ +
+
+ + + + + + + + +
grpc_credentials* grpc_compute_engine_credentials_create (void )
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_credentials_release (grpc_credentialscreds)
+
+ +
+
+ +
+
+ + + + + + + + +
grpc_credentials* grpc_google_default_credentials_create (void )
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
grpc_credentials* grpc_iam_credentials_create (const char * authorization_token,
const char * authority_selector 
)
+
+ +
+
+ +
+
+ + + + + + + + +
grpc_credentials* grpc_refresh_token_credentials_create (const char * json_refresh_token)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
grpc_channel* grpc_secure_channel_create (grpc_credentialscreds,
const char * target,
const grpc_channel_argsargs 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
int grpc_server_add_secure_http2_port (grpc_serverserver,
const char * addr,
grpc_server_credentialscreds 
)
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_server_credentials_release (grpc_server_credentialscreds)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
grpc_credentials* grpc_service_account_credentials_create (const char * json_key,
const char * scope,
gpr_timespec token_lifetime 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
grpc_credentials* grpc_service_account_jwt_access_credentials_create (const char * json_key,
gpr_timespec token_lifetime 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
grpc_credentials* grpc_ssl_credentials_create (const char * pem_root_certs,
grpc_ssl_pem_key_cert_pairpem_key_cert_pair 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
grpc_server_credentials* grpc_ssl_server_credentials_create (const char * pem_root_certs,
grpc_ssl_pem_key_cert_pairpem_key_cert_pairs,
size_t num_key_cert_pairs,
int force_client_auth 
)
+
+ +
+
+

Variable Documentation

+ +
+
+ + + + +
const gpr_timespec grpc_max_auth_token_lifetime
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/grpc__security_8h_source.html b/doc/ref/core.internal/html/grpc__security_8h_source.html new file mode 100644 index 0000000000..5159560794 --- /dev/null +++ b/doc/ref/core.internal/html/grpc__security_8h_source.html @@ -0,0 +1,409 @@ + + + + + + +GRPC Core: include/grpc/grpc_security.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
grpc_security.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPC_GRPC_SECURITY_H
+
35 #define GRPC_GRPC_SECURITY_H
+
36 
+
37 #include <grpc/grpc.h>
+
38 #include <grpc/status.h>
+
39 
+
40 #ifdef __cplusplus
+
41 extern "C" {
+
42 #endif
+
43 
+
44 /* --- grpc_credentials object. ---
+
45 
+
46  A credentials object represents a way to authenticate a client. */
+
47 
+ +
49 
+
50 /* Releases a credentials object.
+
51  The creator of the credentials object is responsible for its release. */
+ +
53 
+
54 /* Environment variable that points to the google default application
+
55  credentials json key or refresh token. Used in the
+
56  grpc_google_default_credentials_create function. */
+
57 #define GRPC_GOOGLE_CREDENTIALS_ENV_VAR "GOOGLE_APPLICATION_CREDENTIALS"
+
58 
+
59 /* Creates default credentials to connect to a google gRPC service.
+
60  WARNING: Do NOT use this credentials to connect to a non-google service as
+
61  this could result in an oauth2 token leak. */
+ +
63 
+
64 /* Environment variable that points to the default SSL roots file. This file
+
65  must be a PEM encoded file with all the roots such as the one that can be
+
66  downloaded from https://pki.google.com/roots.pem. */
+
67 #define GRPC_DEFAULT_SSL_ROOTS_FILE_PATH_ENV_VAR \
+
68  "GRPC_DEFAULT_SSL_ROOTS_FILE_PATH"
+
69 
+
70 /* Object that holds a private key / certificate chain pair in PEM format. */
+
71 typedef struct {
+
72  /* private_key is the NULL-terminated string containing the PEM encoding of
+
73  the client's private key. */
+
74  const char *private_key;
+
75 
+
76  /* cert_chain is the NULL-terminated string containing the PEM encoding of
+
77  the client's certificate chain. */
+
78  const char *cert_chain;
+ +
80 
+
81 /* Creates an SSL credentials object.
+
82  - pem_roots_cert is the NULL-terminated string containing the PEM encoding
+
83  of the server root certificates. If this parameter is NULL, the
+
84  implementation will first try to dereference the file pointed by the
+
85  GRPC_DEFAULT_SSL_ROOTS_FILE_PATH environment variable, and if that fails,
+
86  get the roots from a well-known place on disk (in the grpc install
+
87  directory).
+
88  - pem_key_cert_pair is a pointer on the object containing client's private
+
89  key and certificate chain. This parameter can be NULL if the client does
+
90  not have such a key/cert pair. */
+ +
92  const char *pem_root_certs, grpc_ssl_pem_key_cert_pair *pem_key_cert_pair);
+
93 
+
94 /* Creates a composite credentials object. */
+ +
96  grpc_credentials *creds2);
+
97 
+
98 /* Creates a compute engine credentials object.
+
99  WARNING: Do NOT use this credentials to connect to a non-google service as
+
100  this could result in an oauth2 token leak. */
+ +
102 
+ +
104 
+
105 /* Creates a service account credentials object. May return NULL if the input is
+
106  invalid.
+
107  WARNING: Do NOT use this credentials to connect to a non-google service as
+
108  this could result in an oauth2 token leak.
+
109  - json_key is the JSON key string containing the client's private key.
+
110  - scope is a space-delimited list of the requested permissions.
+
111  - token_lifetime is the lifetime of each token acquired through this service
+
112  account credentials. It should not exceed grpc_max_auth_token_lifetime
+
113  or will be cropped to this value. */
+ +
115  const char *json_key, const char *scope, gpr_timespec token_lifetime);
+
116 
+
117 /* Creates a JWT credentials object. May return NULL if the input is invalid.
+
118  - json_key is the JSON key string containing the client's private key.
+
119  - token_lifetime is the lifetime of each Json Web Token (JWT) created with
+
120  this credentials. It should not exceed grpc_max_auth_token_lifetime or
+
121  will be cropped to this value. */
+ +
123  const char *json_key, gpr_timespec token_lifetime);
+
124 
+
125 /* Creates an Oauth2 Refresh Token credentials object. May return NULL if the
+
126  input is invalid.
+
127  WARNING: Do NOT use this credentials to connect to a non-google service as
+
128  this could result in an oauth2 token leak.
+
129  - json_refresh_token is the JSON string containing the refresh token itself
+
130  along with a client_id and client_secret. */
+ +
132  const char *json_refresh_token);
+
133 
+
134 /* Creates an Oauth2 Access Token credentials with an access token that was
+
135  aquired by an out of band mechanism. */
+ +
137  const char *access_token);
+
138 
+
139 /* Creates an IAM credentials object. */
+
140 grpc_credentials *grpc_iam_credentials_create(const char *authorization_token,
+
141  const char *authority_selector);
+
142 
+
143 /* --- Secure channel creation. --- */
+
144 
+
145 /* The caller of the secure_channel_create functions may override the target
+
146  name used for SSL host name checking using this channel argument which is of
+
147  type GRPC_ARG_STRING. This *should* be used for testing only.
+
148  If this argument is not specified, the name used for SSL host name checking
+
149  will be the target parameter (assuming that the secure channel is an SSL
+
150  channel). If this parameter is specified and the underlying is not an SSL
+
151  channel, it will just be ignored. */
+
152 #define GRPC_SSL_TARGET_NAME_OVERRIDE_ARG "grpc.ssl_target_name_override"
+
153 
+
154 /* Creates a secure channel using the passed-in credentials. */
+ +
156  const char *target,
+
157  const grpc_channel_args *args);
+
158 
+
159 /* --- grpc_server_credentials object. ---
+
160 
+
161  A server credentials object represents a way to authenticate a server. */
+
162 
+ +
164 
+
165 /* Releases a server_credentials object.
+
166  The creator of the server_credentials object is responsible for its release.
+
167  */
+ +
169 
+
170 /* Creates an SSL server_credentials object.
+
171  - pem_roots_cert is the NULL-terminated string containing the PEM encoding of
+
172  the client root certificates. This parameter may be NULL if the server does
+
173  not want the client to be authenticated with SSL.
+
174  - pem_key_cert_pairs is an array private key / certificate chains of the
+
175  server. This parameter cannot be NULL.
+
176  - num_key_cert_pairs indicates the number of items in the private_key_files
+
177  and cert_chain_files parameters. It should be at least 1.
+
178  - force_client_auth, if set to non-zero will force the client to authenticate
+
179  with an SSL cert. Note that this option is ignored if pem_root_certs is
+
180  NULL. */
+ +
182  const char *pem_root_certs, grpc_ssl_pem_key_cert_pair *pem_key_cert_pairs,
+
183  size_t num_key_cert_pairs, int force_client_auth);
+
184 
+
185 /* --- Server-side secure ports. --- */
+
186 
+
187 /* Add a HTTP2 over an encrypted link over tcp listener.
+
188  Returns bound port number on success, 0 on failure.
+
189  REQUIRES: server not started */
+
190 int grpc_server_add_secure_http2_port(grpc_server *server, const char *addr,
+
191  grpc_server_credentials *creds);
+
192 
+
193 /* --- Call specific credentials. --- */
+
194 
+
195 /* Sets a credentials to a call. Can only be called on the client side before
+
196  grpc_call_start_batch. */
+ +
198  grpc_credentials *creds);
+
199 
+
200 /* --- Authentication Context. --- */
+
201 
+
202 /* TODO(jboeuf): Define some well-known property names. */
+
203 
+
204 #define GRPC_TRANSPORT_SECURITY_TYPE_PROPERTY_NAME "transport_security_type"
+
205 #define GRPC_SSL_TRANSPORT_SECURITY_TYPE "ssl"
+
206 
+
207 #define GRPC_X509_CN_PROPERTY_NAME "x509_common_name"
+
208 #define GRPC_X509_SAN_PROPERTY_NAME "x509_subject_alternative_name"
+
209 
+ +
211 
+ + +
214  size_t index;
+
215  const char *name;
+ +
217 
+
218 /* value, if not NULL, is guaranteed to be NULL terminated. */
+
219 typedef struct grpc_auth_property {
+
220  char *name;
+
221  char *value;
+
222  size_t value_length;
+ +
224 
+
225 /* Returns NULL when the iterator is at the end. */
+ + +
228 
+
229 /* Iterates over the auth context. */
+ +
231  const grpc_auth_context *ctx);
+
232 
+
233 /* Gets the peer identity. Returns an empty iterator (first _next will return
+
234  NULL) if the peer is not authenticated. */
+ +
236  const grpc_auth_context *ctx);
+
237 
+
238 /* Finds a property in the context. May return an empty iterator (first _next
+
239  will return NULL) if no property with this name was found in the context. */
+ +
241  const grpc_auth_context *ctx, const char *name);
+
242 
+
243 /* Gets the name of the property that indicates the peer identity. Will return
+
244  NULL if the peer is not authenticated. */
+ +
246  const grpc_auth_context *ctx);
+
247 
+
248 /* Returns 1 if the peer is authenticated, 0 otherwise. */
+ +
250 
+
251 /* Gets the auth context from the call. Caller needs to call
+
252  grpc_auth_context_release on the returned context. */
+ +
254 
+
255 /* Releases the auth context returned from grpc_call_auth_context. */
+ +
257 
+
258 #ifdef __cplusplus
+
259 }
+
260 #endif
+
261 
+
262 #endif /* GRPC_GRPC_SECURITY_H */
+
Definition: security_context.h:49
+
int grpc_server_add_secure_http2_port(grpc_server *server, const char *addr, grpc_server_credentials *creds)
Definition: server_secure_chttp2.c:196
+
size_t value_length
Definition: grpc_security.h:222
+
grpc_call_error grpc_call_set_credentials(grpc_call *call, grpc_credentials *creds)
Definition: security_context.c:47
+
grpc_channel * grpc_secure_channel_create(grpc_credentials *creds, const char *target, const grpc_channel_args *args)
Definition: secure_channel_create.c:185
+
void grpc_credentials_release(grpc_credentials *creds)
Definition: credentials.c:93
+
An array of arguments that can be passed around.
Definition: grpc.h:113
+
Definition: channel.c:61
+
char * value
Definition: grpc_security.h:221
+
grpc_credentials * grpc_composite_credentials_create(grpc_credentials *creds1, grpc_credentials *creds2)
Definition: credentials.c:1097
+
const gpr_timespec grpc_max_auth_token_lifetime
Definition: json_token.c:52
+
grpc_credentials * grpc_google_default_credentials_create(void)
Definition: google_default_credentials.c:164
+
const char * private_key
Definition: grpc_security.h:74
+
const grpc_auth_property * grpc_auth_property_iterator_next(grpc_auth_property_iterator *it)
Definition: security_context.c:193
+
char * name
Definition: grpc_security.h:220
+
const grpc_auth_context * ctx
Definition: grpc_security.h:213
+
const char * grpc_auth_context_peer_identity_property_name(const grpc_auth_context *ctx)
Definition: security_context.c:175
+
int grpc_auth_context_peer_is_authenticated(const grpc_auth_context *ctx)
Definition: security_context.c:180
+
grpc_credentials * grpc_ssl_credentials_create(const char *pem_root_certs, grpc_ssl_pem_key_cert_pair *pem_key_cert_pair)
Definition: credentials.c:294
+
Definition: credentials.h:216
+
Definition: credentials.h:145
+
const char * name
Definition: grpc_security.h:215
+
grpc_call_error
Result of a grpc call.
Definition: grpc.h:156
+
size_t index
Definition: grpc_security.h:214
+
grpc_credentials * grpc_access_token_credentials_create(const char *access_token)
Definition: credentials.c:864
+
grpc_credentials * grpc_iam_credentials_create(const char *authorization_token, const char *authority_selector)
Definition: credentials.c:1205
+
Definition: grpc_security.h:212
+
Definition: grpc_security.h:71
+
struct grpc_auth_property_iterator grpc_auth_property_iterator
+
grpc_credentials * grpc_refresh_token_credentials_create(const char *json_refresh_token)
Definition: credentials.c:762
+
const char * cert_chain
Definition: grpc_security.h:78
+
grpc_credentials * grpc_service_account_credentials_create(const char *json_key, const char *scope, gpr_timespec token_lifetime)
Definition: credentials.c:689
+
grpc_auth_property_iterator grpc_auth_context_peer_identity(const grpc_auth_context *ctx)
Definition: security_context.c:225
+
Definition: grpc_security.h:219
+
grpc_credentials * grpc_compute_engine_credentials_create(void)
Definition: credentials.c:632
+
struct grpc_auth_property grpc_auth_property
+ +
grpc_auth_property_iterator grpc_auth_context_property_iterator(const grpc_auth_context *ctx)
Definition: security_context.c:185
+
grpc_credentials * grpc_service_account_jwt_access_credentials_create(const char *json_key, gpr_timespec token_lifetime)
Definition: credentials.c:426
+
grpc_auth_context * grpc_call_auth_context(grpc_call *call)
Definition: security_context.c:72
+
Definition: time.h:60
+
void grpc_server_credentials_release(grpc_server_credentials *creds)
Definition: credentials.c:138
+
grpc_auth_property_iterator grpc_auth_context_find_properties_by_name(const grpc_auth_context *ctx, const char *name)
Definition: security_context.c:216
+
void grpc_auth_context_release(grpc_auth_context *context)
Definition: security_context.c:84
+ +
Definition: call.c:143
+
grpc_server_credentials * grpc_ssl_server_credentials_create(const char *pem_root_certs, grpc_ssl_pem_key_cert_pair *pem_key_cert_pairs, size_t num_key_cert_pairs, int force_client_auth)
Definition: credentials.c:305
+
Definition: server.c:181
+
+ + + + diff --git a/doc/ref/core.internal/html/histogram_8c.html b/doc/ref/core.internal/html/histogram_8c.html new file mode 100644 index 0000000000..858f762c24 --- /dev/null +++ b/doc/ref/core.internal/html/histogram_8c.html @@ -0,0 +1,486 @@ + + + + + + +GRPC Core: src/core/support/histogram.c File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
histogram.c File Reference
+
+
+
#include <grpc/support/histogram.h>
+#include <math.h>
+#include <stddef.h>
+#include <string.h>
+#include <grpc/support/alloc.h>
+#include <grpc/support/port_platform.h>
+#include <grpc/support/log.h>
+#include <grpc/support/useful.h>
+
+ + + +

+Data Structures

struct  gpr_histogram
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

gpr_histogramgpr_histogram_create (double resolution, double max_bucket_start)
 
void gpr_histogram_destroy (gpr_histogram *h)
 
void gpr_histogram_add (gpr_histogram *h, double x)
 
int gpr_histogram_merge (gpr_histogram *dst, gpr_histogram *src)
 
void gpr_histogram_merge_contents (gpr_histogram *dst, const gpr_uint32 *data, size_t data_count, double min_seen, double max_seen, double sum, double sum_of_squares, double count)
 
double gpr_histogram_percentile (gpr_histogram *h, double percentile)
 
double gpr_histogram_mean (gpr_histogram *h)
 
double gpr_histogram_stddev (gpr_histogram *h)
 
double gpr_histogram_variance (gpr_histogram *h)
 
double gpr_histogram_maximum (gpr_histogram *h)
 
double gpr_histogram_minimum (gpr_histogram *h)
 
double gpr_histogram_count (gpr_histogram *h)
 
double gpr_histogram_sum (gpr_histogram *h)
 
double gpr_histogram_sum_of_squares (gpr_histogram *h)
 
const gpr_uint32gpr_histogram_get_contents (gpr_histogram *h, size_t *size)
 
+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
void gpr_histogram_add (gpr_histogramh,
double x 
)
+
+ +
+
+ +
+
+ + + + + + + + +
double gpr_histogram_count (gpr_histogramh)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
gpr_histogram* gpr_histogram_create (double resolution,
double max_bucket_start 
)
+
+ +
+
+ +
+
+ + + + + + + + +
void gpr_histogram_destroy (gpr_histogramh)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
const gpr_uint32* gpr_histogram_get_contents (gpr_histogramh,
size_t * size 
)
+
+ +
+
+ +
+
+ + + + + + + + +
double gpr_histogram_maximum (gpr_histogramh)
+
+ +
+
+ +
+
+ + + + + + + + +
double gpr_histogram_mean (gpr_histogramh)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
int gpr_histogram_merge (gpr_histogramdst,
gpr_histogramsrc 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void gpr_histogram_merge_contents (gpr_histogramdst,
const gpr_uint32data,
size_t data_count,
double min_seen,
double max_seen,
double sum,
double sum_of_squares,
double count 
)
+
+ +
+
+ +
+
+ + + + + + + + +
double gpr_histogram_minimum (gpr_histogramh)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
double gpr_histogram_percentile (gpr_histogramh,
double percentile 
)
+
+ +
+
+ +
+
+ + + + + + + + +
double gpr_histogram_stddev (gpr_histogramh)
+
+ +
+
+ +
+
+ + + + + + + + +
double gpr_histogram_sum (gpr_histogramh)
+
+ +
+
+ +
+
+ + + + + + + + +
double gpr_histogram_sum_of_squares (gpr_histogramh)
+
+ +
+
+ +
+
+ + + + + + + + +
double gpr_histogram_variance (gpr_histogramh)
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/histogram_8h.html b/doc/ref/core.internal/html/histogram_8h.html new file mode 100644 index 0000000000..784a5e5dc2 --- /dev/null +++ b/doc/ref/core.internal/html/histogram_8h.html @@ -0,0 +1,495 @@ + + + + + + +GRPC Core: include/grpc/support/histogram.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
histogram.h File Reference
+
+
+
#include <grpc/support/port_platform.h>
+#include <stddef.h>
+
+

Go to the source code of this file.

+ + + + +

+Typedefs

typedef struct gpr_histogram gpr_histogram
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

gpr_histogramgpr_histogram_create (double resolution, double max_bucket_start)
 
void gpr_histogram_destroy (gpr_histogram *h)
 
void gpr_histogram_add (gpr_histogram *h, double x)
 
int gpr_histogram_merge (gpr_histogram *dst, gpr_histogram *src)
 
double gpr_histogram_percentile (gpr_histogram *histogram, double percentile)
 
double gpr_histogram_mean (gpr_histogram *histogram)
 
double gpr_histogram_stddev (gpr_histogram *histogram)
 
double gpr_histogram_variance (gpr_histogram *histogram)
 
double gpr_histogram_maximum (gpr_histogram *histogram)
 
double gpr_histogram_minimum (gpr_histogram *histogram)
 
double gpr_histogram_count (gpr_histogram *histogram)
 
double gpr_histogram_sum (gpr_histogram *histogram)
 
double gpr_histogram_sum_of_squares (gpr_histogram *histogram)
 
const gpr_uint32gpr_histogram_get_contents (gpr_histogram *histogram, size_t *count)
 
void gpr_histogram_merge_contents (gpr_histogram *histogram, const gpr_uint32 *data, size_t data_count, double min_seen, double max_seen, double sum, double sum_of_squares, double count)
 
+

Typedef Documentation

+ +
+
+ + + + +
typedef struct gpr_histogram gpr_histogram
+
+ +
+
+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
void gpr_histogram_add (gpr_histogramh,
double x 
)
+
+ +
+
+ +
+
+ + + + + + + + +
double gpr_histogram_count (gpr_histogramhistogram)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
gpr_histogram* gpr_histogram_create (double resolution,
double max_bucket_start 
)
+
+ +
+
+ +
+
+ + + + + + + + +
void gpr_histogram_destroy (gpr_histogramh)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
const gpr_uint32* gpr_histogram_get_contents (gpr_histogramhistogram,
size_t * count 
)
+
+ +
+
+ +
+
+ + + + + + + + +
double gpr_histogram_maximum (gpr_histogramhistogram)
+
+ +
+
+ +
+
+ + + + + + + + +
double gpr_histogram_mean (gpr_histogramhistogram)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
int gpr_histogram_merge (gpr_histogramdst,
gpr_histogramsrc 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void gpr_histogram_merge_contents (gpr_histogramhistogram,
const gpr_uint32data,
size_t data_count,
double min_seen,
double max_seen,
double sum,
double sum_of_squares,
double count 
)
+
+ +
+
+ +
+
+ + + + + + + + +
double gpr_histogram_minimum (gpr_histogramhistogram)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
double gpr_histogram_percentile (gpr_histogramhistogram,
double percentile 
)
+
+ +
+
+ +
+
+ + + + + + + + +
double gpr_histogram_stddev (gpr_histogramhistogram)
+
+ +
+
+ +
+
+ + + + + + + + +
double gpr_histogram_sum (gpr_histogramhistogram)
+
+ +
+
+ +
+
+ + + + + + + + +
double gpr_histogram_sum_of_squares (gpr_histogramhistogram)
+
+ +
+
+ +
+
+ + + + + + + + +
double gpr_histogram_variance (gpr_histogramhistogram)
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/histogram_8h_source.html b/doc/ref/core.internal/html/histogram_8h_source.html new file mode 100644 index 0000000000..42df144854 --- /dev/null +++ b/doc/ref/core.internal/html/histogram_8h_source.html @@ -0,0 +1,198 @@ + + + + + + +GRPC Core: include/grpc/support/histogram.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
histogram.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPC_SUPPORT_HISTOGRAM_H
+
35 #define GRPC_SUPPORT_HISTOGRAM_H
+
36 
+ +
38 #include <stddef.h>
+
39 
+
40 #ifdef __cplusplus
+
41 extern "C" {
+
42 #endif
+
43 
+ +
45 
+
46 gpr_histogram *gpr_histogram_create(double resolution, double max_bucket_start);
+ +
48 void gpr_histogram_add(gpr_histogram *h, double x);
+
49 
+
50 /* The following merges the second histogram into the first. It only works
+
51  if they have the same buckets and resolution. Returns 0 on failure, 1
+
52  on success */
+ +
54 
+
55 double gpr_histogram_percentile(gpr_histogram *histogram, double percentile);
+
56 double gpr_histogram_mean(gpr_histogram *histogram);
+
57 double gpr_histogram_stddev(gpr_histogram *histogram);
+
58 double gpr_histogram_variance(gpr_histogram *histogram);
+
59 double gpr_histogram_maximum(gpr_histogram *histogram);
+
60 double gpr_histogram_minimum(gpr_histogram *histogram);
+
61 double gpr_histogram_count(gpr_histogram *histogram);
+
62 double gpr_histogram_sum(gpr_histogram *histogram);
+ +
64 
+ +
66  size_t *count);
+ +
68  const gpr_uint32 *data, size_t data_count,
+
69  double min_seen, double max_seen, double sum,
+
70  double sum_of_squares, double count);
+
71 
+
72 #ifdef __cplusplus
+
73 }
+
74 #endif
+
75 
+
76 #endif /* GRPC_SUPPORT_HISTOGRAM_H */
+
Definition: histogram.c:50
+ +
double gpr_histogram_sum(gpr_histogram *histogram)
Definition: histogram.c:232
+
double gpr_histogram_minimum(gpr_histogram *histogram)
Definition: histogram.c:228
+
double sum_of_squares
Definition: histogram.c:54
+
double gpr_histogram_variance(gpr_histogram *histogram)
Definition: histogram.c:220
+
uint32_t gpr_uint32
Definition: port_platform.h:309
+
int gpr_histogram_merge(gpr_histogram *dst, gpr_histogram *src)
Definition: histogram.c:128
+
double min_seen
Definition: histogram.c:61
+
void gpr_histogram_merge_contents(gpr_histogram *histogram, const gpr_uint32 *data, size_t data_count, double min_seen, double max_seen, double sum, double sum_of_squares, double count)
Definition: histogram.c:140
+
double gpr_histogram_maximum(gpr_histogram *histogram)
Definition: histogram.c:226
+
double count
Definition: histogram.c:56
+
double gpr_histogram_mean(gpr_histogram *histogram)
Definition: histogram.c:211
+
gpr_histogram * gpr_histogram_create(double resolution, double max_bucket_start)
Definition: histogram.c:89
+
double gpr_histogram_sum_of_squares(gpr_histogram *histogram)
Definition: histogram.c:234
+
double gpr_histogram_count(gpr_histogram *histogram)
Definition: histogram.c:230
+
void gpr_histogram_add(gpr_histogram *h, double x)
Definition: histogram.c:115
+
double sum
Definition: histogram.c:52
+
double max_seen
Definition: histogram.c:63
+
void gpr_histogram_destroy(gpr_histogram *h)
Definition: histogram.c:110
+
double gpr_histogram_stddev(gpr_histogram *histogram)
Definition: histogram.c:216
+
double gpr_histogram_percentile(gpr_histogram *histogram, double percentile)
Definition: histogram.c:207
+
const gpr_uint32 * gpr_histogram_get_contents(gpr_histogram *histogram, size_t *count)
Definition: histogram.c:238
+
+ + + + diff --git a/doc/ref/core.internal/html/host__port_8c.html b/doc/ref/core.internal/html/host__port_8c.html new file mode 100644 index 0000000000..56d782dcb4 --- /dev/null +++ b/doc/ref/core.internal/html/host__port_8c.html @@ -0,0 +1,179 @@ + + + + + + +GRPC Core: src/core/support/host_port.c File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
host_port.c File Reference
+
+
+
#include <grpc/support/host_port.h>
+#include <string.h>
+#include <grpc/support/alloc.h>
+#include <grpc/support/log.h>
+#include <grpc/support/string_util.h>
+
+ + + + + +

+Functions

int gpr_join_host_port (char **out, const char *host, int port)
 
int gpr_split_host_port (const char *name, char **host, char **port)
 
+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
int gpr_join_host_port (char ** out,
const char * host,
int port 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
int gpr_split_host_port (const char * name,
char ** host,
char ** port 
)
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/host__port_8h.html b/doc/ref/core.internal/html/host__port_8h.html new file mode 100644 index 0000000000..a8811d4598 --- /dev/null +++ b/doc/ref/core.internal/html/host__port_8h.html @@ -0,0 +1,176 @@ + + + + + + +GRPC Core: include/grpc/support/host_port.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
host_port.h File Reference
+
+
+ +

Go to the source code of this file.

+ + + + + + +

+Functions

int gpr_join_host_port (char **out, const char *host, int port)
 
int gpr_split_host_port (const char *name, char **host, char **port)
 
+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
int gpr_join_host_port (char ** out,
const char * host,
int port 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
int gpr_split_host_port (const char * name,
char ** host,
char ** port 
)
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/host__port_8h_source.html b/doc/ref/core.internal/html/host__port_8h_source.html new file mode 100644 index 0000000000..a75578f00c --- /dev/null +++ b/doc/ref/core.internal/html/host__port_8h_source.html @@ -0,0 +1,165 @@ + + + + + + +GRPC Core: include/grpc/support/host_port.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
host_port.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPC_SUPPORT_HOST_PORT_H
+
35 #define GRPC_SUPPORT_HOST_PORT_H
+
36 
+
37 #ifdef __cplusplus
+
38 extern "C" {
+
39 #endif
+
40 
+
41 /* Given a host and port, creates a newly-allocated string of the form
+
42  "host:port" or "[ho:st]:port", depending on whether the host contains colons
+
43  like an IPv6 literal. If the host is already bracketed, then additional
+
44  brackets will not be added.
+
45 
+
46  Usage is similar to gpr_asprintf: returns the number of bytes written
+
47  (excluding the final '\0'), and *out points to a string which must later be
+
48  destroyed using gpr_free().
+
49 
+
50  In the unlikely event of an error, returns -1 and sets *out to NULL. */
+
51 int gpr_join_host_port(char **out, const char *host, int port);
+
52 
+
53 /* Given a name in the form "host:port" or "[ho:st]:port", split into hostname
+
54  and port number, into newly allocated strings, which must later be
+
55  destroyed using gpr_free().
+
56  Return 1 on success, 0 on failure. Guarantees *host and *port == NULL on
+
57  failure. */
+
58 int gpr_split_host_port(const char *name, char **host, char **port);
+
59 
+
60 #ifdef __cplusplus
+
61 }
+
62 #endif
+
63 
+
64 #endif /* GRPC_SUPPORT_HOST_PORT_H */
+
int gpr_split_host_port(const char *name, char **host, char **port)
Definition: host_port.c:53
+
int gpr_join_host_port(char **out, const char *host, int port)
Definition: host_port.c:43
+
+ + + + diff --git a/doc/ref/core.internal/html/hpack__parser_8c.html b/doc/ref/core.internal/html/hpack__parser_8c.html new file mode 100644 index 0000000000..b2195f6bf8 --- /dev/null +++ b/doc/ref/core.internal/html/hpack__parser_8c.html @@ -0,0 +1,387 @@ + + + + + + +GRPC Core: src/core/transport/chttp2/hpack_parser.c File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
hpack_parser.c File Reference
+
+
+
#include "src/core/transport/chttp2/hpack_parser.h"
+#include "src/core/transport/chttp2/internal.h"
+#include <stddef.h>
+#include <string.h>
+#include <assert.h>
+#include "src/core/transport/chttp2/bin_encoder.h"
+#include <grpc/support/alloc.h>
+#include <grpc/support/log.h>
+#include <grpc/support/port_platform.h>
+#include <grpc/support/useful.h>
+
+ + + + + + + +

+Enumerations

enum  binary_state {
+  NOT_BINARY, +B64_BYTE0, +B64_BYTE1, +B64_BYTE2, +
+  B64_BYTE3 +
+ }
 
enum  first_byte_type {
+  INDEXED_FIELD, +INDEXED_FIELD_X, +LITHDR_INCIDX, +LITHDR_INCIDX_X, +
+  LITHDR_INCIDX_V, +LITHDR_NOTIDX, +LITHDR_NOTIDX_X, +LITHDR_NOTIDX_V, +
+  LITHDR_NVRIDX, +LITHDR_NVRIDX_X, +LITHDR_NVRIDX_V, +MAX_TBL_SIZE, +
+  MAX_TBL_SIZE_X, +ILLEGAL +
+ }
 
enum  is_binary_header { BINARY_HEADER, +PLAINTEXT_HEADER, +ERROR_HEADER + }
 
+ + + + + + + + + + + +

+Functions

void grpc_chttp2_hpack_parser_init (grpc_chttp2_hpack_parser *p, grpc_mdctx *mdctx)
 
void grpc_chttp2_hpack_parser_set_has_priority (grpc_chttp2_hpack_parser *p)
 
void grpc_chttp2_hpack_parser_destroy (grpc_chttp2_hpack_parser *p)
 
int grpc_chttp2_hpack_parser_parse (grpc_chttp2_hpack_parser *p, const gpr_uint8 *beg, const gpr_uint8 *end)
 
grpc_chttp2_parse_error grpc_chttp2_header_parser_parse (void *hpack_parser, grpc_chttp2_transport_parsing *transport_parsing, grpc_chttp2_stream_parsing *stream_parsing, gpr_slice slice, int is_last)
 
+

Enumeration Type Documentation

+ +
+
+ + + + +
enum binary_state
+
+ + + + + + +
Enumerator
NOT_BINARY  +
B64_BYTE0  +
B64_BYTE1  +
B64_BYTE2  +
B64_BYTE3  +
+ +
+
+ +
+
+ + + + +
enum first_byte_type
+
+ + + + + + + + + + + + + + + +
Enumerator
INDEXED_FIELD  +
INDEXED_FIELD_X  +
LITHDR_INCIDX  +
LITHDR_INCIDX_X  +
LITHDR_INCIDX_V  +
LITHDR_NOTIDX  +
LITHDR_NOTIDX_X  +
LITHDR_NOTIDX_V  +
LITHDR_NVRIDX  +
LITHDR_NVRIDX_X  +
LITHDR_NVRIDX_V  +
MAX_TBL_SIZE  +
MAX_TBL_SIZE_X  +
ILLEGAL  +
+ +
+
+ +
+
+ + + + +
enum is_binary_header
+
+ + + + +
Enumerator
BINARY_HEADER  +
PLAINTEXT_HEADER  +
ERROR_HEADER  +
+ +
+
+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
grpc_chttp2_parse_error grpc_chttp2_header_parser_parse (void * hpack_parser,
grpc_chttp2_transport_parsingtransport_parsing,
grpc_chttp2_stream_parsingstream_parsing,
gpr_slice slice,
int is_last 
)
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_chttp2_hpack_parser_destroy (grpc_chttp2_hpack_parserp)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void grpc_chttp2_hpack_parser_init (grpc_chttp2_hpack_parserp,
grpc_mdctxmdctx 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
int grpc_chttp2_hpack_parser_parse (grpc_chttp2_hpack_parserp,
const gpr_uint8beg,
const gpr_uint8end 
)
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_chttp2_hpack_parser_set_has_priority (grpc_chttp2_hpack_parserp)
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/hpack__parser_8h.html b/doc/ref/core.internal/html/hpack__parser_8h.html new file mode 100644 index 0000000000..ffcdac3605 --- /dev/null +++ b/doc/ref/core.internal/html/hpack__parser_8h.html @@ -0,0 +1,299 @@ + + + + + + +GRPC Core: src/core/transport/chttp2/hpack_parser.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
hpack_parser.h File Reference
+
+
+ +

Go to the source code of this file.

+ + + + + + +

+Data Structures

struct  grpc_chttp2_hpack_parser_string
 
struct  grpc_chttp2_hpack_parser
 
+ + + + + +

+Typedefs

typedef struct
+grpc_chttp2_hpack_parser 
grpc_chttp2_hpack_parser
 
typedef int(* grpc_chttp2_hpack_parser_state )(grpc_chttp2_hpack_parser *p, const gpr_uint8 *beg, const gpr_uint8 *end)
 
+ + + + + + + + + + + +

+Functions

void grpc_chttp2_hpack_parser_init (grpc_chttp2_hpack_parser *p, grpc_mdctx *mdctx)
 
void grpc_chttp2_hpack_parser_destroy (grpc_chttp2_hpack_parser *p)
 
void grpc_chttp2_hpack_parser_set_has_priority (grpc_chttp2_hpack_parser *p)
 
int grpc_chttp2_hpack_parser_parse (grpc_chttp2_hpack_parser *p, const gpr_uint8 *beg, const gpr_uint8 *end)
 
grpc_chttp2_parse_error grpc_chttp2_header_parser_parse (void *hpack_parser, grpc_chttp2_transport_parsing *transport_parsing, grpc_chttp2_stream_parsing *stream_parsing, gpr_slice slice, int is_last)
 
+

Typedef Documentation

+ +
+
+ +
+
+ +
+
+ + + + +
typedef int(* grpc_chttp2_hpack_parser_state)(grpc_chttp2_hpack_parser *p, const gpr_uint8 *beg, const gpr_uint8 *end)
+
+ +
+
+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
grpc_chttp2_parse_error grpc_chttp2_header_parser_parse (void * hpack_parser,
grpc_chttp2_transport_parsingtransport_parsing,
grpc_chttp2_stream_parsingstream_parsing,
gpr_slice slice,
int is_last 
)
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_chttp2_hpack_parser_destroy (grpc_chttp2_hpack_parserp)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void grpc_chttp2_hpack_parser_init (grpc_chttp2_hpack_parserp,
grpc_mdctxmdctx 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
int grpc_chttp2_hpack_parser_parse (grpc_chttp2_hpack_parserp,
const gpr_uint8beg,
const gpr_uint8end 
)
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_chttp2_hpack_parser_set_has_priority (grpc_chttp2_hpack_parserp)
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/hpack__parser_8h_source.html b/doc/ref/core.internal/html/hpack__parser_8h_source.html new file mode 100644 index 0000000000..7f16d1fa30 --- /dev/null +++ b/doc/ref/core.internal/html/hpack__parser_8h_source.html @@ -0,0 +1,257 @@ + + + + + + +GRPC Core: src/core/transport/chttp2/hpack_parser.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
hpack_parser.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPC_INTERNAL_CORE_TRANSPORT_CHTTP2_HPACK_PARSER_H
+
35 #define GRPC_INTERNAL_CORE_TRANSPORT_CHTTP2_HPACK_PARSER_H
+
36 
+
37 #include <stddef.h>
+
38 
+ + + + +
43 
+ +
45 
+ +
47  const gpr_uint8 *beg,
+
48  const gpr_uint8 *end);
+
49 
+
50 typedef struct {
+
51  char *str;
+ + + +
55 
+ +
57  /* user specified callback for each header output */
+
58  void (*on_header)(void *user_data, grpc_mdelem *md);
+ +
60 
+
61  /* current parse state - or a function that implements it */
+ +
63  /* future states dependent on the opening op code */
+ +
65  /* what to do after skipping prioritization data */
+ +
67  /* the value we're currently parsing */
+
68  union {
+ + +
71  } parsing;
+
72  /* string parameters for each chunk */
+ + +
75  /* parsed index */
+ +
77  /* length of source bytes for the currently parsing string */
+ +
79  /* number of source bytes read for the currently parsing string */
+ +
81  /* huffman decoding state */
+ +
83  /* is the string being decoded binary? */
+ +
85  /* is the current string huffman encoded? */
+ +
87  /* set by higher layers, used by grpc_chttp2_header_parser_parse to signal
+
88  it should append a metadata boundary at the end of frame */
+ + + +
92 
+
93  /* hpack table */
+ +
95 };
+
96 
+ +
98  grpc_mdctx *mdctx);
+ +
100 
+ +
102 
+
103 /* returns 1 on success, 0 on error */
+ +
105  const gpr_uint8 *beg, const gpr_uint8 *end);
+
106 
+
107 /* wraps grpc_chttp2_hpack_parser_parse to provide a frame level parser for
+
108  the transport */
+ +
110  void *hpack_parser, grpc_chttp2_transport_parsing *transport_parsing,
+
111  grpc_chttp2_stream_parsing *stream_parsing, gpr_slice slice, int is_last);
+
112 
+
113 #endif /* GRPC_INTERNAL_CORE_TRANSPORT_CHTTP2_HPACK_PARSER_H */
+
void grpc_chttp2_hpack_parser_init(grpc_chttp2_hpack_parser *p, grpc_mdctx *mdctx)
Definition: hpack_parser.c:1343
+ +
uint8_t gpr_uint8
Definition: port_platform.h:307
+
int grpc_chttp2_hpack_parser_parse(grpc_chttp2_hpack_parser *p, const gpr_uint8 *beg, const gpr_uint8 *end)
Definition: hpack_parser.c:1368
+
Definition: hpack_table.h:59
+
grpc_chttp2_parse_error
Definition: frame.h:42
+ +
Definition: hpack_parser.h:56
+
uint32_t gpr_uint32
Definition: port_platform.h:309
+
gpr_uint32 capacity
Definition: hpack_parser.h:53
+
grpc_chttp2_hpack_parser_state state
Definition: hpack_parser.h:62
+
gpr_uint8 huff
Definition: hpack_parser.h:86
+ +
grpc_chttp2_hpack_parser_state after_prioritization
Definition: hpack_parser.h:66
+
gpr_uint16 huff_state
Definition: hpack_parser.h:82
+
gpr_uint32 strlen
Definition: hpack_parser.h:78
+
gpr_uint32 length
Definition: hpack_parser.h:52
+ +
void grpc_chttp2_hpack_parser_destroy(grpc_chttp2_hpack_parser *p)
Definition: hpack_parser.c:1362
+
gpr_uint8 is_boundary
Definition: hpack_parser.h:89
+
gpr_uint32 base64_buffer
Definition: hpack_parser.h:91
+
Definition: metadata.c:98
+
gpr_uint8 binary
Definition: hpack_parser.h:84
+
Definition: metadata.h:78
+
Definition: internal.h:215
+
grpc_chttp2_hptbl table
Definition: hpack_parser.h:94
+
uint16_t gpr_uint16
Definition: port_platform.h:308
+
gpr_uint32 strgot
Definition: hpack_parser.h:80
+
Definition: hpack_parser.h:50
+
void grpc_chttp2_hpack_parser_set_has_priority(grpc_chttp2_hpack_parser *p)
Definition: hpack_parser.c:1357
+
const grpc_chttp2_hpack_parser_state * next_state
Definition: hpack_parser.h:64
+
Definition: internal.h:412
+
void(* on_header)(void *user_data, grpc_mdelem *md)
Definition: hpack_parser.h:58
+
char * str
Definition: hpack_parser.h:51
+
grpc_chttp2_hpack_parser_string value
Definition: hpack_parser.h:74
+
int(* grpc_chttp2_hpack_parser_state)(grpc_chttp2_hpack_parser *p, const gpr_uint8 *beg, const gpr_uint8 *end)
Definition: hpack_parser.h:46
+
gpr_uint8 is_eof
Definition: hpack_parser.h:90
+
grpc_chttp2_hpack_parser_string key
Definition: hpack_parser.h:73
+
gpr_uint32 index
Definition: hpack_parser.h:76
+
grpc_chttp2_hpack_parser_string * str
Definition: hpack_parser.h:70
+
grpc_chttp2_parse_error grpc_chttp2_header_parser_parse(void *hpack_parser, grpc_chttp2_transport_parsing *transport_parsing, grpc_chttp2_stream_parsing *stream_parsing, gpr_slice slice, int is_last)
Definition: hpack_parser.c:1377
+
union grpc_chttp2_hpack_parser::@19 parsing
+
Definition: slice.h:79
+
void * on_header_user_data
Definition: hpack_parser.h:59
+
gpr_uint32 * value
Definition: hpack_parser.h:69
+
+ + + + diff --git a/doc/ref/core.internal/html/hpack__table_8c.html b/doc/ref/core.internal/html/hpack__table_8c.html new file mode 100644 index 0000000000..dca6c0b788 --- /dev/null +++ b/doc/ref/core.internal/html/hpack__table_8c.html @@ -0,0 +1,266 @@ + + + + + + +GRPC Core: src/core/transport/chttp2/hpack_table.c File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
hpack_table.c File Reference
+
+
+
#include "src/core/transport/chttp2/hpack_table.h"
+#include <assert.h>
+#include <string.h>
+#include <grpc/support/log.h>
+#include "src/core/support/murmur_hash.h"
+
+ + + + + + + + + + + +

+Functions

void grpc_chttp2_hptbl_init (grpc_chttp2_hptbl *tbl, grpc_mdctx *mdctx)
 
void grpc_chttp2_hptbl_destroy (grpc_chttp2_hptbl *tbl)
 
grpc_mdelemgrpc_chttp2_hptbl_lookup (const grpc_chttp2_hptbl *tbl, gpr_uint32 index)
 
void grpc_chttp2_hptbl_add (grpc_chttp2_hptbl *tbl, grpc_mdelem *md)
 
grpc_chttp2_hptbl_find_result grpc_chttp2_hptbl_find (const grpc_chttp2_hptbl *tbl, grpc_mdelem *md)
 
+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
void grpc_chttp2_hptbl_add (grpc_chttp2_hptbltbl,
grpc_mdelemmd 
)
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_chttp2_hptbl_destroy (grpc_chttp2_hptbltbl)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
grpc_chttp2_hptbl_find_result grpc_chttp2_hptbl_find (const grpc_chttp2_hptbltbl,
grpc_mdelemmd 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void grpc_chttp2_hptbl_init (grpc_chttp2_hptbltbl,
grpc_mdctxmdctx 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
grpc_mdelem* grpc_chttp2_hptbl_lookup (const grpc_chttp2_hptbltbl,
gpr_uint32 index 
)
+
+ +
+
+

Variable Documentation

+ +
+
+ + + + +
const char* key
+
+ +
+
+ +
+
+ + + + +
const char* value
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/hpack__table_8h.html b/doc/ref/core.internal/html/hpack__table_8h.html new file mode 100644 index 0000000000..255d17c94a --- /dev/null +++ b/doc/ref/core.internal/html/hpack__table_8h.html @@ -0,0 +1,328 @@ + + + + + + +GRPC Core: src/core/transport/chttp2/hpack_table.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
hpack_table.h File Reference
+
+
+ +

Go to the source code of this file.

+ + + + + + +

+Data Structures

struct  grpc_chttp2_hptbl
 
struct  grpc_chttp2_hptbl_find_result
 
+ + + + + + + + + + + +

+Macros

#define GRPC_CHTTP2_LAST_STATIC_ENTRY   61
 
#define GRPC_CHTTP2_INITIAL_HPACK_TABLE_SIZE   4096
 
#define GRPC_CHTTP2_MAX_HPACK_TABLE_SIZE   GRPC_CHTTP2_INITIAL_HPACK_TABLE_SIZE
 
#define GRPC_CHTTP2_HPACK_ENTRY_OVERHEAD   32
 
#define GRPC_CHTTP2_MAX_TABLE_COUNT
 
+ + + + + + + + + + + +

+Functions

void grpc_chttp2_hptbl_init (grpc_chttp2_hptbl *tbl, grpc_mdctx *mdctx)
 
void grpc_chttp2_hptbl_destroy (grpc_chttp2_hptbl *tbl)
 
grpc_mdelemgrpc_chttp2_hptbl_lookup (const grpc_chttp2_hptbl *tbl, gpr_uint32 index)
 
void grpc_chttp2_hptbl_add (grpc_chttp2_hptbl *tbl, grpc_mdelem *md)
 
grpc_chttp2_hptbl_find_result grpc_chttp2_hptbl_find (const grpc_chttp2_hptbl *tbl, grpc_mdelem *md)
 
+

Macro Definition Documentation

+ +
+
+ + + + +
#define GRPC_CHTTP2_HPACK_ENTRY_OVERHEAD   32
+
+ +
+
+ +
+
+ + + + +
#define GRPC_CHTTP2_INITIAL_HPACK_TABLE_SIZE   4096
+
+ +
+
+ +
+
+ + + + +
#define GRPC_CHTTP2_LAST_STATIC_ENTRY   61
+
+ +
+
+ +
+
+ + + + +
#define GRPC_CHTTP2_MAX_HPACK_TABLE_SIZE   GRPC_CHTTP2_INITIAL_HPACK_TABLE_SIZE
+
+ +
+
+ +
+
+ + + + +
#define GRPC_CHTTP2_MAX_TABLE_COUNT
+
+Value:
+ +
#define GRPC_CHTTP2_HPACK_ENTRY_OVERHEAD
Definition: hpack_table.h:51
+
#define GRPC_CHTTP2_MAX_HPACK_TABLE_SIZE
Definition: hpack_table.h:49
+
+
+
+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
void grpc_chttp2_hptbl_add (grpc_chttp2_hptbltbl,
grpc_mdelemmd 
)
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_chttp2_hptbl_destroy (grpc_chttp2_hptbltbl)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
grpc_chttp2_hptbl_find_result grpc_chttp2_hptbl_find (const grpc_chttp2_hptbltbl,
grpc_mdelemmd 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void grpc_chttp2_hptbl_init (grpc_chttp2_hptbltbl,
grpc_mdctxmdctx 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
grpc_mdelem* grpc_chttp2_hptbl_lookup (const grpc_chttp2_hptbltbl,
gpr_uint32 index 
)
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/hpack__table_8h_source.html b/doc/ref/core.internal/html/hpack__table_8h_source.html new file mode 100644 index 0000000000..285e07d0c5 --- /dev/null +++ b/doc/ref/core.internal/html/hpack__table_8h_source.html @@ -0,0 +1,221 @@ + + + + + + +GRPC Core: src/core/transport/chttp2/hpack_table.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
hpack_table.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPC_INTERNAL_CORE_TRANSPORT_CHTTP2_HPACK_TABLE_H
+
35 #define GRPC_INTERNAL_CORE_TRANSPORT_CHTTP2_HPACK_TABLE_H
+
36 
+ + +
39 #include <grpc/support/slice.h>
+
40 
+
41 /* HPACK header table */
+
42 
+
43 /* last index in the static table */
+
44 #define GRPC_CHTTP2_LAST_STATIC_ENTRY 61
+
45 
+
46 /* Initial table size as per the spec */
+
47 #define GRPC_CHTTP2_INITIAL_HPACK_TABLE_SIZE 4096
+
48 /* Maximum table size that we'll use */
+
49 #define GRPC_CHTTP2_MAX_HPACK_TABLE_SIZE GRPC_CHTTP2_INITIAL_HPACK_TABLE_SIZE
+
50 /* Per entry overhead bytes as per the spec */
+
51 #define GRPC_CHTTP2_HPACK_ENTRY_OVERHEAD 32
+
52 /* Maximum number of entries we could possibly fit in the table, given defined
+
53  overheads */
+
54 #define GRPC_CHTTP2_MAX_TABLE_COUNT \
+
55  ((GRPC_CHTTP2_MAX_HPACK_TABLE_SIZE + GRPC_CHTTP2_HPACK_ENTRY_OVERHEAD - 1) / \
+
56  GRPC_CHTTP2_HPACK_ENTRY_OVERHEAD)
+
57 
+
58 /* hpack decoder table */
+
59 typedef struct {
+ +
61  /* the first used entry in ents */
+ +
63  /* the last used entry in ents */
+ +
65  /* how many entries are in the table */
+ +
67  /* the amount of memory used by the table, according to the hpack algorithm */
+ +
69  /* the max memory allowed to be used by the table, according to the hpack
+
70  algorithm */
+ +
72  /* a circular buffer of headers - this is stored in the opposite order to
+
73  what hpack specifies, in order to simplify table management a little...
+
74  meaning lookups need to SUBTRACT from the end position */
+ + + +
78 
+
79 /* initialize a hpack table */
+ + +
82 
+
83 /* lookup a table entry based on its hpack index */
+ +
85  gpr_uint32 index);
+
86 /* add a table entry to the index */
+ +
88 /* Find a key/value pair in the table... returns the index in the table of the
+
89  most similar entry, or 0 if the value was not found */
+
90 typedef struct {
+ + + + +
95  const grpc_chttp2_hptbl *tbl, grpc_mdelem *md);
+
96 
+
97 #endif /* GRPC_INTERNAL_CORE_TRANSPORT_CHTTP2_HPACK_TABLE_H */
+
void grpc_chttp2_hptbl_destroy(grpc_chttp2_hptbl *tbl)
Definition: hpack_table.c:122
+ +
uint8_t gpr_uint8
Definition: port_platform.h:307
+
gpr_uint16 index
Definition: hpack_table.h:91
+
gpr_uint16 max_bytes
Definition: hpack_table.h:71
+
#define GRPC_CHTTP2_LAST_STATIC_ENTRY
Definition: hpack_table.h:44
+
Definition: hpack_table.h:59
+ +
uint32_t gpr_uint32
Definition: port_platform.h:309
+
grpc_mdelem * grpc_chttp2_hptbl_lookup(const grpc_chttp2_hptbl *tbl, gpr_uint32 index)
Definition: hpack_table.c:133
+
gpr_uint16 num_ents
Definition: hpack_table.h:66
+
grpc_mdctx * mdctx
Definition: hpack_table.h:60
+
gpr_uint16 last_ent
Definition: hpack_table.h:64
+
Definition: metadata.c:98
+
Definition: metadata.h:78
+
void grpc_chttp2_hptbl_add(grpc_chttp2_hptbl *tbl, grpc_mdelem *md)
Definition: hpack_table.c:161
+
uint16_t gpr_uint16
Definition: port_platform.h:308
+
gpr_uint16 first_ent
Definition: hpack_table.h:62
+ +
grpc_chttp2_hptbl_find_result grpc_chttp2_hptbl_find(const grpc_chttp2_hptbl *tbl, grpc_mdelem *md)
Definition: hpack_table.c:198
+
gpr_uint8 has_value
Definition: hpack_table.h:92
+
Definition: hpack_table.h:90
+
#define GRPC_CHTTP2_MAX_TABLE_COUNT
Definition: hpack_table.h:54
+
gpr_uint16 mem_used
Definition: hpack_table.h:68
+
void grpc_chttp2_hptbl_init(grpc_chttp2_hptbl *tbl, grpc_mdctx *mdctx)
Definition: hpack_table.c:110
+
+ + + + diff --git a/doc/ref/core.internal/html/http2__errors_8h.html b/doc/ref/core.internal/html/http2__errors_8h.html new file mode 100644 index 0000000000..237aff1ccb --- /dev/null +++ b/doc/ref/core.internal/html/http2__errors_8h.html @@ -0,0 +1,171 @@ + + + + + + +GRPC Core: src/core/transport/chttp2/http2_errors.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
http2_errors.h File Reference
+
+
+ +

Go to the source code of this file.

+ + + + +

+Enumerations

enum  grpc_chttp2_error_code {
+  GRPC_CHTTP2_NO_ERROR = 0x0, +GRPC_CHTTP2_PROTOCOL_ERROR = 0x1, +GRPC_CHTTP2_INTERNAL_ERROR = 0x2, +GRPC_CHTTP2_FLOW_CONTROL_ERROR = 0x3, +
+  GRPC_CHTTP2_SETTINGS_TIMEOUT = 0x4, +GRPC_CHTTP2_STREAM_CLOSED = 0x5, +GRPC_CHTTP2_FRAME_SIZE_ERROR = 0x6, +GRPC_CHTTP2_REFUSED_STREAM = 0x7, +
+  GRPC_CHTTP2_CANCEL = 0x8, +GRPC_CHTTP2_COMPRESSION_ERROR = 0x9, +GRPC_CHTTP2_CONNECT_ERROR = 0xa, +GRPC_CHTTP2_ENHANCE_YOUR_CALM = 0xb, +
+  GRPC_CHTTP2_INADEQUATE_SECURITY = 0xc, +GRPC_CHTTP2__ERROR_DO_NOT_USE = -1 +
+ }
 
+

Enumeration Type Documentation

+ +
+
+ + + + +
enum grpc_chttp2_error_code
+
+ + + + + + + + + + + + + + + +
Enumerator
GRPC_CHTTP2_NO_ERROR  +
GRPC_CHTTP2_PROTOCOL_ERROR  +
GRPC_CHTTP2_INTERNAL_ERROR  +
GRPC_CHTTP2_FLOW_CONTROL_ERROR  +
GRPC_CHTTP2_SETTINGS_TIMEOUT  +
GRPC_CHTTP2_STREAM_CLOSED  +
GRPC_CHTTP2_FRAME_SIZE_ERROR  +
GRPC_CHTTP2_REFUSED_STREAM  +
GRPC_CHTTP2_CANCEL  +
GRPC_CHTTP2_COMPRESSION_ERROR  +
GRPC_CHTTP2_CONNECT_ERROR  +
GRPC_CHTTP2_ENHANCE_YOUR_CALM  +
GRPC_CHTTP2_INADEQUATE_SECURITY  +
GRPC_CHTTP2__ERROR_DO_NOT_USE  +
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/http2__errors_8h_source.html b/doc/ref/core.internal/html/http2__errors_8h_source.html new file mode 100644 index 0000000000..c03552fa18 --- /dev/null +++ b/doc/ref/core.internal/html/http2__errors_8h_source.html @@ -0,0 +1,170 @@ + + + + + + +GRPC Core: src/core/transport/chttp2/http2_errors.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
http2_errors.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPC_INTERNAL_CORE_TRANSPORT_CHTTP2_HTTP2_ERRORS_H
+
35 #define GRPC_INTERNAL_CORE_TRANSPORT_CHTTP2_HTTP2_ERRORS_H
+
36 
+
37 /* error codes for RST_STREAM from http2 draft 14 section 7 */
+
38 typedef enum {
+ + + + + + + + + + + + + +
52  /* force use of a default clause */
+ + +
55 
+
56 #endif /* GRPC_INTERNAL_CORE_TRANSPORT_CHTTP2_HTTP2_ERRORS_H */
+
Definition: http2_errors.h:51
+
Definition: http2_errors.h:42
+
Definition: http2_errors.h:50
+
Definition: http2_errors.h:47
+
Definition: http2_errors.h:53
+
Definition: http2_errors.h:46
+
Definition: http2_errors.h:49
+
Definition: http2_errors.h:40
+
Definition: http2_errors.h:39
+
Definition: http2_errors.h:44
+
Definition: http2_errors.h:41
+
Definition: http2_errors.h:45
+
grpc_chttp2_error_code
Definition: http2_errors.h:38
+
Definition: http2_errors.h:48
+
Definition: http2_errors.h:43
+
+ + + + diff --git a/doc/ref/core.internal/html/http__client__filter_8c.html b/doc/ref/core.internal/html/http__client__filter_8c.html new file mode 100644 index 0000000000..3b7988a776 --- /dev/null +++ b/doc/ref/core.internal/html/http__client__filter_8c.html @@ -0,0 +1,175 @@ + + + + + + +GRPC Core: src/core/channel/http_client_filter.c File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
http_client_filter.c File Reference
+
+
+ + + + + + +

+Data Structures

struct  call_data
 
struct  channel_data
 
+ + + + + +

+Typedefs

typedef struct call_data call_data
 
typedef struct channel_data channel_data
 
+ + + +

+Variables

const grpc_channel_filter grpc_http_client_filter
 
+

Typedef Documentation

+ +
+
+ + + + +
typedef struct call_data call_data
+
+ +
+
+ +
+
+ + + + +
typedef struct channel_data channel_data
+
+ +
+
+

Variable Documentation

+ +
+
+ + + + +
const grpc_channel_filter grpc_http_client_filter
+
+Initial value:
= {
+
hc_start_transport_op, grpc_channel_next_op, sizeof(call_data),
+
init_call_elem, destroy_call_elem, sizeof(channel_data),
+
init_channel_elem, destroy_channel_elem, grpc_call_next_get_peer,
+
"http-client"}
+
char * grpc_call_next_get_peer(grpc_call_element *elem)
Definition: channel_stack.c:194
+
Definition: client_auth_filter.c:69
+
void grpc_channel_next_op(grpc_channel_element *elem, grpc_transport_op *op)
Definition: channel_stack.c:199
+
struct call_data call_data
+
+
+
+
+ + + + diff --git a/doc/ref/core.internal/html/http__client__filter_8h.html b/doc/ref/core.internal/html/http__client__filter_8h.html new file mode 100644 index 0000000000..d5629dc59c --- /dev/null +++ b/doc/ref/core.internal/html/http__client__filter_8h.html @@ -0,0 +1,142 @@ + + + + + + +GRPC Core: src/core/channel/http_client_filter.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
http_client_filter.h File Reference
+
+
+ +

Go to the source code of this file.

+ + + + +

+Macros

#define GRPC_ARG_HTTP2_SCHEME   "grpc.http2_scheme"
 
+ + + +

+Variables

const grpc_channel_filter grpc_http_client_filter
 
+

Macro Definition Documentation

+ +
+
+ + + + +
#define GRPC_ARG_HTTP2_SCHEME   "grpc.http2_scheme"
+
+ +
+
+

Variable Documentation

+ +
+
+ + + + +
const grpc_channel_filter grpc_http_client_filter
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/http__client__filter_8h_source.html b/doc/ref/core.internal/html/http__client__filter_8h_source.html new file mode 100644 index 0000000000..d384695581 --- /dev/null +++ b/doc/ref/core.internal/html/http__client__filter_8h_source.html @@ -0,0 +1,146 @@ + + + + + + +GRPC Core: src/core/channel/http_client_filter.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
http_client_filter.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPC_INTERNAL_CORE_CHANNEL_HTTP_CLIENT_FILTER_H
+
35 #define GRPC_INTERNAL_CORE_CHANNEL_HTTP_CLIENT_FILTER_H
+
36 
+ +
38 
+
39 /* Processes metadata on the client side for HTTP2 transports */
+ +
41 
+
42 #define GRPC_ARG_HTTP2_SCHEME "grpc.http2_scheme"
+
43 
+
44 #endif /* GRPC_INTERNAL_CORE_CHANNEL_HTTP_CLIENT_FILTER_H */
+
Definition: channel_stack.h:64
+ +
const grpc_channel_filter grpc_http_client_filter
Definition: http_client_filter.c:314
+
+ + + + diff --git a/doc/ref/core.internal/html/http__server__filter_8c.html b/doc/ref/core.internal/html/http__server__filter_8c.html new file mode 100644 index 0000000000..d8db199993 --- /dev/null +++ b/doc/ref/core.internal/html/http__server__filter_8c.html @@ -0,0 +1,174 @@ + + + + + + +GRPC Core: src/core/channel/http_server_filter.c File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
http_server_filter.c File Reference
+
+
+ + + + + + +

+Data Structures

struct  call_data
 
struct  channel_data
 
+ + + + + +

+Typedefs

typedef struct call_data call_data
 
typedef struct channel_data channel_data
 
+ + + +

+Variables

const grpc_channel_filter grpc_http_server_filter
 
+

Typedef Documentation

+ +
+
+ + + + +
typedef struct call_data call_data
+
+ +
+
+ +
+
+ + + + +
typedef struct channel_data channel_data
+
+ +
+
+

Variable Documentation

+ +
+
+ + + + +
const grpc_channel_filter grpc_http_server_filter
+
+Initial value:
= {
+
hs_start_transport_op, grpc_channel_next_op, sizeof(call_data),
+
init_call_elem, destroy_call_elem, sizeof(channel_data),
+
init_channel_elem, destroy_channel_elem, grpc_call_next_get_peer,
+
"http-server"}
+
char * grpc_call_next_get_peer(grpc_call_element *elem)
Definition: channel_stack.c:194
+
Definition: client_auth_filter.c:69
+
void grpc_channel_next_op(grpc_channel_element *elem, grpc_transport_op *op)
Definition: channel_stack.c:199
+
struct call_data call_data
+
+
+
+
+ + + + diff --git a/doc/ref/core.internal/html/http__server__filter_8h.html b/doc/ref/core.internal/html/http__server__filter_8h.html new file mode 100644 index 0000000000..453ea8a396 --- /dev/null +++ b/doc/ref/core.internal/html/http__server__filter_8h.html @@ -0,0 +1,123 @@ + + + + + + +GRPC Core: src/core/channel/http_server_filter.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
http_server_filter.h File Reference
+
+
+ +

Go to the source code of this file.

+ + + + +

+Variables

const grpc_channel_filter grpc_http_server_filter
 
+

Variable Documentation

+ +
+
+ + + + +
const grpc_channel_filter grpc_http_server_filter
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/http__server__filter_8h_source.html b/doc/ref/core.internal/html/http__server__filter_8h_source.html new file mode 100644 index 0000000000..0b2e3f92d0 --- /dev/null +++ b/doc/ref/core.internal/html/http__server__filter_8h_source.html @@ -0,0 +1,144 @@ + + + + + + +GRPC Core: src/core/channel/http_server_filter.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
http_server_filter.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPC_INTERNAL_CORE_CHANNEL_HTTP_SERVER_FILTER_H
+
35 #define GRPC_INTERNAL_CORE_CHANNEL_HTTP_SERVER_FILTER_H
+
36 
+ +
38 
+
39 /* Processes metadata on the client side for HTTP2 transports */
+ +
41 
+
42 #endif /* GRPC_INTERNAL_CORE_CHANNEL_HTTP_SERVER_FILTER_H */
+
Definition: channel_stack.h:64
+ +
const grpc_channel_filter grpc_http_server_filter
Definition: http_server_filter.c:288
+
+ + + + diff --git a/doc/ref/core.internal/html/httpcli_8c.html b/doc/ref/core.internal/html/httpcli_8c.html new file mode 100644 index 0000000000..80043e34ba --- /dev/null +++ b/doc/ref/core.internal/html/httpcli_8c.html @@ -0,0 +1,305 @@ + + + + + + +GRPC Core: src/core/httpcli/httpcli.c File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
httpcli.c File Reference
+
+
+ + + + +

+Data Structures

struct  internal_request
 
+ + + + + + + + + + + +

+Functions

void grpc_httpcli_context_init (grpc_httpcli_context *context)
 
void grpc_httpcli_context_destroy (grpc_httpcli_context *context)
 
void grpc_httpcli_get (grpc_httpcli_context *context, grpc_pollset *pollset, const grpc_httpcli_request *request, gpr_timespec deadline, grpc_httpcli_response_cb on_response, void *user_data)
 
void grpc_httpcli_post (grpc_httpcli_context *context, grpc_pollset *pollset, const grpc_httpcli_request *request, const char *body_bytes, size_t body_size, gpr_timespec deadline, grpc_httpcli_response_cb on_response, void *user_data)
 
void grpc_httpcli_set_override (grpc_httpcli_get_override get, grpc_httpcli_post_override post)
 
+

Function Documentation

+ +
+
+ + + + + + + + +
void grpc_httpcli_context_destroy (grpc_httpcli_contextcontext)
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_httpcli_context_init (grpc_httpcli_contextcontext)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void grpc_httpcli_get (grpc_httpcli_contextcontext,
grpc_pollsetpollset,
const grpc_httpcli_requestrequest,
gpr_timespec deadline,
grpc_httpcli_response_cb on_response,
void * user_data 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void grpc_httpcli_post (grpc_httpcli_contextcontext,
grpc_pollsetpollset,
const grpc_httpcli_requestrequest,
const char * body_bytes,
size_t body_size,
gpr_timespec deadline,
grpc_httpcli_response_cb on_response,
void * user_data 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void grpc_httpcli_set_override (grpc_httpcli_get_override get,
grpc_httpcli_post_override post 
)
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/httpcli_8h.html b/doc/ref/core.internal/html/httpcli_8h.html new file mode 100644 index 0000000000..8ab22e1d1b --- /dev/null +++ b/doc/ref/core.internal/html/httpcli_8h.html @@ -0,0 +1,440 @@ + + + + + + +GRPC Core: src/core/httpcli/httpcli.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
httpcli.h File Reference
+
+
+
#include <stddef.h>
+#include <grpc/support/time.h>
+#include "src/core/iomgr/pollset_set.h"
+
+

Go to the source code of this file.

+ + + + + + + + + + +

+Data Structures

struct  grpc_httpcli_header
 
struct  grpc_httpcli_context
 
struct  grpc_httpcli_request
 
struct  grpc_httpcli_response
 
+ + + + + +

+Macros

#define GRPC_HTTPCLI_USER_AGENT   "grpc-httpcli/0.0"
 
#define GRPC_HTTPCLI_MAX_HEADER_LENGTH   4096
 
+ + + + + + + + + + + + + + + +

+Typedefs

typedef struct grpc_httpcli_header grpc_httpcli_header
 
typedef struct grpc_httpcli_context grpc_httpcli_context
 
typedef struct grpc_httpcli_request grpc_httpcli_request
 
typedef struct
+grpc_httpcli_response 
grpc_httpcli_response
 
typedef void(* grpc_httpcli_response_cb )(void *user_data, const grpc_httpcli_response *response)
 
typedef int(* grpc_httpcli_get_override )(const grpc_httpcli_request *request, gpr_timespec deadline, grpc_httpcli_response_cb on_response, void *user_data)
 
typedef int(* grpc_httpcli_post_override )(const grpc_httpcli_request *request, const char *body_bytes, size_t body_size, gpr_timespec deadline, grpc_httpcli_response_cb on_response, void *user_data)
 
+ + + + + + + + + + + +

+Functions

void grpc_httpcli_context_init (grpc_httpcli_context *context)
 
void grpc_httpcli_context_destroy (grpc_httpcli_context *context)
 
void grpc_httpcli_get (grpc_httpcli_context *context, grpc_pollset *pollset, const grpc_httpcli_request *request, gpr_timespec deadline, grpc_httpcli_response_cb on_response, void *user_data)
 
void grpc_httpcli_post (grpc_httpcli_context *context, grpc_pollset *pollset, const grpc_httpcli_request *request, const char *body_bytes, size_t body_size, gpr_timespec deadline, grpc_httpcli_response_cb on_response, void *user_data)
 
void grpc_httpcli_set_override (grpc_httpcli_get_override get, grpc_httpcli_post_override post)
 
+

Macro Definition Documentation

+ +
+
+ + + + +
#define GRPC_HTTPCLI_MAX_HEADER_LENGTH   4096
+
+ +
+
+ +
+
+ + + + +
#define GRPC_HTTPCLI_USER_AGENT   "grpc-httpcli/0.0"
+
+ +
+
+

Typedef Documentation

+ +
+
+ + + + +
typedef struct grpc_httpcli_context grpc_httpcli_context
+
+ +
+
+ +
+
+ + + + +
typedef int(* grpc_httpcli_get_override)(const grpc_httpcli_request *request, gpr_timespec deadline, grpc_httpcli_response_cb on_response, void *user_data)
+
+ +
+
+ +
+
+ + + + +
typedef struct grpc_httpcli_header grpc_httpcli_header
+
+ +
+
+ +
+
+ + + + +
typedef int(* grpc_httpcli_post_override)(const grpc_httpcli_request *request, const char *body_bytes, size_t body_size, gpr_timespec deadline, grpc_httpcli_response_cb on_response, void *user_data)
+
+ +
+
+ +
+
+ + + + +
typedef struct grpc_httpcli_request grpc_httpcli_request
+
+ +
+
+ +
+
+ + + + +
typedef struct grpc_httpcli_response grpc_httpcli_response
+
+ +
+
+ +
+
+ + + + +
typedef void(* grpc_httpcli_response_cb)(void *user_data, const grpc_httpcli_response *response)
+
+ +
+
+

Function Documentation

+ +
+
+ + + + + + + + +
void grpc_httpcli_context_destroy (grpc_httpcli_contextcontext)
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_httpcli_context_init (grpc_httpcli_contextcontext)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void grpc_httpcli_get (grpc_httpcli_contextcontext,
grpc_pollsetpollset,
const grpc_httpcli_requestrequest,
gpr_timespec deadline,
grpc_httpcli_response_cb on_response,
void * user_data 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void grpc_httpcli_post (grpc_httpcli_contextcontext,
grpc_pollsetpollset,
const grpc_httpcli_requestrequest,
const char * body_bytes,
size_t body_size,
gpr_timespec deadline,
grpc_httpcli_response_cb on_response,
void * user_data 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void grpc_httpcli_set_override (grpc_httpcli_get_override get,
grpc_httpcli_post_override post 
)
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/httpcli_8h_source.html b/doc/ref/core.internal/html/httpcli_8h_source.html new file mode 100644 index 0000000000..d517882338 --- /dev/null +++ b/doc/ref/core.internal/html/httpcli_8h_source.html @@ -0,0 +1,279 @@ + + + + + + +GRPC Core: src/core/httpcli/httpcli.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
httpcli.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPC_INTERNAL_CORE_HTTPCLI_HTTPCLI_H
+
35 #define GRPC_INTERNAL_CORE_HTTPCLI_HTTPCLI_H
+
36 
+
37 #include <stddef.h>
+
38 
+
39 #include <grpc/support/time.h>
+
40 
+ +
42 
+
43 /* User agent this library reports */
+
44 #define GRPC_HTTPCLI_USER_AGENT "grpc-httpcli/0.0"
+
45 /* Maximum length of a header string of the form 'Key: Value\r\n' */
+
46 #define GRPC_HTTPCLI_MAX_HEADER_LENGTH 4096
+
47 
+
48 /* A single header to be passed in a request */
+
49 typedef struct grpc_httpcli_header {
+
50  char *key;
+
51  char *value;
+ +
53 
+
54 /* Tracks in-progress http requests
+
55  TODO(ctiller): allow caching and capturing multiple requests for the
+
56  same content and combining them */
+
57 typedef struct grpc_httpcli_context {
+ + +
60 
+
61 /* A request */
+
62 typedef struct grpc_httpcli_request {
+
63  /* The host name to connect to */
+
64  char *host;
+
65  /* The path of the resource to fetch */
+
66  char *path;
+
67  /* Additional headers: count and key/values; the following are supplied
+
68  automatically and MUST NOT be set here:
+
69  Host, Connection, User-Agent */
+
70  size_t hdr_count;
+ +
72  /* whether to use ssl for the request */
+
73  int use_ssl;
+ +
75 
+
76 /* A response */
+
77 typedef struct grpc_httpcli_response {
+
78  /* HTTP status code */
+
79  int status;
+
80  /* Headers: count and key/values */
+
81  size_t hdr_count;
+ +
83  /* Body: length and contents; contents are NOT null-terminated */
+
84  size_t body_length;
+
85  char *body;
+ +
87 
+
88 /* Callback for grpc_httpcli_get and grpc_httpcli_post. */
+
89 typedef void (*grpc_httpcli_response_cb)(void *user_data,
+
90  const grpc_httpcli_response *response);
+
91 
+ + +
94 
+
95 /* Asynchronously perform a HTTP GET.
+
96  'context' specifies the http context under which to do the get
+
97  'pollset' indicates a grpc_pollset that is interested in the result
+
98  of the get - work on this pollset may be used to progress the get
+
99  operation
+
100  'request' contains request parameters - these are caller owned and can be
+
101  destroyed once the call returns
+
102  'deadline' contains a deadline for the request (or gpr_inf_future)
+
103  'on_response' is a callback to report results to (and 'user_data' is a user
+
104  supplied pointer to pass to said call) */
+
105 void grpc_httpcli_get(grpc_httpcli_context *context, grpc_pollset *pollset,
+
106  const grpc_httpcli_request *request,
+
107  gpr_timespec deadline,
+
108  grpc_httpcli_response_cb on_response, void *user_data);
+
109 
+
110 /* Asynchronously perform a HTTP POST.
+
111  'context' specifies the http context under which to do the post
+
112  'pollset' indicates a grpc_pollset that is interested in the result
+
113  of the post - work on this pollset may be used to progress the post
+
114  operation
+
115  'request' contains request parameters - these are caller owned and can be
+
116  destroyed once the call returns
+
117  'body_bytes' and 'body_size' specify the payload for the post.
+
118  When there is no body, pass in NULL as body_bytes.
+
119  'deadline' contains a deadline for the request (or gpr_inf_future)
+
120  'em' points to a caller owned event manager that must be alive for the
+
121  lifetime of the request
+
122  'on_response' is a callback to report results to (and 'user_data' is a user
+
123  supplied pointer to pass to said call)
+
124  Does not support ?var1=val1&var2=val2 in the path. */
+
125 void grpc_httpcli_post(grpc_httpcli_context *context, grpc_pollset *pollset,
+
126  const grpc_httpcli_request *request,
+
127  const char *body_bytes, size_t body_size,
+
128  gpr_timespec deadline,
+
129  grpc_httpcli_response_cb on_response, void *user_data);
+
130 
+
131 /* override functions return 1 if they handled the request, 0 otherwise */
+
132 typedef int (*grpc_httpcli_get_override)(const grpc_httpcli_request *request,
+
133  gpr_timespec deadline,
+
134  grpc_httpcli_response_cb on_response,
+
135  void *user_data);
+
136 typedef int (*grpc_httpcli_post_override)(const grpc_httpcli_request *request,
+
137  const char *body_bytes,
+
138  size_t body_size,
+
139  gpr_timespec deadline,
+
140  grpc_httpcli_response_cb on_response,
+
141  void *user_data);
+
142 
+ + +
145 
+
146 #endif /* GRPC_INTERNAL_CORE_HTTPCLI_HTTPCLI_H */
+
char * value
Definition: httpcli.h:51
+
void grpc_httpcli_get(grpc_httpcli_context *context, grpc_pollset *pollset, const grpc_httpcli_request *request, gpr_timespec deadline, grpc_httpcli_response_cb on_response, void *user_data)
Definition: httpcli.c:231
+
grpc_httpcli_header * hdrs
Definition: httpcli.h:82
+ +
char * host
Definition: httpcli.h:64
+
struct grpc_httpcli_header grpc_httpcli_header
+
struct grpc_httpcli_request grpc_httpcli_request
+
void grpc_httpcli_context_init(grpc_httpcli_context *context)
Definition: httpcli.c:71
+
void grpc_httpcli_context_destroy(grpc_httpcli_context *context)
Definition: httpcli.c:75
+
grpc_pollset_set pollset_set
Definition: httpcli.h:58
+
Definition: pollset_posix.h:48
+
int(* grpc_httpcli_post_override)(const grpc_httpcli_request *request, const char *body_bytes, size_t body_size, gpr_timespec deadline, grpc_httpcli_response_cb on_response, void *user_data)
Definition: httpcli.h:136
+
char * body
Definition: httpcli.h:85
+
int status
Definition: httpcli.h:79
+
struct grpc_httpcli_response grpc_httpcli_response
+
grpc_httpcli_header * hdrs
Definition: httpcli.h:71
+
int(* grpc_httpcli_get_override)(const grpc_httpcli_request *request, gpr_timespec deadline, grpc_httpcli_response_cb on_response, void *user_data)
Definition: httpcli.h:132
+
size_t hdr_count
Definition: httpcli.h:81
+
struct grpc_httpcli_context grpc_httpcli_context
+
Definition: httpcli.h:62
+
char * path
Definition: httpcli.h:66
+ +
size_t body_length
Definition: httpcli.h:84
+
char * key
Definition: httpcli.h:50
+
Definition: time.h:60
+
void(* grpc_httpcli_response_cb)(void *user_data, const grpc_httpcli_response *response)
Definition: httpcli.h:89
+
size_t hdr_count
Definition: httpcli.h:70
+
Definition: pollset_set_posix.h:40
+
Definition: httpcli.h:57
+
void grpc_httpcli_post(grpc_httpcli_context *context, grpc_pollset *pollset, const grpc_httpcli_request *request, const char *body_bytes, size_t body_size, gpr_timespec deadline, grpc_httpcli_response_cb on_response, void *user_data)
Definition: httpcli.c:263
+
Definition: httpcli.h:77
+
int use_ssl
Definition: httpcli.h:73
+
void grpc_httpcli_set_override(grpc_httpcli_get_override get, grpc_httpcli_post_override post)
Definition: httpcli.c:297
+
Definition: httpcli.h:49
+
+ + + + diff --git a/doc/ref/core.internal/html/httpcli__security__connector_8c.html b/doc/ref/core.internal/html/httpcli__security__connector_8c.html new file mode 100644 index 0000000000..3d2c976389 --- /dev/null +++ b/doc/ref/core.internal/html/httpcli__security__connector_8c.html @@ -0,0 +1,159 @@ + + + + + + +GRPC Core: src/core/httpcli/httpcli_security_connector.c File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
httpcli_security_connector.c File Reference
+
+
+ + + + +

+Data Structures

struct  grpc_httpcli_ssl_channel_security_connector
 
+ + + +

+Functions

grpc_security_status grpc_httpcli_ssl_channel_security_connector_create (const unsigned char *pem_root_certs, size_t pem_root_certs_size, const char *secure_peer_name, grpc_channel_security_connector **sc)
 
+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
grpc_security_status grpc_httpcli_ssl_channel_security_connector_create (const unsigned char * pem_root_certs,
size_t pem_root_certs_size,
const char * secure_peer_name,
grpc_channel_security_connector ** sc 
)
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/httpcli__security__connector_8h.html b/doc/ref/core.internal/html/httpcli__security__connector_8h.html new file mode 100644 index 0000000000..10d48bba49 --- /dev/null +++ b/doc/ref/core.internal/html/httpcli__security__connector_8h.html @@ -0,0 +1,149 @@ + + + + + + +GRPC Core: src/core/httpcli/httpcli_security_connector.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
httpcli_security_connector.h File Reference
+
+
+ +

Go to the source code of this file.

+ + + + +

+Functions

grpc_security_status grpc_httpcli_ssl_channel_security_connector_create (const unsigned char *pem_root_certs, size_t pem_root_certs_size, const char *secure_peer_name, grpc_channel_security_connector **sc)
 
+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
grpc_security_status grpc_httpcli_ssl_channel_security_connector_create (const unsigned char * pem_root_certs,
size_t pem_root_certs_size,
const char * secure_peer_name,
grpc_channel_security_connector ** sc 
)
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/httpcli__security__connector_8h_source.html b/doc/ref/core.internal/html/httpcli__security__connector_8h_source.html new file mode 100644 index 0000000000..c97470c72d --- /dev/null +++ b/doc/ref/core.internal/html/httpcli__security__connector_8h_source.html @@ -0,0 +1,146 @@ + + + + + + +GRPC Core: src/core/httpcli/httpcli_security_connector.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
httpcli_security_connector.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPC_INTERNAL_CORE_HTTPCLI_HTTPCLI_SECURITY_CONNECTOR_H
+
35 #define GRPC_INTERNAL_CORE_HTTPCLI_HTTPCLI_SECURITY_CONNECTOR_H
+
36 
+ +
38 
+ +
40  const unsigned char *pem_root_certs, size_t pem_root_certs_size,
+
41  const char *secure_peer_name, grpc_channel_security_connector **sc);
+
42 
+
43 #endif /* GRPC_INTERNAL_CORE_HTTPCLI_HTTPCLI_SECURITY_CONNECTOR_H */
+
grpc_security_status grpc_httpcli_ssl_channel_security_connector_create(const unsigned char *pem_root_certs, size_t pem_root_certs_size, const char *secure_peer_name, grpc_channel_security_connector **sc)
Definition: httpcli_security_connector.c:99
+ +
Definition: security_connector.h:135
+
grpc_security_status
Definition: security_connector.h:43
+
+ + + + diff --git a/doc/ref/core.internal/html/huffsyms_8c.html b/doc/ref/core.internal/html/huffsyms_8c.html new file mode 100644 index 0000000000..5469053198 --- /dev/null +++ b/doc/ref/core.internal/html/huffsyms_8c.html @@ -0,0 +1,121 @@ + + + + + + +GRPC Core: src/core/transport/chttp2/huffsyms.c File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
huffsyms.c File Reference
+
+
+ + + + +

+Variables

const grpc_chttp2_huffsym grpc_chttp2_huffsyms [GRPC_CHTTP2_NUM_HUFFSYMS]
 
+

Variable Documentation

+ +
+
+ + + + +
const grpc_chttp2_huffsym grpc_chttp2_huffsyms[GRPC_CHTTP2_NUM_HUFFSYMS]
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/huffsyms_8h.html b/doc/ref/core.internal/html/huffsyms_8h.html new file mode 100644 index 0000000000..b632e13831 --- /dev/null +++ b/doc/ref/core.internal/html/huffsyms_8h.html @@ -0,0 +1,147 @@ + + + + + + +GRPC Core: src/core/transport/chttp2/huffsyms.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
huffsyms.h File Reference
+
+
+ +

Go to the source code of this file.

+ + + + +

+Data Structures

struct  grpc_chttp2_huffsym
 
+ + + +

+Macros

#define GRPC_CHTTP2_NUM_HUFFSYMS   257
 
+ + + +

+Variables

const grpc_chttp2_huffsym grpc_chttp2_huffsyms [257]
 
+

Macro Definition Documentation

+ +
+
+ + + + +
#define GRPC_CHTTP2_NUM_HUFFSYMS   257
+
+ +
+
+

Variable Documentation

+ +
+
+ + + + +
const grpc_chttp2_huffsym grpc_chttp2_huffsyms[257]
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/huffsyms_8h_source.html b/doc/ref/core.internal/html/huffsyms_8h_source.html new file mode 100644 index 0000000000..7545124111 --- /dev/null +++ b/doc/ref/core.internal/html/huffsyms_8h_source.html @@ -0,0 +1,152 @@ + + + + + + +GRPC Core: src/core/transport/chttp2/huffsyms.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
huffsyms.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPC_INTERNAL_CORE_TRANSPORT_CHTTP2_HUFFSYMS_H
+
35 #define GRPC_INTERNAL_CORE_TRANSPORT_CHTTP2_HUFFSYMS_H
+
36 
+
37 /* HPACK static huffman table */
+
38 
+
39 #define GRPC_CHTTP2_NUM_HUFFSYMS 257
+
40 
+
41 typedef struct {
+
42  unsigned bits;
+
43  unsigned length;
+ +
45 
+ +
47 
+
48 #endif /* GRPC_INTERNAL_CORE_TRANSPORT_CHTTP2_HUFFSYMS_H */
+
#define GRPC_CHTTP2_NUM_HUFFSYMS
Definition: huffsyms.h:39
+
const grpc_chttp2_huffsym grpc_chttp2_huffsyms[257]
Definition: huffsyms.c:39
+
unsigned length
Definition: huffsyms.h:43
+
unsigned bits
Definition: huffsyms.h:42
+
Definition: huffsyms.h:41
+
+ + + + diff --git a/doc/ref/core.internal/html/incoming__metadata_8c.html b/doc/ref/core.internal/html/incoming__metadata_8c.html new file mode 100644 index 0000000000..e38a4c599e --- /dev/null +++ b/doc/ref/core.internal/html/incoming__metadata_8c.html @@ -0,0 +1,351 @@ + + + + + + +GRPC Core: src/core/transport/chttp2/incoming_metadata.c File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
incoming_metadata.c File Reference
+
+
+ + + + + + + + + + + + + + + + + + + + + + +

+Functions

void grpc_chttp2_incoming_metadata_buffer_init (grpc_chttp2_incoming_metadata_buffer *buffer)
 assumes everything initially zeroed More...
 
void grpc_chttp2_incoming_metadata_buffer_destroy (grpc_chttp2_incoming_metadata_buffer *buffer)
 
void grpc_chttp2_incoming_metadata_buffer_add (grpc_chttp2_incoming_metadata_buffer *buffer, grpc_mdelem *elem)
 
void grpc_chttp2_incoming_metadata_buffer_set_deadline (grpc_chttp2_incoming_metadata_buffer *buffer, gpr_timespec deadline)
 
void grpc_chttp2_incoming_metadata_live_op_buffer_end (grpc_chttp2_incoming_metadata_live_op_buffer *buffer)
 
void grpc_chttp2_incoming_metadata_buffer_place_metadata_batch_into (grpc_chttp2_incoming_metadata_buffer *buffer, grpc_stream_op_buffer *sopb)
 extend sopb with a metadata batch; this must be post-processed by grpc_chttp2_incoming_metadata_buffer_postprocess_sopb before being handed out of the transport More...
 
void grpc_chttp2_incoming_metadata_buffer_swap (grpc_chttp2_incoming_metadata_buffer *a, grpc_chttp2_incoming_metadata_buffer *b)
 
void grpc_incoming_metadata_buffer_move_to_referencing_sopb (grpc_chttp2_incoming_metadata_buffer *src, grpc_chttp2_incoming_metadata_buffer *dst, grpc_stream_op_buffer *sopb)
 
void grpc_chttp2_incoming_metadata_buffer_postprocess_sopb_and_begin_live_op (grpc_chttp2_incoming_metadata_buffer *buffer, grpc_stream_op_buffer *sopb, grpc_chttp2_incoming_metadata_live_op_buffer *live_op_buffer)
 
+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
void grpc_chttp2_incoming_metadata_buffer_add (grpc_chttp2_incoming_metadata_bufferbuffer,
grpc_mdelemelem 
)
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_chttp2_incoming_metadata_buffer_destroy (grpc_chttp2_incoming_metadata_bufferbuffer)
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_chttp2_incoming_metadata_buffer_init (grpc_chttp2_incoming_metadata_bufferbuffer)
+
+ +

assumes everything initially zeroed

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void grpc_chttp2_incoming_metadata_buffer_place_metadata_batch_into (grpc_chttp2_incoming_metadata_bufferbuffer,
grpc_stream_op_buffersopb 
)
+
+ +

extend sopb with a metadata batch; this must be post-processed by grpc_chttp2_incoming_metadata_buffer_postprocess_sopb before being handed out of the transport

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void grpc_chttp2_incoming_metadata_buffer_postprocess_sopb_and_begin_live_op (grpc_chttp2_incoming_metadata_bufferbuffer,
grpc_stream_op_buffersopb,
grpc_chttp2_incoming_metadata_live_op_bufferlive_op_buffer 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void grpc_chttp2_incoming_metadata_buffer_set_deadline (grpc_chttp2_incoming_metadata_bufferbuffer,
gpr_timespec deadline 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void grpc_chttp2_incoming_metadata_buffer_swap (grpc_chttp2_incoming_metadata_buffera,
grpc_chttp2_incoming_metadata_bufferb 
)
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_chttp2_incoming_metadata_live_op_buffer_end (grpc_chttp2_incoming_metadata_live_op_bufferbuffer)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void grpc_incoming_metadata_buffer_move_to_referencing_sopb (grpc_chttp2_incoming_metadata_buffersrc,
grpc_chttp2_incoming_metadata_bufferdst,
grpc_stream_op_buffersopb 
)
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/incoming__metadata_8h.html b/doc/ref/core.internal/html/incoming__metadata_8h.html new file mode 100644 index 0000000000..d12cce0427 --- /dev/null +++ b/doc/ref/core.internal/html/incoming__metadata_8h.html @@ -0,0 +1,347 @@ + + + + + + +GRPC Core: src/core/transport/chttp2/incoming_metadata.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
incoming_metadata.h File Reference
+
+
+ +

Go to the source code of this file.

+ + + + + + +

+Data Structures

struct  grpc_chttp2_incoming_metadata_buffer
 
struct  grpc_chttp2_incoming_metadata_live_op_buffer
 
+ + + + + + + + + + + + + + + + + + + + + +

+Functions

void grpc_chttp2_incoming_metadata_buffer_init (grpc_chttp2_incoming_metadata_buffer *buffer)
 assumes everything initially zeroed More...
 
void grpc_chttp2_incoming_metadata_buffer_destroy (grpc_chttp2_incoming_metadata_buffer *buffer)
 
void grpc_chttp2_incoming_metadata_buffer_reset (grpc_chttp2_incoming_metadata_buffer *buffer)
 
void grpc_chttp2_incoming_metadata_buffer_add (grpc_chttp2_incoming_metadata_buffer *buffer, grpc_mdelem *elem)
 
void grpc_chttp2_incoming_metadata_buffer_set_deadline (grpc_chttp2_incoming_metadata_buffer *buffer, gpr_timespec deadline)
 
void grpc_chttp2_incoming_metadata_buffer_place_metadata_batch_into (grpc_chttp2_incoming_metadata_buffer *buffer, grpc_stream_op_buffer *sopb)
 extend sopb with a metadata batch; this must be post-processed by grpc_chttp2_incoming_metadata_buffer_postprocess_sopb before being handed out of the transport More...
 
void grpc_incoming_metadata_buffer_move_to_referencing_sopb (grpc_chttp2_incoming_metadata_buffer *src, grpc_chttp2_incoming_metadata_buffer *dst, grpc_stream_op_buffer *sopb)
 
void grpc_chttp2_incoming_metadata_buffer_postprocess_sopb_and_begin_live_op (grpc_chttp2_incoming_metadata_buffer *buffer, grpc_stream_op_buffer *sopb, grpc_chttp2_incoming_metadata_live_op_buffer *live_op_buffer)
 
void grpc_chttp2_incoming_metadata_live_op_buffer_end (grpc_chttp2_incoming_metadata_live_op_buffer *live_op_buffer)
 
+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
void grpc_chttp2_incoming_metadata_buffer_add (grpc_chttp2_incoming_metadata_bufferbuffer,
grpc_mdelemelem 
)
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_chttp2_incoming_metadata_buffer_destroy (grpc_chttp2_incoming_metadata_bufferbuffer)
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_chttp2_incoming_metadata_buffer_init (grpc_chttp2_incoming_metadata_bufferbuffer)
+
+ +

assumes everything initially zeroed

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void grpc_chttp2_incoming_metadata_buffer_place_metadata_batch_into (grpc_chttp2_incoming_metadata_bufferbuffer,
grpc_stream_op_buffersopb 
)
+
+ +

extend sopb with a metadata batch; this must be post-processed by grpc_chttp2_incoming_metadata_buffer_postprocess_sopb before being handed out of the transport

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void grpc_chttp2_incoming_metadata_buffer_postprocess_sopb_and_begin_live_op (grpc_chttp2_incoming_metadata_bufferbuffer,
grpc_stream_op_buffersopb,
grpc_chttp2_incoming_metadata_live_op_bufferlive_op_buffer 
)
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_chttp2_incoming_metadata_buffer_reset (grpc_chttp2_incoming_metadata_bufferbuffer)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void grpc_chttp2_incoming_metadata_buffer_set_deadline (grpc_chttp2_incoming_metadata_bufferbuffer,
gpr_timespec deadline 
)
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_chttp2_incoming_metadata_live_op_buffer_end (grpc_chttp2_incoming_metadata_live_op_bufferlive_op_buffer)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void grpc_incoming_metadata_buffer_move_to_referencing_sopb (grpc_chttp2_incoming_metadata_buffersrc,
grpc_chttp2_incoming_metadata_bufferdst,
grpc_stream_op_buffersopb 
)
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/incoming__metadata_8h_source.html b/doc/ref/core.internal/html/incoming__metadata_8h_source.html new file mode 100644 index 0000000000..0c761c9027 --- /dev/null +++ b/doc/ref/core.internal/html/incoming__metadata_8h_source.html @@ -0,0 +1,196 @@ + + + + + + +GRPC Core: src/core/transport/chttp2/incoming_metadata.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
incoming_metadata.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPC_INTERNAL_CORE_CHTTP2_INCOMING_METADATA_H
+
35 #define GRPC_INTERNAL_CORE_CHTTP2_INCOMING_METADATA_H
+
36 
+ +
38 
+
39 typedef struct {
+ +
41  size_t count;
+
42  size_t capacity;
+ + +
45 
+
46 typedef struct {
+ + +
49 
+ + + + + + +
57 
+ + + + +
62 
+ + +
68 
+ + + +
72 
+ + + +
76 
+ + +
79 
+
80 #endif /* GRPC_INTERNAL_CORE_CHTTP2_INCOMING_METADATA_H */
+
Definition: incoming_metadata.h:46
+ +
void grpc_chttp2_incoming_metadata_buffer_place_metadata_batch_into(grpc_chttp2_incoming_metadata_buffer *buffer, grpc_stream_op_buffer *sopb)
extend sopb with a metadata batch; this must be post-processed by grpc_chttp2_incoming_metadata_buffe...
Definition: incoming_metadata.c:78
+
void grpc_incoming_metadata_buffer_move_to_referencing_sopb(grpc_chttp2_incoming_metadata_buffer *src, grpc_chttp2_incoming_metadata_buffer *dst, grpc_stream_op_buffer *sopb)
Definition: incoming_metadata.c:101
+
gpr_timespec deadline
Definition: incoming_metadata.h:43
+
void grpc_chttp2_incoming_metadata_buffer_set_deadline(grpc_chttp2_incoming_metadata_buffer *buffer, gpr_timespec deadline)
Definition: incoming_metadata.c:67
+
size_t capacity
Definition: incoming_metadata.h:42
+
void grpc_chttp2_incoming_metadata_buffer_destroy(grpc_chttp2_incoming_metadata_buffer *buffer)
Definition: incoming_metadata.c:48
+
void grpc_chttp2_incoming_metadata_buffer_init(grpc_chttp2_incoming_metadata_buffer *buffer)
assumes everything initially zeroed
Definition: incoming_metadata.c:43
+
Definition: metadata.h:78
+
grpc_linked_mdelem * elems
Definition: incoming_metadata.h:47
+
Definition: stream_op.h:76
+
Definition: incoming_metadata.h:39
+
void grpc_chttp2_incoming_metadata_buffer_postprocess_sopb_and_begin_live_op(grpc_chttp2_incoming_metadata_buffer *buffer, grpc_stream_op_buffer *sopb, grpc_chttp2_incoming_metadata_live_op_buffer *live_op_buffer)
Definition: incoming_metadata.c:130
+
Definition: time.h:60
+
grpc_linked_mdelem * elems
Definition: incoming_metadata.h:40
+
A stream op buffer is a wrapper around stream operations that is dynamically extendable.
Definition: stream_op.h:176
+
void grpc_chttp2_incoming_metadata_buffer_reset(grpc_chttp2_incoming_metadata_buffer *buffer)
+
void grpc_chttp2_incoming_metadata_buffer_add(grpc_chttp2_incoming_metadata_buffer *buffer, grpc_mdelem *elem)
Definition: incoming_metadata.c:57
+
size_t count
Definition: incoming_metadata.h:41
+
void grpc_chttp2_incoming_metadata_live_op_buffer_end(grpc_chttp2_incoming_metadata_live_op_buffer *live_op_buffer)
Definition: incoming_metadata.c:72
+
+ + + + diff --git a/doc/ref/core.internal/html/index.html b/doc/ref/core.internal/html/index.html new file mode 100644 index 0000000000..a9967e667b --- /dev/null +++ b/doc/ref/core.internal/html/index.html @@ -0,0 +1,93 @@ + + + + + + +GRPC Core: GRPC Core + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + +
+ + + + +
+ +
+ +
+
+
GRPC Core
+
+
+

+The GRPC Core library is a low-level library designed

+

to be wrapped by higher level libraries.

+

The top-level API is provided in grpc.h. Security related functionality lives in grpc_security.h.

+
+ + + + diff --git a/doc/ref/core.internal/html/init_8c.html b/doc/ref/core.internal/html/init_8c.html new file mode 100644 index 0000000000..177718606c --- /dev/null +++ b/doc/ref/core.internal/html/init_8c.html @@ -0,0 +1,184 @@ + + + + + + +GRPC Core: src/core/surface/init.c File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
init.c File Reference
+
+
+ + + + + + + + + + +

+Functions

void grpc_init (void)
 Initialize the grpc library. More...
 
void grpc_shutdown (void)
 Shut down the grpc library. More...
 
int grpc_is_initialized (void)
 
+

Function Documentation

+ +
+
+ + + + + + + + +
void grpc_init (void )
+
+ +

Initialize the grpc library.

+

It is not safe to call any other grpc functions before calling this. (To avoid overhead, little checking is done, and some things may work. We do not warrant that they will continue to do so in future revisions of this library).

+ +
+
+ +
+
+ + + + + + + + +
int grpc_is_initialized (void )
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_shutdown (void )
+
+ +

Shut down the grpc library.

+

No memory is used by grpc after this call returns, nor are any instructions executing within the grpc library. Prior to calling, all application owned grpc objects must have been destroyed.

+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/init_8h.html b/doc/ref/core.internal/html/init_8h.html new file mode 100644 index 0000000000..3b082820d4 --- /dev/null +++ b/doc/ref/core.internal/html/init_8h.html @@ -0,0 +1,144 @@ + + + + + + +GRPC Core: src/core/surface/init.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
init.h File Reference
+
+
+ +

Go to the source code of this file.

+ + + + + + +

+Functions

void grpc_security_pre_init (void)
 
int grpc_is_initialized (void)
 
+

Function Documentation

+ +
+
+ + + + + + + + +
int grpc_is_initialized (void )
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_security_pre_init (void )
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/init_8h_source.html b/doc/ref/core.internal/html/init_8h_source.html new file mode 100644 index 0000000000..19e5432daa --- /dev/null +++ b/doc/ref/core.internal/html/init_8h_source.html @@ -0,0 +1,141 @@ + + + + + + +GRPC Core: src/core/surface/init.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
init.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPC_INTERNAL_CORE_SURFACE_INIT_H
+
35 #define GRPC_INTERNAL_CORE_SURFACE_INIT_H
+
36 
+
37 void grpc_security_pre_init(void);
+
38 int grpc_is_initialized(void);
+
39 
+
40 #endif /* GRPC_INTERNAL_CORE_SURFACE_INIT_H */
+
int grpc_is_initialized(void)
Definition: init.c:106
+
void grpc_security_pre_init(void)
Definition: init_secure.c:39
+
+ + + + diff --git a/doc/ref/core.internal/html/init__secure_8c.html b/doc/ref/core.internal/html/init__secure_8c.html new file mode 100644 index 0000000000..d3560da4eb --- /dev/null +++ b/doc/ref/core.internal/html/init__secure_8c.html @@ -0,0 +1,128 @@ + + + + + + +GRPC Core: src/core/surface/init_secure.c File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
init_secure.c File Reference
+
+
+ + + + +

+Functions

void grpc_security_pre_init (void)
 
+

Function Documentation

+ +
+
+ + + + + + + + +
void grpc_security_pre_init (void )
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/initialize_8c.html b/doc/ref/core.internal/html/initialize_8c.html new file mode 100644 index 0000000000..72808eecf3 --- /dev/null +++ b/doc/ref/core.internal/html/initialize_8c.html @@ -0,0 +1,189 @@ + + + + + + +GRPC Core: src/core/census/initialize.c File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
initialize.c File Reference
+
+
+
#include <grpc/census.h>
+
+ + + + + + + + + + + + +

+Functions

int census_initialize (int features)
 Shutdown and startup census subsystem. More...
 
void census_shutdown (void)
 
int census_supported (void)
 Return the features supported by the current census implementation (not all features will be available on all platforms). More...
 
int census_enabled (void)
 Return the census features currently enabled. More...
 
+

Function Documentation

+ +
+
+ + + + + + + + +
int census_enabled (void )
+
+ +

Return the census features currently enabled.

+ +
+
+ +
+
+ + + + + + + + +
int census_initialize (int features)
+
+ +

Shutdown and startup census subsystem.

+

The 'features' argument should be the OR (|) of census_features values. If census fails to initialize, then census_initialize() will return a non-zero value. It is an error to call census_initialize() more than once (without an intervening census_shutdown()).

+ +
+
+ +
+
+ + + + + + + + +
void census_shutdown (void )
+
+ +
+
+ +
+
+ + + + + + + + +
int census_supported (void )
+
+ +

Return the features supported by the current census implementation (not all features will be available on all platforms).

+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/internal_8h.html b/doc/ref/core.internal/html/internal_8h.html new file mode 100644 index 0000000000..2ccba9d5f0 --- /dev/null +++ b/doc/ref/core.internal/html/internal_8h.html @@ -0,0 +1,1841 @@ + + + + + + +GRPC Core: src/core/transport/chttp2/internal.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
internal.h File Reference
+
+
+ +

Go to the source code of this file.

+ + + + + + + + + + + + + + + + + + + + + + + + +

+Data Structures

struct  grpc_chttp2_stream_list
 
struct  grpc_chttp2_stream_link
 
struct  grpc_chttp2_outstanding_ping
 
struct  grpc_chttp2_transport_global
 
struct  grpc_chttp2_transport_writing
 
struct  grpc_chttp2_transport_parsing
 
struct  grpc_chttp2_transport
 
struct  grpc_chttp2_stream_global
 
struct  grpc_chttp2_stream_writing
 
struct  grpc_chttp2_stream_parsing
 
struct  grpc_chttp2_stream
 
+ + + + + + + + + + + +

+Macros

#define GRPC_CHTTP2_CLIENT_CONNECT_STRING   "PRI * HTTP/2.0\r\n\r\nSM\r\n\r\n"
 
#define GRPC_CHTTP2_CLIENT_CONNECT_STRLEN   (sizeof(GRPC_CHTTP2_CLIENT_CONNECT_STRING) - 1)
 
#define GRPC_CHTTP2_IF_TRACING(stmt)
 
#define GRPC_CHTTP2_FLOWCTL_TRACE_STREAM(reason, transport, context, var,delta)
 
#define GRPC_CHTTP2_FLOWCTL_TRACE_TRANSPORT(reason, context, var, delta)
 
+ + + + + + + +

+Typedefs

typedef struct
+grpc_chttp2_transport 
grpc_chttp2_transport
 
typedef struct grpc_chttp2_stream grpc_chttp2_stream
 
typedef struct
+grpc_chttp2_outstanding_ping 
grpc_chttp2_outstanding_ping
 
+ + + + + + + + + + + +

+Enumerations

enum  grpc_chttp2_stream_list_id {
+  GRPC_CHTTP2_LIST_ALL_STREAMS, +GRPC_CHTTP2_LIST_READ_WRITE_STATE_CHANGED, +GRPC_CHTTP2_LIST_WRITABLE, +GRPC_CHTTP2_LIST_WRITING, +
+  GRPC_CHTTP2_LIST_WRITTEN, +GRPC_CHTTP2_LIST_PARSING_SEEN, +GRPC_CHTTP2_LIST_CLOSED_WAITING_FOR_PARSING, +GRPC_CHTTP2_LIST_CANCELLED_WAITING_FOR_WRITING, +
+  GRPC_CHTTP2_LIST_INCOMING_WINDOW_UPDATED, +GRPC_CHTTP2_LIST_WAITING_FOR_CONCURRENCY, +STREAM_LIST_COUNT +
+ }
 
enum  grpc_chttp2_deframe_transport_state {
+  GRPC_DTS_CLIENT_PREFIX_0 = 0, +GRPC_DTS_CLIENT_PREFIX_1, +GRPC_DTS_CLIENT_PREFIX_2, +GRPC_DTS_CLIENT_PREFIX_3, +
+  GRPC_DTS_CLIENT_PREFIX_4, +GRPC_DTS_CLIENT_PREFIX_5, +GRPC_DTS_CLIENT_PREFIX_6, +GRPC_DTS_CLIENT_PREFIX_7, +
+  GRPC_DTS_CLIENT_PREFIX_8, +GRPC_DTS_CLIENT_PREFIX_9, +GRPC_DTS_CLIENT_PREFIX_10, +GRPC_DTS_CLIENT_PREFIX_11, +
+  GRPC_DTS_CLIENT_PREFIX_12, +GRPC_DTS_CLIENT_PREFIX_13, +GRPC_DTS_CLIENT_PREFIX_14, +GRPC_DTS_CLIENT_PREFIX_15, +
+  GRPC_DTS_CLIENT_PREFIX_16, +GRPC_DTS_CLIENT_PREFIX_17, +GRPC_DTS_CLIENT_PREFIX_18, +GRPC_DTS_CLIENT_PREFIX_19, +
+  GRPC_DTS_CLIENT_PREFIX_20, +GRPC_DTS_CLIENT_PREFIX_21, +GRPC_DTS_CLIENT_PREFIX_22, +GRPC_DTS_CLIENT_PREFIX_23, +
+  GRPC_DTS_FH_0, +GRPC_DTS_FH_1, +GRPC_DTS_FH_2, +GRPC_DTS_FH_3, +
+  GRPC_DTS_FH_4, +GRPC_DTS_FH_5, +GRPC_DTS_FH_6, +GRPC_DTS_FH_7, +
+  GRPC_DTS_FH_8, +GRPC_DTS_FRAME +
+ }
 
enum  grpc_chttp2_write_state { GRPC_WRITE_STATE_OPEN, +GRPC_WRITE_STATE_QUEUED_CLOSE, +GRPC_WRITE_STATE_SENT_CLOSE + }
 
enum  grpc_chttp2_send_closed { GRPC_DONT_SEND_CLOSED = 0, +GRPC_SEND_CLOSED, +GRPC_SEND_CLOSED_WITH_RST_STREAM + }
 
enum  grpc_chttp2_setting_set {
+  GRPC_PEER_SETTINGS = 0, +GRPC_LOCAL_SETTINGS, +GRPC_SENT_SETTINGS, +GRPC_ACKED_SETTINGS, +
+  GRPC_NUM_SETTING_SETS +
+ }
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

int grpc_chttp2_unlocking_check_writes (grpc_chttp2_transport_global *global, grpc_chttp2_transport_writing *writing)
 Transport writing call flow: chttp2_transport.c calls grpc_chttp2_unlocking_check_writes to see if writes are required; if they are, chttp2_transport.c calls grpc_chttp2_perform_writes to do the writes. More...
 
void grpc_chttp2_perform_writes (grpc_chttp2_transport_writing *transport_writing, grpc_endpoint *endpoint)
 
void grpc_chttp2_terminate_writing (grpc_chttp2_transport_writing *transport_writing, int success)
 
void grpc_chttp2_cleanup_writing (grpc_chttp2_transport_global *global, grpc_chttp2_transport_writing *writing)
 
void grpc_chttp2_prepare_to_read (grpc_chttp2_transport_global *global, grpc_chttp2_transport_parsing *parsing)
 
int grpc_chttp2_perform_read (grpc_chttp2_transport_parsing *transport_parsing, gpr_slice slice)
 Process one slice of incoming data; return 1 if the connection is still viable after reading, or 0 if the connection should be torn down. More...
 
void grpc_chttp2_publish_reads (grpc_chttp2_transport_global *global, grpc_chttp2_transport_parsing *parsing)
 
void grpc_chttp2_list_add_writable_stream (grpc_chttp2_transport_global *transport_global, grpc_chttp2_stream_global *stream_global)
 Get a writable stream returns non-zero if there was a stream available. More...
 
void grpc_chttp2_list_add_first_writable_stream (grpc_chttp2_transport_global *transport_global, grpc_chttp2_stream_global *stream_global)
 
int grpc_chttp2_list_pop_writable_stream (grpc_chttp2_transport_global *transport_global, grpc_chttp2_transport_writing *transport_writing, grpc_chttp2_stream_global **stream_global, grpc_chttp2_stream_writing **stream_writing)
 
void grpc_chttp2_list_remove_writable_stream (grpc_chttp2_transport_global *transport_global, grpc_chttp2_stream_global *stream_global)
 
void grpc_chttp2_list_add_incoming_window_updated (grpc_chttp2_transport_global *transport_global, grpc_chttp2_stream_global *stream_global)
 
int grpc_chttp2_list_pop_incoming_window_updated (grpc_chttp2_transport_global *transport_global, grpc_chttp2_transport_parsing *transport_parsing, grpc_chttp2_stream_global **stream_global, grpc_chttp2_stream_parsing **stream_parsing)
 
void grpc_chttp2_list_remove_incoming_window_updated (grpc_chttp2_transport_global *transport_global, grpc_chttp2_stream_global *stream_global)
 
void grpc_chttp2_list_add_writing_stream (grpc_chttp2_transport_writing *transport_writing, grpc_chttp2_stream_writing *stream_writing)
 
int grpc_chttp2_list_have_writing_streams (grpc_chttp2_transport_writing *transport_writing)
 
int grpc_chttp2_list_pop_writing_stream (grpc_chttp2_transport_writing *transport_writing, grpc_chttp2_stream_writing **stream_writing)
 
void grpc_chttp2_list_add_written_stream (grpc_chttp2_transport_writing *transport_writing, grpc_chttp2_stream_writing *stream_writing)
 
int grpc_chttp2_list_pop_written_stream (grpc_chttp2_transport_global *transport_global, grpc_chttp2_transport_writing *transport_writing, grpc_chttp2_stream_global **stream_global, grpc_chttp2_stream_writing **stream_writing)
 
void grpc_chttp2_list_add_parsing_seen_stream (grpc_chttp2_transport_parsing *transport_parsing, grpc_chttp2_stream_parsing *stream_parsing)
 
int grpc_chttp2_list_pop_parsing_seen_stream (grpc_chttp2_transport_global *transport_global, grpc_chttp2_transport_parsing *transport_parsing, grpc_chttp2_stream_global **stream_global, grpc_chttp2_stream_parsing **stream_parsing)
 
void grpc_chttp2_list_add_waiting_for_concurrency (grpc_chttp2_transport_global *transport_global, grpc_chttp2_stream_global *stream_global)
 
int grpc_chttp2_list_pop_waiting_for_concurrency (grpc_chttp2_transport_global *transport_global, grpc_chttp2_stream_global **stream_global)
 
void grpc_chttp2_list_add_closed_waiting_for_parsing (grpc_chttp2_transport_global *transport_global, grpc_chttp2_stream_global *stream_global)
 
int grpc_chttp2_list_pop_closed_waiting_for_parsing (grpc_chttp2_transport_global *transport_global, grpc_chttp2_stream_global **stream_global)
 
void grpc_chttp2_list_add_cancelled_waiting_for_writing (grpc_chttp2_transport_global *transport_global, grpc_chttp2_stream_global *stream_global)
 
int grpc_chttp2_list_pop_cancelled_waiting_for_writing (grpc_chttp2_transport_global *transport_global, grpc_chttp2_stream_global **stream_global)
 
void grpc_chttp2_list_add_read_write_state_changed (grpc_chttp2_transport_global *transport_global, grpc_chttp2_stream_global *stream_global)
 
int grpc_chttp2_list_pop_read_write_state_changed (grpc_chttp2_transport_global *transport_global, grpc_chttp2_stream_global **stream_global)
 
void grpc_chttp2_schedule_closure (grpc_chttp2_transport_global *transport_global, grpc_iomgr_closure *closure, int success)
 schedule a closure to run without the transport lock taken More...
 
grpc_chttp2_stream_parsinggrpc_chttp2_parsing_lookup_stream (grpc_chttp2_transport_parsing *transport_parsing, gpr_uint32 id)
 
grpc_chttp2_stream_parsinggrpc_chttp2_parsing_accept_stream (grpc_chttp2_transport_parsing *transport_parsing, gpr_uint32 id)
 
void grpc_chttp2_add_incoming_goaway (grpc_chttp2_transport_global *transport_global, gpr_uint32 goaway_error, gpr_slice goaway_text)
 
void grpc_chttp2_register_stream (grpc_chttp2_transport *t, grpc_chttp2_stream *s)
 
int grpc_chttp2_unregister_stream (grpc_chttp2_transport *t, grpc_chttp2_stream *s) GRPC_MUST_USE_RESULT
 
int grpc_chttp2_has_streams (grpc_chttp2_transport *t)
 
void grpc_chttp2_for_all_streams (grpc_chttp2_transport_global *transport_global, void *user_data, void(*cb)(grpc_chttp2_transport_global *transport_global, void *user_data, grpc_chttp2_stream_global *stream_global))
 
void grpc_chttp2_parsing_become_skip_parser (grpc_chttp2_transport_parsing *transport_parsing)
 
void grpc_chttp2_flowctl_trace (const char *file, int line, const char *reason, const char *context, const char *var, int is_client, gpr_uint32 stream_id, gpr_int64 current_value, gpr_int64 delta)
 
+ + + + + +

+Variables

int grpc_http_trace
 
int grpc_flowctl_trace
 
+

Macro Definition Documentation

+ +
+
+ + + + +
#define GRPC_CHTTP2_CLIENT_CONNECT_STRING   "PRI * HTTP/2.0\r\n\r\nSM\r\n\r\n"
+
+ +
+
+ +
+
+ + + + +
#define GRPC_CHTTP2_CLIENT_CONNECT_STRLEN   (sizeof(GRPC_CHTTP2_CLIENT_CONNECT_STRING) - 1)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
#define GRPC_CHTTP2_FLOWCTL_TRACE_STREAM( reason,
 transport,
 context,
 var,
 delta 
)
+
+Value:
if (!(grpc_flowctl_trace)) { \
+
} else { \
+
grpc_chttp2_flowctl_trace(__FILE__, __LINE__, reason, #context, #var, \
+
transport->is_client, context->id, context->var, \
+
delta); \
+
}
+
int grpc_flowctl_trace
Definition: chttp2_transport.c:61
+
void grpc_chttp2_flowctl_trace(const char *file, int line, const char *reason, const char *context, const char *var, int is_client, gpr_uint32 stream_id, gpr_int64 current_value, gpr_int64 delta)
Definition: chttp2_transport.c:1069
+
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
#define GRPC_CHTTP2_FLOWCTL_TRACE_TRANSPORT( reason,
 context,
 var,
 delta 
)
+
+Value:
if (!(grpc_flowctl_trace)) { \
+
} else { \
+
grpc_chttp2_flowctl_trace(__FILE__, __LINE__, reason, #context, #var, \
+
context->is_client, 0, context->var, delta); \
+
}
+
int grpc_flowctl_trace
Definition: chttp2_transport.c:61
+
void grpc_chttp2_flowctl_trace(const char *file, int line, const char *reason, const char *context, const char *var, int is_client, gpr_uint32 stream_id, gpr_int64 current_value, gpr_int64 delta)
Definition: chttp2_transport.c:1069
+
+
+
+ +
+
+ + + + + + + + +
#define GRPC_CHTTP2_IF_TRACING( stmt)
+
+Value:
if (!(grpc_http_trace)) \
+
; \
+
else \
+
stmt
+
int grpc_http_trace
Definition: chttp2_transport.c:60
+
+
+
+

Typedef Documentation

+ + + +
+
+ + + + +
typedef struct grpc_chttp2_stream grpc_chttp2_stream
+
+ +
+
+ +
+
+ + + + +
typedef struct grpc_chttp2_transport grpc_chttp2_transport
+
+ +
+
+

Enumeration Type Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Enumerator
GRPC_DTS_CLIENT_PREFIX_0  +
GRPC_DTS_CLIENT_PREFIX_1  +
GRPC_DTS_CLIENT_PREFIX_2  +
GRPC_DTS_CLIENT_PREFIX_3  +
GRPC_DTS_CLIENT_PREFIX_4  +
GRPC_DTS_CLIENT_PREFIX_5  +
GRPC_DTS_CLIENT_PREFIX_6  +
GRPC_DTS_CLIENT_PREFIX_7  +
GRPC_DTS_CLIENT_PREFIX_8  +
GRPC_DTS_CLIENT_PREFIX_9  +
GRPC_DTS_CLIENT_PREFIX_10  +
GRPC_DTS_CLIENT_PREFIX_11  +
GRPC_DTS_CLIENT_PREFIX_12  +
GRPC_DTS_CLIENT_PREFIX_13  +
GRPC_DTS_CLIENT_PREFIX_14  +
GRPC_DTS_CLIENT_PREFIX_15  +
GRPC_DTS_CLIENT_PREFIX_16  +
GRPC_DTS_CLIENT_PREFIX_17  +
GRPC_DTS_CLIENT_PREFIX_18  +
GRPC_DTS_CLIENT_PREFIX_19  +
GRPC_DTS_CLIENT_PREFIX_20  +
GRPC_DTS_CLIENT_PREFIX_21  +
GRPC_DTS_CLIENT_PREFIX_22  +
GRPC_DTS_CLIENT_PREFIX_23  +
GRPC_DTS_FH_0  +
GRPC_DTS_FH_1  +
GRPC_DTS_FH_2  +
GRPC_DTS_FH_3  +
GRPC_DTS_FH_4  +
GRPC_DTS_FH_5  +
GRPC_DTS_FH_6  +
GRPC_DTS_FH_7  +
GRPC_DTS_FH_8  +
GRPC_DTS_FRAME  +
+ +
+
+ +
+
+ + + + +
enum grpc_chttp2_send_closed
+
+ + + + +
Enumerator
GRPC_DONT_SEND_CLOSED  +
GRPC_SEND_CLOSED  +
GRPC_SEND_CLOSED_WITH_RST_STREAM  +
+ +
+
+ +
+
+ + + + +
enum grpc_chttp2_setting_set
+
+ + + + + + +
Enumerator
GRPC_PEER_SETTINGS  +
GRPC_LOCAL_SETTINGS  +
GRPC_SENT_SETTINGS  +
GRPC_ACKED_SETTINGS  +
GRPC_NUM_SETTING_SETS  +
+ +
+
+ +
+
+ + + + +
enum grpc_chttp2_stream_list_id
+
+ + + + + + + + + + + + +
Enumerator
GRPC_CHTTP2_LIST_ALL_STREAMS  +
GRPC_CHTTP2_LIST_READ_WRITE_STATE_CHANGED  +
GRPC_CHTTP2_LIST_WRITABLE  +
GRPC_CHTTP2_LIST_WRITING  +
GRPC_CHTTP2_LIST_WRITTEN  +
GRPC_CHTTP2_LIST_PARSING_SEEN  +
GRPC_CHTTP2_LIST_CLOSED_WAITING_FOR_PARSING  +
GRPC_CHTTP2_LIST_CANCELLED_WAITING_FOR_WRITING  +
GRPC_CHTTP2_LIST_INCOMING_WINDOW_UPDATED  +
GRPC_CHTTP2_LIST_WAITING_FOR_CONCURRENCY  +

streams that are waiting to start because there are too many concurrent streams on the connection

+
STREAM_LIST_COUNT  +
+ +
+
+ +
+
+ + + + +
enum grpc_chttp2_write_state
+
+ + + + +
Enumerator
GRPC_WRITE_STATE_OPEN  +
GRPC_WRITE_STATE_QUEUED_CLOSE  +
GRPC_WRITE_STATE_SENT_CLOSE  +
+ +
+
+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void grpc_chttp2_add_incoming_goaway (grpc_chttp2_transport_globaltransport_global,
gpr_uint32 goaway_error,
gpr_slice goaway_text 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void grpc_chttp2_cleanup_writing (grpc_chttp2_transport_globalglobal,
grpc_chttp2_transport_writingwriting 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void grpc_chttp2_flowctl_trace (const char * file,
int line,
const char * reason,
const char * context,
const char * var,
int is_client,
gpr_uint32 stream_id,
gpr_int64 current_value,
gpr_int64 delta 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void grpc_chttp2_for_all_streams (grpc_chttp2_transport_globaltransport_global,
void * user_data,
void(*)(grpc_chttp2_transport_global *transport_global, void *user_data, grpc_chttp2_stream_global *stream_global) cb 
)
+
+ +
+
+ +
+
+ + + + + + + + +
int grpc_chttp2_has_streams (grpc_chttp2_transportt)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void grpc_chttp2_list_add_cancelled_waiting_for_writing (grpc_chttp2_transport_globaltransport_global,
grpc_chttp2_stream_globalstream_global 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void grpc_chttp2_list_add_closed_waiting_for_parsing (grpc_chttp2_transport_globaltransport_global,
grpc_chttp2_stream_globalstream_global 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void grpc_chttp2_list_add_first_writable_stream (grpc_chttp2_transport_globaltransport_global,
grpc_chttp2_stream_globalstream_global 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void grpc_chttp2_list_add_incoming_window_updated (grpc_chttp2_transport_globaltransport_global,
grpc_chttp2_stream_globalstream_global 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void grpc_chttp2_list_add_parsing_seen_stream (grpc_chttp2_transport_parsingtransport_parsing,
grpc_chttp2_stream_parsingstream_parsing 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void grpc_chttp2_list_add_read_write_state_changed (grpc_chttp2_transport_globaltransport_global,
grpc_chttp2_stream_globalstream_global 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void grpc_chttp2_list_add_waiting_for_concurrency (grpc_chttp2_transport_globaltransport_global,
grpc_chttp2_stream_globalstream_global 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void grpc_chttp2_list_add_writable_stream (grpc_chttp2_transport_globaltransport_global,
grpc_chttp2_stream_globalstream_global 
)
+
+ +

Get a writable stream returns non-zero if there was a stream available.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void grpc_chttp2_list_add_writing_stream (grpc_chttp2_transport_writingtransport_writing,
grpc_chttp2_stream_writingstream_writing 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void grpc_chttp2_list_add_written_stream (grpc_chttp2_transport_writingtransport_writing,
grpc_chttp2_stream_writingstream_writing 
)
+
+ +
+
+ +
+
+ + + + + + + + +
int grpc_chttp2_list_have_writing_streams (grpc_chttp2_transport_writingtransport_writing)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
int grpc_chttp2_list_pop_cancelled_waiting_for_writing (grpc_chttp2_transport_globaltransport_global,
grpc_chttp2_stream_global ** stream_global 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
int grpc_chttp2_list_pop_closed_waiting_for_parsing (grpc_chttp2_transport_globaltransport_global,
grpc_chttp2_stream_global ** stream_global 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
int grpc_chttp2_list_pop_incoming_window_updated (grpc_chttp2_transport_globaltransport_global,
grpc_chttp2_transport_parsingtransport_parsing,
grpc_chttp2_stream_global ** stream_global,
grpc_chttp2_stream_parsing ** stream_parsing 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
int grpc_chttp2_list_pop_parsing_seen_stream (grpc_chttp2_transport_globaltransport_global,
grpc_chttp2_transport_parsingtransport_parsing,
grpc_chttp2_stream_global ** stream_global,
grpc_chttp2_stream_parsing ** stream_parsing 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
int grpc_chttp2_list_pop_read_write_state_changed (grpc_chttp2_transport_globaltransport_global,
grpc_chttp2_stream_global ** stream_global 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
int grpc_chttp2_list_pop_waiting_for_concurrency (grpc_chttp2_transport_globaltransport_global,
grpc_chttp2_stream_global ** stream_global 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
int grpc_chttp2_list_pop_writable_stream (grpc_chttp2_transport_globaltransport_global,
grpc_chttp2_transport_writingtransport_writing,
grpc_chttp2_stream_global ** stream_global,
grpc_chttp2_stream_writing ** stream_writing 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
int grpc_chttp2_list_pop_writing_stream (grpc_chttp2_transport_writingtransport_writing,
grpc_chttp2_stream_writing ** stream_writing 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
int grpc_chttp2_list_pop_written_stream (grpc_chttp2_transport_globaltransport_global,
grpc_chttp2_transport_writingtransport_writing,
grpc_chttp2_stream_global ** stream_global,
grpc_chttp2_stream_writing ** stream_writing 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void grpc_chttp2_list_remove_incoming_window_updated (grpc_chttp2_transport_globaltransport_global,
grpc_chttp2_stream_globalstream_global 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void grpc_chttp2_list_remove_writable_stream (grpc_chttp2_transport_globaltransport_global,
grpc_chttp2_stream_globalstream_global 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
grpc_chttp2_stream_parsing* grpc_chttp2_parsing_accept_stream (grpc_chttp2_transport_parsingtransport_parsing,
gpr_uint32 id 
)
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_chttp2_parsing_become_skip_parser (grpc_chttp2_transport_parsingtransport_parsing)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
grpc_chttp2_stream_parsing* grpc_chttp2_parsing_lookup_stream (grpc_chttp2_transport_parsingtransport_parsing,
gpr_uint32 id 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
int grpc_chttp2_perform_read (grpc_chttp2_transport_parsingtransport_parsing,
gpr_slice slice 
)
+
+ +

Process one slice of incoming data; return 1 if the connection is still viable after reading, or 0 if the connection should be torn down.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void grpc_chttp2_perform_writes (grpc_chttp2_transport_writingtransport_writing,
grpc_endpointendpoint 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void grpc_chttp2_prepare_to_read (grpc_chttp2_transport_globalglobal,
grpc_chttp2_transport_parsingparsing 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void grpc_chttp2_publish_reads (grpc_chttp2_transport_globalglobal,
grpc_chttp2_transport_parsingparsing 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void grpc_chttp2_register_stream (grpc_chttp2_transportt,
grpc_chttp2_streams 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void grpc_chttp2_schedule_closure (grpc_chttp2_transport_globaltransport_global,
grpc_iomgr_closureclosure,
int success 
)
+
+ +

schedule a closure to run without the transport lock taken

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void grpc_chttp2_terminate_writing (grpc_chttp2_transport_writingtransport_writing,
int success 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
int grpc_chttp2_unlocking_check_writes (grpc_chttp2_transport_globalglobal,
grpc_chttp2_transport_writingwriting 
)
+
+ +

Transport writing call flow: chttp2_transport.c calls grpc_chttp2_unlocking_check_writes to see if writes are required; if they are, chttp2_transport.c calls grpc_chttp2_perform_writes to do the writes.

+

Once writes have been completed (meaning another write could potentially be started), grpc_chttp2_terminate_writing is called. This will call grpc_chttp2_cleanup_writing, at which point the write phase is complete. Someone is unlocking the transport mutex: check to see if writes are required, and schedule them if so

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
int grpc_chttp2_unregister_stream (grpc_chttp2_transportt,
grpc_chttp2_streams 
)
+
+ +
+
+

Variable Documentation

+ +
+
+ + + + +
int grpc_flowctl_trace
+
+ +
+
+ +
+
+ + + + +
int grpc_http_trace
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/internal_8h_source.html b/doc/ref/core.internal/html/internal_8h_source.html new file mode 100644 index 0000000000..ad70c2f466 --- /dev/null +++ b/doc/ref/core.internal/html/internal_8h_source.html @@ -0,0 +1,887 @@ + + + + + + +GRPC Core: src/core/transport/chttp2/internal.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
internal.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPC_INTERNAL_CORE_CHTTP2_INTERNAL_H
+
35 #define GRPC_INTERNAL_CORE_CHTTP2_INTERNAL_H
+
36 
+ + + + + + + + + + + + + + +
51 
+ + +
54 
+
55 /* streams are kept in various linked lists depending on what things need to
+
56  happen to them... this enum labels each list */
+
57 typedef enum {
+ + + + + + + + + + +
70  STREAM_LIST_COUNT /* must be last */
+ +
72 
+
73 /* deframer state for the overall http2 stream of bytes */
+
74 typedef enum {
+
75  /* prefix: one entry per http2 connection prefix byte */
+ + + + + + + + + + + + + + + + + + + + + + + + +
100  /* frame header byte 0... */
+
101  /* must follow from the prefix states */
+ + + + + + + + +
110  /* ... frame header byte 8 */
+ +
112  /* inside a http2 frame */
+ + +
115 
+
116 typedef enum {
+ + + + +
121 
+
122 typedef enum {
+ + + + +
127 
+
128 typedef struct {
+ + + +
132 
+
133 typedef struct {
+ + + +
137 
+
138 /* We keep several sets of connection wide parameters */
+
139 typedef enum {
+
140  /* The settings our peer has asked for (and we have acked) */
+ +
142  /* The settings we'd like to have */
+ +
144  /* The settings we've published to our peer */
+ +
146  /* The settings the peer has acked */
+ + + +
150 
+
151 /* Outstanding ping request data */
+ +
153  gpr_uint8 id[8];
+ + + + +
158 
+
159 typedef struct {
+ + + +
165 
+ + + +
172 
+ + +
177 
+ + + + + +
188 
+ +
192 
+ +
195 
+ + +
200 
+ + +
205 
+
206 typedef struct {
+ + + + +
214 
+ + +
218 
+ + + +
225 
+ +
228 
+ +
231  /* metadata object cache */
+ + +
236  union {
+ + + + +
241  } simple;
+ +
244 
+ + +
248 
+ + +
252 
+
253  /* deframing */
+ + + + + + + +
261 
+
262  /* active parser */
+
263  void *parser_data;
+ + +
266  void *parser_user_data, grpc_chttp2_transport_parsing *transport_parsing,
+
267  grpc_chttp2_stream_parsing *stream_parsing, gpr_slice slice, int is_last);
+
268 
+
269  /* received settings */
+ +
271 
+
272  /* goaway data */
+ + + +
276 
+ +
278 
+ +
281 };
+
282 
+ +
284  grpc_transport base; /* must be first */
+ + + +
288  char *peer_string;
+
289 
+ +
291 
+ + +
296 
+ + +
301 
+ +
304 
+ +
307 
+ + + +
316 
+ +
320 
+ +
325 
+ + +
330 
+ +
335 
+
336  struct {
+
337  /* accept stream callback */
+
338  void (*accept_stream)(void *user_data, grpc_transport *transport,
+
339  const void *server_data);
+ +
341 
+ + +
345 };
+
346 
+
347 typedef struct {
+ +
350 
+ + +
353 
+ + + + + + + + + + + + +
387 
+ + + + +
395 
+ + + +
400 
+
401 typedef struct {
+ + + + + +
411 
+ + + + + + + + +
427  /* amount of window given */
+ +
429 
+ +
432 };
+
433 
+ + + + +
438 
+ + +
441 };
+
442 
+ + + +
459  grpc_chttp2_transport_writing *transport_writing, grpc_endpoint *endpoint);
+ +
461  grpc_chttp2_transport_writing *transport_writing, int success);
+ + +
464 
+ + + +
470  gpr_slice slice);
+ + +
473 
+ +
477  grpc_chttp2_transport_global *transport_global,
+
478  grpc_chttp2_stream_global *stream_global);
+ +
480  grpc_chttp2_transport_global *transport_global,
+
481  grpc_chttp2_stream_global *stream_global);
+ +
483  grpc_chttp2_transport_global *transport_global,
+
484  grpc_chttp2_transport_writing *transport_writing,
+
485  grpc_chttp2_stream_global **stream_global,
+
486  grpc_chttp2_stream_writing **stream_writing);
+ +
488  grpc_chttp2_transport_global *transport_global,
+
489  grpc_chttp2_stream_global *stream_global);
+
490 
+ +
492  grpc_chttp2_transport_global *transport_global,
+
493  grpc_chttp2_stream_global *stream_global);
+ +
495  grpc_chttp2_transport_global *transport_global,
+
496  grpc_chttp2_transport_parsing *transport_parsing,
+
497  grpc_chttp2_stream_global **stream_global,
+
498  grpc_chttp2_stream_parsing **stream_parsing);
+ +
500  grpc_chttp2_transport_global *transport_global,
+
501  grpc_chttp2_stream_global *stream_global);
+
502 
+ +
504  grpc_chttp2_transport_writing *transport_writing,
+
505  grpc_chttp2_stream_writing *stream_writing);
+ +
507  grpc_chttp2_transport_writing *transport_writing);
+ +
509  grpc_chttp2_transport_writing *transport_writing,
+
510  grpc_chttp2_stream_writing **stream_writing);
+
511 
+ +
513  grpc_chttp2_transport_writing *transport_writing,
+
514  grpc_chttp2_stream_writing *stream_writing);
+ +
516  grpc_chttp2_transport_global *transport_global,
+
517  grpc_chttp2_transport_writing *transport_writing,
+
518  grpc_chttp2_stream_global **stream_global,
+
519  grpc_chttp2_stream_writing **stream_writing);
+
520 
+ +
522  grpc_chttp2_transport_parsing *transport_parsing,
+
523  grpc_chttp2_stream_parsing *stream_parsing);
+ +
525  grpc_chttp2_transport_global *transport_global,
+
526  grpc_chttp2_transport_parsing *transport_parsing,
+
527  grpc_chttp2_stream_global **stream_global,
+
528  grpc_chttp2_stream_parsing **stream_parsing);
+
529 
+ +
531  grpc_chttp2_transport_global *transport_global,
+
532  grpc_chttp2_stream_global *stream_global);
+ +
534  grpc_chttp2_transport_global *transport_global,
+
535  grpc_chttp2_stream_global **stream_global);
+
536 
+ +
538  grpc_chttp2_transport_global *transport_global,
+
539  grpc_chttp2_stream_global *stream_global);
+ +
541  grpc_chttp2_transport_global *transport_global,
+
542  grpc_chttp2_stream_global **stream_global);
+
543 
+ +
545  grpc_chttp2_transport_global *transport_global,
+
546  grpc_chttp2_stream_global *stream_global);
+ +
548  grpc_chttp2_transport_global *transport_global,
+
549  grpc_chttp2_stream_global **stream_global);
+
550 
+ +
552  grpc_chttp2_transport_global *transport_global,
+
553  grpc_chttp2_stream_global *stream_global);
+ +
555  grpc_chttp2_transport_global *transport_global,
+
556  grpc_chttp2_stream_global **stream_global);
+
557 
+ +
560  grpc_chttp2_transport_global *transport_global, grpc_iomgr_closure *closure,
+
561  int success);
+
562 
+ +
564  grpc_chttp2_transport_parsing *transport_parsing, gpr_uint32 id);
+ +
566  grpc_chttp2_transport_parsing *transport_parsing, gpr_uint32 id);
+
567 
+ +
569  grpc_chttp2_transport_global *transport_global, gpr_uint32 goaway_error,
+
570  gpr_slice goaway_text);
+
571 
+ +
573  grpc_chttp2_stream *s);
+
574 /* returns 1 if this is the last stream, 0 otherwise */
+ + + + +
579  grpc_chttp2_transport_global *transport_global, void *user_data,
+
580  void (*cb)(grpc_chttp2_transport_global *transport_global, void *user_data,
+
581  grpc_chttp2_stream_global *stream_global));
+
582 
+ +
584  grpc_chttp2_transport_parsing *transport_parsing);
+
585 
+
586 #define GRPC_CHTTP2_CLIENT_CONNECT_STRING "PRI * HTTP/2.0\r\n\r\nSM\r\n\r\n"
+
587 #define GRPC_CHTTP2_CLIENT_CONNECT_STRLEN \
+
588  (sizeof(GRPC_CHTTP2_CLIENT_CONNECT_STRING) - 1)
+
589 
+
590 extern int grpc_http_trace;
+
591 extern int grpc_flowctl_trace;
+
592 
+
593 #define GRPC_CHTTP2_IF_TRACING(stmt) \
+
594  if (!(grpc_http_trace)) \
+
595  ; \
+
596  else \
+
597  stmt
+
598 
+
599 #define GRPC_CHTTP2_FLOWCTL_TRACE_STREAM(reason, transport, context, var, \
+
600  delta) \
+
601  if (!(grpc_flowctl_trace)) { \
+
602  } else { \
+
603  grpc_chttp2_flowctl_trace(__FILE__, __LINE__, reason, #context, #var, \
+
604  transport->is_client, context->id, context->var, \
+
605  delta); \
+
606  }
+
607 
+
608 #define GRPC_CHTTP2_FLOWCTL_TRACE_TRANSPORT(reason, context, var, delta) \
+
609  if (!(grpc_flowctl_trace)) { \
+
610  } else { \
+
611  grpc_chttp2_flowctl_trace(__FILE__, __LINE__, reason, #context, #var, \
+
612  context->is_client, 0, context->var, delta); \
+
613  }
+
614 
+
615 void grpc_chttp2_flowctl_trace(const char *file, int line, const char *reason,
+
616  const char *context, const char *var,
+
617  int is_client, gpr_uint32 stream_id,
+
618  gpr_int64 current_value, gpr_int64 delta);
+
619 
+
620 #endif
+
void grpc_chttp2_list_add_writable_stream(grpc_chttp2_transport_global *transport_global, grpc_chttp2_stream_global *stream_global)
Get a writable stream returns non-zero if there was a stream available.
Definition: stream_lists.c:155
+
Definition: internal.h:108
+
int grpc_http_trace
Definition: chttp2_transport.c:60
+
Definition: incoming_metadata.h:46
+
Definition: internal.h:95
+ +
gpr_uint8 closed
has the upper layer closed the transport?
Definition: internal.h:295
+
gpr_uint32 id
HTTP2 stream id for this stream, or zero if one has not been assigned.
Definition: internal.h:403
+
Definition: internal.h:98
+ +
int grpc_chttp2_list_have_writing_streams(grpc_chttp2_transport_writing *transport_writing)
Definition: stream_lists.c:204
+
Definition: internal.h:79
+
grpc_chttp2_stream_parsing * incoming_stream
Definition: internal.h:264
+
Definition: internal.h:159
+
gpr_uint64 ping_counter
next payload for an outgoing ping
Definition: internal.h:199
+
Definition: internal.h:93
+
grpc_chttp2_stream_list_id
Definition: internal.h:57
+
int grpc_chttp2_unregister_stream(grpc_chttp2_transport *t, grpc_chttp2_stream *s) GRPC_MUST_USE_RESULT
Definition: stream_lists.c:368
+
gpr_slice goaway_text
Definition: internal.h:275
+
uint8_t gpr_uint8
Definition: port_platform.h:307
+
grpc_chttp2_deframe_transport_state deframe_state
Definition: internal.h:254
+
gpr_uint8 sent_local_settings
have local settings been sent?
Definition: internal.h:183
+
gpr_uint32 last_incoming_stream_id
Definition: internal.h:251
+ +
void(* accept_stream)(void *user_data, grpc_transport *transport, const void *server_data)
Definition: internal.h:338
+
grpc_chttp2_ping_parser ping
Definition: internal.h:239
+
Definition: sync_generic.h:49
+
gpr_slice_buffer qbuf
data to write next write
Definition: internal.h:161
+
struct grpc_chttp2_outstanding_ping grpc_chttp2_outstanding_ping
+
gpr_uint32 max_recv_bytes
The number of bytes the upper layers have offered to receive.
Definition: internal.h:359
+
void grpc_chttp2_cleanup_writing(grpc_chttp2_transport_global *global, grpc_chttp2_transport_writing *writing)
Definition: writing.c:210
+
gpr_uint8 writing_now
is this stream actively being written?
Definition: internal.h:386
+
void grpc_chttp2_schedule_closure(grpc_chttp2_transport_global *transport_global, grpc_iomgr_closure *closure, int success)
schedule a closure to run without the transport lock taken
Definition: chttp2_transport.c:1033
+
gpr_uint32 last_incoming_stream_id
last received stream id
Definition: internal.h:194
+
grpc_chttp2_window_update_parser window_update
Definition: internal.h:237
+
Definition: internal.h:70
+
int grpc_chttp2_list_pop_incoming_window_updated(grpc_chttp2_transport_global *transport_global, grpc_chttp2_transport_parsing *transport_parsing, grpc_chttp2_stream_global **stream_global, grpc_chttp2_stream_parsing **stream_parsing)
Definition: stream_lists.c:324
+
Definition: internal.h:84
+
grpc_iomgr_closure * pending_closures_head
queued callbacks
Definition: internal.h:163
+
Definition: internal.h:113
+
int grpc_chttp2_list_pop_writable_stream(grpc_chttp2_transport_global *transport_global, grpc_chttp2_transport_writing *transport_writing, grpc_chttp2_stream_global **stream_global, grpc_chttp2_stream_writing **stream_writing)
Definition: stream_lists.c:175
+
void grpc_chttp2_add_incoming_goaway(grpc_chttp2_transport_global *transport_global, gpr_uint32 goaway_error, gpr_slice goaway_text)
Definition: chttp2_transport.c:534
+
void grpc_chttp2_list_add_first_writable_stream(grpc_chttp2_transport_global *transport_global, grpc_chttp2_stream_global *stream_global)
Definition: stream_lists.c:163
+
gpr_uint32 force_send_settings
bitmask of setting indexes to send out
Definition: internal.h:185
+
Definition: frame_rst_stream.h:40
+
gpr_slice_buffer outbuf
data to write now
Definition: internal.h:208
+
Definition: stream_map.h:47
+ +
void grpc_chttp2_list_add_incoming_window_updated(grpc_chttp2_transport_global *transport_global, grpc_chttp2_stream_global *stream_global)
Definition: stream_lists.c:316
+
Definition: internal.h:58
+
gpr_uint64 outgoing_window_update
Definition: internal.h:428
+
gpr_uint8 saw_rst_stream
saw a rst_stream
Definition: internal.h:418
+
void * parser_data
Definition: internal.h:263
+
gpr_uint8 header_eof
Definition: internal.h:257
+
Definition: internal.h:61
+
Definition: internal.h:92
+
Definition: internal.h:97
+
Definition: internal.h:87
+
gpr_uint8 dirtied_local_settings
are the local settings dirty and need to be sent?
Definition: internal.h:181
+
gpr_uint8 is_client
is this transport a client? (boolean)
Definition: internal.h:217
+
Definition: stream_encoder.h:48
+
#define GRPC_MUST_USE_RESULT
Definition: port_platform.h:327
+
gpr_uint32 next_stream_id
what is the next stream id to be allocated by this peer? copied to next_stream_id in parsing when par...
Definition: internal.h:191
+
Definition: internal.h:86
+
void grpc_chttp2_perform_writes(grpc_chttp2_transport_writing *transport_writing, grpc_endpoint *endpoint)
Definition: writing.c:152
+
grpc_chttp2_parse_error
Definition: frame.h:42
+
grpc_chttp2_transport_parsing parsing
state only accessible by the chain of execution that set parsing_active=1
Definition: internal.h:315
+
gpr_uint32 incoming_window
window available for peer to send to us
Definition: internal.h:246
+
grpc_stream_op_buffer sopb
sops that have passed flow control to be written
Definition: internal.h:405
+
Definition: hpack_parser.h:56
+
int grpc_chttp2_list_pop_writing_stream(grpc_chttp2_transport_writing *transport_writing, grpc_chttp2_stream_writing **stream_writing)
Definition: stream_lists.c:210
+
Definition: metadata.h:70
+
grpc_stream_state * publish_state
address to publish next stream state to
Definition: internal.h:391
+
void grpc_chttp2_list_add_writing_stream(grpc_chttp2_transport_writing *transport_writing, grpc_chttp2_stream_writing *stream_writing)
Definition: stream_lists.c:196
+
Definition: internal.h:62
+
Definition: internal.h:94
+
char * peer_string
Definition: internal.h:288
+
Definition: internal.h:109
+
Definition: internal.h:90
+
Definition: internal.h:152
+
uint32_t gpr_uint32
Definition: port_platform.h:309
+
Definition: internal.h:283
+
grpc_iomgr_closure * send_done_closure
Definition: internal.h:351
+
Definition: internal.h:91
+
gpr_uint32 connection_window_target
how much window would we like to have for incoming_window
Definition: internal.h:171
+
int grpc_chttp2_unlocking_check_writes(grpc_chttp2_transport_global *global, grpc_chttp2_transport_writing *writing)
Transport writing call flow: chttp2_transport.c calls grpc_chttp2_unlocking_check_writes to see if wr...
Definition: writing.c:42
+
Definition: internal.h:147
+
gpr_uint8 settings_ack_received
was a settings ack received?
Definition: internal.h:222
+
Definition: internal.h:118
+
void grpc_chttp2_register_stream(grpc_chttp2_transport *t, grpc_chttp2_stream *s)
Definition: stream_lists.c:363
+
grpc_chttp2_rst_stream_parser rst_stream
Definition: internal.h:240
+
grpc_mdctx * metadata_context
Definition: internal.h:286
+
grpc_chttp2_incoming_metadata_buffer incoming_metadata
incoming metadata
Definition: internal.h:397
+
Definition: internal.h:88
+
int grpc_chttp2_list_pop_parsing_seen_stream(grpc_chttp2_transport_global *transport_global, grpc_chttp2_transport_parsing *transport_parsing, grpc_chttp2_stream_global **stream_global, grpc_chttp2_stream_parsing **stream_parsing)
Definition: stream_lists.c:249
+
int grpc_flowctl_trace
Definition: chttp2_transport.c:61
+
gpr_uint32 expect_continuation_stream_id
Definition: internal.h:258
+ +
void grpc_chttp2_prepare_to_read(grpc_chttp2_transport_global *global, grpc_chttp2_transport_parsing *parsing)
Definition: parsing.c:64
+
gpr_int64 initial_window_update
initial window change
Definition: internal.h:227
+
Definition: slice_buffer.h:48
+
gpr_uint8 goaway_received
was a goaway frame received?
Definition: internal.h:224
+
grpc_chttp2_stream_map parsing_stream_map
maps stream id to grpc_chttp2_stream objects; owned by the parsing thread when parsing ...
Definition: internal.h:319
+
gpr_uint8 seen_goaway
have we seen a goaway
Definition: internal.h:174
+
Definition: internal.h:105
+
grpc_status_code goaway_error
Definition: internal.h:273
+
gpr_uint32 id
HTTP2 stream id for this stream, or zero if one has not been assigned.
Definition: internal.h:349
+
Definition: internal.h:81
+
grpc_chttp2_stream_link links[STREAM_LIST_COUNT]
Definition: internal.h:439
+
void grpc_chttp2_flowctl_trace(const char *file, int line, const char *reason, const char *context, const char *var, int is_client, gpr_uint32 stream_id, gpr_int64 current_value, gpr_int64 delta)
Definition: chttp2_transport.c:1069
+
gpr_uint32 goaway_last_stream_index
Definition: internal.h:274
+
grpc_chttp2_transport_writing writing
state only accessible by the chain of execution that set writing_active=1
Definition: internal.h:312
+
int grpc_chttp2_list_pop_waiting_for_concurrency(grpc_chttp2_transport_global *transport_global, grpc_chttp2_stream_global **stream_global)
Definition: stream_lists.c:270
+
grpc_chttp2_stream_writing writing
Definition: internal.h:436
+
Definition: internal.h:83
+
Definition: internal.h:76
+
gpr_uint8 read_closed
is this stream closed (boolean)
Definition: internal.h:377
+
grpc_chttp2_stream_parsing * grpc_chttp2_parsing_accept_stream(grpc_chttp2_transport_parsing *transport_parsing, gpr_uint32 id)
Definition: chttp2_transport.c:434
+
grpc_chttp2_data_parser data_parser
parsing state for data frames
Definition: internal.h:424
+
Definition: internal.h:128
+
Definition: internal.h:103
+
gpr_uint32 next_stream_id
next stream id available at the time of beginning parsing
Definition: internal.h:250
+
Definition: internal.h:148
+
grpc_chttp2_hpack_compressor hpack_compressor
hpack encoding
Definition: internal.h:210
+
gpr_uint8 incoming_frame_flags
Definition: internal.h:256
+
struct grpc_chttp2_outstanding_ping * prev
Definition: internal.h:156
+
gpr_uint8 writing_active
is a thread currently writing
Definition: internal.h:298
+ +
grpc_chttp2_settings_parser settings
Definition: internal.h:238
+ +
gpr_uint32 concurrent_stream_count
concurrent stream count: updated when not parsing, so this is a strict over-estimation on the client ...
Definition: internal.h:203
+
grpc_stream_state
Definition: transport.h:53
+
grpc_chttp2_stream ** accepting_stream
address to place a newly accepted stream - set and unset by grpc_chttp2_parsing_accept_stream; used b...
Definition: internal.h:334
+
Definition: internal.h:145
+
grpc_stream_state published_state
stream state already published to the upper layer
Definition: internal.h:389
+
int grpc_chttp2_list_pop_closed_waiting_for_parsing(grpc_chttp2_transport_global *transport_global, grpc_chttp2_stream_global **stream_global)
Definition: stream_lists.c:288
+
Definition: internal.h:434
+
gpr_mu mu
Definition: internal.h:290
+
gpr_uint8 settings_updated
were settings updated?
Definition: internal.h:220
+
grpc_chttp2_send_closed send_closed
how strongly should we indicate closure with the next write
Definition: internal.h:407
+
grpc_chttp2_deframe_transport_state
Definition: internal.h:74
+
gpr_uint32 incoming_window
window available for peer to send to us - updated after parse
Definition: internal.h:169
+
Definition: internal.h:125
+ +
Definition: internal.h:117
+
grpc_mdstr * str_grpc_timeout
Definition: internal.h:232
+
Definition: frame_goaway.h:54
+
grpc_iomgr_closure * on_recv
Definition: internal.h:154
+
gpr_uint64 outgoing_window_update
Definition: internal.h:277
+ +
Definition: metadata.c:98
+ +
gpr_uint32 incoming_stream_id
Definition: internal.h:260
+
Definition: internal.h:215
+
Definition: sync_win32.h:39
+
gpr_uint8 destroying
is the transport destroying itself?
Definition: internal.h:293
+
grpc_chttp2_send_closed
Definition: internal.h:122
+
void grpc_chttp2_list_add_closed_waiting_for_parsing(grpc_chttp2_transport_global *transport_global, grpc_chttp2_stream_global *stream_global)
Definition: stream_lists.c:280
+
grpc_chttp2_stream * head
Definition: internal.h:129
+
gpr_uint8 published_cancelled
have we told the upper layer that this stream is cancelled?
Definition: internal.h:382
+
int grpc_chttp2_list_pop_cancelled_waiting_for_writing(grpc_chttp2_transport_global *transport_global, grpc_chttp2_stream_global **stream_global)
Definition: stream_lists.c:306
+
gpr_uint32 incoming_window
The number of bytes of HTTP2 flow control we have advertised.
Definition: internal.h:369
+
gpr_uint32 incoming_window_delta
Definition: internal.h:247
+
grpc_iomgr_closure writing_action
closure to execute writing
Definition: internal.h:327
+
void grpc_chttp2_parsing_become_skip_parser(grpc_chttp2_transport_parsing *transport_parsing)
Definition: parsing.c:492
+
int64_t gpr_int64
Definition: port_platform.h:306
+
Definition: frame_ping.h:40
+
Definition: internal.h:141
+
Definition: internal.h:124
+
Definition: internal.h:102
+
grpc_endpoint * ep
Definition: internal.h:285
+
gpr_uint8 is_client
is this a client?
Definition: internal.h:212
+
A closure over a grpc_iomgr_cb_func.
Definition: iomgr.h:45
+ +
Definition: internal.h:89
+
int grpc_chttp2_list_pop_read_write_state_changed(grpc_chttp2_transport_global *transport_global, grpc_chttp2_stream_global **stream_global)
Definition: stream_lists.c:353
+
Definition: internal.h:99
+
union grpc_chttp2_transport_parsing::@20 simple
simple one shot parsers
+
Definition: internal.h:347
+
grpc_chttp2_incoming_metadata_buffer incoming_metadata
incoming metadata
Definition: internal.h:431
+
Definition: internal.h:107
+
Definition: internal.h:104
+ +
int grpc_chttp2_has_streams(grpc_chttp2_transport *t)
Definition: stream_lists.c:374
+ +
grpc_chttp2_parse_error(* parser)(void *parser_user_data, grpc_chttp2_transport_parsing *transport_parsing, grpc_chttp2_stream_parsing *stream_parsing, gpr_slice slice, int is_last)
Definition: internal.h:265
+
Definition: internal.h:77
+ +
grpc_chttp2_hpack_parser hpack_parser
parser for headers
Definition: internal.h:234
+ +
Definition: internal.h:111
+
gpr_uint32 outgoing_window
window available for us to send to peer
Definition: internal.h:167
+
gpr_uint32 announce_window
how much window should we announce?
Definition: internal.h:409
+
gpr_int64 outgoing_window
window available for us to send to peer
Definition: internal.h:355
+
Definition: frame_settings.h:58
+
Definition: internal.h:206
+
Definition: internal.h:412
+
Definition: incoming_metadata.h:39
+
gpr_uint8 is_client
is this transport a client?
Definition: internal.h:179
+
Definition: frame_settings.h:61
+
Definition: internal.h:63
+
Definition: frame_window_update.h:40
+
gpr_uint8 endpoint_reading
is there a read request to the endpoint outstanding?
Definition: internal.h:303
+
gpr_uint8 included[STREAM_LIST_COUNT]
Definition: internal.h:440
+
gpr_uint8 received_close
has this stream received a close
Definition: internal.h:416
+
void grpc_chttp2_terminate_writing(grpc_chttp2_transport_writing *transport_writing, int success)
Definition: chttp2_transport.c:501
+
gpr_uint8 sent_goaway
have we sent a goaway
Definition: internal.h:176
+
grpc_chttp2_stream_parsing parsing
Definition: internal.h:437
+
Definition: internal.h:85
+ +
gpr_uint32 incoming_window
window available for peer to send to us
Definition: internal.h:422
+
Definition: internal.h:106
+
void grpc_chttp2_list_add_parsing_seen_stream(grpc_chttp2_transport_parsing *transport_parsing, grpc_chttp2_stream_parsing *stream_parsing)
Definition: stream_lists.c:241
+ +
gpr_slice_buffer qbuf
data to write later - after parsing
Definition: internal.h:230
+
gpr_uint8 cancelled
has this stream been cancelled? (boolean)
Definition: internal.h:379
+
grpc_chttp2_stream_map new_stream_map
streams created by the client (possibly during parsing); merged with parsing_stream_map during unlock...
Definition: internal.h:324
+
grpc_chttp2_incoming_metadata_live_op_buffer outstanding_metadata
Definition: internal.h:398
+
Definition: internal.h:78
+
Definition: frame_data.h:53
+
grpc_chttp2_write_state write_state
when the application requests writes be closed, the write_closed is 'queued'; when the close is flow ...
Definition: internal.h:375
+
gpr_uint8 incoming_frame_type
Definition: internal.h:255
+
void grpc_chttp2_list_add_waiting_for_concurrency(grpc_chttp2_transport_global *transport_global, grpc_chttp2_stream_global *stream_global)
Definition: stream_lists.c:262
+
Definition: endpoint.h:108
+
gpr_refcount refs
Definition: internal.h:287
+
grpc_chttp2_stream_parsing * grpc_chttp2_parsing_lookup_stream(grpc_chttp2_transport_parsing *transport_parsing, gpr_uint32 id)
Definition: chttp2_transport.c:426
+
grpc_chttp2_stream_global global
Definition: internal.h:435
+ +
grpc_stream_op_buffer * outgoing_sopb
stream ops the transport user would like to send
Definition: internal.h:371
+
grpc_chttp2_goaway_parser goaway_parser
parser for goaway frames
Definition: internal.h:243
+
void grpc_chttp2_for_all_streams(grpc_chttp2_transport_global *transport_global, void *user_data, void(*cb)(grpc_chttp2_transport_global *transport_global, void *user_data, grpc_chttp2_stream_global *stream_global))
Definition: stream_lists.c:378
+
void grpc_chttp2_list_remove_incoming_window_updated(grpc_chttp2_transport_global *transport_global, grpc_chttp2_stream_global *stream_global)
Definition: stream_lists.c:337
+
void grpc_chttp2_publish_reads(grpc_chttp2_transport_global *global, grpc_chttp2_transport_parsing *parsing)
Definition: parsing.c:93
+
void grpc_chttp2_list_remove_writable_stream(grpc_chttp2_transport_global *transport_global, grpc_chttp2_stream_global *stream_global)
Definition: stream_lists.c:188
+
grpc_status_code
Definition: status.h:41
+
gpr_uint32 unannounced_incoming_window
The number of bytes the upper layer has offered to read but we have not yet announced to HTTP2 flow c...
Definition: internal.h:364
+
Definition: internal.h:401
+
grpc_chttp2_setting_set
Definition: internal.h:139
+
Definition: internal.h:80
+
grpc_chttp2_write_state
Definition: internal.h:116
+ +
uint64_t gpr_uint64
Definition: port_platform.h:310
+
grpc_chttp2_stream * tail
Definition: internal.h:130
+
gpr_uint32 id
HTTP2 stream id for this stream, or zero if one has not been assigned.
Definition: internal.h:414
+
grpc_stream_op_buffer incoming_sopb
Definition: internal.h:394
+
struct grpc_chttp2_transport::@21 channel_callback
+
Definition: transport_impl.h:67
+
gpr_uint32 rst_stream_reason
reason give to rst_stream
Definition: internal.h:426
+ +
void grpc_chttp2_list_add_cancelled_waiting_for_writing(grpc_chttp2_transport_global *transport_global, grpc_chttp2_stream_global *stream_global)
Definition: stream_lists.c:298
+
Definition: internal.h:82
+
grpc_chttp2_transport_global global
global state for reading/writing
Definition: internal.h:309
+
grpc_stream_op_buffer * publish_sopb
pointer to sop buffer to fill in with new stream ops
Definition: internal.h:393
+
grpc_status_code cancelled_status
Definition: internal.h:380
+
A stream op buffer is a wrapper around stream operations that is dynamically extendable.
Definition: stream_op.h:176
+
Definition: internal.h:143
+
grpc_transport base
Definition: internal.h:284
+
Definition: internal.h:60
+
grpc_connectivity_state_tracker state_tracker
connectivity tracking
Definition: internal.h:343
+
grpc_iomgr_closure reading_action
closure to start reading from the endpoint
Definition: internal.h:329
+
struct grpc_chttp2_outstanding_ping * next
Definition: internal.h:155
+
int grpc_chttp2_list_pop_written_stream(grpc_chttp2_transport_global *transport_global, grpc_chttp2_transport_writing *transport_writing, grpc_chttp2_stream_global **stream_global, grpc_chttp2_stream_writing **stream_writing)
Definition: stream_lists.c:228
+
Definition: internal.h:119
+
Definition: slice.h:79
+
gpr_uint8 in_stream_map
is this stream in the stream map? (boolean)
Definition: internal.h:384
+
grpc_chttp2_outstanding_ping pings
pings awaiting responses
Definition: internal.h:197
+
Definition: internal.h:123
+
gpr_uint32 incoming_frame_size
Definition: internal.h:259
+
streams that are waiting to start because there are too many concurrent streams on the connection ...
Definition: internal.h:69
+
void * accept_stream_user_data
Definition: internal.h:340
+ +
grpc_iomgr_closure * recv_done_closure
Definition: internal.h:352
+
void grpc_chttp2_list_add_read_write_state_changed(grpc_chttp2_transport_global *transport_global, grpc_chttp2_stream_global *stream_global)
Definition: stream_lists.c:345
+
void grpc_chttp2_list_add_written_stream(grpc_chttp2_transport_writing *transport_writing, grpc_chttp2_stream_writing *stream_writing)
Definition: stream_lists.c:220
+
grpc_chttp2_outstanding_ping pings
pings awaiting responses
Definition: internal.h:280
+
int grpc_chttp2_perform_read(grpc_chttp2_transport_parsing *transport_parsing, gpr_slice slice)
Process one slice of incoming data; return 1 if the connection is still viable after reading...
Definition: parsing.c:236
+
Definition: internal.h:96
+
gpr_uint32 incoming_window_delta
incoming_window has been reduced by this much during parsing
Definition: internal.h:420
+
gpr_uint8 parsing_active
is a thread currently parsing
Definition: internal.h:300
+
grpc_iomgr_closure * pending_closures_tail
Definition: internal.h:164
+
Definition: connectivity_state.h:49
+
grpc_chttp2_stream_list lists[STREAM_LIST_COUNT]
various lists of streams
Definition: internal.h:306
+
+ + + + diff --git a/doc/ref/core.internal/html/iocp__windows_8c.html b/doc/ref/core.internal/html/iocp__windows_8c.html new file mode 100644 index 0000000000..330f3f054d --- /dev/null +++ b/doc/ref/core.internal/html/iocp__windows_8c.html @@ -0,0 +1,100 @@ + + + + + + +GRPC Core: src/core/iomgr/iocp_windows.c File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
iocp_windows.c File Reference
+
+ + + + + diff --git a/doc/ref/core.internal/html/iocp__windows_8h.html b/doc/ref/core.internal/html/iocp__windows_8h.html new file mode 100644 index 0000000000..7fefa5c4e7 --- /dev/null +++ b/doc/ref/core.internal/html/iocp__windows_8h.html @@ -0,0 +1,268 @@ + + + + + + +GRPC Core: src/core/iomgr/iocp_windows.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
iocp_windows.h File Reference
+
+
+ +

Go to the source code of this file.

+ + + + + + + + + + + + + + + + +

+Functions

void grpc_iocp_init (void)
 
void grpc_iocp_kick (void)
 
void grpc_iocp_shutdown (void)
 
void grpc_iocp_add_socket (grpc_winsocket *)
 
void grpc_iocp_socket_orphan (grpc_winsocket *)
 
void grpc_socket_notify_on_write (grpc_winsocket *, void(*cb)(void *, int success), void *opaque)
 
void grpc_socket_notify_on_read (grpc_winsocket *, void(*cb)(void *, int success), void *opaque)
 
+

Function Documentation

+ +
+
+ + + + + + + + +
void grpc_iocp_add_socket (grpc_winsocket)
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_iocp_init (void )
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_iocp_kick (void )
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_iocp_shutdown (void )
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_iocp_socket_orphan (grpc_winsocket)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void grpc_socket_notify_on_read (grpc_winsocket,
void(*)(void *, int success) cb,
void * opaque 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void grpc_socket_notify_on_write (grpc_winsocket,
void(*)(void *, int success) cb,
void * opaque 
)
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/iocp__windows_8h_source.html b/doc/ref/core.internal/html/iocp__windows_8h_source.html new file mode 100644 index 0000000000..68906e65d8 --- /dev/null +++ b/doc/ref/core.internal/html/iocp__windows_8h_source.html @@ -0,0 +1,162 @@ + + + + + + +GRPC Core: src/core/iomgr/iocp_windows.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
iocp_windows.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPC_INTERNAL_CORE_IOMGR_IOCP_WINDOWS_H
+
35 #define GRPC_INTERNAL_CORE_IOMGR_IOCP_WINDOWS_H
+
36 
+
37 #include <grpc/support/sync.h>
+
38 
+ +
40 
+
41 void grpc_iocp_init(void);
+
42 void grpc_iocp_kick(void);
+
43 void grpc_iocp_shutdown(void);
+ + +
46 
+
47 void grpc_socket_notify_on_write(grpc_winsocket *, void(*cb)(void *, int success),
+
48  void *opaque);
+
49 
+
50 void grpc_socket_notify_on_read(grpc_winsocket *, void(*cb)(void *, int success),
+
51  void *opaque);
+
52 
+
53 #endif /* GRPC_INTERNAL_CORE_IOMGR_IOCP_WINDOWS_H */
+ +
void grpc_socket_notify_on_read(grpc_winsocket *, void(*cb)(void *, int success), void *opaque)
+
void grpc_socket_notify_on_write(grpc_winsocket *, void(*cb)(void *, int success), void *opaque)
+
void grpc_iocp_shutdown(void)
+
void grpc_iocp_add_socket(grpc_winsocket *)
+
void grpc_iocp_kick(void)
+
void grpc_iocp_socket_orphan(grpc_winsocket *)
+
void grpc_iocp_init(void)
+
Definition: socket_windows.h:84
+ +
+ + + + diff --git a/doc/ref/core.internal/html/iomgr_8c.html b/doc/ref/core.internal/html/iomgr_8c.html new file mode 100644 index 0000000000..ca96533575 --- /dev/null +++ b/doc/ref/core.internal/html/iomgr_8c.html @@ -0,0 +1,340 @@ + + + + + + +GRPC Core: src/core/iomgr/iomgr.c File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
iomgr.c File Reference
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

void grpc_kick_poller (void)
 
void grpc_iomgr_init (void)
 Initializes the iomgr. More...
 
void grpc_iomgr_shutdown (void)
 Signals the intention to shutdown the iomgr. More...
 
void grpc_iomgr_register_object (grpc_iomgr_object *obj, const char *name)
 
void grpc_iomgr_unregister_object (grpc_iomgr_object *obj)
 
void grpc_iomgr_closure_init (grpc_iomgr_closure *closure, grpc_iomgr_cb_func cb, void *cb_arg)
 Initializes closure with cb and cb_arg. More...
 
void grpc_iomgr_add_delayed_callback (grpc_iomgr_closure *closure, int success)
 As per grpc_iomgr_add_callback, with the ability to set the success argument. More...
 
void grpc_iomgr_add_callback (grpc_iomgr_closure *closure)
 Registers a closure to be invoked at some point in the future. More...
 
int grpc_maybe_call_delayed_callbacks (gpr_mu *drop_mu, int success)
 
+

Function Documentation

+ +
+
+ + + + + + + + +
void grpc_iomgr_add_callback (grpc_iomgr_closureclosure)
+
+ +

Registers a closure to be invoked at some point in the future.

+

Can be called from within a callback or from anywhere else

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void grpc_iomgr_add_delayed_callback (grpc_iomgr_closureiocb,
int success 
)
+
+ +

As per grpc_iomgr_add_callback, with the ability to set the success argument.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void grpc_iomgr_closure_init (grpc_iomgr_closureclosure,
grpc_iomgr_cb_func cb,
void * cb_arg 
)
+
+ +

Initializes closure with cb and cb_arg.

+ +
+
+ +
+
+ + + + + + + + +
void grpc_iomgr_init (void )
+
+ +

Initializes the iomgr.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void grpc_iomgr_register_object (grpc_iomgr_objectobj,
const char * name 
)
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_iomgr_shutdown (void )
+
+ +

Signals the intention to shutdown the iomgr.

+ +
+
+ +
+
+ + + + + + + + +
void grpc_iomgr_unregister_object (grpc_iomgr_objectobj)
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_kick_poller (void )
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
int grpc_maybe_call_delayed_callbacks (gpr_mudrop_mu,
int success 
)
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/iomgr_8h.html b/doc/ref/core.internal/html/iomgr_8h.html new file mode 100644 index 0000000000..0ce794235e --- /dev/null +++ b/doc/ref/core.internal/html/iomgr_8h.html @@ -0,0 +1,293 @@ + + + + + + +GRPC Core: src/core/iomgr/iomgr.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
iomgr.h File Reference
+
+
+ +

Go to the source code of this file.

+ + + + + +

+Data Structures

struct  grpc_iomgr_closure
 A closure over a grpc_iomgr_cb_func. More...
 
+ + + + + + + +

+Typedefs

typedef void(* grpc_iomgr_cb_func )(void *arg, int success)
 gRPC Callback definition. More...
 
typedef struct grpc_iomgr_closure grpc_iomgr_closure
 A closure over a grpc_iomgr_cb_func. More...
 
+ + + + + + + + + + + + + + + + +

+Functions

void grpc_iomgr_closure_init (grpc_iomgr_closure *closure, grpc_iomgr_cb_func cb, void *cb_arg)
 Initializes closure with cb and cb_arg. More...
 
void grpc_iomgr_init (void)
 Initializes the iomgr. More...
 
void grpc_iomgr_shutdown (void)
 Signals the intention to shutdown the iomgr. More...
 
void grpc_iomgr_add_callback (grpc_iomgr_closure *closure)
 Registers a closure to be invoked at some point in the future. More...
 
void grpc_iomgr_add_delayed_callback (grpc_iomgr_closure *iocb, int success)
 As per grpc_iomgr_add_callback, with the ability to set the success argument. More...
 
+

Typedef Documentation

+ +
+
+ + + + +
typedef void(* grpc_iomgr_cb_func)(void *arg, int success)
+
+ +

gRPC Callback definition.

+
Parameters
+ + + +
argArbitrary input.
successAn indication on the state of the iomgr. On false, cleanup actions should be taken (eg, shutdown).
+
+
+ +
+
+ +
+
+ + + + +
typedef struct grpc_iomgr_closure grpc_iomgr_closure
+
+ +

A closure over a grpc_iomgr_cb_func.

+ +
+
+

Function Documentation

+ +
+
+ + + + + + + + +
void grpc_iomgr_add_callback (grpc_iomgr_closureclosure)
+
+ +

Registers a closure to be invoked at some point in the future.

+

Can be called from within a callback or from anywhere else

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void grpc_iomgr_add_delayed_callback (grpc_iomgr_closureiocb,
int success 
)
+
+ +

As per grpc_iomgr_add_callback, with the ability to set the success argument.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void grpc_iomgr_closure_init (grpc_iomgr_closureclosure,
grpc_iomgr_cb_func cb,
void * cb_arg 
)
+
+ +

Initializes closure with cb and cb_arg.

+ +
+
+ +
+
+ + + + + + + + +
void grpc_iomgr_init (void )
+
+ +

Initializes the iomgr.

+ +
+
+ +
+
+ + + + + + + + +
void grpc_iomgr_shutdown (void )
+
+ +

Signals the intention to shutdown the iomgr.

+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/iomgr_8h_source.html b/doc/ref/core.internal/html/iomgr_8h_source.html new file mode 100644 index 0000000000..be4dc83596 --- /dev/null +++ b/doc/ref/core.internal/html/iomgr_8h_source.html @@ -0,0 +1,172 @@ + + + + + + +GRPC Core: src/core/iomgr/iomgr.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
iomgr.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPC_INTERNAL_CORE_IOMGR_IOMGR_H
+
35 #define GRPC_INTERNAL_CORE_IOMGR_IOMGR_H
+
36 
+
42 typedef void (*grpc_iomgr_cb_func)(void *arg, int success);
+
43 
+
45 typedef struct grpc_iomgr_closure {
+ +
48 
+
50  void *cb_arg;
+
51 
+
55  int success;
+
56 
+ + +
60 
+ +
63  void *cb_arg);
+
64 
+
66 void grpc_iomgr_init(void);
+
67 
+
69 void grpc_iomgr_shutdown(void);
+
70 
+ +
75 
+ +
79 
+
80 #endif /* GRPC_INTERNAL_CORE_IOMGR_IOMGR_H */
+
void grpc_iomgr_add_callback(grpc_iomgr_closure *closure)
Registers a closure to be invoked at some point in the future.
Definition: iomgr.c:240
+
struct grpc_iomgr_closure * next
Definition: iomgr.h:58
+
void grpc_iomgr_init(void)
Initializes the iomgr.
Definition: iomgr.c:89
+
struct grpc_iomgr_closure grpc_iomgr_closure
A closure over a grpc_iomgr_cb_func.
+
A closure over a grpc_iomgr_cb_func.
Definition: iomgr.h:45
+
void grpc_iomgr_closure_init(grpc_iomgr_closure *closure, grpc_iomgr_cb_func cb, void *cb_arg)
Initializes closure with cb and cb_arg.
Definition: iomgr.c:205
+
int success
Internal.
Definition: iomgr.h:55
+
void(* grpc_iomgr_cb_func)(void *arg, int success)
gRPC Callback definition.
Definition: iomgr.h:42
+
struct arg arg
+
grpc_iomgr_cb_func cb
Bound callback.
Definition: iomgr.h:47
+
void grpc_iomgr_add_delayed_callback(grpc_iomgr_closure *iocb, int success)
As per grpc_iomgr_add_callback, with the ability to set the success argument.
Definition: iomgr.c:222
+
void * cb_arg
Arguments to be passed to "cb".
Definition: iomgr.h:50
+
void grpc_iomgr_shutdown(void)
Signals the intention to shutdown the iomgr.
Definition: iomgr.c:111
+
+ + + + diff --git a/doc/ref/core.internal/html/iomgr__internal_8h.html b/doc/ref/core.internal/html/iomgr__internal_8h.html new file mode 100644 index 0000000000..ad48f86f47 --- /dev/null +++ b/doc/ref/core.internal/html/iomgr__internal_8h.html @@ -0,0 +1,276 @@ + + + + + + +GRPC Core: src/core/iomgr/iomgr_internal.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
iomgr_internal.h File Reference
+
+
+ +

Go to the source code of this file.

+ + + + +

+Data Structures

struct  grpc_iomgr_object
 
+ + + +

+Typedefs

typedef struct grpc_iomgr_object grpc_iomgr_object
 
+ + + + + + + + + + + + + + +

+Functions

int grpc_maybe_call_delayed_callbacks (gpr_mu *drop_mu, int success)
 
void grpc_iomgr_add_delayed_callback (grpc_iomgr_closure *iocb, int success)
 As per grpc_iomgr_add_callback, with the ability to set the success argument. More...
 
void grpc_iomgr_register_object (grpc_iomgr_object *obj, const char *name)
 
void grpc_iomgr_unregister_object (grpc_iomgr_object *obj)
 
void grpc_iomgr_platform_init (void)
 
void grpc_iomgr_platform_shutdown (void)
 
+

Typedef Documentation

+ +
+
+ + + + +
typedef struct grpc_iomgr_object grpc_iomgr_object
+
+ +
+
+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
void grpc_iomgr_add_delayed_callback (grpc_iomgr_closureiocb,
int success 
)
+
+ +

As per grpc_iomgr_add_callback, with the ability to set the success argument.

+ +
+
+ +
+
+ + + + + + + + +
void grpc_iomgr_platform_init (void )
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_iomgr_platform_shutdown (void )
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void grpc_iomgr_register_object (grpc_iomgr_objectobj,
const char * name 
)
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_iomgr_unregister_object (grpc_iomgr_objectobj)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
int grpc_maybe_call_delayed_callbacks (gpr_mudrop_mu,
int success 
)
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/iomgr__internal_8h_source.html b/doc/ref/core.internal/html/iomgr__internal_8h_source.html new file mode 100644 index 0000000000..ec22d4f766 --- /dev/null +++ b/doc/ref/core.internal/html/iomgr__internal_8h_source.html @@ -0,0 +1,169 @@ + + + + + + +GRPC Core: src/core/iomgr/iomgr_internal.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
iomgr_internal.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPC_INTERNAL_CORE_IOMGR_IOMGR_INTERNAL_H
+
35 #define GRPC_INTERNAL_CORE_IOMGR_IOMGR_INTERNAL_H
+
36 
+
37 #include "src/core/iomgr/iomgr.h"
+
38 #include <grpc/support/sync.h>
+
39 
+
40 typedef struct grpc_iomgr_object {
+
41  char *name;
+ + + +
45 
+
46 int grpc_maybe_call_delayed_callbacks(gpr_mu *drop_mu, int success);
+ +
48 
+
49 void grpc_iomgr_register_object(grpc_iomgr_object *obj, const char *name);
+ +
51 
+
52 void grpc_iomgr_platform_init(void);
+ +
54 
+
55 #endif /* GRPC_INTERNAL_CORE_IOMGR_IOMGR_INTERNAL_H */
+
int grpc_maybe_call_delayed_callbacks(gpr_mu *drop_mu, int success)
Definition: iomgr.c:244
+
struct grpc_iomgr_object grpc_iomgr_object
+
struct grpc_iomgr_object * prev
Definition: iomgr_internal.h:43
+
void grpc_iomgr_platform_init(void)
+
Definition: iomgr_internal.h:40
+
struct grpc_iomgr_object * next
Definition: iomgr_internal.h:42
+
Definition: sync_win32.h:39
+
void grpc_iomgr_register_object(grpc_iomgr_object *obj, const char *name)
Definition: iomgr.c:187
+
A closure over a grpc_iomgr_cb_func.
Definition: iomgr.h:45
+
void grpc_iomgr_platform_shutdown(void)
+
void grpc_iomgr_unregister_object(grpc_iomgr_object *obj)
Definition: iomgr.c:196
+ +
void grpc_iomgr_add_delayed_callback(grpc_iomgr_closure *iocb, int success)
As per grpc_iomgr_add_callback, with the ability to set the success argument.
Definition: iomgr.c:222
+
char * name
Definition: iomgr_internal.h:41
+ +
+ + + + diff --git a/doc/ref/core.internal/html/iomgr__posix_8c.html b/doc/ref/core.internal/html/iomgr__posix_8c.html new file mode 100644 index 0000000000..cb58a469fd --- /dev/null +++ b/doc/ref/core.internal/html/iomgr__posix_8c.html @@ -0,0 +1,100 @@ + + + + + + +GRPC Core: src/core/iomgr/iomgr_posix.c File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
iomgr_posix.c File Reference
+
+ + + + + diff --git a/doc/ref/core.internal/html/iomgr__posix_8h.html b/doc/ref/core.internal/html/iomgr__posix_8h.html new file mode 100644 index 0000000000..a1df369e2c --- /dev/null +++ b/doc/ref/core.internal/html/iomgr__posix_8h.html @@ -0,0 +1,145 @@ + + + + + + +GRPC Core: src/core/iomgr/iomgr_posix.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
iomgr_posix.h File Reference
+
+
+ +

Go to the source code of this file.

+ + + + + + +

+Functions

void grpc_pollset_global_init (void)
 
void grpc_pollset_global_shutdown (void)
 
+

Function Documentation

+ +
+
+ + + + + + + + +
void grpc_pollset_global_init (void )
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_pollset_global_shutdown (void )
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/iomgr__posix_8h_source.html b/doc/ref/core.internal/html/iomgr__posix_8h_source.html new file mode 100644 index 0000000000..4cb1131b28 --- /dev/null +++ b/doc/ref/core.internal/html/iomgr__posix_8h_source.html @@ -0,0 +1,144 @@ + + + + + + +GRPC Core: src/core/iomgr/iomgr_posix.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
iomgr_posix.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPC_INTERNAL_CORE_IOMGR_IOMGR_POSIX_H
+
35 #define GRPC_INTERNAL_CORE_IOMGR_IOMGR_POSIX_H
+
36 
+ +
38 
+
39 void grpc_pollset_global_init(void);
+ +
41 
+
42 #endif /* GRPC_INTERNAL_CORE_IOMGR_IOMGR_POSIX_H */
+
void grpc_pollset_global_init(void)
+
void grpc_pollset_global_shutdown(void)
+ +
+ + + + diff --git a/doc/ref/core.internal/html/iomgr__windows_8c.html b/doc/ref/core.internal/html/iomgr__windows_8c.html new file mode 100644 index 0000000000..07825903c0 --- /dev/null +++ b/doc/ref/core.internal/html/iomgr__windows_8c.html @@ -0,0 +1,100 @@ + + + + + + +GRPC Core: src/core/iomgr/iomgr_windows.c File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
iomgr_windows.c File Reference
+
+ + + + + diff --git a/doc/ref/core.internal/html/jquery.js b/doc/ref/core.internal/html/jquery.js new file mode 100644 index 0000000000..c197801c5d --- /dev/null +++ b/doc/ref/core.internal/html/jquery.js @@ -0,0 +1,31 @@ +/*! + * jQuery JavaScript Library v1.7.1 + * http://jquery.com/ + * + * Copyright 2011, John Resig + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * Includes Sizzle.js + * http://sizzlejs.com/ + * Copyright 2011, The Dojo Foundation + * Released under the MIT, BSD, and GPL Licenses. + * + * Date: Mon Nov 21 21:11:03 2011 -0500 + */ +(function(bb,L){var av=bb.document,bu=bb.navigator,bl=bb.location;var b=(function(){var bF=function(b0,b1){return new bF.fn.init(b0,b1,bD)},bU=bb.jQuery,bH=bb.$,bD,bY=/^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,bM=/\S/,bI=/^\s+/,bE=/\s+$/,bA=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,bN=/^[\],:{}\s]*$/,bW=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,bP=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,bJ=/(?:^|:|,)(?:\s*\[)+/g,by=/(webkit)[ \/]([\w.]+)/,bR=/(opera)(?:.*version)?[ \/]([\w.]+)/,bQ=/(msie) ([\w.]+)/,bS=/(mozilla)(?:.*? rv:([\w.]+))?/,bB=/-([a-z]|[0-9])/ig,bZ=/^-ms-/,bT=function(b0,b1){return(b1+"").toUpperCase()},bX=bu.userAgent,bV,bC,e,bL=Object.prototype.toString,bG=Object.prototype.hasOwnProperty,bz=Array.prototype.push,bK=Array.prototype.slice,bO=String.prototype.trim,bv=Array.prototype.indexOf,bx={};bF.fn=bF.prototype={constructor:bF,init:function(b0,b4,b3){var b2,b5,b1,b6;if(!b0){return this}if(b0.nodeType){this.context=this[0]=b0;this.length=1;return this}if(b0==="body"&&!b4&&av.body){this.context=av;this[0]=av.body;this.selector=b0;this.length=1;return this}if(typeof b0==="string"){if(b0.charAt(0)==="<"&&b0.charAt(b0.length-1)===">"&&b0.length>=3){b2=[null,b0,null]}else{b2=bY.exec(b0)}if(b2&&(b2[1]||!b4)){if(b2[1]){b4=b4 instanceof bF?b4[0]:b4;b6=(b4?b4.ownerDocument||b4:av);b1=bA.exec(b0);if(b1){if(bF.isPlainObject(b4)){b0=[av.createElement(b1[1])];bF.fn.attr.call(b0,b4,true)}else{b0=[b6.createElement(b1[1])]}}else{b1=bF.buildFragment([b2[1]],[b6]);b0=(b1.cacheable?bF.clone(b1.fragment):b1.fragment).childNodes}return bF.merge(this,b0)}else{b5=av.getElementById(b2[2]);if(b5&&b5.parentNode){if(b5.id!==b2[2]){return b3.find(b0)}this.length=1;this[0]=b5}this.context=av;this.selector=b0;return this}}else{if(!b4||b4.jquery){return(b4||b3).find(b0)}else{return this.constructor(b4).find(b0)}}}else{if(bF.isFunction(b0)){return b3.ready(b0)}}if(b0.selector!==L){this.selector=b0.selector;this.context=b0.context}return bF.makeArray(b0,this)},selector:"",jquery:"1.7.1",length:0,size:function(){return this.length},toArray:function(){return bK.call(this,0)},get:function(b0){return b0==null?this.toArray():(b0<0?this[this.length+b0]:this[b0])},pushStack:function(b1,b3,b0){var b2=this.constructor();if(bF.isArray(b1)){bz.apply(b2,b1)}else{bF.merge(b2,b1)}b2.prevObject=this;b2.context=this.context;if(b3==="find"){b2.selector=this.selector+(this.selector?" ":"")+b0}else{if(b3){b2.selector=this.selector+"."+b3+"("+b0+")"}}return b2},each:function(b1,b0){return bF.each(this,b1,b0)},ready:function(b0){bF.bindReady();bC.add(b0);return this},eq:function(b0){b0=+b0;return b0===-1?this.slice(b0):this.slice(b0,b0+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(bK.apply(this,arguments),"slice",bK.call(arguments).join(","))},map:function(b0){return this.pushStack(bF.map(this,function(b2,b1){return b0.call(b2,b1,b2)}))},end:function(){return this.prevObject||this.constructor(null)},push:bz,sort:[].sort,splice:[].splice};bF.fn.init.prototype=bF.fn;bF.extend=bF.fn.extend=function(){var b9,b2,b0,b1,b6,b7,b5=arguments[0]||{},b4=1,b3=arguments.length,b8=false;if(typeof b5==="boolean"){b8=b5;b5=arguments[1]||{};b4=2}if(typeof b5!=="object"&&!bF.isFunction(b5)){b5={}}if(b3===b4){b5=this;--b4}for(;b40){return}bC.fireWith(av,[bF]);if(bF.fn.trigger){bF(av).trigger("ready").off("ready")}}},bindReady:function(){if(bC){return}bC=bF.Callbacks("once memory");if(av.readyState==="complete"){return setTimeout(bF.ready,1)}if(av.addEventListener){av.addEventListener("DOMContentLoaded",e,false);bb.addEventListener("load",bF.ready,false)}else{if(av.attachEvent){av.attachEvent("onreadystatechange",e);bb.attachEvent("onload",bF.ready);var b0=false;try{b0=bb.frameElement==null}catch(b1){}if(av.documentElement.doScroll&&b0){bw()}}}},isFunction:function(b0){return bF.type(b0)==="function"},isArray:Array.isArray||function(b0){return bF.type(b0)==="array"},isWindow:function(b0){return b0&&typeof b0==="object"&&"setInterval" in b0},isNumeric:function(b0){return !isNaN(parseFloat(b0))&&isFinite(b0)},type:function(b0){return b0==null?String(b0):bx[bL.call(b0)]||"object"},isPlainObject:function(b2){if(!b2||bF.type(b2)!=="object"||b2.nodeType||bF.isWindow(b2)){return false}try{if(b2.constructor&&!bG.call(b2,"constructor")&&!bG.call(b2.constructor.prototype,"isPrototypeOf")){return false}}catch(b1){return false}var b0;for(b0 in b2){}return b0===L||bG.call(b2,b0)},isEmptyObject:function(b1){for(var b0 in b1){return false}return true},error:function(b0){throw new Error(b0)},parseJSON:function(b0){if(typeof b0!=="string"||!b0){return null}b0=bF.trim(b0);if(bb.JSON&&bb.JSON.parse){return bb.JSON.parse(b0)}if(bN.test(b0.replace(bW,"@").replace(bP,"]").replace(bJ,""))){return(new Function("return "+b0))()}bF.error("Invalid JSON: "+b0)},parseXML:function(b2){var b0,b1;try{if(bb.DOMParser){b1=new DOMParser();b0=b1.parseFromString(b2,"text/xml")}else{b0=new ActiveXObject("Microsoft.XMLDOM");b0.async="false";b0.loadXML(b2)}}catch(b3){b0=L}if(!b0||!b0.documentElement||b0.getElementsByTagName("parsererror").length){bF.error("Invalid XML: "+b2)}return b0},noop:function(){},globalEval:function(b0){if(b0&&bM.test(b0)){(bb.execScript||function(b1){bb["eval"].call(bb,b1)})(b0)}},camelCase:function(b0){return b0.replace(bZ,"ms-").replace(bB,bT)},nodeName:function(b1,b0){return b1.nodeName&&b1.nodeName.toUpperCase()===b0.toUpperCase()},each:function(b3,b6,b2){var b1,b4=0,b5=b3.length,b0=b5===L||bF.isFunction(b3);if(b2){if(b0){for(b1 in b3){if(b6.apply(b3[b1],b2)===false){break}}}else{for(;b40&&b0[0]&&b0[b1-1])||b1===0||bF.isArray(b0));if(b3){for(;b21?aJ.call(arguments,0):bG;if(!(--bw)){bC.resolveWith(bC,bx)}}}function bz(bF){return function(bG){bB[bF]=arguments.length>1?aJ.call(arguments,0):bG;bC.notifyWith(bE,bB)}}if(e>1){for(;bv
a";bI=bv.getElementsByTagName("*");bF=bv.getElementsByTagName("a")[0];if(!bI||!bI.length||!bF){return{}}bG=av.createElement("select");bx=bG.appendChild(av.createElement("option"));bE=bv.getElementsByTagName("input")[0];bJ={leadingWhitespace:(bv.firstChild.nodeType===3),tbody:!bv.getElementsByTagName("tbody").length,htmlSerialize:!!bv.getElementsByTagName("link").length,style:/top/.test(bF.getAttribute("style")),hrefNormalized:(bF.getAttribute("href")==="/a"),opacity:/^0.55/.test(bF.style.opacity),cssFloat:!!bF.style.cssFloat,checkOn:(bE.value==="on"),optSelected:bx.selected,getSetAttribute:bv.className!=="t",enctype:!!av.createElement("form").enctype,html5Clone:av.createElement("nav").cloneNode(true).outerHTML!=="<:nav>",submitBubbles:true,changeBubbles:true,focusinBubbles:false,deleteExpando:true,noCloneEvent:true,inlineBlockNeedsLayout:false,shrinkWrapBlocks:false,reliableMarginRight:true};bE.checked=true;bJ.noCloneChecked=bE.cloneNode(true).checked;bG.disabled=true;bJ.optDisabled=!bx.disabled;try{delete bv.test}catch(bC){bJ.deleteExpando=false}if(!bv.addEventListener&&bv.attachEvent&&bv.fireEvent){bv.attachEvent("onclick",function(){bJ.noCloneEvent=false});bv.cloneNode(true).fireEvent("onclick")}bE=av.createElement("input");bE.value="t";bE.setAttribute("type","radio");bJ.radioValue=bE.value==="t";bE.setAttribute("checked","checked");bv.appendChild(bE);bD=av.createDocumentFragment();bD.appendChild(bv.lastChild);bJ.checkClone=bD.cloneNode(true).cloneNode(true).lastChild.checked;bJ.appendChecked=bE.checked;bD.removeChild(bE);bD.appendChild(bv);bv.innerHTML="";if(bb.getComputedStyle){bA=av.createElement("div");bA.style.width="0";bA.style.marginRight="0";bv.style.width="2px";bv.appendChild(bA);bJ.reliableMarginRight=(parseInt((bb.getComputedStyle(bA,null)||{marginRight:0}).marginRight,10)||0)===0}if(bv.attachEvent){for(by in {submit:1,change:1,focusin:1}){bB="on"+by;bw=(bB in bv);if(!bw){bv.setAttribute(bB,"return;");bw=(typeof bv[bB]==="function")}bJ[by+"Bubbles"]=bw}}bD.removeChild(bv);bD=bG=bx=bA=bv=bE=null;b(function(){var bM,bU,bV,bT,bN,bO,bL,bS,bR,e,bP,bQ=av.getElementsByTagName("body")[0];if(!bQ){return}bL=1;bS="position:absolute;top:0;left:0;width:1px;height:1px;margin:0;";bR="visibility:hidden;border:0;";e="style='"+bS+"border:5px solid #000;padding:0;'";bP="
";bM=av.createElement("div");bM.style.cssText=bR+"width:0;height:0;position:static;top:0;margin-top:"+bL+"px";bQ.insertBefore(bM,bQ.firstChild);bv=av.createElement("div");bM.appendChild(bv);bv.innerHTML="
t
";bz=bv.getElementsByTagName("td");bw=(bz[0].offsetHeight===0);bz[0].style.display="";bz[1].style.display="none";bJ.reliableHiddenOffsets=bw&&(bz[0].offsetHeight===0);bv.innerHTML="";bv.style.width=bv.style.paddingLeft="1px";b.boxModel=bJ.boxModel=bv.offsetWidth===2;if(typeof bv.style.zoom!=="undefined"){bv.style.display="inline";bv.style.zoom=1;bJ.inlineBlockNeedsLayout=(bv.offsetWidth===2);bv.style.display="";bv.innerHTML="
";bJ.shrinkWrapBlocks=(bv.offsetWidth!==2)}bv.style.cssText=bS+bR;bv.innerHTML=bP;bU=bv.firstChild;bV=bU.firstChild;bN=bU.nextSibling.firstChild.firstChild;bO={doesNotAddBorder:(bV.offsetTop!==5),doesAddBorderForTableAndCells:(bN.offsetTop===5)};bV.style.position="fixed";bV.style.top="20px";bO.fixedPosition=(bV.offsetTop===20||bV.offsetTop===15);bV.style.position=bV.style.top="";bU.style.overflow="hidden";bU.style.position="relative";bO.subtractsBorderForOverflowNotVisible=(bV.offsetTop===-5);bO.doesNotIncludeMarginInBodyOffset=(bQ.offsetTop!==bL);bQ.removeChild(bM);bv=bM=null;b.extend(bJ,bO)});return bJ})();var aS=/^(?:\{.*\}|\[.*\])$/,aA=/([A-Z])/g;b.extend({cache:{},uuid:0,expando:"jQuery"+(b.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:true,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:true},hasData:function(e){e=e.nodeType?b.cache[e[b.expando]]:e[b.expando];return !!e&&!S(e)},data:function(bx,bv,bz,by){if(!b.acceptData(bx)){return}var bG,bA,bD,bE=b.expando,bC=typeof bv==="string",bF=bx.nodeType,e=bF?b.cache:bx,bw=bF?bx[bE]:bx[bE]&&bE,bB=bv==="events";if((!bw||!e[bw]||(!bB&&!by&&!e[bw].data))&&bC&&bz===L){return}if(!bw){if(bF){bx[bE]=bw=++b.uuid}else{bw=bE}}if(!e[bw]){e[bw]={};if(!bF){e[bw].toJSON=b.noop}}if(typeof bv==="object"||typeof bv==="function"){if(by){e[bw]=b.extend(e[bw],bv)}else{e[bw].data=b.extend(e[bw].data,bv)}}bG=bA=e[bw];if(!by){if(!bA.data){bA.data={}}bA=bA.data}if(bz!==L){bA[b.camelCase(bv)]=bz}if(bB&&!bA[bv]){return bG.events}if(bC){bD=bA[bv];if(bD==null){bD=bA[b.camelCase(bv)]}}else{bD=bA}return bD},removeData:function(bx,bv,by){if(!b.acceptData(bx)){return}var bB,bA,bz,bC=b.expando,bD=bx.nodeType,e=bD?b.cache:bx,bw=bD?bx[bC]:bC;if(!e[bw]){return}if(bv){bB=by?e[bw]:e[bw].data;if(bB){if(!b.isArray(bv)){if(bv in bB){bv=[bv]}else{bv=b.camelCase(bv);if(bv in bB){bv=[bv]}else{bv=bv.split(" ")}}}for(bA=0,bz=bv.length;bA-1){return true}}return false},val:function(bx){var e,bv,by,bw=this[0];if(!arguments.length){if(bw){e=b.valHooks[bw.nodeName.toLowerCase()]||b.valHooks[bw.type];if(e&&"get" in e&&(bv=e.get(bw,"value"))!==L){return bv}bv=bw.value;return typeof bv==="string"?bv.replace(aU,""):bv==null?"":bv}return}by=b.isFunction(bx);return this.each(function(bA){var bz=b(this),bB;if(this.nodeType!==1){return}if(by){bB=bx.call(this,bA,bz.val())}else{bB=bx}if(bB==null){bB=""}else{if(typeof bB==="number"){bB+=""}else{if(b.isArray(bB)){bB=b.map(bB,function(bC){return bC==null?"":bC+""})}}}e=b.valHooks[this.nodeName.toLowerCase()]||b.valHooks[this.type];if(!e||!("set" in e)||e.set(this,bB,"value")===L){this.value=bB}})}});b.extend({valHooks:{option:{get:function(e){var bv=e.attributes.value;return !bv||bv.specified?e.value:e.text}},select:{get:function(e){var bA,bv,bz,bx,by=e.selectedIndex,bB=[],bC=e.options,bw=e.type==="select-one";if(by<0){return null}bv=bw?by:0;bz=bw?by+1:bC.length;for(;bv=0});if(!e.length){bv.selectedIndex=-1}return e}}},attrFn:{val:true,css:true,html:true,text:true,data:true,width:true,height:true,offset:true},attr:function(bA,bx,bB,bz){var bw,e,by,bv=bA.nodeType; +if(!bA||bv===3||bv===8||bv===2){return}if(bz&&bx in b.attrFn){return b(bA)[bx](bB)}if(typeof bA.getAttribute==="undefined"){return b.prop(bA,bx,bB)}by=bv!==1||!b.isXMLDoc(bA);if(by){bx=bx.toLowerCase();e=b.attrHooks[bx]||(ao.test(bx)?aY:be)}if(bB!==L){if(bB===null){b.removeAttr(bA,bx);return}else{if(e&&"set" in e&&by&&(bw=e.set(bA,bB,bx))!==L){return bw}else{bA.setAttribute(bx,""+bB);return bB}}}else{if(e&&"get" in e&&by&&(bw=e.get(bA,bx))!==null){return bw}else{bw=bA.getAttribute(bx);return bw===null?L:bw}}},removeAttr:function(bx,bz){var by,bA,bv,e,bw=0;if(bz&&bx.nodeType===1){bA=bz.toLowerCase().split(af);e=bA.length;for(;bw=0)}}})});var bd=/^(?:textarea|input|select)$/i,n=/^([^\.]*)?(?:\.(.+))?$/,J=/\bhover(\.\S+)?\b/,aO=/^key/,bf=/^(?:mouse|contextmenu)|click/,T=/^(?:focusinfocus|focusoutblur)$/,U=/^(\w*)(?:#([\w\-]+))?(?:\.([\w\-]+))?$/,Y=function(e){var bv=U.exec(e);if(bv){bv[1]=(bv[1]||"").toLowerCase();bv[3]=bv[3]&&new RegExp("(?:^|\\s)"+bv[3]+"(?:\\s|$)")}return bv},j=function(bw,e){var bv=bw.attributes||{};return((!e[1]||bw.nodeName.toLowerCase()===e[1])&&(!e[2]||(bv.id||{}).value===e[2])&&(!e[3]||e[3].test((bv["class"]||{}).value)))},bt=function(e){return b.event.special.hover?e:e.replace(J,"mouseenter$1 mouseleave$1")};b.event={add:function(bx,bC,bJ,bA,by){var bD,bB,bK,bI,bH,bF,e,bG,bv,bz,bw,bE;if(bx.nodeType===3||bx.nodeType===8||!bC||!bJ||!(bD=b._data(bx))){return}if(bJ.handler){bv=bJ;bJ=bv.handler}if(!bJ.guid){bJ.guid=b.guid++}bK=bD.events;if(!bK){bD.events=bK={}}bB=bD.handle;if(!bB){bD.handle=bB=function(bL){return typeof b!=="undefined"&&(!bL||b.event.triggered!==bL.type)?b.event.dispatch.apply(bB.elem,arguments):L};bB.elem=bx}bC=b.trim(bt(bC)).split(" ");for(bI=0;bI=0){bG=bG.slice(0,-1);bw=true}if(bG.indexOf(".")>=0){bx=bG.split(".");bG=bx.shift();bx.sort()}if((!bA||b.event.customEvent[bG])&&!b.event.global[bG]){return}bv=typeof bv==="object"?bv[b.expando]?bv:new b.Event(bG,bv):new b.Event(bG);bv.type=bG;bv.isTrigger=true;bv.exclusive=bw;bv.namespace=bx.join(".");bv.namespace_re=bv.namespace?new RegExp("(^|\\.)"+bx.join("\\.(?:.*\\.)?")+"(\\.|$)"):null;by=bG.indexOf(":")<0?"on"+bG:"";if(!bA){e=b.cache;for(bC in e){if(e[bC].events&&e[bC].events[bG]){b.event.trigger(bv,bD,e[bC].handle.elem,true)}}return}bv.result=L;if(!bv.target){bv.target=bA}bD=bD!=null?b.makeArray(bD):[];bD.unshift(bv);bF=b.event.special[bG]||{};if(bF.trigger&&bF.trigger.apply(bA,bD)===false){return}bB=[[bA,bF.bindType||bG]];if(!bJ&&!bF.noBubble&&!b.isWindow(bA)){bI=bF.delegateType||bG;bH=T.test(bI+bG)?bA:bA.parentNode;bz=null;for(;bH;bH=bH.parentNode){bB.push([bH,bI]);bz=bH}if(bz&&bz===bA.ownerDocument){bB.push([bz.defaultView||bz.parentWindow||bb,bI])}}for(bC=0;bCbA){bH.push({elem:this,matches:bz.slice(bA)})}for(bC=0;bC0?this.on(e,null,bx,bw):this.trigger(e)};if(b.attrFn){b.attrFn[e]=true}if(aO.test(e)){b.event.fixHooks[e]=b.event.keyHooks}if(bf.test(e)){b.event.fixHooks[e]=b.event.mouseHooks}}); +/*! + * Sizzle CSS Selector Engine + * Copyright 2011, The Dojo Foundation + * Released under the MIT, BSD, and GPL Licenses. + * More information: http://sizzlejs.com/ + */ +(function(){var bH=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,bC="sizcache"+(Math.random()+"").replace(".",""),bI=0,bL=Object.prototype.toString,bB=false,bA=true,bK=/\\/g,bO=/\r\n/g,bQ=/\W/;[0,0].sort(function(){bA=false;return 0});var by=function(bV,e,bY,bZ){bY=bY||[];e=e||av;var b1=e;if(e.nodeType!==1&&e.nodeType!==9){return[]}if(!bV||typeof bV!=="string"){return bY}var bS,b3,b6,bR,b2,b5,b4,bX,bU=true,bT=by.isXML(e),bW=[],b0=bV;do{bH.exec("");bS=bH.exec(b0);if(bS){b0=bS[3];bW.push(bS[1]);if(bS[2]){bR=bS[3];break}}}while(bS);if(bW.length>1&&bD.exec(bV)){if(bW.length===2&&bE.relative[bW[0]]){b3=bM(bW[0]+bW[1],e,bZ)}else{b3=bE.relative[bW[0]]?[e]:by(bW.shift(),e);while(bW.length){bV=bW.shift();if(bE.relative[bV]){bV+=bW.shift()}b3=bM(bV,b3,bZ)}}}else{if(!bZ&&bW.length>1&&e.nodeType===9&&!bT&&bE.match.ID.test(bW[0])&&!bE.match.ID.test(bW[bW.length-1])){b2=by.find(bW.shift(),e,bT);e=b2.expr?by.filter(b2.expr,b2.set)[0]:b2.set[0]}if(e){b2=bZ?{expr:bW.pop(),set:bF(bZ)}:by.find(bW.pop(),bW.length===1&&(bW[0]==="~"||bW[0]==="+")&&e.parentNode?e.parentNode:e,bT);b3=b2.expr?by.filter(b2.expr,b2.set):b2.set;if(bW.length>0){b6=bF(b3)}else{bU=false}while(bW.length){b5=bW.pop();b4=b5;if(!bE.relative[b5]){b5=""}else{b4=bW.pop()}if(b4==null){b4=e}bE.relative[b5](b6,b4,bT)}}else{b6=bW=[]}}if(!b6){b6=b3}if(!b6){by.error(b5||bV)}if(bL.call(b6)==="[object Array]"){if(!bU){bY.push.apply(bY,b6)}else{if(e&&e.nodeType===1){for(bX=0;b6[bX]!=null;bX++){if(b6[bX]&&(b6[bX]===true||b6[bX].nodeType===1&&by.contains(e,b6[bX]))){bY.push(b3[bX])}}}else{for(bX=0;b6[bX]!=null;bX++){if(b6[bX]&&b6[bX].nodeType===1){bY.push(b3[bX])}}}}}else{bF(b6,bY)}if(bR){by(bR,b1,bY,bZ);by.uniqueSort(bY)}return bY};by.uniqueSort=function(bR){if(bJ){bB=bA;bR.sort(bJ);if(bB){for(var e=1;e0};by.find=function(bX,e,bY){var bW,bS,bU,bT,bV,bR;if(!bX){return[]}for(bS=0,bU=bE.order.length;bS":function(bW,bR){var bV,bU=typeof bR==="string",bS=0,e=bW.length;if(bU&&!bQ.test(bR)){bR=bR.toLowerCase();for(;bS=0)){if(!bS){e.push(bV)}}else{if(bS){bR[bU]=false}}}}return false},ID:function(e){return e[1].replace(bK,"")},TAG:function(bR,e){return bR[1].replace(bK,"").toLowerCase()},CHILD:function(e){if(e[1]==="nth"){if(!e[2]){by.error(e[0])}e[2]=e[2].replace(/^\+|\s*/g,"");var bR=/(-?)(\d*)(?:n([+\-]?\d*))?/.exec(e[2]==="even"&&"2n"||e[2]==="odd"&&"2n+1"||!/\D/.test(e[2])&&"0n+"+e[2]||e[2]);e[2]=(bR[1]+(bR[2]||1))-0;e[3]=bR[3]-0}else{if(e[2]){by.error(e[0])}}e[0]=bI++;return e},ATTR:function(bU,bR,bS,e,bV,bW){var bT=bU[1]=bU[1].replace(bK,"");if(!bW&&bE.attrMap[bT]){bU[1]=bE.attrMap[bT]}bU[4]=(bU[4]||bU[5]||"").replace(bK,"");if(bU[2]==="~="){bU[4]=" "+bU[4]+" "}return bU},PSEUDO:function(bU,bR,bS,e,bV){if(bU[1]==="not"){if((bH.exec(bU[3])||"").length>1||/^\w/.test(bU[3])){bU[3]=by(bU[3],null,null,bR)}else{var bT=by.filter(bU[3],bR,bS,true^bV);if(!bS){e.push.apply(e,bT)}return false}}else{if(bE.match.POS.test(bU[0])||bE.match.CHILD.test(bU[0])){return true}}return bU},POS:function(e){e.unshift(true);return e}},filters:{enabled:function(e){return e.disabled===false&&e.type!=="hidden"},disabled:function(e){return e.disabled===true},checked:function(e){return e.checked===true},selected:function(e){if(e.parentNode){e.parentNode.selectedIndex}return e.selected===true},parent:function(e){return !!e.firstChild},empty:function(e){return !e.firstChild},has:function(bS,bR,e){return !!by(e[3],bS).length},header:function(e){return(/h\d/i).test(e.nodeName)},text:function(bS){var e=bS.getAttribute("type"),bR=bS.type;return bS.nodeName.toLowerCase()==="input"&&"text"===bR&&(e===bR||e===null)},radio:function(e){return e.nodeName.toLowerCase()==="input"&&"radio"===e.type},checkbox:function(e){return e.nodeName.toLowerCase()==="input"&&"checkbox"===e.type},file:function(e){return e.nodeName.toLowerCase()==="input"&&"file"===e.type},password:function(e){return e.nodeName.toLowerCase()==="input"&&"password"===e.type},submit:function(bR){var e=bR.nodeName.toLowerCase();return(e==="input"||e==="button")&&"submit"===bR.type},image:function(e){return e.nodeName.toLowerCase()==="input"&&"image"===e.type},reset:function(bR){var e=bR.nodeName.toLowerCase();return(e==="input"||e==="button")&&"reset"===bR.type},button:function(bR){var e=bR.nodeName.toLowerCase();return e==="input"&&"button"===bR.type||e==="button"},input:function(e){return(/input|select|textarea|button/i).test(e.nodeName)},focus:function(e){return e===e.ownerDocument.activeElement}},setFilters:{first:function(bR,e){return e===0},last:function(bS,bR,e,bT){return bR===bT.length-1},even:function(bR,e){return e%2===0},odd:function(bR,e){return e%2===1 +},lt:function(bS,bR,e){return bRe[3]-0},nth:function(bS,bR,e){return e[3]-0===bR},eq:function(bS,bR,e){return e[3]-0===bR}},filter:{PSEUDO:function(bS,bX,bW,bY){var e=bX[1],bR=bE.filters[e];if(bR){return bR(bS,bW,bX,bY)}else{if(e==="contains"){return(bS.textContent||bS.innerText||bw([bS])||"").indexOf(bX[3])>=0}else{if(e==="not"){var bT=bX[3];for(var bV=0,bU=bT.length;bV=0)}}},ID:function(bR,e){return bR.nodeType===1&&bR.getAttribute("id")===e},TAG:function(bR,e){return(e==="*"&&bR.nodeType===1)||!!bR.nodeName&&bR.nodeName.toLowerCase()===e},CLASS:function(bR,e){return(" "+(bR.className||bR.getAttribute("class"))+" ").indexOf(e)>-1},ATTR:function(bV,bT){var bS=bT[1],e=by.attr?by.attr(bV,bS):bE.attrHandle[bS]?bE.attrHandle[bS](bV):bV[bS]!=null?bV[bS]:bV.getAttribute(bS),bW=e+"",bU=bT[2],bR=bT[4];return e==null?bU==="!=":!bU&&by.attr?e!=null:bU==="="?bW===bR:bU==="*="?bW.indexOf(bR)>=0:bU==="~="?(" "+bW+" ").indexOf(bR)>=0:!bR?bW&&e!==false:bU==="!="?bW!==bR:bU==="^="?bW.indexOf(bR)===0:bU==="$="?bW.substr(bW.length-bR.length)===bR:bU==="|="?bW===bR||bW.substr(0,bR.length+1)===bR+"-":false},POS:function(bU,bR,bS,bV){var e=bR[2],bT=bE.setFilters[e];if(bT){return bT(bU,bS,bR,bV)}}}};var bD=bE.match.POS,bx=function(bR,e){return"\\"+(e-0+1)};for(var bz in bE.match){bE.match[bz]=new RegExp(bE.match[bz].source+(/(?![^\[]*\])(?![^\(]*\))/.source));bE.leftMatch[bz]=new RegExp(/(^(?:.|\r|\n)*?)/.source+bE.match[bz].source.replace(/\\(\d+)/g,bx))}var bF=function(bR,e){bR=Array.prototype.slice.call(bR,0);if(e){e.push.apply(e,bR);return e}return bR};try{Array.prototype.slice.call(av.documentElement.childNodes,0)[0].nodeType}catch(bP){bF=function(bU,bT){var bS=0,bR=bT||[];if(bL.call(bU)==="[object Array]"){Array.prototype.push.apply(bR,bU)}else{if(typeof bU.length==="number"){for(var e=bU.length;bS";e.insertBefore(bR,e.firstChild);if(av.getElementById(bS)){bE.find.ID=function(bU,bV,bW){if(typeof bV.getElementById!=="undefined"&&!bW){var bT=bV.getElementById(bU[1]);return bT?bT.id===bU[1]||typeof bT.getAttributeNode!=="undefined"&&bT.getAttributeNode("id").nodeValue===bU[1]?[bT]:L:[]}};bE.filter.ID=function(bV,bT){var bU=typeof bV.getAttributeNode!=="undefined"&&bV.getAttributeNode("id");return bV.nodeType===1&&bU&&bU.nodeValue===bT}}e.removeChild(bR);e=bR=null})();(function(){var e=av.createElement("div");e.appendChild(av.createComment(""));if(e.getElementsByTagName("*").length>0){bE.find.TAG=function(bR,bV){var bU=bV.getElementsByTagName(bR[1]);if(bR[1]==="*"){var bT=[];for(var bS=0;bU[bS];bS++){if(bU[bS].nodeType===1){bT.push(bU[bS])}}bU=bT}return bU}}e.innerHTML="";if(e.firstChild&&typeof e.firstChild.getAttribute!=="undefined"&&e.firstChild.getAttribute("href")!=="#"){bE.attrHandle.href=function(bR){return bR.getAttribute("href",2)}}e=null})();if(av.querySelectorAll){(function(){var e=by,bT=av.createElement("div"),bS="__sizzle__";bT.innerHTML="

";if(bT.querySelectorAll&&bT.querySelectorAll(".TEST").length===0){return}by=function(b4,bV,bZ,b3){bV=bV||av;if(!b3&&!by.isXML(bV)){var b2=/^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(b4);if(b2&&(bV.nodeType===1||bV.nodeType===9)){if(b2[1]){return bF(bV.getElementsByTagName(b4),bZ)}else{if(b2[2]&&bE.find.CLASS&&bV.getElementsByClassName){return bF(bV.getElementsByClassName(b2[2]),bZ)}}}if(bV.nodeType===9){if(b4==="body"&&bV.body){return bF([bV.body],bZ)}else{if(b2&&b2[3]){var bY=bV.getElementById(b2[3]);if(bY&&bY.parentNode){if(bY.id===b2[3]){return bF([bY],bZ)}}else{return bF([],bZ)}}}try{return bF(bV.querySelectorAll(b4),bZ)}catch(b0){}}else{if(bV.nodeType===1&&bV.nodeName.toLowerCase()!=="object"){var bW=bV,bX=bV.getAttribute("id"),bU=bX||bS,b6=bV.parentNode,b5=/^\s*[+~]/.test(b4);if(!bX){bV.setAttribute("id",bU)}else{bU=bU.replace(/'/g,"\\$&")}if(b5&&b6){bV=bV.parentNode}try{if(!b5||b6){return bF(bV.querySelectorAll("[id='"+bU+"'] "+b4),bZ)}}catch(b1){}finally{if(!bX){bW.removeAttribute("id")}}}}}return e(b4,bV,bZ,b3)};for(var bR in e){by[bR]=e[bR]}bT=null})()}(function(){var e=av.documentElement,bS=e.matchesSelector||e.mozMatchesSelector||e.webkitMatchesSelector||e.msMatchesSelector;if(bS){var bU=!bS.call(av.createElement("div"),"div"),bR=false;try{bS.call(av.documentElement,"[test!='']:sizzle")}catch(bT){bR=true}by.matchesSelector=function(bW,bY){bY=bY.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!by.isXML(bW)){try{if(bR||!bE.match.PSEUDO.test(bY)&&!/!=/.test(bY)){var bV=bS.call(bW,bY);if(bV||!bU||bW.document&&bW.document.nodeType!==11){return bV}}}catch(bX){}}return by(bY,null,null,[bW]).length>0}}})();(function(){var e=av.createElement("div");e.innerHTML="
";if(!e.getElementsByClassName||e.getElementsByClassName("e").length===0){return}e.lastChild.className="e";if(e.getElementsByClassName("e").length===1){return}bE.order.splice(1,0,"CLASS");bE.find.CLASS=function(bR,bS,bT){if(typeof bS.getElementsByClassName!=="undefined"&&!bT){return bS.getElementsByClassName(bR[1])}};e=null})();function bv(bR,bW,bV,bZ,bX,bY){for(var bT=0,bS=bZ.length;bT0){bU=e;break}}}e=e[bR]}bZ[bT]=bU}}}if(av.documentElement.contains){by.contains=function(bR,e){return bR!==e&&(bR.contains?bR.contains(e):true)}}else{if(av.documentElement.compareDocumentPosition){by.contains=function(bR,e){return !!(bR.compareDocumentPosition(e)&16)}}else{by.contains=function(){return false}}}by.isXML=function(e){var bR=(e?e.ownerDocument||e:0).documentElement;return bR?bR.nodeName!=="HTML":false};var bM=function(bS,e,bW){var bV,bX=[],bU="",bY=e.nodeType?[e]:e;while((bV=bE.match.PSEUDO.exec(bS))){bU+=bV[0];bS=bS.replace(bE.match.PSEUDO,"")}bS=bE.relative[bS]?bS+"*":bS;for(var bT=0,bR=bY.length;bT0){for(bB=bA;bB=0:b.filter(e,this).length>0:this.filter(e).length>0)},closest:function(by,bx){var bv=[],bw,e,bz=this[0];if(b.isArray(by)){var bB=1;while(bz&&bz.ownerDocument&&bz!==bx){for(bw=0;bw-1:b.find.matchesSelector(bz,by)){bv.push(bz);break}else{bz=bz.parentNode;if(!bz||!bz.ownerDocument||bz===bx||bz.nodeType===11){break}}}}bv=bv.length>1?b.unique(bv):bv;return this.pushStack(bv,"closest",by)},index:function(e){if(!e){return(this[0]&&this[0].parentNode)?this.prevAll().length:-1}if(typeof e==="string"){return b.inArray(this[0],b(e))}return b.inArray(e.jquery?e[0]:e,this)},add:function(e,bv){var bx=typeof e==="string"?b(e,bv):b.makeArray(e&&e.nodeType?[e]:e),bw=b.merge(this.get(),bx);return this.pushStack(C(bx[0])||C(bw[0])?bw:b.unique(bw))},andSelf:function(){return this.add(this.prevObject)}});function C(e){return !e||!e.parentNode||e.parentNode.nodeType===11}b.each({parent:function(bv){var e=bv.parentNode;return e&&e.nodeType!==11?e:null},parents:function(e){return b.dir(e,"parentNode")},parentsUntil:function(bv,e,bw){return b.dir(bv,"parentNode",bw)},next:function(e){return b.nth(e,2,"nextSibling")},prev:function(e){return b.nth(e,2,"previousSibling")},nextAll:function(e){return b.dir(e,"nextSibling")},prevAll:function(e){return b.dir(e,"previousSibling")},nextUntil:function(bv,e,bw){return b.dir(bv,"nextSibling",bw)},prevUntil:function(bv,e,bw){return b.dir(bv,"previousSibling",bw)},siblings:function(e){return b.sibling(e.parentNode.firstChild,e)},children:function(e){return b.sibling(e.firstChild)},contents:function(e){return b.nodeName(e,"iframe")?e.contentDocument||e.contentWindow.document:b.makeArray(e.childNodes)}},function(e,bv){b.fn[e]=function(by,bw){var bx=b.map(this,bv,by);if(!ab.test(e)){bw=by}if(bw&&typeof bw==="string"){bx=b.filter(bw,bx)}bx=this.length>1&&!ay[e]?b.unique(bx):bx;if((this.length>1||a9.test(bw))&&aq.test(e)){bx=bx.reverse()}return this.pushStack(bx,e,P.call(arguments).join(","))}});b.extend({filter:function(bw,e,bv){if(bv){bw=":not("+bw+")"}return e.length===1?b.find.matchesSelector(e[0],bw)?[e[0]]:[]:b.find.matches(bw,e)},dir:function(bw,bv,by){var e=[],bx=bw[bv];while(bx&&bx.nodeType!==9&&(by===L||bx.nodeType!==1||!b(bx).is(by))){if(bx.nodeType===1){e.push(bx)}bx=bx[bv]}return e},nth:function(by,e,bw,bx){e=e||1;var bv=0;for(;by;by=by[bw]){if(by.nodeType===1&&++bv===e){break}}return by},sibling:function(bw,bv){var e=[];for(;bw;bw=bw.nextSibling){if(bw.nodeType===1&&bw!==bv){e.push(bw)}}return e}});function aG(bx,bw,e){bw=bw||0;if(b.isFunction(bw)){return b.grep(bx,function(bz,by){var bA=!!bw.call(bz,by,bz);return bA===e})}else{if(bw.nodeType){return b.grep(bx,function(bz,by){return(bz===bw)===e})}else{if(typeof bw==="string"){var bv=b.grep(bx,function(by){return by.nodeType===1});if(bp.test(bw)){return b.filter(bw,bv,!e)}else{bw=b.filter(bw,bv)}}}}return b.grep(bx,function(bz,by){return(b.inArray(bz,bw)>=0)===e})}function a(e){var bw=aR.split("|"),bv=e.createDocumentFragment();if(bv.createElement){while(bw.length){bv.createElement(bw.pop())}}return bv}var aR="abbr|article|aside|audio|canvas|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",ag=/ jQuery\d+="(?:\d+|null)"/g,ar=/^\s+/,R=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,d=/<([\w:]+)/,w=/",""],legend:[1,"
","
"],thead:[1,"","
"],tr:[2,"","
"],td:[3,"","
"],col:[2,"","
"],area:[1,"",""],_default:[0,"",""]},ac=a(av); +ax.optgroup=ax.option;ax.tbody=ax.tfoot=ax.colgroup=ax.caption=ax.thead;ax.th=ax.td;if(!b.support.htmlSerialize){ax._default=[1,"div
","
"]}b.fn.extend({text:function(e){if(b.isFunction(e)){return this.each(function(bw){var bv=b(this);bv.text(e.call(this,bw,bv.text()))})}if(typeof e!=="object"&&e!==L){return this.empty().append((this[0]&&this[0].ownerDocument||av).createTextNode(e))}return b.text(this)},wrapAll:function(e){if(b.isFunction(e)){return this.each(function(bw){b(this).wrapAll(e.call(this,bw))})}if(this[0]){var bv=b(e,this[0].ownerDocument).eq(0).clone(true);if(this[0].parentNode){bv.insertBefore(this[0])}bv.map(function(){var bw=this;while(bw.firstChild&&bw.firstChild.nodeType===1){bw=bw.firstChild}return bw}).append(this)}return this},wrapInner:function(e){if(b.isFunction(e)){return this.each(function(bv){b(this).wrapInner(e.call(this,bv))})}return this.each(function(){var bv=b(this),bw=bv.contents();if(bw.length){bw.wrapAll(e)}else{bv.append(e)}})},wrap:function(e){var bv=b.isFunction(e);return this.each(function(bw){b(this).wrapAll(bv?e.call(this,bw):e)})},unwrap:function(){return this.parent().each(function(){if(!b.nodeName(this,"body")){b(this).replaceWith(this.childNodes)}}).end()},append:function(){return this.domManip(arguments,true,function(e){if(this.nodeType===1){this.appendChild(e)}})},prepend:function(){return this.domManip(arguments,true,function(e){if(this.nodeType===1){this.insertBefore(e,this.firstChild)}})},before:function(){if(this[0]&&this[0].parentNode){return this.domManip(arguments,false,function(bv){this.parentNode.insertBefore(bv,this)})}else{if(arguments.length){var e=b.clean(arguments);e.push.apply(e,this.toArray());return this.pushStack(e,"before",arguments)}}},after:function(){if(this[0]&&this[0].parentNode){return this.domManip(arguments,false,function(bv){this.parentNode.insertBefore(bv,this.nextSibling)})}else{if(arguments.length){var e=this.pushStack(this,"after",arguments);e.push.apply(e,b.clean(arguments));return e}}},remove:function(e,bx){for(var bv=0,bw;(bw=this[bv])!=null;bv++){if(!e||b.filter(e,[bw]).length){if(!bx&&bw.nodeType===1){b.cleanData(bw.getElementsByTagName("*"));b.cleanData([bw])}if(bw.parentNode){bw.parentNode.removeChild(bw)}}}return this},empty:function(){for(var e=0,bv;(bv=this[e])!=null;e++){if(bv.nodeType===1){b.cleanData(bv.getElementsByTagName("*"))}while(bv.firstChild){bv.removeChild(bv.firstChild)}}return this},clone:function(bv,e){bv=bv==null?false:bv;e=e==null?bv:e;return this.map(function(){return b.clone(this,bv,e)})},html:function(bx){if(bx===L){return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(ag,""):null}else{if(typeof bx==="string"&&!ae.test(bx)&&(b.support.leadingWhitespace||!ar.test(bx))&&!ax[(d.exec(bx)||["",""])[1].toLowerCase()]){bx=bx.replace(R,"<$1>");try{for(var bw=0,bv=this.length;bw1&&bw0?this.clone(true):this).get();b(bC[bA])[bv](by);bz=bz.concat(by)}return this.pushStack(bz,e,bC.selector)}}});function bg(e){if(typeof e.getElementsByTagName!=="undefined"){return e.getElementsByTagName("*")}else{if(typeof e.querySelectorAll!=="undefined"){return e.querySelectorAll("*")}else{return[]}}}function az(e){if(e.type==="checkbox"||e.type==="radio"){e.defaultChecked=e.checked}}function E(e){var bv=(e.nodeName||"").toLowerCase();if(bv==="input"){az(e)}else{if(bv!=="script"&&typeof e.getElementsByTagName!=="undefined"){b.grep(e.getElementsByTagName("input"),az)}}}function al(e){var bv=av.createElement("div");ac.appendChild(bv);bv.innerHTML=e.outerHTML;return bv.firstChild}b.extend({clone:function(by,bA,bw){var e,bv,bx,bz=b.support.html5Clone||!ah.test("<"+by.nodeName)?by.cloneNode(true):al(by);if((!b.support.noCloneEvent||!b.support.noCloneChecked)&&(by.nodeType===1||by.nodeType===11)&&!b.isXMLDoc(by)){ai(by,bz);e=bg(by);bv=bg(bz);for(bx=0;e[bx];++bx){if(bv[bx]){ai(e[bx],bv[bx])}}}if(bA){t(by,bz);if(bw){e=bg(by);bv=bg(bz);for(bx=0;e[bx];++bx){t(e[bx],bv[bx])}}}e=bv=null;return bz},clean:function(bw,by,bH,bA){var bF;by=by||av;if(typeof by.createElement==="undefined"){by=by.ownerDocument||by[0]&&by[0].ownerDocument||av}var bI=[],bB;for(var bE=0,bz;(bz=bw[bE])!=null;bE++){if(typeof bz==="number"){bz+=""}if(!bz){continue}if(typeof bz==="string"){if(!W.test(bz)){bz=by.createTextNode(bz)}else{bz=bz.replace(R,"<$1>");var bK=(d.exec(bz)||["",""])[1].toLowerCase(),bx=ax[bK]||ax._default,bD=bx[0],bv=by.createElement("div");if(by===av){ac.appendChild(bv)}else{a(by).appendChild(bv)}bv.innerHTML=bx[1]+bz+bx[2];while(bD--){bv=bv.lastChild}if(!b.support.tbody){var e=w.test(bz),bC=bK==="table"&&!e?bv.firstChild&&bv.firstChild.childNodes:bx[1]===""&&!e?bv.childNodes:[];for(bB=bC.length-1;bB>=0;--bB){if(b.nodeName(bC[bB],"tbody")&&!bC[bB].childNodes.length){bC[bB].parentNode.removeChild(bC[bB])}}}if(!b.support.leadingWhitespace&&ar.test(bz)){bv.insertBefore(by.createTextNode(ar.exec(bz)[0]),bv.firstChild)}bz=bv.childNodes}}var bG;if(!b.support.appendChecked){if(bz[0]&&typeof(bG=bz.length)==="number"){for(bB=0;bB=0){return bx+"px"}}else{return bx}}}});if(!b.support.opacity){b.cssHooks.opacity={get:function(bv,e){return au.test((e&&bv.currentStyle?bv.currentStyle.filter:bv.style.filter)||"")?(parseFloat(RegExp.$1)/100)+"":e?"1":""},set:function(by,bz){var bx=by.style,bv=by.currentStyle,e=b.isNumeric(bz)?"alpha(opacity="+bz*100+")":"",bw=bv&&bv.filter||bx.filter||"";bx.zoom=1;if(bz>=1&&b.trim(bw.replace(ak,""))===""){bx.removeAttribute("filter");if(bv&&!bv.filter){return}}bx.filter=ak.test(bw)?bw.replace(ak,e):bw+" "+e}}}b(function(){if(!b.support.reliableMarginRight){b.cssHooks.marginRight={get:function(bw,bv){var e;b.swap(bw,{display:"inline-block"},function(){if(bv){e=Z(bw,"margin-right","marginRight")}else{e=bw.style.marginRight}});return e}}}});if(av.defaultView&&av.defaultView.getComputedStyle){aI=function(by,bw){var bv,bx,e;bw=bw.replace(z,"-$1").toLowerCase();if((bx=by.ownerDocument.defaultView)&&(e=bx.getComputedStyle(by,null))){bv=e.getPropertyValue(bw);if(bv===""&&!b.contains(by.ownerDocument.documentElement,by)){bv=b.style(by,bw)}}return bv}}if(av.documentElement.currentStyle){aX=function(bz,bw){var bA,e,by,bv=bz.currentStyle&&bz.currentStyle[bw],bx=bz.style;if(bv===null&&bx&&(by=bx[bw])){bv=by}if(!bc.test(bv)&&bn.test(bv)){bA=bx.left;e=bz.runtimeStyle&&bz.runtimeStyle.left;if(e){bz.runtimeStyle.left=bz.currentStyle.left}bx.left=bw==="fontSize"?"1em":(bv||0);bv=bx.pixelLeft+"px";bx.left=bA;if(e){bz.runtimeStyle.left=e}}return bv===""?"auto":bv}}Z=aI||aX;function p(by,bw,bv){var bA=bw==="width"?by.offsetWidth:by.offsetHeight,bz=bw==="width"?an:a1,bx=0,e=bz.length; +if(bA>0){if(bv!=="border"){for(;bx)<[^<]*)*<\/script>/gi,q=/^(?:select|textarea)/i,h=/\s+/,br=/([?&])_=[^&]*/,K=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+))?)?/,A=b.fn.load,aa={},r={},aE,s,aV=["*/"]+["*"];try{aE=bl.href}catch(aw){aE=av.createElement("a");aE.href="";aE=aE.href}s=K.exec(aE.toLowerCase())||[];function f(e){return function(by,bA){if(typeof by!=="string"){bA=by;by="*"}if(b.isFunction(bA)){var bx=by.toLowerCase().split(h),bw=0,bz=bx.length,bv,bB,bC;for(;bw=0){var e=bw.slice(by,bw.length);bw=bw.slice(0,by)}var bx="GET";if(bz){if(b.isFunction(bz)){bA=bz;bz=L}else{if(typeof bz==="object"){bz=b.param(bz,b.ajaxSettings.traditional);bx="POST"}}}var bv=this;b.ajax({url:bw,type:bx,dataType:"html",data:bz,complete:function(bC,bB,bD){bD=bC.responseText;if(bC.isResolved()){bC.done(function(bE){bD=bE});bv.html(e?b("
").append(bD.replace(a6,"")).find(e):bD)}if(bA){bv.each(bA,[bD,bB,bC])}}});return this},serialize:function(){return b.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?b.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||q.test(this.nodeName)||aZ.test(this.type))}).map(function(e,bv){var bw=b(this).val();return bw==null?null:b.isArray(bw)?b.map(bw,function(by,bx){return{name:bv.name,value:by.replace(bs,"\r\n")}}):{name:bv.name,value:bw.replace(bs,"\r\n")}}).get()}});b.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(e,bv){b.fn[bv]=function(bw){return this.on(bv,bw)}});b.each(["get","post"],function(e,bv){b[bv]=function(bw,by,bz,bx){if(b.isFunction(by)){bx=bx||bz;bz=by;by=L}return b.ajax({type:bv,url:bw,data:by,success:bz,dataType:bx})}});b.extend({getScript:function(e,bv){return b.get(e,L,bv,"script")},getJSON:function(e,bv,bw){return b.get(e,bv,bw,"json")},ajaxSetup:function(bv,e){if(e){am(bv,b.ajaxSettings)}else{e=bv;bv=b.ajaxSettings}am(bv,e);return bv},ajaxSettings:{url:aE,isLocal:aM.test(s[1]),global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":aV},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":bb.String,"text html":true,"text json":b.parseJSON,"text xml":b.parseXML},flatOptions:{context:true,url:true}},ajaxPrefilter:f(aa),ajaxTransport:f(r),ajax:function(bz,bx){if(typeof bz==="object"){bx=bz;bz=L}bx=bx||{};var bD=b.ajaxSetup({},bx),bS=bD.context||bD,bG=bS!==bD&&(bS.nodeType||bS instanceof b)?b(bS):b.event,bR=b.Deferred(),bN=b.Callbacks("once memory"),bB=bD.statusCode||{},bC,bH={},bO={},bQ,by,bL,bE,bI,bA=0,bw,bK,bJ={readyState:0,setRequestHeader:function(bT,bU){if(!bA){var e=bT.toLowerCase();bT=bO[e]=bO[e]||bT;bH[bT]=bU}return this},getAllResponseHeaders:function(){return bA===2?bQ:null},getResponseHeader:function(bT){var e;if(bA===2){if(!by){by={};while((e=aD.exec(bQ))){by[e[1].toLowerCase()]=e[2]}}e=by[bT.toLowerCase()]}return e===L?null:e},overrideMimeType:function(e){if(!bA){bD.mimeType=e}return this},abort:function(e){e=e||"abort";if(bL){bL.abort(e)}bF(0,e);return this}};function bF(bZ,bU,b0,bW){if(bA===2){return}bA=2;if(bE){clearTimeout(bE)}bL=L;bQ=bW||"";bJ.readyState=bZ>0?4:0;var bT,b4,b3,bX=bU,bY=b0?bj(bD,bJ,b0):L,bV,b2;if(bZ>=200&&bZ<300||bZ===304){if(bD.ifModified){if((bV=bJ.getResponseHeader("Last-Modified"))){b.lastModified[bC]=bV}if((b2=bJ.getResponseHeader("Etag"))){b.etag[bC]=b2}}if(bZ===304){bX="notmodified";bT=true}else{try{b4=G(bD,bY);bX="success";bT=true}catch(b1){bX="parsererror";b3=b1}}}else{b3=bX;if(!bX||bZ){bX="error";if(bZ<0){bZ=0}}}bJ.status=bZ;bJ.statusText=""+(bU||bX);if(bT){bR.resolveWith(bS,[b4,bX,bJ])}else{bR.rejectWith(bS,[bJ,bX,b3])}bJ.statusCode(bB);bB=L;if(bw){bG.trigger("ajax"+(bT?"Success":"Error"),[bJ,bD,bT?b4:b3])}bN.fireWith(bS,[bJ,bX]);if(bw){bG.trigger("ajaxComplete",[bJ,bD]);if(!(--b.active)){b.event.trigger("ajaxStop")}}}bR.promise(bJ);bJ.success=bJ.done;bJ.error=bJ.fail;bJ.complete=bN.add;bJ.statusCode=function(bT){if(bT){var e;if(bA<2){for(e in bT){bB[e]=[bB[e],bT[e]]}}else{e=bT[bJ.status];bJ.then(e,e)}}return this};bD.url=((bz||bD.url)+"").replace(bq,"").replace(c,s[1]+"//");bD.dataTypes=b.trim(bD.dataType||"*").toLowerCase().split(h);if(bD.crossDomain==null){bI=K.exec(bD.url.toLowerCase());bD.crossDomain=!!(bI&&(bI[1]!=s[1]||bI[2]!=s[2]||(bI[3]||(bI[1]==="http:"?80:443))!=(s[3]||(s[1]==="http:"?80:443))))}if(bD.data&&bD.processData&&typeof bD.data!=="string"){bD.data=b.param(bD.data,bD.traditional)}aW(aa,bD,bx,bJ);if(bA===2){return false}bw=bD.global;bD.type=bD.type.toUpperCase();bD.hasContent=!aQ.test(bD.type);if(bw&&b.active++===0){b.event.trigger("ajaxStart")}if(!bD.hasContent){if(bD.data){bD.url+=(M.test(bD.url)?"&":"?")+bD.data;delete bD.data}bC=bD.url;if(bD.cache===false){var bv=b.now(),bP=bD.url.replace(br,"$1_="+bv);bD.url=bP+((bP===bD.url)?(M.test(bD.url)?"&":"?")+"_="+bv:"")}}if(bD.data&&bD.hasContent&&bD.contentType!==false||bx.contentType){bJ.setRequestHeader("Content-Type",bD.contentType)}if(bD.ifModified){bC=bC||bD.url;if(b.lastModified[bC]){bJ.setRequestHeader("If-Modified-Since",b.lastModified[bC])}if(b.etag[bC]){bJ.setRequestHeader("If-None-Match",b.etag[bC])}}bJ.setRequestHeader("Accept",bD.dataTypes[0]&&bD.accepts[bD.dataTypes[0]]?bD.accepts[bD.dataTypes[0]]+(bD.dataTypes[0]!=="*"?", "+aV+"; q=0.01":""):bD.accepts["*"]);for(bK in bD.headers){bJ.setRequestHeader(bK,bD.headers[bK])}if(bD.beforeSend&&(bD.beforeSend.call(bS,bJ,bD)===false||bA===2)){bJ.abort();return false}for(bK in {success:1,error:1,complete:1}){bJ[bK](bD[bK])}bL=aW(r,bD,bx,bJ);if(!bL){bF(-1,"No Transport")}else{bJ.readyState=1;if(bw){bG.trigger("ajaxSend",[bJ,bD])}if(bD.async&&bD.timeout>0){bE=setTimeout(function(){bJ.abort("timeout")},bD.timeout)}try{bA=1;bL.send(bH,bF)}catch(bM){if(bA<2){bF(-1,bM)}else{throw bM}}}return bJ},param:function(e,bw){var bv=[],by=function(bz,bA){bA=b.isFunction(bA)?bA():bA;bv[bv.length]=encodeURIComponent(bz)+"="+encodeURIComponent(bA)};if(bw===L){bw=b.ajaxSettings.traditional}if(b.isArray(e)||(e.jquery&&!b.isPlainObject(e))){b.each(e,function(){by(this.name,this.value)})}else{for(var bx in e){v(bx,e[bx],bw,by)}}return bv.join("&").replace(k,"+")}});function v(bw,by,bv,bx){if(b.isArray(by)){b.each(by,function(bA,bz){if(bv||ap.test(bw)){bx(bw,bz)}else{v(bw+"["+(typeof bz==="object"||b.isArray(bz)?bA:"")+"]",bz,bv,bx)}})}else{if(!bv&&by!=null&&typeof by==="object"){for(var e in by){v(bw+"["+e+"]",by[e],bv,bx)}}else{bx(bw,by)}}}b.extend({active:0,lastModified:{},etag:{}});function bj(bD,bC,bz){var bv=bD.contents,bB=bD.dataTypes,bw=bD.responseFields,by,bA,bx,e;for(bA in bw){if(bA in bz){bC[bw[bA]]=bz[bA]}}while(bB[0]==="*"){bB.shift();if(by===L){by=bD.mimeType||bC.getResponseHeader("content-type")}}if(by){for(bA in bv){if(bv[bA]&&bv[bA].test(by)){bB.unshift(bA);break}}}if(bB[0] in bz){bx=bB[0]}else{for(bA in bz){if(!bB[0]||bD.converters[bA+" "+bB[0]]){bx=bA;break}if(!e){e=bA}}bx=bx||e}if(bx){if(bx!==bB[0]){bB.unshift(bx)}return bz[bx]}}function G(bH,bz){if(bH.dataFilter){bz=bH.dataFilter(bz,bH.dataType)}var bD=bH.dataTypes,bG={},bA,bE,bw=bD.length,bB,bC=bD[0],bx,by,bF,bv,e;for(bA=1;bA=bw.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();bw.animatedProperties[this.prop]=true;for(bA in bw.animatedProperties){if(bw.animatedProperties[bA]!==true){e=false}}if(e){if(bw.overflow!=null&&!b.support.shrinkWrapBlocks){b.each(["","X","Y"],function(bC,bD){bz.style["overflow"+bD]=bw.overflow[bC]})}if(bw.hide){b(bz).hide()}if(bw.hide||bw.show){for(bA in bw.animatedProperties){b.style(bz,bA,bw.orig[bA]);b.removeData(bz,"fxshow"+bA,true);b.removeData(bz,"toggle"+bA,true)}}bv=bw.complete;if(bv){bw.complete=false;bv.call(bz)}}return false}else{if(bw.duration==Infinity){this.now=bx}else{bB=bx-this.startTime;this.state=bB/bw.duration;this.pos=b.easing[bw.animatedProperties[this.prop]](this.state,bB,0,1,bw.duration);this.now=this.start+((this.end-this.start)*this.pos)}this.update()}return true}};b.extend(b.fx,{tick:function(){var bw,bv=b.timers,e=0;for(;e").appendTo(e),bw=bv.css("display");bv.remove();if(bw==="none"||bw===""){if(!a8){a8=av.createElement("iframe");a8.frameBorder=a8.width=a8.height=0}e.appendChild(a8);if(!m||!a8.createElement){m=(a8.contentWindow||a8.contentDocument).document;m.write((av.compatMode==="CSS1Compat"?"":"")+"");m.close()}bv=m.createElement(bx);m.body.appendChild(bv);bw=b.css(bv,"display");e.removeChild(a8)}Q[bx]=bw}return Q[bx]}var V=/^t(?:able|d|h)$/i,ad=/^(?:body|html)$/i;if("getBoundingClientRect" in av.documentElement){b.fn.offset=function(bI){var by=this[0],bB;if(bI){return this.each(function(e){b.offset.setOffset(this,bI,e)})}if(!by||!by.ownerDocument){return null}if(by===by.ownerDocument.body){return b.offset.bodyOffset(by)}try{bB=by.getBoundingClientRect()}catch(bF){}var bH=by.ownerDocument,bw=bH.documentElement;if(!bB||!b.contains(bw,by)){return bB?{top:bB.top,left:bB.left}:{top:0,left:0}}var bC=bH.body,bD=aK(bH),bA=bw.clientTop||bC.clientTop||0,bE=bw.clientLeft||bC.clientLeft||0,bv=bD.pageYOffset||b.support.boxModel&&bw.scrollTop||bC.scrollTop,bz=bD.pageXOffset||b.support.boxModel&&bw.scrollLeft||bC.scrollLeft,bG=bB.top+bv-bA,bx=bB.left+bz-bE;return{top:bG,left:bx}}}else{b.fn.offset=function(bF){var bz=this[0];if(bF){return this.each(function(bG){b.offset.setOffset(this,bF,bG)})}if(!bz||!bz.ownerDocument){return null}if(bz===bz.ownerDocument.body){return b.offset.bodyOffset(bz)}var bC,bw=bz.offsetParent,bv=bz,bE=bz.ownerDocument,bx=bE.documentElement,bA=bE.body,bB=bE.defaultView,e=bB?bB.getComputedStyle(bz,null):bz.currentStyle,bD=bz.offsetTop,by=bz.offsetLeft;while((bz=bz.parentNode)&&bz!==bA&&bz!==bx){if(b.support.fixedPosition&&e.position==="fixed"){break}bC=bB?bB.getComputedStyle(bz,null):bz.currentStyle;bD-=bz.scrollTop;by-=bz.scrollLeft;if(bz===bw){bD+=bz.offsetTop;by+=bz.offsetLeft;if(b.support.doesNotAddBorder&&!(b.support.doesAddBorderForTableAndCells&&V.test(bz.nodeName))){bD+=parseFloat(bC.borderTopWidth)||0;by+=parseFloat(bC.borderLeftWidth)||0}bv=bw;bw=bz.offsetParent}if(b.support.subtractsBorderForOverflowNotVisible&&bC.overflow!=="visible"){bD+=parseFloat(bC.borderTopWidth)||0;by+=parseFloat(bC.borderLeftWidth)||0}e=bC}if(e.position==="relative"||e.position==="static"){bD+=bA.offsetTop;by+=bA.offsetLeft}if(b.support.fixedPosition&&e.position==="fixed"){bD+=Math.max(bx.scrollTop,bA.scrollTop);by+=Math.max(bx.scrollLeft,bA.scrollLeft)}return{top:bD,left:by}}}b.offset={bodyOffset:function(e){var bw=e.offsetTop,bv=e.offsetLeft;if(b.support.doesNotIncludeMarginInBodyOffset){bw+=parseFloat(b.css(e,"marginTop"))||0;bv+=parseFloat(b.css(e,"marginLeft"))||0}return{top:bw,left:bv}},setOffset:function(bx,bG,bA){var bB=b.css(bx,"position");if(bB==="static"){bx.style.position="relative"}var bz=b(bx),bv=bz.offset(),e=b.css(bx,"top"),bE=b.css(bx,"left"),bF=(bB==="absolute"||bB==="fixed")&&b.inArray("auto",[e,bE])>-1,bD={},bC={},bw,by;if(bF){bC=bz.position();bw=bC.top;by=bC.left}else{bw=parseFloat(e)||0;by=parseFloat(bE)||0}if(b.isFunction(bG)){bG=bG.call(bx,bA,bv)}if(bG.top!=null){bD.top=(bG.top-bv.top)+bw}if(bG.left!=null){bD.left=(bG.left-bv.left)+by}if("using" in bG){bG.using.call(bx,bD)}else{bz.css(bD)}}};b.fn.extend({position:function(){if(!this[0]){return null}var bw=this[0],bv=this.offsetParent(),bx=this.offset(),e=ad.test(bv[0].nodeName)?{top:0,left:0}:bv.offset();bx.top-=parseFloat(b.css(bw,"marginTop"))||0;bx.left-=parseFloat(b.css(bw,"marginLeft"))||0;e.top+=parseFloat(b.css(bv[0],"borderTopWidth"))||0;e.left+=parseFloat(b.css(bv[0],"borderLeftWidth"))||0;return{top:bx.top-e.top,left:bx.left-e.left}},offsetParent:function(){return this.map(function(){var e=this.offsetParent||av.body;while(e&&(!ad.test(e.nodeName)&&b.css(e,"position")==="static")){e=e.offsetParent}return e})}});b.each(["Left","Top"],function(bv,e){var bw="scroll"+e;b.fn[bw]=function(bz){var bx,by;if(bz===L){bx=this[0];if(!bx){return null}by=aK(bx);return by?("pageXOffset" in by)?by[bv?"pageYOffset":"pageXOffset"]:b.support.boxModel&&by.document.documentElement[bw]||by.document.body[bw]:bx[bw]}return this.each(function(){by=aK(this);if(by){by.scrollTo(!bv?bz:b(by).scrollLeft(),bv?bz:b(by).scrollTop())}else{this[bw]=bz}})}});function aK(e){return b.isWindow(e)?e:e.nodeType===9?e.defaultView||e.parentWindow:false}b.each(["Height","Width"],function(bv,e){var bw=e.toLowerCase();b.fn["inner"+e]=function(){var bx=this[0];return bx?bx.style?parseFloat(b.css(bx,bw,"padding")):this[bw]():null};b.fn["outer"+e]=function(by){var bx=this[0];return bx?bx.style?parseFloat(b.css(bx,bw,by?"margin":"border")):this[bw]():null};b.fn[bw]=function(bz){var bA=this[0];if(!bA){return bz==null?null:this}if(b.isFunction(bz)){return this.each(function(bE){var bD=b(this);bD[bw](bz.call(this,bE,bD[bw]()))})}if(b.isWindow(bA)){var bB=bA.document.documentElement["client"+e],bx=bA.document.body;return bA.document.compatMode==="CSS1Compat"&&bB||bx&&bx["client"+e]||bB}else{if(bA.nodeType===9){return Math.max(bA.documentElement["client"+e],bA.body["scroll"+e],bA.documentElement["scroll"+e],bA.body["offset"+e],bA.documentElement["offset"+e])}else{if(bz===L){var bC=b.css(bA,bw),by=parseFloat(bC);return b.isNumeric(by)?by:bC}else{return this.css(bw,typeof bz==="string"?bz:bz+"px")}}}}});bb.jQuery=bb.$=b;if(typeof define==="function"&&define.amd&&define.amd.jQuery){define("jquery",[],function(){return b +})}})(window); diff --git a/doc/ref/core.internal/html/json_8c.html b/doc/ref/core.internal/html/json_8c.html new file mode 100644 index 0000000000..33c69cd6ed --- /dev/null +++ b/doc/ref/core.internal/html/json_8c.html @@ -0,0 +1,145 @@ + + + + + + +GRPC Core: src/core/json/json.c File Reference + + + + + + + + + +
+
+
+ + + + + +
+
GRPC Core +  0.10.0.0 +
+
+ + + + + + + + + + +
+ +
+ + + +
+ +
+
json.c File Reference
+
+
+
#include <string.h>
+#include <grpc/support/alloc.h>
+#include "src/core/json/json.h"
+
+ + + + + +

+Functions

grpc_jsongrpc_json_create (grpc_json_type type)
 
void grpc_json_destroy (grpc_json *json)
 
+

Function Documentation

+ +
+
+ + + + + + + + +
grpc_json* grpc_json_create (grpc_json_type type)
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_json_destroy (grpc_jsonjson)
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/json_8h.html b/doc/ref/core.internal/html/json_8h.html new file mode 100644 index 0000000000..b7466df186 --- /dev/null +++ b/doc/ref/core.internal/html/json_8h.html @@ -0,0 +1,245 @@ + + + + + + +GRPC Core: src/core/json/json.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
json.h File Reference
+
+
+
#include <stdlib.h>
+#include "src/core/json/json_common.h"
+
+

Go to the source code of this file.

+ + + + +

+Data Structures

struct  grpc_json
 
+ + + +

+Typedefs

typedef struct grpc_json grpc_json
 
+ + + + + + + + + + + +

+Functions

grpc_jsongrpc_json_parse_string_with_len (char *input, size_t size)
 
grpc_jsongrpc_json_parse_string (char *input)
 
char * grpc_json_dump_to_string (grpc_json *json, int indent)
 
grpc_jsongrpc_json_create (grpc_json_type type)
 
void grpc_json_destroy (grpc_json *json)
 
+

Typedef Documentation

+ +
+
+ + + + +
typedef struct grpc_json grpc_json
+
+ +
+
+

Function Documentation

+ +
+
+ + + + + + + + +
grpc_json* grpc_json_create (grpc_json_type type)
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_json_destroy (grpc_jsonjson)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
char* grpc_json_dump_to_string (grpc_jsonjson,
int indent 
)
+
+ +
+
+ +
+
+ + + + + + + + +
grpc_json* grpc_json_parse_string (char * input)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
grpc_json* grpc_json_parse_string_with_len (char * input,
size_t size 
)
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/json_8h_source.html b/doc/ref/core.internal/html/json_8h_source.html new file mode 100644 index 0000000000..f279d772b8 --- /dev/null +++ b/doc/ref/core.internal/html/json_8h_source.html @@ -0,0 +1,203 @@ + + + + + + +GRPC Core: src/core/json/json.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
json.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPC_INTERNAL_CORE_JSON_JSON_H
+
35 #define GRPC_INTERNAL_CORE_JSON_JSON_H
+
36 
+
37 #include <stdlib.h>
+
38 
+ +
40 
+
41 /* A tree-like structure to hold json values. The key and value pointers
+
42  * are not owned by it.
+
43  */
+
44 typedef struct grpc_json {
+
45  struct grpc_json* next;
+
46  struct grpc_json* prev;
+
47  struct grpc_json* child;
+
48  struct grpc_json* parent;
+
49 
+ +
51  const char* key;
+
52  const char* value;
+
53 } grpc_json;
+
54 
+
55 /* The next two functions are going to parse the input string, and
+
56  * modify it in the process, in order to use its space to store
+
57  * all of the keys and values for the returned object tree.
+
58  *
+
59  * They assume UTF-8 input stream, and will output UTF-8 encoded
+
60  * strings in the tree. The input stream's UTF-8 isn't validated,
+
61  * as in, what you input is what you get as an output.
+
62  *
+
63  * All the keys and values in the grpc_json objects will be strings
+
64  * pointing at your input buffer.
+
65  *
+
66  * Delete the allocated tree afterward using grpc_json_destroy().
+
67  */
+
68 grpc_json* grpc_json_parse_string_with_len(char* input, size_t size);
+
69 grpc_json* grpc_json_parse_string(char* input);
+
70 
+
71 /* This function will create a new string using gpr_realloc, and will
+
72  * deserialize the grpc_json tree into it. It'll be zero-terminated,
+
73  * but will be allocated in chunks of 256 bytes.
+
74  *
+
75  * The indent parameter controls the way the output is formatted.
+
76  * If indent is 0, then newlines will be suppressed as well, and the
+
77  * output will be condensed at its maximum.
+
78  */
+
79 char* grpc_json_dump_to_string(grpc_json* json, int indent);
+
80 
+
81 /* Use these to create or delete a grpc_json object.
+
82  * Deletion is recursive. We will not attempt to free any of the strings
+
83  * in any of the objects of that tree.
+
84  */
+ +
86 void grpc_json_destroy(grpc_json* json);
+
87 
+
88 #endif /* GRPC_INTERNAL_CORE_JSON_JSON_H */
+
grpc_json * grpc_json_parse_string_with_len(char *input, size_t size)
Definition: json_string.c:305
+
const char * key
Definition: json.h:51
+ +
grpc_json_type type
Definition: json.h:50
+
grpc_json_type
Definition: json_common.h:38
+
grpc_json * grpc_json_parse_string(char *input)
Definition: json_string.c:332
+
struct grpc_json * child
Definition: json.h:47
+
char * grpc_json_dump_to_string(grpc_json *json, int indent)
Definition: json_string.c:378
+
const char * value
Definition: json.h:52
+
struct grpc_json * next
Definition: json.h:45
+
Definition: json.h:44
+
struct grpc_json grpc_json
+
struct grpc_json * parent
Definition: json.h:48
+
grpc_json * grpc_json_create(grpc_json_type type)
Definition: json.c:40
+
struct grpc_json * prev
Definition: json.h:46
+
void grpc_json_destroy(grpc_json *json)
Definition: json.c:48
+
+ + + + diff --git a/doc/ref/core.internal/html/json__common_8h.html b/doc/ref/core.internal/html/json__common_8h.html new file mode 100644 index 0000000000..da81646049 --- /dev/null +++ b/doc/ref/core.internal/html/json__common_8h.html @@ -0,0 +1,151 @@ + + + + + + +GRPC Core: src/core/json/json_common.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
json_common.h File Reference
+
+
+ +

Go to the source code of this file.

+ + + + +

+Enumerations

enum  grpc_json_type {
+  GRPC_JSON_OBJECT, +GRPC_JSON_ARRAY, +GRPC_JSON_STRING, +GRPC_JSON_NUMBER, +
+  GRPC_JSON_TRUE, +GRPC_JSON_FALSE, +GRPC_JSON_NULL, +GRPC_JSON_TOP_LEVEL +
+ }
 
+

Enumeration Type Documentation

+ +
+
+ + + + +
enum grpc_json_type
+
+ + + + + + + + + +
Enumerator
GRPC_JSON_OBJECT  +
GRPC_JSON_ARRAY  +
GRPC_JSON_STRING  +
GRPC_JSON_NUMBER  +
GRPC_JSON_TRUE  +
GRPC_JSON_FALSE  +
GRPC_JSON_NULL  +
GRPC_JSON_TOP_LEVEL  +
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/json__common_8h_source.html b/doc/ref/core.internal/html/json__common_8h_source.html new file mode 100644 index 0000000000..682cb4ca6b --- /dev/null +++ b/doc/ref/core.internal/html/json__common_8h_source.html @@ -0,0 +1,157 @@ + + + + + + +GRPC Core: src/core/json/json_common.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
json_common.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPC_INTERNAL_CORE_JSON_JSON_COMMON_H
+
35 #define GRPC_INTERNAL_CORE_JSON_JSON_COMMON_H
+
36 
+
37 /* The various json types. */
+
38 typedef enum {
+ + + + + + + + + +
48 
+
49 #endif /* GRPC_INTERNAL_CORE_JSON_JSON_COMMON_H */
+
Definition: json_common.h:44
+
grpc_json_type
Definition: json_common.h:38
+
Definition: json_common.h:39
+
Definition: json_common.h:40
+
Definition: json_common.h:42
+
Definition: json_common.h:43
+
Definition: json_common.h:46
+
Definition: json_common.h:41
+
Definition: json_common.h:45
+
+ + + + diff --git a/doc/ref/core.internal/html/json__reader_8c.html b/doc/ref/core.internal/html/json__reader_8c.html new file mode 100644 index 0000000000..1c096825a6 --- /dev/null +++ b/doc/ref/core.internal/html/json__reader_8c.html @@ -0,0 +1,179 @@ + + + + + + +GRPC Core: src/core/json/json_reader.c File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
json_reader.c File Reference
+
+
+ + + + + + + + +

+Functions

void grpc_json_reader_init (grpc_json_reader *reader, grpc_json_reader_vtable *vtable, void *userdata)
 
int grpc_json_reader_is_complete (grpc_json_reader *reader)
 
grpc_json_reader_status grpc_json_reader_run (grpc_json_reader *reader)
 
+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void grpc_json_reader_init (grpc_json_readerreader,
grpc_json_reader_vtablevtable,
void * userdata 
)
+
+ +
+
+ +
+
+ + + + + + + + +
int grpc_json_reader_is_complete (grpc_json_readerreader)
+
+ +
+
+ +
+
+ + + + + + + + +
grpc_json_reader_status grpc_json_reader_run (grpc_json_readerreader)
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/json__reader_8h.html b/doc/ref/core.internal/html/json__reader_8h.html new file mode 100644 index 0000000000..73dc4174eb --- /dev/null +++ b/doc/ref/core.internal/html/json__reader_8h.html @@ -0,0 +1,394 @@ + + + + + + +GRPC Core: src/core/json/json_reader.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
json_reader.h File Reference
+
+
+ +

Go to the source code of this file.

+ + + + + + +

+Data Structures

struct  grpc_json_reader_vtable
 
struct  grpc_json_reader
 
+ + + + + +

+Typedefs

typedef struct
+grpc_json_reader_vtable 
grpc_json_reader_vtable
 
typedef struct grpc_json_reader grpc_json_reader
 
+ + + + + + + +

+Enumerations

enum  grpc_json_reader_state {
+  GRPC_JSON_STATE_OBJECT_KEY_BEGIN, +GRPC_JSON_STATE_OBJECT_KEY_STRING, +GRPC_JSON_STATE_OBJECT_KEY_END, +GRPC_JSON_STATE_VALUE_BEGIN, +
+  GRPC_JSON_STATE_VALUE_STRING, +GRPC_JSON_STATE_STRING_ESCAPE, +GRPC_JSON_STATE_STRING_ESCAPE_U1, +GRPC_JSON_STATE_STRING_ESCAPE_U2, +
+  GRPC_JSON_STATE_STRING_ESCAPE_U3, +GRPC_JSON_STATE_STRING_ESCAPE_U4, +GRPC_JSON_STATE_VALUE_NUMBER, +GRPC_JSON_STATE_VALUE_NUMBER_WITH_DECIMAL, +
+  GRPC_JSON_STATE_VALUE_NUMBER_ZERO, +GRPC_JSON_STATE_VALUE_NUMBER_DOT, +GRPC_JSON_STATE_VALUE_NUMBER_E, +GRPC_JSON_STATE_VALUE_NUMBER_EPM, +
+  GRPC_JSON_STATE_VALUE_TRUE_R, +GRPC_JSON_STATE_VALUE_TRUE_U, +GRPC_JSON_STATE_VALUE_TRUE_E, +GRPC_JSON_STATE_VALUE_FALSE_A, +
+  GRPC_JSON_STATE_VALUE_FALSE_L, +GRPC_JSON_STATE_VALUE_FALSE_S, +GRPC_JSON_STATE_VALUE_FALSE_E, +GRPC_JSON_STATE_VALUE_NULL_U, +
+  GRPC_JSON_STATE_VALUE_NULL_L1, +GRPC_JSON_STATE_VALUE_NULL_L2, +GRPC_JSON_STATE_VALUE_END, +GRPC_JSON_STATE_END +
+ }
 
enum  { GRPC_JSON_READ_CHAR_EOF = 0x7ffffff0, +GRPC_JSON_READ_CHAR_EAGAIN, +GRPC_JSON_READ_CHAR_ERROR + }
 
enum  grpc_json_reader_status {
+  GRPC_JSON_DONE, +GRPC_JSON_EAGAIN, +GRPC_JSON_READ_ERROR, +GRPC_JSON_PARSE_ERROR, +
+  GRPC_JSON_INTERNAL_ERROR +
+ }
 
+ + + + + + + +

+Functions

grpc_json_reader_status grpc_json_reader_run (grpc_json_reader *reader)
 
void grpc_json_reader_init (grpc_json_reader *reader, grpc_json_reader_vtable *vtable, void *userdata)
 
int grpc_json_reader_is_complete (grpc_json_reader *reader)
 
+

Typedef Documentation

+ +
+
+ + + + +
typedef struct grpc_json_reader grpc_json_reader
+
+ +
+
+ +
+
+ +
+
+

Enumeration Type Documentation

+ +
+
+ + + + +
anonymous enum
+
+ + + + +
Enumerator
GRPC_JSON_READ_CHAR_EOF  +
GRPC_JSON_READ_CHAR_EAGAIN  +
GRPC_JSON_READ_CHAR_ERROR  +
+ +
+
+ +
+
+ + + + +
enum grpc_json_reader_state
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Enumerator
GRPC_JSON_STATE_OBJECT_KEY_BEGIN  +
GRPC_JSON_STATE_OBJECT_KEY_STRING  +
GRPC_JSON_STATE_OBJECT_KEY_END  +
GRPC_JSON_STATE_VALUE_BEGIN  +
GRPC_JSON_STATE_VALUE_STRING  +
GRPC_JSON_STATE_STRING_ESCAPE  +
GRPC_JSON_STATE_STRING_ESCAPE_U1  +
GRPC_JSON_STATE_STRING_ESCAPE_U2  +
GRPC_JSON_STATE_STRING_ESCAPE_U3  +
GRPC_JSON_STATE_STRING_ESCAPE_U4  +
GRPC_JSON_STATE_VALUE_NUMBER  +
GRPC_JSON_STATE_VALUE_NUMBER_WITH_DECIMAL  +
GRPC_JSON_STATE_VALUE_NUMBER_ZERO  +
GRPC_JSON_STATE_VALUE_NUMBER_DOT  +
GRPC_JSON_STATE_VALUE_NUMBER_E  +
GRPC_JSON_STATE_VALUE_NUMBER_EPM  +
GRPC_JSON_STATE_VALUE_TRUE_R  +
GRPC_JSON_STATE_VALUE_TRUE_U  +
GRPC_JSON_STATE_VALUE_TRUE_E  +
GRPC_JSON_STATE_VALUE_FALSE_A  +
GRPC_JSON_STATE_VALUE_FALSE_L  +
GRPC_JSON_STATE_VALUE_FALSE_S  +
GRPC_JSON_STATE_VALUE_FALSE_E  +
GRPC_JSON_STATE_VALUE_NULL_U  +
GRPC_JSON_STATE_VALUE_NULL_L1  +
GRPC_JSON_STATE_VALUE_NULL_L2  +
GRPC_JSON_STATE_VALUE_END  +
GRPC_JSON_STATE_END  +
+ +
+
+ +
+
+ + + + +
enum grpc_json_reader_status
+
+ + + + + + +
Enumerator
GRPC_JSON_DONE  +
GRPC_JSON_EAGAIN  +
GRPC_JSON_READ_ERROR  +
GRPC_JSON_PARSE_ERROR  +
GRPC_JSON_INTERNAL_ERROR  +
+ +
+
+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void grpc_json_reader_init (grpc_json_readerreader,
grpc_json_reader_vtablevtable,
void * userdata 
)
+
+ +
+
+ +
+
+ + + + + + + + +
int grpc_json_reader_is_complete (grpc_json_readerreader)
+
+ +
+
+ +
+
+ + + + + + + + +
grpc_json_reader_status grpc_json_reader_run (grpc_json_readerreader)
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/json__reader_8h_source.html b/doc/ref/core.internal/html/json__reader_8h_source.html new file mode 100644 index 0000000000..56886fc894 --- /dev/null +++ b/doc/ref/core.internal/html/json__reader_8h_source.html @@ -0,0 +1,331 @@ + + + + + + +GRPC Core: src/core/json/json_reader.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
json_reader.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPC_INTERNAL_CORE_JSON_JSON_READER_H
+
35 #define GRPC_INTERNAL_CORE_JSON_JSON_READER_H
+
36 
+ + +
39 
+
40 typedef enum {
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
70 
+
71 enum {
+
72  /* The first non-unicode value is 0x110000. But let's pick
+
73  * a value high enough to start our error codes from. These
+
74  * values are safe to return from the read_char function.
+
75  */
+ + + +
79 };
+
80 
+
81 struct grpc_json_reader;
+
82 
+
83 typedef struct grpc_json_reader_vtable {
+
84  /* Clears your internal string scratchpad. */
+
85  void (*string_clear)(void* userdata);
+
86  /* Adds a char to the string scratchpad. */
+
87  void (*string_add_char)(void* userdata, gpr_uint32 c);
+
88  /* Adds a utf32 char to the string scratchpad. */
+
89  void (*string_add_utf32)(void* userdata, gpr_uint32 c);
+
90  /* Reads a character from your input. May be utf-8, 16 or 32. */
+
91  gpr_uint32 (*read_char)(void* userdata);
+
92  /* Starts a container of type GRPC_JSON_ARRAY or GRPC_JSON_OBJECT. */
+
93  void (*container_begins)(void* userdata, grpc_json_type type);
+
94  /* Ends the current container. Must return the type of its parent. */
+
95  grpc_json_type (*container_ends)(void* userdata);
+
96  /* Your internal string scratchpad is an object's key. */
+
97  void (*set_key)(void* userdata);
+
98  /* Your internal string scratchpad is a string value. */
+
99  void (*set_string)(void* userdata);
+
100  /* Your internal string scratchpad is a numerical value. Return 1 if valid. */
+
101  int (*set_number)(void* userdata);
+
102  /* Sets the values true, false or null. */
+
103  void (*set_true)(void* userdata);
+
104  void (*set_false)(void* userdata);
+
105  void (*set_null)(void* userdata);
+ +
107 
+
108 typedef struct grpc_json_reader {
+
109  /* That structure is fully private, and initialized by grpc_json_reader_init.
+
110  * The definition is public so you can put it on your stack.
+
111  */
+
112 
+
113  void* userdata;
+ +
115  int depth;
+ +
117  int in_array;
+ + + + + +
123 
+
124 /* The return type of the parser. */
+
125 typedef enum {
+
126  GRPC_JSON_DONE, /* The parser finished successfully. */
+
127  GRPC_JSON_EAGAIN, /* The parser yields to get more data. */
+
128  GRPC_JSON_READ_ERROR, /* The parser passes through a read error. */
+
129  GRPC_JSON_PARSE_ERROR, /* The parser found an error in the json stream. */
+
130  GRPC_JSON_INTERNAL_ERROR /* The parser got an internal error. */
+ +
132 
+
133 /* Call this function to start parsing the input. It will return the following:
+
134  * . GRPC_JSON_DONE if the input got eof, and the parsing finished
+
135  * successfully.
+
136  * . GRPC_JSON_EAGAIN if the read_char function returned again. Call the
+
137  * parser again as needed. It is okay to call the parser in polling mode,
+
138  * although a bit dull.
+
139  * . GRPC_JSON_READ_ERROR if the read_char function returned an error. The
+
140  * state isn't broken however, and the function can be called again if the
+
141  * error has been corrected. But please use the EAGAIN feature instead for
+
142  * consistency.
+
143  * . GRPC_JSON_PARSE_ERROR if the input was somehow invalid.
+
144  * . GRPC_JSON_INTERNAL_ERROR if the parser somehow ended into an invalid
+
145  * internal state.
+
146  */
+ +
148 
+
149 /* Call this function to initialize the reader structure. */
+ +
151  grpc_json_reader_vtable* vtable, void* userdata);
+
152 
+
153 /* You may call this from the read_char callback if you don't know where is the
+
154  * end of your input stream, and you'd like the json reader to hint you that it
+
155  * has completed reading its input, so you can return an EOF to it. Note that
+
156  * there might still be trailing whitespaces after that point.
+
157  */
+ +
159 
+
160 #endif /* GRPC_INTERNAL_CORE_JSON_JSON_READER_H */
+
int in_object
Definition: json_reader.h:116
+
grpc_json_reader_status grpc_json_reader_run(grpc_json_reader *reader)
Definition: json_reader.c:108
+
grpc_json_type(* container_ends)(void *userdata)
Definition: json_reader.h:95
+ +
void(* string_add_char)(void *userdata, gpr_uint32 c)
Definition: json_reader.h:87
+
Definition: json_reader.h:61
+
struct grpc_json_reader_vtable grpc_json_reader_vtable
+
void grpc_json_reader_init(grpc_json_reader *reader, grpc_json_reader_vtable *vtable, void *userdata)
Definition: json_reader.c:94
+
Definition: json_reader.h:64
+
int container_just_begun
Definition: json_reader.h:119
+ +
Definition: json_reader.h:83
+
void * userdata
Definition: json_reader.h:113
+
void(* string_add_utf32)(void *userdata, gpr_uint32 c)
Definition: json_reader.h:89
+
Definition: json_reader.h:44
+
void(* string_clear)(void *userdata)
Definition: json_reader.h:85
+
Definition: json_reader.h:56
+
uint32_t gpr_uint32
Definition: port_platform.h:309
+
Definition: json_reader.h:47
+
Definition: json_reader.h:48
+
void(* set_string)(void *userdata)
Definition: json_reader.h:99
+
void(* set_null)(void *userdata)
Definition: json_reader.h:105
+
gpr_uint16 unicode_high_surrogate
Definition: json_reader.h:120
+
Definition: json_reader.h:126
+
Definition: json_reader.h:130
+
grpc_json_reader_status
Definition: json_reader.h:125
+
Definition: json_reader.h:77
+
Definition: json_reader.h:55
+
Definition: json_reader.h:129
+
Definition: json_reader.h:128
+
Definition: json_reader.h:127
+
grpc_json_type
Definition: json_common.h:38
+
Definition: json_reader.h:63
+
Definition: json_reader.h:41
+
gpr_uint16 unicode_char
Definition: json_reader.h:120
+
Definition: json_reader.h:53
+
Definition: json_reader.h:62
+
Definition: json_reader.h:50
+
int escaped_string_was_key
Definition: json_reader.h:118
+
int in_array
Definition: json_reader.h:117
+
uint16_t gpr_uint16
Definition: port_platform.h:308
+
Definition: json_reader.h:42
+
grpc_json_reader_state
Definition: json_reader.h:40
+
grpc_json_reader_vtable * vtable
Definition: json_reader.h:114
+
Definition: json_reader.h:52
+
Definition: json_reader.h:67
+
Definition: json_reader.h:51
+
Definition: json_reader.h:76
+
void(* set_true)(void *userdata)
Definition: json_reader.h:103
+
int(* set_number)(void *userdata)
Definition: json_reader.h:101
+
Definition: json_reader.h:43
+
Definition: json_reader.h:66
+
int depth
Definition: json_reader.h:115
+
Definition: json_reader.h:68
+
grpc_json_reader_state state
Definition: json_reader.h:121
+
gpr_uint32(* read_char)(void *userdata)
Definition: json_reader.h:91
+
int grpc_json_reader_is_complete(grpc_json_reader *reader)
Definition: json_reader.c:103
+
Definition: json_reader.h:49
+
void(* container_begins)(void *userdata, grpc_json_type type)
Definition: json_reader.h:93
+
Definition: json_reader.h:54
+
Definition: json_reader.h:65
+
Definition: json_reader.h:45
+
Definition: json_reader.h:60
+
struct grpc_json_reader grpc_json_reader
+
Definition: json_reader.h:108
+
void(* set_key)(void *userdata)
Definition: json_reader.h:97
+
Definition: json_reader.h:78
+
void(* set_false)(void *userdata)
Definition: json_reader.h:104
+
Definition: json_reader.h:59
+
Definition: json_reader.h:46
+
Definition: json_reader.h:57
+
Definition: json_reader.h:58
+
+ + + + diff --git a/doc/ref/core.internal/html/json__string_8c.html b/doc/ref/core.internal/html/json__string_8c.html new file mode 100644 index 0000000000..8fc1c0444d --- /dev/null +++ b/doc/ref/core.internal/html/json__string_8c.html @@ -0,0 +1,214 @@ + + + + + + +GRPC Core: src/core/json/json_string.c File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
json_string.c File Reference
+
+
+
#include <string.h>
+#include <stdlib.h>
+#include <grpc/support/alloc.h>
+#include <grpc/support/log.h>
+#include "src/core/json/json.h"
+#include "src/core/json/json_reader.h"
+#include "src/core/json/json_writer.h"
+
+ + + + + +

+Data Structures

struct  json_reader_userdata
 
struct  json_writer_userdata
 
+ + + +

+Macros

#define UNBOUND_JSON_STRING_LENGTH   0x7fffffff
 
+ + + + + + + +

+Functions

grpc_jsongrpc_json_parse_string_with_len (char *input, size_t size)
 
grpc_jsongrpc_json_parse_string (char *input)
 
char * grpc_json_dump_to_string (grpc_json *json, int indent)
 
+

Macro Definition Documentation

+ +
+
+ + + + +
#define UNBOUND_JSON_STRING_LENGTH   0x7fffffff
+
+ +
+
+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
char* grpc_json_dump_to_string (grpc_jsonjson,
int indent 
)
+
+ +
+
+ +
+
+ + + + + + + + +
grpc_json* grpc_json_parse_string (char * input)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
grpc_json* grpc_json_parse_string_with_len (char * input,
size_t size 
)
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/json__token_8c.html b/doc/ref/core.internal/html/json__token_8c.html new file mode 100644 index 0000000000..303766dca9 --- /dev/null +++ b/doc/ref/core.internal/html/json__token_8c.html @@ -0,0 +1,421 @@ + + + + + + +GRPC Core: src/core/security/json_token.c File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
json_token.c File Reference
+
+
+
#include "src/core/security/json_token.h"
+#include <string.h>
+#include <grpc/support/alloc.h>
+#include <grpc/support/log.h>
+#include <grpc/support/string_util.h>
+#include "src/core/security/base64.h"
+#include <openssl/bio.h>
+#include <openssl/evp.h>
+#include <openssl/pem.h>
+
+ + + + + +

+Macros

#define GRPC_JWT_RSA_SHA256_ALGORITHM   "RS256"
 
#define GRPC_JWT_TYPE   "JWT"
 
+ + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

int grpc_auth_json_key_is_valid (const grpc_auth_json_key *json_key)
 
grpc_auth_json_key grpc_auth_json_key_create_from_json (const grpc_json *json)
 
grpc_auth_json_key grpc_auth_json_key_create_from_string (const char *json_string)
 
void grpc_auth_json_key_destruct (grpc_auth_json_key *json_key)
 
const EVP_MD * openssl_digest_from_algorithm (const char *algorithm)
 
char * compute_and_encode_signature (const grpc_auth_json_key *json_key, const char *signature_algorithm, const char *to_sign)
 
char * grpc_jwt_encode_and_sign (const grpc_auth_json_key *json_key, const char *audience, gpr_timespec token_lifetime, const char *scope)
 
void grpc_jwt_encode_and_sign_set_override (grpc_jwt_encode_and_sign_override func)
 
int grpc_auth_refresh_token_is_valid (const grpc_auth_refresh_token *refresh_token)
 
grpc_auth_refresh_token grpc_auth_refresh_token_create_from_json (const grpc_json *json)
 
grpc_auth_refresh_token grpc_auth_refresh_token_create_from_string (const char *json_string)
 
void grpc_auth_refresh_token_destruct (grpc_auth_refresh_token *refresh_token)
 
+ + + +

+Variables

const gpr_timespec grpc_max_auth_token_lifetime = {3600, 0, GPR_TIMESPAN}
 
+

Macro Definition Documentation

+ +
+
+ + + + +
#define GRPC_JWT_RSA_SHA256_ALGORITHM   "RS256"
+
+ +
+
+ +
+
+ + + + +
#define GRPC_JWT_TYPE   "JWT"
+
+ +
+
+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
char* compute_and_encode_signature (const grpc_auth_json_keyjson_key,
const char * signature_algorithm,
const char * to_sign 
)
+
+ +
+
+ +
+
+ + + + + + + + +
grpc_auth_json_key grpc_auth_json_key_create_from_json (const grpc_jsonjson)
+
+ +
+
+ +
+
+ + + + + + + + +
grpc_auth_json_key grpc_auth_json_key_create_from_string (const char * json_string)
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_auth_json_key_destruct (grpc_auth_json_keyjson_key)
+
+ +
+
+ +
+
+ + + + + + + + +
int grpc_auth_json_key_is_valid (const grpc_auth_json_keyjson_key)
+
+ +
+
+ +
+
+ + + + + + + + +
grpc_auth_refresh_token grpc_auth_refresh_token_create_from_json (const grpc_jsonjson)
+
+ +
+
+ +
+
+ + + + + + + + +
grpc_auth_refresh_token grpc_auth_refresh_token_create_from_string (const char * json_string)
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_auth_refresh_token_destruct (grpc_auth_refresh_tokenrefresh_token)
+
+ +
+
+ +
+
+ + + + + + + + +
int grpc_auth_refresh_token_is_valid (const grpc_auth_refresh_tokenrefresh_token)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
char* grpc_jwt_encode_and_sign (const grpc_auth_json_keyjson_key,
const char * audience,
gpr_timespec token_lifetime,
const char * scope 
)
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_jwt_encode_and_sign_set_override (grpc_jwt_encode_and_sign_override func)
+
+ +
+
+ +
+
+ + + + + + + + +
const EVP_MD* openssl_digest_from_algorithm (const char * algorithm)
+
+ +
+
+

Variable Documentation

+ +
+
+ + + + +
const gpr_timespec grpc_max_auth_token_lifetime = {3600, 0, GPR_TIMESPAN}
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/json__token_8h.html b/doc/ref/core.internal/html/json__token_8h.html new file mode 100644 index 0000000000..7603a48b73 --- /dev/null +++ b/doc/ref/core.internal/html/json__token_8h.html @@ -0,0 +1,401 @@ + + + + + + +GRPC Core: src/core/security/json_token.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
json_token.h File Reference
+
+
+
#include <grpc/support/slice.h>
+#include <openssl/rsa.h>
+#include "src/core/json/json.h"
+
+

Go to the source code of this file.

+ + + + + + +

+Data Structures

struct  grpc_auth_json_key
 
struct  grpc_auth_refresh_token
 
+ + + + + + + + + +

+Macros

#define GRPC_JWT_OAUTH2_AUDIENCE   "https://www.googleapis.com/oauth2/v3/token"
 
#define GRPC_AUTH_JSON_TYPE_INVALID   "invalid"
 
#define GRPC_AUTH_JSON_TYPE_SERVICE_ACCOUNT   "service_account"
 
#define GRPC_AUTH_JSON_TYPE_AUTHORIZED_USER   "authorized_user"
 
+ + + +

+Typedefs

typedef char *(* grpc_jwt_encode_and_sign_override )(const grpc_auth_json_key *json_key, const char *audience, gpr_timespec token_lifetime, const char *scope)
 
+ + + + + + + + + + + + + + + + + + + + + +

+Functions

int grpc_auth_json_key_is_valid (const grpc_auth_json_key *json_key)
 
grpc_auth_json_key grpc_auth_json_key_create_from_string (const char *json_string)
 
grpc_auth_json_key grpc_auth_json_key_create_from_json (const grpc_json *json)
 
void grpc_auth_json_key_destruct (grpc_auth_json_key *json_key)
 
char * grpc_jwt_encode_and_sign (const grpc_auth_json_key *json_key, const char *audience, gpr_timespec token_lifetime, const char *scope)
 
void grpc_jwt_encode_and_sign_set_override (grpc_jwt_encode_and_sign_override func)
 
int grpc_auth_refresh_token_is_valid (const grpc_auth_refresh_token *refresh_token)
 
grpc_auth_refresh_token grpc_auth_refresh_token_create_from_string (const char *json_string)
 
grpc_auth_refresh_token grpc_auth_refresh_token_create_from_json (const grpc_json *json)
 
void grpc_auth_refresh_token_destruct (grpc_auth_refresh_token *refresh_token)
 
+

Macro Definition Documentation

+ +
+
+ + + + +
#define GRPC_AUTH_JSON_TYPE_AUTHORIZED_USER   "authorized_user"
+
+ +
+
+ +
+
+ + + + +
#define GRPC_AUTH_JSON_TYPE_INVALID   "invalid"
+
+ +
+
+ +
+
+ + + + +
#define GRPC_AUTH_JSON_TYPE_SERVICE_ACCOUNT   "service_account"
+
+ +
+
+ +
+
+ + + + +
#define GRPC_JWT_OAUTH2_AUDIENCE   "https://www.googleapis.com/oauth2/v3/token"
+
+ +
+
+

Typedef Documentation

+ +
+
+ + + + +
typedef char*(* grpc_jwt_encode_and_sign_override)(const grpc_auth_json_key *json_key, const char *audience, gpr_timespec token_lifetime, const char *scope)
+
+ +
+
+

Function Documentation

+ +
+
+ + + + + + + + +
grpc_auth_json_key grpc_auth_json_key_create_from_json (const grpc_jsonjson)
+
+ +
+
+ +
+
+ + + + + + + + +
grpc_auth_json_key grpc_auth_json_key_create_from_string (const char * json_string)
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_auth_json_key_destruct (grpc_auth_json_keyjson_key)
+
+ +
+
+ +
+
+ + + + + + + + +
int grpc_auth_json_key_is_valid (const grpc_auth_json_keyjson_key)
+
+ +
+
+ +
+
+ + + + + + + + +
grpc_auth_refresh_token grpc_auth_refresh_token_create_from_json (const grpc_jsonjson)
+
+ +
+
+ +
+
+ + + + + + + + +
grpc_auth_refresh_token grpc_auth_refresh_token_create_from_string (const char * json_string)
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_auth_refresh_token_destruct (grpc_auth_refresh_tokenrefresh_token)
+
+ +
+
+ +
+
+ + + + + + + + +
int grpc_auth_refresh_token_is_valid (const grpc_auth_refresh_tokenrefresh_token)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
char* grpc_jwt_encode_and_sign (const grpc_auth_json_keyjson_key,
const char * audience,
gpr_timespec token_lifetime,
const char * scope 
)
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_jwt_encode_and_sign_set_override (grpc_jwt_encode_and_sign_override func)
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/json__token_8h_source.html b/doc/ref/core.internal/html/json__token_8h_source.html new file mode 100644 index 0000000000..3ca3f86f34 --- /dev/null +++ b/doc/ref/core.internal/html/json__token_8h_source.html @@ -0,0 +1,243 @@ + + + + + + +GRPC Core: src/core/security/json_token.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
json_token.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPC_INTERNAL_CORE_SECURITY_JSON_TOKEN_H
+
35 #define GRPC_INTERNAL_CORE_SECURITY_JSON_TOKEN_H
+
36 
+
37 #include <grpc/support/slice.h>
+
38 #include <openssl/rsa.h>
+
39 
+
40 #include "src/core/json/json.h"
+
41 
+
42 /* --- Constants. --- */
+
43 
+
44 #define GRPC_JWT_OAUTH2_AUDIENCE "https://www.googleapis.com/oauth2/v3/token"
+
45 
+
46 #define GRPC_AUTH_JSON_TYPE_INVALID "invalid"
+
47 #define GRPC_AUTH_JSON_TYPE_SERVICE_ACCOUNT "service_account"
+
48 #define GRPC_AUTH_JSON_TYPE_AUTHORIZED_USER "authorized_user"
+
49 
+
50 /* --- auth_json_key parsing. --- */
+
51 
+
52 typedef struct {
+
53  const char *type;
+ +
55  char *client_id;
+
56  char *client_email;
+ + +
59 
+
60 /* Returns 1 if the object is valid, 0 otherwise. */
+ +
62 
+
63 /* Creates a json_key object from string. Returns an invalid object if a parsing
+
64  error has been encountered. */
+ +
66  const char *json_string);
+
67 
+
68 /* Creates a json_key object from parsed json. Returns an invalid object if a
+
69  parsing error has been encountered. */
+ +
71 
+
72 /* Destructs the object. */
+ +
74 
+
75 /* --- json token encoding and signing. --- */
+
76 
+
77 /* Caller is responsible for calling gpr_free on the returned value. May return
+
78  NULL on invalid input. The scope parameter may be NULL. */
+
79 char *grpc_jwt_encode_and_sign(const grpc_auth_json_key *json_key,
+
80  const char *audience,
+
81  gpr_timespec token_lifetime, const char *scope);
+
82 
+
83 /* Override encode_and_sign function for testing. */
+
84 typedef char *(*grpc_jwt_encode_and_sign_override)(
+
85  const grpc_auth_json_key *json_key, const char *audience,
+
86  gpr_timespec token_lifetime, const char *scope);
+
87 
+
88 /* Set a custom encode_and_sign override for testing. */
+ + +
91 
+
92 /* --- auth_refresh_token parsing. --- */
+
93 
+
94 typedef struct {
+
95  const char *type;
+
96  char *client_id;
+ + + +
100 
+
101 /* Returns 1 if the object is valid, 0 otherwise. */
+ +
103  const grpc_auth_refresh_token *refresh_token);
+
104 
+
105 /* Creates a refresh token object from string. Returns an invalid object if a
+
106  parsing error has been encountered. */
+ +
108  const char *json_string);
+
109 
+
110 /* Creates a refresh token object from parsed json. Returns an invalid object if
+
111  a parsing error has been encountered. */
+ +
113  const grpc_json *json);
+
114 
+
115 /* Destructs the object. */
+ +
117 
+
118 #endif /* GRPC_INTERNAL_CORE_SECURITY_JSON_TOKEN_H */
+
grpc_auth_refresh_token grpc_auth_refresh_token_create_from_json(const grpc_json *json)
Definition: json_token.c:345
+
grpc_auth_refresh_token grpc_auth_refresh_token_create_from_string(const char *json_string)
Definition: json_token.c:379
+
int grpc_auth_json_key_is_valid(const grpc_auth_json_key *json_key)
Definition: json_token.c:85
+
void grpc_auth_refresh_token_destruct(grpc_auth_refresh_token *refresh_token)
Definition: json_token.c:390
+
const char * type
Definition: json_token.h:95
+
grpc_auth_json_key grpc_auth_json_key_create_from_string(const char *json_string)
Definition: json_token.c:141
+
const char * type
Definition: json_token.h:53
+
char * refresh_token
Definition: json_token.h:98
+
char * private_key_id
Definition: json_token.h:54
+
void grpc_jwt_encode_and_sign_set_override(grpc_jwt_encode_and_sign_override func)
Definition: json_token.c:332
+
void grpc_auth_json_key_destruct(grpc_auth_json_key *json_key)
Definition: json_token.c:151
+
char * client_email
Definition: json_token.h:56
+
char * client_id
Definition: json_token.h:96
+ +
char * client_id
Definition: json_token.h:55
+
Definition: json_token.h:94
+
char *(* grpc_jwt_encode_and_sign_override)(const grpc_auth_json_key *json_key, const char *audience, gpr_timespec token_lifetime, const char *scope)
Definition: json_token.h:84
+
Definition: json_token.h:52
+
Definition: json.h:44
+ +
RSA * private_key
Definition: json_token.h:57
+
Definition: time.h:60
+
int grpc_auth_refresh_token_is_valid(const grpc_auth_refresh_token *refresh_token)
Definition: json_token.c:339
+
char * client_secret
Definition: json_token.h:97
+
grpc_auth_json_key grpc_auth_json_key_create_from_json(const grpc_json *json)
Definition: json_token.c:90
+
char * grpc_jwt_encode_and_sign(const grpc_auth_json_key *json_key, const char *audience, gpr_timespec token_lifetime, const char *scope)
Definition: json_token.c:312
+
+ + + + diff --git a/doc/ref/core.internal/html/json__writer_8c.html b/doc/ref/core.internal/html/json__writer_8c.html new file mode 100644 index 0000000000..6ca8a24b8e --- /dev/null +++ b/doc/ref/core.internal/html/json__writer_8c.html @@ -0,0 +1,323 @@ + + + + + + +GRPC Core: src/core/json/json_writer.c File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
json_writer.c File Reference
+
+
+ + + + + + + + + + + + + + + + +

+Functions

void grpc_json_writer_init (grpc_json_writer *writer, int indent, grpc_json_writer_vtable *vtable, void *userdata)
 
void grpc_json_writer_container_begins (grpc_json_writer *writer, grpc_json_type type)
 
void grpc_json_writer_container_ends (grpc_json_writer *writer, grpc_json_type type)
 
void grpc_json_writer_object_key (grpc_json_writer *writer, const char *string)
 
void grpc_json_writer_value_raw (grpc_json_writer *writer, const char *string)
 
void grpc_json_writer_value_raw_with_len (grpc_json_writer *writer, const char *string, size_t len)
 
void grpc_json_writer_value_string (grpc_json_writer *writer, const char *string)
 
+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
void grpc_json_writer_container_begins (grpc_json_writerwriter,
grpc_json_type type 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void grpc_json_writer_container_ends (grpc_json_writerwriter,
grpc_json_type type 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void grpc_json_writer_init (grpc_json_writerwriter,
int indent,
grpc_json_writer_vtablevtable,
void * userdata 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void grpc_json_writer_object_key (grpc_json_writerwriter,
const char * string 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void grpc_json_writer_value_raw (grpc_json_writerwriter,
const char * string 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void grpc_json_writer_value_raw_with_len (grpc_json_writerwriter,
const char * string,
size_t len 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void grpc_json_writer_value_string (grpc_json_writerwriter,
const char * string 
)
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/json__writer_8h.html b/doc/ref/core.internal/html/json__writer_8h.html new file mode 100644 index 0000000000..aeb0820602 --- /dev/null +++ b/doc/ref/core.internal/html/json__writer_8h.html @@ -0,0 +1,366 @@ + + + + + + +GRPC Core: src/core/json/json_writer.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
json_writer.h File Reference
+
+
+
#include <stdlib.h>
+#include "src/core/json/json_common.h"
+
+

Go to the source code of this file.

+ + + + + + +

+Data Structures

struct  grpc_json_writer_vtable
 
struct  grpc_json_writer
 
+ + + + + +

+Typedefs

typedef struct
+grpc_json_writer_vtable 
grpc_json_writer_vtable
 
typedef struct grpc_json_writer grpc_json_writer
 
+ + + + + + + + + + + + + + + +

+Functions

void grpc_json_writer_init (grpc_json_writer *writer, int indent, grpc_json_writer_vtable *vtable, void *userdata)
 
void grpc_json_writer_container_begins (grpc_json_writer *writer, grpc_json_type type)
 
void grpc_json_writer_container_ends (grpc_json_writer *writer, grpc_json_type type)
 
void grpc_json_writer_object_key (grpc_json_writer *writer, const char *string)
 
void grpc_json_writer_value_raw (grpc_json_writer *writer, const char *string)
 
void grpc_json_writer_value_raw_with_len (grpc_json_writer *writer, const char *string, size_t len)
 
void grpc_json_writer_value_string (grpc_json_writer *writer, const char *string)
 
+

Typedef Documentation

+ +
+
+ + + + +
typedef struct grpc_json_writer grpc_json_writer
+
+ +
+
+ +
+
+ +
+
+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
void grpc_json_writer_container_begins (grpc_json_writerwriter,
grpc_json_type type 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void grpc_json_writer_container_ends (grpc_json_writerwriter,
grpc_json_type type 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void grpc_json_writer_init (grpc_json_writerwriter,
int indent,
grpc_json_writer_vtablevtable,
void * userdata 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void grpc_json_writer_object_key (grpc_json_writerwriter,
const char * string 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void grpc_json_writer_value_raw (grpc_json_writerwriter,
const char * string 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void grpc_json_writer_value_raw_with_len (grpc_json_writerwriter,
const char * string,
size_t len 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void grpc_json_writer_value_string (grpc_json_writerwriter,
const char * string 
)
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/json__writer_8h_source.html b/doc/ref/core.internal/html/json__writer_8h_source.html new file mode 100644 index 0000000000..a256d3a503 --- /dev/null +++ b/doc/ref/core.internal/html/json__writer_8h_source.html @@ -0,0 +1,214 @@ + + + + + + +GRPC Core: src/core/json/json_writer.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
json_writer.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 /* The idea of the writer is basically symmetrical of the reader. While the
+
35  * reader emits various calls to your code, the writer takes basically the
+
36  * same calls and emit json out of it. It doesn't try to make any check on
+
37  * the order of the calls you do on it. Meaning you can theorically force
+
38  * it to generate invalid json.
+
39  *
+
40  * Also, unlike the reader, the writer expects UTF-8 encoded input strings.
+
41  * These strings will be UTF-8 validated, and any invalid character will
+
42  * cut the conversion short, before any invalid UTF-8 sequence, thus forming
+
43  * a valid UTF-8 string overall.
+
44  */
+
45 
+
46 #ifndef GRPC_INTERNAL_CORE_JSON_JSON_WRITER_H
+
47 #define GRPC_INTERNAL_CORE_JSON_JSON_WRITER_H
+
48 
+
49 #include <stdlib.h>
+
50 
+ +
52 
+
53 typedef struct grpc_json_writer_vtable {
+
54  /* Adds a character to the output stream. */
+
55  void (*output_char)(void* userdata, char);
+
56  /* Adds a zero-terminated string to the output stream. */
+
57  void (*output_string)(void* userdata, const char* str);
+
58  /* Adds a fixed-length string to the output stream. */
+
59  void (*output_string_with_len)(void* userdata, const char* str, size_t len);
+
60 
+ +
62 
+
63 typedef struct grpc_json_writer {
+
64  void* userdata;
+ +
66  int indent;
+
67  int depth;
+ +
69  int got_key;
+ +
71 
+
72 /* Call this to initialize your writer structure. The indent parameter is
+
73  * specifying the number of spaces to use for indenting the output. If you
+
74  * use indent=0, then the output will not have any newlines either, thus
+
75  * emitting a condensed json output.
+
76  */
+
77 void grpc_json_writer_init(grpc_json_writer* writer, int indent,
+
78  grpc_json_writer_vtable* vtable, void* userdata);
+
79 
+
80 /* Signals the beginning of a container. */
+ +
82 /* Signals the end of a container. */
+ +
84 /* Writes down an object key for the next value. */
+
85 void grpc_json_writer_object_key(grpc_json_writer* writer, const char* string);
+
86 /* Sets a raw value. Useful for numbers. */
+
87 void grpc_json_writer_value_raw(grpc_json_writer* writer, const char* string);
+
88 /* Sets a raw value with its length. Useful for values like true or false. */
+
89 void grpc_json_writer_value_raw_with_len(grpc_json_writer* writer, const char* string, size_t len);
+
90 /* Sets a string value. It'll be escaped, and utf-8 validated. */
+
91 void grpc_json_writer_value_string(grpc_json_writer* writer, const char* string);
+
92 
+
93 #endif /* GRPC_INTERNAL_CORE_JSON_JSON_WRITER_H */
+
struct grpc_json_writer grpc_json_writer
+
int depth
Definition: json_writer.h:67
+ +
void grpc_json_writer_init(grpc_json_writer *writer, int indent, grpc_json_writer_vtable *vtable, void *userdata)
Definition: json_writer.c:52
+
struct grpc_json_writer_vtable grpc_json_writer_vtable
+
int container_empty
Definition: json_writer.h:68
+
void grpc_json_writer_value_string(grpc_json_writer *writer, const char *string)
Definition: json_writer.c:248
+
void(* output_string_with_len)(void *userdata, const char *str, size_t len)
Definition: json_writer.h:59
+
void(* output_string)(void *userdata, const char *str)
Definition: json_writer.h:57
+
grpc_json_type
Definition: json_common.h:38
+
void grpc_json_writer_container_ends(grpc_json_writer *writer, grpc_json_type type)
Definition: json_writer.c:216
+
void grpc_json_writer_value_raw_with_len(grpc_json_writer *writer, const char *string, size_t len)
Definition: json_writer.c:241
+
int got_key
Definition: json_writer.h:69
+
grpc_json_writer_vtable * vtable
Definition: json_writer.h:65
+
int indent
Definition: json_writer.h:66
+
void(* output_char)(void *userdata, char)
Definition: json_writer.h:55
+
void grpc_json_writer_object_key(grpc_json_writer *writer, const char *string)
Definition: json_writer.c:226
+
void * userdata
Definition: json_writer.h:64
+
Definition: json_writer.h:53
+
void grpc_json_writer_value_raw(grpc_json_writer *writer, const char *string)
Definition: json_writer.c:234
+
Definition: json_writer.h:63
+
void grpc_json_writer_container_begins(grpc_json_writer *writer, grpc_json_type type)
Definition: json_writer.c:207
+
+ + + + diff --git a/doc/ref/core.internal/html/jwt__verifier_8c.html b/doc/ref/core.internal/html/jwt__verifier_8c.html new file mode 100644 index 0000000000..1da7742418 --- /dev/null +++ b/doc/ref/core.internal/html/jwt__verifier_8c.html @@ -0,0 +1,514 @@ + + + + + + +GRPC Core: src/core/security/jwt_verifier.c File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
jwt_verifier.c File Reference
+
+
+
#include "src/core/security/jwt_verifier.h"
+#include <string.h>
+#include "src/core/httpcli/httpcli.h"
+#include "src/core/security/base64.h"
+#include <grpc/support/alloc.h>
+#include <grpc/support/log.h>
+#include <grpc/support/string_util.h>
+#include <grpc/support/sync.h>
+#include <openssl/pem.h>
+
+ + + + + + + + + + + +

+Data Structures

struct  jose_header
 
struct  grpc_jwt_claims
 
struct  verifier_cb_ctx
 
struct  email_key_mapping
 
struct  grpc_jwt_verifier
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

const char * grpc_jwt_verifier_status_to_string (grpc_jwt_verifier_status status)
 
void grpc_jwt_claims_destroy (grpc_jwt_claims *claims)
 
const grpc_jsongrpc_jwt_claims_json (const grpc_jwt_claims *claims)
 
const char * grpc_jwt_claims_subject (const grpc_jwt_claims *claims)
 
const char * grpc_jwt_claims_issuer (const grpc_jwt_claims *claims)
 
const char * grpc_jwt_claims_id (const grpc_jwt_claims *claims)
 
const char * grpc_jwt_claims_audience (const grpc_jwt_claims *claims)
 
gpr_timespec grpc_jwt_claims_issued_at (const grpc_jwt_claims *claims)
 
gpr_timespec grpc_jwt_claims_expires_at (const grpc_jwt_claims *claims)
 
gpr_timespec grpc_jwt_claims_not_before (const grpc_jwt_claims *claims)
 
grpc_jwt_claimsgrpc_jwt_claims_from_json (grpc_json *json, gpr_slice buffer)
 
grpc_jwt_verifier_status grpc_jwt_claims_check (const grpc_jwt_claims *claims, const char *audience)
 
void verifier_cb_ctx_destroy (verifier_cb_ctx *ctx)
 
void grpc_jwt_verifier_verify (grpc_jwt_verifier *verifier, grpc_pollset *pollset, const char *jwt, const char *audience, grpc_jwt_verification_done_cb cb, void *user_data)
 
grpc_jwt_verifiergrpc_jwt_verifier_create (const grpc_jwt_verifier_email_domain_key_url_mapping *mappings, size_t num_mappings)
 
void grpc_jwt_verifier_destroy (grpc_jwt_verifier *v)
 
+ + + + + +

+Variables

gpr_timespec grpc_jwt_verifier_clock_skew = {60, 0, GPR_TIMESPAN}
 
gpr_timespec grpc_jwt_verifier_max_delay = {60, 0, GPR_TIMESPAN}
 
+

Function Documentation

+ +
+
+ + + + + + + + +
const char* grpc_jwt_claims_audience (const grpc_jwt_claimsclaims)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
grpc_jwt_verifier_status grpc_jwt_claims_check (const grpc_jwt_claimsclaims,
const char * audience 
)
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_jwt_claims_destroy (grpc_jwt_claimsclaims)
+
+ +
+
+ +
+
+ + + + + + + + +
gpr_timespec grpc_jwt_claims_expires_at (const grpc_jwt_claimsclaims)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
grpc_jwt_claims* grpc_jwt_claims_from_json (grpc_jsonjson,
gpr_slice buffer 
)
+
+ +
+
+ +
+
+ + + + + + + + +
const char* grpc_jwt_claims_id (const grpc_jwt_claimsclaims)
+
+ +
+
+ +
+
+ + + + + + + + +
gpr_timespec grpc_jwt_claims_issued_at (const grpc_jwt_claimsclaims)
+
+ +
+
+ +
+
+ + + + + + + + +
const char* grpc_jwt_claims_issuer (const grpc_jwt_claimsclaims)
+
+ +
+
+ +
+
+ + + + + + + + +
const grpc_json* grpc_jwt_claims_json (const grpc_jwt_claimsclaims)
+
+ +
+
+ +
+
+ + + + + + + + +
gpr_timespec grpc_jwt_claims_not_before (const grpc_jwt_claimsclaims)
+
+ +
+
+ +
+
+ + + + + + + + +
const char* grpc_jwt_claims_subject (const grpc_jwt_claimsclaims)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
grpc_jwt_verifier* grpc_jwt_verifier_create (const grpc_jwt_verifier_email_domain_key_url_mappingmappings,
size_t num_mappings 
)
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_jwt_verifier_destroy (grpc_jwt_verifierv)
+
+ +
+
+ +
+
+ + + + + + + + +
const char* grpc_jwt_verifier_status_to_string (grpc_jwt_verifier_status status)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void grpc_jwt_verifier_verify (grpc_jwt_verifierverifier,
grpc_pollsetpollset,
const char * jwt,
const char * audience,
grpc_jwt_verification_done_cb cb,
void * user_data 
)
+
+ +
+
+ +
+
+ + + + + + + + +
void verifier_cb_ctx_destroy (verifier_cb_ctxctx)
+
+ +
+
+

Variable Documentation

+ +
+
+ + + + +
gpr_timespec grpc_jwt_verifier_clock_skew = {60, 0, GPR_TIMESPAN}
+
+ +
+
+ +
+
+ + + + +
gpr_timespec grpc_jwt_verifier_max_delay = {60, 0, GPR_TIMESPAN}
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/jwt__verifier_8h.html b/doc/ref/core.internal/html/jwt__verifier_8h.html new file mode 100644 index 0000000000..7f0a122afb --- /dev/null +++ b/doc/ref/core.internal/html/jwt__verifier_8h.html @@ -0,0 +1,624 @@ + + + + + + +GRPC Core: src/core/security/jwt_verifier.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
jwt_verifier.h File Reference
+
+
+ +

Go to the source code of this file.

+ + + + +

+Data Structures

struct  grpc_jwt_verifier_email_domain_key_url_mapping
 
+ + + + + + + +

+Macros

#define GRPC_OPENID_CONFIG_URL_SUFFIX   "/.well-known/openid-configuration"
 
#define GRPC_GOOGLE_SERVICE_ACCOUNTS_EMAIL_DOMAIN   "developer.gserviceaccount.com"
 
#define GRPC_GOOGLE_SERVICE_ACCOUNTS_KEY_URL_PREFIX   "www.googleapis.com/robot/v1/metadata/x509"
 
+ + + + + + + +

+Typedefs

typedef struct grpc_jwt_claims grpc_jwt_claims
 
typedef struct grpc_jwt_verifier grpc_jwt_verifier
 
typedef void(* grpc_jwt_verification_done_cb )(void *user_data, grpc_jwt_verifier_status status, grpc_jwt_claims *claims)
 
+ + + +

+Enumerations

enum  grpc_jwt_verifier_status {
+  GRPC_JWT_VERIFIER_OK = 0, +GRPC_JWT_VERIFIER_BAD_SIGNATURE, +GRPC_JWT_VERIFIER_BAD_FORMAT, +GRPC_JWT_VERIFIER_BAD_AUDIENCE, +
+  GRPC_JWT_VERIFIER_KEY_RETRIEVAL_ERROR, +GRPC_JWT_VERIFIER_TIME_CONSTRAINT_FAILURE, +GRPC_JWT_VERIFIER_GENERIC_ERROR +
+ }
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

const char * grpc_jwt_verifier_status_to_string (grpc_jwt_verifier_status status)
 
void grpc_jwt_claims_destroy (grpc_jwt_claims *claims)
 
const grpc_jsongrpc_jwt_claims_json (const grpc_jwt_claims *claims)
 
const char * grpc_jwt_claims_subject (const grpc_jwt_claims *claims)
 
const char * grpc_jwt_claims_issuer (const grpc_jwt_claims *claims)
 
const char * grpc_jwt_claims_id (const grpc_jwt_claims *claims)
 
const char * grpc_jwt_claims_audience (const grpc_jwt_claims *claims)
 
gpr_timespec grpc_jwt_claims_issued_at (const grpc_jwt_claims *claims)
 
gpr_timespec grpc_jwt_claims_expires_at (const grpc_jwt_claims *claims)
 
gpr_timespec grpc_jwt_claims_not_before (const grpc_jwt_claims *claims)
 
grpc_jwt_verifiergrpc_jwt_verifier_create (const grpc_jwt_verifier_email_domain_key_url_mapping *mappings, size_t num_mappings)
 
void grpc_jwt_verifier_destroy (grpc_jwt_verifier *verifier)
 
void grpc_jwt_verifier_verify (grpc_jwt_verifier *verifier, grpc_pollset *pollset, const char *jwt, const char *audience, grpc_jwt_verification_done_cb cb, void *user_data)
 
grpc_jwt_claimsgrpc_jwt_claims_from_json (grpc_json *json, gpr_slice buffer)
 
grpc_jwt_verifier_status grpc_jwt_claims_check (const grpc_jwt_claims *claims, const char *audience)
 
+ + + + + +

+Variables

gpr_timespec grpc_jwt_verifier_clock_skew
 
gpr_timespec grpc_jwt_verifier_max_delay
 
+

Macro Definition Documentation

+ +
+
+ + + + +
#define GRPC_GOOGLE_SERVICE_ACCOUNTS_EMAIL_DOMAIN   "developer.gserviceaccount.com"
+
+ +
+
+ +
+
+ + + + +
#define GRPC_GOOGLE_SERVICE_ACCOUNTS_KEY_URL_PREFIX   "www.googleapis.com/robot/v1/metadata/x509"
+
+ +
+
+ +
+
+ + + + +
#define GRPC_OPENID_CONFIG_URL_SUFFIX   "/.well-known/openid-configuration"
+
+ +
+
+

Typedef Documentation

+ +
+
+ + + + +
typedef struct grpc_jwt_claims grpc_jwt_claims
+
+ +
+
+ +
+
+ + + + +
typedef void(* grpc_jwt_verification_done_cb)(void *user_data, grpc_jwt_verifier_status status, grpc_jwt_claims *claims)
+
+ +
+
+ +
+
+ + + + +
typedef struct grpc_jwt_verifier grpc_jwt_verifier
+
+ +
+
+

Enumeration Type Documentation

+ +
+
+ + + + +
enum grpc_jwt_verifier_status
+
+ + + + + + + + +
Enumerator
GRPC_JWT_VERIFIER_OK  +
GRPC_JWT_VERIFIER_BAD_SIGNATURE  +
GRPC_JWT_VERIFIER_BAD_FORMAT  +
GRPC_JWT_VERIFIER_BAD_AUDIENCE  +
GRPC_JWT_VERIFIER_KEY_RETRIEVAL_ERROR  +
GRPC_JWT_VERIFIER_TIME_CONSTRAINT_FAILURE  +
GRPC_JWT_VERIFIER_GENERIC_ERROR  +
+ +
+
+

Function Documentation

+ +
+
+ + + + + + + + +
const char* grpc_jwt_claims_audience (const grpc_jwt_claimsclaims)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
grpc_jwt_verifier_status grpc_jwt_claims_check (const grpc_jwt_claimsclaims,
const char * audience 
)
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_jwt_claims_destroy (grpc_jwt_claimsclaims)
+
+ +
+
+ +
+
+ + + + + + + + +
gpr_timespec grpc_jwt_claims_expires_at (const grpc_jwt_claimsclaims)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
grpc_jwt_claims* grpc_jwt_claims_from_json (grpc_jsonjson,
gpr_slice buffer 
)
+
+ +
+
+ +
+
+ + + + + + + + +
const char* grpc_jwt_claims_id (const grpc_jwt_claimsclaims)
+
+ +
+
+ +
+
+ + + + + + + + +
gpr_timespec grpc_jwt_claims_issued_at (const grpc_jwt_claimsclaims)
+
+ +
+
+ +
+
+ + + + + + + + +
const char* grpc_jwt_claims_issuer (const grpc_jwt_claimsclaims)
+
+ +
+
+ +
+
+ + + + + + + + +
const grpc_json* grpc_jwt_claims_json (const grpc_jwt_claimsclaims)
+
+ +
+
+ +
+
+ + + + + + + + +
gpr_timespec grpc_jwt_claims_not_before (const grpc_jwt_claimsclaims)
+
+ +
+
+ +
+
+ + + + + + + + +
const char* grpc_jwt_claims_subject (const grpc_jwt_claimsclaims)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
grpc_jwt_verifier* grpc_jwt_verifier_create (const grpc_jwt_verifier_email_domain_key_url_mappingmappings,
size_t num_mappings 
)
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_jwt_verifier_destroy (grpc_jwt_verifierverifier)
+
+ +
+
+ +
+
+ + + + + + + + +
const char* grpc_jwt_verifier_status_to_string (grpc_jwt_verifier_status status)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void grpc_jwt_verifier_verify (grpc_jwt_verifierverifier,
grpc_pollsetpollset,
const char * jwt,
const char * audience,
grpc_jwt_verification_done_cb cb,
void * user_data 
)
+
+ +
+
+

Variable Documentation

+ +
+
+ + + + +
gpr_timespec grpc_jwt_verifier_clock_skew
+
+ +
+
+ +
+
+ + + + +
gpr_timespec grpc_jwt_verifier_max_delay
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/jwt__verifier_8h_source.html b/doc/ref/core.internal/html/jwt__verifier_8h_source.html new file mode 100644 index 0000000000..3421082858 --- /dev/null +++ b/doc/ref/core.internal/html/jwt__verifier_8h_source.html @@ -0,0 +1,274 @@ + + + + + + +GRPC Core: src/core/security/jwt_verifier.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
jwt_verifier.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimser.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimser
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPC_INTERNAL_CORE_SECURITY_JWT_VERIFIER_H
+
35 #define GRPC_INTERNAL_CORE_SECURITY_JWT_VERIFIER_H
+
36 
+
37 #include "src/core/iomgr/pollset.h"
+
38 #include "src/core/json/json.h"
+
39 
+
40 #include <grpc/support/slice.h>
+
41 #include <grpc/support/time.h>
+
42 
+
43 /* --- Constants. --- */
+
44 
+
45 #define GRPC_OPENID_CONFIG_URL_SUFFIX "/.well-known/openid-configuration"
+
46 #define GRPC_GOOGLE_SERVICE_ACCOUNTS_EMAIL_DOMAIN \
+
47  "developer.gserviceaccount.com"
+
48 #define GRPC_GOOGLE_SERVICE_ACCOUNTS_KEY_URL_PREFIX \
+
49  "www.googleapis.com/robot/v1/metadata/x509"
+
50 
+
51 /* --- grpc_jwt_verifier_status. --- */
+
52 
+
53 typedef enum {
+ + + + + + + + +
62 
+ +
64 
+
65 /* --- grpc_jwt_claims. --- */
+
66 
+ +
68 
+ +
70 
+
71 /* Returns the whole JSON tree of the claims. */
+
72 const grpc_json *grpc_jwt_claims_json(const grpc_jwt_claims *claims);
+
73 
+
74 /* Access to registered claims in https://tools.ietf.org/html/rfc7519#page-9 */
+
75 const char *grpc_jwt_claims_subject(const grpc_jwt_claims *claims);
+
76 const char *grpc_jwt_claims_issuer(const grpc_jwt_claims *claims);
+
77 const char *grpc_jwt_claims_id(const grpc_jwt_claims *claims);
+
78 const char *grpc_jwt_claims_audience(const grpc_jwt_claims *claims);
+ + + +
82 
+
83 /* --- grpc_jwt_verifier. --- */
+
84 
+ +
86 
+
87 typedef struct {
+
88  /* The email domain is the part after the @ sign. */
+
89  const char *email_domain;
+
90 
+
91  /* The key url prefix will be used to get the public key from the issuer:
+
92  https://<key_url_prefix>/<issuer_email>
+
93  Therefore the key_url_prefix must NOT contain https://. */
+
94  const char *key_url_prefix;
+ +
96 
+
97 /* Globals to control the verifier. Not thread-safe. */
+ + +
100 
+
101 /* The verifier can be created with some custom mappings to help with key
+
102  discovery in the case where the issuer is an email address.
+
103  mappings can be NULL in which case num_mappings MUST be 0.
+
104  A verifier object has one built-in mapping (unless overridden):
+
105  GRPC_GOOGLE_SERVICE_ACCOUNTS_EMAIL_DOMAIN ->
+
106  GRPC_GOOGLE_SERVICE_ACCOUNTS_KEY_URL_PREFIX.*/
+ + +
109  size_t num_mappings);
+
110 
+
111 /*The verifier must not be destroyed if there are still outstanding callbacks.*/
+ +
113 
+
114 /* User provided callback that will be called when the verification of the JWT
+
115  is done (maybe in another thread).
+
116  It is the responsibility of the callee to call grpc_jwt_claims_destroy on
+
117  the claims. */
+
118 typedef void (*grpc_jwt_verification_done_cb)(void *user_data,
+ +
120  grpc_jwt_claims *claims);
+
121 
+
122 /* Verifies for the JWT for the given expected audience. */
+ +
124  grpc_pollset *pollset, const char *jwt,
+
125  const char *audience,
+ +
127  void *user_data);
+
128 
+
129 /* --- TESTING ONLY exposed functions. --- */
+
130 
+ + +
133  const char *audience);
+
134 
+
135 #endif /* GRPC_INTERNAL_CORE_SECURITY_JWT_VERIFIER_H */
+
136 
+
const char * grpc_jwt_claims_subject(const grpc_jwt_claims *claims)
Definition: jwt_verifier.c:203
+
void grpc_jwt_verifier_verify(grpc_jwt_verifier *verifier, grpc_pollset *pollset, const char *jwt, const char *audience, grpc_jwt_verification_done_cb cb, void *user_data)
Definition: jwt_verifier.c:754
+ +
void(* grpc_jwt_verification_done_cb)(void *user_data, grpc_jwt_verifier_status status, grpc_jwt_claims *claims)
Definition: jwt_verifier.h:118
+ +
const char * grpc_jwt_verifier_status_to_string(grpc_jwt_verifier_status status)
Definition: jwt_verifier.c:49
+
grpc_jwt_verifier_status
Definition: jwt_verifier.h:53
+
const char * grpc_jwt_claims_audience(const grpc_jwt_claims *claims)
Definition: jwt_verifier.c:218
+
Definition: jwt_verifier.c:375
+
Definition: jwt_verifier.h:54
+
gpr_timespec grpc_jwt_claims_issued_at(const grpc_jwt_claims *claims)
Definition: jwt_verifier.c:223
+
Definition: jwt_verifier.h:58
+
void grpc_jwt_verifier_destroy(grpc_jwt_verifier *verifier)
Definition: jwt_verifier.c:823
+
Definition: pollset_posix.h:48
+
grpc_jwt_verifier_status grpc_jwt_claims_check(const grpc_jwt_claims *claims, const char *audience)
Definition: jwt_verifier.c:284
+
Definition: jwt_verifier.h:55
+ +
grpc_jwt_claims * grpc_jwt_claims_from_json(grpc_json *json, gpr_slice buffer)
Definition: jwt_verifier.c:239
+
const char * grpc_jwt_claims_id(const grpc_jwt_claims *claims)
Definition: jwt_verifier.c:213
+
Definition: jwt_verifier.h:60
+
Definition: jwt_verifier.c:178
+
Definition: jwt_verifier.h:59
+
void grpc_jwt_claims_destroy(grpc_jwt_claims *claims)
Definition: jwt_verifier.c:192
+
gpr_timespec grpc_jwt_verifier_clock_skew
Definition: jwt_verifier.c:365
+
Definition: json.h:44
+
Definition: jwt_verifier.h:56
+
const char * email_domain
Definition: jwt_verifier.h:89
+ +
gpr_timespec grpc_jwt_claims_not_before(const grpc_jwt_claims *claims)
Definition: jwt_verifier.c:233
+
Definition: jwt_verifier.h:57
+
Definition: time.h:60
+
const grpc_json * grpc_jwt_claims_json(const grpc_jwt_claims *claims)
Definition: jwt_verifier.c:198
+
const char * grpc_jwt_claims_issuer(const grpc_jwt_claims *claims)
Definition: jwt_verifier.c:208
+ +
const char * key_url_prefix
Definition: jwt_verifier.h:94
+
Definition: slice.h:79
+
grpc_jwt_verifier * grpc_jwt_verifier_create(const grpc_jwt_verifier_email_domain_key_url_mapping *mappings, size_t num_mappings)
Definition: jwt_verifier.c:800
+
gpr_timespec grpc_jwt_verifier_max_delay
Definition: jwt_verifier.c:368
+
gpr_timespec grpc_jwt_claims_expires_at(const grpc_jwt_claims *claims)
Definition: jwt_verifier.c:228
+
+ + + + diff --git a/doc/ref/core.internal/html/lame__client_8c.html b/doc/ref/core.internal/html/lame__client_8c.html new file mode 100644 index 0000000000..9238dd38ff --- /dev/null +++ b/doc/ref/core.internal/html/lame__client_8c.html @@ -0,0 +1,142 @@ + + + + + + +GRPC Core: src/core/surface/lame_client.c File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
lame_client.c File Reference
+
+
+ + + + + + +

+Data Structures

struct  call_data
 
struct  channel_data
 
+ + + + +

+Functions

grpc_channelgrpc_lame_client_channel_create (const char *target)
 Create a lame client: this client fails every operation attempted on it. More...
 
+

Function Documentation

+ +
+
+ + + + + + + + +
grpc_channel* grpc_lame_client_channel_create (const char * target)
+
+ +

Create a lame client: this client fails every operation attempted on it.

+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/lb__policy_8c.html b/doc/ref/core.internal/html/lb__policy_8c.html new file mode 100644 index 0000000000..ce6108c205 --- /dev/null +++ b/doc/ref/core.internal/html/lb__policy_8c.html @@ -0,0 +1,343 @@ + + + + + + +GRPC Core: src/core/client_config/lb_policy.c File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
lb_policy.c File Reference
+
+
+ + + + + + + + + + + + + + + + + + + + + + + +

+Functions

void grpc_lb_policy_init (grpc_lb_policy *policy, const grpc_lb_policy_vtable *vtable)
 called by concrete implementations to initialize the base struct More...
 
void grpc_lb_policy_ref (grpc_lb_policy *policy)
 
void grpc_lb_policy_unref (grpc_lb_policy *policy)
 
void grpc_lb_policy_shutdown (grpc_lb_policy *policy)
 Start shutting down (fail any pending picks) More...
 
void grpc_lb_policy_pick (grpc_lb_policy *policy, grpc_pollset *pollset, grpc_metadata_batch *initial_metadata, grpc_subchannel **target, grpc_iomgr_closure *on_complete)
 Given initial metadata in initial_metadata, find an appropriate target for this rpc, and 'return' it by calling on_complete after setting target. More...
 
void grpc_lb_policy_broadcast (grpc_lb_policy *policy, grpc_transport_op *op)
 
void grpc_lb_policy_exit_idle (grpc_lb_policy *policy)
 
void grpc_lb_policy_notify_on_state_change (grpc_lb_policy *policy, grpc_connectivity_state *state, grpc_iomgr_closure *closure)
 
grpc_connectivity_state grpc_lb_policy_check_connectivity (grpc_lb_policy *policy)
 
+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
void grpc_lb_policy_broadcast (grpc_lb_policypolicy,
grpc_transport_opop 
)
+
+ +
+
+ +
+
+ + + + + + + + +
grpc_connectivity_state grpc_lb_policy_check_connectivity (grpc_lb_policypolicy)
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_lb_policy_exit_idle (grpc_lb_policypolicy)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void grpc_lb_policy_init (grpc_lb_policypolicy,
const grpc_lb_policy_vtablevtable 
)
+
+ +

called by concrete implementations to initialize the base struct

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void grpc_lb_policy_notify_on_state_change (grpc_lb_policypolicy,
grpc_connectivity_statestate,
grpc_iomgr_closureclosure 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void grpc_lb_policy_pick (grpc_lb_policypolicy,
grpc_pollsetpollset,
grpc_metadata_batchinitial_metadata,
grpc_subchannel ** target,
grpc_iomgr_closureon_complete 
)
+
+ +

Given initial metadata in initial_metadata, find an appropriate target for this rpc, and 'return' it by calling on_complete after setting target.

+

Picking can be asynchronous. Any IO should be done under pollset.

+ +
+
+ +
+
+ + + + + + + + +
void grpc_lb_policy_ref (grpc_lb_policypolicy)
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_lb_policy_shutdown (grpc_lb_policypolicy)
+
+ +

Start shutting down (fail any pending picks)

+ +
+
+ +
+
+ + + + + + + + +
void grpc_lb_policy_unref (grpc_lb_policypolicy)
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/lb__policy_8h.html b/doc/ref/core.internal/html/lb__policy_8h.html new file mode 100644 index 0000000000..75e13c76e2 --- /dev/null +++ b/doc/ref/core.internal/html/lb__policy_8h.html @@ -0,0 +1,465 @@ + + + + + + +GRPC Core: src/core/client_config/lb_policy.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
lb_policy.h File Reference
+
+
+ +

Go to the source code of this file.

+ + + + + + +

+Data Structures

struct  grpc_lb_policy
 
struct  grpc_lb_policy_vtable
 
+ + + + + +

+Macros

#define GRPC_LB_POLICY_REF(p, r)   grpc_lb_policy_ref((p))
 
#define GRPC_LB_POLICY_UNREF(p, r)   grpc_lb_policy_unref((p))
 
+ + + + + + + + +

+Typedefs

typedef struct grpc_lb_policy grpc_lb_policy
 A load balancing policy: specified by a vtable and a struct (which is expected to be extended to contain some parameters) More...
 
typedef struct
+grpc_lb_policy_vtable 
grpc_lb_policy_vtable
 
typedef void(* grpc_lb_completion )(void *cb_arg, grpc_subchannel *subchannel, grpc_status_code status, const char *errmsg)
 
+ + + + + + + + + + + + + + + + + + + + + + +

+Functions

void grpc_lb_policy_ref (grpc_lb_policy *policy)
 
void grpc_lb_policy_unref (grpc_lb_policy *policy)
 
void grpc_lb_policy_init (grpc_lb_policy *policy, const grpc_lb_policy_vtable *vtable)
 called by concrete implementations to initialize the base struct More...
 
void grpc_lb_policy_shutdown (grpc_lb_policy *policy)
 Start shutting down (fail any pending picks) More...
 
void grpc_lb_policy_pick (grpc_lb_policy *policy, grpc_pollset *pollset, grpc_metadata_batch *initial_metadata, grpc_subchannel **target, grpc_iomgr_closure *on_complete)
 Given initial metadata in initial_metadata, find an appropriate target for this rpc, and 'return' it by calling on_complete after setting target. More...
 
void grpc_lb_policy_broadcast (grpc_lb_policy *policy, grpc_transport_op *op)
 
void grpc_lb_policy_exit_idle (grpc_lb_policy *policy)
 
void grpc_lb_policy_notify_on_state_change (grpc_lb_policy *policy, grpc_connectivity_state *state, grpc_iomgr_closure *closure)
 
grpc_connectivity_state grpc_lb_policy_check_connectivity (grpc_lb_policy *policy)
 
+

Macro Definition Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
#define GRPC_LB_POLICY_REF( p,
 
)   grpc_lb_policy_ref((p))
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
#define GRPC_LB_POLICY_UNREF( p,
 
)   grpc_lb_policy_unref((p))
+
+ +
+
+

Typedef Documentation

+ +
+
+ + + + +
typedef void(* grpc_lb_completion)(void *cb_arg, grpc_subchannel *subchannel, grpc_status_code status, const char *errmsg)
+
+ +
+
+ +
+
+ + + + +
typedef struct grpc_lb_policy grpc_lb_policy
+
+ +

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_vtable grpc_lb_policy_vtable
+
+ +
+
+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
void grpc_lb_policy_broadcast (grpc_lb_policypolicy,
grpc_transport_opop 
)
+
+ +
+
+ +
+
+ + + + + + + + +
grpc_connectivity_state grpc_lb_policy_check_connectivity (grpc_lb_policypolicy)
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_lb_policy_exit_idle (grpc_lb_policypolicy)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void grpc_lb_policy_init (grpc_lb_policypolicy,
const grpc_lb_policy_vtablevtable 
)
+
+ +

called by concrete implementations to initialize the base struct

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void grpc_lb_policy_notify_on_state_change (grpc_lb_policypolicy,
grpc_connectivity_statestate,
grpc_iomgr_closureclosure 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void grpc_lb_policy_pick (grpc_lb_policypolicy,
grpc_pollsetpollset,
grpc_metadata_batchinitial_metadata,
grpc_subchannel ** target,
grpc_iomgr_closureon_complete 
)
+
+ +

Given initial metadata in initial_metadata, find an appropriate target for this rpc, and 'return' it by calling on_complete after setting target.

+

Picking can be asynchronous. Any IO should be done under pollset.

+ +
+
+ +
+
+ + + + + + + + +
void grpc_lb_policy_ref (grpc_lb_policypolicy)
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_lb_policy_shutdown (grpc_lb_policypolicy)
+
+ +

Start shutting down (fail any pending picks)

+ +
+
+ +
+
+ + + + + + + + +
void grpc_lb_policy_unref (grpc_lb_policypolicy)
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/lb__policy_8h_source.html b/doc/ref/core.internal/html/lb__policy_8h_source.html new file mode 100644 index 0000000000..11bf541f8f --- /dev/null +++ b/doc/ref/core.internal/html/lb__policy_8h_source.html @@ -0,0 +1,236 @@ + + + + + + +GRPC Core: src/core/client_config/lb_policy.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
lb_policy.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPC_INTERNAL_CORE_CLIENT_CONFIG_LB_POLICY_H
+
35 #define GRPC_INTERNAL_CORE_CLIENT_CONFIG_LB_POLICY_H
+
36 
+ +
38 
+ + +
43 
+
44 typedef void (*grpc_lb_completion)(void *cb_arg, grpc_subchannel *subchannel,
+
45  grpc_status_code status, const char *errmsg);
+
46 
+ + + +
50 };
+
51 
+ +
53  void (*destroy)(grpc_lb_policy *policy);
+
54 
+
55  void (*shutdown)(grpc_lb_policy *policy);
+
56 
+
58  void (*pick)(grpc_lb_policy *policy, grpc_pollset *pollset,
+
59  grpc_metadata_batch *initial_metadata, grpc_subchannel **target,
+
60  grpc_iomgr_closure *on_complete);
+
61 
+
63  void (*exit_idle)(grpc_lb_policy *policy);
+
64 
+ +
67 
+ +
70 
+ + +
75  grpc_iomgr_closure *closure);
+
76 };
+
77 
+
78 #ifdef GRPC_LB_POLICY_REFCOUNT_DEBUG
+
79 #define GRPC_LB_POLICY_REF(p, r) \
+
80  grpc_lb_policy_ref((p), __FILE__, __LINE__, (r))
+
81 #define GRPC_LB_POLICY_UNREF(p, r) \
+
82  grpc_lb_policy_unref((p), __FILE__, __LINE__, (r))
+
83 void grpc_lb_policy_ref(grpc_lb_policy *policy, const char *file, int line,
+
84  const char *reason);
+
85 void grpc_lb_policy_unref(grpc_lb_policy *policy, const char *file, int line,
+
86  const char *reason);
+
87 #else
+
88 #define GRPC_LB_POLICY_REF(p, r) grpc_lb_policy_ref((p))
+
89 #define GRPC_LB_POLICY_UNREF(p, r) grpc_lb_policy_unref((p))
+ + +
92 #endif
+
93 
+ +
96  const grpc_lb_policy_vtable *vtable);
+
97 
+ +
100 
+
105 void grpc_lb_policy_pick(grpc_lb_policy *policy, grpc_pollset *pollset,
+
106  grpc_metadata_batch *initial_metadata,
+
107  grpc_subchannel **target,
+
108  grpc_iomgr_closure *on_complete);
+
109 
+ +
111 
+ +
113 
+ + +
116  grpc_iomgr_closure *closure);
+
117 
+ +
119  grpc_lb_policy *policy);
+
120 
+
121 #endif /* GRPC_INTERNAL_CORE_CONFIG_LB_POLICY_H */
+
const grpc_lb_policy_vtable * vtable
Definition: lb_policy.h:48
+
grpc_connectivity_state
Connectivity state of a channel.
Definition: grpc.h:139
+
Definition: sync_generic.h:49
+
void grpc_lb_policy_exit_idle(grpc_lb_policy *policy)
Definition: lb_policy.c:81
+
Definition: stream_op.h:87
+
grpc_connectivity_state grpc_lb_policy_check_connectivity(grpc_lb_policy *policy)
Definition: lb_policy.c:91
+
void(* pick)(grpc_lb_policy *policy, grpc_pollset *pollset, grpc_metadata_batch *initial_metadata, grpc_subchannel **target, grpc_iomgr_closure *on_complete)
implement grpc_lb_policy_pick
Definition: lb_policy.h:58
+
void(* broadcast)(grpc_lb_policy *policy, grpc_transport_op *op)
broadcast a transport op to all subchannels
Definition: lb_policy.h:66
+
Definition: pollset_posix.h:48
+
Definition: subchannel.c:77
+
void(* grpc_lb_completion)(void *cb_arg, grpc_subchannel *subchannel, grpc_status_code status, const char *errmsg)
Definition: lb_policy.h:44
+
void grpc_lb_policy_broadcast(grpc_lb_policy *policy, grpc_transport_op *op)
Definition: lb_policy.c:77
+
Definition: lb_policy.h:52
+
void grpc_lb_policy_shutdown(grpc_lb_policy *policy)
Start shutting down (fail any pending picks)
Definition: lb_policy.c:66
+
void(* destroy)(grpc_lb_policy *policy)
Definition: lb_policy.h:53
+
A closure over a grpc_iomgr_cb_func.
Definition: iomgr.h:45
+
gpr_refcount refs
Definition: lb_policy.h:49
+
void grpc_lb_policy_pick(grpc_lb_policy *policy, grpc_pollset *pollset, grpc_metadata_batch *initial_metadata, grpc_subchannel **target, grpc_iomgr_closure *on_complete)
Given initial metadata in initial_metadata, find an appropriate target for this rpc, and 'return' it by calling on_complete after setting target.
Definition: lb_policy.c:70
+
void(* shutdown)(grpc_lb_policy *policy)
Definition: lb_policy.h:55
+ +
void grpc_lb_policy_ref(grpc_lb_policy *policy)
Definition: lb_policy.c:48
+
void(* notify_on_state_change)(grpc_lb_policy *policy, grpc_connectivity_state *state, grpc_iomgr_closure *closure)
call notify when the connectivity state of a channel changes from *state.
Definition: lb_policy.h:73
+
grpc_status_code
Definition: status.h:41
+
void grpc_lb_policy_unref(grpc_lb_policy *policy)
Definition: lb_policy.c:59
+
void(* exit_idle)(grpc_lb_policy *policy)
try to enter a READY connectivity state
Definition: lb_policy.h:63
+
void grpc_lb_policy_notify_on_state_change(grpc_lb_policy *policy, grpc_connectivity_state *state, grpc_iomgr_closure *closure)
Definition: lb_policy.c:85
+
void grpc_lb_policy_init(grpc_lb_policy *policy, const grpc_lb_policy_vtable *vtable)
called by concrete implementations to initialize the base struct
Definition: lb_policy.c:36
+
Definition: lb_policy.h:47
+
Transport op: a set of operations to perform on a transport as a whole.
Definition: transport.h:90
+
grpc_connectivity_state(* check_connectivity)(grpc_lb_policy *policy)
check the current connectivity of the lb_policy
Definition: lb_policy.h:69
+
+ + + + diff --git a/doc/ref/core.internal/html/log_8c.html b/doc/ref/core.internal/html/log_8c.html new file mode 100644 index 0000000000..08fb8fe0bf --- /dev/null +++ b/doc/ref/core.internal/html/log_8c.html @@ -0,0 +1,203 @@ + + + + + + +GRPC Core: src/core/support/log.c File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
log.c File Reference
+
+
+
#include <grpc/support/log.h>
+#include <stdio.h>
+#include <string.h>
+
+ + + + + + + + + +

+Functions

void gpr_default_log (gpr_log_func_args *args)
 
const char * gpr_log_severity_string (gpr_log_severity severity)
 
void gpr_log_message (const char *file, int line, gpr_log_severity severity, const char *message)
 
void gpr_set_log_function (gpr_log_func f)
 
+

Function Documentation

+ +
+
+ + + + + + + + +
void gpr_default_log (gpr_log_func_argsargs)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void gpr_log_message (const char * file,
int line,
gpr_log_severity severity,
const char * message 
)
+
+ +
+
+ +
+
+ + + + + + + + +
const char* gpr_log_severity_string (gpr_log_severity severity)
+
+ +
+
+ +
+
+ + + + + + + + +
void gpr_set_log_function (gpr_log_func f)
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/log_8h.html b/doc/ref/core.internal/html/log_8h.html new file mode 100644 index 0000000000..155724ba0f --- /dev/null +++ b/doc/ref/core.internal/html/log_8h.html @@ -0,0 +1,374 @@ + + + + + + +GRPC Core: include/grpc/support/log.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
log.h File Reference
+
+
+
#include <stdlib.h>
+#include <stdarg.h>
+
+

Go to the source code of this file.

+ + + + +

+Data Structures

struct  gpr_log_func_args
 
+ + + + + + + + + +

+Macros

#define GPR_DEBUG   __FILE__, __LINE__, GPR_LOG_SEVERITY_DEBUG
 
#define GPR_INFO   __FILE__, __LINE__, GPR_LOG_SEVERITY_INFO
 
#define GPR_ERROR   __FILE__, __LINE__, GPR_LOG_SEVERITY_ERROR
 
#define GPR_ASSERT(x)
 
+ + + + + +

+Typedefs

typedef enum gpr_log_severity gpr_log_severity
 
typedef void(* gpr_log_func )(gpr_log_func_args *args)
 
+ + + +

+Enumerations

enum  gpr_log_severity { GPR_LOG_SEVERITY_DEBUG, +GPR_LOG_SEVERITY_INFO, +GPR_LOG_SEVERITY_ERROR + }
 
+ + + + + + + + + +

+Functions

const char * gpr_log_severity_string (gpr_log_severity severity)
 
void gpr_log (const char *file, int line, gpr_log_severity severity, const char *format,...)
 
void gpr_log_message (const char *file, int line, gpr_log_severity severity, const char *message)
 
void gpr_set_log_function (gpr_log_func func)
 
+

Macro Definition Documentation

+ +
+
+ + + + + + + + +
#define GPR_ASSERT( x)
+
+Value:
do { \
+
if (!(x)) { \
+
gpr_log(GPR_ERROR, "assertion failed: %s", #x); \
+
abort(); \
+
} \
+
} while (0)
+
#define GPR_ERROR
Definition: log.h:68
+
void gpr_log(const char *file, int line, gpr_log_severity severity, const char *format,...)
+
+
+
+ +
+
+ + + + +
#define GPR_DEBUG   __FILE__, __LINE__, GPR_LOG_SEVERITY_DEBUG
+
+ +
+
+ +
+
+ + + + +
#define GPR_ERROR   __FILE__, __LINE__, GPR_LOG_SEVERITY_ERROR
+
+ +
+
+ +
+
+ + + + +
#define GPR_INFO   __FILE__, __LINE__, GPR_LOG_SEVERITY_INFO
+
+ +
+
+

Typedef Documentation

+ +
+
+ + + + +
typedef void(* gpr_log_func)(gpr_log_func_args *args)
+
+ +
+
+ +
+
+ + + + +
typedef enum gpr_log_severity gpr_log_severity
+
+ +
+
+

Enumeration Type Documentation

+ +
+
+ + + + +
enum gpr_log_severity
+
+ + + + +
Enumerator
GPR_LOG_SEVERITY_DEBUG  +
GPR_LOG_SEVERITY_INFO  +
GPR_LOG_SEVERITY_ERROR  +
+ +
+
+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void gpr_log (const char * file,
int line,
gpr_log_severity severity,
const char * format,
 ... 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void gpr_log_message (const char * file,
int line,
gpr_log_severity severity,
const char * message 
)
+
+ +
+
+ +
+
+ + + + + + + + +
const char* gpr_log_severity_string (gpr_log_severity severity)
+
+ +
+
+ +
+
+ + + + + + + + +
void gpr_set_log_function (gpr_log_func func)
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/log_8h_source.html b/doc/ref/core.internal/html/log_8h_source.html new file mode 100644 index 0000000000..01b3ef5eb2 --- /dev/null +++ b/doc/ref/core.internal/html/log_8h_source.html @@ -0,0 +1,221 @@ + + + + + + +GRPC Core: include/grpc/support/log.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
log.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPC_SUPPORT_LOG_H
+
35 #define GRPC_SUPPORT_LOG_H
+
36 
+
37 #include <stdlib.h> /* for abort() */
+
38 #include <stdarg.h>
+
39 
+
40 #ifdef __cplusplus
+
41 extern "C" {
+
42 #endif
+
43 
+
44 /* GPR log API.
+
45 
+
46  Usage (within grpc):
+
47 
+
48  int argument1 = 3;
+
49  char* argument2 = "hello";
+
50  gpr_log(GPR_DEBUG, "format string %d", argument1);
+
51  gpr_log(GPR_INFO, "hello world");
+
52  gpr_log(GPR_ERROR, "%d %s!!", argument1, argument2); */
+
53 
+
54 /* The severity of a log message - use the #defines below when calling into
+
55  gpr_log to additionally supply file and line data */
+
56 typedef enum gpr_log_severity {
+ + + + +
61 
+
62 /* Returns a string representation of the log severity */
+
63 const char *gpr_log_severity_string(gpr_log_severity severity);
+
64 
+
65 /* Macros to build log contexts at various severity levels */
+
66 #define GPR_DEBUG __FILE__, __LINE__, GPR_LOG_SEVERITY_DEBUG
+
67 #define GPR_INFO __FILE__, __LINE__, GPR_LOG_SEVERITY_INFO
+
68 #define GPR_ERROR __FILE__, __LINE__, GPR_LOG_SEVERITY_ERROR
+
69 
+
70 /* Log a message. It's advised to use GPR_xxx above to generate the context
+
71  * for each message */
+
72 void gpr_log(const char *file, int line, gpr_log_severity severity,
+
73  const char *format, ...);
+
74 
+
75 void gpr_log_message(const char *file, int line, gpr_log_severity severity,
+
76  const char *message);
+
77 
+
78 /* Log overrides: applications can use this API to intercept logging calls
+
79  and use their own implementations */
+
80 
+
81 typedef struct {
+
82  const char *file;
+
83  int line;
+ +
85  const char *message;
+ +
87 
+
88 typedef void (*gpr_log_func)(gpr_log_func_args *args);
+ +
90 
+
91 /* abort() the process if x is zero, having written a line to the log.
+
92 
+
93  Intended for internal invariants. If the error can be recovered from,
+
94  without the possibility of corruption, or might best be reflected via
+
95  an exception in a higher-level language, consider returning error code. */
+
96 #define GPR_ASSERT(x) \
+
97  do { \
+
98  if (!(x)) { \
+
99  gpr_log(GPR_ERROR, "assertion failed: %s", #x); \
+
100  abort(); \
+
101  } \
+
102  } while (0)
+
103 
+
104 #ifdef __cplusplus
+
105 }
+
106 #endif
+
107 
+
108 #endif /* GRPC_SUPPORT_LOG_H */
+
Definition: log.h:58
+
int line
Definition: log.h:83
+
Definition: log.h:81
+
gpr_log_severity
Definition: log.h:56
+
const char * gpr_log_severity_string(gpr_log_severity severity)
Definition: log.c:42
+
const char * message
Definition: log.h:85
+
const char * file
Definition: log.h:82
+
void(* gpr_log_func)(gpr_log_func_args *args)
Definition: log.h:88
+
void gpr_log(const char *file, int line, gpr_log_severity severity, const char *format,...)
+
void gpr_log_message(const char *file, int line, gpr_log_severity severity, const char *message)
Definition: log.c:54
+
void gpr_set_log_function(gpr_log_func func)
Definition: log.c:65
+
gpr_log_severity severity
Definition: log.h:84
+
Definition: log.h:59
+
Definition: log.h:57
+
+ + + + diff --git a/doc/ref/core.internal/html/log__android_8c.html b/doc/ref/core.internal/html/log__android_8c.html new file mode 100644 index 0000000000..8dd399cec9 --- /dev/null +++ b/doc/ref/core.internal/html/log__android_8c.html @@ -0,0 +1,100 @@ + + + + + + +GRPC Core: src/core/support/log_android.c File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
log_android.c File Reference
+
+ + + + + diff --git a/doc/ref/core.internal/html/log__linux_8c.html b/doc/ref/core.internal/html/log__linux_8c.html new file mode 100644 index 0000000000..53b77c1c2e --- /dev/null +++ b/doc/ref/core.internal/html/log__linux_8c.html @@ -0,0 +1,135 @@ + + + + + + +GRPC Core: src/core/support/log_linux.c File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
log_linux.c File Reference
+
+
+ + + + + + +

+Macros

#define _POSIX_SOURCE
 
#define _GNU_SOURCE
 
+

Macro Definition Documentation

+ +
+
+ + + + +
#define _GNU_SOURCE
+
+ +
+
+ +
+
+ + + + +
#define _POSIX_SOURCE
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/log__posix_8c.html b/doc/ref/core.internal/html/log__posix_8c.html new file mode 100644 index 0000000000..4f6deb3f75 --- /dev/null +++ b/doc/ref/core.internal/html/log__posix_8c.html @@ -0,0 +1,100 @@ + + + + + + +GRPC Core: src/core/support/log_posix.c File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
log_posix.c File Reference
+
+ + + + + diff --git a/doc/ref/core.internal/html/log__win32_8c.html b/doc/ref/core.internal/html/log__win32_8c.html new file mode 100644 index 0000000000..3b45ab3f64 --- /dev/null +++ b/doc/ref/core.internal/html/log__win32_8c.html @@ -0,0 +1,100 @@ + + + + + + +GRPC Core: src/core/support/log_win32.c File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
log_win32.c File Reference
+
+ + + + + diff --git a/doc/ref/core.internal/html/log__win32_8h.html b/doc/ref/core.internal/html/log__win32_8h.html new file mode 100644 index 0000000000..2aef9cfaf7 --- /dev/null +++ b/doc/ref/core.internal/html/log__win32_8h.html @@ -0,0 +1,126 @@ + + + + + + +GRPC Core: include/grpc/support/log_win32.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
log_win32.h File Reference
+
+
+ +

Go to the source code of this file.

+ + + + +

+Functions

char * gpr_format_message (DWORD messageid)
 
+

Function Documentation

+ +
+
+ + + + + + + + +
char* gpr_format_message (DWORD messageid)
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/log__win32_8h_source.html b/doc/ref/core.internal/html/log__win32_8h_source.html new file mode 100644 index 0000000000..aaa6bcb26b --- /dev/null +++ b/doc/ref/core.internal/html/log__win32_8h_source.html @@ -0,0 +1,151 @@ + + + + + + +GRPC Core: include/grpc/support/log_win32.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
log_win32.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPC_SUPPORT_LOG_WIN32_H
+
35 #define GRPC_SUPPORT_LOG_WIN32_H
+
36 
+
37 #ifdef __cplusplus
+
38 extern "C" {
+
39 #endif
+
40 
+
41 /* Returns a string allocated with gpr_malloc that contains a UTF-8
+
42  * formatted error message, corresponding to the error messageid.
+
43  * Use in conjunction with GetLastError() et al.
+
44  */
+
45 char *gpr_format_message(DWORD messageid);
+
46 
+
47 #ifdef __cplusplus
+
48 }
+
49 #endif
+
50 
+
51 #endif /* GRPC_SUPPORT_LOG_WIN32_H */
+
char * gpr_format_message(DWORD messageid)
+
+ + + + diff --git a/doc/ref/core.internal/html/merge__channel__args_8c.html b/doc/ref/core.internal/html/merge__channel__args_8c.html new file mode 100644 index 0000000000..ceb1ab2341 --- /dev/null +++ b/doc/ref/core.internal/html/merge__channel__args_8c.html @@ -0,0 +1,146 @@ + + + + + + +GRPC Core: src/core/client_config/subchannel_factory_decorators/merge_channel_args.c File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
merge_channel_args.c File Reference
+
+
+ + + + +

+Data Structures

struct  merge_args_factory
 
+ + + + +

+Functions

grpc_subchannel_factorygrpc_subchannel_factory_merge_channel_args (grpc_subchannel_factory *input, const grpc_channel_args *args)
 Takes a subchannel factory, returns a new one that mutates incoming channel_args by adding a new argument; ownership of input, args is retained by the caller. More...
 
+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
grpc_subchannel_factory* grpc_subchannel_factory_merge_channel_args (grpc_subchannel_factoryinput,
const grpc_channel_argsargs 
)
+
+ +

Takes a subchannel factory, returns a new one that mutates incoming channel_args by adding a new argument; ownership of input, args is retained by the caller.

+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/merge__channel__args_8h.html b/doc/ref/core.internal/html/merge__channel__args_8h.html new file mode 100644 index 0000000000..e1bcd44e71 --- /dev/null +++ b/doc/ref/core.internal/html/merge__channel__args_8h.html @@ -0,0 +1,140 @@ + + + + + + +GRPC Core: src/core/client_config/subchannel_factory_decorators/merge_channel_args.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
merge_channel_args.h File Reference
+
+
+ +

Go to the source code of this file.

+ + + + + +

+Functions

grpc_subchannel_factorygrpc_subchannel_factory_merge_channel_args (grpc_subchannel_factory *input, const grpc_channel_args *args)
 Takes a subchannel factory, returns a new one that mutates incoming channel_args by adding a new argument; ownership of input, args is retained by the caller. More...
 
+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
grpc_subchannel_factory* grpc_subchannel_factory_merge_channel_args (grpc_subchannel_factoryinput,
const grpc_channel_argsargs 
)
+
+ +

Takes a subchannel factory, returns a new one that mutates incoming channel_args by adding a new argument; ownership of input, args is retained by the caller.

+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/merge__channel__args_8h_source.html b/doc/ref/core.internal/html/merge__channel__args_8h_source.html new file mode 100644 index 0000000000..162d81e7f4 --- /dev/null +++ b/doc/ref/core.internal/html/merge__channel__args_8h_source.html @@ -0,0 +1,145 @@ + + + + + + +GRPC Core: src/core/client_config/subchannel_factory_decorators/merge_channel_args.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
merge_channel_args.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPC_INTERNAL_CORE_CLIENT_CONFIG_SUBCHANNEL_FACTORY_DECORATORS_MERGE_CHANNEL_ARGS_H
+
35 #define GRPC_INTERNAL_CORE_CLIENT_CONFIG_SUBCHANNEL_FACTORY_DECORATORS_MERGE_CHANNEL_ARGS_H
+
36 
+ +
38 
+ +
43  grpc_subchannel_factory *input, const grpc_channel_args *args);
+
44 
+
45 #endif /* GRPC_INTERNAL_CORE_CLIENT_CONFIG_SUBCHANNEL_FACTORY_DECORATORS_MERGE_CHANNEL_ARGS_H */
+
An array of arguments that can be passed around.
Definition: grpc.h:113
+ +
Constructor for new configured channels.
Definition: subchannel_factory.h:45
+
grpc_subchannel_factory * grpc_subchannel_factory_merge_channel_args(grpc_subchannel_factory *input, const grpc_channel_args *args)
Takes a subchannel factory, returns a new one that mutates incoming channel_args by adding a new argu...
Definition: merge_channel_args.c:75
+
+ + + + diff --git a/doc/ref/core.internal/html/message__compress_8c.html b/doc/ref/core.internal/html/message__compress_8c.html new file mode 100644 index 0000000000..0e171f848e --- /dev/null +++ b/doc/ref/core.internal/html/message__compress_8c.html @@ -0,0 +1,232 @@ + + + + + + +GRPC Core: src/core/compression/message_compress.c File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
message_compress.c File Reference
+
+
+
#include "src/core/compression/message_compress.h"
+#include <string.h>
+#include <grpc/support/alloc.h>
+#include <grpc/support/log.h>
+#include <zlib.h>
+
+ + + +

+Macros

#define OUTPUT_BLOCK_SIZE   1024
 
+ + + + + + + +

+Functions

int compress_inner (grpc_compression_algorithm algorithm, gpr_slice_buffer *input, gpr_slice_buffer *output)
 
int grpc_msg_compress (grpc_compression_algorithm algorithm, gpr_slice_buffer *input, gpr_slice_buffer *output)
 
int grpc_msg_decompress (grpc_compression_algorithm algorithm, gpr_slice_buffer *input, gpr_slice_buffer *output)
 
+

Macro Definition Documentation

+ +
+
+ + + + +
#define OUTPUT_BLOCK_SIZE   1024
+
+ +
+
+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
int compress_inner (grpc_compression_algorithm algorithm,
gpr_slice_bufferinput,
gpr_slice_bufferoutput 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
int grpc_msg_compress (grpc_compression_algorithm algorithm,
gpr_slice_bufferinput,
gpr_slice_bufferoutput 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
int grpc_msg_decompress (grpc_compression_algorithm algorithm,
gpr_slice_bufferinput,
gpr_slice_bufferoutput 
)
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/message__compress_8h.html b/doc/ref/core.internal/html/message__compress_8h.html new file mode 100644 index 0000000000..ffbac55dff --- /dev/null +++ b/doc/ref/core.internal/html/message__compress_8h.html @@ -0,0 +1,178 @@ + + + + + + +GRPC Core: src/core/compression/message_compress.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
message_compress.h File Reference
+
+
+ +

Go to the source code of this file.

+ + + + + + +

+Functions

int grpc_msg_compress (grpc_compression_algorithm algorithm, gpr_slice_buffer *input, gpr_slice_buffer *output)
 
int grpc_msg_decompress (grpc_compression_algorithm algorithm, gpr_slice_buffer *input, gpr_slice_buffer *output)
 
+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
int grpc_msg_compress (grpc_compression_algorithm algorithm,
gpr_slice_bufferinput,
gpr_slice_bufferoutput 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
int grpc_msg_decompress (grpc_compression_algorithm algorithm,
gpr_slice_bufferinput,
gpr_slice_bufferoutput 
)
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/message__compress_8h_source.html b/doc/ref/core.internal/html/message__compress_8h_source.html new file mode 100644 index 0000000000..86b9ed1ad0 --- /dev/null +++ b/doc/ref/core.internal/html/message__compress_8h_source.html @@ -0,0 +1,157 @@ + + + + + + +GRPC Core: src/core/compression/message_compress.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
message_compress.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPC_INTERNAL_CORE_COMPRESSION_MESSAGE_COMPRESS_H
+
35 #define GRPC_INTERNAL_CORE_COMPRESSION_MESSAGE_COMPRESS_H
+
36 
+
37 #include <grpc/compression.h>
+ +
39 
+
40 /* compress 'input' to 'output' using 'algorithm'.
+
41  On success, appends compressed slices to output and returns 1.
+
42  On failure, appends uncompressed slices to output and returns 0. */
+ +
44  gpr_slice_buffer *input, gpr_slice_buffer *output);
+
45 
+
46 /* decompress 'input' to 'output' using 'algorithm'.
+
47  On success, appends slices to output and returns 1.
+
48  On failure, output is unchanged, and returns 0. */
+ +
50  gpr_slice_buffer *input, gpr_slice_buffer *output);
+
51 
+
52 #endif /* GRPC_INTERNAL_CORE_COMPRESSION_MESSAGE_COMPRESS_H */
+ +
grpc_compression_algorithm
Definition: compression.h:45
+
Definition: slice_buffer.h:48
+
int grpc_msg_decompress(grpc_compression_algorithm algorithm, gpr_slice_buffer *input, gpr_slice_buffer *output)
Definition: message_compress.c:176
+ +
int grpc_msg_compress(grpc_compression_algorithm algorithm, gpr_slice_buffer *input, gpr_slice_buffer *output)
Definition: message_compress.c:167
+
+ + + + diff --git a/doc/ref/core.internal/html/metadata_8c.html b/doc/ref/core.internal/html/metadata_8c.html new file mode 100644 index 0000000000..03568002f6 --- /dev/null +++ b/doc/ref/core.internal/html/metadata_8c.html @@ -0,0 +1,915 @@ + + + + + + +GRPC Core: src/core/transport/metadata.c File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
metadata.c File Reference
+
+
+
#include "src/core/iomgr/sockaddr.h"
+#include "src/core/transport/metadata.h"
+#include <assert.h>
+#include <stddef.h>
+#include <string.h>
+#include <grpc/support/alloc.h>
+#include <grpc/support/atm.h>
+#include <grpc/support/log.h>
+#include "src/core/support/murmur_hash.h"
+#include "src/core/transport/chttp2/bin_encoder.h"
+#include <grpc/support/time.h>
+
+ + + + + + + +

+Data Structures

struct  internal_string
 
struct  internal_metadata
 
struct  grpc_mdctx
 
+ + + + + + + + + + + + + + + +

+Macros

#define INITIAL_STRTAB_CAPACITY   4
 
#define INITIAL_MDTAB_CAPACITY   4
 
#define DEBUG_ARGS
 
#define FWD_DEBUG_ARGS
 
#define INTERNAL_STRING_REF(s)   internal_string_ref((s))
 
#define INTERNAL_STRING_UNREF(s)   internal_string_unref((s))
 
#define REF_MD_LOCKED(s)   ref_md_locked((s))
 
+ + + + + +

+Typedefs

typedef struct internal_string internal_string
 
typedef struct internal_metadata internal_metadata
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

grpc_mdctxgrpc_mdctx_create_with_seed (gpr_uint32 seed)
 
grpc_mdctxgrpc_mdctx_create (void)
 
void grpc_mdctx_ref (grpc_mdctx *ctx)
 
void grpc_mdctx_unref (grpc_mdctx *ctx)
 
grpc_mdstrgrpc_mdstr_from_string (grpc_mdctx *ctx, const char *str, int canonicalize_key)
 
grpc_mdstrgrpc_mdstr_from_slice (grpc_mdctx *ctx, gpr_slice slice)
 
grpc_mdstrgrpc_mdstr_from_buffer (grpc_mdctx *ctx, const gpr_uint8 *buf, size_t length)
 
grpc_mdelemgrpc_mdelem_from_metadata_strings (grpc_mdctx *ctx, grpc_mdstr *mkey, grpc_mdstr *mvalue)
 
grpc_mdelemgrpc_mdelem_from_strings (grpc_mdctx *ctx, const char *key, const char *value)
 
grpc_mdelemgrpc_mdelem_from_slices (grpc_mdctx *ctx, gpr_slice key, gpr_slice value)
 
grpc_mdelemgrpc_mdelem_from_string_and_buffer (grpc_mdctx *ctx, const char *key, const gpr_uint8 *value, size_t value_length, int canonicalize_key)
 
grpc_mdelemgrpc_mdelem_ref (grpc_mdelem *gmd)
 
void grpc_mdelem_unref (grpc_mdelem *gmd)
 
const char * grpc_mdstr_as_c_string (grpc_mdstr *s)
 
grpc_mdstrgrpc_mdstr_ref (grpc_mdstr *gs)
 
void grpc_mdstr_unref (grpc_mdstr *gs)
 
size_t grpc_mdctx_get_mdtab_capacity_test_only (grpc_mdctx *ctx)
 
size_t grpc_mdctx_get_mdtab_count_test_only (grpc_mdctx *ctx)
 
size_t grpc_mdctx_get_mdtab_free_test_only (grpc_mdctx *ctx)
 
void * grpc_mdelem_get_user_data (grpc_mdelem *md, void(*if_destroy_func)(void *))
 
void grpc_mdelem_set_user_data (grpc_mdelem *md, void(*destroy_func)(void *), void *user_data)
 
gpr_slice grpc_mdstr_as_base64_encoded_and_huffman_compressed (grpc_mdstr *gs)
 
void grpc_mdctx_lock (grpc_mdctx *ctx)
 
void grpc_mdctx_locked_mdelem_unref (grpc_mdctx *ctx, grpc_mdelem *gmd)
 
void grpc_mdctx_unlock (grpc_mdctx *ctx)
 
int grpc_mdstr_is_legal_header (grpc_mdstr *s)
 
int grpc_mdstr_is_bin_suffixed (grpc_mdstr *s)
 
+

Macro Definition Documentation

+ +
+
+ + + + +
#define DEBUG_ARGS
+
+ +
+
+ +
+
+ + + + +
#define FWD_DEBUG_ARGS
+
+ +
+
+ +
+
+ + + + +
#define INITIAL_MDTAB_CAPACITY   4
+
+ +
+
+ +
+
+ + + + +
#define INITIAL_STRTAB_CAPACITY   4
+
+ +
+
+ +
+
+ + + + + + + + +
#define INTERNAL_STRING_REF( s)   internal_string_ref((s))
+
+ +
+
+ +
+
+ + + + + + + + +
#define INTERNAL_STRING_UNREF( s)   internal_string_unref((s))
+
+ +
+
+ +
+
+ + + + + + + + +
#define REF_MD_LOCKED( s)   ref_md_locked((s))
+
+ +
+
+

Typedef Documentation

+ +
+
+ + + + +
typedef struct internal_metadata internal_metadata
+
+ +
+
+ +
+
+ + + + +
typedef struct internal_string internal_string
+
+ +
+
+

Function Documentation

+ +
+
+ + + + + + + + +
grpc_mdctx* grpc_mdctx_create (void )
+
+ +
+
+ +
+
+ + + + + + + + +
grpc_mdctx* grpc_mdctx_create_with_seed (gpr_uint32 seed)
+
+ +
+
+ +
+
+ + + + + + + + +
size_t grpc_mdctx_get_mdtab_capacity_test_only (grpc_mdctxctx)
+
+ +
+
+ +
+
+ + + + + + + + +
size_t grpc_mdctx_get_mdtab_count_test_only (grpc_mdctxctx)
+
+ +
+
+ +
+
+ + + + + + + + +
size_t grpc_mdctx_get_mdtab_free_test_only (grpc_mdctxctx)
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_mdctx_lock (grpc_mdctxctx)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void grpc_mdctx_locked_mdelem_unref (grpc_mdctxctx,
grpc_mdelemgmd 
)
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_mdctx_ref (grpc_mdctxctx)
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_mdctx_unlock (grpc_mdctxctx)
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_mdctx_unref (grpc_mdctxctx)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
grpc_mdelem* grpc_mdelem_from_metadata_strings (grpc_mdctxctx,
grpc_mdstrmkey,
grpc_mdstrmvalue 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
grpc_mdelem* grpc_mdelem_from_slices (grpc_mdctxctx,
gpr_slice key,
gpr_slice value 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
grpc_mdelem* grpc_mdelem_from_string_and_buffer (grpc_mdctxctx,
const char * key,
const gpr_uint8value,
size_t value_length,
int canonicalize_key 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
grpc_mdelem* grpc_mdelem_from_strings (grpc_mdctxctx,
const char * key,
const char * value 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void* grpc_mdelem_get_user_data (grpc_mdelemmd,
void(*)(void *) if_destroy_func 
)
+
+ +
+
+ +
+
+ + + + + + + + +
grpc_mdelem* grpc_mdelem_ref (grpc_mdelemgmd)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void grpc_mdelem_set_user_data (grpc_mdelemmd,
void(*)(void *) destroy_func,
void * user_data 
)
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_mdelem_unref (grpc_mdelemgmd)
+
+ +
+
+ +
+
+ + + + + + + + +
gpr_slice grpc_mdstr_as_base64_encoded_and_huffman_compressed (grpc_mdstrgs)
+
+ +
+
+ +
+
+ + + + + + + + +
const char* grpc_mdstr_as_c_string (grpc_mdstrs)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
grpc_mdstr* grpc_mdstr_from_buffer (grpc_mdctxctx,
const gpr_uint8buf,
size_t length 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
grpc_mdstr* grpc_mdstr_from_slice (grpc_mdctxctx,
gpr_slice slice 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
grpc_mdstr* grpc_mdstr_from_string (grpc_mdctxctx,
const char * str,
int canonicalize_key 
)
+
+ +
+
+ +
+
+ + + + + + + + +
int grpc_mdstr_is_bin_suffixed (grpc_mdstrs)
+
+ +
+
+ +
+
+ + + + + + + + +
int grpc_mdstr_is_legal_header (grpc_mdstrs)
+
+ +
+
+ +
+
+ + + + + + + + +
grpc_mdstr* grpc_mdstr_ref (grpc_mdstrgs)
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_mdstr_unref (grpc_mdstrgs)
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/metadata_8h.html b/doc/ref/core.internal/html/metadata_8h.html new file mode 100644 index 0000000000..099323066f --- /dev/null +++ b/doc/ref/core.internal/html/metadata_8h.html @@ -0,0 +1,938 @@ + + + + + + +GRPC Core: src/core/transport/metadata.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
metadata.h File Reference
+
+
+ +

Go to the source code of this file.

+ + + + + + +

+Data Structures

struct  grpc_mdstr
 
struct  grpc_mdelem
 
+ + + + + + + + + + + + + +

+Macros

#define GRPC_MDSTR_REF(s)   grpc_mdstr_ref((s))
 
#define GRPC_MDSTR_UNREF(s)   grpc_mdstr_unref((s))
 
#define GRPC_MDELEM_REF(s)   grpc_mdelem_ref((s))
 
#define GRPC_MDELEM_UNREF(s)   grpc_mdelem_unref((s))
 
#define GRPC_MDCTX_LOCKED_MDELEM_UNREF(ctx, elem)   grpc_mdctx_locked_mdelem_unref((ctx), (elem))
 
#define GRPC_MDSTR_KV_HASH(k_hash, v_hash)   (GPR_ROTL((k_hash), 2) ^ (v_hash))
 
+ + + + + + + +

+Typedefs

typedef struct grpc_mdctx grpc_mdctx
 
typedef struct grpc_mdstr grpc_mdstr
 
typedef struct grpc_mdelem grpc_mdelem
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

grpc_mdctxgrpc_mdctx_create (void)
 
grpc_mdctxgrpc_mdctx_create_with_seed (gpr_uint32 seed)
 
void grpc_mdctx_ref (grpc_mdctx *mdctx)
 
void grpc_mdctx_unref (grpc_mdctx *mdctx)
 
size_t grpc_mdctx_get_mdtab_capacity_test_only (grpc_mdctx *mdctx)
 
size_t grpc_mdctx_get_mdtab_count_test_only (grpc_mdctx *mdctx)
 
size_t grpc_mdctx_get_mdtab_free_test_only (grpc_mdctx *mdctx)
 
grpc_mdstrgrpc_mdstr_from_string (grpc_mdctx *ctx, const char *str, int perform_key_canonicalization)
 
grpc_mdstrgrpc_mdstr_from_slice (grpc_mdctx *ctx, gpr_slice slice)
 
grpc_mdstrgrpc_mdstr_from_buffer (grpc_mdctx *ctx, const gpr_uint8 *str, size_t length)
 
gpr_slice grpc_mdstr_as_base64_encoded_and_huffman_compressed (grpc_mdstr *str)
 
grpc_mdelemgrpc_mdelem_from_metadata_strings (grpc_mdctx *ctx, grpc_mdstr *key, grpc_mdstr *value)
 
grpc_mdelemgrpc_mdelem_from_strings (grpc_mdctx *ctx, const char *key, const char *value)
 
grpc_mdelemgrpc_mdelem_from_slices (grpc_mdctx *ctx, gpr_slice key, gpr_slice value)
 
grpc_mdelemgrpc_mdelem_from_string_and_buffer (grpc_mdctx *ctx, const char *key, const gpr_uint8 *value, size_t value_length, int canonicalize_key)
 
void * grpc_mdelem_get_user_data (grpc_mdelem *md, void(*if_destroy_func)(void *))
 
void grpc_mdelem_set_user_data (grpc_mdelem *md, void(*destroy_func)(void *), void *user_data)
 
grpc_mdstrgrpc_mdstr_ref (grpc_mdstr *s)
 
void grpc_mdstr_unref (grpc_mdstr *s)
 
grpc_mdelemgrpc_mdelem_ref (grpc_mdelem *md)
 
void grpc_mdelem_unref (grpc_mdelem *md)
 
const char * grpc_mdstr_as_c_string (grpc_mdstr *s)
 
int grpc_mdstr_is_legal_header (grpc_mdstr *s)
 
int grpc_mdstr_is_bin_suffixed (grpc_mdstr *s)
 
void grpc_mdctx_lock (grpc_mdctx *ctx)
 
void grpc_mdctx_locked_mdelem_unref (grpc_mdctx *ctx, grpc_mdelem *elem)
 
void grpc_mdctx_unlock (grpc_mdctx *ctx)
 
+

Macro Definition Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
#define GRPC_MDCTX_LOCKED_MDELEM_UNREF( ctx,
 elem 
)   grpc_mdctx_locked_mdelem_unref((ctx), (elem))
+
+ +
+
+ +
+
+ + + + + + + + +
#define GRPC_MDELEM_REF( s)   grpc_mdelem_ref((s))
+
+ +
+
+ +
+
+ + + + + + + + +
#define GRPC_MDELEM_UNREF( s)   grpc_mdelem_unref((s))
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
#define GRPC_MDSTR_KV_HASH( k_hash,
 v_hash 
)   (GPR_ROTL((k_hash), 2) ^ (v_hash))
+
+ +
+
+ +
+
+ + + + + + + + +
#define GRPC_MDSTR_REF( s)   grpc_mdstr_ref((s))
+
+ +
+
+ +
+
+ + + + + + + + +
#define GRPC_MDSTR_UNREF( s)   grpc_mdstr_unref((s))
+
+ +
+
+

Typedef Documentation

+ +
+
+ + + + +
typedef struct grpc_mdctx grpc_mdctx
+
+ +
+
+ +
+
+ + + + +
typedef struct grpc_mdelem grpc_mdelem
+
+ +
+
+ +
+
+ + + + +
typedef struct grpc_mdstr grpc_mdstr
+
+ +
+
+

Function Documentation

+ +
+
+ + + + + + + + +
grpc_mdctx* grpc_mdctx_create (void )
+
+ +
+
+ +
+
+ + + + + + + + +
grpc_mdctx* grpc_mdctx_create_with_seed (gpr_uint32 seed)
+
+ +
+
+ +
+
+ + + + + + + + +
size_t grpc_mdctx_get_mdtab_capacity_test_only (grpc_mdctxmdctx)
+
+ +
+
+ +
+
+ + + + + + + + +
size_t grpc_mdctx_get_mdtab_count_test_only (grpc_mdctxmdctx)
+
+ +
+
+ +
+
+ + + + + + + + +
size_t grpc_mdctx_get_mdtab_free_test_only (grpc_mdctxmdctx)
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_mdctx_lock (grpc_mdctxctx)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void grpc_mdctx_locked_mdelem_unref (grpc_mdctxctx,
grpc_mdelemelem 
)
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_mdctx_ref (grpc_mdctxmdctx)
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_mdctx_unlock (grpc_mdctxctx)
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_mdctx_unref (grpc_mdctxmdctx)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
grpc_mdelem* grpc_mdelem_from_metadata_strings (grpc_mdctxctx,
grpc_mdstrkey,
grpc_mdstrvalue 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
grpc_mdelem* grpc_mdelem_from_slices (grpc_mdctxctx,
gpr_slice key,
gpr_slice value 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
grpc_mdelem* grpc_mdelem_from_string_and_buffer (grpc_mdctxctx,
const char * key,
const gpr_uint8value,
size_t value_length,
int canonicalize_key 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
grpc_mdelem* grpc_mdelem_from_strings (grpc_mdctxctx,
const char * key,
const char * value 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void* grpc_mdelem_get_user_data (grpc_mdelemmd,
void(*)(void *) if_destroy_func 
)
+
+ +
+
+ +
+
+ + + + + + + + +
grpc_mdelem* grpc_mdelem_ref (grpc_mdelemmd)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void grpc_mdelem_set_user_data (grpc_mdelemmd,
void(*)(void *) destroy_func,
void * user_data 
)
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_mdelem_unref (grpc_mdelemmd)
+
+ +
+
+ +
+
+ + + + + + + + +
gpr_slice grpc_mdstr_as_base64_encoded_and_huffman_compressed (grpc_mdstrstr)
+
+ +
+
+ +
+
+ + + + + + + + +
const char* grpc_mdstr_as_c_string (grpc_mdstrs)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
grpc_mdstr* grpc_mdstr_from_buffer (grpc_mdctxctx,
const gpr_uint8str,
size_t length 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
grpc_mdstr* grpc_mdstr_from_slice (grpc_mdctxctx,
gpr_slice slice 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
grpc_mdstr* grpc_mdstr_from_string (grpc_mdctxctx,
const char * str,
int perform_key_canonicalization 
)
+
+ +
+
+ +
+
+ + + + + + + + +
int grpc_mdstr_is_bin_suffixed (grpc_mdstrs)
+
+ +
+
+ +
+
+ + + + + + + + +
int grpc_mdstr_is_legal_header (grpc_mdstrs)
+
+ +
+
+ +
+
+ + + + + + + + +
grpc_mdstr* grpc_mdstr_ref (grpc_mdstrs)
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_mdstr_unref (grpc_mdstrs)
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/metadata_8h_source.html b/doc/ref/core.internal/html/metadata_8h_source.html new file mode 100644 index 0000000000..2fe670382b --- /dev/null +++ b/doc/ref/core.internal/html/metadata_8h_source.html @@ -0,0 +1,322 @@ + + + + + + +GRPC Core: src/core/transport/metadata.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
metadata.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPC_INTERNAL_CORE_TRANSPORT_METADATA_H
+
35 #define GRPC_INTERNAL_CORE_TRANSPORT_METADATA_H
+
36 
+
37 #include <grpc/support/slice.h>
+
38 #include <grpc/support/useful.h>
+
39 
+
40 /* This file provides a mechanism for tracking metadata through the grpc stack.
+
41  It's not intended for consumption outside of the library.
+
42 
+
43  Metadata is tracked in the context of a grpc_mdctx. For the time being there
+
44  is one of these per-channel, avoiding cross channel interference with memory
+
45  use and lock contention.
+
46 
+
47  The context tracks unique strings (grpc_mdstr) and pairs of strings
+
48  (grpc_mdelem). Any of these objects can be checked for equality by comparing
+
49  their pointers. These objects are reference counted.
+
50 
+
51  grpc_mdelem can additionally store a (non-NULL) user data pointer. This
+
52  pointer is intended to be used to cache semantic meaning of a metadata
+
53  element. For example, an OAuth token may cache the credentials it represents
+
54  and the time at which it expires in the mdelem user data.
+
55 
+
56  Combining this metadata cache and the hpack compression table allows us to
+
57  simply lookup complete preparsed objects quickly, incurring a few atomic
+
58  ops per metadata element on the fast path.
+
59 
+
60  grpc_mdelem instances MAY live longer than their refcount implies, and are
+
61  garbage collected periodically, meaning cached data can easily outlive a
+
62  single request. */
+
63 
+
64 /* Forward declarations */
+
65 typedef struct grpc_mdctx grpc_mdctx;
+
66 typedef struct grpc_mdstr grpc_mdstr;
+
67 typedef struct grpc_mdelem grpc_mdelem;
+
68 
+
69 /* if changing this, make identical changes in internal_string in metadata.c */
+
70 struct grpc_mdstr {
+ + +
73  /* there is a private part to this in metadata.c */
+
74 };
+
75 
+
76 /* if changing this, make identical changes in internal_metadata in
+
77  metadata.c */
+
78 struct grpc_mdelem {
+
79  grpc_mdstr *const key;
+
80  grpc_mdstr *const value;
+
81  /* there is a private part to this in metadata.c */
+
82 };
+
83 
+
84 /* Create/orphan a metadata context */
+ + +
87 void grpc_mdctx_ref(grpc_mdctx *mdctx);
+
88 void grpc_mdctx_unref(grpc_mdctx *mdctx);
+
89 
+
90 /* Test only accessors to internal state - only for testing this code - do not
+
91  rely on it outside of metadata_test.c */
+ + + +
95 
+
96 /* Constructors for grpc_mdstr instances; take a variety of data types that
+
97  clients may have handy */
+
98 grpc_mdstr *grpc_mdstr_from_string(grpc_mdctx *ctx, const char *str, int perform_key_canonicalization);
+
99 /* Unrefs the slice. */
+ + +
102  size_t length);
+
103 
+
104 /* Returns a borrowed slice from the mdstr with its contents base64 encoded
+
105  and huffman compressed */
+ +
107 
+
108 /* Constructors for grpc_mdelem instances; take a variety of data types that
+
109  clients may have handy */
+ +
111  grpc_mdstr *value);
+ +
113  const char *value);
+
114 /* Unrefs the slices. */
+ +
116  gpr_slice value);
+ +
118  const char *key,
+
119  const gpr_uint8 *value,
+
120  size_t value_length,
+
121  int canonicalize_key);
+
122 
+
123 /* Mutator and accessor for grpc_mdelem user data. The destructor function
+
124  is used as a type tag and is checked during user_data fetch. */
+ +
126  void (*if_destroy_func)(void *));
+
127 void grpc_mdelem_set_user_data(grpc_mdelem *md, void (*destroy_func)(void *),
+
128  void *user_data);
+
129 
+
130 /* Reference counting */
+
131 #ifdef GRPC_METADATA_REFCOUNT_DEBUG
+
132 #define GRPC_MDSTR_REF(s) grpc_mdstr_ref((s), __FILE__, __LINE__)
+
133 #define GRPC_MDSTR_UNREF(s) grpc_mdstr_unref((s), __FILE__, __LINE__)
+
134 #define GRPC_MDELEM_REF(s) grpc_mdelem_ref((s), __FILE__, __LINE__)
+
135 #define GRPC_MDELEM_UNREF(s) grpc_mdelem_unref((s), __FILE__, __LINE__)
+
136 grpc_mdstr *grpc_mdstr_ref(grpc_mdstr *s, const char *file, int line);
+
137 void grpc_mdstr_unref(grpc_mdstr *s, const char *file, int line);
+
138 grpc_mdelem *grpc_mdelem_ref(grpc_mdelem *md, const char *file, int line);
+
139 void grpc_mdelem_unref(grpc_mdelem *md, const char *file, int line);
+
140 #else
+
141 #define GRPC_MDSTR_REF(s) grpc_mdstr_ref((s))
+
142 #define GRPC_MDSTR_UNREF(s) grpc_mdstr_unref((s))
+
143 #define GRPC_MDELEM_REF(s) grpc_mdelem_ref((s))
+
144 #define GRPC_MDELEM_UNREF(s) grpc_mdelem_unref((s))
+ + + + +
149 #endif
+
150 
+
151 /* Recover a char* from a grpc_mdstr. The returned string is null terminated.
+
152  Does not promise that the returned string has no embedded nulls however. */
+
153 const char *grpc_mdstr_as_c_string(grpc_mdstr *s);
+
154 
+ + +
157 
+
158 /* Batch mode metadata functions.
+
159  These API's have equivalents above, but allow taking the mdctx just once,
+
160  performing a bunch of work, and then leaving the mdctx. */
+
161 
+
162 /* Lock the metadata context: it's only safe to call _locked_ functions against
+
163  this context from the calling thread until grpc_mdctx_unlock is called */
+
164 void grpc_mdctx_lock(grpc_mdctx *ctx);
+
165 #ifdef GRPC_METADATA_REFCOUNT_DEBUG
+
166 #define GRPC_MDCTX_LOCKED_MDELEM_UNREF(ctx, elem) \
+
167  grpc_mdctx_locked_mdelem_unref((ctx), (elem), __FILE__, __LINE__)
+
168 /* Unref a metadata element */
+ +
170  const char *file, int line);
+
171 #else
+
172 #define GRPC_MDCTX_LOCKED_MDELEM_UNREF(ctx, elem) \
+
173  grpc_mdctx_locked_mdelem_unref((ctx), (elem))
+
174 /* Unref a metadata element */
+ +
176 #endif
+
177 /* Unlock the metadata context */
+
178 void grpc_mdctx_unlock(grpc_mdctx *ctx);
+
179 
+
180 #define GRPC_MDSTR_KV_HASH(k_hash, v_hash) (GPR_ROTL((k_hash), 2) ^ (v_hash))
+
181 
+
182 #endif /* GRPC_INTERNAL_CORE_TRANSPORT_METADATA_H */
+
const char * value
Definition: hpack_table.c:44
+
grpc_mdstr * grpc_mdstr_ref(grpc_mdstr *s)
Definition: metadata.c:586
+
uint8_t gpr_uint8
Definition: port_platform.h:307
+
grpc_mdstr * grpc_mdstr_from_buffer(grpc_mdctx *ctx, const gpr_uint8 *str, size_t length)
Definition: metadata.c:353
+
grpc_mdelem * grpc_mdelem_from_string_and_buffer(grpc_mdctx *ctx, const char *key, const gpr_uint8 *value, size_t value_length, int canonicalize_key)
Definition: metadata.c:534
+
size_t grpc_mdctx_get_mdtab_free_test_only(grpc_mdctx *mdctx)
Definition: metadata.c:611
+
void grpc_mdctx_unlock(grpc_mdctx *ctx)
Definition: metadata.c:679
+
void grpc_mdctx_lock(grpc_mdctx *ctx)
Definition: metadata.c:658
+
void grpc_mdstr_unref(grpc_mdstr *s)
Definition: metadata.c:595
+
grpc_mdstr *const key
Definition: metadata.h:79
+
const gpr_uint32 hash
Definition: metadata.h:72
+
int grpc_mdstr_is_legal_header(grpc_mdstr *s)
Definition: metadata.c:681
+
Definition: metadata.h:70
+
uint32_t gpr_uint32
Definition: port_platform.h:309
+ +
grpc_mdelem * grpc_mdelem_from_slices(grpc_mdctx *ctx, gpr_slice key, gpr_slice value)
Definition: metadata.c:528
+
grpc_mdelem * grpc_mdelem_from_strings(grpc_mdctx *ctx, const char *key, const char *value)
Definition: metadata.c:521
+
size_t grpc_mdctx_get_mdtab_capacity_test_only(grpc_mdctx *mdctx)
Definition: metadata.c:603
+
void grpc_mdelem_set_user_data(grpc_mdelem *md, void(*destroy_func)(void *), void *user_data)
Definition: metadata.c:625
+
grpc_mdelem * grpc_mdelem_from_metadata_strings(grpc_mdctx *ctx, grpc_mdstr *key, grpc_mdstr *value)
Definition: metadata.c:469
+
grpc_mdctx * grpc_mdctx_create_with_seed(gpr_uint32 seed)
Definition: metadata.c:164
+
grpc_mdelem * grpc_mdelem_ref(grpc_mdelem *md)
Definition: metadata.c:544
+
void grpc_mdctx_unref(grpc_mdctx *mdctx)
Definition: metadata.c:232
+
Definition: metadata.c:98
+
grpc_mdstr * grpc_mdstr_from_slice(grpc_mdctx *ctx, gpr_slice slice)
Definition: metadata.c:346
+
Definition: metadata.h:78
+
void grpc_mdctx_ref(grpc_mdctx *mdctx)
Definition: metadata.c:225
+
const gpr_slice slice
Definition: metadata.h:71
+
void grpc_mdctx_locked_mdelem_unref(grpc_mdctx *ctx, grpc_mdelem *elem)
Definition: metadata.c:660
+
grpc_mdstr *const value
Definition: metadata.h:80
+ +
int grpc_mdstr_is_bin_suffixed(grpc_mdstr *s)
Definition: metadata.c:691
+
const char * grpc_mdstr_as_c_string(grpc_mdstr *s)
Definition: metadata.c:582
+
size_t grpc_mdctx_get_mdtab_count_test_only(grpc_mdctx *mdctx)
Definition: metadata.c:607
+
grpc_mdstr * grpc_mdstr_from_string(grpc_mdctx *ctx, const char *str, int perform_key_canonicalization)
Definition: metadata.c:312
+
grpc_mdctx * grpc_mdctx_create(void)
Definition: metadata.c:183
+
void grpc_mdelem_unref(grpc_mdelem *md)
Definition: metadata.c:563
+
void * grpc_mdelem_get_user_data(grpc_mdelem *md, void(*if_destroy_func)(void *))
Definition: metadata.c:615
+
const char * key
Definition: hpack_table.c:43
+
Definition: slice.h:79
+
gpr_slice grpc_mdstr_as_base64_encoded_and_huffman_compressed(grpc_mdstr *str)
Definition: metadata.c:643
+
+ + + + diff --git a/doc/ref/core.internal/html/metadata__array_8c.html b/doc/ref/core.internal/html/metadata__array_8c.html new file mode 100644 index 0000000000..980d54f04f --- /dev/null +++ b/doc/ref/core.internal/html/metadata__array_8c.html @@ -0,0 +1,145 @@ + + + + + + +GRPC Core: src/core/surface/metadata_array.c File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
metadata_array.c File Reference
+
+
+
#include <grpc/grpc.h>
+#include <grpc/support/alloc.h>
+#include <string.h>
+
+ + + + + +

+Functions

void grpc_metadata_array_init (grpc_metadata_array *array)
 
void grpc_metadata_array_destroy (grpc_metadata_array *array)
 
+

Function Documentation

+ +
+
+ + + + + + + + +
void grpc_metadata_array_destroy (grpc_metadata_arrayarray)
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_metadata_array_init (grpc_metadata_arrayarray)
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/murmur__hash_8c.html b/doc/ref/core.internal/html/murmur__hash_8c.html new file mode 100644 index 0000000000..24ba746c31 --- /dev/null +++ b/doc/ref/core.internal/html/murmur__hash_8c.html @@ -0,0 +1,225 @@ + + + + + + +GRPC Core: src/core/support/murmur_hash.c File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
murmur_hash.c File Reference
+
+
+ + + + + + + + +

+Macros

#define ROTL32(x, r)   ((x) << (r)) | ((x) >> (32 - (r)))
 
#define FMIX32(h)
 
#define GETBLOCK32(p, i)   (p)[(i)]
 
+ + + +

+Functions

gpr_uint32 gpr_murmur_hash3 (const void *key, size_t len, gpr_uint32 seed)
 
+

Macro Definition Documentation

+ +
+
+ + + + + + + + +
#define FMIX32( h)
+
+Value:
(h) ^= (h) >> 16; \
+
(h) *= 0x85ebca6b; \
+
(h) ^= (h) >> 13; \
+
(h) *= 0xc2b2ae35; \
+
(h) ^= (h) >> 16;
+
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
#define GETBLOCK32( p,
 
)   (p)[(i)]
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
#define ROTL32( x,
 
)   ((x) << (r)) | ((x) >> (32 - (r)))
+
+ +
+
+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
gpr_uint32 gpr_murmur_hash3 (const void * key,
size_t len,
gpr_uint32 seed 
)
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/murmur__hash_8h.html b/doc/ref/core.internal/html/murmur__hash_8h.html new file mode 100644 index 0000000000..6582ddc85e --- /dev/null +++ b/doc/ref/core.internal/html/murmur__hash_8h.html @@ -0,0 +1,144 @@ + + + + + + +GRPC Core: src/core/support/murmur_hash.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
murmur_hash.h File Reference
+
+
+
#include <grpc/support/port_platform.h>
+#include <stddef.h>
+
+

Go to the source code of this file.

+ + + + +

+Functions

gpr_uint32 gpr_murmur_hash3 (const void *key, size_t len, gpr_uint32 seed)
 
+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
gpr_uint32 gpr_murmur_hash3 (const void * key,
size_t len,
gpr_uint32 seed 
)
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/murmur__hash_8h_source.html b/doc/ref/core.internal/html/murmur__hash_8h_source.html new file mode 100644 index 0000000000..f87a82b943 --- /dev/null +++ b/doc/ref/core.internal/html/murmur__hash_8h_source.html @@ -0,0 +1,147 @@ + + + + + + +GRPC Core: src/core/support/murmur_hash.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
murmur_hash.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPC_INTERNAL_CORE_SUPPORT_MURMUR_HASH_H
+
35 #define GRPC_INTERNAL_CORE_SUPPORT_MURMUR_HASH_H
+
36 
+ +
38 
+
39 #include <stddef.h>
+
40 
+
41 /* compute the hash of key (length len) */
+
42 gpr_uint32 gpr_murmur_hash3(const void *key, size_t len, gpr_uint32 seed);
+
43 
+
44 #endif /* GRPC_INTERNAL_CORE_SUPPORT_MURMUR_HASH_H */
+ +
uint32_t gpr_uint32
Definition: port_platform.h:309
+
gpr_uint32 gpr_murmur_hash3(const void *key, size_t len, gpr_uint32 seed)
Definition: murmur_hash.c:49
+
const char * key
Definition: hpack_table.c:43
+
+ + + + diff --git a/doc/ref/core.internal/html/nav_f.png b/doc/ref/core.internal/html/nav_f.png new file mode 100644 index 0000000000..72a58a529e Binary files /dev/null and b/doc/ref/core.internal/html/nav_f.png differ diff --git a/doc/ref/core.internal/html/nav_g.png b/doc/ref/core.internal/html/nav_g.png new file mode 100644 index 0000000000..2093a237a9 Binary files /dev/null and b/doc/ref/core.internal/html/nav_g.png differ diff --git a/doc/ref/core.internal/html/nav_h.png b/doc/ref/core.internal/html/nav_h.png new file mode 100644 index 0000000000..33389b101d Binary files /dev/null and b/doc/ref/core.internal/html/nav_h.png differ diff --git a/doc/ref/core.internal/html/noop__filter_8c.html b/doc/ref/core.internal/html/noop__filter_8c.html new file mode 100644 index 0000000000..1df83b7078 --- /dev/null +++ b/doc/ref/core.internal/html/noop__filter_8c.html @@ -0,0 +1,177 @@ + + + + + + +GRPC Core: src/core/channel/noop_filter.c File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
noop_filter.c File Reference
+
+
+ + + + + + +

+Data Structures

struct  call_data
 
struct  channel_data
 
+ + + + + +

+Typedefs

typedef struct call_data call_data
 
typedef struct channel_data channel_data
 
+ + + +

+Variables

const grpc_channel_filter grpc_no_op_filter
 
+

Typedef Documentation

+ +
+
+ + + + +
typedef struct call_data call_data
+
+ +
+
+ +
+
+ + + + +
typedef struct channel_data channel_data
+
+ +
+
+

Variable Documentation

+ +
+
+ + + + +
const grpc_channel_filter grpc_no_op_filter
+
+Initial value:
= {noop_start_transport_stream_op,
+ +
sizeof(call_data),
+
init_call_elem,
+
destroy_call_elem,
+
sizeof(channel_data),
+
init_channel_elem,
+
destroy_channel_elem,
+ +
"no-op"}
+
char * grpc_call_next_get_peer(grpc_call_element *elem)
Definition: channel_stack.c:194
+
Definition: client_auth_filter.c:69
+
void grpc_channel_next_op(grpc_channel_element *elem, grpc_transport_op *op)
Definition: channel_stack.c:199
+
struct call_data call_data
+
+
+
+
+ + + + diff --git a/doc/ref/core.internal/html/noop__filter_8h.html b/doc/ref/core.internal/html/noop__filter_8h.html new file mode 100644 index 0000000000..51ff56cee5 --- /dev/null +++ b/doc/ref/core.internal/html/noop__filter_8h.html @@ -0,0 +1,123 @@ + + + + + + +GRPC Core: src/core/channel/noop_filter.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
noop_filter.h File Reference
+
+
+ +

Go to the source code of this file.

+ + + + +

+Variables

const grpc_channel_filter grpc_no_op_filter
 
+

Variable Documentation

+ +
+
+ + + + +
const grpc_channel_filter grpc_no_op_filter
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/noop__filter_8h_source.html b/doc/ref/core.internal/html/noop__filter_8h_source.html new file mode 100644 index 0000000000..d46510af75 --- /dev/null +++ b/doc/ref/core.internal/html/noop__filter_8h_source.html @@ -0,0 +1,146 @@ + + + + + + +GRPC Core: src/core/channel/noop_filter.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
noop_filter.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPC_INTERNAL_CORE_CHANNEL_NOOP_FILTER_H
+
35 #define GRPC_INTERNAL_CORE_CHANNEL_NOOP_FILTER_H
+
36 
+ +
38 
+
39 /* No-op filter: simply takes everything it's given, and passes it on to the
+
40  next filter. Exists simply as a starting point that others can take and
+
41  customize for their own filters */
+ +
43 
+
44 #endif /* GRPC_INTERNAL_CORE_CHANNEL_NOOP_FILTER_H */
+
Definition: channel_stack.h:64
+ +
const grpc_channel_filter grpc_no_op_filter
Definition: noop_filter.c:122
+
+ + + + diff --git a/doc/ref/core.internal/html/open.png b/doc/ref/core.internal/html/open.png new file mode 100644 index 0000000000..30f75c7efe Binary files /dev/null and b/doc/ref/core.internal/html/open.png differ diff --git a/doc/ref/core.internal/html/parser_8c.html b/doc/ref/core.internal/html/parser_8c.html new file mode 100644 index 0000000000..6fc600a6b4 --- /dev/null +++ b/doc/ref/core.internal/html/parser_8c.html @@ -0,0 +1,193 @@ + + + + + + +GRPC Core: src/core/httpcli/parser.c File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
parser.c File Reference
+
+
+
#include "src/core/httpcli/parser.h"
+#include <string.h>
+#include <grpc/support/alloc.h>
+#include <grpc/support/log.h>
+#include <grpc/support/useful.h>
+
+ + + + + + + + + +

+Functions

void grpc_httpcli_parser_init (grpc_httpcli_parser *parser)
 
void grpc_httpcli_parser_destroy (grpc_httpcli_parser *parser)
 
int grpc_httpcli_parser_parse (grpc_httpcli_parser *parser, gpr_slice slice)
 
int grpc_httpcli_parser_eof (grpc_httpcli_parser *parser)
 
+

Function Documentation

+ +
+
+ + + + + + + + +
void grpc_httpcli_parser_destroy (grpc_httpcli_parserparser)
+
+ +
+
+ +
+
+ + + + + + + + +
int grpc_httpcli_parser_eof (grpc_httpcli_parserparser)
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_httpcli_parser_init (grpc_httpcli_parserparser)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
int grpc_httpcli_parser_parse (grpc_httpcli_parserparser,
gpr_slice slice 
)
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/parser_8h.html b/doc/ref/core.internal/html/parser_8h.html new file mode 100644 index 0000000000..71dbe8b31e --- /dev/null +++ b/doc/ref/core.internal/html/parser_8h.html @@ -0,0 +1,229 @@ + + + + + + +GRPC Core: src/core/httpcli/parser.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
parser.h File Reference
+
+
+ +

Go to the source code of this file.

+ + + + +

+Data Structures

struct  grpc_httpcli_parser
 
+ + + +

+Enumerations

enum  grpc_httpcli_parser_state { GRPC_HTTPCLI_INITIAL_RESPONSE, +GRPC_HTTPCLI_HEADERS, +GRPC_HTTPCLI_BODY + }
 
+ + + + + + + + + +

+Functions

void grpc_httpcli_parser_init (grpc_httpcli_parser *parser)
 
void grpc_httpcli_parser_destroy (grpc_httpcli_parser *parser)
 
int grpc_httpcli_parser_parse (grpc_httpcli_parser *parser, gpr_slice slice)
 
int grpc_httpcli_parser_eof (grpc_httpcli_parser *parser)
 
+

Enumeration Type Documentation

+ +
+
+ + + + +
enum grpc_httpcli_parser_state
+
+ + + + +
Enumerator
GRPC_HTTPCLI_INITIAL_RESPONSE  +
GRPC_HTTPCLI_HEADERS  +
GRPC_HTTPCLI_BODY  +
+ +
+
+

Function Documentation

+ +
+
+ + + + + + + + +
void grpc_httpcli_parser_destroy (grpc_httpcli_parserparser)
+
+ +
+
+ +
+
+ + + + + + + + +
int grpc_httpcli_parser_eof (grpc_httpcli_parserparser)
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_httpcli_parser_init (grpc_httpcli_parserparser)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
int grpc_httpcli_parser_parse (grpc_httpcli_parserparser,
gpr_slice slice 
)
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/parser_8h_source.html b/doc/ref/core.internal/html/parser_8h_source.html new file mode 100644 index 0000000000..28aac6505c --- /dev/null +++ b/doc/ref/core.internal/html/parser_8h_source.html @@ -0,0 +1,184 @@ + + + + + + +GRPC Core: src/core/httpcli/parser.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
parser.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPC_INTERNAL_CORE_HTTPCLI_PARSER_H
+
35 #define GRPC_INTERNAL_CORE_HTTPCLI_PARSER_H
+
36 
+ + +
39 #include <grpc/support/slice.h>
+
40 
+
41 typedef enum {
+ + + + +
46 
+
47 typedef struct {
+ +
49 
+ +
51  size_t body_capacity;
+
52  size_t hdr_capacity;
+
53 
+ + + +
57 
+ + +
60 
+ + +
63 
+
64 #endif /* GRPC_INTERNAL_CORE_HTTPCLI_PARSER_H */
+ +
size_t cur_line_length
Definition: parser.h:55
+
Definition: parser.h:43
+
size_t hdr_capacity
Definition: parser.h:52
+
uint8_t gpr_uint8
Definition: port_platform.h:307
+ +
#define GRPC_HTTPCLI_MAX_HEADER_LENGTH
Definition: httpcli.h:46
+
Definition: parser.h:44
+
grpc_httpcli_parser_state state
Definition: parser.h:48
+
void grpc_httpcli_parser_destroy(grpc_httpcli_parser *parser)
Definition: parser.c:190
+
void grpc_httpcli_parser_init(grpc_httpcli_parser *parser)
Definition: parser.c:184
+
Definition: parser.h:47
+
int grpc_httpcli_parser_eof(grpc_httpcli_parser *parser)
Definition: parser.c:212
+ +
size_t body_capacity
Definition: parser.h:51
+
grpc_httpcli_response r
Definition: parser.h:50
+
grpc_httpcli_parser_state
Definition: parser.h:41
+
Definition: httpcli.h:77
+
int grpc_httpcli_parser_parse(grpc_httpcli_parser *parser, gpr_slice slice)
Definition: parser.c:200
+
Definition: parser.h:42
+
Definition: slice.h:79
+
+ + + + diff --git a/doc/ref/core.internal/html/parsing_8c.html b/doc/ref/core.internal/html/parsing_8c.html new file mode 100644 index 0000000000..9bc46eb6cc --- /dev/null +++ b/doc/ref/core.internal/html/parsing_8c.html @@ -0,0 +1,218 @@ + + + + + + +GRPC Core: src/core/transport/chttp2/parsing.c File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
parsing.c File Reference
+
+
+ + + + + + + + + + + +

+Functions

void grpc_chttp2_prepare_to_read (grpc_chttp2_transport_global *transport_global, grpc_chttp2_transport_parsing *transport_parsing)
 
void grpc_chttp2_publish_reads (grpc_chttp2_transport_global *transport_global, grpc_chttp2_transport_parsing *transport_parsing)
 
int grpc_chttp2_perform_read (grpc_chttp2_transport_parsing *transport_parsing, gpr_slice slice)
 Process one slice of incoming data; return 1 if the connection is still viable after reading, or 0 if the connection should be torn down. More...
 
void grpc_chttp2_parsing_become_skip_parser (grpc_chttp2_transport_parsing *transport_parsing)
 
+

Function Documentation

+ +
+
+ + + + + + + + +
void grpc_chttp2_parsing_become_skip_parser (grpc_chttp2_transport_parsingtransport_parsing)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
int grpc_chttp2_perform_read (grpc_chttp2_transport_parsingtransport_parsing,
gpr_slice slice 
)
+
+ +

Process one slice of incoming data; return 1 if the connection is still viable after reading, or 0 if the connection should be torn down.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void grpc_chttp2_prepare_to_read (grpc_chttp2_transport_globaltransport_global,
grpc_chttp2_transport_parsingtransport_parsing 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void grpc_chttp2_publish_reads (grpc_chttp2_transport_globaltransport_global,
grpc_chttp2_transport_parsingtransport_parsing 
)
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/pick__first_8c.html b/doc/ref/core.internal/html/pick__first_8c.html new file mode 100644 index 0000000000..70bb310bc5 --- /dev/null +++ b/doc/ref/core.internal/html/pick__first_8c.html @@ -0,0 +1,268 @@ + + + + + + +GRPC Core: src/core/client_config/lb_policies/pick_first.c File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
pick_first.c File Reference
+
+
+ + + + + + +

+Data Structures

struct  pending_pick
 
struct  pick_first_lb_policy
 
+ + + +

+Typedefs

typedef struct pending_pick pending_pick
 
+ + + + + + + + + + + + +

+Functions

void pf_destroy (grpc_lb_policy *pol)
 
void pf_shutdown (grpc_lb_policy *pol)
 
void pf_exit_idle (grpc_lb_policy *pol)
 
void pf_pick (grpc_lb_policy *pol, grpc_pollset *pollset, grpc_metadata_batch *initial_metadata, grpc_subchannel **target, grpc_iomgr_closure *on_complete)
 
grpc_lb_policygrpc_create_pick_first_lb_policy (grpc_subchannel **subchannels, size_t num_subchannels)
 Returns a load balancing policy instance that picks up the first subchannel from subchannels to succesfully connect. More...
 
+

Typedef Documentation

+ +
+
+ + + + +
typedef struct pending_pick pending_pick
+
+ +
+
+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
grpc_lb_policy* grpc_create_pick_first_lb_policy (grpc_subchannel ** subchannels,
size_t num_subchannels 
)
+
+ +

Returns a load balancing policy instance that picks up the first subchannel from subchannels to succesfully connect.

+ +
+
+ +
+
+ + + + + + + + +
void pf_destroy (grpc_lb_policypol)
+
+ +
+
+ +
+
+ + + + + + + + +
void pf_exit_idle (grpc_lb_policypol)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void pf_pick (grpc_lb_policypol,
grpc_pollsetpollset,
grpc_metadata_batchinitial_metadata,
grpc_subchannel ** target,
grpc_iomgr_closureon_complete 
)
+
+ +
+
+ +
+
+ + + + + + + + +
void pf_shutdown (grpc_lb_policypol)
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/pick__first_8h.html b/doc/ref/core.internal/html/pick__first_8h.html new file mode 100644 index 0000000000..a3055bd17b --- /dev/null +++ b/doc/ref/core.internal/html/pick__first_8h.html @@ -0,0 +1,140 @@ + + + + + + +GRPC Core: src/core/client_config/lb_policies/pick_first.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
pick_first.h File Reference
+
+
+ +

Go to the source code of this file.

+ + + + + +

+Functions

grpc_lb_policygrpc_create_pick_first_lb_policy (grpc_subchannel **subchannels, size_t num_subchannels)
 Returns a load balancing policy instance that picks up the first subchannel from subchannels to succesfully connect. More...
 
+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
grpc_lb_policy* grpc_create_pick_first_lb_policy (grpc_subchannel ** subchannels,
size_t num_subchannels 
)
+
+ +

Returns a load balancing policy instance that picks up the first subchannel from subchannels to succesfully connect.

+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/pick__first_8h_source.html b/doc/ref/core.internal/html/pick__first_8h_source.html new file mode 100644 index 0000000000..49ee5ced00 --- /dev/null +++ b/doc/ref/core.internal/html/pick__first_8h_source.html @@ -0,0 +1,145 @@ + + + + + + +GRPC Core: src/core/client_config/lb_policies/pick_first.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
pick_first.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPC_INTERNAL_CORE_CLIENT_CONFIG_PICK_FIRST_H
+
35 #define GRPC_INTERNAL_CORE_CLIENT_CONFIG_PICK_FIRST_H
+
36 
+ +
38 
+ +
42  size_t num_subchannels);
+
43 
+
44 #endif
+ +
Definition: subchannel.c:77
+
grpc_lb_policy * grpc_create_pick_first_lb_policy(grpc_subchannel **subchannels, size_t num_subchannels)
Returns a load balancing policy instance that picks up the first subchannel from subchannels to succe...
Definition: pick_first.c:317
+
Definition: lb_policy.h:47
+
+ + + + diff --git a/doc/ref/core.internal/html/pollset_8h.html b/doc/ref/core.internal/html/pollset_8h.html new file mode 100644 index 0000000000..2fb1eb105a --- /dev/null +++ b/doc/ref/core.internal/html/pollset_8h.html @@ -0,0 +1,226 @@ + + + + + + +GRPC Core: src/core/iomgr/pollset.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
pollset.h File Reference
+
+
+ +

Go to the source code of this file.

+ + + + + + + + + + + + +

+Functions

void grpc_pollset_init (grpc_pollset *pollset)
 
void grpc_pollset_shutdown (grpc_pollset *pollset, void(*shutdown_done)(void *arg), void *shutdown_done_arg)
 
void grpc_pollset_destroy (grpc_pollset *pollset)
 
int grpc_pollset_work (grpc_pollset *pollset, gpr_timespec deadline)
 
void grpc_pollset_kick (grpc_pollset *pollset)
 
+

Function Documentation

+ +
+
+ + + + + + + + +
void grpc_pollset_destroy (grpc_pollsetpollset)
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_pollset_init (grpc_pollsetpollset)
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_pollset_kick (grpc_pollsetpollset)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void grpc_pollset_shutdown (grpc_pollsetpollset,
void(*)(void *argshutdown_done,
void * shutdown_done_arg 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
int grpc_pollset_work (grpc_pollsetpollset,
gpr_timespec deadline 
)
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/pollset_8h_source.html b/doc/ref/core.internal/html/pollset_8h_source.html new file mode 100644 index 0000000000..3d11684b11 --- /dev/null +++ b/doc/ref/core.internal/html/pollset_8h_source.html @@ -0,0 +1,186 @@ + + + + + + +GRPC Core: src/core/iomgr/pollset.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
pollset.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPC_INTERNAL_CORE_IOMGR_POLLSET_H
+
35 #define GRPC_INTERNAL_CORE_IOMGR_POLLSET_H
+
36 
+ +
38 #include <grpc/support/time.h>
+
39 
+
40 /* A grpc_pollset is a set of file descriptors that a higher level item is
+
41  interested in. For example:
+
42  - a server will typically keep a pollset containing all connected channels,
+
43  so that it can find new calls to service
+
44  - a completion queue might keep a pollset with an entry for each transport
+
45  that is servicing a call that it's tracking */
+
46 
+
47 #ifdef GPR_POSIX_SOCKET
+ +
49 #endif
+
50 
+
51 #ifdef GPR_WIN32
+ +
53 #endif
+
54 
+
55 void grpc_pollset_init(grpc_pollset *pollset);
+ +
57  void (*shutdown_done)(void *arg),
+
58  void *shutdown_done_arg);
+
59 void grpc_pollset_destroy(grpc_pollset *pollset);
+
60 
+
61 /* Do some work on a pollset.
+
62  May involve invoking asynchronous callbacks, or actually polling file
+
63  descriptors.
+
64  Requires GRPC_POLLSET_MU(pollset) locked.
+
65  May unlock GRPC_POLLSET_MU(pollset) during its execution.
+
66 
+
67  Returns true if some work has been done, and false if the deadline
+
68  got attained. */
+
69 int grpc_pollset_work(grpc_pollset *pollset, gpr_timespec deadline);
+
70 
+
71 /* Break one polling thread out of polling work for this pollset.
+
72  Requires GRPC_POLLSET_MU(pollset) locked. */
+
73 void grpc_pollset_kick(grpc_pollset *pollset);
+
74 
+
75 #endif /* GRPC_INTERNAL_CORE_IOMGR_POLLSET_H */
+ + + +
int grpc_pollset_work(grpc_pollset *pollset, gpr_timespec deadline)
+
Definition: cmdline.c:47
+
Definition: pollset_posix.h:48
+
void grpc_pollset_init(grpc_pollset *pollset)
+
void grpc_pollset_destroy(grpc_pollset *pollset)
+
void grpc_pollset_shutdown(grpc_pollset *pollset, void(*shutdown_done)(void *arg), void *shutdown_done_arg)
+
Definition: time.h:60
+
void grpc_pollset_kick(grpc_pollset *pollset)
+ +
+ + + + diff --git a/doc/ref/core.internal/html/pollset__kick__posix_8c.html b/doc/ref/core.internal/html/pollset__kick__posix_8c.html new file mode 100644 index 0000000000..14c570a415 --- /dev/null +++ b/doc/ref/core.internal/html/pollset__kick__posix_8c.html @@ -0,0 +1,100 @@ + + + + + + +GRPC Core: src/core/iomgr/pollset_kick_posix.c File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
pollset_kick_posix.c File Reference
+
+ + + + + diff --git a/doc/ref/core.internal/html/pollset__kick__posix_8h.html b/doc/ref/core.internal/html/pollset__kick__posix_8h.html new file mode 100644 index 0000000000..cad8770ab5 --- /dev/null +++ b/doc/ref/core.internal/html/pollset__kick__posix_8h.html @@ -0,0 +1,357 @@ + + + + + + +GRPC Core: src/core/iomgr/pollset_kick_posix.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
pollset_kick_posix.h File Reference
+
+
+ +

Go to the source code of this file.

+ + + + + + +

+Data Structures

struct  grpc_kick_fd_info
 
struct  grpc_pollset_kick_state
 
+ + + +

+Macros

#define GRPC_POLLSET_KICK_GET_FD(kick_fd_info)   GRPC_WAKEUP_FD_GET_READ_FD(&(kick_fd_info)->wakeup_fd)
 
+ + + + + +

+Typedefs

typedef struct grpc_kick_fd_info grpc_kick_fd_info
 
typedef struct
+grpc_pollset_kick_state 
grpc_pollset_kick_state
 
+ + + + + + + + + + + + + + + + + + + +

+Functions

void grpc_pollset_kick_global_init (void)
 
void grpc_pollset_kick_global_destroy (void)
 
void grpc_pollset_kick_init (grpc_pollset_kick_state *kick_state)
 
void grpc_pollset_kick_destroy (grpc_pollset_kick_state *kick_state)
 
void grpc_pollset_kick_global_init_fallback_fd (void)
 
grpc_kick_fd_infogrpc_pollset_kick_pre_poll (grpc_pollset_kick_state *kick_state)
 
void grpc_pollset_kick_consume (grpc_pollset_kick_state *kick_state, grpc_kick_fd_info *fd_info)
 
void grpc_pollset_kick_post_poll (grpc_pollset_kick_state *kick_state, grpc_kick_fd_info *fd_info)
 
void grpc_pollset_kick_kick (grpc_pollset_kick_state *kick_state)
 
+

Macro Definition Documentation

+ +
+
+ + + + + + + + +
#define GRPC_POLLSET_KICK_GET_FD( kick_fd_info)   GRPC_WAKEUP_FD_GET_READ_FD(&(kick_fd_info)->wakeup_fd)
+
+ +
+
+

Typedef Documentation

+ +
+
+ + + + +
typedef struct grpc_kick_fd_info grpc_kick_fd_info
+
+ +
+
+ +
+
+ +
+
+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
void grpc_pollset_kick_consume (grpc_pollset_kick_statekick_state,
grpc_kick_fd_infofd_info 
)
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_pollset_kick_destroy (grpc_pollset_kick_statekick_state)
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_pollset_kick_global_destroy (void )
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_pollset_kick_global_init (void )
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_pollset_kick_global_init_fallback_fd (void )
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_pollset_kick_init (grpc_pollset_kick_statekick_state)
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_pollset_kick_kick (grpc_pollset_kick_statekick_state)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void grpc_pollset_kick_post_poll (grpc_pollset_kick_statekick_state,
grpc_kick_fd_infofd_info 
)
+
+ +
+
+ +
+
+ + + + + + + + +
grpc_kick_fd_info* grpc_pollset_kick_pre_poll (grpc_pollset_kick_statekick_state)
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/pollset__kick__posix_8h_source.html b/doc/ref/core.internal/html/pollset__kick__posix_8h_source.html new file mode 100644 index 0000000000..78297414a0 --- /dev/null +++ b/doc/ref/core.internal/html/pollset__kick__posix_8h_source.html @@ -0,0 +1,215 @@ + + + + + + +GRPC Core: src/core/iomgr/pollset_kick_posix.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
pollset_kick_posix.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPC_INTERNAL_CORE_IOMGR_POLLSET_KICK_POSIX_H
+
35 #define GRPC_INTERNAL_CORE_IOMGR_POLLSET_KICK_POSIX_H
+
36 
+ +
38 #include <grpc/support/sync.h>
+
39 
+
40 /* pollset kicking allows breaking a thread out of polling work for
+
41  a given pollset.
+
42  writing a byte to a pipe is used as a posix-ly portable base
+
43  mechanism, and eventfds are utilized on Linux for better performance. */
+
44 
+
45 typedef struct grpc_kick_fd_info {
+ +
47  /* used for polling list and free list */
+ +
49  /* only used when polling */
+ + +
52 
+
53 typedef struct grpc_pollset_kick_state {
+ +
55  int kicked;
+ + +
58 
+
59 #define GRPC_POLLSET_KICK_GET_FD(kick_fd_info) \
+
60  GRPC_WAKEUP_FD_GET_READ_FD(&(kick_fd_info)->wakeup_fd)
+
61 
+
62 /* This is an abstraction around the typical pipe mechanism for waking up a
+
63  thread sitting in a poll() style call. */
+
64 
+ + +
67 
+ + +
70 
+
71 /* Guarantees a pure posix implementation rather than a specialized one, if
+
72  * applicable. Intended for testing. */
+ +
74 
+
75 /* Must be called before entering poll(). If return value is NULL, this consumed
+
76  an existing kick. Otherwise the return value is an FD to add to the poll set.
+
77  */
+ +
79  grpc_pollset_kick_state *kick_state);
+
80 
+
81 /* Consume an existing kick. Must be called after poll returns that the fd was
+
82  readable, and before calling kick_post_poll. */
+ +
84  grpc_kick_fd_info *fd_info);
+
85 
+
86 /* Must be called after pre_poll, and after consume if applicable */
+ +
88  grpc_kick_fd_info *fd_info);
+
89 
+
90 /* Actually kick */
+ +
92 
+
93 #endif /* GRPC_INTERNAL_CORE_IOMGR_POLLSET_KICK_POSIX_H */
+
gpr_mu mu
Definition: pollset_kick_posix.h:54
+
Definition: wakeup_fd_posix.h:83
+
void grpc_pollset_kick_post_poll(grpc_pollset_kick_state *kick_state, grpc_kick_fd_info *fd_info)
+
struct grpc_pollset_kick_state grpc_pollset_kick_state
+ +
grpc_wakeup_fd_info wakeup_fd
Definition: pollset_kick_posix.h:46
+
struct grpc_kick_fd_info fd_list
Definition: pollset_kick_posix.h:56
+
void grpc_pollset_kick_global_init(void)
+
void grpc_pollset_kick_init(grpc_pollset_kick_state *kick_state)
+
void grpc_pollset_kick_global_destroy(void)
+
Definition: sync_win32.h:39
+
void grpc_pollset_kick_kick(grpc_pollset_kick_state *kick_state)
+
void grpc_pollset_kick_consume(grpc_pollset_kick_state *kick_state, grpc_kick_fd_info *fd_info)
+
grpc_kick_fd_info * grpc_pollset_kick_pre_poll(grpc_pollset_kick_state *kick_state)
+
int kicked
Definition: pollset_kick_posix.h:55
+
struct grpc_kick_fd_info grpc_kick_fd_info
+ +
Definition: pollset_kick_posix.h:53
+
struct grpc_kick_fd_info * next
Definition: pollset_kick_posix.h:48
+
void grpc_pollset_kick_destroy(grpc_pollset_kick_state *kick_state)
+
struct grpc_kick_fd_info * prev
Definition: pollset_kick_posix.h:50
+
void grpc_pollset_kick_global_init_fallback_fd(void)
+
Definition: pollset_kick_posix.h:45
+
+ + + + diff --git a/doc/ref/core.internal/html/pollset__multipoller__with__epoll_8c.html b/doc/ref/core.internal/html/pollset__multipoller__with__epoll_8c.html new file mode 100644 index 0000000000..c5509588ef --- /dev/null +++ b/doc/ref/core.internal/html/pollset__multipoller__with__epoll_8c.html @@ -0,0 +1,100 @@ + + + + + + +GRPC Core: src/core/iomgr/pollset_multipoller_with_epoll.c File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
pollset_multipoller_with_epoll.c File Reference
+
+ + + + + diff --git a/doc/ref/core.internal/html/pollset__multipoller__with__poll__posix_8c.html b/doc/ref/core.internal/html/pollset__multipoller__with__poll__posix_8c.html new file mode 100644 index 0000000000..3f72478be3 --- /dev/null +++ b/doc/ref/core.internal/html/pollset__multipoller__with__poll__posix_8c.html @@ -0,0 +1,100 @@ + + + + + + +GRPC Core: src/core/iomgr/pollset_multipoller_with_poll_posix.c File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
pollset_multipoller_with_poll_posix.c File Reference
+
+ + + + + diff --git a/doc/ref/core.internal/html/pollset__posix_8c.html b/doc/ref/core.internal/html/pollset__posix_8c.html new file mode 100644 index 0000000000..154ca821c7 --- /dev/null +++ b/doc/ref/core.internal/html/pollset__posix_8c.html @@ -0,0 +1,100 @@ + + + + + + +GRPC Core: src/core/iomgr/pollset_posix.c File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
pollset_posix.c File Reference
+
+ + + + + diff --git a/doc/ref/core.internal/html/pollset__posix_8h.html b/doc/ref/core.internal/html/pollset__posix_8h.html new file mode 100644 index 0000000000..4e5b32723b --- /dev/null +++ b/doc/ref/core.internal/html/pollset__posix_8h.html @@ -0,0 +1,379 @@ + + + + + + +GRPC Core: src/core/iomgr/pollset_posix.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
pollset_posix.h File Reference
+
+
+ +

Go to the source code of this file.

+ + + + + + +

+Data Structures

struct  grpc_pollset
 
struct  grpc_pollset_vtable
 
+ + + +

+Macros

#define GRPC_POLLSET_MU(pollset)   (&(pollset)->mu)
 
+ + + + + + + +

+Typedefs

typedef struct grpc_pollset_vtable grpc_pollset_vtable
 
typedef struct grpc_pollset grpc_pollset
 
typedef void(* grpc_platform_become_multipoller_type )(grpc_pollset *pollset, struct grpc_fd **fds, size_t fd_count)
 
+ + + + + + + + + + + + + + + +

+Functions

void grpc_pollset_add_fd (grpc_pollset *pollset, struct grpc_fd *fd)
 
void grpc_pollset_del_fd (grpc_pollset *pollset, struct grpc_fd *fd)
 
void grpc_pollset_force_kick (grpc_pollset *pollset)
 
int grpc_kick_read_fd (grpc_pollset *p)
 
void grpc_kick_drain (grpc_pollset *p)
 
int grpc_poll_deadline_to_millis_timeout (gpr_timespec deadline, gpr_timespec now)
 
void grpc_poll_become_multipoller (grpc_pollset *pollset, struct grpc_fd **fds, size_t fd_count)
 
+ + + +

+Variables

grpc_platform_become_multipoller_type grpc_platform_become_multipoller
 
+

Macro Definition Documentation

+ +
+
+ + + + + + + + +
#define GRPC_POLLSET_MU( pollset)   (&(pollset)->mu)
+
+ +
+
+

Typedef Documentation

+ +
+
+ + + + +
typedef void(* grpc_platform_become_multipoller_type)(grpc_pollset *pollset, struct grpc_fd **fds, size_t fd_count)
+
+ +
+
+ +
+
+ + + + +
typedef struct grpc_pollset grpc_pollset
+
+ +
+
+ +
+
+ + + + +
typedef struct grpc_pollset_vtable grpc_pollset_vtable
+
+ +
+
+

Function Documentation

+ +
+
+ + + + + + + + +
void grpc_kick_drain (grpc_pollsetp)
+
+ +
+
+ +
+
+ + + + + + + + +
int grpc_kick_read_fd (grpc_pollsetp)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void grpc_poll_become_multipoller (grpc_pollsetpollset,
struct grpc_fd ** fds,
size_t fd_count 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
int grpc_poll_deadline_to_millis_timeout (gpr_timespec deadline,
gpr_timespec now 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void grpc_pollset_add_fd (grpc_pollsetpollset,
struct grpc_fdfd 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void grpc_pollset_del_fd (grpc_pollsetpollset,
struct grpc_fdfd 
)
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_pollset_force_kick (grpc_pollsetpollset)
+
+ +
+
+

Variable Documentation

+ +
+
+ + + + +
grpc_platform_become_multipoller_type grpc_platform_become_multipoller
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/pollset__posix_8h_source.html b/doc/ref/core.internal/html/pollset__posix_8h_source.html new file mode 100644 index 0000000000..3ee5676766 --- /dev/null +++ b/doc/ref/core.internal/html/pollset__posix_8h_source.html @@ -0,0 +1,254 @@ + + + + + + +GRPC Core: src/core/iomgr/pollset_posix.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
pollset_posix.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPC_INTERNAL_CORE_IOMGR_POLLSET_POSIX_H
+
35 #define GRPC_INTERNAL_CORE_IOMGR_POLLSET_POSIX_H
+
36 
+
37 #include <grpc/support/sync.h>
+
38 
+ +
40 
+ +
42 
+
43 /* forward declare only in this file to avoid leaking impl details via
+
44  pollset.h; real users of grpc_fd should always include 'fd_posix.h' and not
+
45  use the struct tag */
+
46 struct grpc_fd;
+
47 
+
48 typedef struct grpc_pollset {
+
49  /* pollsets under posix can mutate representation as fds are added and
+
50  removed.
+
51  For example, we may choose a poll() based implementation on linux for
+
52  few fds, and an epoll() based implementation for many fds */
+ + + +
56  int counter;
+ + + +
60  void (*shutdown_done_cb)(void *arg);
+ +
62  union {
+
63  int fd;
+
64  void *ptr;
+
65  } data;
+
66 } grpc_pollset;
+
67 
+ +
69  void (*add_fd)(grpc_pollset *pollset, struct grpc_fd *fd,
+
70  int and_unlock_pollset);
+
71  void (*del_fd)(grpc_pollset *pollset, struct grpc_fd *fd,
+
72  int and_unlock_pollset);
+
73  void (*maybe_work)(grpc_pollset *pollset, gpr_timespec deadline,
+
74  gpr_timespec now, int allow_synchronous_callback);
+
75  void (*kick)(grpc_pollset *pollset);
+
76  void (*finish_shutdown)(grpc_pollset *pollset);
+
77  void (*destroy)(grpc_pollset *pollset);
+
78 };
+
79 
+
80 #define GRPC_POLLSET_MU(pollset) (&(pollset)->mu)
+
81 
+
82 /* Add an fd to a pollset */
+
83 void grpc_pollset_add_fd(grpc_pollset *pollset, struct grpc_fd *fd);
+
84 /* Force remove an fd from a pollset (normally they are removed on the next
+
85  poll after an fd is orphaned) */
+
86 void grpc_pollset_del_fd(grpc_pollset *pollset, struct grpc_fd *fd);
+
87 
+
88 /* Force any current pollers to break polling: it's the callers responsibility
+
89  to ensure that the pollset indeed needs to be kicked - no verification that
+
90  the pollset is actually performing polling work is done. At worst this will
+
91  result in spurious wakeups if performed at the wrong moment.
+
92  Does not touch pollset->mu. */
+ +
94 /* Returns the fd to listen on for kicks */
+ +
96 /* Call after polling has been kicked to leave the kicked state */
+ +
98 
+
99 /* Convert a timespec to milliseconds:
+
100  - very small or negative poll times are clamped to zero to do a
+
101  non-blocking poll (which becomes spin polling)
+
102  - other small values are rounded up to one millisecond
+
103  - longer than a millisecond polls are rounded up to the next nearest
+
104  millisecond to avoid spinning
+
105  - infinite timeouts are converted to -1 */
+ +
107 
+
108 /* turn a pollset into a multipoller: platform specific */
+ +
110  struct grpc_fd **fds,
+
111  size_t fd_count);
+ +
113 
+
114 void grpc_poll_become_multipoller(grpc_pollset *pollset, struct grpc_fd **fds,
+
115  size_t fd_count);
+
116 
+
117 #endif /* GRPC_INTERNAL_CORE_IOMGR_POLLSET_POSIX_H */
+
grpc_platform_become_multipoller_type grpc_platform_become_multipoller
+
void(* destroy)(grpc_pollset *pollset)
Definition: pollset_posix.h:77
+
int fd
Definition: fd_posix.h:53
+
void * ptr
Definition: pollset_posix.h:64
+
void(* del_fd)(grpc_pollset *pollset, struct grpc_fd *fd, int and_unlock_pollset)
Definition: pollset_posix.h:71
+
void(* grpc_platform_become_multipoller_type)(grpc_pollset *pollset, struct grpc_fd **fds, size_t fd_count)
Definition: pollset_posix.h:109
+
union grpc_pollset::@13 data
+
void * shutdown_done_arg
Definition: pollset_posix.h:61
+
Definition: pollset_posix.h:68
+
int fd
Definition: pollset_posix.h:63
+
gpr_mu mu
Definition: pollset_posix.h:54
+
Definition: pollset_posix.h:48
+
struct grpc_pollset grpc_pollset
+
void(* finish_shutdown)(grpc_pollset *pollset)
Definition: pollset_posix.h:76
+
void grpc_pollset_force_kick(grpc_pollset *pollset)
+ +
Definition: sync_win32.h:39
+
void(* maybe_work)(grpc_pollset *pollset, gpr_timespec deadline, gpr_timespec now, int allow_synchronous_callback)
Definition: pollset_posix.h:73
+
int counter
Definition: pollset_posix.h:56
+
int grpc_kick_read_fd(grpc_pollset *p)
+
struct arg arg
+ +
void grpc_poll_become_multipoller(grpc_pollset *pollset, struct grpc_fd **fds, size_t fd_count)
+
grpc_pollset_kick_state kick_state
Definition: pollset_posix.h:55
+
void grpc_pollset_add_fd(grpc_pollset *pollset, struct grpc_fd *fd)
+
Definition: pollset_kick_posix.h:53
+
int shutting_down
Definition: pollset_posix.h:58
+
Definition: time.h:60
+
void(* shutdown_done_cb)(void *arg)
Definition: pollset_posix.h:60
+
int grpc_poll_deadline_to_millis_timeout(gpr_timespec deadline, gpr_timespec now)
+
int in_flight_cbs
Definition: pollset_posix.h:57
+
void(* add_fd)(grpc_pollset *pollset, struct grpc_fd *fd, int and_unlock_pollset)
Definition: pollset_posix.h:69
+
void grpc_pollset_del_fd(grpc_pollset *pollset, struct grpc_fd *fd)
+
const grpc_pollset_vtable * vtable
Definition: pollset_posix.h:53
+
int called_shutdown
Definition: pollset_posix.h:59
+
void grpc_kick_drain(grpc_pollset *p)
+
Definition: fd_posix.h:52
+
void(* kick)(grpc_pollset *pollset)
Definition: pollset_posix.h:75
+
+ + + + diff --git a/doc/ref/core.internal/html/pollset__set_8h.html b/doc/ref/core.internal/html/pollset__set_8h.html new file mode 100644 index 0000000000..3f06d92c63 --- /dev/null +++ b/doc/ref/core.internal/html/pollset__set_8h.html @@ -0,0 +1,201 @@ + + + + + + +GRPC Core: src/core/iomgr/pollset_set.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
pollset_set.h File Reference
+
+
+ +

Go to the source code of this file.

+ + + + + + + + + + +

+Functions

void grpc_pollset_set_init (grpc_pollset_set *pollset_set)
 
void grpc_pollset_set_destroy (grpc_pollset_set *pollset_set)
 
void grpc_pollset_set_add_pollset (grpc_pollset_set *pollset_set, grpc_pollset *pollset)
 
void grpc_pollset_set_del_pollset (grpc_pollset_set *pollset_set, grpc_pollset *pollset)
 
+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
void grpc_pollset_set_add_pollset (grpc_pollset_setpollset_set,
grpc_pollsetpollset 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void grpc_pollset_set_del_pollset (grpc_pollset_setpollset_set,
grpc_pollsetpollset 
)
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_pollset_set_destroy (grpc_pollset_setpollset_set)
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_pollset_set_init (grpc_pollset_setpollset_set)
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/pollset__set_8h_source.html b/doc/ref/core.internal/html/pollset__set_8h_source.html new file mode 100644 index 0000000000..1f860344a8 --- /dev/null +++ b/doc/ref/core.internal/html/pollset__set_8h_source.html @@ -0,0 +1,167 @@ + + + + + + +GRPC Core: src/core/iomgr/pollset_set.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
pollset_set.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPC_INTERNAL_CORE_IOMGR_POLLSET_SET_H
+
35 #define GRPC_INTERNAL_CORE_IOMGR_POLLSET_SET_H
+
36 
+
37 #include "src/core/iomgr/pollset.h"
+
38 
+
39 /* A grpc_pollset_set is a set of pollsets that are interested in an
+
40  action. Adding a pollset to a pollset_set automatically adds any
+
41  fd's (etc) that have been registered with the set_set to that pollset.
+
42  Registering fd's automatically adds them to all current pollsets. */
+
43 
+
44 #ifdef GPR_POSIX_SOCKET
+ +
46 #endif
+
47 
+
48 #ifdef GPR_WIN32
+ +
50 #endif
+
51 
+
52 void grpc_pollset_set_init(grpc_pollset_set *pollset_set);
+ + +
55  grpc_pollset *pollset);
+ +
57  grpc_pollset *pollset);
+
58 
+
59 #endif /* GRPC_INTERNAL_CORE_IOMGR_POLLSET_H */
+
void grpc_pollset_set_add_pollset(grpc_pollset_set *pollset_set, grpc_pollset *pollset)
+ +
Definition: pollset_posix.h:48
+
void grpc_pollset_set_del_pollset(grpc_pollset_set *pollset_set, grpc_pollset *pollset)
+ + +
void grpc_pollset_set_destroy(grpc_pollset_set *pollset_set)
+
Definition: pollset_set_posix.h:40
+
void grpc_pollset_set_init(grpc_pollset_set *pollset_set)
+
+ + + + diff --git a/doc/ref/core.internal/html/pollset__set__posix_8c.html b/doc/ref/core.internal/html/pollset__set__posix_8c.html new file mode 100644 index 0000000000..44fa65c0bd --- /dev/null +++ b/doc/ref/core.internal/html/pollset__set__posix_8c.html @@ -0,0 +1,100 @@ + + + + + + +GRPC Core: src/core/iomgr/pollset_set_posix.c File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
pollset_set_posix.c File Reference
+
+ + + + + diff --git a/doc/ref/core.internal/html/pollset__set__posix_8h.html b/doc/ref/core.internal/html/pollset__set__posix_8h.html new file mode 100644 index 0000000000..4f3bb5556e --- /dev/null +++ b/doc/ref/core.internal/html/pollset__set__posix_8h.html @@ -0,0 +1,191 @@ + + + + + + +GRPC Core: src/core/iomgr/pollset_set_posix.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
pollset_set_posix.h File Reference
+
+
+ +

Go to the source code of this file.

+ + + + +

+Data Structures

struct  grpc_pollset_set
 
+ + + +

+Typedefs

typedef struct grpc_pollset_set grpc_pollset_set
 
+ + + + + +

+Functions

void grpc_pollset_set_add_fd (grpc_pollset_set *pollset_set, grpc_fd *fd)
 
void grpc_pollset_set_del_fd (grpc_pollset_set *pollset_set, grpc_fd *fd)
 
+

Typedef Documentation

+ +
+
+ + + + +
typedef struct grpc_pollset_set grpc_pollset_set
+
+ +
+
+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
void grpc_pollset_set_add_fd (grpc_pollset_setpollset_set,
grpc_fdfd 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void grpc_pollset_set_del_fd (grpc_pollset_setpollset_set,
grpc_fdfd 
)
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/pollset__set__posix_8h_source.html b/doc/ref/core.internal/html/pollset__set__posix_8h_source.html new file mode 100644 index 0000000000..6f887c9baa --- /dev/null +++ b/doc/ref/core.internal/html/pollset__set__posix_8h_source.html @@ -0,0 +1,170 @@ + + + + + + +GRPC Core: src/core/iomgr/pollset_set_posix.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
pollset_set_posix.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPC_INTERNAL_CORE_IOMGR_POLLSET_SET_POSIX_H
+
35 #define GRPC_INTERNAL_CORE_IOMGR_POLLSET_SET_POSIX_H
+
36 
+ + +
39 
+
40 typedef struct grpc_pollset_set {
+ +
42 
+
43  size_t pollset_count;
+ + +
46 
+
47  size_t fd_count;
+
48  size_t fd_capacity;
+ + +
51 
+
52 void grpc_pollset_set_add_fd(grpc_pollset_set *pollset_set, grpc_fd *fd);
+
53 void grpc_pollset_set_del_fd(grpc_pollset_set *pollset_set, grpc_fd *fd);
+
54 
+
55 #endif /* GRPC_INTERNAL_CORE_IOMGR_POLLSET_WINDOWS_H */
+
struct grpc_pollset_set grpc_pollset_set
+ +
size_t pollset_count
Definition: pollset_set_posix.h:43
+
grpc_pollset ** pollsets
Definition: pollset_set_posix.h:45
+
Definition: pollset_posix.h:48
+
gpr_mu mu
Definition: pollset_set_posix.h:41
+
Definition: sync_win32.h:39
+
size_t pollset_capacity
Definition: pollset_set_posix.h:44
+
void grpc_pollset_set_add_fd(grpc_pollset_set *pollset_set, grpc_fd *fd)
+ +
size_t fd_capacity
Definition: pollset_set_posix.h:48
+
size_t fd_count
Definition: pollset_set_posix.h:47
+
Definition: pollset_set_posix.h:40
+
grpc_fd ** fds
Definition: pollset_set_posix.h:49
+
void grpc_pollset_set_del_fd(grpc_pollset_set *pollset_set, grpc_fd *fd)
+
Definition: fd_posix.h:52
+
+ + + + diff --git a/doc/ref/core.internal/html/pollset__set__windows_8c.html b/doc/ref/core.internal/html/pollset__set__windows_8c.html new file mode 100644 index 0000000000..9a535e6820 --- /dev/null +++ b/doc/ref/core.internal/html/pollset__set__windows_8c.html @@ -0,0 +1,100 @@ + + + + + + +GRPC Core: src/core/iomgr/pollset_set_windows.c File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
pollset_set_windows.c File Reference
+
+ + + + + diff --git a/doc/ref/core.internal/html/pollset__set__windows_8h.html b/doc/ref/core.internal/html/pollset__set__windows_8h.html new file mode 100644 index 0000000000..b197a05cd1 --- /dev/null +++ b/doc/ref/core.internal/html/pollset__set__windows_8h.html @@ -0,0 +1,128 @@ + + + + + + +GRPC Core: src/core/iomgr/pollset_set_windows.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
pollset_set_windows.h File Reference
+
+
+ +

Go to the source code of this file.

+ + + + +

+Data Structures

struct  grpc_pollset_set
 
+ + + +

+Typedefs

typedef struct grpc_pollset_set grpc_pollset_set
 
+

Typedef Documentation

+ +
+
+ + + + +
typedef struct grpc_pollset_set grpc_pollset_set
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/pollset__set__windows_8h_source.html b/doc/ref/core.internal/html/pollset__set__windows_8h_source.html new file mode 100644 index 0000000000..677839ffef --- /dev/null +++ b/doc/ref/core.internal/html/pollset__set__windows_8h_source.html @@ -0,0 +1,141 @@ + + + + + + +GRPC Core: src/core/iomgr/pollset_set_windows.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
pollset_set_windows.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPC_INTERNAL_CORE_IOMGR_POLLSET_SET_WINDOWS_H
+
35 #define GRPC_INTERNAL_CORE_IOMGR_POLLSET_SET_WINDOWS_H
+
36 
+
37 typedef struct grpc_pollset_set { void *unused; } grpc_pollset_set;
+
38 
+
39 #endif /* GRPC_INTERNAL_CORE_IOMGR_POLLSET_WINDOWS_H */
+
void * unused
Definition: pollset_set_windows.h:37
+
Definition: pollset_set_posix.h:40
+
struct grpc_pollset_set grpc_pollset_set
+
+ + + + diff --git a/doc/ref/core.internal/html/pollset__windows_8c.html b/doc/ref/core.internal/html/pollset__windows_8c.html new file mode 100644 index 0000000000..4ceb83dd55 --- /dev/null +++ b/doc/ref/core.internal/html/pollset__windows_8c.html @@ -0,0 +1,100 @@ + + + + + + +GRPC Core: src/core/iomgr/pollset_windows.c File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
pollset_windows.c File Reference
+
+ + + + + diff --git a/doc/ref/core.internal/html/pollset__windows_8h.html b/doc/ref/core.internal/html/pollset__windows_8h.html new file mode 100644 index 0000000000..f22c9139aa --- /dev/null +++ b/doc/ref/core.internal/html/pollset__windows_8h.html @@ -0,0 +1,153 @@ + + + + + + +GRPC Core: src/core/iomgr/pollset_windows.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
pollset_windows.h File Reference
+
+
+ +

Go to the source code of this file.

+ + + + +

+Data Structures

struct  grpc_pollset
 
+ + + +

+Macros

#define GRPC_POLLSET_MU(pollset)   (&(pollset)->mu)
 
+ + + +

+Typedefs

typedef struct grpc_pollset grpc_pollset
 
+

Macro Definition Documentation

+ +
+
+ + + + + + + + +
#define GRPC_POLLSET_MU( pollset)   (&(pollset)->mu)
+
+ +
+
+

Typedef Documentation

+ +
+
+ + + + +
typedef struct grpc_pollset grpc_pollset
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/pollset__windows_8h_source.html b/doc/ref/core.internal/html/pollset__windows_8h_source.html new file mode 100644 index 0000000000..5a84fa681d --- /dev/null +++ b/doc/ref/core.internal/html/pollset__windows_8h_source.html @@ -0,0 +1,161 @@ + + + + + + +GRPC Core: src/core/iomgr/pollset_windows.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
pollset_windows.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPC_INTERNAL_CORE_IOMGR_POLLSET_WINDOWS_H
+
35 #define GRPC_INTERNAL_CORE_IOMGR_POLLSET_WINDOWS_H
+
36 
+
37 #include <grpc/support/sync.h>
+
38 
+ +
40 
+
41 /* There isn't really any such thing as a pollset under Windows, due to the
+
42  nature of the IO completion ports. A Windows "pollset" is merely a mutex
+
43  and a condition variable, used to synchronize with the IOCP. */
+
44 
+
45 typedef struct grpc_pollset {
+
46  gpr_mu mu;
+ +
48  int shutting_down;
+
49 } grpc_pollset;
+
50 
+
51 #define GRPC_POLLSET_MU(pollset) (&(pollset)->mu)
+
52 
+
53 #endif /* GRPC_INTERNAL_CORE_IOMGR_POLLSET_WINDOWS_H */
+ +
gpr_cv cv
Definition: pollset_windows.h:47
+
struct grpc_pollset grpc_pollset
+
gpr_mu mu
Definition: pollset_posix.h:54
+
Definition: pollset_posix.h:48
+
pthread_cond_t gpr_cv
Definition: sync_posix.h:42
+
Definition: sync_win32.h:39
+ +
int shutting_down
Definition: pollset_posix.h:58
+
+ + + + diff --git a/doc/ref/core.internal/html/port__platform_8h.html b/doc/ref/core.internal/html/port__platform_8h.html new file mode 100644 index 0000000000..05288bd72d --- /dev/null +++ b/doc/ref/core.internal/html/port__platform_8h.html @@ -0,0 +1,352 @@ + + + + + + +GRPC Core: include/grpc/support/port_platform.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
port_platform.h File Reference
+
+
+
#include <stdint.h>
+
+

Go to the source code of this file.

+ + + + + + + + + + + + + + +

+Macros

#define GPR_PLATFORM_STRING   "unknown"
 
#define GPR_CACHELINE_SIZE_LOG   6
 
#define GPR_CACHELINE_SIZE   (1 << GPR_CACHELINE_SIZE_LOG)
 
#define GPR_INT64_MAX   (gpr_int64)(~(gpr_uint64)0 >> 1)
 
#define GPR_MAX_ALIGNMENT   16
 
#define GRPC_MUST_USE_RESULT
 
+ + + + + + + + + + + + + + + + + + + + + + + +

+Typedefs

typedef int16_t gpr_int16
 
typedef int32_t gpr_int32
 
typedef int64_t gpr_int64
 
typedef uint8_t gpr_uint8
 
typedef uint16_t gpr_uint16
 
typedef uint32_t gpr_uint32
 
typedef uint64_t gpr_uint64
 
typedef intmax_t gpr_intmax
 
typedef intptr_t gpr_intptr
 
typedef uintmax_t gpr_uintmax
 
typedef uintptr_t gpr_uintptr
 
+

Macro Definition Documentation

+ +
+
+ + + + +
#define GPR_CACHELINE_SIZE   (1 << GPR_CACHELINE_SIZE_LOG)
+
+ +
+
+ +
+
+ + + + +
#define GPR_CACHELINE_SIZE_LOG   6
+
+ +
+
+ +
+
+ + + + +
#define GPR_INT64_MAX   (gpr_int64)(~(gpr_uint64)0 >> 1)
+
+ +
+
+ +
+
+ + + + +
#define GPR_MAX_ALIGNMENT   16
+
+ +
+
+ +
+
+ + + + +
#define GPR_PLATFORM_STRING   "unknown"
+
+ +
+
+ +
+
+ + + + +
#define GRPC_MUST_USE_RESULT
+
+ +
+
+

Typedef Documentation

+ +
+
+ + + + +
typedef int16_t gpr_int16
+
+ +
+
+ +
+
+ + + + +
typedef int32_t gpr_int32
+
+ +
+
+ +
+
+ + + + +
typedef int64_t gpr_int64
+
+ +
+
+ +
+
+ + + + +
typedef intmax_t gpr_intmax
+
+ +
+
+ +
+
+ + + + +
typedef intptr_t gpr_intptr
+
+ +
+
+ +
+
+ + + + +
typedef uint16_t gpr_uint16
+
+ +
+
+ +
+
+ + + + +
typedef uint32_t gpr_uint32
+
+ +
+
+ +
+
+ + + + +
typedef uint64_t gpr_uint64
+
+ +
+
+ +
+
+ + + + +
typedef uint8_t gpr_uint8
+
+ +
+
+ +
+
+ + + + +
typedef uintmax_t gpr_uintmax
+
+ +
+
+ +
+
+ + + + +
typedef uintptr_t gpr_uintptr
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/port__platform_8h_source.html b/doc/ref/core.internal/html/port__platform_8h_source.html new file mode 100644 index 0000000000..925b5af3d3 --- /dev/null +++ b/doc/ref/core.internal/html/port__platform_8h_source.html @@ -0,0 +1,441 @@ + + + + + + +GRPC Core: include/grpc/support/port_platform.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
port_platform.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPC_SUPPORT_PORT_PLATFORM_H
+
35 #define GRPC_SUPPORT_PORT_PLATFORM_H
+
36 
+
37 /* Get windows.h included everywhere (we need it) */
+
38 #if defined(_WIN64) || defined(WIN64) || defined(_WIN32) || defined(WIN32)
+
39 #ifndef WIN32_LEAN_AND_MEAN
+
40 #define GRPC_WIN32_LEAN_AND_MEAN_WAS_NOT_DEFINED
+
41 #define WIN32_LEAN_AND_MEAN
+
42 #endif /* WIN32_LEAN_AND_MEAN */
+
43 
+
44 #ifndef NOMINMAX
+
45 #define GRPC_NOMINMX_WAS_NOT_DEFINED
+
46 #define NOMINMAX
+
47 #endif /* NOMINMAX */
+
48 
+
49 #if defined(_WIN32_WINNT)
+
50 #if _WIN32_WINNT < 0x0600
+
51 #undef _WIN32_WINNT
+
52 #define _WIN32_WINNT 0x0600
+
53 #endif /* _WIN32_WINNT < 0x0600 */
+
54 #endif /* defined(_WIN32_WINNT) */
+
55 
+
56 #include <windows.h>
+
57 
+
58 #ifdef GRPC_WIN32_LEAN_AND_MEAN_WAS_NOT_DEFINED
+
59 #undef GRPC_WIN32_LEAN_AND_MEAN_WAS_NOT_DEFINED
+
60 #undef WIN32_LEAN_AND_MEAN
+
61 #endif /* GRPC_WIN32_LEAN_AND_MEAN_WAS_NOT_DEFINED */
+
62 
+
63 #ifdef GRPC_NOMINMAX_WAS_NOT_DEFINED
+
64 #undef GRPC_NOMINMAX_WAS_NOT_DEFINED
+
65 #undef NOMINMAX
+
66 #endif /* GRPC_WIN32_LEAN_AND_MEAN_WAS_NOT_DEFINED */
+
67 #endif /* defined(_WIN64) || defined(WIN64) || defined(_WIN32) || defined(WIN32) */
+
68 
+
69 /* Override this file with one for your platform if you need to redefine
+
70  things. */
+
71 
+
72 #if !defined(GPR_NO_AUTODETECT_PLATFORM)
+
73 #if defined(_WIN64) || defined(WIN64)
+
74 #define GPR_PLATFORM_STRING "windows"
+
75 #define GPR_WIN32 1
+
76 #define GPR_ARCH_64 1
+
77 #define GPR_GETPID_IN_PROCESS_H 1
+
78 #define GPR_WINSOCK_SOCKET 1
+
79 #ifdef __GNUC__
+
80 #define GPR_GCC_ATOMIC 1
+
81 #define GPR_GCC_TLS 1
+
82 #else
+
83 #define GPR_WIN32_ATOMIC 1
+
84 #define GPR_MSVC_TLS 1
+
85 #endif
+
86 #define GPR_WINDOWS_CRASH_HANDLER 1
+
87 #elif defined(_WIN32) || defined(WIN32)
+
88 #define GPR_PLATFORM_STRING "windows"
+
89 #define GPR_ARCH_32 1
+
90 #define GPR_WIN32 1
+
91 #define GPR_GETPID_IN_PROCESS_H 1
+
92 #define GPR_WINSOCK_SOCKET 1
+
93 #ifdef __GNUC__
+
94 #define GPR_GCC_ATOMIC 1
+
95 #define GPR_GCC_TLS 1
+
96 #else
+
97 #define GPR_WIN32_ATOMIC 1
+
98 #define GPR_MSVC_TLS 1
+
99 #endif
+
100 #define GPR_WINDOWS_CRASH_HANDLER 1
+
101 #elif defined(ANDROID) || defined(__ANDROID__)
+
102 #define GPR_PLATFORM_STRING "android"
+
103 #define GPR_ANDROID 1
+
104 #define GPR_ARCH_32 1
+
105 #define GPR_CPU_LINUX 1
+
106 #define GPR_GCC_SYNC 1
+
107 #define GPR_GCC_TLS 1
+
108 #define GPR_POSIX_MULTIPOLL_WITH_POLL 1
+
109 #define GPR_POSIX_WAKEUP_FD 1
+
110 #define GPR_LINUX_EVENTFD 1
+
111 #define GPR_POSIX_SOCKET 1
+
112 #define GPR_POSIX_SOCKETADDR 1
+
113 #define GPR_POSIX_SOCKETUTILS 1
+
114 #define GPR_POSIX_ENV 1
+
115 #define GPR_POSIX_FILE 1
+
116 #define GPR_POSIX_STRING 1
+
117 #define GPR_POSIX_SUBPROCESS 1
+
118 #define GPR_POSIX_SYNC 1
+
119 #define GPR_POSIX_TIME 1
+
120 #define GPR_GETPID_IN_UNISTD_H 1
+
121 #define GPR_HAVE_MSG_NOSIGNAL 1
+
122 #elif defined(__linux__)
+
123 #define GPR_PLATFORM_STRING "linux"
+
124 #ifndef _BSD_SOURCE
+
125 #define _BSD_SOURCE
+
126 #endif
+
127 #ifndef _DEFAULT_SOURCE
+
128 #define _DEFAULT_SOURCE
+
129 #endif
+
130 #ifndef _GNU_SOURCE
+
131 #define _GNU_SOURCE
+
132 #endif
+
133 #include <features.h>
+
134 #define GPR_CPU_LINUX 1
+
135 #define GPR_GCC_ATOMIC 1
+
136 #define GPR_GCC_TLS 1
+
137 #define GPR_LINUX 1
+
138 #define GPR_LINUX_MULTIPOLL_WITH_EPOLL 1
+
139 #define GPR_POSIX_WAKEUP_FD 1
+
140 #define GPR_POSIX_SOCKET 1
+
141 #define GPR_POSIX_SOCKETADDR 1
+
142 #ifdef __GLIBC_PREREQ
+
143 #if __GLIBC_PREREQ(2, 9)
+
144 #define GPR_LINUX_EVENTFD 1
+
145 #endif
+
146 #if __GLIBC_PREREQ(2, 10)
+
147 #define GPR_LINUX_SOCKETUTILS 1
+
148 #endif
+
149 #if __GLIBC_PREREQ(2, 17)
+
150 #define GPR_LINUX_ENV 1
+
151 #endif
+
152 #endif
+
153 #ifndef GPR_LINUX_EVENTFD
+
154 #define GPR_POSIX_NO_SPECIAL_WAKEUP_FD 1
+
155 #endif
+
156 #ifndef GPR_LINUX_SOCKETUTILS
+
157 #define GPR_POSIX_SOCKETUTILS
+
158 #endif
+
159 #ifndef GPR_LINUX_ENV
+
160 #define GPR_POSIX_ENV 1
+
161 #endif
+
162 #define GPR_POSIX_FILE 1
+
163 #define GPR_POSIX_STRING 1
+
164 #define GPR_POSIX_SUBPROCESS 1
+
165 #define GPR_POSIX_SYNC 1
+
166 #define GPR_POSIX_TIME 1
+
167 #define GPR_GETPID_IN_UNISTD_H 1
+
168 #define GPR_HAVE_MSG_NOSIGNAL 1
+
169 #ifdef _LP64
+
170 #define GPR_ARCH_64 1
+
171 #else /* _LP64 */
+
172 #define GPR_ARCH_32 1
+
173 #endif /* _LP64 */
+
174 #elif defined(__APPLE__)
+
175 #include <TargetConditionals.h>
+
176 #ifndef _BSD_SOURCE
+
177 #define _BSD_SOURCE
+
178 #endif
+
179 #if TARGET_OS_IPHONE
+
180 #define GPR_PLATFORM_STRING "ios"
+
181 #define GPR_CPU_IPHONE 1
+
182 #define GPR_PTHREAD_TLS 1
+
183 #else /* TARGET_OS_IPHONE */
+
184 #define GPR_PLATFORM_STRING "osx"
+
185 #define GPR_CPU_POSIX 1
+
186 #define GPR_GCC_TLS 1
+
187 #endif
+
188 #define GPR_GCC_ATOMIC 1
+
189 #define GPR_POSIX_LOG 1
+
190 #define GPR_POSIX_MULTIPOLL_WITH_POLL 1
+
191 #define GPR_POSIX_WAKEUP_FD 1
+
192 #define GPR_POSIX_NO_SPECIAL_WAKEUP_FD 1
+
193 #define GPR_POSIX_SOCKET 1
+
194 #define GPR_POSIX_SOCKETADDR 1
+
195 #define GPR_POSIX_SOCKETUTILS 1
+
196 #define GPR_POSIX_ENV 1
+
197 #define GPR_POSIX_FILE 1
+
198 #define GPR_POSIX_STRING 1
+
199 #define GPR_POSIX_SUBPROCESS 1
+
200 #define GPR_POSIX_SYNC 1
+
201 #define GPR_POSIX_TIME 1
+
202 #define GPR_GETPID_IN_UNISTD_H 1
+
203 #define GPR_HAVE_SO_NOSIGPIPE 1
+
204 #ifdef _LP64
+
205 #define GPR_ARCH_64 1
+
206 #else /* _LP64 */
+
207 #define GPR_ARCH_32 1
+
208 #endif /* _LP64 */
+
209 #elif defined(__FreeBSD__)
+
210 #define GPR_PLATFORM_STRING "freebsd"
+
211 #ifndef _BSD_SOURCE
+
212 #define _BSD_SOURCE
+
213 #endif
+
214 #define GPR_CPU_POSIX 1
+
215 #define GPR_GCC_ATOMIC 1
+
216 #define GPR_GCC_TLS 1
+
217 #define GPR_POSIX_LOG 1
+
218 #define GPR_POSIX_MULTIPOLL_WITH_POLL 1
+
219 #define GPR_POSIX_WAKEUP_FD 1
+
220 #define GPR_POSIX_NO_SPECIAL_WAKEUP_FD 1
+
221 #define GPR_POSIX_SOCKET 1
+
222 #define GPR_POSIX_SOCKETADDR 1
+
223 #define GPR_POSIX_SOCKETUTILS 1
+
224 #define GPR_POSIX_ENV 1
+
225 #define GPR_POSIX_FILE 1
+
226 #define GPR_POSIX_STRING 1
+
227 #define GPR_POSIX_SUBPROCESS 1
+
228 #define GPR_POSIX_SYNC 1
+
229 #define GPR_POSIX_TIME 1
+
230 #define GPR_GETPID_IN_UNISTD_H 1
+
231 #define GPR_HAVE_SO_NOSIGPIPE 1
+
232 #ifdef _LP64
+
233 #define GPR_ARCH_64 1
+
234 #else /* _LP64 */
+
235 #define GPR_ARCH_32 1
+
236 #endif /* _LP64 */
+
237 #else
+
238 #error Could not auto-detect platform
+
239 #endif
+
240 #endif /* GPR_NO_AUTODETECT_PLATFORM */
+
241 
+
242 #ifndef GPR_PLATFORM_STRING
+
243 #warning "GPR_PLATFORM_STRING not auto-detected"
+
244 #define GPR_PLATFORM_STRING "unknown"
+
245 #endif
+
246 
+
247 /* For a common case, assume that the platform has a C99-like stdint.h */
+
248 
+
249 #include <stdint.h>
+
250 
+
251 /* Cache line alignment */
+
252 #ifndef GPR_CACHELINE_SIZE_LOG
+
253 #if defined(__i386__) || defined(__x86_64__)
+
254 #define GPR_CACHELINE_SIZE_LOG 6
+
255 #endif
+
256 #ifndef GPR_CACHELINE_SIZE_LOG
+
257 /* A reasonable default guess. Note that overestimates tend to waste more
+
258  space, while underestimates tend to waste more time. */
+
259 #define GPR_CACHELINE_SIZE_LOG 6
+
260 #endif /* GPR_CACHELINE_SIZE_LOG */
+
261 #endif /* GPR_CACHELINE_SIZE_LOG */
+
262 
+
263 #define GPR_CACHELINE_SIZE (1 << GPR_CACHELINE_SIZE_LOG)
+
264 
+
265 /* scrub GCC_ATOMIC if it's not available on this compiler */
+
266 #if defined(GPR_GCC_ATOMIC) && !defined(__ATOMIC_RELAXED)
+
267 #undef GPR_GCC_ATOMIC
+
268 #define GPR_GCC_SYNC 1
+
269 #endif
+
270 
+
271 /* Validate platform combinations */
+
272 #if defined(GPR_GCC_ATOMIC) + defined(GPR_GCC_SYNC) + \
+
273  defined(GPR_WIN32_ATOMIC) != \
+
274  1
+
275 #error Must define exactly one of GPR_GCC_ATOMIC, GPR_GCC_SYNC, GPR_WIN32_ATOMIC
+
276 #endif
+
277 
+
278 #if defined(GPR_ARCH_32) + defined(GPR_ARCH_64) != 1
+
279 #error Must define exactly one of GPR_ARCH_32, GPR_ARCH_64
+
280 #endif
+
281 
+
282 #if defined(GPR_CPU_LINUX) + defined(GPR_CPU_POSIX) + defined(GPR_WIN32) + \
+
283  defined(GPR_CPU_IPHONE) + defined(GPR_CPU_CUSTOM) != \
+
284  1
+
285 #error Must define exactly one of GPR_CPU_LINUX, GPR_CPU_POSIX, GPR_WIN32, GPR_CPU_IPHONE, GPR_CPU_CUSTOM
+
286 #endif
+
287 
+
288 #if defined(GPR_POSIX_MULTIPOLL_WITH_POLL) && !defined(GPR_POSIX_SOCKET)
+
289 #error Must define GPR_POSIX_SOCKET to use GPR_POSIX_MULTIPOLL_WITH_POLL
+
290 #endif
+
291 
+
292 #if defined(GPR_POSIX_SOCKET) + defined(GPR_WINSOCK_SOCKET) + \
+
293  defined(GPR_CUSTOM_SOCKET) != \
+
294  1
+
295 #error Must define exactly one of GPR_POSIX_SOCKET, GPR_WINSOCK_SOCKET, GPR_CUSTOM_SOCKET
+
296 #endif
+
297 
+
298 #if defined(GPR_MSVC_TLS) + defined(GPR_GCC_TLS) + defined(GPR_PTHREAD_TLS) + \
+
299  defined(GPR_CUSTOM_TLS) != \
+
300  1
+
301 #error Must define exactly one of GPR_MSVC_TLS, GPR_GCC_TLS, GPR_PTHREAD_TLS, GPR_CUSTOM_TLS
+
302 #endif
+
303 
+
304 typedef int16_t gpr_int16;
+
305 typedef int32_t gpr_int32;
+
306 typedef int64_t gpr_int64;
+
307 typedef uint8_t gpr_uint8;
+
308 typedef uint16_t gpr_uint16;
+
309 typedef uint32_t gpr_uint32;
+
310 typedef uint64_t gpr_uint64;
+
311 typedef intmax_t gpr_intmax;
+
312 typedef intptr_t gpr_intptr;
+
313 typedef uintmax_t gpr_uintmax;
+
314 typedef uintptr_t gpr_uintptr;
+
315 
+
316 /* INT64_MAX is unavailable on some platforms. */
+
317 #define GPR_INT64_MAX (gpr_int64)(~(gpr_uint64)0 >> 1)
+
318 
+
319 /* maximum alignment needed for any type on this platform, rounded up to a
+
320  power of two */
+
321 #define GPR_MAX_ALIGNMENT 16
+
322 
+
323 #ifndef GRPC_MUST_USE_RESULT
+
324 #ifdef __GNUC__
+
325 #define GRPC_MUST_USE_RESULT __attribute__((warn_unused_result))
+
326 #else
+
327 #define GRPC_MUST_USE_RESULT
+
328 #endif
+
329 #endif
+
330 
+
331 #endif /* GRPC_SUPPORT_PORT_PLATFORM_H */
+
intptr_t gpr_intptr
Definition: port_platform.h:312
+
uint8_t gpr_uint8
Definition: port_platform.h:307
+
uintptr_t gpr_uintptr
Definition: port_platform.h:314
+
uint32_t gpr_uint32
Definition: port_platform.h:309
+
uintmax_t gpr_uintmax
Definition: port_platform.h:313
+
int64_t gpr_int64
Definition: port_platform.h:306
+
uint16_t gpr_uint16
Definition: port_platform.h:308
+
int32_t gpr_int32
Definition: port_platform.h:305
+
uint64_t gpr_uint64
Definition: port_platform.h:310
+
intmax_t gpr_intmax
Definition: port_platform.h:311
+
int16_t gpr_int16
Definition: port_platform.h:304
+
+ + + + diff --git a/doc/ref/core.internal/html/record__stat_8c.html b/doc/ref/core.internal/html/record__stat_8c.html new file mode 100644 index 0000000000..e41441a861 --- /dev/null +++ b/doc/ref/core.internal/html/record__stat_8c.html @@ -0,0 +1,142 @@ + + + + + + +GRPC Core: src/core/census/record_stat.c File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
record_stat.c File Reference
+
+
+ + + + +

+Functions

void census_record_stat (census_context *context, census_stat *stats, size_t nstats)
 
+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void census_record_stat (census_contextcontext,
census_statstats,
size_t nstats 
)
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/resolve__address_8h.html b/doc/ref/core.internal/html/resolve__address_8h.html new file mode 100644 index 0000000000..0f1e66845e --- /dev/null +++ b/doc/ref/core.internal/html/resolve__address_8h.html @@ -0,0 +1,241 @@ + + + + + + +GRPC Core: src/core/iomgr/resolve_address.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
resolve_address.h File Reference
+
+
+
#include <stddef.h>
+
+

Go to the source code of this file.

+ + + + + + +

+Data Structures

struct  grpc_resolved_address
 
struct  grpc_resolved_addresses
 
+ + + +

+Macros

#define GRPC_MAX_SOCKADDR_SIZE   128
 
+ + + +

+Typedefs

typedef void(* grpc_resolve_cb )(void *arg, grpc_resolved_addresses *addresses)
 
+ + + + + + + +

+Functions

void grpc_resolve_address (const char *addr, const char *default_port, grpc_resolve_cb cb, void *arg)
 
void grpc_resolved_addresses_destroy (grpc_resolved_addresses *addresses)
 
grpc_resolved_addressesgrpc_blocking_resolve_address (const char *addr, const char *default_port)
 
+

Macro Definition Documentation

+ +
+
+ + + + +
#define GRPC_MAX_SOCKADDR_SIZE   128
+
+ +
+
+

Typedef Documentation

+ +
+
+ + + + +
typedef void(* grpc_resolve_cb)(void *arg, grpc_resolved_addresses *addresses)
+
+ +
+
+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
grpc_resolved_addresses* grpc_blocking_resolve_address (const char * addr,
const char * default_port 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void grpc_resolve_address (const char * addr,
const char * default_port,
grpc_resolve_cb cb,
void * arg 
)
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_resolved_addresses_destroy (grpc_resolved_addressesaddresses)
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/resolve__address_8h_source.html b/doc/ref/core.internal/html/resolve__address_8h_source.html new file mode 100644 index 0000000000..f111850bca --- /dev/null +++ b/doc/ref/core.internal/html/resolve__address_8h_source.html @@ -0,0 +1,180 @@ + + + + + + +GRPC Core: src/core/iomgr/resolve_address.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
resolve_address.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPC_INTERNAL_CORE_IOMGR_RESOLVE_ADDRESS_H
+
35 #define GRPC_INTERNAL_CORE_IOMGR_RESOLVE_ADDRESS_H
+
36 
+
37 #include <stddef.h>
+
38 
+
39 #define GRPC_MAX_SOCKADDR_SIZE 128
+
40 
+
41 typedef struct {
+ +
43  int len;
+ +
45 
+
46 typedef struct {
+
47  size_t naddrs;
+ + +
50 
+
51 /* Async result callback:
+
52  On success: addresses is the result, and the callee must call
+
53  grpc_resolved_addresses_destroy when it's done with them
+
54  On failure: addresses is NULL */
+
55 typedef void (*grpc_resolve_cb)(void *arg, grpc_resolved_addresses *addresses);
+
56 /* Asynchronously resolve addr. Use default_port if a port isn't designated
+
57  in addr, otherwise use the port in addr. */
+
58 /* TODO(ctiller): add a timeout here */
+
59 void grpc_resolve_address(const char *addr, const char *default_port,
+
60  grpc_resolve_cb cb, void *arg);
+
61 /* Destroy resolved addresses */
+ +
63 
+
64 /* Resolve addr in a blocking fashion. Returns NULL on failure. On success,
+
65  result must be freed with grpc_resolved_addresses_destroy. */
+ +
67  const char *addr, const char *default_port);
+
68 
+
69 #endif /* GRPC_INTERNAL_CORE_IOMGR_RESOLVE_ADDRESS_H */
+
grpc_resolved_addresses * grpc_blocking_resolve_address(const char *addr, const char *default_port)
+
Definition: resolve_address.h:41
+
void(* grpc_resolve_cb)(void *arg, grpc_resolved_addresses *addresses)
Definition: resolve_address.h:55
+
Definition: resolve_address.h:46
+
Definition: cmdline.c:47
+
grpc_resolved_address * addrs
Definition: resolve_address.h:48
+
int len
Definition: resolve_address.h:43
+
void grpc_resolve_address(const char *addr, const char *default_port, grpc_resolve_cb cb, void *arg)
+
struct arg arg
+
size_t naddrs
Definition: resolve_address.h:47
+
#define GRPC_MAX_SOCKADDR_SIZE
Definition: resolve_address.h:39
+
void grpc_resolved_addresses_destroy(grpc_resolved_addresses *addresses)
+
+ + + + diff --git a/doc/ref/core.internal/html/resolve__address__posix_8c.html b/doc/ref/core.internal/html/resolve__address__posix_8c.html new file mode 100644 index 0000000000..aeba05c70e --- /dev/null +++ b/doc/ref/core.internal/html/resolve__address__posix_8c.html @@ -0,0 +1,100 @@ + + + + + + +GRPC Core: src/core/iomgr/resolve_address_posix.c File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
resolve_address_posix.c File Reference
+
+ + + + + diff --git a/doc/ref/core.internal/html/resolve__address__windows_8c.html b/doc/ref/core.internal/html/resolve__address__windows_8c.html new file mode 100644 index 0000000000..ec8daebbc8 --- /dev/null +++ b/doc/ref/core.internal/html/resolve__address__windows_8c.html @@ -0,0 +1,100 @@ + + + + + + +GRPC Core: src/core/iomgr/resolve_address_windows.c File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
resolve_address_windows.c File Reference
+
+ + + + + diff --git a/doc/ref/core.internal/html/resolver_8c.html b/doc/ref/core.internal/html/resolver_8c.html new file mode 100644 index 0000000000..1b749336c8 --- /dev/null +++ b/doc/ref/core.internal/html/resolver_8c.html @@ -0,0 +1,266 @@ + + + + + + +GRPC Core: src/core/client_config/resolver.c File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
resolver.c File Reference
+
+
+ + + + + + + + + + + + + + + + +

+Functions

void grpc_resolver_init (grpc_resolver *resolver, const grpc_resolver_vtable *vtable)
 
void grpc_resolver_ref (grpc_resolver *resolver)
 
void grpc_resolver_unref (grpc_resolver *resolver)
 
void grpc_resolver_shutdown (grpc_resolver *resolver)
 
void grpc_resolver_channel_saw_error (grpc_resolver *resolver, struct sockaddr *failing_address, int failing_address_len)
 Notification that the channel has seen an error on some address. More...
 
void grpc_resolver_next (grpc_resolver *resolver, grpc_client_config **target_config, grpc_iomgr_closure *on_complete)
 Get the next client config. More...
 
+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void grpc_resolver_channel_saw_error (grpc_resolverresolver,
struct sockaddr * failing_address,
int failing_address_len 
)
+
+ +

Notification that the channel has seen an error on some address.

+

Can be used as a hint that re-resolution is desirable soon.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void grpc_resolver_init (grpc_resolverresolver,
const grpc_resolver_vtablevtable 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void grpc_resolver_next (grpc_resolverresolver,
grpc_client_config ** target_config,
grpc_iomgr_closureon_complete 
)
+
+ +

Get the next client config.

+

Called by the channel to fetch a new configuration. Expected to set *target_config with a new configuration, and then schedule on_complete for execution.

+

If resolution is fatally broken, set *target_config to NULL and schedule on_complete.

+ +
+
+ +
+
+ + + + + + + + +
void grpc_resolver_ref (grpc_resolverresolver)
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_resolver_shutdown (grpc_resolverresolver)
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_resolver_unref (grpc_resolverresolver)
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/resolver_8h.html b/doc/ref/core.internal/html/resolver_8h.html new file mode 100644 index 0000000000..10d2a099f2 --- /dev/null +++ b/doc/ref/core.internal/html/resolver_8h.html @@ -0,0 +1,373 @@ + + + + + + +GRPC Core: src/core/client_config/resolver.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
resolver.h File Reference
+
+
+ +

Go to the source code of this file.

+ + + + + + + +

+Data Structures

struct  grpc_resolver
 grpc_resolver provides grpc_client_config objects to grpc_channel objects More...
 
struct  grpc_resolver_vtable
 
+ + + + + +

+Macros

#define GRPC_RESOLVER_REF(p, r)   grpc_resolver_ref((p))
 
#define GRPC_RESOLVER_UNREF(p, r)   grpc_resolver_unref((p))
 
+ + + + + +

+Typedefs

typedef struct grpc_resolver grpc_resolver
 
typedef struct grpc_resolver_vtable grpc_resolver_vtable
 
+ + + + + + + + + + + + + + + +

+Functions

void grpc_resolver_ref (grpc_resolver *policy)
 
void grpc_resolver_unref (grpc_resolver *policy)
 
void grpc_resolver_init (grpc_resolver *resolver, const grpc_resolver_vtable *vtable)
 
void grpc_resolver_shutdown (grpc_resolver *resolver)
 
void grpc_resolver_channel_saw_error (grpc_resolver *resolver, struct sockaddr *failing_address, int failing_address_len)
 Notification that the channel has seen an error on some address. More...
 
void grpc_resolver_next (grpc_resolver *resolver, grpc_client_config **target_config, grpc_iomgr_closure *on_complete)
 Get the next client config. More...
 
+

Macro Definition Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
#define GRPC_RESOLVER_REF( p,
 
)   grpc_resolver_ref((p))
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
#define GRPC_RESOLVER_UNREF( p,
 
)   grpc_resolver_unref((p))
+
+ +
+
+

Typedef Documentation

+ +
+
+ + + + +
typedef struct grpc_resolver grpc_resolver
+
+ +
+
+ +
+
+ + + + +
typedef struct grpc_resolver_vtable grpc_resolver_vtable
+
+ +
+
+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void grpc_resolver_channel_saw_error (grpc_resolverresolver,
struct sockaddr * failing_address,
int failing_address_len 
)
+
+ +

Notification that the channel has seen an error on some address.

+

Can be used as a hint that re-resolution is desirable soon.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void grpc_resolver_init (grpc_resolverresolver,
const grpc_resolver_vtablevtable 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void grpc_resolver_next (grpc_resolverresolver,
grpc_client_config ** target_config,
grpc_iomgr_closureon_complete 
)
+
+ +

Get the next client config.

+

Called by the channel to fetch a new configuration. Expected to set *target_config with a new configuration, and then schedule on_complete for execution.

+

If resolution is fatally broken, set *target_config to NULL and schedule on_complete.

+ +
+
+ +
+
+ + + + + + + + +
void grpc_resolver_ref (grpc_resolverpolicy)
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_resolver_shutdown (grpc_resolverresolver)
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_resolver_unref (grpc_resolverpolicy)
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/resolver_8h_source.html b/doc/ref/core.internal/html/resolver_8h_source.html new file mode 100644 index 0000000000..6de00555c3 --- /dev/null +++ b/doc/ref/core.internal/html/resolver_8h_source.html @@ -0,0 +1,206 @@ + + + + + + +GRPC Core: src/core/client_config/resolver.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
resolver.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPC_INTERNAL_CORE_CLIENT_CONFIG_RESOLVER_H
+
35 #define GRPC_INTERNAL_CORE_CLIENT_CONFIG_RESOLVER_H
+
36 
+ +
38 #include "src/core/iomgr/iomgr.h"
+ +
40 
+ + +
43 
+
46 struct grpc_resolver {
+ + +
49 };
+
50 
+ +
52  void (*destroy)(grpc_resolver *resolver);
+
53  void (*shutdown)(grpc_resolver *resolver);
+
54  void (*channel_saw_error)(grpc_resolver *resolver,
+
55  struct sockaddr *failing_address,
+
56  int failing_address_len);
+
57  void (*next)(grpc_resolver *resolver, grpc_client_config **target_config,
+
58  grpc_iomgr_closure *on_complete);
+
59 };
+
60 
+
61 #ifdef GRPC_RESOLVER_REFCOUNT_DEBUG
+
62 #define GRPC_RESOLVER_REF(p, r) grpc_resolver_ref((p), __FILE__, __LINE__, (r))
+
63 #define GRPC_RESOLVER_UNREF(p, r) \
+
64  grpc_resolver_unref((p), __FILE__, __LINE__, (r))
+
65 void grpc_resolver_ref(grpc_resolver *policy, const char *file, int line,
+
66  const char *reason);
+
67 void grpc_resolver_unref(grpc_resolver *policy, const char *file, int line,
+
68  const char *reason);
+
69 #else
+
70 #define GRPC_RESOLVER_REF(p, r) grpc_resolver_ref((p))
+
71 #define GRPC_RESOLVER_UNREF(p, r) grpc_resolver_unref((p))
+
72 void grpc_resolver_ref(grpc_resolver *policy);
+ +
74 #endif
+
75 
+
76 void grpc_resolver_init(grpc_resolver *resolver,
+
77  const grpc_resolver_vtable *vtable);
+
78 
+ +
80 
+ +
84  struct sockaddr *failing_address,
+
85  int failing_address_len);
+
86 
+
93 void grpc_resolver_next(grpc_resolver *resolver,
+
94  grpc_client_config **target_config,
+
95  grpc_iomgr_closure *on_complete);
+
96 
+
97 #endif /* GRPC_INTERNAL_CORE_CONFIG_RESOLVER_H */
+ +
void grpc_resolver_shutdown(grpc_resolver *resolver)
Definition: resolver.c:68
+
Definition: sync_generic.h:49
+
void grpc_resolver_init(grpc_resolver *resolver, const grpc_resolver_vtable *vtable)
Definition: resolver.c:36
+
void grpc_resolver_unref(grpc_resolver *policy)
Definition: resolver.c:61
+ +
const grpc_resolver_vtable * vtable
Definition: resolver.h:47
+
Definition: resolver.h:51
+
grpc_resolver provides grpc_client_config objects to grpc_channel objects
Definition: resolver.h:46
+
Definition: client_config.c:40
+
void(* channel_saw_error)(grpc_resolver *resolver, struct sockaddr *failing_address, int failing_address_len)
Definition: resolver.h:54
+
void grpc_resolver_next(grpc_resolver *resolver, grpc_client_config **target_config, grpc_iomgr_closure *on_complete)
Get the next client config.
Definition: resolver.c:79
+
A closure over a grpc_iomgr_cb_func.
Definition: iomgr.h:45
+
gpr_refcount refs
Definition: resolver.h:48
+
void(* shutdown)(grpc_resolver *resolver)
Definition: resolver.h:53
+
void grpc_resolver_channel_saw_error(grpc_resolver *resolver, struct sockaddr *failing_address, int failing_address_len)
Notification that the channel has seen an error on some address.
Definition: resolver.c:72
+
void(* destroy)(grpc_resolver *resolver)
Definition: resolver.h:52
+ +
void(* next)(grpc_resolver *resolver, grpc_client_config **target_config, grpc_iomgr_closure *on_complete)
Definition: resolver.h:57
+
void grpc_resolver_ref(grpc_resolver *policy)
Definition: resolver.c:49
+
+ + + + diff --git a/doc/ref/core.internal/html/resolver__factory_8c.html b/doc/ref/core.internal/html/resolver__factory_8c.html new file mode 100644 index 0000000000..f528f72a72 --- /dev/null +++ b/doc/ref/core.internal/html/resolver__factory_8c.html @@ -0,0 +1,180 @@ + + + + + + +GRPC Core: src/core/client_config/resolver_factory.c File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
resolver_factory.c File Reference
+
+
+ + + + + + + + + +

+Functions

void grpc_resolver_factory_ref (grpc_resolver_factory *factory)
 
void grpc_resolver_factory_unref (grpc_resolver_factory *factory)
 
grpc_resolvergrpc_resolver_factory_create_resolver (grpc_resolver_factory *factory, grpc_uri *uri, grpc_subchannel_factory *subchannel_factory)
 Create a resolver instance for a name. More...
 
+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
grpc_resolver* grpc_resolver_factory_create_resolver (grpc_resolver_factoryfactory,
grpc_uriuri,
grpc_subchannel_factorysubchannel_factory 
)
+
+ +

Create a resolver instance for a name.

+ +
+
+ +
+
+ + + + + + + + +
void grpc_resolver_factory_ref (grpc_resolver_factoryfactory)
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_resolver_factory_unref (grpc_resolver_factoryfactory)
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/resolver__factory_8h.html b/doc/ref/core.internal/html/resolver__factory_8h.html new file mode 100644 index 0000000000..51b0512aac --- /dev/null +++ b/doc/ref/core.internal/html/resolver__factory_8h.html @@ -0,0 +1,228 @@ + + + + + + +GRPC Core: src/core/client_config/resolver_factory.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
resolver_factory.h File Reference
+
+
+ +

Go to the source code of this file.

+ + + + + + + +

+Data Structures

struct  grpc_resolver_factory
 grpc_resolver provides grpc_client_config objects to grpc_channel objects More...
 
struct  grpc_resolver_factory_vtable
 
+ + + + + +

+Typedefs

typedef struct
+grpc_resolver_factory 
grpc_resolver_factory
 
typedef struct
+grpc_resolver_factory_vtable 
grpc_resolver_factory_vtable
 
+ + + + + + + + +

+Functions

void grpc_resolver_factory_ref (grpc_resolver_factory *resolver)
 
void grpc_resolver_factory_unref (grpc_resolver_factory *resolver)
 
grpc_resolvergrpc_resolver_factory_create_resolver (grpc_resolver_factory *factory, grpc_uri *uri, grpc_subchannel_factory *subchannel_factory)
 Create a resolver instance for a name. More...
 
+

Typedef Documentation

+ +
+
+ + + + +
typedef struct grpc_resolver_factory grpc_resolver_factory
+
+ +
+
+ + +

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
grpc_resolver* grpc_resolver_factory_create_resolver (grpc_resolver_factoryfactory,
grpc_uriuri,
grpc_subchannel_factorysubchannel_factory 
)
+
+ +

Create a resolver instance for a name.

+ +
+
+ +
+
+ + + + + + + + +
void grpc_resolver_factory_ref (grpc_resolver_factoryresolver)
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_resolver_factory_unref (grpc_resolver_factoryresolver)
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/resolver__factory_8h_source.html b/doc/ref/core.internal/html/resolver__factory_8h_source.html new file mode 100644 index 0000000000..d2d7d2f89b --- /dev/null +++ b/doc/ref/core.internal/html/resolver__factory_8h_source.html @@ -0,0 +1,178 @@ + + + + + + +GRPC Core: src/core/client_config/resolver_factory.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
resolver_factory.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPC_INTERNAL_CORE_CLIENT_CONFIG_RESOLVER_FACTORY_H
+
35 #define GRPC_INTERNAL_CORE_CLIENT_CONFIG_RESOLVER_FACTORY_H
+
36 
+ + + +
40 
+ + +
43 
+ + +
48 };
+
49 
+ +
51  void (*ref)(grpc_resolver_factory *factory);
+
52  void (*unref)(grpc_resolver_factory *factory);
+
53 
+
54  grpc_resolver *(*create_resolver)(
+
55  grpc_resolver_factory *factory, grpc_uri *uri,
+ +
57 };
+
58 
+ + +
61 
+ +
64  grpc_resolver_factory *factory, grpc_uri *uri,
+ +
66 
+
67 #endif /* GRPC_INTERNAL_CORE_CONFIG_RESOLVER_FACTORY_H */
+ +
const grpc_resolver_factory_vtable * vtable
Definition: resolver_factory.h:47
+
void(* unref)(grpc_resolver_factory *factory)
Definition: resolver_factory.h:52
+ +
Definition: resolver_factory.h:50
+
void grpc_resolver_factory_unref(grpc_resolver_factory *resolver)
Definition: resolver_factory.c:40
+
grpc_resolver provides grpc_client_config objects to grpc_channel objects
Definition: resolver.h:46
+
Definition: secure_channel_create.c:131
+ +
grpc_resolver provides grpc_client_config objects to grpc_channel objects
Definition: resolver_factory.h:46
+
Definition: uri_parser.h:37
+
grpc_resolver * grpc_resolver_factory_create_resolver(grpc_resolver_factory *factory, grpc_uri *uri, grpc_subchannel_factory *subchannel_factory)
Create a resolver instance for a name.
Definition: resolver_factory.c:45
+
void grpc_resolver_factory_ref(grpc_resolver_factory *resolver)
Definition: resolver_factory.c:36
+
Constructor for new configured channels.
Definition: subchannel_factory.h:45
+
void(* ref)(grpc_resolver_factory *factory)
Definition: resolver_factory.h:51
+
+ + + + diff --git a/doc/ref/core.internal/html/resolver__registry_8c.html b/doc/ref/core.internal/html/resolver__registry_8c.html new file mode 100644 index 0000000000..6848611359 --- /dev/null +++ b/doc/ref/core.internal/html/resolver__registry_8c.html @@ -0,0 +1,236 @@ + + + + + + +GRPC Core: src/core/client_config/resolver_registry.c File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
resolver_registry.c File Reference
+
+
+ + + + +

+Data Structures

struct  registered_resolver
 
+ + + +

+Macros

#define MAX_RESOLVERS   10
 
+ + + + + + + + + + + +

+Functions

void grpc_resolver_registry_init (const char *default_resolver_scheme)
 
void grpc_resolver_registry_shutdown (void)
 
void grpc_register_resolver_type (const char *scheme, grpc_resolver_factory *factory)
 Register a resolver type. More...
 
grpc_resolvergrpc_resolver_create (const char *name, grpc_subchannel_factory *subchannel_factory)
 Create a resolver given name. More...
 
+

Macro Definition Documentation

+ +
+
+ + + + +
#define MAX_RESOLVERS   10
+
+ +
+
+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
void grpc_register_resolver_type (const char * scheme,
grpc_resolver_factoryfactory 
)
+
+ +

Register a resolver type.

+

URI's of scheme will be resolved with the given resolver. If priority is greater than zero, then the resolver will be eligible to resolve names that are passed in with no scheme. Higher priority resolvers will be tried before lower priority schemes.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
grpc_resolver* grpc_resolver_create (const char * name,
grpc_subchannel_factorysubchannel_factory 
)
+
+ +

Create a resolver given name.

+

First tries to parse name as a URI. If this succeeds, tries to locate a registered resolver factory based on the URI scheme. If parsing or location fails, prefixes default_prefix from grpc_resolver_registry_init to name, and tries again (if default_prefix was not NULL). If a resolver factory was found, use it to instantiate a resolver and return it. If a resolver factory was not found, return NULL.

+ +
+
+ +
+
+ + + + + + + + +
void grpc_resolver_registry_init (const char * default_resolver_scheme)
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_resolver_registry_shutdown (void )
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/resolver__registry_8h.html b/doc/ref/core.internal/html/resolver__registry_8h.html new file mode 100644 index 0000000000..ae8a12f5f6 --- /dev/null +++ b/doc/ref/core.internal/html/resolver__registry_8h.html @@ -0,0 +1,209 @@ + + + + + + +GRPC Core: src/core/client_config/resolver_registry.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
resolver_registry.h File Reference
+
+
+ +

Go to the source code of this file.

+ + + + + + + + + + + + +

+Functions

void grpc_resolver_registry_init (const char *default_prefix)
 
void grpc_resolver_registry_shutdown (void)
 
void grpc_register_resolver_type (const char *scheme, grpc_resolver_factory *factory)
 Register a resolver type. More...
 
grpc_resolvergrpc_resolver_create (const char *name, grpc_subchannel_factory *subchannel_factory)
 Create a resolver given name. More...
 
+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
void grpc_register_resolver_type (const char * scheme,
grpc_resolver_factoryfactory 
)
+
+ +

Register a resolver type.

+

URI's of scheme will be resolved with the given resolver. If priority is greater than zero, then the resolver will be eligible to resolve names that are passed in with no scheme. Higher priority resolvers will be tried before lower priority schemes.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
grpc_resolver* grpc_resolver_create (const char * name,
grpc_subchannel_factorysubchannel_factory 
)
+
+ +

Create a resolver given name.

+

First tries to parse name as a URI. If this succeeds, tries to locate a registered resolver factory based on the URI scheme. If parsing or location fails, prefixes default_prefix from grpc_resolver_registry_init to name, and tries again (if default_prefix was not NULL). If a resolver factory was found, use it to instantiate a resolver and return it. If a resolver factory was not found, return NULL.

+ +
+
+ +
+
+ + + + + + + + +
void grpc_resolver_registry_init (const char * default_prefix)
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_resolver_registry_shutdown (void )
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/resolver__registry_8h_source.html b/doc/ref/core.internal/html/resolver__registry_8h_source.html new file mode 100644 index 0000000000..f4b420974e --- /dev/null +++ b/doc/ref/core.internal/html/resolver__registry_8h_source.html @@ -0,0 +1,156 @@ + + + + + + +GRPC Core: src/core/client_config/resolver_registry.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
resolver_registry.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPC_INTERNAL_CORE_CLIENT_CONFIG_RESOLVER_REGISTRY_H
+
35 #define GRPC_INTERNAL_CORE_CLIENT_CONFIG_RESOLVER_REGISTRY_H
+
36 
+ +
38 
+
39 void grpc_resolver_registry_init(const char *default_prefix);
+ +
41 
+
47 void grpc_register_resolver_type(const char *scheme,
+
48  grpc_resolver_factory *factory);
+
49 
+ +
60  const char *name, grpc_subchannel_factory *subchannel_factory);
+
61 
+
62 #endif /* GRPC_INTERNAL_CORE_CLIENT_CONFIG_RESOLVER_REGISTRY_H */
+
void grpc_register_resolver_type(const char *scheme, grpc_resolver_factory *factory)
Register a resolver type.
Definition: resolver_registry.c:68
+
grpc_resolver provides grpc_client_config objects to grpc_channel objects
Definition: resolver.h:46
+
Definition: secure_channel_create.c:131
+ +
grpc_resolver * grpc_resolver_create(const char *name, grpc_subchannel_factory *subchannel_factory)
Create a resolver given name.
Definition: resolver_registry.c:96
+
grpc_resolver provides grpc_client_config objects to grpc_channel objects
Definition: resolver_factory.h:46
+
void grpc_resolver_registry_shutdown(void)
Definition: resolver_registry.c:59
+
void grpc_resolver_registry_init(const char *default_prefix)
Definition: resolver_registry.c:54
+
Constructor for new configured channels.
Definition: subchannel_factory.h:45
+
+ + + + diff --git a/doc/ref/core.internal/html/rpc__stat__id_8h.html b/doc/ref/core.internal/html/rpc__stat__id_8h.html new file mode 100644 index 0000000000..64b921e5c3 --- /dev/null +++ b/doc/ref/core.internal/html/rpc__stat__id_8h.html @@ -0,0 +1,206 @@ + + + + + + +GRPC Core: src/core/census/rpc_stat_id.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
rpc_stat_id.h File Reference
+
+
+ +

Go to the source code of this file.

+ + + + + + + + + + + + + + + + +

+Macros

#define CENSUS_INVALID_STAT_ID   0 /* ID 0 is always invalid */
 
#define CENSUS_RPC_CLIENT_REQUESTS   1 /* Count of client requests sent. */
 
#define CENSUS_RPC_SERVER_REQUESTS   2 /* Count of server requests sent. */
 
#define CENSUS_RPC_CLIENT_ERRORS   3 /* Client error counts. */
 
#define CENSUS_RPC_SERVER_ERRORS   4 /* Server error counts. */
 
#define CENSUS_RPC_CLIENT_LATENCY   5 /* Client side request latency. */
 
#define CENSUS_RPC_SERVER_LATENCY   6 /* Server side request latency. */
 
+

Macro Definition Documentation

+ +
+
+ + + + +
#define CENSUS_INVALID_STAT_ID   0 /* ID 0 is always invalid */
+
+ +
+
+ +
+
+ + + + +
#define CENSUS_RPC_CLIENT_ERRORS   3 /* Client error counts. */
+
+ +
+
+ +
+
+ + + + +
#define CENSUS_RPC_CLIENT_LATENCY   5 /* Client side request latency. */
+
+ +
+
+ +
+
+ + + + +
#define CENSUS_RPC_CLIENT_REQUESTS   1 /* Count of client requests sent. */
+
+ +
+
+ +
+
+ + + + +
#define CENSUS_RPC_SERVER_ERRORS   4 /* Server error counts. */
+
+ +
+
+ +
+
+ + + + +
#define CENSUS_RPC_SERVER_LATENCY   6 /* Server side request latency. */
+
+ +
+
+ +
+
+ + + + +
#define CENSUS_RPC_SERVER_REQUESTS   2 /* Count of server requests sent. */
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/rpc__stat__id_8h_source.html b/doc/ref/core.internal/html/rpc__stat__id_8h_source.html new file mode 100644 index 0000000000..d3e7c634cc --- /dev/null +++ b/doc/ref/core.internal/html/rpc__stat__id_8h_source.html @@ -0,0 +1,145 @@ + + + + + + +GRPC Core: src/core/census/rpc_stat_id.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
rpc_stat_id.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef CENSUS_RPC_STAT_ID_H
+
35 #define CENSUS_RPC_STAT_ID_H
+
36 
+
37 /* Stats ID's used for RPC measurements. */
+
38 #define CENSUS_INVALID_STAT_ID 0 /* ID 0 is always invalid */
+
39 #define CENSUS_RPC_CLIENT_REQUESTS 1 /* Count of client requests sent. */
+
40 #define CENSUS_RPC_SERVER_REQUESTS 2 /* Count of server requests sent. */
+
41 #define CENSUS_RPC_CLIENT_ERRORS 3 /* Client error counts. */
+
42 #define CENSUS_RPC_SERVER_ERRORS 4 /* Server error counts. */
+
43 #define CENSUS_RPC_CLIENT_LATENCY 5 /* Client side request latency. */
+
44 #define CENSUS_RPC_SERVER_LATENCY 6 /* Server side request latency. */
+
45 
+
46 #endif /* CENSUS_RPC_STAT_ID_H */
+
+ + + + diff --git a/doc/ref/core.internal/html/search/all_0.html b/doc/ref/core.internal/html/search/all_0.html new file mode 100644 index 0000000000..17b6da85df --- /dev/null +++ b/doc/ref/core.internal/html/search/all_0.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core.internal/html/search/all_0.js b/doc/ref/core.internal/html/search/all_0.js new file mode 100644 index 0000000000..aa3146dcea --- /dev/null +++ b/doc/ref/core.internal/html/search/all_0.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['_5fgnu_5fsource',['_GNU_SOURCE',['../tcp__server__posix_8c.html#a369266c24eacffb87046522897a570d5',1,'_GNU_SOURCE(): tcp_server_posix.c'],['../cpu__linux_8c.html#a369266c24eacffb87046522897a570d5',1,'_GNU_SOURCE(): cpu_linux.c'],['../env__linux_8c.html#a369266c24eacffb87046522897a570d5',1,'_GNU_SOURCE(): env_linux.c'],['../log__linux_8c.html#a369266c24eacffb87046522897a570d5',1,'_GNU_SOURCE(): log_linux.c']]], + ['_5fposix_5fsource',['_POSIX_SOURCE',['../log__linux_8c.html#ac3d144aa01e765a1fae62ab5491c7cc1',1,'log_linux.c']]] +]; diff --git a/doc/ref/core.internal/html/search/all_1.html b/doc/ref/core.internal/html/search/all_1.html new file mode 100644 index 0000000000..e2906449f2 --- /dev/null +++ b/doc/ref/core.internal/html/search/all_1.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core.internal/html/search/all_1.js b/doc/ref/core.internal/html/search/all_1.js new file mode 100644 index 0000000000..2581caad49 --- /dev/null +++ b/doc/ref/core.internal/html/search/all_1.js @@ -0,0 +1,67 @@ +var searchData= +[ + ['accept_5fstream',['accept_stream',['../structgrpc__chttp2__transport.html#a563b98e58df202ea2654dcada575ff2a',1,'grpc_chttp2_transport']]], + ['accept_5fstream_5fuser_5fdata',['accept_stream_user_data',['../structgrpc__chttp2__transport.html#a039e50d9c69f5c8ea2faa685f41d4c8f',1,'grpc_chttp2_transport']]], + ['accepting_5fstream',['accepting_stream',['../structgrpc__chttp2__transport.html#a480ae47b5ab8e7f2926cb83b79952c7e',1,'grpc_chttp2_transport']]], + ['access_5ftoken_5fmd',['access_token_md',['../structgrpc__oauth2__token__fetcher__credentials.html#abf3f319f98882bf7ae8fc81bd95076be',1,'grpc_oauth2_token_fetcher_credentials::access_token_md()'],['../structgrpc__access__token__credentials.html#a194d95853f9a3b3c8a4d9e421628ab09',1,'grpc_access_token_credentials::access_token_md()'],['../structgrpc__fake__oauth2__credentials.html#a497212470e93de0f855f946c4e38b693',1,'grpc_fake_oauth2_credentials::access_token_md()']]], + ['activated',['ACTIVATED',['../server_8c.html#a6ca2e6dbf0562417ab7c66e8907a56b1a84b328a7ebdea4c8c4ed62e035ada28d',1,'server.c']]], + ['active',['active',['../structgrpc__subchannel.html#a9095183eaf77899e3b932d3445cfa45b',1,'grpc_subchannel']]], + ['active_5fversion',['active_version',['../structgrpc__subchannel.html#a6569eb7df7abc7fd022ff8c1a6ce2ae1',1,'grpc_subchannel']]], + ['add_5fchannel_5farg_2ec',['add_channel_arg.c',['../add__channel__arg_8c.html',1,'']]], + ['add_5fchannel_5farg_2eh',['add_channel_arg.h',['../add__channel__arg_8h.html',1,'']]], + ['add_5fdeadline_5fscale',['ADD_DEADLINE_SCALE',['../alarm_8c.html#a27a820068e725cd087726fc5d913a5b6',1,'alarm.c']]], + ['add_5ffd',['add_fd',['../structgrpc__pollset__vtable.html#a72b5c1fe9036b0e1cec8df3696a7aed5',1,'grpc_pollset_vtable']]], + ['add_5fto_5fpollset',['add_to_pollset',['../structgrpc__endpoint__vtable.html#ae2d638d92a090e190a73ba01f2b29556',1,'grpc_endpoint_vtable']]], + ['add_5fto_5fpollset_5fset',['add_to_pollset_set',['../structgrpc__endpoint__vtable.html#ac276ecfd62bad184e1bed7eaa2674b3c',1,'grpc_endpoint_vtable']]], + ['added_5fto_5fiocp',['added_to_iocp',['../structgrpc__winsocket.html#ac79017879c86aece4c98a043c5093d47',1,'grpc_winsocket']]], + ['addr',['addr',['../structgrpc__connect__in__args.html#a01c5d04f3df0288acdd6e68e84ac1834',1,'grpc_connect_in_args::addr()'],['../structgrpc__subchannel__args.html#a70a5fadf5d3d346932fd6140c6bc7fcb',1,'grpc_subchannel_args::addr()'],['../structgrpc__resolved__address.html#a664035b0fc073c4a49f5e7c1cc765c9d',1,'grpc_resolved_address::addr()'],['../structsockaddr__resolver.html#a35fd9ba04c766da4556c76e6f32a6356',1,'sockaddr_resolver::addr()'],['../structgrpc__subchannel.html#a1133699340905f7c7f8c50fc97591647',1,'grpc_subchannel::addr()']]], + ['addr_5flen',['addr_len',['../structgrpc__connect__in__args.html#a258a95ae88f73e33680be007cf68521b',1,'grpc_connect_in_args::addr_len()'],['../structgrpc__subchannel__args.html#a971dc93e9701406ff4b38e62a6b93026',1,'grpc_subchannel_args::addr_len()'],['../structsockaddr__resolver.html#acad714ee68d2e23a4157f49f7fc35e91',1,'sockaddr_resolver::addr_len()'],['../structgrpc__subchannel.html#ab74ce5a1e1067a508e74048ec68aea10',1,'grpc_subchannel::addr_len()']]], + ['addresses',['addresses',['../structinternal__request.html#a0ab2a9ca4e299dc1f8fa41de2e3384b0',1,'internal_request']]], + ['addrs',['addrs',['../structgrpc__resolved__addresses.html#afdf4d95430fcf478a164c665d71e913c',1,'grpc_resolved_addresses']]], + ['after_5fprioritization',['after_prioritization',['../structgrpc__chttp2__hpack__parser.html#ace46342325728ee279253c5ee146d6d0',1,'grpc_chttp2_hpack_parser']]], + ['aggregate_5ftotal_5fweight',['aggregate_total_weight',['../structgrpc__time__averaged__stats.html#a85043e8ac6f293e2e74c8e93cf8660f1',1,'grpc_time_averaged_stats']]], + ['aggregate_5fweighted_5favg',['aggregate_weighted_avg',['../structgrpc__time__averaged__stats.html#a0ba895378c9c903375bbe3d153aae2ab',1,'grpc_time_averaged_stats']]], + ['alarm',['alarm',['../structgrpc__subchannel.html#af42dd9bca8055a7afb3415f857ca28fa',1,'grpc_subchannel::alarm()'],['../structgrpc__call.html#a673a0cdde6bc7ebe5ff66820b8bd0b91',1,'grpc_call::alarm()'],['../structstate__watcher.html#a550220a27c14e026329a260cd581ece2',1,'state_watcher::alarm()']]], + ['alarm_2ec',['alarm.c',['../alarm_8c.html',1,'']]], + ['alarm_2eh',['alarm.h',['../alarm_8h.html',1,'']]], + ['alarm_5fcapacity',['alarm_capacity',['../structgrpc__alarm__heap.html#a6f3027df3cbd0286bd72f5f569b6e7bd',1,'grpc_alarm_heap']]], + ['alarm_5fcount',['alarm_count',['../structgrpc__alarm__heap.html#a0d4ddd4a84b673b0bdf91eb5d219bfa5',1,'grpc_alarm_heap']]], + ['alarm_5fheap_2ec',['alarm_heap.c',['../alarm__heap_8c.html',1,'']]], + ['alarm_5fheap_2eh',['alarm_heap.h',['../alarm__heap_8h.html',1,'']]], + ['alarm_5finternal_2eh',['alarm_internal.h',['../alarm__internal_8h.html',1,'']]], + ['alarms',['alarms',['../structgrpc__alarm__heap.html#af2b6cbe9ec6e6c97a43d21f874264a82',1,'grpc_alarm_heap']]], + ['alg',['alg',['../structjose__header.html#a1f2a1e1efa6f64762c67f7c688790c0d',1,'jose_header']]], + ['algorithm_2ec',['algorithm.c',['../algorithm_8c.html',1,'']]], + ['alloc_2ec',['alloc.c',['../alloc_8c.html',1,'']]], + ['alloc_2eh',['alloc.h',['../alloc_8h.html',1,'']]], + ['allocated',['allocated',['../structgrpc__credentials__md__store.html#a6b9a6a36be981b53ce96afe727e8b95e',1,'grpc_credentials_md_store::allocated()'],['../structjson__writer__userdata.html#a6be58e44bfcd53828551b919df38489d',1,'json_writer_userdata::allocated()']]], + ['allocated_5fcompletions',['allocated_completions',['../structgrpc__call.html#a7fa8c9ad3543546625b2aaa7d2853c05',1,'grpc_call']]], + ['allocated_5fmappings',['allocated_mappings',['../structgrpc__jwt__verifier.html#adcf1fd004d97c7345bffbbfbb5983e3c',1,'grpc_jwt_verifier']]], + ['allocated_5fsize',['allocated_size',['../structtsi__fake__frame.html#ac48b3f97ad8df8b87cf38b75d843591b',1,'tsi_fake_frame']]], + ['alpn_2ec',['alpn.c',['../alpn_8c.html',1,'']]], + ['alpn_2eh',['alpn.h',['../alpn_8h.html',1,'']]], + ['alpn_5fprotocol_5flist',['alpn_protocol_list',['../structtsi__ssl__client__handshaker__factory.html#a92aea4cb778959043703fcc3623c68a9',1,'tsi_ssl_client_handshaker_factory::alpn_protocol_list()'],['../structtsi__ssl__server__handshaker__factory.html#a02579737ef9a57855da159c54c05955f',1,'tsi_ssl_server_handshaker_factory::alpn_protocol_list()']]], + ['alpn_5fprotocol_5flist_5flength',['alpn_protocol_list_length',['../structtsi__ssl__client__handshaker__factory.html#a63415a7f73f99c3ccee2addc915c9482',1,'tsi_ssl_client_handshaker_factory::alpn_protocol_list_length()'],['../structtsi__ssl__server__handshaker__factory.html#a1dd579a38c0ab5d7f1304b26a838954b',1,'tsi_ssl_server_handshaker_factory::alpn_protocol_list_length()']]], + ['amount',['amount',['../structgrpc__chttp2__window__update__parser.html#a6c822f3aa4adda962a78d20ae3ed0da2',1,'grpc_chttp2_window_update_parser']]], + ['announce_5fwindow',['announce_window',['../structgrpc__chttp2__stream__writing.html#a261161be44a3f481f38c7d498da4aa17',1,'grpc_chttp2_stream_writing']]], + ['arg',['arg',['../structarg.html',1,'arg'],['../structlistener.html#a979a29a26af9ef7a83a22f0cdd7fe1a4',1,'listener::arg()'],['../cmdline_8c.html#af240efb36795b416de0779ad5d5159e4',1,'arg(): cmdline.c']]], + ['args',['args',['../structgrpc__channel__args.html#a05aa7aeb14aa9ae5f4d6a34f5c222b76',1,'grpc_channel_args::args()'],['../structgrpc__subchannel__args.html#aef192a6424f47e0830b60102215ad081',1,'grpc_subchannel_args::args()'],['../structconnector.html#ad3d70fc61b888fcb246a4a307b16c4ec',1,'connector::args()'],['../structgrpc__subchannel.html#a9ffccab543a55f5ea53d9075f8d88079',1,'grpc_subchannel::args()'],['../structgpr__cmdline.html#a7966fa04e7e92065675c49535ea9c078',1,'gpr_cmdline::args()']]], + ['argtype',['argtype',['../cmdline_8c.html#a55073e9737969efda87471594edd95d4',1,'cmdline.c']]], + ['argtype_5fbool',['ARGTYPE_BOOL',['../cmdline_8c.html#a55073e9737969efda87471594edd95d4ad141b51bee7ccb14e0c83871f0e3ee0d',1,'cmdline.c']]], + ['argtype_5fint',['ARGTYPE_INT',['../cmdline_8c.html#a55073e9737969efda87471594edd95d4a620547b20bcf630ba7f4d727fdb22521',1,'cmdline.c']]], + ['argtype_5fstring',['ARGTYPE_STRING',['../cmdline_8c.html#a55073e9737969efda87471594edd95d4a50a996a2423b2fd5397a14b362fa23ab',1,'cmdline.c']]], + ['argv0',['argv0',['../structgpr__cmdline.html#ad262ed090b9dca4ea6d4bd7be222a40e',1,'gpr_cmdline']]], + ['async_5fsetup_5ftask',['async_setup_task',['../structcall__data.html#ab21ef8aafd3c095825805e29e69670ce',1,'call_data']]], + ['atm',['atm',['../unionlockfree__node.html#a8bac5e680ab1fce893f7727f7a0be892',1,'lockfree_node']]], + ['atm_2eh',['atm.h',['../atm_8h.html',1,'']]], + ['atm_5fgcc_5fatomic_2eh',['atm_gcc_atomic.h',['../atm__gcc__atomic_8h.html',1,'']]], + ['atm_5fgcc_5fsync_2eh',['atm_gcc_sync.h',['../atm__gcc__sync_8h.html',1,'']]], + ['atm_5fwin32_2eh',['atm_win32.h',['../atm__win32_8h.html',1,'']]], + ['aud',['aud',['../structgrpc__jwt__claims.html#ab3aeb778bc0983824534ffa0c1e51f9c',1,'grpc_jwt_claims']]], + ['audience',['audience',['../structverifier__cb__ctx.html#afdbd6e54ed44e9938991b0ed1915ed2d',1,'verifier_cb_ctx']]], + ['auth_5fcontext',['auth_context',['../structgrpc__security__connector.html#a076a1d251960f6c9c3b173d1d8eb9a17',1,'grpc_security_connector::auth_context()'],['../structgrpc__client__security__context.html#add1cf1d4ba571e2a7de7bbe9bcdeda7c',1,'grpc_client_security_context::auth_context()'],['../structgrpc__server__security__context.html#a75d2dbb8f1f384376186fabb4df937e1',1,'grpc_server_security_context::auth_context()']]], + ['auth_5ffilters_2eh',['auth_filters.h',['../auth__filters_8h.html',1,'']]], + ['authority',['authority',['../structgrpc__uri.html#a45c46df3b35b7f1ce728ea22c9d5dde7',1,'grpc_uri::authority()'],['../structcall__data.html#a216c8a3e91a659b6ad5f3de09bbf8ff0',1,'call_data::authority()'],['../structregistered__call.html#aa41fdf7362b58db7148acb228df62408',1,'registered_call::authority()']]], + ['authority_5fkey',['authority_key',['../structchannel__data.html#abff9ead49754255e5fe5f5767634b553',1,'channel_data']]], + ['authority_5fstring',['authority_string',['../structchannel__data.html#a65b7bac5d0844808a6d6b399ca1d234f',1,'channel_data::authority_string()'],['../structgrpc__channel.html#a9ad924bb3cc339c10d106f48b9a4a959',1,'grpc_channel::authority_string()']]] +]; diff --git a/doc/ref/core.internal/html/search/all_10.html b/doc/ref/core.internal/html/search/all_10.html new file mode 100644 index 0000000000..c55c8367e4 --- /dev/null +++ b/doc/ref/core.internal/html/search/all_10.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core.internal/html/search/all_10.js b/doc/ref/core.internal/html/search/all_10.js new file mode 100644 index 0000000000..8a70bb7876 --- /dev/null +++ b/doc/ref/core.internal/html/search/all_10.js @@ -0,0 +1,95 @@ +var searchData= +[ + ['p',['p',['../structgrpc__arg.html#aab5d11432a11b03a53e5d959d9a5328d',1,'grpc_arg']]], + ['parent',['parent',['../structgrpc__json.html#aad4e1114d877f30ca18de4748995d7ba',1,'grpc_json']]], + ['parser',['parser',['../structgrpc__chttp2__transport__parsing.html#ab12f37091dd64c63d7c175fc19410a61',1,'grpc_chttp2_transport_parsing::parser()'],['../structinternal__request.html#a2de0ab3497414fd48d1a180c4473cfab',1,'internal_request::parser()']]], + ['parser_2ec',['parser.c',['../parser_8c.html',1,'']]], + ['parser_2eh',['parser.h',['../parser_8h.html',1,'']]], + ['parser_5fdata',['parser_data',['../structgrpc__chttp2__transport__parsing.html#acc4557af66848465ca976ea792575442',1,'grpc_chttp2_transport_parsing']]], + ['parsing',['parsing',['../structgrpc__chttp2__hpack__parser.html#a98070825a1d0d4d2c3adabbe127d5eae',1,'grpc_chttp2_hpack_parser::parsing()'],['../structgrpc__chttp2__transport.html#ae8dc6706fb9f342cca10ee7625630b2c',1,'grpc_chttp2_transport::parsing()'],['../structgrpc__chttp2__stream.html#a738b484ef0e8926cdd88fd38cdb7e8f9',1,'grpc_chttp2_stream::parsing()']]], + ['parsing_2ec',['parsing.c',['../parsing_8c.html',1,'']]], + ['parsing_5factive',['parsing_active',['../structgrpc__chttp2__transport.html#ab922e6a980797f432ade63042db8a1a3',1,'grpc_chttp2_transport']]], + ['parsing_5fstream_5fmap',['parsing_stream_map',['../structgrpc__chttp2__transport.html#af9836b789695d32031897da007fc3937',1,'grpc_chttp2_transport']]], + ['path',['path',['../structgrpc__httpcli__request.html#a5e51c4eefce49db4c5406e884ce8a4aa',1,'grpc_httpcli_request::path()'],['../structgrpc__uri.html#a9930f3989c76fd5b36dc63943190e40f',1,'grpc_uri::path()'],['../structregistered__call.html#a9abf9cadc3985fe0eacd827dcb857ea5',1,'registered_call::path()'],['../structcall__data.html#a6bcb3a806a24c9818f835251b97c01f8',1,'call_data::path()']]], + ['path_5fkey',['path_key',['../structchannel__data.html#ad664631571a7160913f62e95368bbb2d',1,'channel_data']]], + ['path_5fstring',['path_string',['../structchannel__data.html#a3b2675d97ec1d95dc4cde4db5b00e0e7',1,'channel_data::path_string()'],['../structgrpc__channel.html#ad55dee766f5bae6c7bc00ad07bcb4b04',1,'grpc_channel::path_string()']]], + ['peer',['peer',['../structgrpc__ssl__channel__security__connector.html#a8624078f54a0cf3dfdd47f4a0ac81042',1,'grpc_ssl_channel_security_connector']]], + ['peer_5fidentity_5fproperty_5fname',['peer_identity_property_name',['../structgrpc__auth__context.html#aab2b0fcdafe3cd96b1240ab5b48f1c33',1,'grpc_auth_context']]], + ['peer_5fstring',['peer_string',['../structgrpc__chttp2__transport.html#a05c91e8c28afe70631f28384957044d7',1,'grpc_chttp2_transport']]], + ['pem_5fcert_5fchain',['pem_cert_chain',['../structgrpc__ssl__config.html#a6b04c3f33486e242c3309904cd99b696',1,'grpc_ssl_config']]], + ['pem_5fcert_5fchain_5fsize',['pem_cert_chain_size',['../structgrpc__ssl__config.html#a926d124256bc0e43526d3d9d64069b03',1,'grpc_ssl_config']]], + ['pem_5fcert_5fchains',['pem_cert_chains',['../structgrpc__ssl__server__config.html#a14d965b9fbe9438e7342be1df0fe6270',1,'grpc_ssl_server_config']]], + ['pem_5fcert_5fchains_5fsizes',['pem_cert_chains_sizes',['../structgrpc__ssl__server__config.html#a57b9e21a656edb763257610059fb0ab0',1,'grpc_ssl_server_config']]], + ['pem_5fprivate_5fkey',['pem_private_key',['../structgrpc__ssl__config.html#ab4c3e2cdc5bd272e0ef18fed777b8c9a',1,'grpc_ssl_config']]], + ['pem_5fprivate_5fkey_5fsize',['pem_private_key_size',['../structgrpc__ssl__config.html#a4344083d7120a2d304fe83b390aff820',1,'grpc_ssl_config']]], + ['pem_5fprivate_5fkeys',['pem_private_keys',['../structgrpc__ssl__server__config.html#ace03c26aa233e1a8b96a064aac885f49',1,'grpc_ssl_server_config']]], + ['pem_5fprivate_5fkeys_5fsizes',['pem_private_keys_sizes',['../structgrpc__ssl__server__config.html#a7ff49477b3bd20af5d25fc436eaf599c',1,'grpc_ssl_server_config']]], + ['pem_5froot_5fcerts',['pem_root_certs',['../structgrpc__ssl__config.html#a1bcd383a60b8b391dddcb2ca592b0e41',1,'grpc_ssl_config::pem_root_certs()'],['../structgrpc__ssl__server__config.html#ae31aacae823523aef8549144b4b5db4d',1,'grpc_ssl_server_config::pem_root_certs()']]], + ['pem_5froot_5fcerts_5fsize',['pem_root_certs_size',['../structgrpc__ssl__config.html#a54b70603e0c6d26023796000ed33e561',1,'grpc_ssl_config::pem_root_certs_size()'],['../structgrpc__ssl__server__config.html#a1ff730874dd4a4833f84574490c0a121',1,'grpc_ssl_server_config::pem_root_certs_size()']]], + ['pending',['PENDING',['../server_8c.html#a6ca2e6dbf0562417ab7c66e8907a56b1a1869818fd53ff519eb8e429301bdff73',1,'server.c']]], + ['pending_5fclosures_5fhead',['pending_closures_head',['../structgrpc__chttp2__transport__global.html#ab2e898e62f398f90f830a543a4bb5b84',1,'grpc_chttp2_transport_global']]], + ['pending_5fclosures_5ftail',['pending_closures_tail',['../structgrpc__chttp2__transport__global.html#a725d69688880a644d58001be3526abaf',1,'grpc_chttp2_transport_global']]], + ['pending_5fevents',['pending_events',['../structgrpc__completion__queue.html#a613cc61628fa742f363fb3125e8550db',1,'grpc_completion_queue']]], + ['pending_5fhead',['pending_head',['../structrequest__matcher.html#aa302d9766527338ff4b416b59bbe1db2',1,'request_matcher']]], + ['pending_5fnext',['pending_next',['../structcall__data.html#ad76af7080f636ebaa53a1575af62094e',1,'call_data']]], + ['pending_5fpick',['pending_pick',['../structpending__pick.html',1,'pending_pick'],['../pick__first_8c.html#ad479509ed6c18dc54a54d231ec73a4e6',1,'pending_pick(): pick_first.c']]], + ['pending_5fpicks',['pending_picks',['../structpick__first__lb__policy.html#a017af289ea4d9b9b392eadec3356ff56',1,'pick_first_lb_policy']]], + ['pending_5ftail',['pending_tail',['../structrequest__matcher.html#a87b7e22827aea02c49a435f8aff3cdfe',1,'request_matcher']]], + ['perform_5fop',['perform_op',['../structgrpc__transport__vtable.html#acbb2ddc453b481e3b682f9dc5f612ac4',1,'grpc_transport_vtable']]], + ['perform_5fstream_5fop',['perform_stream_op',['../structgrpc__transport__vtable.html#a8da19f0fe97ddb546e1deafe65b6e4ab',1,'grpc_transport_vtable']]], + ['persistence_5ffactor',['persistence_factor',['../structgrpc__time__averaged__stats.html#adbadac315658d04556d28685266f1602',1,'grpc_time_averaged_stats']]], + ['pf_5fdestroy',['pf_destroy',['../pick__first_8c.html#ab2197438a4e2ecaee6327c0a642c5bb9',1,'pick_first.c']]], + ['pf_5fexit_5fidle',['pf_exit_idle',['../pick__first_8c.html#a114522776c50c119fcb6eaa6241ee748',1,'pick_first.c']]], + ['pf_5fpick',['pf_pick',['../pick__first_8c.html#af15f282d4ed6e68ea1289e139c42db9a',1,'pick_first.c']]], + ['pf_5fshutdown',['pf_shutdown',['../pick__first_8c.html#a1592bd5626dae37b94c5a9d719beaf17',1,'pick_first.c']]], + ['phase',['phase',['../structstate__watcher.html#a02cd41caaad234931890c2f4740bf345',1,'state_watcher']]], + ['pick',['pick',['../structgrpc__lb__policy__vtable.html#abccc94e7f91ee59b360ee425493d9e6f',1,'grpc_lb_policy_vtable']]], + ['pick_5ffirst_2ec',['pick_first.c',['../pick__first_8c.html',1,'']]], + ['pick_5ffirst_2eh',['pick_first.h',['../pick__first_8h.html',1,'']]], + ['pick_5ffirst_5flb_5fpolicy',['pick_first_lb_policy',['../structpick__first__lb__policy.html',1,'']]], + ['picked_5fchannel',['picked_channel',['../structcall__data.html#a96231ab5cca907d5638687fc2d64cccb',1,'call_data']]], + ['ping',['ping',['../structgrpc__chttp2__transport__parsing.html#ad6dbcdcca6123f0d8bea8061d6c01e30',1,'grpc_chttp2_transport_parsing']]], + ['ping_5fcounter',['ping_counter',['../structgrpc__chttp2__transport__global.html#a1e21a69530e1002dc3929ecd085aa2a7',1,'grpc_chttp2_transport_global']]], + ['pings',['pings',['../structgrpc__chttp2__transport__global.html#a845e72fcdab9af17a971d064ca0fcfad',1,'grpc_chttp2_transport_global::pings()'],['../structgrpc__chttp2__transport__parsing.html#a6b235f899262d6aec77cb9995fc8e57b',1,'grpc_chttp2_transport_parsing::pings()']]], + ['plaintext_5fheader',['PLAINTEXT_HEADER',['../hpack__parser_8c.html#a71eda0fd38f30d8005251eb895de35eea6b3fea68a44cbdbcd96fbdcf35d98a4c',1,'hpack_parser.c']]], + ['pointer',['pointer',['../structgrpc__arg.html#a85b5bbfbdec09ae46cff15628096137a',1,'grpc_arg']]], + ['pollset',['pollset',['../structgrpc__fd__watcher.html#a92942dd676216e46d8852baa5ad572b6',1,'grpc_fd_watcher::pollset()'],['../structinternal__request.html#aba6c008fc3a067827acf1dea8d88dec7',1,'internal_request::pollset()'],['../structcall__data.html#ab3a66a414a73ad49d82a87935ec0c08e',1,'call_data::pollset()'],['../structgrpc__composite__credentials__metadata__context.html#a826b0b290b5335867fb0299e75006083',1,'grpc_composite_credentials_metadata_context::pollset()'],['../structcompute__engine__detector.html#aadec91057716658d818c9dd3ead90ccd',1,'compute_engine_detector::pollset()'],['../structverifier__cb__ctx.html#a66c16d6c5a98e27b0bdc901f4f2f010a',1,'verifier_cb_ctx::pollset()'],['../structpending__pick.html#afcad270e19b4e1e0a709426ca42e01fe',1,'pending_pick::pollset()'],['../structwaiting__for__connect.html#a18622a8e1fc008c3c9e97d0ae72a4369',1,'waiting_for_connect::pollset()'],['../structgrpc__completion__queue.html#aea3ae4f771564833e6082e50c4ebbbdc',1,'grpc_completion_queue::pollset()']]], + ['pollset_2eh',['pollset.h',['../pollset_8h.html',1,'']]], + ['pollset_5fcapacity',['pollset_capacity',['../structgrpc__pollset__set.html#a4b003019253d6308d16b17dfeed86ef7',1,'grpc_pollset_set']]], + ['pollset_5fcount',['pollset_count',['../structgrpc__pollset__set.html#ad6dbbb51fb8ed94dcd176ae4304e38c9',1,'grpc_pollset_set']]], + ['pollset_5fkick_5fposix_2ec',['pollset_kick_posix.c',['../pollset__kick__posix_8c.html',1,'']]], + ['pollset_5fkick_5fposix_2eh',['pollset_kick_posix.h',['../pollset__kick__posix_8h.html',1,'']]], + ['pollset_5fmultipoller_5fwith_5fepoll_2ec',['pollset_multipoller_with_epoll.c',['../pollset__multipoller__with__epoll_8c.html',1,'']]], + ['pollset_5fmultipoller_5fwith_5fpoll_5fposix_2ec',['pollset_multipoller_with_poll_posix.c',['../pollset__multipoller__with__poll__posix_8c.html',1,'']]], + ['pollset_5fposix_2ec',['pollset_posix.c',['../pollset__posix_8c.html',1,'']]], + ['pollset_5fposix_2eh',['pollset_posix.h',['../pollset__posix_8h.html',1,'']]], + ['pollset_5fset',['pollset_set',['../structgrpc__httpcli__context.html#aafa3ada73c3704d7e5d2971266e499f2',1,'grpc_httpcli_context::pollset_set()'],['../structchannel__data.html#ac98d4251e7919399dc6504b3ac6d8977',1,'channel_data::pollset_set()'],['../structgrpc__subchannel.html#a5d4cf69a350aa223319ed1d916ae55d0',1,'grpc_subchannel::pollset_set()']]], + ['pollset_5fset_2eh',['pollset_set.h',['../pollset__set_8h.html',1,'']]], + ['pollset_5fset_5fposix_2ec',['pollset_set_posix.c',['../pollset__set__posix_8c.html',1,'']]], + ['pollset_5fset_5fposix_2eh',['pollset_set_posix.h',['../pollset__set__posix_8h.html',1,'']]], + ['pollset_5fset_5fwindows_2ec',['pollset_set_windows.c',['../pollset__set__windows_8c.html',1,'']]], + ['pollset_5fset_5fwindows_2eh',['pollset_set_windows.h',['../pollset__set__windows_8h.html',1,'']]], + ['pollset_5fwindows_2ec',['pollset_windows.c',['../pollset__windows_8c.html',1,'']]], + ['pollset_5fwindows_2eh',['pollset_windows.h',['../pollset__windows_8h.html',1,'']]], + ['pollsets',['pollsets',['../structgrpc__pollset__set.html#a2bf7578ddd437f32e60a550a5bb9b5fb',1,'grpc_pollset_set::pollsets()'],['../structgrpc__server.html#a747c9f6abd58918d40735615ad95e434',1,'grpc_server::pollsets()']]], + ['port_5fplatform_2eh',['port_platform.h',['../port__platform_8h.html',1,'']]], + ['prev',['prev',['../structgrpc__alarm.html#a806b141943b6b45f16cc7459ab035b97',1,'grpc_alarm::prev()'],['../structgrpc__fd__watcher.html#a1e78f9e51eb0fdb0972c87f5427bb465',1,'grpc_fd_watcher::prev()'],['../structgrpc__iomgr__object.html#a8de5f1d3fc1a38beeed3468afd0ae85d',1,'grpc_iomgr_object::prev()'],['../structgrpc__kick__fd__info.html#ad6a6395fcea0806c6b02846a2ec1ca44',1,'grpc_kick_fd_info::prev()'],['../structgrpc__json.html#a91f0018795a9937b32e3f1517e3646ee',1,'grpc_json::prev()'],['../structgrpc__chttp2__stream__link.html#a19808cff31bc258c69411406e3f65400',1,'grpc_chttp2_stream_link::prev()'],['../structgrpc__chttp2__outstanding__ping.html#aaad08393f94e4da9275e8c5c113b08a6',1,'grpc_chttp2_outstanding_ping::prev()'],['../structgrpc__linked__mdelem.html#ad862a99b02a07077dad3e56841287dc0',1,'grpc_linked_mdelem::prev()'],['../structcall__link.html#abbc2f63926a688bd3fc03f5df8705bc3',1,'call_link::prev()'],['../structchannel__data.html#afbde4416755c3c9a0b7d0021e8e290c5',1,'channel_data::prev()'],['../structgpr__cancellable__list__.html#a58fba7e59ac49bbb9468c2669e21b8b4',1,'gpr_cancellable_list_::prev()']]], + ['private_5fkey',['private_key',['../structgrpc__ssl__pem__key__cert__pair.html#a2d4e3bdbc59d906bc9ca8b873120fd72',1,'grpc_ssl_pem_key_cert_pair::private_key()'],['../structgrpc__auth__json__key.html#a1f2ce4e3cd708243003fc4201f4000b2',1,'grpc_auth_json_key::private_key()']]], + ['private_5fkey_5fid',['private_key_id',['../structgrpc__auth__json__key.html#a2e834734c85148fcfa8de3deff36dea4',1,'grpc_auth_json_key']]], + ['process_5fbytes_5ffrom_5fpeer',['process_bytes_from_peer',['../structtsi__handshaker__vtable.html#aefed0ec53fa68de5417c720357c50a38',1,'tsi_handshaker_vtable']]], + ['properties',['properties',['../structgrpc__auth__context.html#a7090965e44ac9d847543646be11f13c7',1,'grpc_auth_context::properties()'],['../structtsi__peer.html#a5656afb1f55b72e3174a2ed10b46f54a',1,'tsi_peer::properties()']]], + ['property_5fcount',['property_count',['../structgrpc__auth__context.html#aab537c748115de425b595d9efddc6f5b',1,'grpc_auth_context::property_count()'],['../structtsi__peer.html#a573f728d9b7804d06296cfdde3ac81c8',1,'tsi_peer::property_count()']]], + ['protect',['protect',['../structtsi__frame__protector__vtable.html#aa9c6a8a8c0154365f7a62924e1ad458f',1,'tsi_frame_protector_vtable']]], + ['protect_5fflush',['protect_flush',['../structtsi__frame__protector__vtable.html#a4dc40054ebcebc5d9bc87a63adce0614',1,'tsi_frame_protector_vtable']]], + ['protect_5fframe',['protect_frame',['../structtsi__fake__frame__protector.html#a279c6e7620230ba5c790f7063846dbce',1,'tsi_fake_frame_protector']]], + ['protector',['protector',['../structsecure__endpoint.html#a43b8ec6db9164ca64be2b1629822d5ec',1,'secure_endpoint']]], + ['protector_5fmu',['protector_mu',['../structsecure__endpoint.html#a4fa8c5008b701606701d1d93c989961e',1,'secure_endpoint']]], + ['ptr',['ptr',['../structgrpc__pollset.html#a80c508a4baf0ccb6e817801b0d981009',1,'grpc_pollset']]], + ['publish_5fsopb',['publish_sopb',['../structgrpc__chttp2__stream__global.html#a8fb7af1b8962b843978bd8f7fff400fe',1,'grpc_chttp2_stream_global']]], + ['publish_5fstate',['publish_state',['../structgrpc__chttp2__stream__global.html#a62637fc6cff3b84aabacc3e9d9bdd1e3',1,'grpc_chttp2_stream_global']]], + ['published',['published',['../structsockaddr__resolver.html#a38967133a685f7d20effceaaeec54e5e',1,'sockaddr_resolver']]], + ['published_5fcancelled',['published_cancelled',['../structgrpc__chttp2__stream__global.html#a7b7f83db6f582e75152fbf85aeedd6be',1,'grpc_chttp2_stream_global']]], + ['published_5fstate',['published_state',['../structgrpc__chttp2__stream__global.html#a9e33abb09685b8b27f46befe38c82665',1,'grpc_chttp2_stream_global']]], + ['published_5fversion',['published_version',['../structdns__resolver.html#aaf1729e3f0480a378eb4689e6105454b',1,'dns_resolver']]], + ['pushed',['pushed',['../structgpr__stack__lockfree.html#a2e9bcdf7ab0d5eba90feec6754a7884a',1,'gpr_stack_lockfree']]] +]; diff --git a/doc/ref/core.internal/html/search/all_11.html b/doc/ref/core.internal/html/search/all_11.html new file mode 100644 index 0000000000..6f3943a941 --- /dev/null +++ b/doc/ref/core.internal/html/search/all_11.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core.internal/html/search/all_11.js b/doc/ref/core.internal/html/search/all_11.js new file mode 100644 index 0000000000..f1c017a157 --- /dev/null +++ b/doc/ref/core.internal/html/search/all_11.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['qbuf',['qbuf',['../structgrpc__chttp2__transport__global.html#abc8dc77619b0938e2ffa35bdf35bbae4',1,'grpc_chttp2_transport_global::qbuf()'],['../structgrpc__chttp2__transport__parsing.html#a187f56865b31b7a1a29a3d95e81ab308',1,'grpc_chttp2_transport_parsing::qbuf()']]], + ['queue_5fdeadline_5fcap',['queue_deadline_cap',['../structshard__type.html#a561cd2753aeec34ba62c823ca9471168',1,'shard_type']]] +]; diff --git a/doc/ref/core.internal/html/search/all_12.html b/doc/ref/core.internal/html/search/all_12.html new file mode 100644 index 0000000000..3c7c89ef60 --- /dev/null +++ b/doc/ref/core.internal/html/search/all_12.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core.internal/html/search/all_12.js b/doc/ref/core.internal/html/search/all_12.js new file mode 100644 index 0000000000..74aa27a952 --- /dev/null +++ b/doc/ref/core.internal/html/search/all_12.js @@ -0,0 +1,100 @@ +var searchData= +[ + ['r',['r',['../structgrpc__httpcli__parser.html#ab46efe042fad6d5c2b22f51e06bf9d2a',1,'grpc_httpcli_parser']]], + ['random',['random',['../structgrpc__subchannel.html#aaf1f3f4c177860b9b000fea1c67e4af6',1,'grpc_subchannel']]], + ['raw',['raw',['../structgrpc__byte__buffer.html#ae8231d6e62b3d7f4cfbc6a564c84bae6',1,'grpc_byte_buffer']]], + ['rc',['rc',['../structnew__slice__refcount.html#ac72a90414d0021e8902d5cd9e5010f1b',1,'new_slice_refcount::rc()'],['../structnew__with__len__slice__refcount.html#a059da4cf3d67bbf0f8407872ee4c583b',1,'new_with_len_slice_refcount::rc()']]], + ['read_5fcb',['read_cb',['../structsecure__endpoint.html#a1abae10ca6f256c0ebc655e68f1d5a47',1,'secure_endpoint']]], + ['read_5fchar',['read_char',['../structgrpc__json__reader__vtable.html#ab5c62db09b25908b401cf00eb84861ca',1,'grpc_json_reader_vtable']]], + ['read_5fclosed',['read_closed',['../structgrpc__chttp2__stream__global.html#ab66f69dae83b6afaa33709e97b75243a',1,'grpc_chttp2_stream_global']]], + ['read_5ffd',['read_fd',['../structgrpc__wakeup__fd__info.html#ab7484c58e72718ae50ab1bb094fecf86',1,'grpc_wakeup_fd_info']]], + ['read_5finfo',['read_info',['../structgrpc__winsocket.html#ae268de02b0b0ca7a09944a50567620cb',1,'grpc_winsocket']]], + ['read_5fstaging_5fbuffer',['read_staging_buffer',['../structsecure__endpoint.html#acb9f223fa1653bb697b63e21226c2915',1,'secure_endpoint']]], + ['read_5fstate',['read_state',['../structgrpc__call.html#a9f26a9a6519f11d88d97cd0b1f92c440',1,'grpc_call::read_state()'],['../call_8c.html#a67c68be8fc9fb0341b9c1c0881f19d17',1,'read_state(): call.c']]], + ['read_5fstate_5fgot_5finitial_5fmetadata',['READ_STATE_GOT_INITIAL_METADATA',['../call_8c.html#a67c68be8fc9fb0341b9c1c0881f19d17a37370f960213dc0f115eb8495e038b2a',1,'call.c']]], + ['read_5fstate_5finitial',['READ_STATE_INITIAL',['../call_8c.html#a67c68be8fc9fb0341b9c1c0881f19d17ad2197f646af67a6d937754c3a1417439',1,'call.c']]], + ['read_5fstate_5fread_5fclosed',['READ_STATE_READ_CLOSED',['../call_8c.html#a67c68be8fc9fb0341b9c1c0881f19d17a9c7de87cb383873b75a6de98df2dc445',1,'call.c']]], + ['read_5fstate_5fstream_5fclosed',['READ_STATE_STREAM_CLOSED',['../call_8c.html#a67c68be8fc9fb0341b9c1c0881f19d17add056921b7a5dd24d85db716da87594a',1,'call.c']]], + ['read_5fuser_5fdata',['read_user_data',['../structsecure__endpoint.html#ae9adc2f043f1b89821897f926bd95ff5',1,'secure_endpoint']]], + ['read_5fwatcher',['read_watcher',['../structgrpc__fd.html#a6ade81ff0aec08731167a2a992ce6b27',1,'grpc_fd']]], + ['reading_5faction',['reading_action',['../structgrpc__chttp2__transport.html#ab53eb8ec23d323a389f1a5456d3f1885',1,'grpc_chttp2_transport']]], + ['reading_5fmessage',['reading_message',['../structgrpc__call.html#a9db5a5b3f304f49fef8c5ed3ce754761',1,'grpc_call']]], + ['readst',['readst',['../structgrpc__fd.html#a339e2dfc459ee7dbc066dc6f606a7cf0',1,'grpc_fd']]], + ['reason_5fbytes',['reason_bytes',['../structgrpc__chttp2__rst__stream__parser.html#a254db3891d5bf60dec2f27a5ee6ef496',1,'grpc_chttp2_rst_stream_parser']]], + ['received_5fclose',['received_close',['../structgrpc__chttp2__stream__parsing.html#a906592013b034420e0a9e8de6321322b',1,'grpc_chttp2_stream_parsing']]], + ['received_5fstatus',['received_status',['../structreceived__status.html',1,'']]], + ['receiving',['receiving',['../structgrpc__call.html#a95e4aaa4d6cd6b6f1568282178ba3682',1,'grpc_call']]], + ['record_5fstat_2ec',['record_stat.c',['../record__stat_8c.html',1,'']]], + ['recv_5fclose_5fon_5fserver',['recv_close_on_server',['../structgrpc__op.html#af327bcd87b609572c39ca6bfe8dbd9f1',1,'grpc_op']]], + ['recv_5fdone_5fclosure',['recv_done_closure',['../structgrpc__chttp2__stream__global.html#a4a353666e2dbff4aaebc6744de4dd08c',1,'grpc_chttp2_stream_global']]], + ['recv_5finitial_5fmetadata',['recv_initial_metadata',['../structgrpc__op.html#a81ebfcab8db61dd485b88cafc51f2749',1,'grpc_op']]], + ['recv_5fmessage',['recv_message',['../structgrpc__op.html#afca6c4cc5b0c2629bb559d2037907ac1',1,'grpc_op::recv_message()'],['../uniongrpc__ioreq__data.html#a5ea7284dc03df43bf75f8111bd9339f0',1,'grpc_ioreq_data::recv_message()']]], + ['recv_5fmetadata',['recv_metadata',['../uniongrpc__ioreq__data.html#a4e3eb01d90e05b23a70c19ad92cdafc8',1,'grpc_ioreq_data']]], + ['recv_5fops',['recv_ops',['../structgrpc__transport__stream__op.html#abd84b0fc93fa58092d4803c4c46e5991',1,'grpc_transport_stream_op::recv_ops()'],['../structcall__data.html#a5a77f05f0ebe7e2fa851cb29f4175fd2',1,'call_data::recv_ops()'],['../structgrpc__call.html#a77c3749f20284b1a9a836286a470a08e',1,'grpc_call::recv_ops()']]], + ['recv_5fstate',['recv_state',['../structgrpc__transport__stream__op.html#ae4505fafa286964d362de807efddf0fc',1,'grpc_transport_stream_op::recv_state()'],['../structgrpc__call.html#a23a473fb241cc663a16873d18690535b',1,'grpc_call::recv_state()'],['../structcall__data.html#a58e1bd0d7508078f1e2ffae518f284c9',1,'call_data::recv_state()']]], + ['recv_5fstatus',['recv_status',['../uniongrpc__ioreq__data.html#ab9788c1a37dea6052f004111bc67d6e7',1,'grpc_ioreq_data']]], + ['recv_5fstatus_5fdetails',['recv_status_details',['../uniongrpc__ioreq__data.html#acddc8869b041b695c617cb46e941859e',1,'grpc_ioreq_data']]], + ['recv_5fstatus_5fon_5fclient',['recv_status_on_client',['../structgrpc__op.html#a42f88554cd082ce8c66560ea24d8a8e3',1,'grpc_op']]], + ['ref',['ref',['../structgrpc__connector__vtable.html#ad68d5f41a883e3bd7934771e59f26b15',1,'grpc_connector_vtable::ref()'],['../structgrpc__resolver__factory__vtable.html#a205881c42a64bda699ea7699e6fd3527',1,'grpc_resolver_factory_vtable::ref()'],['../structgrpc__subchannel__factory__vtable.html#a89c654ab7f05b8108977771ec6e7e3ed',1,'grpc_subchannel_factory_vtable::ref()'],['../structsecure__endpoint.html#a02863c0d02a5776bee65747c5553f517',1,'secure_endpoint::ref()'],['../structgpr__slice__refcount.html#abf3fba35fdc6a4cd2d47e5ca19107ed7',1,'gpr_slice_refcount::ref()']]], + ['ref_5flog',['REF_LOG',['../subchannel_8c.html#a12a25b2a728caf10ef93487e8a41896c',1,'subchannel.c']]], + ['ref_5fmd_5flocked',['REF_MD_LOCKED',['../metadata_8c.html#a5456b7d52304a8749ca71440bc7c2a0f',1,'metadata.c']]], + ['ref_5fpass_5fargs',['REF_PASS_ARGS',['../subchannel_8c.html#a8b6e7b7a1e9f2434b354c7bae2760ab0',1,'subchannel.c']]], + ['ref_5ftransport',['REF_TRANSPORT',['../chttp2__transport_8c.html#a14b095839f9792316e7aea2ab7a68bdc',1,'chttp2_transport.c']]], + ['refcnt',['refcnt',['../structinternal__metadata.html#af658b2849de44285d529f4aa4da956f4',1,'internal_metadata']]], + ['refcount',['refcount',['../structgrpc__credentials__md__store.html#adf0f64c7bbf264de9434ea9d656bf694',1,'grpc_credentials_md_store::refcount()'],['../structgrpc__credentials.html#a823ba4bf9cc44b1173f6b4889a3446d6',1,'grpc_credentials::refcount()'],['../structgrpc__security__connector.html#a6f687c76fd94573412f97c9f3f0abf19',1,'grpc_security_connector::refcount()'],['../structgrpc__auth__context.html#a1f00929fc059a0445eb61cbe73deaaae',1,'grpc_auth_context::refcount()'],['../structgrpc__server__secure__state.html#ae73c249bbe0e5c30a103fe4fa2ec1f13',1,'grpc_server_secure_state::refcount()'],['../structinternal__string.html#a9e0174af2b64a5b66e09080c92a0aec2',1,'internal_string::refcount()'],['../structgpr__slice.html#a04d0bcc8331409fa3b3af29ee0b86a24',1,'gpr_slice::refcount()']]], + ['refcounted',['refcounted',['../structgpr__slice.html#a50bbfa04c0c8f5db1190cbc86bdfd102',1,'gpr_slice']]], + ['refresh_5ftoken',['refresh_token',['../structgrpc__refresh__token__credentials.html#a5aafa55d9b706f325ba7801bc90f9cdb',1,'grpc_refresh_token_credentials::refresh_token()'],['../structgrpc__auth__refresh__token.html#a5dea27f01a2952d14e34ea89473d4a12',1,'grpc_auth_refresh_token::refresh_token()']]], + ['refs',['refs',['../structgrpc__lb__policy.html#a729d56e37097d14d3a84090aa85d4485',1,'grpc_lb_policy::refs()'],['../structgrpc__resolver.html#aabfb460da52c0386f40415bf4ae0d233',1,'grpc_resolver::refs()'],['../structgrpc__chttp2__transport.html#a90319aafb59fb5c00ee8ae113e9a3d69',1,'grpc_chttp2_transport::refs()'],['../structconnector.html#ab2f6962cb7eff201b6b79655d8bace00',1,'connector::refs()'],['../structsubchannel__factory.html#a32ce0e8c21b78563576c8a620251a3f5',1,'subchannel_factory::refs()'],['../structgrpc__client__config.html#a176869d426cb1799e6eeebeb9cefd7e2',1,'grpc_client_config::refs()'],['../structdns__resolver.html#ab33e01167cedc1126007318a3c71238e',1,'dns_resolver::refs()'],['../structsockaddr__resolver.html#ae6ff58914bcf9afa2399f39fdd27ad5f',1,'sockaddr_resolver::refs()'],['../structconnection.html#a4f45cf20601ceebe1381dc83f1dbf516',1,'connection::refs()'],['../structgrpc__subchannel.html#ab4a1c366594861d4aa0da8b4ec9a3475',1,'grpc_subchannel::refs()'],['../structgrpc__subchannel__call.html#a74891e108fd0a94a2915e828c2a172c5',1,'grpc_subchannel_call::refs()'],['../structmerge__args__factory.html#aae69ffa567a7a04cf4c0f9f8eba0b852',1,'merge_args_factory::refs()'],['../structgrpc__channel.html#acc936d967cd122b7b5300387e8ea0abe',1,'grpc_channel::refs()'],['../structinternal__string.html#a870bec6b963c65fedd1290747c207650',1,'internal_string::refs()'],['../structgrpc__mdctx.html#a2764b3ed2bf9e59845aa9e1f02857d25',1,'grpc_mdctx::refs()'],['../structnew__slice__refcount.html#a2baa2f77ff0fd04fe3aa6b80c573e8fe',1,'new_slice_refcount::refs()'],['../structnew__with__len__slice__refcount.html#ae68449b1a65da5e9561a4762f5601fa3',1,'new_with_len_slice_refcount::refs()'],['../structmalloc__refcount.html#adcdbbc75e835cbf6fc50025880f5e569',1,'malloc_refcount::refs()']]], + ['refst',['refst',['../structgrpc__fd.html#ac4769567bc6b9a0129269bc02dcce6f1',1,'grpc_fd']]], + ['registered',['registered',['../structrequested__call.html#a7ee06556aae0a6e22ca157a961c484ce',1,'requested_call']]], + ['registered_5fcall',['registered_call',['../structregistered__call.html',1,'registered_call'],['../channel_8c.html#a52a88ba75481c926895932b8b05951c2',1,'registered_call(): channel.c'],['../server_8c.html#aca2d7591ebc428dc14cf07f72e88c38aa969f2119db66590473c2fa7f00e21c5a',1,'REGISTERED_CALL(): server.c']]], + ['registered_5fcall_5fmu',['registered_call_mu',['../structgrpc__channel.html#aa59a21ba43df1a848efbc177cd5725cd',1,'grpc_channel']]], + ['registered_5fcalls',['registered_calls',['../structgrpc__channel.html#ac92f7c7b4dd87743f30a16aaaf91f061',1,'grpc_channel']]], + ['registered_5fmethod',['registered_method',['../structregistered__method.html',1,'registered_method'],['../structrequested__call.html#ae210a8bd23019d2008f1eb9ab1320eae',1,'requested_call::registered_method()'],['../server_8c.html#a6f8273ccf99ef212028d3488d579cf3b',1,'registered_method(): server.c']]], + ['registered_5fmethod_5fmax_5fprobes',['registered_method_max_probes',['../structchannel__data.html#aa9b814136d8be896321481e78098008b',1,'channel_data']]], + ['registered_5fmethod_5fslots',['registered_method_slots',['../structchannel__data.html#a707bff2830ad502cdd36ec18235f12e1',1,'channel_data']]], + ['registered_5fmethods',['registered_methods',['../structchannel__data.html#a0c63e5d9500bc02961af18685479fc89',1,'channel_data::registered_methods()'],['../structgrpc__server.html#addf8e1f57942da0e5f7235668c0968bd',1,'grpc_server::registered_methods()']]], + ['registered_5fresolver',['registered_resolver',['../structregistered__resolver.html',1,'']]], + ['regress_5fweight',['regress_weight',['../structgrpc__time__averaged__stats.html#a24abd6f81483e9b6cecfa39eefffd70d',1,'grpc_time_averaged_stats']]], + ['remaining_5finput',['remaining_input',['../structjson__reader__userdata.html#a3535b10b322fe1063463bbddadcbad61',1,'json_reader_userdata']]], + ['remaining_5fslice_5fbytes',['remaining_slice_bytes',['../structcall__data.html#a69fca2329317c8cf3d9c215334b2aa40',1,'call_data']]], + ['req_5fdone',['REQ_DONE',['../call_8c.html#a54d1fff20be8e7414ba15f456824bb17a9156fc9ac04c64171f05a5692a1356a9',1,'call.c']]], + ['req_5finitial',['REQ_INITIAL',['../call_8c.html#a54d1fff20be8e7414ba15f456824bb17a6268d672744bde6005590a30c8189779',1,'call.c']]], + ['req_5fready',['REQ_READY',['../call_8c.html#a54d1fff20be8e7414ba15f456824bb17a99044b02beb639fe667b1a5fcae61a96',1,'call.c']]], + ['req_5fstate',['req_state',['../call_8c.html#a54d1fff20be8e7414ba15f456824bb17',1,'call.c']]], + ['reqinfo_5fmaster',['reqinfo_master',['../structreqinfo__master.html',1,'']]], + ['reqset_5fdone',['REQSET_DONE',['../call_8c.html#afa1b821bc0571d94c462688e3deeeafd',1,'call.c']]], + ['reqset_5fempty',['REQSET_EMPTY',['../call_8c.html#a7810380d8811f64f6167a7427f22beb4',1,'call.c']]], + ['request_5fdata',['request_data',['../structgrpc__call.html#a7d8e4ea86a2539b59f762ba97652bd8d',1,'grpc_call']]], + ['request_5fflags',['request_flags',['../structgrpc__call.html#a43f9cd5720841b99ea69fd94aed0ee13',1,'grpc_call']]], + ['request_5ffreelist',['request_freelist',['../structgrpc__server.html#a70a23bf1b0e885d055f0c45382e7110a',1,'grpc_server']]], + ['request_5fkiller',['request_killer',['../structrequest__killer.html',1,'']]], + ['request_5fmatcher',['request_matcher',['../structrequest__matcher.html',1,'request_matcher'],['../structregistered__method.html#af4a01615a9970b99e38cacf58ed49da0',1,'registered_method::request_matcher()'],['../server_8c.html#a7c5e0489837d1efdf2f3fdb7087b59d4',1,'request_matcher(): server.c']]], + ['request_5fmetadata_5fcreds',['request_metadata_creds',['../structgrpc__channel__security__connector.html#a56bc3c048e45431ae50bdfec49f22f3d',1,'grpc_channel_security_connector']]], + ['request_5fset',['request_set',['../structgrpc__call.html#adace21c70dcd672521c08f0465e33c95',1,'grpc_call']]], + ['request_5ftext',['request_text',['../structinternal__request.html#a17b242a8f7682f8438f357c5c7f05f67',1,'internal_request']]], + ['requested_5fcall',['requested_call',['../structrequested__call.html',1,'requested_call'],['../server_8c.html#a9b3e4fcd769f2a62cbbbde867715ef2c',1,'requested_call(): server.c']]], + ['requested_5fcall_5ftype',['requested_call_type',['../server_8c.html#aca2d7591ebc428dc14cf07f72e88c38a',1,'server.c']]], + ['requested_5fcalls',['requested_calls',['../structgrpc__server.html#ac582d8e154ce4f8a326bcf3a76f235e6',1,'grpc_server']]], + ['requests',['requests',['../structrequest__matcher.html#a5f69adf001614b2fda3756100b3ba60d',1,'request_matcher::requests()'],['../structrequest__killer.html#ae9c50f145796c60343bdc4100a79c231',1,'request_killer::requests()']]], + ['resolve_5faddress_2eh',['resolve_address.h',['../resolve__address_8h.html',1,'']]], + ['resolve_5faddress_5fposix_2ec',['resolve_address_posix.c',['../resolve__address__posix_8c.html',1,'']]], + ['resolve_5faddress_5fwindows_2ec',['resolve_address_windows.c',['../resolve__address__windows_8c.html',1,'']]], + ['resolved_5fconfig',['resolved_config',['../structdns__resolver.html#a368c90c0b364fd6b3459ca6ef25cfd6d',1,'dns_resolver']]], + ['resolved_5fversion',['resolved_version',['../structdns__resolver.html#aee7098ec311fd223ceb6e57e8bfdd2fc',1,'dns_resolver']]], + ['resolver',['resolver',['../structchannel__data.html#a8cf393ab5da1a500d6c6f8543c408682',1,'channel_data']]], + ['resolver_2ec',['resolver.c',['../resolver_8c.html',1,'']]], + ['resolver_2eh',['resolver.h',['../resolver_8h.html',1,'']]], + ['resolver_5ffactory_2ec',['resolver_factory.c',['../resolver__factory_8c.html',1,'']]], + ['resolver_5ffactory_2eh',['resolver_factory.h',['../resolver__factory_8h.html',1,'']]], + ['resolver_5fregistry_2ec',['resolver_registry.c',['../resolver__registry_8c.html',1,'']]], + ['resolver_5fregistry_2eh',['resolver_registry.h',['../resolver__registry_8h.html',1,'']]], + ['resolving',['resolving',['../structdns__resolver.html#abc4a241cfa112a6b430d39749a2f6faf',1,'dns_resolver']]], + ['result',['result',['../structconnector.html#a9b15773040e783143121ad19ad3582d8',1,'connector::result()'],['../structtsi__fake__handshaker.html#a7dc6f4f013c03d3aa669c3a2fb9a761c',1,'tsi_fake_handshaker::result()'],['../structtsi__ssl__handshaker.html#a12ec1007039ee18e12dee8b2fd2670b7',1,'tsi_ssl_handshaker::result()']]], + ['root_5fchannel_5fdata',['root_channel_data',['../structgrpc__server.html#ab9a64dbadf2655aa804caae0fbefe47d',1,'grpc_server']]], + ['rotl32',['ROTL32',['../murmur__hash_8c.html#aff6ce4cae0564b039bbb4ef0cbdc0032',1,'murmur_hash.c']]], + ['round_5fup_5fto_5falignment_5fsize',['ROUND_UP_TO_ALIGNMENT_SIZE',['../channel__stack_8c.html#ab55c837def86039053f144d9fd6151d1',1,'channel_stack.c']]], + ['rpc_5fstat_5fid_2eh',['rpc_stat_id.h',['../rpc__stat__id_8h.html',1,'']]], + ['rst_5fstream',['rst_stream',['../structgrpc__chttp2__transport__parsing.html#a3a0c36ded4c323b01b323643d9750c04',1,'grpc_chttp2_transport_parsing']]], + ['rst_5fstream_5freason',['rst_stream_reason',['../structgrpc__chttp2__stream__parsing.html#aa6226c0cb8e4d6bd5830cc36f1efd4d2',1,'grpc_chttp2_stream_parsing']]] +]; diff --git a/doc/ref/core.internal/html/search/all_13.html b/doc/ref/core.internal/html/search/all_13.html new file mode 100644 index 0000000000..0bd629b86b --- /dev/null +++ b/doc/ref/core.internal/html/search/all_13.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core.internal/html/search/all_13.js b/doc/ref/core.internal/html/search/all_13.js new file mode 100644 index 0000000000..2b723a5acb --- /dev/null +++ b/doc/ref/core.internal/html/search/all_13.js @@ -0,0 +1,219 @@ +var searchData= +[ + ['saw_5frst_5fstream',['saw_rst_stream',['../structgrpc__chttp2__stream__parsing.html#ad6a925394f238fec8e6089fa07aaa03b',1,'grpc_chttp2_stream_parsing']]], + ['sc',['sc',['../structgrpc__server__secure__state.html#ad912fd9fa1531a5f016f83e49c768512',1,'grpc_server_secure_state']]], + ['scheme',['scheme',['../structgrpc__uri.html#a6163de89ece765552254810174fdfc32',1,'grpc_uri::scheme()'],['../structcall__data.html#aa63048a662dd766734726542dba0f27a',1,'call_data::scheme()'],['../structchannel__data.html#ac7a621172aad5d1876691fb987a670e6',1,'channel_data::scheme()'],['../structregistered__resolver.html#a8b53ba24e4ee032d66224f3588bceaba',1,'registered_resolver::scheme()']]], + ['scope',['scope',['../structgrpc__service__account__credentials.html#a12e5661a8313375683678cde3fbe765f',1,'grpc_service_account_credentials']]], + ['secure_5fchannel_5fcreate_2ec',['secure_channel_create.c',['../secure__channel__create_8c.html',1,'']]], + ['secure_5fendpoint',['secure_endpoint',['../structsecure__endpoint.html',1,'secure_endpoint'],['../structgrpc__secure__transport__setup.html#ae7e2e65bef91a9804fe95a47c4bfb8cb',1,'grpc_secure_transport_setup::secure_endpoint()']]], + ['secure_5fendpoint_2ec',['secure_endpoint.c',['../secure__endpoint_8c.html',1,'']]], + ['secure_5fendpoint_2eh',['secure_endpoint.h',['../secure__endpoint_8h.html',1,'']]], + ['secure_5fpeer_5fname',['secure_peer_name',['../structgrpc__httpcli__ssl__channel__security__connector.html#a12192010723cff00bb4e87c9704ad768',1,'grpc_httpcli_ssl_channel_security_connector']]], + ['secure_5ftransport_5fsetup_2ec',['secure_transport_setup.c',['../secure__transport__setup_8c.html',1,'']]], + ['secure_5ftransport_5fsetup_2eh',['secure_transport_setup.h',['../secure__transport__setup_8h.html',1,'']]], + ['security_5fconnector',['security_connector',['../structchannel__data.html#a78473c478d6fbbb716fb77864c94efd6',1,'channel_data::security_connector()'],['../structchannel__data.html#a524d21c79ca4cf1ff1833c50197a9f1b',1,'channel_data::security_connector()'],['../structconnector.html#a83d8a5c7e3b72cdee46c36cca81d5cb0',1,'connector::security_connector()'],['../structsubchannel__factory.html#a9b700fff25d9d9c6739dfbed18ce5e2b',1,'subchannel_factory::security_connector()']]], + ['security_5fconnector_2ec',['security_connector.c',['../security__connector_8c.html',1,'']]], + ['security_5fconnector_2eh',['security_connector.h',['../security__connector_8h.html',1,'']]], + ['security_5fcontext_2ec',['security_context.c',['../security__context_8c.html',1,'']]], + ['security_5fcontext_2eh',['security_context.h',['../security__context_8h.html',1,'']]], + ['security_5fcontext_5fset',['security_context_set',['../structcall__data.html#a74f306e56988bd7e20d0116829ce4128',1,'call_data']]], + ['seen_5fauthority',['seen_authority',['../structcall__data.html#a5f3505d88df4cba5a1ed776c46b88b7e',1,'call_data']]], + ['seen_5fgoaway',['seen_goaway',['../structgrpc__chttp2__transport__global.html#ac23343b063865623cab752f3882ef829',1,'grpc_chttp2_transport_global']]], + ['seen_5fpath',['seen_path',['../structcall__data.html#acb1130d03f1fd0db1cf0d8d1fc10866e',1,'call_data']]], + ['seen_5fpost',['seen_post',['../structcall__data.html#aea6244f4fd9d2e7ccb5615b9f5ea5fe0',1,'call_data']]], + ['seen_5fscheme',['seen_scheme',['../structcall__data.html#a502cf8ae568f38ae501877458e399796',1,'call_data']]], + ['seen_5fte_5ftrailers',['seen_te_trailers',['../structcall__data.html#a54d050afd0c9cc8d05a561034602f280',1,'call_data']]], + ['selected',['selected',['../structpick__first__lb__policy.html#ad4fd8d1ef626d9c42f631317921634ef',1,'pick_first_lb_policy']]], + ['send_5faction',['send_action',['../call_8c.html#a5c099cbc41809afd83d900cef74c2819',1,'call.c']]], + ['send_5fbuffered_5finitial_5fmetadata',['SEND_BUFFERED_INITIAL_METADATA',['../call_8c.html#a5c099cbc41809afd83d900cef74c2819aa0eea39729a5b7c862262626fbe3d352',1,'call.c']]], + ['send_5fbuffered_5fmessage',['SEND_BUFFERED_MESSAGE',['../call_8c.html#a5c099cbc41809afd83d900cef74c2819ad0b19b54eb40a63af9f7d957ff717f6e',1,'call.c']]], + ['send_5fclosed',['send_closed',['../structgrpc__chttp2__stream__writing.html#abbea2f6f529041a009046136dcff99f0',1,'grpc_chttp2_stream_writing']]], + ['send_5fdeadline',['send_deadline',['../structgrpc__call.html#a5de7c68ffa6939ff2e1c43c4cd418315',1,'grpc_call']]], + ['send_5fdone_5fclosure',['send_done_closure',['../structgrpc__chttp2__stream__global.html#a2f16eb7d0da87fe60a2fcc35536f3905',1,'grpc_chttp2_stream_global']]], + ['send_5ffinish',['SEND_FINISH',['../call_8c.html#a5c099cbc41809afd83d900cef74c2819addfb3ce4bfcd50ee7ec74608fb32f8ef',1,'call.c']]], + ['send_5fgoaway',['send_goaway',['../structgrpc__transport__op.html#aceb73c54b2b677eec23a2bb1507c4704',1,'grpc_transport_op']]], + ['send_5finitial_5fmetadata',['send_initial_metadata',['../structgrpc__op.html#a8e6202e19130ecb872de211a95dcee83',1,'grpc_op::send_initial_metadata()'],['../structgrpc__call.html#a96ac69dc425de5924edd871f93338112',1,'grpc_call::send_initial_metadata()'],['../call_8c.html#a5c099cbc41809afd83d900cef74c2819a7045eff04495ab507242e5da11bcb4ff',1,'SEND_INITIAL_METADATA(): call.c']]], + ['send_5finitial_5fmetadata_5fcount',['send_initial_metadata_count',['../structgrpc__call.html#abb6adc9d5f666a056c89172f506fcc3d',1,'grpc_call']]], + ['send_5fmessage',['send_message',['../structgrpc__op.html#a3b6c1b3456306a802f6eb0e3e8d0e434',1,'grpc_op::send_message()'],['../uniongrpc__ioreq__data.html#abcf05c127005fb6267a4f1ef73daec45',1,'grpc_ioreq_data::send_message()'],['../call_8c.html#a5c099cbc41809afd83d900cef74c2819a5def54f3ec39f74661e1614669603d71',1,'SEND_MESSAGE(): call.c']]], + ['send_5fmetadata',['send_metadata',['../uniongrpc__ioreq__data.html#a4b9337cc24e8b42caa5c1502be083952',1,'grpc_ioreq_data']]], + ['send_5fnothing',['SEND_NOTHING',['../call_8c.html#a5c099cbc41809afd83d900cef74c2819ad40596b21bcebc4654bb8da5c7469b01',1,'call.c']]], + ['send_5fops',['send_ops',['../structgrpc__transport__stream__op.html#aa94e5103c8d9845533016b1dac0c1691',1,'grpc_transport_stream_op::send_ops()'],['../structgrpc__call.html#ab17467642afa4f6c1c27bb9013093592',1,'grpc_call::send_ops()']]], + ['send_5fping',['send_ping',['../structgrpc__transport__op.html#abebcf932a4fa8d14006230dee06e0286',1,'grpc_transport_op']]], + ['send_5fstatus',['send_status',['../uniongrpc__ioreq__data.html#a3711b0c39c293284a4e4897f74c974ab',1,'grpc_ioreq_data']]], + ['send_5fstatus_5ffrom_5fserver',['send_status_from_server',['../structgrpc__op.html#afe7b3ae8f4c495a187f155a5fd6956bb',1,'grpc_op']]], + ['send_5ftrailing_5fmetadata_5fand_5ffinish',['SEND_TRAILING_METADATA_AND_FINISH',['../call_8c.html#a5c099cbc41809afd83d900cef74c2819a69a25d71b99a99c66c39696b038aa486',1,'call.c']]], + ['sending',['sending',['../structgrpc__call.html#a7d64e836e0421c8129ac75e477271ef8',1,'grpc_call']]], + ['sent_5fauthority',['sent_authority',['../structcall__data.html#aab616ade799853e16e5e35ee3a16ffbc',1,'call_data']]], + ['sent_5fgoaway',['sent_goaway',['../structgrpc__chttp2__transport__global.html#ad06b0ee92495f66aa27bd606459fcaf8',1,'grpc_chttp2_transport_global']]], + ['sent_5finitial_5fmetadata',['sent_initial_metadata',['../structcall__data.html#aded44c7ecaa861e2a4a39380b172368a',1,'call_data']]], + ['sent_5flocal_5fsettings',['sent_local_settings',['../structgrpc__chttp2__transport__global.html#a1afb189034e53b6596d41698cd3ce34d',1,'grpc_chttp2_transport_global']]], + ['sent_5fstatus',['sent_status',['../structcall__data.html#a8b65de65391e41536ccf959f6b6a751d',1,'call_data']]], + ['server',['server',['../structgrpc__endpoint__pair.html#a64db1589d0b3b754b33deb4ed2bdabc2',1,'grpc_endpoint_pair::server()'],['../structgrpc__server__secure__state.html#a81df8ea928391a76a30197cce0235455',1,'grpc_server_secure_state::server()'],['../structrequested__call.html#ad3fbf352005312d002348e26038d8fb0',1,'requested_call::server()'],['../structchannel__data.html#a52e6bd3f94f7bc6b7a5696532f747d8c',1,'channel_data::server()']]], + ['server_2ec',['server.c',['../server_8c.html',1,'']]], + ['server_2eh',['server.h',['../server_8h.html',1,'']]], + ['server_5fauth_5ffilter_2ec',['server_auth_filter.c',['../server__auth__filter_8c.html',1,'']]], + ['server_5fchttp2_2ec',['server_chttp2.c',['../server__chttp2_8c.html',1,'']]], + ['server_5fcreate_2ec',['server_create.c',['../server__create_8c.html',1,'']]], + ['server_5ffrom_5fcall_5felem',['SERVER_FROM_CALL_ELEM',['../server_8c.html#ad74e7a97d516828e54c49eb3e4878da3',1,'server.c']]], + ['server_5fon_5frecv',['server_on_recv',['../structcall__data.html#aa02e9d60f24965068bc073ec4870bcb4',1,'call_data']]], + ['server_5fregistered_5fmethod',['server_registered_method',['../structchannel__registered__method.html#a3d7e5ca9b211c76e489ddc6602da3509',1,'channel_registered_method']]], + ['server_5fsecure_5fchttp2_2ec',['server_secure_chttp2.c',['../server__secure__chttp2_8c.html',1,'']]], + ['service_5furl',['service_url',['../structgrpc__service__account__jwt__access__credentials.html#abc57d00b1bfd2b26f3b50feebccc84fb',1,'grpc_service_account_jwt_access_credentials::service_url()'],['../structgrpc__composite__credentials__metadata__context.html#a7041c3ef3e78168d24699294470422e4',1,'grpc_composite_credentials_metadata_context::service_url()']]], + ['set_5faccept_5fstream',['set_accept_stream',['../structgrpc__transport__op.html#aabc2f197291cd94543ea984eaf8a61f8',1,'grpc_transport_op']]], + ['set_5faccept_5fstream_5fuser_5fdata',['set_accept_stream_user_data',['../structgrpc__transport__op.html#a4591bfe47e9155982ad2d25a7750e17f',1,'grpc_transport_op']]], + ['set_5ffalse',['set_false',['../structgrpc__json__reader__vtable.html#a49fbb01d6b590b1c2e1fa52e6eb31ce6',1,'grpc_json_reader_vtable']]], + ['set_5fkey',['set_key',['../structgrpc__json__reader__vtable.html#a697d38cfb36a9cb41ace4170296f9cd7',1,'grpc_json_reader_vtable']]], + ['set_5fnull',['set_null',['../structgrpc__json__reader__vtable.html#ab66de246c1efaad68da9683f017966ff',1,'grpc_json_reader_vtable']]], + ['set_5fnumber',['set_number',['../structgrpc__json__reader__vtable.html#ab55442ecf7aed98d3b638f171faff596',1,'grpc_json_reader_vtable']]], + ['set_5fstate_5fmu',['set_state_mu',['../structgrpc__fd.html#a050fd8e53f18c024f04c60f27c274d30',1,'grpc_fd']]], + ['set_5fstring',['set_string',['../structgrpc__json__reader__vtable.html#a39f2535f918f767506b9665e36f97fb4',1,'grpc_json_reader_vtable']]], + ['set_5ftrue',['set_true',['../structgrpc__json__reader__vtable.html#a4f5529f47edb119c9ee8a36800cf436e',1,'grpc_json_reader_vtable']]], + ['set_5fvalue',['set_value',['../uniongrpc__ioreq__data.html#aedb6839ded1488cf3bd6905345fba0d2',1,'grpc_ioreq_data']]], + ['settings',['settings',['../structgrpc__chttp2__transport__global.html#ab25f0c4b45d1c12d29eaf856e7b1b4a7',1,'grpc_chttp2_transport_global::settings()'],['../structgrpc__chttp2__transport__parsing.html#add21a685d25468b7e778b0a88f961a31',1,'grpc_chttp2_transport_parsing::settings()'],['../structgrpc__chttp2__transport__parsing.html#a629d17756af481ff81ea339acb751751',1,'grpc_chttp2_transport_parsing::settings()']]], + ['settings_5fack_5freceived',['settings_ack_received',['../structgrpc__chttp2__transport__parsing.html#a163a1ce9c8ff2f73e58f2867fada9586',1,'grpc_chttp2_transport_parsing']]], + ['settings_5fupdated',['settings_updated',['../structgrpc__chttp2__transport__parsing.html#a1b0ab60da80d6ffacf7966db31ff7013',1,'grpc_chttp2_transport_parsing']]], + ['severity',['severity',['../structgpr__log__func__args.html#af0b4b9d8beace1cae0d1a24783d70ccc',1,'gpr_log_func_args']]], + ['shard_5fqueue_5findex',['shard_queue_index',['../structshard__type.html#a2024ca8c92ce9d378aa5aa551126a9c1',1,'shard_type']]], + ['shard_5ftype',['shard_type',['../structshard__type.html',1,'']]], + ['shrink_5ffullness_5ffactor',['SHRINK_FULLNESS_FACTOR',['../alarm__heap_8c.html#ac5064e56882ef0a36524cae10ac800ce',1,'alarm_heap.c']]], + ['shrink_5fmin_5felems',['SHRINK_MIN_ELEMS',['../alarm__heap_8c.html#acea3d7e412eaa9246638bc218372f55e',1,'alarm_heap.c']]], + ['shutdown',['shutdown',['../structgrpc__lb__policy__vtable.html#a51c5b68411493024b3ffde40681c79e6',1,'grpc_lb_policy_vtable::shutdown()'],['../structgrpc__resolver__vtable.html#a1a118587a757136331a17d12150b27ae',1,'grpc_resolver_vtable::shutdown()'],['../structgrpc__endpoint__vtable.html#a1c3b42c8a439d6e741a84627815982d6',1,'grpc_endpoint_vtable::shutdown()'],['../structgrpc__fd.html#af9735826c4a974623dad5e2ca9c2548a',1,'grpc_fd::shutdown()'],['../structpick__first__lb__policy.html#a2818821a8daa60e92637357811aea7d4',1,'pick_first_lb_policy::shutdown()'],['../structgrpc__completion__queue.html#a4d6f10502b79874124dc63169f4366d6',1,'grpc_completion_queue::shutdown()']]], + ['shutdown_5fcalled',['shutdown_called',['../structgrpc__completion__queue.html#a81ae0a3f77b40e2a21370e641e9f73e4',1,'grpc_completion_queue']]], + ['shutdown_5fcleanup_5fargs',['shutdown_cleanup_args',['../structshutdown__cleanup__args.html',1,'']]], + ['shutdown_5fclosure',['shutdown_closure',['../structgrpc__winsocket.html#aea4900f69135c3b5b3a820b0c37a6a7a',1,'grpc_winsocket']]], + ['shutdown_5fclosures',['shutdown_closures',['../structgrpc__fd.html#ad0158c3714462bacbfa90c57fcf476aa',1,'grpc_fd']]], + ['shutdown_5fdone_5farg',['shutdown_done_arg',['../structgrpc__pollset.html#a27a9797370fe938210d3943ab7c3863d',1,'grpc_pollset']]], + ['shutdown_5fdone_5fcb',['shutdown_done_cb',['../structgrpc__pollset.html#a08b13b08670fb33a139ff1d27ea115b7',1,'grpc_pollset']]], + ['shutdown_5fflag',['shutdown_flag',['../structgrpc__server.html#aac6a14f451724678ba63c9f9a153dc33',1,'grpc_server']]], + ['shutdown_5fpublished',['shutdown_published',['../structgrpc__server.html#a6d04ab898c0d58f111975211c8d202ba',1,'grpc_server']]], + ['shutdown_5ftag',['shutdown_tag',['../structshutdown__tag.html',1,'shutdown_tag'],['../server_8c.html#a292b677b1a61ecd5c4608340fa647346',1,'shutdown_tag(): server.c']]], + ['shutdown_5ftags',['shutdown_tags',['../structgrpc__server.html#ab0ca72c038ccce56c33539dc5f321864',1,'grpc_server']]], + ['shutting_5fdown',['shutting_down',['../structgrpc__pollset.html#a890a0c1aa2061769dcd141cf97f83c1c',1,'grpc_pollset']]], + ['signature',['signature',['../structverifier__cb__ctx.html#a78cd1bf7eb4ac6484ceeaf778ad6e2df',1,'verifier_cb_ctx']]], + ['signed_5fdata',['signed_data',['../structverifier__cb__ctx.html#a65de5acf17b58f8a142466750e1b558b',1,'verifier_cb_ctx']]], + ['simple',['simple',['../structgrpc__chttp2__transport__parsing.html#adc911ee0c36b417e2da7a28a8d45675f',1,'grpc_chttp2_transport_parsing']]], + ['size',['size',['../structtsi__fake__frame.html#a59d8fa5e8e076fca91b8c1fa1572d9cf',1,'tsi_fake_frame']]], + ['sizeof_5fcall_5fdata',['sizeof_call_data',['../structgrpc__channel__filter.html#afcdf09a04565aee37bf4ddf4b7ed69cc',1,'grpc_channel_filter']]], + ['sizeof_5fchannel_5fdata',['sizeof_channel_data',['../structgrpc__channel__filter.html#ac63b36f8c895f18f68ee1d8a862f18a4',1,'grpc_channel_filter']]], + ['sizeof_5fstream',['sizeof_stream',['../structgrpc__transport__vtable.html#a1c229a26492c888075645a15f4f8182f',1,'grpc_transport_vtable']]], + ['slice',['slice',['../structgrpc__mdstr.html#a748902fde1a15c453757c2e45509941e',1,'grpc_mdstr::slice()'],['../structgrpc__stream__op.html#ad997783bc5e527f52ab4434ee5764aee',1,'grpc_stream_op::slice()'],['../structshutdown__cleanup__args.html#ac171669ceb843c70885925c549867e5c',1,'shutdown_cleanup_args::slice()'],['../structinternal__string.html#aafd8da96270b4377198d99bc51f2ac9b',1,'internal_string::slice()']]], + ['slice_2ec',['slice.c',['../slice_8c.html',1,'']]], + ['slice_2eh',['slice.h',['../slice_8h.html',1,'']]], + ['slice_5fbuffer',['slice_buffer',['../structgrpc__byte__buffer.html#ae93126777b4832bc327b7e10104f0eae',1,'grpc_byte_buffer']]], + ['slice_5fbuffer_2ec',['slice_buffer.c',['../slice__buffer_8c.html',1,'']]], + ['slice_5fbuffer_2eh',['slice_buffer.h',['../slice__buffer_8h.html',1,'']]], + ['slices',['slices',['../structcall__data.html#a765c539d2737d435cf434241edda82f9',1,'call_data::slices()'],['../structgpr__slice__buffer.html#a07c0e3196f5e197af878ee94fd5df3ba',1,'gpr_slice_buffer::slices()']]], + ['sockaddr_2eh',['sockaddr.h',['../sockaddr_8h.html',1,'']]], + ['sockaddr_5fposix_2eh',['sockaddr_posix.h',['../sockaddr__posix_8h.html',1,'']]], + ['sockaddr_5fresolver',['sockaddr_resolver',['../structsockaddr__resolver.html',1,'']]], + ['sockaddr_5fresolver_2ec',['sockaddr_resolver.c',['../sockaddr__resolver_8c.html',1,'']]], + ['sockaddr_5fresolver_2eh',['sockaddr_resolver.h',['../sockaddr__resolver_8h.html',1,'']]], + ['sockaddr_5futils_2ec',['sockaddr_utils.c',['../sockaddr__utils_8c.html',1,'']]], + ['sockaddr_5futils_2eh',['sockaddr_utils.h',['../sockaddr__utils_8h.html',1,'']]], + ['sockaddr_5fwin32_2eh',['sockaddr_win32.h',['../sockaddr__win32_8h.html',1,'']]], + ['socket',['socket',['../structgrpc__winsocket.html#a8d07ea451fe145f30415952e4a78d03d',1,'grpc_winsocket']]], + ['socket_5futils_5fcommon_5fposix_2ec',['socket_utils_common_posix.c',['../socket__utils__common__posix_8c.html',1,'']]], + ['socket_5futils_5flinux_2ec',['socket_utils_linux.c',['../socket__utils__linux_8c.html',1,'']]], + ['socket_5futils_5fposix_2ec',['socket_utils_posix.c',['../socket__utils__posix_8c.html',1,'']]], + ['socket_5futils_5fposix_2eh',['socket_utils_posix.h',['../socket__utils__posix_8h.html',1,'']]], + ['socket_5fwindows_2ec',['socket_windows.c',['../socket__windows_8c.html',1,'']]], + ['socket_5fwindows_2eh',['socket_windows.h',['../socket__windows_8h.html',1,'']]], + ['sopb',['sopb',['../structgrpc__chttp2__stream__writing.html#a54f5afcc25f62a2e138a04c69f1be120',1,'grpc_chttp2_stream_writing']]], + ['ssl',['ssl',['../structtsi__ssl__handshaker.html#a1dbdafd7f92dad04fe09c4648e5ee952',1,'tsi_ssl_handshaker::ssl()'],['../structtsi__ssl__frame__protector.html#a64129d003fe330c56c39496361bd9e5f',1,'tsi_ssl_frame_protector::ssl()']]], + ['ssl_5fcontext',['ssl_context',['../structtsi__ssl__client__handshaker__factory.html#a455d6ff556cd36c93ab91a0ef013ed9a',1,'tsi_ssl_client_handshaker_factory']]], + ['ssl_5fcontext_5fcount',['ssl_context_count',['../structtsi__ssl__server__handshaker__factory.html#a6aa4d962f3466b7cb16abd04b0266c2c',1,'tsi_ssl_server_handshaker_factory']]], + ['ssl_5fcontext_5fx509_5fsubject_5fnames',['ssl_context_x509_subject_names',['../structtsi__ssl__server__handshaker__factory.html#a9877f06340c6acaa2db8deb38ac03209',1,'tsi_ssl_server_handshaker_factory']]], + ['ssl_5fcontexts',['ssl_contexts',['../structtsi__ssl__server__handshaker__factory.html#a31163c22828f9e7467a4cf8ec6e79244',1,'tsi_ssl_server_handshaker_factory']]], + ['ssl_5ftransport_5fsecurity_2ec',['ssl_transport_security.c',['../ssl__transport__security_8c.html',1,'']]], + ['ssl_5ftransport_5fsecurity_2eh',['ssl_transport_security.h',['../ssl__transport__security_8h.html',1,'']]], + ['stack_5flockfree_2ec',['stack_lockfree.c',['../stack__lockfree_8c.html',1,'']]], + ['stack_5flockfree_2eh',['stack_lockfree.h',['../stack__lockfree_8h.html',1,'']]], + ['staging_5fbuffer_5fsize',['STAGING_BUFFER_SIZE',['../secure__endpoint_8c.html#a323532623f3183502482bb853c503353',1,'secure_endpoint.c']]], + ['stap_5ftimers_2ec',['stap_timers.c',['../stap__timers_8c.html',1,'']]], + ['start',['start',['../structlistener.html#a5fb6be7cbe102bcb09c1d26db4a26fb2',1,'listener']]], + ['start_5ftransport_5fop',['start_transport_op',['../structgrpc__channel__filter.html#aa3508daf2442c8bc11529d0295798819',1,'grpc_channel_filter']]], + ['start_5ftransport_5fstream_5fop',['start_transport_stream_op',['../structgrpc__channel__filter.html#a089c1e5997b329703ccaaf633722a6c5',1,'grpc_channel_filter']]], + ['started_5fpicking',['started_picking',['../structpick__first__lb__policy.html#a8eff3397ca43852b04a3be5b5e03a6ce',1,'pick_first_lb_policy']]], + ['state',['state',['../structgrpc__httpcli__parser.html#a0072db1169f6f1e993673a91593f1305',1,'grpc_httpcli_parser::state()'],['../structgrpc__json__reader.html#a572a9af46e885528855a86fca4535245',1,'grpc_json_reader::state()'],['../structgrpc__chttp2__data__parser.html#a4f5b790cb938400757b8f1fdbf6125ab',1,'grpc_chttp2_data_parser::state()'],['../structgrpc__chttp2__goaway__parser.html#afc5c60968d8b1b68e4c0705a66129589',1,'grpc_chttp2_goaway_parser::state()'],['../structgrpc__chttp2__settings__parser.html#ad7e412c7ebd8595533c129f0b5a571c4',1,'grpc_chttp2_settings_parser::state()'],['../structgrpc__chttp2__hpack__parser.html#a70ad6a4061f4f49362959615eb0c3ca4',1,'grpc_chttp2_hpack_parser::state()'],['../structlb__policy__connectivity__watcher.html#ac37e7a5f39e7f99381837601b8d0d7d5',1,'lb_policy_connectivity_watcher::state()'],['../structcall__data.html#a394da9a4876df32b91b8891303695a5d',1,'call_data::state()'],['../structstate__watcher.html#a3a1c09d1740e9cc49f81e4ac4f8bf4bd',1,'state_watcher::state()'],['../structgpr__event.html#a9eb43867719fcdf48f33df11cd138be9',1,'gpr_event::state()'],['../structgpr__cmdline.html#acb165b9b6f98c942dd65d66f1c95a806',1,'gpr_cmdline::state()']]], + ['state_5fmu',['state_mu',['../structgrpc__winsocket.html#abebd771d41b71cfbb457ee0e80c7b551',1,'grpc_winsocket']]], + ['state_5ftracker',['state_tracker',['../structgrpc__chttp2__transport.html#a1808fd9ed1150b5397b26461d4de7857',1,'grpc_chttp2_transport::state_tracker()'],['../structchannel__data.html#ab56a403060ce2596d204cc024baea99d',1,'channel_data::state_tracker()'],['../structpick__first__lb__policy.html#a4b686da7cdddd0893e3d36c213bd274a',1,'pick_first_lb_policy::state_tracker()'],['../structgrpc__subchannel.html#af9e337eebe13100918b0c1178233d64d',1,'grpc_subchannel::state_tracker()']]], + ['state_5fwatcher',['state_watcher',['../structstate__watcher.html',1,'']]], + ['static_5fents',['static_ents',['../structgrpc__chttp2__hptbl.html#afe1cceb7c0988d6c29df983ad3764344',1,'grpc_chttp2_hptbl']]], + ['stats',['stats',['../structshard__type.html#a700e0afbcbed737607bac82970c61601',1,'shard_type']]], + ['status',['status',['../structgrpc__op.html#ae0d5a9db463391c0897914ef2d016b25',1,'grpc_op::status()'],['../structgrpc__op.html#a70d62415f6768533c2190e53f1c5baf4',1,'grpc_op::status()'],['../structgrpc__httpcli__response.html#ad43f89eff8a4ab84b0364eca501ad243',1,'grpc_httpcli_response::status()'],['../structcall__data.html#af1e73bf35274521a98f39316fddf3deb',1,'call_data::status()'],['../structchannel__data.html#aed19c41ead3b51daafdbf78a983c1877',1,'channel_data::status()'],['../structgrpc__call.html#ac4f49d27f54bd1436da3ad7cfe662639',1,'grpc_call::status()']]], + ['status_2eh',['status.h',['../status_8h.html',1,'']]], + ['status_5fconversion_2ec',['status_conversion.c',['../status__conversion_8c.html',1,'']]], + ['status_5fconversion_2eh',['status_conversion.h',['../status__conversion_8h.html',1,'']]], + ['status_5fdetails',['status_details',['../structgrpc__op.html#ae460836040d79eb2bd0a6d581b36c461',1,'grpc_op::status_details()'],['../structgrpc__op.html#ab993dfc7b33c61f06f26a4efc0aefca6',1,'grpc_op::status_details()']]], + ['status_5fdetails_5fcapacity',['status_details_capacity',['../structgrpc__op.html#a6cacd1d5311683ee077931c94a9dd6e9',1,'grpc_op']]], + ['status_5ffrom_5fapi_5foverride',['STATUS_FROM_API_OVERRIDE',['../call_8c.html#a9291c3528e3f346e6ae8137ac9e76271afd2f639169b914143f3b412ed1a2ef00',1,'call.c']]], + ['status_5ffrom_5fcore',['STATUS_FROM_CORE',['../call_8c.html#a9291c3528e3f346e6ae8137ac9e76271a48a145dfa9c97761d84d36131d27a72e',1,'call.c']]], + ['status_5ffrom_5fserver_5fstatus',['STATUS_FROM_SERVER_STATUS',['../call_8c.html#a9291c3528e3f346e6ae8137ac9e76271aad4663967ed2d5b74e875954573b5c64',1,'call.c']]], + ['status_5ffrom_5fwire',['STATUS_FROM_WIRE',['../call_8c.html#a9291c3528e3f346e6ae8137ac9e76271a825b6688b57f66bdb07fef664aa8d569',1,'call.c']]], + ['status_5fkey',['status_key',['../structchannel__data.html#aa193724e83bed60e8f8f1a7a1cb0ca0f',1,'channel_data']]], + ['status_5flink',['status_link',['../structgrpc__call.html#acb6f13c9a524b29da7f4a760332dea6d',1,'grpc_call']]], + ['status_5fnot_5ffound',['status_not_found',['../structchannel__data.html#aa61798f024b686a60598011b688a5302',1,'channel_data']]], + ['status_5foffset',['STATUS_OFFSET',['../call_8c.html#ac3959778b8b4ee593c16fa33a06d844c',1,'call.c']]], + ['status_5fok',['status_ok',['../structchannel__data.html#a5d2922163981387d63fcc086acc40bc1',1,'channel_data']]], + ['status_5fsource',['status_source',['../call_8c.html#a9291c3528e3f346e6ae8137ac9e76271',1,'call.c']]], + ['status_5fsource_5fcount',['STATUS_SOURCE_COUNT',['../call_8c.html#a9291c3528e3f346e6ae8137ac9e76271a429d7ee18b26738df32b9a74586afc22',1,'call.c']]], + ['str',['str',['../structgrpc__chttp2__hpack__parser__string.html#abf43da36039226667926801751825b3c',1,'grpc_chttp2_hpack_parser_string::str()'],['../structgrpc__chttp2__hpack__parser.html#a4dda24b6baf059519437033ace4239fe',1,'grpc_chttp2_hpack_parser::str()']]], + ['str_5fgrpc_5ftimeout',['str_grpc_timeout',['../structgrpc__chttp2__transport__parsing.html#ad78473e552fc03fcd84af1502bb6115c',1,'grpc_chttp2_transport_parsing']]], + ['stream_5fencoder_2ec',['stream_encoder.c',['../stream__encoder_8c.html',1,'']]], + ['stream_5fencoder_2eh',['stream_encoder.h',['../stream__encoder_8h.html',1,'']]], + ['stream_5ffrom_5fglobal',['STREAM_FROM_GLOBAL',['../stream__lists_8c.html#ad226604f0f25167ab63b83fb504925ed',1,'STREAM_FROM_GLOBAL(): stream_lists.c'],['../chttp2__transport_8c.html#ad226604f0f25167ab63b83fb504925ed',1,'STREAM_FROM_GLOBAL(): chttp2_transport.c']]], + ['stream_5ffrom_5fparsing',['STREAM_FROM_PARSING',['../stream__lists_8c.html#af36e6925c4b86e9bdea0abf8824d521e',1,'stream_lists.c']]], + ['stream_5ffrom_5fwriting',['STREAM_FROM_WRITING',['../stream__lists_8c.html#a168549253d875995f6454b6ac5f9250f',1,'stream_lists.c']]], + ['stream_5fid',['stream_id',['../structframer__state.html#a568da28436bbdcbf1a1eb321cf064651',1,'framer_state']]], + ['stream_5flist_5fcount',['STREAM_LIST_COUNT',['../internal_8h.html#abddcdf3ebb4034fd86a102d86aff5539adbd786741979d2b2106768372bfd90a5',1,'internal.h']]], + ['stream_5flists_2ec',['stream_lists.c',['../stream__lists_8c.html',1,'']]], + ['stream_5fmap_2ec',['stream_map.c',['../stream__map_8c.html',1,'']]], + ['stream_5fmap_2eh',['stream_map.h',['../stream__map_8h.html',1,'']]], + ['stream_5fop_2ec',['stream_op.c',['../stream__op_8c.html',1,'']]], + ['stream_5fop_2eh',['stream_op.h',['../stream__op_8h.html',1,'']]], + ['strgot',['strgot',['../structgrpc__chttp2__hpack__parser.html#aa2150e272b5d12395b762aef039b58f6',1,'grpc_chttp2_hpack_parser']]], + ['string',['string',['../structgrpc__arg.html#a05bc3701718db73608ef3598480e8fa8',1,'grpc_arg::string()'],['../structjson__reader__userdata.html#aab7c5997934c699371c79b5a613a877e',1,'json_reader_userdata::string()']]], + ['string_2ec',['string.c',['../string_8c.html',1,'']]], + ['string_2eh',['string.h',['../string_8h.html',1,'']]], + ['string_5fadd_5fchar',['string_add_char',['../structgrpc__json__reader__vtable.html#a5779d4adf33c3b3364d82390e4c1ad19',1,'grpc_json_reader_vtable']]], + ['string_5fadd_5futf32',['string_add_utf32',['../structgrpc__json__reader__vtable.html#a4d52c7e18e2b74e0cdfe8f0640f79612',1,'grpc_json_reader_vtable']]], + ['string_5fclear',['string_clear',['../structgrpc__json__reader__vtable.html#a1a897f511ba9249e5ecc7317d9406303',1,'grpc_json_reader_vtable']]], + ['string_5flen',['string_len',['../structjson__writer__userdata.html#a321162f4c1f6c7cb60676fa6a1eb3c18',1,'json_writer_userdata']]], + ['string_5fposix_2ec',['string_posix.c',['../string__posix_8c.html',1,'']]], + ['string_5fptr',['string_ptr',['../structjson__reader__userdata.html#a6afccb66b4dac7cb2db6ef4c8d0e073b',1,'json_reader_userdata']]], + ['string_5futil_2eh',['string_util.h',['../string__util_8h.html',1,'']]], + ['string_5fwin32_2ec',['string_win32.c',['../string__win32_8c.html',1,'']]], + ['string_5fwin32_2eh',['string_win32.h',['../string__win32_8h.html',1,'']]], + ['strlen',['strlen',['../structgrpc__chttp2__hpack__parser.html#a0fdab43244f12be74b24f284fa0df8ab',1,'grpc_chttp2_hpack_parser']]], + ['strlen_5flit',['STRLEN_LIT',['../stream__encoder_8c.html#a4adf5996646225c1109095f57e5054c1',1,'stream_encoder.c']]], + ['strs',['strs',['../structgpr__strvec.html#a6c928c402061e0a51346155669029795',1,'gpr_strvec']]], + ['strtab',['strtab',['../structgrpc__mdctx.html#ad2eeb34c05c392c75ca79c62e0a91644',1,'grpc_mdctx']]], + ['strtab_5fcapacity',['strtab_capacity',['../structgrpc__mdctx.html#a1ac53c8c3069ff245cd33243094b21af',1,'grpc_mdctx']]], + ['strtab_5fcount',['strtab_count',['../structgrpc__mdctx.html#a19a486374bb3cc0c61ad53868423bce5',1,'grpc_mdctx']]], + ['sub',['sub',['../structgrpc__jwt__claims.html#a298ff2d584fdee85bd9de0b52c72a1bd',1,'grpc_jwt_claims']]], + ['subchannel',['subchannel',['../structconnection.html#ac46b9b593d187793cf2685550b615dc7',1,'connection::subchannel()'],['../structstate__watcher.html#ab1de71efe9c462d4692acedd9da69db3',1,'state_watcher::subchannel()'],['../structwaiting__for__connect.html#a6992a59790cdc05659227b1ea7b8650d',1,'waiting_for_connect::subchannel()']]], + ['subchannel_2ec',['subchannel.c',['../subchannel_8c.html',1,'']]], + ['subchannel_2eh',['subchannel.h',['../subchannel_8h.html',1,'']]], + ['subchannel_5fcall',['subchannel_call',['../structcall__data.html#a68077448625c53fa5dab0a717c0a77b2',1,'call_data']]], + ['subchannel_5fcall_5fto_5fcall_5fstack',['SUBCHANNEL_CALL_TO_CALL_STACK',['../subchannel_8c.html#a6f8f2e93f13638c3344bed1c0a810a90',1,'subchannel.c']]], + ['subchannel_5ffactory',['subchannel_factory',['../structsubchannel__factory.html',1,'subchannel_factory'],['../structdns__resolver.html#ad80a689714c3c2d68bba566d1c5ae236',1,'dns_resolver::subchannel_factory()'],['../structsockaddr__resolver.html#ae68e3b93926c4d132ca5c05a752b1e59',1,'sockaddr_resolver::subchannel_factory()']]], + ['subchannel_5ffactory_2ec',['subchannel_factory.c',['../subchannel__factory_8c.html',1,'']]], + ['subchannel_5ffactory_2eh',['subchannel_factory.h',['../subchannel__factory_8h.html',1,'']]], + ['subchannel_5fref_5flocked',['SUBCHANNEL_REF_LOCKED',['../subchannel_8c.html#ad1c3bb13282f81c8384752ae3e2d74ad',1,'subchannel.c']]], + ['subchannel_5funref_5flocked',['SUBCHANNEL_UNREF_LOCKED',['../subchannel_8c.html#ac827935703a637a3a74cb54936a49f25',1,'subchannel.c']]], + ['subchannels',['subchannels',['../structpick__first__lb__policy.html#a359affbda6360c97745389a1c036afbf',1,'pick_first_lb_policy']]], + ['subprocess_2eh',['subprocess.h',['../subprocess_8h.html',1,'']]], + ['subprocess_5fposix_2ec',['subprocess_posix.c',['../subprocess__posix_8c.html',1,'']]], + ['success',['success',['../structgrpc__event.html#a99d4215e5df50869af320b1cca5540db',1,'grpc_event::success()'],['../structgrpc__iomgr__closure.html#a5029b88d47dd4da2b01a8eb44342fcb0',1,'grpc_iomgr_closure::success()'],['../structcompute__engine__detector.html#a952441665ae667415c4eed612ec5f25b',1,'compute_engine_detector::success()'],['../structcompleted__request.html#a5512a2663c0d87f40b1e493b0bf9dd6b',1,'completed_request::success()'],['../structreqinfo__master.html#a638b15223a3d12acea6adf081d2a43a9',1,'reqinfo_master::success()'],['../structstate__watcher.html#a0e2c034f2582615aa9c6949879289cc2',1,'state_watcher::success()']]], + ['sum',['sum',['../structgpr__histogram.html#a1e154b0be9b7d5b4ee4ccbf955cd0b8a',1,'gpr_histogram']]], + ['sum_5fof_5fsquares',['sum_of_squares',['../structgpr__histogram.html#a4b675fe1da756eba043d76ead28089a1',1,'gpr_histogram']]], + ['surface_5ftrace_2ec',['surface_trace.c',['../surface__trace_8c.html',1,'']]], + ['surface_5ftrace_2eh',['surface_trace.h',['../surface__trace_8h.html',1,'']]], + ['sync_2ec',['sync.c',['../sync_8c.html',1,'']]], + ['sync_2eh',['sync.h',['../sync_8h.html',1,'']]], + ['sync_5fgeneric_2eh',['sync_generic.h',['../sync__generic_8h.html',1,'']]], + ['sync_5fposix_2ec',['sync_posix.c',['../sync__posix_8c.html',1,'']]], + ['sync_5fposix_2eh',['sync_posix.h',['../sync__posix_8h.html',1,'']]], + ['sync_5fwin32_2ec',['sync_win32.c',['../sync__win32_8c.html',1,'']]], + ['sync_5fwin32_2eh',['sync_win32.h',['../sync__win32_8h.html',1,'']]] +]; diff --git a/doc/ref/core.internal/html/search/all_14.html b/doc/ref/core.internal/html/search/all_14.html new file mode 100644 index 0000000000..2ad638b277 --- /dev/null +++ b/doc/ref/core.internal/html/search/all_14.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core.internal/html/search/all_14.js b/doc/ref/core.internal/html/search/all_14.js new file mode 100644 index 0000000000..ab110295d2 --- /dev/null +++ b/doc/ref/core.internal/html/search/all_14.js @@ -0,0 +1,159 @@ +var searchData= +[ + ['table',['table',['../structgrpc__chttp2__hpack__parser.html#a8f94c4cc12d5f84f639914d59491ae17',1,'grpc_chttp2_hpack_parser']]], + ['table_5felem_5fsize',['table_elem_size',['../structgrpc__chttp2__hpack__compressor.html#a067f49c14e2c169678f44c10a7e4ee2e',1,'grpc_chttp2_hpack_compressor']]], + ['table_5felems',['table_elems',['../structgrpc__chttp2__hpack__compressor.html#ab2544f2f9897f1d74cc979eb8f91bfd6',1,'grpc_chttp2_hpack_compressor']]], + ['table_5fsize',['table_size',['../structgrpc__chttp2__hpack__compressor.html#a814ba9e8a221237a5bdca7fd0e3e0425',1,'grpc_chttp2_hpack_compressor']]], + ['tag',['tag',['../structgrpc__event.html#a883ab15e862db582116c72cdcdc4c201',1,'grpc_event::tag()'],['../structgrpc__cq__completion.html#acf21f4e0ec0adcd801bd9f34d80a7b7e',1,'grpc_cq_completion::tag()'],['../structstate__watcher.html#a67d44afd79ad20ec97e2e43f538f6d77',1,'state_watcher::tag()'],['../structrequested__call.html#abcebc67ebdd3f7230b72cbb324049ff4',1,'requested_call::tag()'],['../structshutdown__tag.html#a632bfe333648e7440bf13caa5eaa48c0',1,'shutdown_tag::tag()']]], + ['tail',['tail',['../structgrpc__chttp2__stream__list.html#ac8be7bdb2c4da40b8994790885ac7620',1,'grpc_chttp2_stream_list::tail()'],['../structgrpc__mdelem__list.html#a139994dda63b5f00686312d9d2456193',1,'grpc_mdelem_list::tail()']]], + ['tail_5fremote_5findex',['tail_remote_index',['../structgrpc__chttp2__hpack__compressor.html#a80e568a0851010b6ef859b7ee4235893',1,'grpc_chttp2_hpack_compressor']]], + ['target',['target',['../structpending__pick.html#aa395cbb07c193eaa41d0463f46067fec',1,'pending_pick::target()'],['../structwaiting__for__connect.html#afa5ba6604f746da394b505f116e764f6',1,'waiting_for_connect::target()'],['../structgrpc__channel.html#ac84ed7ccb6f221068ee55b5e6c073543',1,'grpc_channel::target()']]], + ['target_5fconfig',['target_config',['../structdns__resolver.html#a757b9b42d89d961103798397c2cddefb',1,'dns_resolver::target_config()'],['../structsockaddr__resolver.html#ad9d11ab81955963bff8db90903241efa',1,'sockaddr_resolver::target_config()']]], + ['target_5fname',['target_name',['../structgrpc__ssl__channel__security__connector.html#ac86e0e283bad7b35d30cec32ed042a5b',1,'grpc_ssl_channel_security_connector']]], + ['target_5fsettings',['target_settings',['../structgrpc__chttp2__settings__parser.html#ac8ede4f13bcb8e7146527ce98284d528',1,'grpc_chttp2_settings_parser']]], + ['tcp',['tcp',['../structgrpc__server__secure__state.html#a8c4788f633b14cc2d49c26d9172b0b69',1,'grpc_server_secure_state']]], + ['tcp_5fclient_2eh',['tcp_client.h',['../tcp__client_8h.html',1,'']]], + ['tcp_5fclient_5fposix_2ec',['tcp_client_posix.c',['../tcp__client__posix_8c.html',1,'']]], + ['tcp_5fclient_5fwindows_2ec',['tcp_client_windows.c',['../tcp__client__windows_8c.html',1,'']]], + ['tcp_5fendpoint',['tcp_endpoint',['../structtcp__endpoint__list.html#a1de9aaa649c6d84c81c676171676b862',1,'tcp_endpoint_list']]], + ['tcp_5fendpoint_5flist',['tcp_endpoint_list',['../structtcp__endpoint__list.html',1,'tcp_endpoint_list'],['../server__secure__chttp2_8c.html#ac7944e456bcd1ed1ea7e112ee396e6aa',1,'tcp_endpoint_list(): server_secure_chttp2.c']]], + ['tcp_5fposix_2ec',['tcp_posix.c',['../tcp__posix_8c.html',1,'']]], + ['tcp_5fposix_2eh',['tcp_posix.h',['../tcp__posix_8h.html',1,'']]], + ['tcp_5fserver_2eh',['tcp_server.h',['../tcp__server_8h.html',1,'']]], + ['tcp_5fserver_5fposix_2ec',['tcp_server_posix.c',['../tcp__server__posix_8c.html',1,'']]], + ['tcp_5fserver_5fwindows_2ec',['tcp_server_windows.c',['../tcp__server__windows_8c.html',1,'']]], + ['tcp_5fwindows_2ec',['tcp_windows.c',['../tcp__windows_8c.html',1,'']]], + ['tcp_5fwindows_2eh',['tcp_windows.h',['../tcp__windows_8h.html',1,'']]], + ['te_5ftrailers',['te_trailers',['../structcall__data.html#a8cfc1a2d2dab43a5bddc26df4801721b',1,'call_data::te_trailers()'],['../structchannel__data.html#a141ad0e139c47b491a219ad68b263c2b',1,'channel_data::te_trailers()']]], + ['temp',['temp',['../structhuff__out.html#a29fa27e52be848917a68702c97e75d3b',1,'huff_out']]], + ['temp_5flength',['temp_length',['../structhuff__out.html#a47f24dd352a07a9a7124319d8222090e',1,'huff_out']]], + ['thd_2ec',['thd.c',['../thd_8c.html',1,'']]], + ['thd_2eh',['thd.h',['../thd_8h.html',1,'']]], + ['thd_5finternal_2eh',['thd_internal.h',['../thd__internal_8h.html',1,'']]], + ['thd_5fposix_2ec',['thd_posix.c',['../thd__posix_8c.html',1,'']]], + ['thd_5fwin32_2ec',['thd_win32.c',['../thd__win32_8c.html',1,'']]], + ['time_2ec',['time.c',['../time_8c.html',1,'']]], + ['time_2eh',['time.h',['../time_8h.html',1,'']]], + ['time_5faveraged_5fstats_2ec',['time_averaged_stats.c',['../time__averaged__stats_8c.html',1,'']]], + ['time_5faveraged_5fstats_2eh',['time_averaged_stats.h',['../time__averaged__stats_8h.html',1,'']]], + ['time_5fposix_2ec',['time_posix.c',['../time__posix_8c.html',1,'']]], + ['time_5fwin32_2ec',['time_win32.c',['../time__win32_8c.html',1,'']]], + ['timeout_5fencoding_2ec',['timeout_encoding.c',['../timeout__encoding_8c.html',1,'']]], + ['timeout_5fencoding_2eh',['timeout_encoding.h',['../timeout__encoding_8h.html',1,'']]], + ['timeout_5fkey',['TIMEOUT_KEY',['../stream__encoder_8c.html#a730f13257408fd7a5a3d734f5399cba7',1,'stream_encoder.c']]], + ['timeout_5fkey_5fstr',['timeout_key_str',['../structgrpc__chttp2__hpack__compressor.html#a5235d25f72e66a4e08e28577002047a1',1,'grpc_chttp2_hpack_compressor']]], + ['timers_2eh',['timers.h',['../timers_8h.html',1,'']]], + ['timers_5fpreciseclock_2eh',['timers_preciseclock.h',['../timers__preciseclock_8h.html',1,'']]], + ['tls_2eh',['tls.h',['../tls_8h.html',1,'']]], + ['tls_5fgcc_2eh',['tls_gcc.h',['../tls__gcc_8h.html',1,'']]], + ['tls_5fmsvc_2eh',['tls_msvc.h',['../tls__msvc_8h.html',1,'']]], + ['tls_5fpthread_2ec',['tls_pthread.c',['../tls__pthread_8c.html',1,'']]], + ['tls_5fpthread_2eh',['tls_pthread.h',['../tls__pthread_8h.html',1,'']]], + ['token_5fexpiration',['token_expiration',['../structgrpc__oauth2__token__fetcher__credentials.html#a293a6ed6c4f54ef2de4de3e071ae6e13',1,'grpc_oauth2_token_fetcher_credentials']]], + ['token_5flifetime',['token_lifetime',['../structgrpc__service__account__credentials.html#aab9b416748da95fdfc5483b5bb7933ae',1,'grpc_service_account_credentials']]], + ['top',['top',['../structjson__reader__userdata.html#ac4f75823aab9f46c2541424046742c13',1,'json_reader_userdata']]], + ['top_5fbit_5fof_5ftype',['TOP_BIT_OF_TYPE',['../time_8c.html#a1238d80d57e92de77f3ea0df0bfbf500',1,'time.c']]], + ['trace_2ec',['trace.c',['../trace_8c.html',1,'']]], + ['trace_2eh',['trace.h',['../trace_8h.html',1,'']]], + ['trace_5fid',['trace_id',['../structcensus__context.html#af2f543e5253035ca31b883c23453c918',1,'census_context']]], + ['tracer',['tracer',['../structtracer.html',1,'tracer'],['../trace_8c.html#aff327d037f1cb69bc5c5c25a73b63104',1,'tracer(): trace.c']]], + ['trailing_5fmetadata',['trailing_metadata',['../structgrpc__op.html#a521b48faec3b3f7646a877055f118d47',1,'grpc_op::trailing_metadata()'],['../structgrpc__op.html#abb4d84434a0b74283c8b5d8d6501baf1',1,'grpc_op::trailing_metadata()']]], + ['trailing_5fmetadata_5fcount',['trailing_metadata_count',['../structgrpc__op.html#a4b9454278c105e08d54142adff37b5ab',1,'grpc_op']]], + ['transport',['transport',['../structgrpc__connect__out__args.html#abc6070bbb1030b29072cc242faf7f5b9',1,'grpc_connect_out_args::transport()'],['../structconnected__channel__channel__data.html#a7f95ecc760083ad9d72bada84f33ca6b',1,'connected_channel_channel_data::transport()']]], + ['transport_2ec',['transport.c',['../transport_8c.html',1,'']]], + ['transport_2eh',['transport.h',['../transport_8h.html',1,'']]], + ['transport_5ffrom_5fglobal',['TRANSPORT_FROM_GLOBAL',['../stream__lists_8c.html#a029ef12f8edec2cce810fc244777f39e',1,'TRANSPORT_FROM_GLOBAL(): stream_lists.c'],['../chttp2__transport_8c.html#a029ef12f8edec2cce810fc244777f39e',1,'TRANSPORT_FROM_GLOBAL(): chttp2_transport.c']]], + ['transport_5ffrom_5fparsing',['TRANSPORT_FROM_PARSING',['../stream__lists_8c.html#a5d41409974a115e2721fe32cd1c1b8eb',1,'TRANSPORT_FROM_PARSING(): stream_lists.c'],['../chttp2__transport_8c.html#a720ba3d4f39bd3a50eef94f3af02df26',1,'TRANSPORT_FROM_PARSING(): chttp2_transport.c']]], + ['transport_5ffrom_5fwriting',['TRANSPORT_FROM_WRITING',['../stream__lists_8c.html#a0cbfd8ced9e04ddc423b7b87abb271ba',1,'TRANSPORT_FROM_WRITING(): stream_lists.c'],['../chttp2__transport_8c.html#a0cbfd8ced9e04ddc423b7b87abb271ba',1,'TRANSPORT_FROM_WRITING(): chttp2_transport.c']]], + ['transport_5fimpl_2eh',['transport_impl.h',['../transport__impl_8h.html',1,'']]], + ['transport_5fop_5fstring_2ec',['transport_op_string.c',['../transport__op__string_8c.html',1,'']]], + ['transport_5fsecurity_2ec',['transport_security.c',['../transport__security_8c.html',1,'']]], + ['transport_5fsecurity_2eh',['transport_security.h',['../transport__security_8h.html',1,'']]], + ['transport_5fsecurity_5finterface_2eh',['transport_security_interface.h',['../transport__security__interface_8h.html',1,'']]], + ['transport_5fstream_5ffrom_5fcall_5fdata',['TRANSPORT_STREAM_FROM_CALL_DATA',['../connected__channel_8c.html#a20fccb78f707f86985ab8dccc8f9ff68',1,'connected_channel.c']]], + ['triggered',['triggered',['../structgrpc__alarm.html#a75136c755eae954d2955f3519ea2919f',1,'grpc_alarm']]], + ['tsi_5fcertificate_5ftype_5fpeer_5fproperty',['TSI_CERTIFICATE_TYPE_PEER_PROPERTY',['../transport__security__interface_8h.html#ac1c4704b4f46d8db67be7d79cf9abee4',1,'transport_security_interface.h']]], + ['tsi_5fconstruct_5fallocated_5fstring_5fpeer_5fproperty',['tsi_construct_allocated_string_peer_property',['../transport__security_8h.html#a8a308346bff8f401be5fb4411995aafc',1,'tsi_construct_allocated_string_peer_property(const char *name, size_t value_length, tsi_peer_property *property): transport_security.c'],['../transport__security_8c.html#a8a308346bff8f401be5fb4411995aafc',1,'tsi_construct_allocated_string_peer_property(const char *name, size_t value_length, tsi_peer_property *property): transport_security.c']]], + ['tsi_5fconstruct_5fpeer',['tsi_construct_peer',['../transport__security_8h.html#a08ce831015f22dfc2b0c9c324f4d3f68',1,'tsi_construct_peer(size_t property_count, tsi_peer *peer): transport_security.c'],['../transport__security_8c.html#a08ce831015f22dfc2b0c9c324f4d3f68',1,'tsi_construct_peer(size_t property_count, tsi_peer *peer): transport_security.c']]], + ['tsi_5fconstruct_5fstring_5fpeer_5fproperty',['tsi_construct_string_peer_property',['../transport__security_8h.html#a77bdd8a1373d9badafe0f9628d613ccb',1,'tsi_construct_string_peer_property(const char *name, const char *value, size_t value_length, tsi_peer_property *property): transport_security.c'],['../transport__security_8c.html#a77bdd8a1373d9badafe0f9628d613ccb',1,'tsi_construct_string_peer_property(const char *name, const char *value, size_t value_length, tsi_peer_property *property): transport_security.c']]], + ['tsi_5fconstruct_5fstring_5fpeer_5fproperty_5ffrom_5fcstring',['tsi_construct_string_peer_property_from_cstring',['../transport__security_8h.html#a95d8643bd4378f9e648d5155a757ff3d',1,'tsi_construct_string_peer_property_from_cstring(const char *name, const char *value, tsi_peer_property *property): transport_security.c'],['../transport__security_8c.html#a95d8643bd4378f9e648d5155a757ff3d',1,'tsi_construct_string_peer_property_from_cstring(const char *name, const char *value, tsi_peer_property *property): transport_security.c']]], + ['tsi_5fcreate_5ffake_5fhandshaker',['tsi_create_fake_handshaker',['../fake__transport__security_8h.html#a7ce2a5356ae53a2f4686faa9f32910d3',1,'tsi_create_fake_handshaker(int is_client): fake_transport_security.c'],['../fake__transport__security_8c.html#a7ce2a5356ae53a2f4686faa9f32910d3',1,'tsi_create_fake_handshaker(int is_client): fake_transport_security.c']]], + ['tsi_5fcreate_5ffake_5fprotector',['tsi_create_fake_protector',['../fake__transport__security_8h.html#a6af0733aaa845a070d6d92e5d79e8932',1,'tsi_create_fake_protector(size_t *max_protected_frame_size): fake_transport_security.c'],['../fake__transport__security_8c.html#a6af0733aaa845a070d6d92e5d79e8932',1,'tsi_create_fake_protector(size_t *max_protected_frame_size): fake_transport_security.c']]], + ['tsi_5fcreate_5fssl_5fclient_5fhandshaker_5ffactory',['tsi_create_ssl_client_handshaker_factory',['../ssl__transport__security_8h.html#a24150414d752e0cf6a28ff47a7b1c954',1,'tsi_create_ssl_client_handshaker_factory(const unsigned char *pem_private_key, size_t pem_private_key_size, const unsigned char *pem_cert_chain, size_t pem_cert_chain_size, const unsigned char *pem_root_certs, size_t pem_root_certs_size, const char *cipher_suites, const unsigned char **alpn_protocols, const unsigned char *alpn_protocols_lengths, uint16_t num_alpn_protocols, tsi_ssl_handshaker_factory **factory): ssl_transport_security.c'],['../ssl__transport__security_8c.html#a74245460a2a17181e62578a3c9e3a566',1,'tsi_create_ssl_client_handshaker_factory(const unsigned char *pem_private_key, size_t pem_private_key_size, const unsigned char *pem_cert_chain, size_t pem_cert_chain_size, const unsigned char *pem_root_certs, size_t pem_root_certs_size, const char *cipher_list, const unsigned char **alpn_protocols, const unsigned char *alpn_protocols_lengths, uint16_t num_alpn_protocols, tsi_ssl_handshaker_factory **factory): ssl_transport_security.c']]], + ['tsi_5fcreate_5fssl_5fserver_5fhandshaker_5ffactory',['tsi_create_ssl_server_handshaker_factory',['../ssl__transport__security_8h.html#a07cacb661f68fba399bd2a8075246104',1,'tsi_create_ssl_server_handshaker_factory(const unsigned char **pem_private_keys, const size_t *pem_private_keys_sizes, const unsigned char **pem_cert_chains, const size_t *pem_cert_chains_sizes, size_t key_cert_pair_count, const unsigned char *pem_client_root_certs, size_t pem_client_root_certs_size, int force_client_auth, const char *cipher_suites, const unsigned char **alpn_protocols, const unsigned char *alpn_protocols_lengths, uint16_t num_alpn_protocols, tsi_ssl_handshaker_factory **factory): ssl_transport_security.c'],['../ssl__transport__security_8c.html#a90c268a36d1837b23c08ec862b810b4d',1,'tsi_create_ssl_server_handshaker_factory(const unsigned char **pem_private_keys, const size_t *pem_private_keys_sizes, const unsigned char **pem_cert_chains, const size_t *pem_cert_chains_sizes, size_t key_cert_pair_count, const unsigned char *pem_client_root_certs, size_t pem_client_root_certs_size, int force_client_auth, const char *cipher_list, const unsigned char **alpn_protocols, const unsigned char *alpn_protocols_lengths, uint16_t num_alpn_protocols, tsi_ssl_handshaker_factory **factory): ssl_transport_security.c']]], + ['tsi_5fdata_5fcorrupted',['TSI_DATA_CORRUPTED',['../transport__security__interface_8h.html#a368f59529aaab1dab4d117adfabcb468ae2d9416092ab23b45df65eaff3796e54',1,'transport_security_interface.h']]], + ['tsi_5ffailed_5fprecondition',['TSI_FAILED_PRECONDITION',['../transport__security__interface_8h.html#a368f59529aaab1dab4d117adfabcb468ae89ee0a742b8fad8c7cc232cc972babe',1,'transport_security_interface.h']]], + ['tsi_5ffake_5fcertificate_5ftype',['TSI_FAKE_CERTIFICATE_TYPE',['../fake__transport__security_8h.html#ae0392587ca3b2c370e2d0b23bd3567dc',1,'fake_transport_security.h']]], + ['tsi_5ffake_5fclient_5ffinished',['TSI_FAKE_CLIENT_FINISHED',['../fake__transport__security_8c.html#a0a27e83e048843db20bec3fbf4513d52a8449ebdb0b21fe666efe134d8eb5af74',1,'fake_transport_security.c']]], + ['tsi_5ffake_5fclient_5finit',['TSI_FAKE_CLIENT_INIT',['../fake__transport__security_8c.html#a0a27e83e048843db20bec3fbf4513d52a3eef9f8827f4892e807c2b0e1a9187f3',1,'fake_transport_security.c']]], + ['tsi_5ffake_5fdefault_5fframe_5fsize',['TSI_FAKE_DEFAULT_FRAME_SIZE',['../fake__transport__security_8c.html#a5e80c442eaaca03f86cd1b2a1beea9f3',1,'fake_transport_security.c']]], + ['tsi_5ffake_5fframe',['tsi_fake_frame',['../structtsi__fake__frame.html',1,'']]], + ['tsi_5ffake_5fframe_5fheader_5fsize',['TSI_FAKE_FRAME_HEADER_SIZE',['../fake__transport__security_8c.html#ad4e1e451d3d99c6805c489641d4934df',1,'fake_transport_security.c']]], + ['tsi_5ffake_5fframe_5finitial_5fallocated_5fsize',['TSI_FAKE_FRAME_INITIAL_ALLOCATED_SIZE',['../fake__transport__security_8c.html#a4faca44775d659e16993c11482a4a80e',1,'fake_transport_security.c']]], + ['tsi_5ffake_5fframe_5fprotector',['tsi_fake_frame_protector',['../structtsi__fake__frame__protector.html',1,'']]], + ['tsi_5ffake_5fhandshake_5fmessage',['tsi_fake_handshake_message',['../fake__transport__security_8c.html#a0a27e83e048843db20bec3fbf4513d52',1,'fake_transport_security.c']]], + ['tsi_5ffake_5fhandshake_5fmessage_5fmax',['TSI_FAKE_HANDSHAKE_MESSAGE_MAX',['../fake__transport__security_8c.html#a0a27e83e048843db20bec3fbf4513d52adf08f2bf334a78ccee66b203a08b6e7b',1,'fake_transport_security.c']]], + ['tsi_5ffake_5fhandshaker',['tsi_fake_handshaker',['../structtsi__fake__handshaker.html',1,'']]], + ['tsi_5ffake_5fserver_5ffinished',['TSI_FAKE_SERVER_FINISHED',['../fake__transport__security_8c.html#a0a27e83e048843db20bec3fbf4513d52abf558a770548cdab6e4716e7f30ac641',1,'fake_transport_security.c']]], + ['tsi_5ffake_5fserver_5finit',['TSI_FAKE_SERVER_INIT',['../fake__transport__security_8c.html#a0a27e83e048843db20bec3fbf4513d52a062ff4e0c7cb1b8894dbd5d633f4e5bb',1,'fake_transport_security.c']]], + ['tsi_5fframe_5fprotector',['tsi_frame_protector',['../structtsi__frame__protector.html',1,'tsi_frame_protector'],['../transport__security__interface_8h.html#a39ae4fe62f4ebc278c7738d6eda50dc8',1,'tsi_frame_protector(): transport_security_interface.h']]], + ['tsi_5fframe_5fprotector_5fdestroy',['tsi_frame_protector_destroy',['../transport__security__interface_8h.html#adfd6e29ec9ee51f095a2fd73bbc222f9',1,'tsi_frame_protector_destroy(tsi_frame_protector *self): transport_security.c'],['../transport__security_8c.html#adfd6e29ec9ee51f095a2fd73bbc222f9',1,'tsi_frame_protector_destroy(tsi_frame_protector *self): transport_security.c']]], + ['tsi_5fframe_5fprotector_5fprotect',['tsi_frame_protector_protect',['../transport__security__interface_8h.html#a5ceba08b6b8e98bc296e3c168cfe7ff6',1,'tsi_frame_protector_protect(tsi_frame_protector *self, const unsigned char *unprotected_bytes, size_t *unprotected_bytes_size, unsigned char *protected_output_frames, size_t *protected_output_frames_size): transport_security.c'],['../transport__security_8c.html#a5ceba08b6b8e98bc296e3c168cfe7ff6',1,'tsi_frame_protector_protect(tsi_frame_protector *self, const unsigned char *unprotected_bytes, size_t *unprotected_bytes_size, unsigned char *protected_output_frames, size_t *protected_output_frames_size): transport_security.c']]], + ['tsi_5fframe_5fprotector_5fprotect_5fflush',['tsi_frame_protector_protect_flush',['../transport__security__interface_8h.html#a97f093ea9700617a4bd64846e1040e10',1,'tsi_frame_protector_protect_flush(tsi_frame_protector *self, unsigned char *protected_output_frames, size_t *protected_output_frames_size, size_t *still_pending_size): transport_security.c'],['../transport__security_8c.html#a97f093ea9700617a4bd64846e1040e10',1,'tsi_frame_protector_protect_flush(tsi_frame_protector *self, unsigned char *protected_output_frames, size_t *protected_output_frames_size, size_t *still_pending_size): transport_security.c']]], + ['tsi_5fframe_5fprotector_5funprotect',['tsi_frame_protector_unprotect',['../transport__security__interface_8h.html#af7379ce84c820020001fd1538135f45f',1,'tsi_frame_protector_unprotect(tsi_frame_protector *self, const unsigned char *protected_frames_bytes, size_t *protected_frames_bytes_size, unsigned char *unprotected_bytes, size_t *unprotected_bytes_size): transport_security.c'],['../transport__security_8c.html#af7379ce84c820020001fd1538135f45f',1,'tsi_frame_protector_unprotect(tsi_frame_protector *self, const unsigned char *protected_frames_bytes, size_t *protected_frames_bytes_size, unsigned char *unprotected_bytes, size_t *unprotected_bytes_size): transport_security.c']]], + ['tsi_5fframe_5fprotector_5fvtable',['tsi_frame_protector_vtable',['../structtsi__frame__protector__vtable.html',1,'']]], + ['tsi_5fhandshake_5fin_5fprogress',['TSI_HANDSHAKE_IN_PROGRESS',['../transport__security__interface_8h.html#a368f59529aaab1dab4d117adfabcb468acc523cfb3ee181516c4965a82e4d104c',1,'transport_security_interface.h']]], + ['tsi_5fhandshaker',['tsi_handshaker',['../structtsi__handshaker.html',1,'tsi_handshaker'],['../transport__security__interface_8h.html#a37dc2869b4b8fbc2347d4e37a7f7a971',1,'tsi_handshaker(): transport_security_interface.h']]], + ['tsi_5fhandshaker_5fcreate_5fframe_5fprotector',['tsi_handshaker_create_frame_protector',['../transport__security__interface_8h.html#a5c468d1a9eec6e30553a0f0b4a36cf51',1,'tsi_handshaker_create_frame_protector(tsi_handshaker *self, size_t *max_output_protected_frame_size, tsi_frame_protector **protector): transport_security.c'],['../transport__security_8c.html#a332227aadf03c58b8ee4089f6f87bde6',1,'tsi_handshaker_create_frame_protector(tsi_handshaker *self, size_t *max_protected_frame_size, tsi_frame_protector **protector): transport_security.c']]], + ['tsi_5fhandshaker_5fdestroy',['tsi_handshaker_destroy',['../transport__security__interface_8h.html#aa86ebc2ea2967a18ff5c6007bb80e28d',1,'tsi_handshaker_destroy(tsi_handshaker *self): transport_security.c'],['../transport__security_8c.html#aa86ebc2ea2967a18ff5c6007bb80e28d',1,'tsi_handshaker_destroy(tsi_handshaker *self): transport_security.c']]], + ['tsi_5fhandshaker_5fextract_5fpeer',['tsi_handshaker_extract_peer',['../transport__security__interface_8h.html#acf71ef6d2d7c6934ba7252195fb866be',1,'tsi_handshaker_extract_peer(tsi_handshaker *self, tsi_peer *peer): transport_security.c'],['../transport__security_8c.html#acf71ef6d2d7c6934ba7252195fb866be',1,'tsi_handshaker_extract_peer(tsi_handshaker *self, tsi_peer *peer): transport_security.c']]], + ['tsi_5fhandshaker_5fget_5fbytes_5fto_5fsend_5fto_5fpeer',['tsi_handshaker_get_bytes_to_send_to_peer',['../transport__security__interface_8h.html#a29d1896a9b936a8bd534902bfc074e35',1,'tsi_handshaker_get_bytes_to_send_to_peer(tsi_handshaker *self, unsigned char *bytes, size_t *bytes_size): transport_security.c'],['../transport__security_8c.html#a29d1896a9b936a8bd534902bfc074e35',1,'tsi_handshaker_get_bytes_to_send_to_peer(tsi_handshaker *self, unsigned char *bytes, size_t *bytes_size): transport_security.c']]], + ['tsi_5fhandshaker_5fget_5fresult',['tsi_handshaker_get_result',['../transport__security__interface_8h.html#ac41531015167b3ac51aa5e201189701e',1,'tsi_handshaker_get_result(tsi_handshaker *self): transport_security.c'],['../transport__security_8c.html#ac41531015167b3ac51aa5e201189701e',1,'tsi_handshaker_get_result(tsi_handshaker *self): transport_security.c']]], + ['tsi_5fhandshaker_5fis_5fin_5fprogress',['tsi_handshaker_is_in_progress',['../transport__security__interface_8h.html#a08a4eb400e7769528cf47bf38542010c',1,'transport_security_interface.h']]], + ['tsi_5fhandshaker_5fprocess_5fbytes_5ffrom_5fpeer',['tsi_handshaker_process_bytes_from_peer',['../transport__security__interface_8h.html#add638c90585ef6e5e4418c35a7df9fa0',1,'tsi_handshaker_process_bytes_from_peer(tsi_handshaker *self, const unsigned char *bytes, size_t *bytes_size): transport_security.c'],['../transport__security_8c.html#add638c90585ef6e5e4418c35a7df9fa0',1,'tsi_handshaker_process_bytes_from_peer(tsi_handshaker *self, const unsigned char *bytes, size_t *bytes_size): transport_security.c']]], + ['tsi_5fhandshaker_5fvtable',['tsi_handshaker_vtable',['../structtsi__handshaker__vtable.html',1,'']]], + ['tsi_5fincomplete_5fdata',['TSI_INCOMPLETE_DATA',['../transport__security__interface_8h.html#a368f59529aaab1dab4d117adfabcb468a0f30d7f34423297d90c245b1ac78fa8e',1,'transport_security_interface.h']]], + ['tsi_5finit_5fpeer_5fproperty',['tsi_init_peer_property',['../transport__security_8h.html#ab5d4e3b2905ddbc6fb66be56bd6564b1',1,'tsi_init_peer_property(void): transport_security.c'],['../transport__security_8c.html#ab5d4e3b2905ddbc6fb66be56bd6564b1',1,'tsi_init_peer_property(void): transport_security.c']]], + ['tsi_5finternal_5ferror',['TSI_INTERNAL_ERROR',['../transport__security__interface_8h.html#a368f59529aaab1dab4d117adfabcb468a46312280869305daacb5dd763b411b34',1,'transport_security_interface.h']]], + ['tsi_5finvalid_5fargument',['TSI_INVALID_ARGUMENT',['../transport__security__interface_8h.html#a368f59529aaab1dab4d117adfabcb468a32ddfc784c501ef0be0c435257de7ada',1,'transport_security_interface.h']]], + ['tsi_5fnot_5ffound',['TSI_NOT_FOUND',['../transport__security__interface_8h.html#a368f59529aaab1dab4d117adfabcb468a87e7f77215086f32ba4b8596343e99a6',1,'transport_security_interface.h']]], + ['tsi_5fok',['TSI_OK',['../transport__security__interface_8h.html#a368f59529aaab1dab4d117adfabcb468a6e4252da534256e77c5c5c1f37fd9d2d',1,'transport_security_interface.h']]], + ['tsi_5fopenssl_5falpn_5fsupport',['TSI_OPENSSL_ALPN_SUPPORT',['../ssl__transport__security_8c.html#a6ddfac76c84308f6f7525adccea25b50',1,'ssl_transport_security.c']]], + ['tsi_5fout_5fof_5fresources',['TSI_OUT_OF_RESOURCES',['../transport__security__interface_8h.html#a368f59529aaab1dab4d117adfabcb468a7050473db6de8934403ec8edfdc28519',1,'transport_security_interface.h']]], + ['tsi_5fpeer',['tsi_peer',['../structtsi__peer.html',1,'']]], + ['tsi_5fpeer_5fdestruct',['tsi_peer_destruct',['../transport__security__interface_8h.html#a2c4bbdf32c13cf926aa28dc464a6f467',1,'tsi_peer_destruct(tsi_peer *self): transport_security.c'],['../transport__security_8c.html#a2c4bbdf32c13cf926aa28dc464a6f467',1,'tsi_peer_destruct(tsi_peer *self): transport_security.c']]], + ['tsi_5fpeer_5fget_5fproperty_5fby_5fname',['tsi_peer_get_property_by_name',['../security__connector_8h.html#a4e8c8c71595e5af0861880070356ce66',1,'tsi_peer_get_property_by_name(const tsi_peer *peer, const char *name): security_connector.c'],['../security__connector_8c.html#a4e8c8c71595e5af0861880070356ce66',1,'tsi_peer_get_property_by_name(const tsi_peer *peer, const char *name): security_connector.c']]], + ['tsi_5fpeer_5fproperty',['tsi_peer_property',['../structtsi__peer__property.html',1,'tsi_peer_property'],['../transport__security__interface_8h.html#ac82910ae9258e25d7281f46a9ab9c4be',1,'tsi_peer_property(): transport_security_interface.h']]], + ['tsi_5fpeer_5fproperty_5fdestruct',['tsi_peer_property_destruct',['../transport__security_8h.html#a83e56daafef9ce0d55873f2c63940819',1,'tsi_peer_property_destruct(tsi_peer_property *property): transport_security.c'],['../transport__security_8c.html#a83e56daafef9ce0d55873f2c63940819',1,'tsi_peer_property_destruct(tsi_peer_property *property): transport_security.c']]], + ['tsi_5fpermission_5fdenied',['TSI_PERMISSION_DENIED',['../transport__security__interface_8h.html#a368f59529aaab1dab4d117adfabcb468aeec912b94ea7402b8693166fa9101906',1,'transport_security_interface.h']]], + ['tsi_5fprotocol_5ffailure',['TSI_PROTOCOL_FAILURE',['../transport__security__interface_8h.html#a368f59529aaab1dab4d117adfabcb468a7c116598d89a88d8f85978c172371b7a',1,'transport_security_interface.h']]], + ['tsi_5fresult',['tsi_result',['../transport__security__interface_8h.html#a368f59529aaab1dab4d117adfabcb468',1,'transport_security_interface.h']]], + ['tsi_5fresult_5fto_5fstring',['tsi_result_to_string',['../transport__security__interface_8h.html#aaee2576c8d1108c2f28b78bcf5f85964',1,'tsi_result_to_string(tsi_result result): transport_security.c'],['../transport__security_8c.html#aaee2576c8d1108c2f28b78bcf5f85964',1,'tsi_result_to_string(tsi_result result): transport_security.c']]], + ['tsi_5fssl_5falpn_5fselected_5fprotocol',['TSI_SSL_ALPN_SELECTED_PROTOCOL',['../ssl__transport__security_8h.html#a7772b205a40f5d0e6bf613f666df70fa',1,'ssl_transport_security.h']]], + ['tsi_5fssl_5fclient_5fhandshaker_5ffactory',['tsi_ssl_client_handshaker_factory',['../structtsi__ssl__client__handshaker__factory.html',1,'']]], + ['tsi_5fssl_5fframe_5fprotector',['tsi_ssl_frame_protector',['../structtsi__ssl__frame__protector.html',1,'']]], + ['tsi_5fssl_5fhandshaker',['tsi_ssl_handshaker',['../structtsi__ssl__handshaker.html',1,'']]], + ['tsi_5fssl_5fhandshaker_5ffactory',['tsi_ssl_handshaker_factory',['../structtsi__ssl__handshaker__factory.html',1,'tsi_ssl_handshaker_factory'],['../ssl__transport__security_8h.html#a33648ab82d52fddf97cd254ab14cad32',1,'tsi_ssl_handshaker_factory(): ssl_transport_security.h']]], + ['tsi_5fssl_5fhandshaker_5ffactory_5fcreate_5fhandshaker',['tsi_ssl_handshaker_factory_create_handshaker',['../ssl__transport__security_8h.html#a640862c021958b7cc4e841d5842b3142',1,'tsi_ssl_handshaker_factory_create_handshaker(tsi_ssl_handshaker_factory *self, const char *server_name_indication, tsi_handshaker **handshaker): ssl_transport_security.c'],['../ssl__transport__security_8c.html#a640862c021958b7cc4e841d5842b3142',1,'tsi_ssl_handshaker_factory_create_handshaker(tsi_ssl_handshaker_factory *self, const char *server_name_indication, tsi_handshaker **handshaker): ssl_transport_security.c']]], + ['tsi_5fssl_5fhandshaker_5ffactory_5fdestroy',['tsi_ssl_handshaker_factory_destroy',['../ssl__transport__security_8h.html#a55e5ff567c916f396a960d9ba259fd5b',1,'tsi_ssl_handshaker_factory_destroy(tsi_ssl_handshaker_factory *self): ssl_transport_security.c'],['../ssl__transport__security_8c.html#a55e5ff567c916f396a960d9ba259fd5b',1,'tsi_ssl_handshaker_factory_destroy(tsi_ssl_handshaker_factory *self): ssl_transport_security.c']]], + ['tsi_5fssl_5fmax_5fprotected_5fframe_5fsize_5flower_5fbound',['TSI_SSL_MAX_PROTECTED_FRAME_SIZE_LOWER_BOUND',['../ssl__transport__security_8c.html#a57f67839c0d50a95afa6b14b8917b7ba',1,'ssl_transport_security.c']]], + ['tsi_5fssl_5fmax_5fprotected_5fframe_5fsize_5fupper_5fbound',['TSI_SSL_MAX_PROTECTED_FRAME_SIZE_UPPER_BOUND',['../ssl__transport__security_8c.html#afce1f5cc8a28bd1d4cea273bb2b5f5d8',1,'ssl_transport_security.c']]], + ['tsi_5fssl_5fmax_5fprotection_5foverhead',['TSI_SSL_MAX_PROTECTION_OVERHEAD',['../ssl__transport__security_8c.html#ac62522a33798b7b5bb434e1b8e49974f',1,'ssl_transport_security.c']]], + ['tsi_5fssl_5fpeer_5fmatches_5fname',['tsi_ssl_peer_matches_name',['../ssl__transport__security_8h.html#a22edee478b3473e184d77d74c13d9647',1,'tsi_ssl_peer_matches_name(const tsi_peer *peer, const char *name): ssl_transport_security.c'],['../ssl__transport__security_8c.html#a22edee478b3473e184d77d74c13d9647',1,'tsi_ssl_peer_matches_name(const tsi_peer *peer, const char *name): ssl_transport_security.c']]], + ['tsi_5fssl_5fpeer_5fto_5fauth_5fcontext',['tsi_ssl_peer_to_auth_context',['../security__connector_8h.html#a12dbc067a07c36d5219ba31f5dffc8c6',1,'tsi_ssl_peer_to_auth_context(const tsi_peer *peer): security_connector.c'],['../security__connector_8c.html#a12dbc067a07c36d5219ba31f5dffc8c6',1,'tsi_ssl_peer_to_auth_context(const tsi_peer *peer): security_connector.c']]], + ['tsi_5fssl_5fserver_5fhandshaker_5ffactory',['tsi_ssl_server_handshaker_factory',['../structtsi__ssl__server__handshaker__factory.html',1,'']]], + ['tsi_5fstrdup',['tsi_strdup',['../transport__security_8h.html#a4db31a671b7e77b6ecd14af773154c72',1,'tsi_strdup(const char *src): transport_security.c'],['../transport__security_8c.html#a4db31a671b7e77b6ecd14af773154c72',1,'tsi_strdup(const char *src): transport_security.c']]], + ['tsi_5ftracing_5fenabled',['tsi_tracing_enabled',['../transport__security_8h.html#a4e3d547c54325370492151543325e23c',1,'tsi_tracing_enabled(): transport_security.c'],['../transport__security__interface_8h.html#a4e3d547c54325370492151543325e23c',1,'tsi_tracing_enabled(): transport_security.c'],['../transport__security_8c.html#a4e3d547c54325370492151543325e23c',1,'tsi_tracing_enabled(): transport_security.c']]], + ['tsi_5funimplemented',['TSI_UNIMPLEMENTED',['../transport__security__interface_8h.html#a368f59529aaab1dab4d117adfabcb468a1dcbe7854fb1e3eb73024a6dd249989e',1,'transport_security_interface.h']]], + ['tsi_5funknown_5ferror',['TSI_UNKNOWN_ERROR',['../transport__security__interface_8h.html#a368f59529aaab1dab4d117adfabcb468a3f6f3bd9eaa4064ab2299479c95d6cfe',1,'transport_security_interface.h']]], + ['tsi_5fx509_5fcertificate_5ftype',['TSI_X509_CERTIFICATE_TYPE',['../ssl__transport__security_8h.html#a394dce2eccd1a35e54ea94ed19b95a7c',1,'ssl_transport_security.h']]], + ['tsi_5fx509_5fsubject_5falternative_5fname_5fpeer_5fproperty',['TSI_X509_SUBJECT_ALTERNATIVE_NAME_PEER_PROPERTY',['../ssl__transport__security_8h.html#a64e0648b7d1eec9671f01aa79f508c0f',1,'ssl_transport_security.h']]], + ['tsi_5fx509_5fsubject_5fcommon_5fname_5fpeer_5fproperty',['TSI_X509_SUBJECT_COMMON_NAME_PEER_PROPERTY',['../ssl__transport__security_8h.html#a3015d52d16728b0e28f354217fbb6296',1,'ssl_transport_security.h']]], + ['tv_5fnsec',['tv_nsec',['../structgpr__timespec.html#ac326c2133cd003cb206715cf5f500268',1,'gpr_timespec']]], + ['tv_5fsec',['tv_sec',['../structgpr__timespec.html#af9294cf0049fd33c76ad2da925d9051e',1,'gpr_timespec']]], + ['typ',['typ',['../structjose__header.html#a62661b991df1e33a832d0bf7449ab2d4',1,'jose_header']]], + ['type',['type',['../structgrpc__byte__buffer.html#aa7357d67e401d5bc9d10d8fed008dec8',1,'grpc_byte_buffer::type()'],['../structgrpc__arg.html#aa26f2d3c4b1649c9eb061d24a8c10fd4',1,'grpc_arg::type()'],['../structgrpc__event.html#a8e7f571b759f55db4f6bebc2a4f56ad7',1,'grpc_event::type()'],['../structgrpc__credentials.html#a40d9db6d1125238d7e1ceeeab886788b',1,'grpc_credentials::type()'],['../structgrpc__server__credentials.html#a96c8274aa0811620829537eb27bfcc1c',1,'grpc_server_credentials::type()'],['../structgrpc__auth__json__key.html#a08ca5a9beb5f0538d75d0ac580b83e52',1,'grpc_auth_json_key::type()'],['../structgrpc__auth__refresh__token.html#a8f88b86542543e97f441ea0080ab6c8e',1,'grpc_auth_refresh_token::type()'],['../structgrpc__json.html#a02364ac7e3f997c1cbab6ae4fca4415e',1,'grpc_json::type()'],['../structgrpc__stream__op.html#a26c057815c31f49b914bc28481cf9580',1,'grpc_stream_op::type()'],['../structrequested__call.html#a45da072fe9d7a970fe7880d9d2671e4c',1,'requested_call::type()'],['../structarg.html#ac42f6b11ab4ceee17be7871636e06dca',1,'arg::type()']]], + ['type_5fis_5fsigned',['TYPE_IS_SIGNED',['../time_8c.html#aee5df4784512f172739646babf8fa13d',1,'time.c']]], + ['type_5fmax',['TYPE_MAX',['../time_8c.html#a87353338032e1f56c958d981731f8378',1,'time.c']]], + ['type_5fmin',['TYPE_MIN',['../time_8c.html#ad5b4c36b3633abe2c68f8b4ab3c7de8c',1,'time.c']]] +]; diff --git a/doc/ref/core.internal/html/search/all_15.html b/doc/ref/core.internal/html/search/all_15.html new file mode 100644 index 0000000000..d3b5274ba7 --- /dev/null +++ b/doc/ref/core.internal/html/search/all_15.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core.internal/html/search/all_15.js b/doc/ref/core.internal/html/search/all_15.js new file mode 100644 index 0000000000..e231ada665 --- /dev/null +++ b/doc/ref/core.internal/html/search/all_15.js @@ -0,0 +1,25 @@ +var searchData= +[ + ['unannounced_5fincoming_5fwindow',['unannounced_incoming_window',['../structgrpc__chttp2__stream__global.html#a23dec30ddec4c30cebc9e4110d1bb9f9',1,'grpc_chttp2_stream_global']]], + ['unbound_5fjson_5fstring_5flength',['UNBOUND_JSON_STRING_LENGTH',['../json__string_8c.html#a1cb2ee1031195d596402be8c2c7e8065',1,'json_string.c']]], + ['unicode_5fchar',['unicode_char',['../structgrpc__json__reader.html#a8643069f58019ea5ac61fd2fd1180562',1,'grpc_json_reader']]], + ['unicode_5fhigh_5fsurrogate',['unicode_high_surrogate',['../structgrpc__json__reader.html#a8e874c0879d449071610b7643fc7ffe1',1,'grpc_json_reader']]], + ['unprotect',['unprotect',['../structtsi__frame__protector__vtable.html#aa4c1c5ad2e0299585050a3d11247e91e',1,'tsi_frame_protector_vtable']]], + ['unprotect_5fframe',['unprotect_frame',['../structtsi__fake__frame__protector.html#ac3e7c2d5e9b3f81c75772f328243db00',1,'tsi_fake_frame_protector']]], + ['unref',['unref',['../structgrpc__connector__vtable.html#a0b03677e3ce015e7dc092cd33475c1f9',1,'grpc_connector_vtable::unref()'],['../structgrpc__resolver__factory__vtable.html#aa83017deb3ec0dce406071545f0b203e',1,'grpc_resolver_factory_vtable::unref()'],['../structgrpc__subchannel__factory__vtable.html#a5550b5e9f61e0ee34c9c0e782bab734a',1,'grpc_subchannel_factory_vtable::unref()'],['../structgpr__slice__refcount.html#ae31a3f84f0032dd388418eee26aa9c00',1,'gpr_slice_refcount::unref()']]], + ['unref_5flog',['UNREF_LOG',['../subchannel_8c.html#a113001b9e3c0ff95ddc62508d3abddaa',1,'subchannel.c']]], + ['unref_5ftransport',['UNREF_TRANSPORT',['../chttp2__transport_8c.html#a2a872dae5a8d3799232cbae46e1ed133',1,'chttp2_transport.c']]], + ['unregistered_5frequest_5fmatcher',['unregistered_request_matcher',['../structgrpc__server.html#a8114e3dda6d6f5ec9257b5a5343b9821',1,'grpc_server']]], + ['unused',['unused',['../structgrpc__pollset__set.html#a8487ef4097fd3d48514105c757e1b69c',1,'grpc_pollset_set::unused()'],['../structcall__data.html#ab6ed893c5caa5b86338edf8b97bd77d8',1,'call_data::unused()'],['../structconnected__channel__call__data.html#ab7364ac5f5abf2c67075fd09e829cffd',1,'connected_channel_call_data::unused()'],['../structchannel__data.html#af5333a0c2b420d203cbe8a1a5e270efb',1,'channel_data::unused()']]], + ['uri_5fparser_2ec',['uri_parser.c',['../uri__parser_8c.html',1,'']]], + ['uri_5fparser_2eh',['uri_parser.h',['../uri__parser_8h.html',1,'']]], + ['url_5fscheme',['url_scheme',['../structgrpc__security__connector.html#a5e474c23ba9e2e50bd9f21f0b05d30ca',1,'grpc_security_connector']]], + ['use_5fssl',['use_ssl',['../structgrpc__httpcli__request.html#ab2502ce6e5c0362a8a0c0d02f571ceb3',1,'grpc_httpcli_request::use_ssl()'],['../structinternal__request.html#a0d17604038fc0b611296561b66cb46c5',1,'internal_request::use_ssl()']]], + ['useful_2eh',['useful.h',['../useful_8h.html',1,'']]], + ['user_5fagent',['user_agent',['../structcall__data.html#ab58bbaa2f8f054f606d919abce3f4716',1,'call_data::user_agent()'],['../structchannel__data.html#a9fd48ef186ac5f36381e9e873a1e2602',1,'channel_data::user_agent()']]], + ['user_5fcb',['user_cb',['../structverifier__cb__ctx.html#acb4e5c28f3b0d9270a28dc0c730123fa',1,'verifier_cb_ctx']]], + ['user_5fdata',['user_data',['../uniongrpc__ioreq__data.html#a442beede6948f0efc06a0a9404b49331',1,'grpc_ioreq_data::user_data()'],['../structinternal__request.html#aa47b4bb5697930b25831fbc2fc9ae16e',1,'internal_request::user_data()'],['../structgrpc__credentials__metadata__request.html#afba92ff6e76a2b87d1b4b6e0d8531b87',1,'grpc_credentials_metadata_request::user_data()'],['../structgrpc__composite__credentials__metadata__context.html#aa7ca5d9fca93b8a99acc2119f36b8ce6',1,'grpc_composite_credentials_metadata_context::user_data()'],['../structverifier__cb__ctx.html#a9ceed8c4de3dcf252fdaf7347c0b93a8',1,'verifier_cb_ctx::user_data()'],['../structgrpc__secure__transport__setup.html#a8c39ff96c74f4adc29fc0ba7e79f849c',1,'grpc_secure_transport_setup::user_data()'],['../structcompleted__request.html#a0f293e59a3e7c87f6cc59694a9b567ac',1,'completed_request::user_data()'],['../structreqinfo__master.html#aeaa50a715a0fc681a87daae3e3b72c9d',1,'reqinfo_master::user_data()'],['../structinternal__metadata.html#a69097159104a083a1a27fbbeb5fdd6ef',1,'internal_metadata::user_data()'],['../structnew__slice__refcount.html#a0476a0932ddf32f1cdd04cdd585fda68',1,'new_slice_refcount::user_data()'],['../structnew__with__len__slice__refcount.html#a47821f141ea3ddf0c13dd7d5bed35dda',1,'new_with_len_slice_refcount::user_data()']]], + ['user_5fdestroy',['user_destroy',['../structnew__slice__refcount.html#abe796cd680fb136eff9fa49f96bbd3e8',1,'new_slice_refcount::user_destroy()'],['../structnew__with__len__slice__refcount.html#ac8dc1c24ebd5fee4f034679b05177755',1,'new_with_len_slice_refcount::user_destroy()']]], + ['user_5flength',['user_length',['../structnew__with__len__slice__refcount.html#ab9f2fc163ee3e185eda913129ffb4546',1,'new_with_len_slice_refcount']]], + ['userdata',['userdata',['../structgrpc__json__reader.html#a914f3609f07d322bb7ce000dc95324fc',1,'grpc_json_reader::userdata()'],['../structgrpc__json__writer.html#a660101bdaf5e230700894b1f57134d31',1,'grpc_json_writer::userdata()']]] +]; diff --git a/doc/ref/core.internal/html/search/all_16.html b/doc/ref/core.internal/html/search/all_16.html new file mode 100644 index 0000000000..b4e3666ffb --- /dev/null +++ b/doc/ref/core.internal/html/search/all_16.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core.internal/html/search/all_16.js b/doc/ref/core.internal/html/search/all_16.js new file mode 100644 index 0000000000..0c6c5bd4ac --- /dev/null +++ b/doc/ref/core.internal/html/search/all_16.js @@ -0,0 +1,14 @@ +var searchData= +[ + ['value',['value',['../structgrpc__auth__property.html#af44f45ac4673a0298d00354c47d0907e',1,'grpc_auth_property::value()'],['../structgrpc__arg.html#ad2be4ee606c82fc084af1661d30f6f7f',1,'grpc_arg::value()'],['../structgrpc__metadata.html#a57b63d7b7a3e4720a0cc0d20bb2ecf36',1,'grpc_metadata::value()'],['../structcensus__stat.html#a3daa951eaf025870b0ab4b63343fe179',1,'census_stat::value()'],['../structgrpc__httpcli__header.html#af1d05b8dfdd2f2f433efc955116cb2aa',1,'grpc_httpcli_header::value()'],['../structgrpc__credentials__md.html#ae893ec4c5c65ffa395a5e12259089841',1,'grpc_credentials_md::value()'],['../structtsi__peer__property.html#a63f8f764dec5c40ffc3d7de0f83509d6',1,'tsi_peer_property::value()'],['../structgrpc__call__context__element.html#ad87c86a02e8563e6f99a4711737df3d4',1,'grpc_call_context_element::value()'],['../structgrpc__json.html#acfb3c395c22f57d7a07e7149bb16db44',1,'grpc_json::value()'],['../structgrpc__chttp2__settings__parser.html#a0aa608ce7e3352061233d6ffb3656327',1,'grpc_chttp2_settings_parser::value()'],['../structgrpc__chttp2__hpack__parser.html#a3098a6ec6adb9222dd0d64681eb9af6e',1,'grpc_chttp2_hpack_parser::value()'],['../structgrpc__chttp2__hpack__parser.html#a5291e99e19d95c5e130b62958750adef',1,'grpc_chttp2_hpack_parser::value()'],['../structgrpc__mdelem.html#ae98f0541c25f94c27c8a0e63741267e1',1,'grpc_mdelem::value()'],['../structinternal__metadata.html#abef02b106cd8bcee80c9d5ee375fe537',1,'internal_metadata::value()'],['../structgpr__stats__counter.html#ab9338ff7b5fd9f0c0830a8a788aab04a',1,'gpr_stats_counter::value()'],['../structgpr__gcc__thread__local.html#a057ec2885013c01ce37fffc6d9afece1',1,'gpr_gcc_thread_local::value()'],['../structgpr__msvc__thread__local.html#a0187c953da78c5a0620d75aaaaaa5798',1,'gpr_msvc_thread_local::value()'],['../structarg.html#a688d0385c96e5d5d7cb1a7342f9b4497',1,'arg::value()'],['../hpack__table_8c.html#a8556878012feffc9e0beb86cd78f424d',1,'value(): hpack_table.c']]], + ['value_5flength',['value_length',['../structgrpc__auth__property.html#a07359a178c29240cab42a89ef047b101',1,'grpc_auth_property::value_length()'],['../structgrpc__metadata.html#a2084add9ffe64cf337576114d189af3f',1,'grpc_metadata::value_length()']]], + ['values',['values',['../structgrpc__chttp2__stream__map.html#a3c6cf5f3722e7931c5b7ebe09a1ec824',1,'grpc_chttp2_stream_map']]], + ['varint_2ec',['varint.c',['../varint_8c.html',1,'']]], + ['varint_2eh',['varint.h',['../varint_8h.html',1,'']]], + ['verifier',['verifier',['../structverifier__cb__ctx.html#ac60d07b1cc9322f01f2f76f462188737',1,'verifier_cb_ctx']]], + ['verifier_5fcb_5fctx',['verifier_cb_ctx',['../structverifier__cb__ctx.html',1,'']]], + ['verifier_5fcb_5fctx_5fdestroy',['verifier_cb_ctx_destroy',['../jwt__verifier_8c.html#a6abd17abf83cb50196792f26f82ddb47',1,'jwt_verifier.c']]], + ['version',['version',['../structstate__watcher.html#adb6d0b4ffa782421e6f0898f8b13d4e8',1,'state_watcher']]], + ['version_2ec',['version.c',['../version_8c.html',1,'']]], + ['vtable',['vtable',['../structgrpc__credentials.html#a4842bd6607dba5b1045e4ad4e167d20e',1,'grpc_credentials::vtable()'],['../structgrpc__server__credentials.html#aa1514867a5ea460ca43d0afebea72b63',1,'grpc_server_credentials::vtable()'],['../structgrpc__security__connector.html#a72b9f6efab0a70571f579d129f2bffd1',1,'grpc_security_connector::vtable()'],['../structtsi__frame__protector.html#a71905393d848e4b2462f1ec9f6665619',1,'tsi_frame_protector::vtable()'],['../structtsi__handshaker.html#aad13ac357eb603138ec628ff05df2958',1,'tsi_handshaker::vtable()'],['../structgrpc__connector.html#ac4136d5397211527185fad5282ae01ec',1,'grpc_connector::vtable()'],['../structgrpc__lb__policy.html#a83d1624912fcce199cb291023abe453a',1,'grpc_lb_policy::vtable()'],['../structgrpc__resolver.html#a01324077acd85ac0ffb45d7967215386',1,'grpc_resolver::vtable()'],['../structgrpc__resolver__factory.html#ab063e0046b8db1db5469bf4b6f7cefc3',1,'grpc_resolver_factory::vtable()'],['../structgrpc__subchannel__factory.html#a41a36a12bfcc66b72cba6bda47f00b51',1,'grpc_subchannel_factory::vtable()'],['../structgrpc__endpoint.html#a3510963bb9fe2afd610189fa3a1f44c7',1,'grpc_endpoint::vtable()'],['../structgrpc__pollset.html#a0a3106a5e75b7079d89b8443ac8cb887',1,'grpc_pollset::vtable()'],['../structgrpc__json__reader.html#ac498ef0a1c3dc96126cd86f47f70afa5',1,'grpc_json_reader::vtable()'],['../structgrpc__json__writer.html#ad1b0dd7119dfd5ef95ca6972d0918e5b',1,'grpc_json_writer::vtable()'],['../structgrpc__transport.html#a8cb3afbd2614b5ffcda4adc56c8cb007',1,'grpc_transport::vtable()']]] +]; diff --git a/doc/ref/core.internal/html/search/all_17.html b/doc/ref/core.internal/html/search/all_17.html new file mode 100644 index 0000000000..6dcb33cf18 --- /dev/null +++ b/doc/ref/core.internal/html/search/all_17.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core.internal/html/search/all_17.js b/doc/ref/core.internal/html/search/all_17.js new file mode 100644 index 0000000000..b8598c3908 --- /dev/null +++ b/doc/ref/core.internal/html/search/all_17.js @@ -0,0 +1,42 @@ +var searchData= +[ + ['waiters',['waiters',['../structgpr__cancellable.html#a99dfebf899cae60307fb8b83e8cfdb43',1,'gpr_cancellable']]], + ['waiting',['waiting',['../structgrpc__subchannel.html#a86222e4f70c6a36a9345ce2388f94e22',1,'grpc_subchannel::waiting()'],['../channel__connectivity_8c.html#a71937a2ee2a4befe88e84d4966f8845ca757971c0bc5a1972d5f1b1be2c0e2087',1,'WAITING(): channel_connectivity.c']]], + ['waiting_5fcall',['waiting_call',['../structwaiting__call.html',1,'']]], + ['waiting_5ffor_5fconfig_5fclosures',['waiting_for_config_closures',['../structchannel__data.html#ac701a31115f0dcb435265a106baf619f',1,'channel_data']]], + ['waiting_5ffor_5fconnect',['waiting_for_connect',['../structwaiting__for__connect.html',1,'waiting_for_connect'],['../subchannel_8c.html#a5c5a0a02a82c51b4df27922770a17516',1,'waiting_for_connect(): subchannel.c']]], + ['waiting_5fop',['waiting_op',['../structcall__data.html#a95c7079af1a663431de6bfe8e919cff7',1,'call_data']]], + ['wakeup',['wakeup',['../structgrpc__wakeup__fd__vtable.html#a454fa9945c56e646245eb00b1f387a5f',1,'grpc_wakeup_fd_vtable']]], + ['wakeup_5ffd',['wakeup_fd',['../structgrpc__kick__fd__info.html#a1de795478812bbce339df7a84b315479',1,'grpc_kick_fd_info']]], + ['wakeup_5ffd_5feventfd_2ec',['wakeup_fd_eventfd.c',['../wakeup__fd__eventfd_8c.html',1,'']]], + ['wakeup_5ffd_5fnospecial_2ec',['wakeup_fd_nospecial.c',['../wakeup__fd__nospecial_8c.html',1,'']]], + ['wakeup_5ffd_5fpipe_2ec',['wakeup_fd_pipe.c',['../wakeup__fd__pipe_8c.html',1,'']]], + ['wakeup_5ffd_5fpipe_2eh',['wakeup_fd_pipe.h',['../wakeup__fd__pipe_8h.html',1,'']]], + ['wakeup_5ffd_5fposix_2ec',['wakeup_fd_posix.c',['../wakeup__fd__posix_8c.html',1,'']]], + ['wakeup_5ffd_5fposix_2eh',['wakeup_fd_posix.h',['../wakeup__fd__posix_8h.html',1,'']]], + ['watcher_5fmu',['watcher_mu',['../structgrpc__fd.html#a7c93a423654bb4d3466593ef73b9f06b',1,'grpc_fd']]], + ['watchers',['watchers',['../structgrpc__connectivity__state__tracker.html#a0729ebf58543059330612f61c6519fdd',1,'grpc_connectivity_state_tracker']]], + ['window_5fupdate',['window_update',['../structgrpc__chttp2__transport__parsing.html#a6d6d8e67e0200e9cd62a76e2e3020d2d',1,'grpc_chttp2_transport_parsing']]], + ['wrapped',['wrapped',['../structmerge__args__factory.html#aecaa1e5ad4e5838355a2f1515943e378',1,'merge_args_factory']]], + ['wrapped_5fendpoint',['wrapped_endpoint',['../structgrpc__secure__transport__setup.html#a6718bd343a57770498f8bfcfeefbaf9a',1,'grpc_secure_transport_setup']]], + ['wrapped_5fep',['wrapped_ep',['../structsecure__endpoint.html#aee294803f06c5d38dac97d2933d52e94',1,'secure_endpoint']]], + ['write',['write',['../structgrpc__endpoint__vtable.html#a5fca837fe96a08bfc514eb7579e23739',1,'grpc_endpoint_vtable']]], + ['write_5fcb',['write_cb',['../structsecure__endpoint.html#a0d57c837c3b9281454f2629845162de0',1,'secure_endpoint']]], + ['write_5ffd',['write_fd',['../structgrpc__wakeup__fd__info.html#a7e8536d8e32a9c4e98294dfa2b98f28f',1,'grpc_wakeup_fd_info']]], + ['write_5finfo',['write_info',['../structgrpc__winsocket.html#a8c0eeccc3a3cbfbb28d172a7c42a0bd6',1,'grpc_winsocket']]], + ['write_5fstaging_5fbuffer',['write_staging_buffer',['../structsecure__endpoint.html#a9349d713abd0f17c41579a9c149629c2',1,'secure_endpoint']]], + ['write_5fstate',['write_state',['../structgrpc__chttp2__stream__global.html#aab4958ab848ae72e29c8161de9df1cf9',1,'grpc_chttp2_stream_global::write_state()'],['../structgrpc__call.html#a9a08d62d6d129d629c2cbe25511983ac',1,'grpc_call::write_state()'],['../call_8c.html#a5ed0172019dfa72bf69d881d3f06688d',1,'write_state(): call.c']]], + ['write_5fstate_5finitial',['WRITE_STATE_INITIAL',['../call_8c.html#a5ed0172019dfa72bf69d881d3f06688da18e6209a49059c72ae1a0671fbe729f3',1,'call.c']]], + ['write_5fstate_5fstarted',['WRITE_STATE_STARTED',['../call_8c.html#a5ed0172019dfa72bf69d881d3f06688da26c7fbe66a37088b9bc8f34edd4e2634',1,'call.c']]], + ['write_5fstate_5fwrite_5fclosed',['WRITE_STATE_WRITE_CLOSED',['../call_8c.html#a5ed0172019dfa72bf69d881d3f06688daa6f0a8cbb946569f2f609e500abbbff4',1,'call.c']]], + ['write_5fuser_5fdata',['write_user_data',['../structsecure__endpoint.html#ae444fbf4226a8118b5cac6f71d043124',1,'secure_endpoint']]], + ['write_5fwatcher',['write_watcher',['../structgrpc__fd.html#ae2395965de88538f112be69c21307d01',1,'grpc_fd']]], + ['writest',['writest',['../structgrpc__fd.html#aedae81fadd133cc54ae92837ea7a2676',1,'grpc_fd']]], + ['writing',['writing',['../structgrpc__chttp2__transport.html#a42e022f4775a11184006e08ba9c1afbf',1,'grpc_chttp2_transport::writing()'],['../structgrpc__chttp2__stream.html#a56eaa3786a61b45591c0e3825ddd5e2e',1,'grpc_chttp2_stream::writing()']]], + ['writing_2ec',['writing.c',['../writing_8c.html',1,'']]], + ['writing_5faction',['writing_action',['../structgrpc__chttp2__transport.html#a18d7c2fe14df07bc43840698aa5a3224',1,'grpc_chttp2_transport']]], + ['writing_5factive',['writing_active',['../structgrpc__chttp2__transport.html#a2e550b67b429a603f37decfc8b29449b',1,'grpc_chttp2_transport']]], + ['writing_5fnow',['writing_now',['../structgrpc__chttp2__stream__global.html#a80827ad1a2e6f7ddce4f73c1b8964c2c',1,'grpc_chttp2_stream_global']]], + ['written_5finitial_5fmetadata',['written_initial_metadata',['../structcall__data.html#a5fccfa4c3448bcfd28f80b2caad5485b',1,'call_data']]], + ['wsa_5ferror',['wsa_error',['../structgrpc__winsocket__callback__info.html#adef17089b66a9180b92bcc9da0d4ae29',1,'grpc_winsocket_callback_info']]] +]; diff --git a/doc/ref/core.internal/html/search/all_18.html b/doc/ref/core.internal/html/search/all_18.html new file mode 100644 index 0000000000..f83cb81144 --- /dev/null +++ b/doc/ref/core.internal/html/search/all_18.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core.internal/html/search/all_18.js b/doc/ref/core.internal/html/search/all_18.js new file mode 100644 index 0000000000..b52b388472 --- /dev/null +++ b/doc/ref/core.internal/html/search/all_18.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['zombied',['ZOMBIED',['../server_8c.html#a6ca2e6dbf0562417ab7c66e8907a56b1acfa05d5a2f18cf6a5976178d9949c512',1,'server.c']]] +]; diff --git a/doc/ref/core.internal/html/search/all_2.html b/doc/ref/core.internal/html/search/all_2.html new file mode 100644 index 0000000000..95ded1222d --- /dev/null +++ b/doc/ref/core.internal/html/search/all_2.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core.internal/html/search/all_2.js b/doc/ref/core.internal/html/search/all_2.js new file mode 100644 index 0000000000..5fcdacf140 --- /dev/null +++ b/doc/ref/core.internal/html/search/all_2.js @@ -0,0 +1,50 @@ +var searchData= +[ + ['b64_5fbyte0',['B64_BYTE0',['../hpack__parser_8c.html#ad3a7b3c7f62a05667162fb28247a07c2a500a293aa7eb4d4757a1f8c68e6130a2',1,'hpack_parser.c']]], + ['b64_5fbyte1',['B64_BYTE1',['../hpack__parser_8c.html#ad3a7b3c7f62a05667162fb28247a07c2a55a85d993feb4d0602aa7321264b6803',1,'hpack_parser.c']]], + ['b64_5fbyte2',['B64_BYTE2',['../hpack__parser_8c.html#ad3a7b3c7f62a05667162fb28247a07c2a67574c0700ab2dd5156af220443386d2',1,'hpack_parser.c']]], + ['b64_5fbyte3',['B64_BYTE3',['../hpack__parser_8c.html#ad3a7b3c7f62a05667162fb28247a07c2aabf8c05acae26139d5ba70316b749524',1,'hpack_parser.c']]], + ['b64_5fhuff_5fsym',['b64_huff_sym',['../structb64__huff__sym.html',1,'']]], + ['backoff_5fdelta',['backoff_delta',['../structgrpc__subchannel.html#a337c8cb56f9a249ca181ddc1f5999af5',1,'grpc_subchannel']]], + ['base',['base',['../structgrpc__ssl__credentials.html#a2745d407b41a3278d6701b10dd94c6e4',1,'grpc_ssl_credentials::base()'],['../structgrpc__ssl__server__credentials.html#af476f00d0272add3ba170388460abc71',1,'grpc_ssl_server_credentials::base()'],['../structgrpc__service__account__jwt__access__credentials.html#a9da87dad6986e218d5246fc125db04f4',1,'grpc_service_account_jwt_access_credentials::base()'],['../structgrpc__oauth2__token__fetcher__credentials.html#acf21ce59c27d145279e5a26d561ea2d5',1,'grpc_oauth2_token_fetcher_credentials::base()'],['../structgrpc__service__account__credentials.html#acb97b3d4e8dd7783520e82d6416f25d0',1,'grpc_service_account_credentials::base()'],['../structgrpc__refresh__token__credentials.html#a2be1d1da67694fe3a5c496f832908b9e',1,'grpc_refresh_token_credentials::base()'],['../structgrpc__access__token__credentials.html#a594ae3c4f36d690eb29a8c0a1ec48d0b',1,'grpc_access_token_credentials::base()'],['../structgrpc__fake__oauth2__credentials.html#a706b02614122deadad3f0fa9713c9901',1,'grpc_fake_oauth2_credentials::base()'],['../structgrpc__iam__credentials.html#a0470518ebd35b41e23f35fb85080750d',1,'grpc_iam_credentials::base()'],['../structgrpc__composite__credentials.html#a96e8d7c765b0b1e37d025d8726fe57d2',1,'grpc_composite_credentials::base()'],['../structgrpc__channel__security__connector.html#ac8633820dab73e1d4a083010865ece08',1,'grpc_channel_security_connector::base()'],['../structgrpc__chttp2__transport.html#aafdcf31c8c77411e25dfa9b94eeb283f',1,'grpc_chttp2_transport::base()'],['../structgrpc__httpcli__ssl__channel__security__connector.html#a4da06be1278854b4447140407d81db25',1,'grpc_httpcli_ssl_channel_security_connector::base()'],['../structsecure__endpoint.html#ac85eec4e82c343cb9fd03c8dea0a08bb',1,'secure_endpoint::base()'],['../structgrpc__fake__channel__security__connector.html#a3a30ba1484411dcedb12607e1a523431',1,'grpc_fake_channel_security_connector::base()'],['../structgrpc__ssl__channel__security__connector.html#af7253d985a9b58d3f7a363d05fdb148c',1,'grpc_ssl_channel_security_connector::base()'],['../structgrpc__ssl__server__security__connector.html#a458d7df65c42b6df819570e79f750907',1,'grpc_ssl_server_security_connector::base()'],['../structconnector.html#a073303affdd652e8688303df9a126bd2',1,'connector::base()'],['../structsubchannel__factory.html#a58fdbc6cebefc2d0f5a75081bee7b676',1,'subchannel_factory::base()'],['../structtsi__fake__handshaker.html#ac20760acd01b20d55b2f92b6a8a139da',1,'tsi_fake_handshaker::base()'],['../structtsi__fake__frame__protector.html#a1f23e2443125ab322674638a71832620',1,'tsi_fake_frame_protector::base()'],['../structtsi__ssl__client__handshaker__factory.html#a66026b4b56a25d198d4aafa959da8413',1,'tsi_ssl_client_handshaker_factory::base()'],['../structtsi__ssl__server__handshaker__factory.html#a68655e93122b5b856ecb840526ff86d9',1,'tsi_ssl_server_handshaker_factory::base()'],['../structtsi__ssl__handshaker.html#a21ae1da6ec22caf8229b148e11aad657',1,'tsi_ssl_handshaker::base()'],['../structtsi__ssl__frame__protector.html#a7d015792be7227bfd44a6a17dc08aa72',1,'tsi_ssl_frame_protector::base()'],['../structpick__first__lb__policy.html#a3e8f7088400929001aa4b589a3f79f79',1,'pick_first_lb_policy::base()'],['../structdns__resolver.html#a135f51d63ab8d730d7ba491f0d94b6f6',1,'dns_resolver::base()'],['../structsockaddr__resolver.html#a92a0b91dca1a2ecdb5eea739a8038c82',1,'sockaddr_resolver::base()'],['../structmerge__args__factory.html#a10d01f7c94efbd37682c4c2af19a21e8',1,'merge_args_factory::base()'],['../structmalloc__refcount.html#a9443dc5946fa32f480286c87d5dc3686',1,'malloc_refcount::base()']]], + ['base64_2ec',['base64.c',['../base64_8c.html',1,'']]], + ['base64_2eh',['base64.h',['../base64_8h.html',1,'']]], + ['base64_5fand_5fhuffman',['base64_and_huffman',['../structinternal__string.html#abfafee0983fc1c6c1e38c8e539d41999',1,'internal_string']]], + ['base64_5fbuffer',['base64_buffer',['../structgrpc__chttp2__hpack__parser.html#af48331853250257b1640d07e06d6e47e',1,'grpc_chttp2_hpack_parser']]], + ['basic_5ftimers_2ec',['basic_timers.c',['../basic__timers_8c.html',1,'']]], + ['batch',['batch',['../structrequested__call.html#a664afa5ffde3750f0ff04f69813fbcd2',1,'requested_call']]], + ['batch_5fcall',['BATCH_CALL',['../server_8c.html#aca2d7591ebc428dc14cf07f72e88c38aa38d2782a64b3bf4a845e9795b295b685',1,'server.c']]], + ['batch_5fnum_5fsamples',['batch_num_samples',['../structgrpc__time__averaged__stats.html#a630c3447f5023f4ab790a311ec93f6fb',1,'grpc_time_averaged_stats']]], + ['batch_5ftotal_5fvalue',['batch_total_value',['../structgrpc__time__averaged__stats.html#a87b5877b79ff41a32b12065ce4e0273b',1,'grpc_time_averaged_stats']]], + ['begin_5fmessage',['begin_message',['../structgrpc__stream__op.html#af6c691f3348941eee97e54957222562f',1,'grpc_stream_op']]], + ['bin_5fencoder_2ec',['bin_encoder.c',['../bin__encoder_8c.html',1,'']]], + ['bin_5fencoder_2eh',['bin_encoder.h',['../bin__encoder_8h.html',1,'']]], + ['binary',['binary',['../structgrpc__chttp2__hpack__parser.html#ac7bd236697b3923633920b3dcc26079f',1,'grpc_chttp2_hpack_parser']]], + ['binary_5fheader',['BINARY_HEADER',['../hpack__parser_8c.html#a71eda0fd38f30d8005251eb895de35eea4940041097c06eed1076f5dc2de17d9a',1,'hpack_parser.c']]], + ['binary_5fstate',['binary_state',['../hpack__parser_8c.html#ad3a7b3c7f62a05667162fb28247a07c2',1,'hpack_parser.c']]], + ['bind_5fpollset',['bind_pollset',['../structgrpc__transport__stream__op.html#a8d6fc4a4607cb5e19255328c69dbbbc4',1,'grpc_transport_stream_op::bind_pollset()'],['../structgrpc__transport__op.html#aeaed4d0f2349649d83e662cd69fbe9b2',1,'grpc_transport_op::bind_pollset()']]], + ['bind_5fpollset_5fset',['bind_pollset_set',['../structgrpc__transport__op.html#a4ab2143e7e598667e29f3366722c07a3',1,'grpc_transport_op']]], + ['bits',['bits',['../structgrpc__chttp2__huffsym.html#a90ee6b96d9c7946f78271d280f881b88',1,'grpc_chttp2_huffsym::bits()'],['../structb64__huff__sym.html#ab216d5e5b8fdb4ccfd9a4843aa389b81',1,'b64_huff_sym::bits()']]], + ['body',['body',['../structgrpc__httpcli__response.html#a8f37c239a412de970f3489c71ad08b90',1,'grpc_httpcli_response']]], + ['body_5fcapacity',['body_capacity',['../structgrpc__httpcli__parser.html#a4229204d0c6b48f33f9016d48b05b628',1,'grpc_httpcli_parser']]], + ['body_5flength',['body_length',['../structgrpc__httpcli__response.html#a26967529714ef3cba3a5ce5f6a34d9cb',1,'grpc_httpcli_response']]], + ['bound_5fpollset',['bound_pollset',['../structgrpc__call.html#a3cd66ac4c2f69f16f6037fc63f0d49db',1,'grpc_call']]], + ['broadcast',['broadcast',['../structgrpc__lb__policy__vtable.html#a0a12509ba4569fb4c87b4d325e0f89d3',1,'grpc_lb_policy_vtable']]], + ['bucket_5fnext',['bucket_next',['../structinternal__string.html#a821c2b13cb1eea1ed3e36e867b62f3ba',1,'internal_string::bucket_next()'],['../structinternal__metadata.html#aadcd0104b419227943fcd4a53920777e',1,'internal_metadata::bucket_next()']]], + ['buckets',['buckets',['../structgpr__histogram.html#abc707964e4925f4b7abf4c69daaaef73',1,'gpr_histogram']]], + ['buffer',['buffer',['../structjose__header.html#af14380ad49201179d4ad6e3fa7a0e58b',1,'jose_header::buffer()'],['../structgrpc__jwt__claims.html#a62be74275bf0b7d887d70229bb9e497b',1,'grpc_jwt_claims::buffer()'],['../structtsi__ssl__frame__protector.html#a3df125b5b712526ea26ba5dbaa8a71ee',1,'tsi_ssl_frame_protector::buffer()']]], + ['buffer_5fin',['buffer_in',['../structgrpc__byte__buffer__reader.html#a8856d955b045dab1a425fac372e0be22',1,'grpc_byte_buffer_reader']]], + ['buffer_5foffset',['buffer_offset',['../structtsi__ssl__frame__protector.html#a8d6f4e3e06cec85370146dae562a572f',1,'tsi_ssl_frame_protector']]], + ['buffer_5fout',['buffer_out',['../structgrpc__byte__buffer__reader.html#aa947e8d51e0b4333e2b68f0ac55f4e47',1,'grpc_byte_buffer_reader']]], + ['buffer_5fsize',['buffer_size',['../structtsi__ssl__frame__protector.html#a1a3705245461fa77c84d7cb3806b1840',1,'tsi_ssl_frame_protector']]], + ['buffered_5fmetadata',['buffered_metadata',['../structgrpc__call.html#ae501d7b947eb7a73170ccc5272e83c15',1,'grpc_call']]], + ['byte',['byte',['../structgrpc__chttp2__ping__parser.html#a210db2114f01c53a41e466da1cf1af33',1,'grpc_chttp2_ping_parser::byte()'],['../structgrpc__chttp2__rst__stream__parser.html#aee8f43a9cfb3468529d9bfa7ad30d665',1,'grpc_chttp2_rst_stream_parser::byte()'],['../structgrpc__chttp2__window__update__parser.html#a9e8db4c14f00aa3572c81566448cba79',1,'grpc_chttp2_window_update_parser::byte()']]], + ['byte_5fbuffer_2ec',['byte_buffer.c',['../byte__buffer_8c.html',1,'']]], + ['byte_5fbuffer_2eh',['byte_buffer.h',['../byte__buffer_8h.html',1,'']]], + ['byte_5fbuffer_5fqueue_2ec',['byte_buffer_queue.c',['../byte__buffer__queue_8c.html',1,'']]], + ['byte_5fbuffer_5fqueue_2eh',['byte_buffer_queue.h',['../byte__buffer__queue_8h.html',1,'']]], + ['byte_5fbuffer_5freader_2ec',['byte_buffer_reader.c',['../byte__buffer__reader_8c.html',1,'']]], + ['byte_5fbuffer_5freader_2eh',['byte_buffer_reader.h',['../byte__buffer__reader_8h.html',1,'']]], + ['bytes',['bytes',['../structgrpc__byte__buffer__queue.html#a16c6f1877a10ab226a2fd9988612ea59',1,'grpc_byte_buffer_queue::bytes()'],['../structgpr__slice.html#a16646e1a137851f2b031cf2c431b2864',1,'gpr_slice::bytes()'],['../structgpr__slice.html#a39592633c4ad594a15b3a52aadff398d',1,'gpr_slice::bytes()']]], + ['bytes_5ftransfered',['bytes_transfered',['../structgrpc__winsocket__callback__info.html#ae7d4cdac6983f1de38a239a3bb11021e',1,'grpc_winsocket_callback_info']]] +]; diff --git a/doc/ref/core.internal/html/search/all_3.html b/doc/ref/core.internal/html/search/all_3.html new file mode 100644 index 0000000000..4d312d03dd --- /dev/null +++ b/doc/ref/core.internal/html/search/all_3.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core.internal/html/search/all_3.js b/doc/ref/core.internal/html/search/all_3.js new file mode 100644 index 0000000000..45fe1433aa --- /dev/null +++ b/doc/ref/core.internal/html/search/all_3.js @@ -0,0 +1,216 @@ +var searchData= +[ + ['cache_5fmu',['cache_mu',['../structgrpc__service__account__jwt__access__credentials.html#a641b64d26a1c7bdc348e960ed5400b94',1,'grpc_service_account_jwt_access_credentials']]], + ['cached',['cached',['../structgrpc__service__account__jwt__access__credentials.html#a8c7e6a306aa24aaefa9f96982fdaafbd',1,'grpc_service_account_jwt_access_credentials']]], + ['call',['call',['../structfinished__loose__op__allocated__args.html#a39f5408992820aa61c3aa11e378612d3',1,'finished_loose_op_allocated_args::call()'],['../structrequested__call.html#a0995465df7da49fbbb591d8b03dd1de2',1,'requested_call::call()'],['../structcall__data.html#a5512e8a6ddade275bc9b64ef48de3036',1,'call_data::call()']]], + ['call_2ec',['call.c',['../call_8c.html',1,'']]], + ['call_2eh',['call.h',['../call_8h.html',1,'']]], + ['call_5factive',['CALL_ACTIVE',['../client__channel_8c.html#a6ca2e6dbf0562417ab7c66e8907a56b1a38c567ba414b95843eea67ead22156b9',1,'client_channel.c']]], + ['call_5fcancelled',['CALL_CANCELLED',['../client__channel_8c.html#a6ca2e6dbf0562417ab7c66e8907a56b1a64c64130e25c5cd2d884b8c16093a89d',1,'client_channel.c']]], + ['call_5fcreated',['CALL_CREATED',['../client__channel_8c.html#a6ca2e6dbf0562417ab7c66e8907a56b1a5dc41298c08d706c248c0aad80fdf2a8',1,'client_channel.c']]], + ['call_5fdata',['call_data',['../structcall__data.html',1,'call_data'],['../structgrpc__call__element.html#a30f78246a0caa0615e4b48d3091b8c04',1,'grpc_call_element::call_data()'],['../server__auth__filter_8c.html#a7237e4a998a071b454b0d6b1bdfb42e1',1,'call_data(): server_auth_filter.c'],['../client__channel_8c.html#a9d8dd5943711393112c0fe83c02c0ca8',1,'call_data(): client_channel.c'],['../compress__filter_8c.html#a7237e4a998a071b454b0d6b1bdfb42e1',1,'call_data(): compress_filter.c'],['../connected__channel_8c.html#abf019c14ca61b45a660c2b86b0a0b889',1,'call_data(): connected_channel.c'],['../http__client__filter_8c.html#a7237e4a998a071b454b0d6b1bdfb42e1',1,'call_data(): http_client_filter.c'],['../http__server__filter_8c.html#a7237e4a998a071b454b0d6b1bdfb42e1',1,'call_data(): http_server_filter.c'],['../noop__filter_8c.html#a7237e4a998a071b454b0d6b1bdfb42e1',1,'call_data(): noop_filter.c'],['../server_8c.html#a9d8dd5943711393112c0fe83c02c0ca8',1,'call_data(): server.c']]], + ['call_5fdata_5ffrom_5ftransport_5fstream',['CALL_DATA_FROM_TRANSPORT_STREAM',['../connected__channel_8c.html#adc89e1ee71e626f5adc6ceb2de12935a',1,'connected_channel.c']]], + ['call_5fdetails_2ec',['call_details.c',['../call__details_8c.html',1,'']]], + ['call_5felem_5ffrom_5fcall',['CALL_ELEM_FROM_CALL',['../call_8c.html#acd274f346b0ea7fc3235481cb7726c25',1,'call.c']]], + ['call_5felems_5ffrom_5fstack',['CALL_ELEMS_FROM_STACK',['../channel__stack_8c.html#a604f63dd1fea052b4285b1437c100610',1,'channel_stack.c']]], + ['call_5ffrom_5fcall_5fstack',['CALL_FROM_CALL_STACK',['../call_8c.html#a5e0acdef58012600d44f7978256c82d9',1,'call.c']]], + ['call_5ffrom_5ftop_5felem',['CALL_FROM_TOP_ELEM',['../call_8c.html#a195c2e9b9e6551cf5973560eec7a97fa',1,'call.c']]], + ['call_5fhost_5fcheck_5fis_5fasync',['call_host_check_is_async',['../structgrpc__fake__channel__security__connector.html#af6c4c25382f598179b3b50d4a90a0584',1,'grpc_fake_channel_security_connector']]], + ['call_5flink',['call_link',['../structcall__link.html',1,'']]], + ['call_5flog_5fbatch_2ec',['call_log_batch.c',['../call__log__batch_8c.html',1,'']]], + ['call_5fstack_5ffrom_5fcall',['CALL_STACK_FROM_CALL',['../call_8c.html#a25608dcdb8f5bf9b8afc358125b59b5b',1,'call.c']]], + ['call_5fstack_5fsize',['call_stack_size',['../structgrpc__channel__stack.html#a1fc6184d7523f318b00ed1d5dd2562c2',1,'grpc_channel_stack']]], + ['call_5fstate',['call_state',['../client__channel_8c.html#a6ca2e6dbf0562417ab7c66e8907a56b1',1,'call_state(): client_channel.c'],['../server_8c.html#a6ca2e6dbf0562417ab7c66e8907a56b1',1,'call_state(): server.c']]], + ['call_5fwaiting_5ffor_5fcall',['CALL_WAITING_FOR_CALL',['../client__channel_8c.html#a6ca2e6dbf0562417ab7c66e8907a56b1a7d4a5aee632f6e68b3aa63e7618dc5a2',1,'client_channel.c']]], + ['call_5fwaiting_5ffor_5fconfig',['CALL_WAITING_FOR_CONFIG',['../client__channel_8c.html#a6ca2e6dbf0562417ab7c66e8907a56b1acc5228e1cac647003266db9241876cd2',1,'client_channel.c']]], + ['call_5fwaiting_5ffor_5fpick',['CALL_WAITING_FOR_PICK',['../client__channel_8c.html#a6ca2e6dbf0562417ab7c66e8907a56b1a8f4f33fc632104e0ece9369cf5f236ad',1,'client_channel.c']]], + ['call_5fwaiting_5ffor_5fsend',['CALL_WAITING_FOR_SEND',['../client__channel_8c.html#a6ca2e6dbf0562417ab7c66e8907a56b1aa3615ca56e2de2713a3202ff99f15b1c',1,'client_channel.c']]], + ['callback_5fphase',['callback_phase',['../channel__connectivity_8c.html#a71937a2ee2a4befe88e84d4966f8845c',1,'channel_connectivity.c']]], + ['called_5fback',['CALLED_BACK',['../channel__connectivity_8c.html#a71937a2ee2a4befe88e84d4966f8845ca7cf5434be93040e9946cc788465d3b3a',1,'channel_connectivity.c']]], + ['called_5fshutdown',['called_shutdown',['../structgrpc__pollset.html#af0ba35d346bebf65837c9cc1980aab53',1,'grpc_pollset']]], + ['calling_5fback',['CALLING_BACK',['../channel__connectivity_8c.html#a71937a2ee2a4befe88e84d4966f8845cab5a94c295540046002de0f889519c275',1,'channel_connectivity.c']]], + ['calling_5fback_5fand_5ffinished',['CALLING_BACK_AND_FINISHED',['../channel__connectivity_8c.html#a71937a2ee2a4befe88e84d4966f8845ca4ed55db80fc1cf98cb8fc633fd59d68d',1,'channel_connectivity.c']]], + ['cancel_5falarm',['cancel_alarm',['../structgrpc__call.html#a8ecae45b11c6194a51ccd17b0ae1a724',1,'grpc_call']]], + ['cancel_5fwith_5fstatus',['cancel_with_status',['../structgrpc__transport__stream__op.html#aeb409a2d4224410aec876a3a7e5443bf',1,'grpc_transport_stream_op::cancel_with_status()'],['../structgrpc__call.html#a52b7e350723f5cd4a577a86a4b72f026',1,'grpc_call::cancel_with_status()']]], + ['cancellable_2ec',['cancellable.c',['../cancellable_8c.html',1,'']]], + ['cancellable_5fplatform_2eh',['cancellable_platform.h',['../cancellable__platform_8h.html',1,'']]], + ['cancelled',['cancelled',['../structgrpc__op.html#ae5a9717d4a69c46f343381596e223874',1,'grpc_op::cancelled()'],['../structgrpc__chttp2__stream__global.html#a230b4b34a38f62d1871ac3726c211312',1,'grpc_chttp2_stream_global::cancelled()'],['../structgpr__cancellable.html#a1729b5836bf4181d092f3636368d17b2',1,'gpr_cancellable::cancelled()']]], + ['cancelled_5fstatus',['cancelled_status',['../structgrpc__chttp2__stream__global.html#af27d45b43390f9dc4d1dc197d9864098',1,'grpc_chttp2_stream_global']]], + ['capacity',['capacity',['../structgrpc__metadata__array.html#a5b293b4f8e734b032b80741abf538a97',1,'grpc_metadata_array::capacity()'],['../structgrpc__bbq__array.html#aab53971ceac3b56cd690f24fe646bba9',1,'grpc_bbq_array::capacity()'],['../structgrpc__chttp2__hpack__parser__string.html#a21d97a477e18ea3973332a21fe664613',1,'grpc_chttp2_hpack_parser_string::capacity()'],['../structgrpc__chttp2__incoming__metadata__buffer.html#ae83511b7dc5b74ca64f15a23e552c0cd',1,'grpc_chttp2_incoming_metadata_buffer::capacity()'],['../structgrpc__chttp2__stream__map.html#a104df65d0beac0c3f27d8823b0ff59ef',1,'grpc_chttp2_stream_map::capacity()'],['../structgrpc__stream__op__buffer.html#aebf66bcafe3d457104a8812718b2d772',1,'grpc_stream_op_buffer::capacity()'],['../structrequest__killer.html#aef7c9b567894a3f6af2ebaed400fff42',1,'request_killer::capacity()'],['../structgpr__slice__buffer.html#a48b6efc57238e7abd0bcbb579219456e',1,'gpr_slice_buffer::capacity()'],['../structgpr__strvec.html#af2ee1037640e1a4e0b7e81d69eeaf2cd',1,'gpr_strvec::capacity()'],['../structdump__out.html#ad4ef0a9a3b2494b534b9fcba9d349f21',1,'dump_out::capacity()']]], + ['cb',['cb',['../structgrpc__alarm.html#a85a6797057eb75a49d63f4301b4b32dd',1,'grpc_alarm::cb()'],['../structgrpc__iomgr__closure.html#ad5f1e2b27a85c6df37c7cbe94b911ce1',1,'grpc_iomgr_closure::cb()'],['../structgrpc__winsocket__callback__info.html#aded44060a4f90bf48f452b4ac9e0f9f1',1,'grpc_winsocket_callback_info::cb()'],['../structgrpc__credentials__metadata__request.html#afd521fb44c2c0a7aaab92243f606c67e',1,'grpc_credentials_metadata_request::cb()'],['../structgrpc__composite__credentials__metadata__context.html#a14c42c56de0c02fcaca7103953411ce0',1,'grpc_composite_credentials_metadata_context::cb()'],['../structgrpc__secure__transport__setup.html#a1bf28f7192cd4fe30e4daaf306545e9c',1,'grpc_secure_transport_setup::cb()']]], + ['cb_5farg',['cb_arg',['../structgrpc__alarm.html#a0f9db224dc882f41a1d676115ede23c3',1,'grpc_alarm::cb_arg()'],['../structgrpc__iomgr__closure.html#a4b1d9ecdcc694af930895665b18f2293',1,'grpc_iomgr_closure::cb_arg()']]], + ['census_2eh',['census.h',['../census_8h.html',1,'']]], + ['census_5fcontext',['census_context',['../structcensus__context.html',1,'census_context'],['../census_8h.html#a27fc8788690179599713226f1f054736',1,'census_context(): census.h']]], + ['census_5fcontext_5fdeserialize',['census_context_deserialize',['../census_8h.html#ad9daab242b41571299ac5b3bca71fc0d',1,'census_context_deserialize(const char *buffer, census_context **context): context.c'],['../context_8c.html#ad9daab242b41571299ac5b3bca71fc0d',1,'census_context_deserialize(const char *buffer, census_context **context): context.c']]], + ['census_5fcontext_5fdestroy',['census_context_destroy',['../census_8h.html#a5bfcd1edc546eeacf111c3316ae7785d',1,'census_context_destroy(census_context *context): context.c'],['../context_8c.html#a5bfcd1edc546eeacf111c3316ae7785d',1,'census_context_destroy(census_context *context): context.c']]], + ['census_5fcontext_5fserialize',['census_context_serialize',['../census_8h.html#ad9a7d3170ecf720e1b22a4f255605748',1,'census_context_serialize(const census_context *context, char *buffer, size_t buf_size): context.c'],['../context_8c.html#ad9a7d3170ecf720e1b22a4f255605748',1,'census_context_serialize(const census_context *context, char *buffer, size_t buf_size): context.c']]], + ['census_5fenabled',['census_enabled',['../census_8h.html#a742616973e78aaf969389cea20feea9f',1,'census_enabled(void): initialize.c'],['../initialize_8c.html#a742616973e78aaf969389cea20feea9f',1,'census_enabled(void): initialize.c']]], + ['census_5ffeature_5fall',['CENSUS_FEATURE_ALL',['../census_8h.html#abe92e59c22481b0de3742673cbbb1bf8aba96a94fb7af8cf1144ca14edc0b1f0c',1,'census.h']]], + ['census_5ffeature_5fcpu',['CENSUS_FEATURE_CPU',['../census_8h.html#abe92e59c22481b0de3742673cbbb1bf8a4808bff624e2377596b86a6f58ab04b5',1,'census.h']]], + ['census_5ffeature_5fnone',['CENSUS_FEATURE_NONE',['../census_8h.html#abe92e59c22481b0de3742673cbbb1bf8aac1986834f37851b8d899c4a08c8e3ab',1,'census.h']]], + ['census_5ffeature_5fstats',['CENSUS_FEATURE_STATS',['../census_8h.html#abe92e59c22481b0de3742673cbbb1bf8a84c772b868e53ee3487c7bfc8e8b2f1a',1,'census.h']]], + ['census_5ffeature_5ftracing',['CENSUS_FEATURE_TRACING',['../census_8h.html#abe92e59c22481b0de3742673cbbb1bf8ab0722326e730113d5be97f643c3e6718',1,'census.h']]], + ['census_5ffeatures',['census_features',['../census_8h.html#abe92e59c22481b0de3742673cbbb1bf8',1,'census.h']]], + ['census_5ffilter_2eh',['census_filter.h',['../census__filter_8h.html',1,'']]], + ['census_5finitialize',['census_initialize',['../census_8h.html#a4cea92157f3de215724f6bf4aeaee1b6',1,'census_initialize(int features): initialize.c'],['../initialize_8c.html#a4cea92157f3de215724f6bf4aeaee1b6',1,'census_initialize(int features): initialize.c']]], + ['census_5finvalid_5fstat_5fid',['CENSUS_INVALID_STAT_ID',['../rpc__stat__id_8h.html#a59e5e9d32ec60d7d202ebd834117c7b6',1,'rpc_stat_id.h']]], + ['census_5frecord_5fstat',['census_record_stat',['../census_8h.html#a0cdd5ba86b080e6b5a4b47cfaa5b51cb',1,'census_record_stat(census_context *context, census_stat *stats, size_t nstats): record_stat.c'],['../record__stat_8c.html#a0cdd5ba86b080e6b5a4b47cfaa5b51cb',1,'census_record_stat(census_context *context, census_stat *stats, size_t nstats): record_stat.c']]], + ['census_5frpc_5fclient_5ferrors',['CENSUS_RPC_CLIENT_ERRORS',['../rpc__stat__id_8h.html#ab98fe10ab9da977ff1ab146fb47c25c6',1,'rpc_stat_id.h']]], + ['census_5frpc_5fclient_5flatency',['CENSUS_RPC_CLIENT_LATENCY',['../rpc__stat__id_8h.html#a18893b8a61bb96d779e5f3e1c6384fe2',1,'rpc_stat_id.h']]], + ['census_5frpc_5fclient_5frequests',['CENSUS_RPC_CLIENT_REQUESTS',['../rpc__stat__id_8h.html#aeaec3ab6b88faa6f3d17df39886839b4',1,'rpc_stat_id.h']]], + ['census_5frpc_5fserver_5ferrors',['CENSUS_RPC_SERVER_ERRORS',['../rpc__stat__id_8h.html#a653739d1d6b9c46c169dd40023e883c3',1,'rpc_stat_id.h']]], + ['census_5frpc_5fserver_5flatency',['CENSUS_RPC_SERVER_LATENCY',['../rpc__stat__id_8h.html#ab30ee75f97d6c9361d8667d62349f49e',1,'rpc_stat_id.h']]], + ['census_5frpc_5fserver_5frequests',['CENSUS_RPC_SERVER_REQUESTS',['../rpc__stat__id_8h.html#abdbb1e62656b892c48ef4b5123be59e2',1,'rpc_stat_id.h']]], + ['census_5fshutdown',['census_shutdown',['../census_8h.html#aa792b067548ecdd987d560b492c83d85',1,'census_shutdown(void): initialize.c'],['../initialize_8c.html#aa792b067548ecdd987d560b492c83d85',1,'census_shutdown(void): initialize.c']]], + ['census_5fstat',['census_stat',['../structcensus__stat.html',1,'']]], + ['census_5fsupported',['census_supported',['../census_8h.html#ad5f627a64ac4febbc61d2b89801d40e9',1,'census_supported(void): initialize.c'],['../initialize_8c.html#ad5f627a64ac4febbc61d2b89801d40e9',1,'census_supported(void): initialize.c']]], + ['cert_5fchain',['cert_chain',['../structgrpc__ssl__pem__key__cert__pair.html#a483c3601705853f48dfbc8ee66d5e656',1,'grpc_ssl_pem_key_cert_pair']]], + ['chained',['chained',['../structgrpc__auth__context.html#aaf39bb67f8b5344fffac5595eee45fe6',1,'grpc_auth_context']]], + ['chand',['chand',['../structlb__policy__connectivity__watcher.html#a8c4c66e260e9c93b8ce9b4a129e581e5',1,'lb_policy_connectivity_watcher']]], + ['channel',['channel',['../structgrpc__call.html#aefaa9e839c97ca63876add3d3a04a94d',1,'grpc_call::channel()'],['../structstate__watcher.html#a0b0df5ad70d6a91a268452e03a885404',1,'state_watcher::channel()'],['../structchannel__data.html#aa44b8e02dfe6cd2b3823c51f9559dc29',1,'channel_data::channel()']]], + ['channel_2ec',['channel.c',['../channel_8c.html',1,'']]], + ['channel_2eh',['channel.h',['../channel_8h.html',1,'']]], + ['channel_5fargs',['channel_args',['../structgrpc__connect__in__args.html#a47bff8f21e77a47f1a3584e874006eab',1,'grpc_connect_in_args::channel_args()'],['../structgrpc__server.html#ab1ef57d52ade4e4f8eb0e26b42ea48a4',1,'grpc_server::channel_args()']]], + ['channel_5fargs_2ec',['channel_args.c',['../channel__args_8c.html',1,'']]], + ['channel_5fargs_2eh',['channel_args.h',['../channel__args_8h.html',1,'']]], + ['channel_5fbroadcaster',['channel_broadcaster',['../structchannel__broadcaster.html',1,'']]], + ['channel_5fcallback',['channel_callback',['../structgrpc__chttp2__transport.html#a8dc1af0f203166b32f22634edb3b47bb',1,'grpc_chttp2_transport']]], + ['channel_5fconnectivity_2ec',['channel_connectivity.c',['../channel__connectivity_8c.html',1,'']]], + ['channel_5fconnectivity_5fchanged',['channel_connectivity_changed',['../structchannel__data.html#a026ed08d4fb85fff5a0f332d3a35cf17',1,'channel_data']]], + ['channel_5fcreate_2ec',['channel_create.c',['../channel__create_8c.html',1,'']]], + ['channel_5fdata',['channel_data',['../structchannel__data.html',1,'channel_data'],['../structgrpc__channel__element.html#af498fd50d8b3667b3e20395e341a858d',1,'grpc_channel_element::channel_data()'],['../structgrpc__call__element.html#ad74abaaf7860b7dd8f2fef1e2141a27b',1,'grpc_call_element::channel_data()'],['../server__auth__filter_8c.html#a5e660c9a52a9795338faf0c2188cff84',1,'channel_data(): server_auth_filter.c'],['../compress__filter_8c.html#a5e660c9a52a9795338faf0c2188cff84',1,'channel_data(): compress_filter.c'],['../connected__channel_8c.html#a43362118345c9bbd8b75103f9854a69d',1,'channel_data(): connected_channel.c'],['../http__client__filter_8c.html#a5e660c9a52a9795338faf0c2188cff84',1,'channel_data(): http_client_filter.c'],['../http__server__filter_8c.html#a5e660c9a52a9795338faf0c2188cff84',1,'channel_data(): http_server_filter.c'],['../noop__filter_8c.html#a5e660c9a52a9795338faf0c2188cff84',1,'channel_data(): noop_filter.c'],['../server_8c.html#a663530098451ca6ac5dd8381e470b512',1,'channel_data(): server.c']]], + ['channel_5felems_5ffrom_5fstack',['CHANNEL_ELEMS_FROM_STACK',['../channel__stack_8c.html#ada2431407a0c579217e6b33534dc4b68',1,'channel_stack.c']]], + ['channel_5ffilter_5fcount',['channel_filter_count',['../structgrpc__server.html#a090ca3cc3f02e7b51d8c089f6c675ac2',1,'grpc_server']]], + ['channel_5ffilters',['channel_filters',['../structgrpc__server.html#a2da21f54a2ad688793d6c753ea74ec02',1,'grpc_server']]], + ['channel_5ffrom_5fchannel_5fstack',['CHANNEL_FROM_CHANNEL_STACK',['../channel_8c.html#ae9cf519e646bc07f4b32920f39fba049',1,'channel.c']]], + ['channel_5ffrom_5ftop_5felem',['CHANNEL_FROM_TOP_ELEM',['../channel_8c.html#a79c20e305865805bbe3e21adc8da9e72',1,'channel.c']]], + ['channel_5fregistered_5fmethod',['channel_registered_method',['../structchannel__registered__method.html',1,'channel_registered_method'],['../server_8c.html#a47b693eb517ae870b0243f6c7be3541f',1,'channel_registered_method(): server.c']]], + ['channel_5fsaw_5ferror',['channel_saw_error',['../structgrpc__resolver__vtable.html#a9104e21b3064f5f66dc29d80a098e19b',1,'grpc_resolver_vtable']]], + ['channel_5fstack_2ec',['channel_stack.c',['../channel__stack_8c.html',1,'']]], + ['channel_5fstack_2eh',['channel_stack.h',['../channel__stack_8h.html',1,'']]], + ['channel_5fstack_5ffrom_5fchannel',['CHANNEL_STACK_FROM_CHANNEL',['../channel_8c.html#a66dde7aaec84b22bf4ddfa999a2201ed',1,'channel.c']]], + ['channel_5fstack_5ffrom_5fconnection',['CHANNEL_STACK_FROM_CONNECTION',['../subchannel_8c.html#a004980d48eea483363d061723e95834e',1,'subchannel.c']]], + ['channels',['channels',['../structchannel__broadcaster.html#ad8aee8e6b39c0a74c47bc518fe60e0d7',1,'channel_broadcaster']]], + ['check_5favailability',['check_availability',['../structgrpc__wakeup__fd__vtable.html#ae86eb136235fd51cbf4d459880ea6d04',1,'grpc_wakeup_fd_vtable']]], + ['check_5fcall_5fhost',['check_call_host',['../structgrpc__channel__security__connector.html#a4b44a11ba7945991dce2a16a79a6735e',1,'grpc_channel_security_connector']]], + ['check_5fconnectivity',['check_connectivity',['../structgrpc__lb__policy__vtable.html#af1251501a613435c27688a15b1f76e25',1,'grpc_lb_policy_vtable']]], + ['check_5fpeer',['check_peer',['../structgrpc__security__connector__vtable.html#aee8169e56a02a5cb55d68bcc6d0d56de',1,'grpc_security_connector_vtable']]], + ['checking_5fconnectivity',['checking_connectivity',['../structpick__first__lb__policy.html#a27c07323206631d5b7b021bfc2fb13d8',1,'pick_first_lb_policy']]], + ['checking_5fsubchannel',['checking_subchannel',['../structpick__first__lb__policy.html#a71958e25ab870a0f4436c07fed4585da',1,'pick_first_lb_policy']]], + ['child',['child',['../structgrpc__json.html#aaa4adfbfe373e8980e898102c942cb71',1,'grpc_json']]], + ['chttp2_5ftransport_2ec',['chttp2_transport.c',['../chttp2__transport_8c.html',1,'']]], + ['chttp2_5ftransport_2eh',['chttp2_transport.h',['../chttp2__transport_8h.html',1,'']]], + ['claims',['claims',['../structverifier__cb__ctx.html#a47babe5494185ee4fd95e92a8309fa26',1,'verifier_cb_ctx']]], + ['client',['client',['../structgrpc__endpoint__pair.html#ac7016dfd6d23e04fe169ba3f8fd9238c',1,'grpc_endpoint_pair']]], + ['client_5fauth_5ffilter_2ec',['client_auth_filter.c',['../client__auth__filter_8c.html',1,'']]], + ['client_5fchannel_2ec',['client_channel.c',['../client__channel_8c.html',1,'']]], + ['client_5fchannel_2eh',['client_channel.h',['../client__channel_8h.html',1,'']]], + ['client_5fconfig_2ec',['client_config.c',['../client__config_8c.html',1,'']]], + ['client_5fconfig_2eh',['client_config.h',['../client__config_8h.html',1,'']]], + ['client_5femail',['client_email',['../structgrpc__auth__json__key.html#accb20647a4dc6280c30d40a78b35fb7b',1,'grpc_auth_json_key']]], + ['client_5fid',['client_id',['../structgrpc__auth__json__key.html#a925db734b8d7ad62646c260374fa0462',1,'grpc_auth_json_key::client_id()'],['../structgrpc__auth__refresh__token.html#a802a5c8f34166ec49b6345faea92d52c',1,'grpc_auth_refresh_token::client_id()']]], + ['client_5fsecret',['client_secret',['../structgrpc__auth__refresh__token.html#ad29ccc6f1c4c23bc05841efd3dd5bab4',1,'grpc_auth_refresh_token']]], + ['clock',['clock',['../structgrpc__precise__clock.html#a1200f8fec2cdf0a60e482b79b25adb75',1,'grpc_precise_clock']]], + ['clock_5ftype',['clock_type',['../structgpr__timespec.html#a6dd26976820fa71a7c5a710d4c1845ff',1,'gpr_timespec']]], + ['closed',['closed',['../structgrpc__fd.html#a30b76a034146e5d62190b133b008af6e',1,'grpc_fd::closed()'],['../structgrpc__chttp2__transport.html#a727a1168723b305b97a5dc2c25bd2405',1,'grpc_chttp2_transport::closed()']]], + ['closure',['closure',['../structwaiting__call.html#ad8d9537c7523e3c09e5fcd4cf0bb1124',1,'waiting_call::closure()'],['../structstate__watcher.html#ab806a249c408b4412fc03ed0a5ede4c9',1,'state_watcher::closure()'],['../structfinished__loose__op__allocated__args.html#a1bf518b8de4a386cbf55698134e8c485',1,'finished_loose_op_allocated_args::closure()'],['../structshutdown__cleanup__args.html#a42d1e24f7cc5d51db75df17263950c9a',1,'shutdown_cleanup_args::closure()']]], + ['cmdline_2ec',['cmdline.c',['../cmdline_8c.html',1,'']]], + ['cmdline_2eh',['cmdline.h',['../cmdline_8h.html',1,'']]], + ['code',['code',['../uniongrpc__ioreq__data.html#a77fea25992234ba3a0174207114ebbb1',1,'grpc_ioreq_data::code()'],['../structreceived__status.html#a5adb1c689f796d0055094addbc8b31c2',1,'received_status::code()']]], + ['complete_5fmask',['complete_mask',['../structreqinfo__master.html#a42a5da5664f298a2ff5c94760f69ffb3',1,'reqinfo_master']]], + ['completed_5fhead',['completed_head',['../structgrpc__completion__queue.html#a484ad9fad34b51c8ab2e0f6a144e6d5e',1,'grpc_completion_queue']]], + ['completed_5frequest',['completed_request',['../structcompleted__request.html',1,'']]], + ['completed_5frequests',['completed_requests',['../structgrpc__call.html#af82a58a0e542b5acd8bc4b1e50842ddd',1,'grpc_call']]], + ['completed_5ftail',['completed_tail',['../structgrpc__completion__queue.html#a82c067060ebf5ff91bc9ec961b414fa2',1,'grpc_completion_queue']]], + ['completing',['completing',['../structgrpc__call.html#a0ad5b28a10c5453b5fcd3cbf5e9ec0cc',1,'grpc_call']]], + ['completion',['completion',['../structrequested__call.html#a4ab625b5e4dc9670ef586c4d245858f5',1,'requested_call::completion()'],['../structshutdown__tag.html#a659b6448a029795dd262462d5f679609',1,'shutdown_tag::completion()']]], + ['completion_5fmu',['completion_mu',['../structgrpc__call.html#aaf50407acc01602b67f4e442b3a3121d',1,'grpc_call']]], + ['completion_5fqueue_2ec',['completion_queue.c',['../completion__queue_8c.html',1,'']]], + ['completion_5fqueue_2eh',['completion_queue.h',['../completion__queue_8h.html',1,'']]], + ['completion_5fstorage',['completion_storage',['../structstate__watcher.html#a1d65436328c649d7f029b98e54d50588',1,'state_watcher']]], + ['completions',['completions',['../structgrpc__call.html#ad48e9f752753814bf9ee0233c392fccd',1,'grpc_call']]], + ['composite_5fcreds',['composite_creds',['../structgrpc__composite__credentials__metadata__context.html#aa01c70e7c7cd7ac2071c933c4ca4ed65',1,'grpc_composite_credentials_metadata_context']]], + ['compress_5ffilter_2ec',['compress_filter.c',['../compress__filter_8c.html',1,'']]], + ['compress_5ffilter_2eh',['compress_filter.h',['../compress__filter_8h.html',1,'']]], + ['compress_5finner',['compress_inner',['../message__compress_8c.html#a703e3d8f4ace9e8b102552c527b879d8',1,'message_compress.c']]], + ['compress_5foffset',['COMPRESS_OFFSET',['../call_8c.html#a94d05fca53ff43502691278ac008b36c',1,'call.c']]], + ['compression',['compression',['../structgrpc__byte__buffer.html#a3663648016e1076b82c5e731dc5b2399',1,'grpc_byte_buffer']]], + ['compression_2eh',['compression.h',['../compression_8h.html',1,'']]], + ['compression_5falgorithm',['compression_algorithm',['../structcall__data.html#a9f593ec03211bdc3ede0b4da81d4354f',1,'call_data::compression_algorithm()'],['../structgrpc__call.html#afa14a32dc253da1909a2dd6e44304fdc',1,'grpc_call::compression_algorithm()']]], + ['compression_5falgorithm_5fstorage',['compression_algorithm_storage',['../structcall__data.html#ad33eb76b6d73d8a4475ff69ff4e8964c',1,'call_data']]], + ['compute_5fand_5fencode_5fsignature',['compute_and_encode_signature',['../json__token_8c.html#a08e7b0b2b3e6352e92cc7ae87328a480',1,'json_token.c']]], + ['compute_5fengine_5fdetector',['compute_engine_detector',['../structcompute__engine__detector.html',1,'']]], + ['concurrent_5fstream_5fcount',['concurrent_stream_count',['../structgrpc__chttp2__transport__global.html#a77c29c9318b9c732bb57bac183abc995',1,'grpc_chttp2_transport_global']]], + ['config',['config',['../structgrpc__ssl__credentials.html#a501050df420385527ac006a59e82dc06',1,'grpc_ssl_credentials::config()'],['../structgrpc__ssl__server__credentials.html#a00e6754957e007f8cc2926911c752fc3',1,'grpc_ssl_server_credentials::config()']]], + ['connect',['connect',['../structgrpc__connector__vtable.html#ae51b646aa858eeeb84a7a1abbebbf078',1,'grpc_connector_vtable']]], + ['connected',['connected',['../structgrpc__subchannel.html#a69b581893484f0f728b780c5a9152bf4',1,'grpc_subchannel']]], + ['connected_5fchannel_2ec',['connected_channel.c',['../connected__channel_8c.html',1,'']]], + ['connected_5fchannel_2eh',['connected_channel.h',['../connected__channel_8h.html',1,'']]], + ['connected_5fchannel_5fcall_5fdata',['connected_channel_call_data',['../structconnected__channel__call__data.html',1,'']]], + ['connected_5fchannel_5fchannel_5fdata',['connected_channel_channel_data',['../structconnected__channel__channel__data.html',1,'']]], + ['connecting',['connecting',['../structgrpc__subchannel.html#a084840ded6075b823c3572c504694635',1,'grpc_subchannel']]], + ['connecting_5fresult',['connecting_result',['../structgrpc__subchannel.html#a71c47f21609f3dab29311d422360665f',1,'grpc_subchannel']]], + ['connection',['connection',['../structconnection.html',1,'connection'],['../structgrpc__subchannel__call.html#a1eb7f2be785456f81008f984d80f8ac6',1,'grpc_subchannel_call::connection()']]], + ['connection_5fref_5flocked',['CONNECTION_REF_LOCKED',['../subchannel_8c.html#a5a6df9d57aa14df8c30325f7b403a6ba',1,'subchannel.c']]], + ['connection_5funref_5flocked',['CONNECTION_UNREF_LOCKED',['../subchannel_8c.html#a7511e39882d77270a0e73a6ea6bdbf22',1,'subchannel.c']]], + ['connection_5fwindow_5ftarget',['connection_window_target',['../structgrpc__chttp2__transport__global.html#a9eb0479db2dffbb2637e771adab2ef06',1,'grpc_chttp2_transport_global']]], + ['connectivity_5fchanged',['connectivity_changed',['../structpick__first__lb__policy.html#a54f466dc5e968d2b3a8f8fe6511d2c56',1,'pick_first_lb_policy']]], + ['connectivity_5fstate',['connectivity_state',['../structgrpc__transport__op.html#ae68e6030500899af6788152a0a567c9d',1,'grpc_transport_op::connectivity_state()'],['../structstate__watcher.html#a2777b6c363f7d4262252bc4aaf515d43',1,'state_watcher::connectivity_state()'],['../structchannel__data.html#ace61d17706353a536bd079f18d54564f',1,'channel_data::connectivity_state()']]], + ['connectivity_5fstate_2ec',['connectivity_state.c',['../connectivity__state_8c.html',1,'']]], + ['connectivity_5fstate_2eh',['connectivity_state.h',['../connectivity__state_8h.html',1,'']]], + ['connector',['connector',['../structconnector.html',1,'connector'],['../structgrpc__secure__transport__setup.html#a494b76f3257449ed5eb88e0a52194324',1,'grpc_secure_transport_setup::connector()'],['../structgrpc__subchannel.html#a9439dd93e3b5078fb1e2669c327ed984',1,'grpc_subchannel::connector()']]], + ['connector_2ec',['connector.c',['../connector_8c.html',1,'']]], + ['connector_2eh',['connector.h',['../connector_8h.html',1,'']]], + ['connector_5fcreds',['connector_creds',['../structgrpc__composite__credentials.html#a02f10b8620b768e3402da78e83fef637',1,'grpc_composite_credentials']]], + ['consume',['consume',['../structgrpc__wakeup__fd__vtable.html#a6d03e580e5ac38e408454678f0db7b5e',1,'grpc_wakeup_fd_vtable']]], + ['container_5fbegins',['container_begins',['../structgrpc__json__reader__vtable.html#a242f9eb6d061c65a99961437aff699d4',1,'grpc_json_reader_vtable']]], + ['container_5fempty',['container_empty',['../structgrpc__json__writer.html#a95c5e11a20879e8bd90962b043ca8381',1,'grpc_json_writer']]], + ['container_5fends',['container_ends',['../structgrpc__json__reader__vtable.html#a31c9c8c5f283107290d4a20bf25315ec',1,'grpc_json_reader_vtable']]], + ['container_5fjust_5fbegun',['container_just_begun',['../structgrpc__json__reader.html#a8c51726663241af3323dc11320d82ad3',1,'grpc_json_reader']]], + ['content_5ftype',['content_type',['../structcall__data.html#a4169f3d34c6e55c4bba43a86241bf1ea',1,'call_data::content_type()'],['../structchannel__data.html#a7d6e2d61b1f1dc47be825afbdb0b1176',1,'channel_data::content_type()']]], + ['contents',['contents',['../unionlockfree__node.html#a4cf276073deb1a941a409b19bb78f5c4',1,'lockfree_node']]], + ['context',['context',['../structgrpc__transport__stream__op.html#a0d81e12c698cc0a088a0b48eb2250cae',1,'grpc_transport_stream_op::context()'],['../structinternal__request.html#a0a0fbaaabcd158b4fb0ff6c8b2d4879f',1,'internal_request::context()'],['../structgrpc__call.html#a91cd558ccf432aa44bbe813c4acd022c',1,'grpc_call::context()'],['../structinternal__string.html#a1bfe57ac1191b1278d4a61d34edbf1d7',1,'internal_string::context()'],['../structinternal__metadata.html#a19b31328660cdb5c8a8bf821094871c5',1,'internal_metadata::context()']]], + ['context_2ec',['context.c',['../context_8c.html',1,'']]], + ['context_2eh',['context.h',['../channel_2context_8h.html',1,'']]], + ['context_2eh',['context.h',['../census_2context_8h.html',1,'']]], + ['continuation',['continuation',['../structwaiting__for__connect.html#a8289e332e8b65421a161e607bb637f51',1,'waiting_for_connect']]], + ['copy',['copy',['../structgrpc__arg.html#abef4f8be0109b19fcbe7f614f1243303',1,'grpc_arg']]], + ['count',['count',['../structgrpc__metadata__array.html#a314ce51b22a5934cc672f3736d44b9e4',1,'grpc_metadata_array::count()'],['../structgrpc__op.html#ac5983d0a5d60c26ca2d1b37d31ba2e2a',1,'grpc_op::count()'],['../structgrpc__channel__stack.html#ad15f03f108b390c70244d9d862011f67',1,'grpc_channel_stack::count()'],['../structgrpc__call__stack.html#a145db8509ca1a7e0da0d80e60ad0072a',1,'grpc_call_stack::count()'],['../structgrpc__bbq__array.html#a1b857914bbbac7d1713797819a597fb2',1,'grpc_bbq_array::count()'],['../uniongrpc__ioreq__data.html#a34eacee09dcb1156021aaeea8206a42a',1,'grpc_ioreq_data::count()'],['../structgrpc__chttp2__incoming__metadata__buffer.html#a82dc3f5a9b456b6fd15b5d559eb2c4bd',1,'grpc_chttp2_incoming_metadata_buffer::count()'],['../structgrpc__chttp2__stream__map.html#a30c8c72cf07b6c0c0970e8ecb54c1ac8',1,'grpc_chttp2_stream_map::count()'],['../structrequest__killer.html#ae3dd02f0f46905f3d7a7b88193ca0af6',1,'request_killer::count()'],['../structgpr__slice__buffer.html#a3adc77c3ef399ae0aa1ce1377e0e9fff',1,'gpr_slice_buffer::count()'],['../structgpr__refcount.html#ae1e2d58344b59ff6c0db0dc4f2953470',1,'gpr_refcount::count()'],['../structgpr__strvec.html#a3d62db9061e6c23fcac741812f9af387',1,'gpr_strvec::count()'],['../structgpr__histogram.html#a283be15ea1e5ba755f9b4b7d0d70402d',1,'gpr_histogram::count()']]], + ['counter',['counter',['../structgrpc__pollset.html#a319191f59788a09fddad222cd8e1d7b1',1,'grpc_pollset']]], + ['cpu_2eh',['cpu.h',['../cpu_8h.html',1,'']]], + ['cpu_5fiphone_2ec',['cpu_iphone.c',['../cpu__iphone_8c.html',1,'']]], + ['cpu_5flinux_2ec',['cpu_linux.c',['../cpu__linux_8c.html',1,'']]], + ['cpu_5fposix_2ec',['cpu_posix.c',['../cpu__posix_8c.html',1,'']]], + ['cpu_5fwindows_2ec',['cpu_windows.c',['../cpu__windows_8c.html',1,'']]], + ['cq',['cq',['../structgrpc__call.html#ae24201f3b8347e790898e3bc2ae1ad09',1,'grpc_call::cq()'],['../structstate__watcher.html#ae85d1a92c4f1e6a4eff3bcb356ff8204',1,'state_watcher::cq()'],['../structshutdown__tag.html#afca3fb84e8cde4f0b5f3e18905f555e9',1,'shutdown_tag::cq()']]], + ['cq_5fbound_5fto_5fcall',['cq_bound_to_call',['../structrequested__call.html#a7294f3532a1f72151e0ef3634f518431',1,'requested_call']]], + ['cq_5fcount',['cq_count',['../structgrpc__server.html#a0a49b61d38a3aee3f080087cf4b1f92d',1,'grpc_server']]], + ['cq_5ffor_5fnotification',['cq_for_notification',['../structrequested__call.html#a3b4918a8f8c79ab768156dc658e21b83',1,'requested_call']]], + ['cq_5fnew',['cq_new',['../structcall__data.html#a253926f346f7783d43ad5791ac70bba2',1,'call_data']]], + ['cqs',['cqs',['../structgrpc__server.html#a87495e0b247e92860d6c2a6504cf5528',1,'grpc_server']]], + ['create',['create',['../structgrpc__wakeup__fd__vtable.html#aebd377bd042b46aa79be6fdeeb9e139e',1,'grpc_wakeup_fd_vtable']]], + ['create_5fframe_5fprotector',['create_frame_protector',['../structtsi__handshaker__vtable.html#a071e3b76f8ddec1c89f9131c923f3648',1,'tsi_handshaker_vtable']]], + ['create_5fhandshaker',['create_handshaker',['../structgrpc__security__connector__vtable.html#ae1202bdafbea18af0fe2b0e6c11ae636',1,'grpc_security_connector_vtable::create_handshaker()'],['../structtsi__ssl__handshaker__factory.html#a44a633a0520c8561b5c63f97742daaef',1,'tsi_ssl_handshaker_factory::create_handshaker()']]], + ['create_5fresolver',['create_resolver',['../structgrpc__resolver__factory__vtable.html#a59d7eb4c9cb95b6ba33628c30b948f10',1,'grpc_resolver_factory_vtable']]], + ['create_5fsecurity_5fconnector',['create_security_connector',['../structgrpc__credentials__vtable.html#a7bbb5a8658e7f2295ed816f7f60e6f00',1,'grpc_credentials_vtable::create_security_connector()'],['../structgrpc__server__credentials__vtable.html#af56836a7d92bb4475b92d5991eb9c30d',1,'grpc_server_credentials_vtable::create_security_connector()']]], + ['create_5fsubchannel',['create_subchannel',['../structgrpc__subchannel__factory__vtable.html#a25972ec53ef7aa219669847b7cbb515d',1,'grpc_subchannel_factory_vtable']]], + ['credentials_2ec',['credentials.c',['../credentials_8c.html',1,'']]], + ['credentials_2eh',['credentials.h',['../credentials_8h.html',1,'']]], + ['credentials_5fmetadata_2ec',['credentials_metadata.c',['../credentials__metadata_8c.html',1,'']]], + ['credentials_5fposix_2ec',['credentials_posix.c',['../credentials__posix_8c.html',1,'']]], + ['credentials_5fwin32_2ec',['credentials_win32.c',['../credentials__win32_8c.html',1,'']]], + ['creds',['creds',['../structgrpc__client__security__context.html#ae5d745d248626f77d4cb57d351fc2edf',1,'grpc_client_security_context::creds()'],['../structcall__data.html#a163b0cfa0e971a064e4ad6f35001f8ed',1,'call_data::creds()'],['../structgrpc__credentials__metadata__request.html#a7cf76389aba6b2f8ae6fcb00f59bff98',1,'grpc_credentials_metadata_request::creds()']]], + ['creds_5farray',['creds_array',['../structgrpc__credentials__array.html#a72172f932751c5d9fc7670af1a1cd231',1,'grpc_credentials_array']]], + ['creds_5findex',['creds_index',['../structgrpc__composite__credentials__metadata__context.html#af3232f00703210b60772c4dd1c727a56',1,'grpc_composite_credentials_metadata_context']]], + ['cs',['cs',['../structgpr__mu.html#abab5a72a693be27488fb7a9b2cb23e5c',1,'gpr_mu']]], + ['ctx',['ctx',['../structgrpc__auth__property__iterator.html#a971904d29fa6f6ca6a853d078cae2f58',1,'grpc_auth_property_iterator']]], + ['cur_5farg',['cur_arg',['../structgpr__cmdline.html#aa4b1fcaf802c2ca83c9e2213b8283297',1,'gpr_cmdline']]], + ['cur_5fframe_5ftype',['cur_frame_type',['../structframer__state.html#ab6d529c8b0d12ca60075d0c9e29d037b',1,'framer_state']]], + ['cur_5fline',['cur_line',['../structgrpc__httpcli__parser.html#a8524fc39d4fa476bf3133e922edf092c',1,'grpc_httpcli_parser']]], + ['cur_5fline_5flength',['cur_line_length',['../structgrpc__httpcli__parser.html#a6ada31fac5b5a87c7405f70f63fc201e',1,'grpc_httpcli_parser']]], + ['current',['current',['../structgrpc__byte__buffer__reader.html#aaa53ee469c319cbdd72d44548d1f981f',1,'grpc_byte_buffer_reader::current()'],['../structgrpc__connectivity__state__watcher.html#a3989271095271ebcaea6616e6afeff4f',1,'grpc_connectivity_state_watcher::current()']]], + ['current_5fcontainer',['current_container',['../structjson__reader__userdata.html#a46c3b03cc1ca3fbeeb76f726ce844bf2',1,'json_reader_userdata']]], + ['current_5fstate',['current_state',['../structgrpc__connectivity__state__tracker.html#ab0095b36574489645353e10d707e629e',1,'grpc_connectivity_state_tracker']]], + ['current_5fvalue',['current_value',['../structjson__reader__userdata.html#ab1069140339bf83ea323ac0ac696cc8c',1,'json_reader_userdata']]], + ['cv',['cv',['../structgrpc__pollset.html#aa329ffda9a09596eeb29b228b66db844',1,'grpc_pollset::cv()'],['../structgpr__cancellable__list__.html#ae47b7ccae73001ae1539dfe3bcc8a459',1,'gpr_cancellable_list_::cv()']]] +]; diff --git a/doc/ref/core.internal/html/search/all_4.html b/doc/ref/core.internal/html/search/all_4.html new file mode 100644 index 0000000000..d72a9104cd --- /dev/null +++ b/doc/ref/core.internal/html/search/all_4.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core.internal/html/search/all_4.js b/doc/ref/core.internal/html/search/all_4.js new file mode 100644 index 0000000000..8d8c32ad7f --- /dev/null +++ b/doc/ref/core.internal/html/search/all_4.js @@ -0,0 +1,44 @@ +var searchData= +[ + ['data',['data',['../structgrpc__byte__buffer.html#a9bee8905a97b4972f9ec1d18e5fe513f',1,'grpc_byte_buffer::data()'],['../structgrpc__op.html#a39a29ba59e6482692adfcdef46ec66ad',1,'grpc_op::data()'],['../structtsi__peer__property.html#acb47876765d6b5202dad2215b493fa55',1,'tsi_peer_property::data()'],['../structgrpc__pollset.html#a1e1342a1a69d423b41d131276c782621',1,'grpc_pollset::data()'],['../structgrpc__bbq__array.html#afbcd5e2a41d2eb5d0ede543818c7cf51',1,'grpc_bbq_array::data()'],['../structgrpc__ioreq.html#a1d53ade2406d59d0d67729ecab438d61',1,'grpc_ioreq::data()'],['../structgrpc__stream__op.html#ac153f1a1234aaf27a21c6567b0b675b9',1,'grpc_stream_op::data()'],['../structtsi__fake__frame.html#a4c55725c3501776bccf3dc63dc3c0301',1,'tsi_fake_frame::data()'],['../structrequested__call.html#a1814382d48854b3ce31b0aef9c4b4c7e',1,'requested_call::data()'],['../structgpr__slice.html#a122218a8a00205225f56ee71ade6e8da',1,'gpr_slice::data()'],['../structdump__out.html#aaceca2e7d88a29bcd3593c5cba3e8a3a',1,'dump_out::data()'],['../stream__encoder_8c.html#a3ca2c0bc7578bf3d337e34b2c08a6c5fa9d7d6f31868d66330397c967c4afd2d2',1,'DATA(): stream_encoder.c']]], + ['data_5fparser',['data_parser',['../structgrpc__chttp2__stream__parsing.html#a944472500c9ce6b5f9b3c217c465cf54',1,'grpc_chttp2_stream_parsing']]], + ['deadline',['deadline',['../structgrpc__call__details.html#a6b72caadcf800d975987de18012f0f15',1,'grpc_call_details::deadline()'],['../structgrpc__connect__in__args.html#aded5d906335c1ccdb58b4e97581bdc6c',1,'grpc_connect_in_args::deadline()'],['../structgrpc__alarm.html#a8f3f1ae9b65a0cc76971ea7daed1b126',1,'grpc_alarm::deadline()'],['../structgrpc__chttp2__incoming__metadata__buffer.html#ab5170826c627b8191d4def6aa2959589',1,'grpc_chttp2_incoming_metadata_buffer::deadline()'],['../structgrpc__metadata__batch.html#ac2450cce88312b53182e0c7de9516d04',1,'grpc_metadata_batch::deadline()'],['../structinternal__request.html#a3b0a573ccd8ac3d01b0b3668e39a2e61',1,'internal_request::deadline()'],['../structcall__data.html#a9ca8837431c3942aa3b18092e314632c',1,'call_data::deadline()'],['../structrequested__call.html#a7b0834c5a24427fbe79fb77ffd103cc8',1,'requested_call::deadline()']]], + ['debug_5fargs',['DEBUG_ARGS',['../metadata_8c.html#a74ccabb9eadfe99a2fa8e5004fdf7cfc',1,'metadata.c']]], + ['debug_5fdata',['debug_data',['../structgrpc__chttp2__goaway__parser.html#aacb3c390aaaf7d9bfd7a047a32cf6a0e',1,'grpc_chttp2_goaway_parser']]], + ['debug_5flength',['debug_length',['../structgrpc__chttp2__goaway__parser.html#aa3aaf26c909bb9bfae33386f1ececd23',1,'grpc_chttp2_goaway_parser']]], + ['debug_5fpos',['debug_pos',['../structgrpc__chttp2__goaway__parser.html#a13fecb34da53cca561d7b0e1db1484ce',1,'grpc_chttp2_goaway_parser']]], + ['decl_5ffactory',['DECL_FACTORY',['../sockaddr__resolver_8c.html#ae666b8dfe7a65b7719adcc22034160e6',1,'sockaddr_resolver.c']]], + ['default_5fauthority',['default_authority',['../structchannel__data.html#a51d18a12253f4520179c5f04cc9f4c48',1,'channel_data']]], + ['default_5fcompression_5falgorithm',['default_compression_algorithm',['../structchannel__data.html#acc452310378fb56c38c296cdfdde14e3',1,'channel_data']]], + ['default_5fconnection_5fwindow_5ftarget',['DEFAULT_CONNECTION_WINDOW_TARGET',['../chttp2__transport_8c.html#a609f239b676101bc4e1358eeac253916',1,'chttp2_transport.c']]], + ['default_5fmax_5fmessage_5flength',['DEFAULT_MAX_MESSAGE_LENGTH',['../channel_8c.html#ac48c5c1b1a6288d82d88bad6aa306d56',1,'channel.c']]], + ['default_5fport',['default_port',['../structdns__resolver.html#ad3a4ce330d39e62347c8d230dc0431f4',1,'dns_resolver']]], + ['default_5fvalue',['default_value',['../structgrpc__chttp2__setting__parameters.html#a47307bf712f4e37e397eb03c272bafdb',1,'grpc_chttp2_setting_parameters']]], + ['default_5fwindow',['DEFAULT_WINDOW',['../chttp2__transport_8c.html#af9edf0dca12d746c6cf6c6852f4398ae',1,'chttp2_transport.c']]], + ['deframe_5fstate',['deframe_state',['../structgrpc__chttp2__transport__parsing.html#ad437f5d052e56cd4bcb46f26a7ab4250',1,'grpc_chttp2_transport_parsing']]], + ['del_5ffd',['del_fd',['../structgrpc__pollset__vtable.html#aaacc347c66e715b18b3c3b6f393e9b60',1,'grpc_pollset_vtable']]], + ['depth',['depth',['../structgrpc__json__reader.html#ae7b4f56a6f58059642e1eaaff14350c4',1,'grpc_json_reader::depth()'],['../structgrpc__json__writer.html#a85b6d4d170b0bd0df6d1084cc0d3f995',1,'grpc_json_writer::depth()']]], + ['description',['description',['../structgpr__cmdline.html#ad7ac4f9585e0c93920079bec3a258c5d',1,'gpr_cmdline']]], + ['destroy',['destroy',['../structgrpc__arg.html#a15c9a748974a6ac525074f3ed1e04eb4',1,'grpc_arg::destroy()'],['../structgrpc__credentials__vtable.html#a95766dfd1880536b6b891b18514b5720',1,'grpc_credentials_vtable::destroy()'],['../structgrpc__server__credentials__vtable.html#a78347ce536f6c1885d49a6cd5106eade',1,'grpc_server_credentials_vtable::destroy()'],['../structgrpc__security__connector__vtable.html#acd16feb960e41e1920c193017a135704',1,'grpc_security_connector_vtable::destroy()'],['../structtsi__frame__protector__vtable.html#ac47686a0367046026dc8b97050ec2cdf',1,'tsi_frame_protector_vtable::destroy()'],['../structtsi__handshaker__vtable.html#a6ddd06eccb4d0576a3daba0ee98f45d8',1,'tsi_handshaker_vtable::destroy()'],['../structgrpc__call__context__element.html#a896c4d5b89848f2f14678745b6162f94',1,'grpc_call_context_element::destroy()'],['../structgrpc__lb__policy__vtable.html#a239ed7b3beddcfa318cc402f6d9f977c',1,'grpc_lb_policy_vtable::destroy()'],['../structgrpc__resolver__vtable.html#a354107f009d8e0c814559a185b5ed3f7',1,'grpc_resolver_vtable::destroy()'],['../structgrpc__endpoint__vtable.html#af1c2694fdabae292bfef69c3adfd910c',1,'grpc_endpoint_vtable::destroy()'],['../structgrpc__pollset__vtable.html#a3f8fb0011ce6d296d0ee7e5c3e650815',1,'grpc_pollset_vtable::destroy()'],['../structgrpc__wakeup__fd__vtable.html#ac4c3b97bfad7575b7a98e07c6b10fbd2',1,'grpc_wakeup_fd_vtable::destroy()'],['../structgrpc__transport__vtable.html#a0d99f3901ef6e1cada6154b92ff5f3cf',1,'grpc_transport_vtable::destroy()'],['../structtsi__ssl__handshaker__factory.html#a2b5e1722accee31650b291839612bb6a',1,'tsi_ssl_handshaker_factory::destroy()'],['../structlistener.html#add425fdd17452e62c09d047e24a3034f',1,'listener::destroy()']]], + ['destroy_5fcall_5felem',['destroy_call_elem',['../structgrpc__channel__filter.html#a347e5451860788a084735e66b1684312',1,'grpc_channel_filter']]], + ['destroy_5fcalled',['destroy_called',['../structgrpc__call.html#af72cb94597b41817f2c12e8d4ac5ae95',1,'grpc_call']]], + ['destroy_5fchannel_5felem',['destroy_channel_elem',['../structgrpc__channel__filter.html#a7ab39b0d83fd44c9e3be4b930e6b60e2',1,'grpc_channel_filter']]], + ['destroy_5fclosure',['destroy_closure',['../structgrpc__call.html#a2cac7abed2fe85b3ddbdde40931ed793',1,'grpc_call::destroy_closure()'],['../structgrpc__channel.html#ae6dda10ffe354ceefda810573f5e80e9',1,'grpc_channel::destroy_closure()']]], + ['destroy_5fstream',['destroy_stream',['../structgrpc__transport__vtable.html#aef80dd063f930216ef6b34d7847bf34b',1,'grpc_transport_vtable']]], + ['destroy_5fuser_5fdata',['destroy_user_data',['../structinternal__metadata.html#a5377f467bb28c9b4774d896b44d8c6a2',1,'internal_metadata']]], + ['destroying',['destroying',['../structgrpc__chttp2__transport.html#ac604ea7777d5d1c6d1ca243bd4caef0f',1,'grpc_chttp2_transport']]], + ['details',['details',['../uniongrpc__ioreq__data.html#a6b5db9dd6e61e416c3514b787b25dcc6',1,'grpc_ioreq_data::details()'],['../uniongrpc__ioreq__data.html#aabf2513498a2eee60eec1d1d70968169',1,'grpc_ioreq_data::details()'],['../structcall__data.html#a178c22c4c266e3ffd0583f3ed9bc749f',1,'call_data::details()'],['../structreceived__status.html#a6b73f215e5290bb6660c25e34c07ca72',1,'received_status::details()'],['../structrequested__call.html#a65cfbe1bb43697b7cc762ca44fa94c1b',1,'requested_call::details()']]], + ['details_5fcapacity',['details_capacity',['../uniongrpc__ioreq__data.html#a42f927cee57659aa72d79546b897b468',1,'grpc_ioreq_data']]], + ['details_5flink',['details_link',['../structgrpc__call.html#a932212dbec6334868cf997dd275c2192',1,'grpc_call']]], + ['dirtied_5flocal_5fsettings',['dirtied_local_settings',['../structgrpc__chttp2__transport__global.html#abbbb9c2b1f0667f1dd203faf76f0ca5e',1,'grpc_chttp2_transport_global']]], + ['disconnect',['disconnect',['../structgrpc__transport__op.html#a280ecb11f206deb671cb0d9e8a20434b',1,'grpc_transport_op']]], + ['disconnected',['disconnected',['../structgrpc__subchannel.html#aeb64d3a8c4d1f0c3b75cda0f97d80c5c',1,'grpc_subchannel']]], + ['dns_5fresolver',['dns_resolver',['../structdns__resolver.html',1,'']]], + ['dns_5fresolver_2ec',['dns_resolver.c',['../dns__resolver_8c.html',1,'']]], + ['dns_5fresolver_2eh',['dns_resolver.h',['../dns__resolver_8h.html',1,'']]], + ['done',['done',['../structgrpc__cq__completion.html#a2e3c70bc2aa092495b6367ef8d41ba64',1,'grpc_cq_completion']]], + ['done_5farg',['done_arg',['../structgrpc__cq__completion.html#a533e98ae5b637059189ee4fb27ad484a',1,'grpc_cq_completion']]], + ['drain_5fpos',['drain_pos',['../structgrpc__byte__buffer__queue.html#a892ef76ec959884e1ac9bfa3bc71912b',1,'grpc_byte_buffer_queue']]], + ['draining',['draining',['../structgrpc__byte__buffer__queue.html#a4ada3647f6060be981ff3dbd1ed2f54b',1,'grpc_byte_buffer_queue']]], + ['dump_5fout',['dump_out',['../structdump__out.html',1,'']]] +]; diff --git a/doc/ref/core.internal/html/search/all_5.html b/doc/ref/core.internal/html/search/all_5.html new file mode 100644 index 0000000000..99ef726704 --- /dev/null +++ b/doc/ref/core.internal/html/search/all_5.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core.internal/html/search/all_5.js b/doc/ref/core.internal/html/search/all_5.js new file mode 100644 index 0000000000..7b7e1c33a3 --- /dev/null +++ b/doc/ref/core.internal/html/search/all_5.js @@ -0,0 +1,40 @@ +var searchData= +[ + ['elem',['elem',['../structcall__data.html#a7042d8feb119d4fcce1258c5eddca8ff',1,'call_data::elem()'],['../structwaiting__call.html#af0c24ed1b79604b43d7a669331adcbc4',1,'waiting_call::elem()']]], + ['elems',['elems',['../structgrpc__chttp2__incoming__metadata__buffer.html#a899a942462aa9b89bec8e0589cde8a92',1,'grpc_chttp2_incoming_metadata_buffer::elems()'],['../structgrpc__chttp2__incoming__metadata__live__op__buffer.html#ae11e8fc642ff7d933c26992dee443b9d',1,'grpc_chttp2_incoming_metadata_live_op_buffer::elems()']]], + ['email_5fdomain',['email_domain',['../structgrpc__jwt__verifier__email__domain__key__url__mapping.html#a88231d204f177fb83c65c64c640ac7df',1,'grpc_jwt_verifier_email_domain_key_url_mapping::email_domain()'],['../structemail__key__mapping.html#a379069d9b6baffade9583b28046eab90',1,'email_key_mapping::email_domain()']]], + ['email_5fkey_5fmapping',['email_key_mapping',['../structemail__key__mapping.html',1,'']]], + ['endpoint_2ec',['endpoint.c',['../endpoint_8c.html',1,'']]], + ['endpoint_2eh',['endpoint.h',['../endpoint_8h.html',1,'']]], + ['endpoint_5fpair_2eh',['endpoint_pair.h',['../endpoint__pair_8h.html',1,'']]], + ['endpoint_5fpair_5fposix_2ec',['endpoint_pair_posix.c',['../endpoint__pair__posix_8c.html',1,'']]], + ['endpoint_5fpair_5fwindows_2ec',['endpoint_pair_windows.c',['../endpoint__pair__windows_8c.html',1,'']]], + ['endpoint_5freading',['endpoint_reading',['../structgrpc__chttp2__transport.html#a2011b2483741ec634614fc4240b26905',1,'grpc_chttp2_transport']]], + ['entries',['entries',['../structgrpc__credentials__md__store.html#ab5f2f62b101f1d05a11340bc45eb71c5',1,'grpc_credentials_md_store::entries()'],['../structgpr__stack__lockfree.html#a68282ed7eeb9cb7ce537b15ed25e7eb1',1,'gpr_stack_lockfree::entries()']]], + ['entries_5felems',['entries_elems',['../structgrpc__chttp2__hpack__compressor.html#a028e3752a9b203d820e194029f6df186',1,'grpc_chttp2_hpack_compressor']]], + ['entries_5fkeys',['entries_keys',['../structgrpc__chttp2__hpack__compressor.html#a80cc9b5282b637b3facbb68cf1038125',1,'grpc_chttp2_hpack_compressor']]], + ['entry_5falignment_5fbits',['ENTRY_ALIGNMENT_BITS',['../stack__lockfree_8c.html#a8644da45b827e108bca857053cbf48af',1,'stack_lockfree.c']]], + ['ents',['ents',['../structgrpc__chttp2__hptbl.html#af14d20a9a16ee86be7d9f18b2f5334eb',1,'grpc_chttp2_hptbl']]], + ['env_2eh',['env.h',['../env_8h.html',1,'']]], + ['env_5flinux_2ec',['env_linux.c',['../env__linux_8c.html',1,'']]], + ['env_5fposix_2ec',['env_posix.c',['../env__posix_8c.html',1,'']]], + ['env_5fwin32_2ec',['env_win32.c',['../env__win32_8c.html',1,'']]], + ['ep',['ep',['../structgrpc__chttp2__transport.html#aa15d7fee63a356880346a9f961b9bdff',1,'grpc_chttp2_transport::ep()'],['../structinternal__request.html#af6443badea586cce9b4e3112832760c7',1,'internal_request::ep()']]], + ['error_5fcode',['error_code',['../structgrpc__chttp2__goaway__parser.html#a7d67619fd763e569f825792784814aa5',1,'grpc_chttp2_goaway_parser']]], + ['error_5fheader',['ERROR_HEADER',['../hpack__parser_8c.html#a71eda0fd38f30d8005251eb895de35eea57e2b3994258d7216de08793daaa2b35',1,'hpack_parser.c']]], + ['error_5fmsg_5fkey',['error_msg_key',['../structchannel__data.html#a214f33e78aafbbac774ea95c2e9dc8b3',1,'channel_data']]], + ['error_5fstatus_5fset',['error_status_set',['../structgrpc__call.html#a5cb38ade0e31380920c4afe56eea7b85',1,'grpc_call']]], + ['escaped_5fstring_5fwas_5fkey',['escaped_string_was_key',['../structgrpc__json__reader.html#a485d8fd2e05cae9a2152bdbd34162107',1,'grpc_json_reader']]], + ['event_5fstring_2ec',['event_string.c',['../event__string_8c.html',1,'']]], + ['event_5fstring_2eh',['event_string.h',['../event__string_8h.html',1,'']]], + ['event_5fsync_5fpartitions',['event_sync_partitions',['../sync_8c.html#a0ed680fdb405e7195d9f14032851eebba036372fdae4f52140a8f27482b729753',1,'sync.c']]], + ['exit_5fidle',['exit_idle',['../structgrpc__lb__policy__vtable.html#a49613233281018e00cf8dcd060c9a301',1,'grpc_lb_policy_vtable']]], + ['exit_5fidle_5fwhen_5flb_5fpolicy_5farrives',['exit_idle_when_lb_policy_arrives',['../structchannel__data.html#a3fe0f0347e1953376cd84db85bba9917',1,'channel_data']]], + ['exp',['exp',['../structgrpc__jwt__claims.html#adb8933c8e007a5864aea01e258637594',1,'grpc_jwt_claims']]], + ['expect_5fcontinuation_5fstream_5fid',['expect_continuation_stream_id',['../structgrpc__chttp2__transport__parsing.html#acb9aee1746f86d0af230f41898c2e060',1,'grpc_chttp2_transport_parsing']]], + ['extra_5farg',['extra_arg',['../structgpr__cmdline.html#a1109c69ceb7d9c2ae8f374377690b4cb',1,'gpr_cmdline']]], + ['extra_5farg_5fhelp',['extra_arg_help',['../structgpr__cmdline.html#ab1e7d3da9d7dac50a04411059cf856fb',1,'gpr_cmdline']]], + ['extra_5farg_5fname',['extra_arg_name',['../structgpr__cmdline.html#abc1adda9fabb39a4cb8beba086aaa8b5',1,'gpr_cmdline']]], + ['extra_5farg_5fuser_5fdata',['extra_arg_user_data',['../structgpr__cmdline.html#afcf2c751450c2b09eea9ac769ddb2f11',1,'gpr_cmdline']]], + ['extract_5fpeer',['extract_peer',['../structtsi__handshaker__vtable.html#ab34c8028cf54bc2b0ee1e5ab95578541',1,'tsi_handshaker_vtable']]] +]; diff --git a/doc/ref/core.internal/html/search/all_6.html b/doc/ref/core.internal/html/search/all_6.html new file mode 100644 index 0000000000..6133ab3af1 --- /dev/null +++ b/doc/ref/core.internal/html/search/all_6.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core.internal/html/search/all_6.js b/doc/ref/core.internal/html/search/all_6.js new file mode 100644 index 0000000000..db18cabd82 --- /dev/null +++ b/doc/ref/core.internal/html/search/all_6.js @@ -0,0 +1,59 @@ +var searchData= +[ + ['factory',['factory',['../structregistered__resolver.html#a19447c6e94f1739efdfdf0928f62a1bb',1,'registered_resolver']]], + ['fake_5ftransport_5fsecurity_2ec',['fake_transport_security.c',['../fake__transport__security_8c.html',1,'']]], + ['fake_5ftransport_5fsecurity_2eh',['fake_transport_security.h',['../fake__transport__security_8h.html',1,'']]], + ['fd',['fd',['../structgrpc__fd__watcher.html#a9ce341a9fea46aa4ab62de1e232691bc',1,'grpc_fd_watcher::fd()'],['../structgrpc__fd.html#a876ab7207d777a4f8b436a3b5c80fd32',1,'grpc_fd::fd()'],['../structgrpc__pollset.html#a9166a13045968cd9d384d13dfca85afc',1,'grpc_pollset::fd()']]], + ['fd_5fcapacity',['fd_capacity',['../structgrpc__pollset__set.html#aef4e4899c16b05d8d636c40491ef83ec',1,'grpc_pollset_set']]], + ['fd_5fcount',['fd_count',['../structgrpc__pollset__set.html#a9bf34bd7e4b92ba41543e220248684a6',1,'grpc_pollset_set']]], + ['fd_5flist',['fd_list',['../structgrpc__pollset__kick__state.html#ac70b7fecfa3a7afa9f9df060ed1c7772',1,'grpc_pollset_kick_state']]], + ['fd_5fposix_2ec',['fd_posix.c',['../fd__posix_8c.html',1,'']]], + ['fd_5fposix_2eh',['fd_posix.h',['../fd__posix_8h.html',1,'']]], + ['fds',['fds',['../structgrpc__pollset__set.html#a8d9bebcd8ad102edde7c276a5bb36af6',1,'grpc_pollset_set']]], + ['fetch_5ffunc',['fetch_func',['../structgrpc__oauth2__token__fetcher__credentials.html#af761ff685ab5e0c5884770d5bb52db54',1,'grpc_oauth2_token_fetcher_credentials']]], + ['file',['file',['../structgpr__log__func__args.html#a7961b2303b10d4f66d1aee6b5857ef89',1,'gpr_log_func_args']]], + ['file_2ec',['file.c',['../file_8c.html',1,'']]], + ['file_2eh',['file.h',['../file_8h.html',1,'']]], + ['file_5fposix_2ec',['file_posix.c',['../file__posix_8c.html',1,'']]], + ['file_5fwin32_2ec',['file_win32.c',['../file__win32_8c.html',1,'']]], + ['filling',['filling',['../structgrpc__byte__buffer__queue.html#a59362dc489f174084408061a3c86af7c',1,'grpc_byte_buffer_queue']]], + ['filter',['filter',['../structgrpc__channel__element.html#a3f80663d58f2e206836e18fa7ce5aec3',1,'grpc_channel_element::filter()'],['../structgrpc__call__element.html#aac551ff2d3e8df1b3d39495eb7f160a8',1,'grpc_call_element::filter()']]], + ['filter_5fcount',['filter_count',['../structgrpc__subchannel__args.html#a2a86f02c0c24e32a063be3532e7dd128',1,'grpc_subchannel_args']]], + ['filter_5felems',['filter_elems',['../structgrpc__chttp2__hpack__compressor.html#a387e0eb34c64c7faaf16e0f2f3ad4d0e',1,'grpc_chttp2_hpack_compressor']]], + ['filter_5felems_5fsum',['filter_elems_sum',['../structgrpc__chttp2__hpack__compressor.html#a0277765b866665337a7cd5f780e346a8',1,'grpc_chttp2_hpack_compressor']]], + ['filters',['filters',['../structgrpc__connect__out__args.html#a265b258502606ef7943a43591bbdc4b2',1,'grpc_connect_out_args::filters()'],['../structgrpc__subchannel__args.html#abdab22dc8a8437e6f4dda191b14130ab',1,'grpc_subchannel_args::filters()'],['../structgrpc__subchannel.html#a9de51c82bda25cff592acbe7b2866a32',1,'grpc_subchannel::filters()']]], + ['finish_5fdestroy_5fchannel_5fclosure',['finish_destroy_channel_closure',['../structchannel__data.html#acecc0d7f7ae20cc71b53692eb20a0a92',1,'channel_data']]], + ['finish_5fshutdown',['finish_shutdown',['../structgrpc__pollset__vtable.html#ae8ef1cb18ceb55b32b383c62c63929e8',1,'grpc_pollset_vtable']]], + ['finished_5floose_5fop_5fallocated_5fargs',['finished_loose_op_allocated_args',['../structfinished__loose__op__allocated__args.html',1,'']]], + ['first_5fbyte_5ftype',['first_byte_type',['../hpack__parser_8c.html#a82ea1fc72cfd46090df5eb5f87ba1918',1,'hpack_parser.c']]], + ['first_5fent',['first_ent',['../structgrpc__chttp2__hptbl.html#a4b28482c4a9c59a1ce11cad63b2eeb77',1,'grpc_chttp2_hptbl']]], + ['flag',['flag',['../structtracer.html#a7cb129f30976377f84c881d419094573',1,'tracer']]], + ['flags',['flags',['../structgrpc__op.html#a9e6087665c90f146e5570f12c66d04fb',1,'grpc_op::flags()'],['../structgrpc__ioreq.html#a97a3d5c809f88a76f20727e2afa539d1',1,'grpc_ioreq::flags()'],['../structgrpc__begin__message.html#a32d937f7978a6fcf19e64ba71ef2dc7b',1,'grpc_begin_message::flags()'],['../structgpr__thd__options.html#aaa966777aca6604109eb4cd6cae7984c',1,'gpr_thd_options::flags()']]], + ['fmix32',['FMIX32',['../murmur__hash_8c.html#a35851ba6b08c118345278effc46695e6',1,'murmur_hash.c']]], + ['force_5fclient_5fauth',['force_client_auth',['../structgrpc__ssl__server__config.html#ab76e4dcbf44740943a062be40d253007',1,'grpc_ssl_server_config']]], + ['force_5fsend_5fsettings',['force_send_settings',['../structgrpc__chttp2__transport__global.html#a460e875d57d437e6489aef4b7473f027',1,'grpc_chttp2_transport_global']]], + ['format_5frequest_2ec',['format_request.c',['../format__request_8c.html',1,'']]], + ['format_5frequest_2eh',['format_request.h',['../format__request_8h.html',1,'']]], + ['frame_2eh',['frame.h',['../frame_8h.html',1,'']]], + ['frame_5fdata_2ec',['frame_data.c',['../frame__data_8c.html',1,'']]], + ['frame_5fdata_2eh',['frame_data.h',['../frame__data_8h.html',1,'']]], + ['frame_5fgoaway_2ec',['frame_goaway.c',['../frame__goaway_8c.html',1,'']]], + ['frame_5fgoaway_2eh',['frame_goaway.h',['../frame__goaway_8h.html',1,'']]], + ['frame_5fping_2ec',['frame_ping.c',['../frame__ping_8c.html',1,'']]], + ['frame_5fping_2eh',['frame_ping.h',['../frame__ping_8h.html',1,'']]], + ['frame_5fprotector_5fcreated',['frame_protector_created',['../structtsi__handshaker.html#a375eb09298453585bc64bd6f99fe14ec',1,'tsi_handshaker']]], + ['frame_5frst_5fstream_2ec',['frame_rst_stream.c',['../frame__rst__stream_8c.html',1,'']]], + ['frame_5frst_5fstream_2eh',['frame_rst_stream.h',['../frame__rst__stream_8h.html',1,'']]], + ['frame_5fsettings_2ec',['frame_settings.c',['../frame__settings_8c.html',1,'']]], + ['frame_5fsettings_2eh',['frame_settings.h',['../frame__settings_8h.html',1,'']]], + ['frame_5fsize',['frame_size',['../structgrpc__chttp2__data__parser.html#a82d208096ae99ff778356f549de2647a',1,'grpc_chttp2_data_parser']]], + ['frame_5ftype',['frame_type',['../structgrpc__chttp2__data__parser.html#a0a9b5ff25be677ae71473791fc201865',1,'grpc_chttp2_data_parser::frame_type()'],['../stream__encoder_8c.html#a3ca2c0bc7578bf3d337e34b2c08a6c5f',1,'frame_type(): stream_encoder.c']]], + ['frame_5fwindow_5fupdate_2ec',['frame_window_update.c',['../frame__window__update_8c.html',1,'']]], + ['frame_5fwindow_5fupdate_2eh',['frame_window_update.h',['../frame__window__update_8h.html',1,'']]], + ['framer_5fstate',['framer_state',['../structframer__state.html',1,'']]], + ['free',['free',['../structgrpc__chttp2__stream__map.html#a8e3dfe8b74da93be4d32197725bb4ece',1,'grpc_chttp2_stream_map']]], + ['free_5fspace',['free_space',['../structjson__writer__userdata.html#a7bb26b7e7b6783d61265705d79c87e03',1,'json_writer_userdata']]], + ['freelist_5fnext',['freelist_next',['../structgrpc__fd.html#a48d85d973fb9284e51cad0695e91379d',1,'grpc_fd']]], + ['from_5fssl',['from_ssl',['../structtsi__ssl__handshaker.html#a92fd97e3dc2041f61cf9e99b51f5a8e8',1,'tsi_ssl_handshaker::from_ssl()'],['../structtsi__ssl__frame__protector.html#a5d6ce8a49205271885618a79964a6b73',1,'tsi_ssl_frame_protector::from_ssl()']]], + ['fwd_5fdebug_5fargs',['FWD_DEBUG_ARGS',['../metadata_8c.html#a3cfab2da250dee51694faff7226974a6',1,'metadata.c']]] +]; diff --git a/doc/ref/core.internal/html/search/all_7.html b/doc/ref/core.internal/html/search/all_7.html new file mode 100644 index 0000000000..574812594f --- /dev/null +++ b/doc/ref/core.internal/html/search/all_7.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core.internal/html/search/all_7.js b/doc/ref/core.internal/html/search/all_7.js new file mode 100644 index 0000000000..74bed41623 --- /dev/null +++ b/doc/ref/core.internal/html/search/all_7.js @@ -0,0 +1,1522 @@ +var searchData= +[ + ['garbage',['garbage',['../structgrpc__metadata__batch.html#a803e9f2eed721ec23504e872e14cbecc',1,'grpc_metadata_batch']]], + ['get_5fbytes_5fto_5fsend_5fto_5fpeer',['get_bytes_to_send_to_peer',['../structtsi__handshaker__vtable.html#a78c12cd8f2a53cc2bd32367a725f48ff',1,'tsi_handshaker_vtable']]], + ['get_5fpeer',['get_peer',['../structgrpc__channel__filter.html#a6ddcbc355118eca15b48ee15476d2ace',1,'grpc_channel_filter::get_peer()'],['../structgrpc__endpoint__vtable.html#a01e48582c45e2e7033e344d253316911',1,'grpc_endpoint_vtable::get_peer()'],['../structgrpc__transport__vtable.html#a763d8c95adc9c74dae02a58557e001ed',1,'grpc_transport_vtable::get_peer()']]], + ['get_5frequest_5fmetadata',['get_request_metadata',['../structgrpc__credentials__vtable.html#a14795750df563c75436add4e7c05603d',1,'grpc_credentials_vtable']]], + ['get_5fresult',['get_result',['../structtsi__handshaker__vtable.html#af65c4700c22e71ecb09a94ae951d2bf3',1,'tsi_handshaker_vtable']]], + ['getblock32',['GETBLOCK32',['../murmur__hash_8c.html#aaaaac568919d152a24bbff8d8c1bc194',1,'murmur_hash.c']]], + ['global',['global',['../structgrpc__chttp2__transport.html#a9bd7506a4e310f2ebc1969250b3c7694',1,'grpc_chttp2_transport::global()'],['../structgrpc__chttp2__stream.html#ae6fe61537b60639a3d969eacde593be5',1,'grpc_chttp2_stream::global()']]], + ['goaway_5ferror',['goaway_error',['../structgrpc__chttp2__transport__parsing.html#a5fe6b71fbaa164a3a755e274e94d970d',1,'grpc_chttp2_transport_parsing']]], + ['goaway_5flast_5fstream_5findex',['goaway_last_stream_index',['../structgrpc__chttp2__transport__parsing.html#ae25fb486225d5197c4532c374c04c79f',1,'grpc_chttp2_transport_parsing']]], + ['goaway_5fmessage',['goaway_message',['../structgrpc__transport__op.html#ad4862d8029894b6640d2261694e21293',1,'grpc_transport_op']]], + ['goaway_5fparser',['goaway_parser',['../structgrpc__chttp2__transport__parsing.html#ab28b069fc6b870de365928004832729b',1,'grpc_chttp2_transport_parsing']]], + ['goaway_5freceived',['goaway_received',['../structgrpc__chttp2__transport__parsing.html#a82b81ecf5d12a2c75978a343bad9abf5',1,'grpc_chttp2_transport_parsing']]], + ['goaway_5fstatus',['goaway_status',['../structgrpc__transport__op.html#a2bc4c019576243679b671f5cebd6000f',1,'grpc_transport_op']]], + ['goaway_5ftext',['goaway_text',['../structgrpc__chttp2__transport__parsing.html#a2b872c8382bfd778b44a882fe10916d8',1,'grpc_chttp2_transport_parsing']]], + ['google_5fdefault_5fcredentials_2ec',['google_default_credentials.c',['../google__default__credentials_8c.html',1,'']]], + ['got_5finitial_5fmetadata',['got_initial_metadata',['../structcall__data.html#a7bda5a1466231baa3df0059573579b9b',1,'call_data::got_initial_metadata()'],['../structcall__data.html#a6bd5678f8f7fb5e1c91f0b98ced36147',1,'call_data::got_initial_metadata()']]], + ['got_5fkey',['got_key',['../structgrpc__json__writer.html#a5569d8c07eeee222a342551b92e0d9ed',1,'grpc_json_writer']]], + ['gpr_5farray_5fsize',['GPR_ARRAY_SIZE',['../useful_8h.html#a0e411d4f81a169c97c319d4e84df5747',1,'useful.h']]], + ['gpr_5fasprintf',['gpr_asprintf',['../string__util_8h.html#a0e5cc621bf7ca14112c72aa7a0ca73d0',1,'string_util.h']]], + ['gpr_5fassert',['GPR_ASSERT',['../log_8h.html#a6ccf52ff690655cc22cd9d053650876f',1,'log.h']]], + ['gpr_5fatm',['gpr_atm',['../atm__gcc__atomic_8h.html#aa9e4b16c09888debe306f14e8090b1cc',1,'gpr_atm(): atm_gcc_atomic.h'],['../atm__gcc__sync_8h.html#aa9e4b16c09888debe306f14e8090b1cc',1,'gpr_atm(): atm_gcc_sync.h'],['../atm__win32_8h.html#aa9e4b16c09888debe306f14e8090b1cc',1,'gpr_atm(): atm_win32.h']]], + ['gpr_5fatm_5facq_5fcas',['gpr_atm_acq_cas',['../atm__gcc__sync_8h.html#a1a90e5777158aaa53624822f1f87dd90',1,'atm_gcc_sync.h']]], + ['gpr_5fatm_5facq_5fload',['gpr_atm_acq_load',['../atm__gcc__atomic_8h.html#a44607f95f7ee40eba592c7fe10960a06',1,'atm_gcc_atomic.h']]], + ['gpr_5fatm_5fcompile_5fbarrier_5f',['GPR_ATM_COMPILE_BARRIER_',['../atm__gcc__sync_8h.html#a5a1f94112dcd03309d6716d43c8edf3f',1,'atm_gcc_sync.h']]], + ['gpr_5fatm_5ffull_5fbarrier',['gpr_atm_full_barrier',['../atm__gcc__atomic_8h.html#a95f86e51ae9a479026bd237cb792193e',1,'gpr_atm_full_barrier(): atm_gcc_atomic.h'],['../atm__gcc__sync_8h.html#a95f86e51ae9a479026bd237cb792193e',1,'gpr_atm_full_barrier(): atm_gcc_sync.h'],['../atm__win32_8h.html#a8e58c94aff5c7161bc3cbfde878dd03d',1,'gpr_atm_full_barrier(): atm_win32.h']]], + ['gpr_5fatm_5ffull_5ffetch_5fadd',['gpr_atm_full_fetch_add',['../atm__gcc__atomic_8h.html#abada8771b338845e4c6ef93c8392582c',1,'gpr_atm_full_fetch_add(): atm_gcc_atomic.h'],['../atm__gcc__sync_8h.html#abada8771b338845e4c6ef93c8392582c',1,'gpr_atm_full_fetch_add(): atm_gcc_sync.h']]], + ['gpr_5fatm_5fls_5fbarrier_5f',['GPR_ATM_LS_BARRIER_',['../atm__gcc__sync_8h.html#a4ceb46c9b854db0ade8cfe2f37edb878',1,'atm_gcc_sync.h']]], + ['gpr_5fatm_5fno_5fbarrier_5fcas',['gpr_atm_no_barrier_cas',['../atm__gcc__sync_8h.html#ad39536b08912ac4a0770655ed334d260',1,'atm_gcc_sync.h']]], + ['gpr_5fatm_5fno_5fbarrier_5ffetch_5fadd',['gpr_atm_no_barrier_fetch_add',['../atm__gcc__atomic_8h.html#ae337dc477a6a45ac3d91e41e8f3f2f8c',1,'gpr_atm_no_barrier_fetch_add(): atm_gcc_atomic.h'],['../atm__gcc__sync_8h.html#ae337dc477a6a45ac3d91e41e8f3f2f8c',1,'gpr_atm_no_barrier_fetch_add(): atm_gcc_sync.h']]], + ['gpr_5fatm_5fno_5fbarrier_5fload',['gpr_atm_no_barrier_load',['../atm__gcc__atomic_8h.html#aa647aa9c97294a6709bbf2ac401cd9a6',1,'atm_gcc_atomic.h']]], + ['gpr_5fatm_5fno_5fbarrier_5fstore',['gpr_atm_no_barrier_store',['../atm__gcc__atomic_8h.html#afad47d4c311c5439371fcdd4a0b6794e',1,'atm_gcc_atomic.h']]], + ['gpr_5fatm_5frel_5fcas',['gpr_atm_rel_cas',['../atm__gcc__sync_8h.html#ae7c3b215cda868ee9ee778822000c3f2',1,'atm_gcc_sync.h']]], + ['gpr_5fatm_5frel_5fstore',['gpr_atm_rel_store',['../atm__gcc__atomic_8h.html#a42e3982d45ae4cec439a12b8fcd618e9',1,'atm_gcc_atomic.h']]], + ['gpr_5fbitclear',['GPR_BITCLEAR',['../useful_8h.html#af797bf1803f9809b3ccceaa619078c89',1,'useful.h']]], + ['gpr_5fbitcount',['GPR_BITCOUNT',['../useful_8h.html#a8f51444fe97eb3f83184b98035e3357f',1,'useful.h']]], + ['gpr_5fbitget',['GPR_BITGET',['../useful_8h.html#a7c54bb2fffdaae24ba38ca5e5c53ab41',1,'useful.h']]], + ['gpr_5fbitset',['GPR_BITSET',['../useful_8h.html#a28de4ed955bfc2bff309061b7820a37a',1,'useful.h']]], + ['gpr_5fcacheline_5fsize',['GPR_CACHELINE_SIZE',['../port__platform_8h.html#ad9b7cc620233bbab0bc57cfbbe9519ad',1,'port_platform.h']]], + ['gpr_5fcacheline_5fsize_5flog',['GPR_CACHELINE_SIZE_LOG',['../port__platform_8h.html#a4e8b19add0d8d0be9464f748be985576',1,'port_platform.h']]], + ['gpr_5fcancellable',['gpr_cancellable',['../structgpr__cancellable.html',1,'']]], + ['gpr_5fcancellable_5fcancel',['gpr_cancellable_cancel',['../sync_8h.html#a895fb73161d2dd1fa19be10d5395001c',1,'gpr_cancellable_cancel(gpr_cancellable *c): cancellable.c'],['../cancellable_8c.html#a895fb73161d2dd1fa19be10d5395001c',1,'gpr_cancellable_cancel(gpr_cancellable *c): cancellable.c']]], + ['gpr_5fcancellable_5fdestroy',['gpr_cancellable_destroy',['../sync_8h.html#aa82b7172b992bd33bd6fd4b4dc89e338',1,'gpr_cancellable_destroy(gpr_cancellable *c): cancellable.c'],['../cancellable_8c.html#aa82b7172b992bd33bd6fd4b4dc89e338',1,'gpr_cancellable_destroy(gpr_cancellable *c): cancellable.c']]], + ['gpr_5fcancellable_5finit',['gpr_cancellable_init',['../sync_8h.html#aec0b0e9b9f084550cdec300da1f31add',1,'gpr_cancellable_init(gpr_cancellable *c): cancellable.c'],['../cancellable_8c.html#aec0b0e9b9f084550cdec300da1f31add',1,'gpr_cancellable_init(gpr_cancellable *c): cancellable.c']]], + ['gpr_5fcancellable_5fis_5fcancelled',['gpr_cancellable_is_cancelled',['../sync_8h.html#a1e53047443e5eb1f9895be0c90bc790b',1,'gpr_cancellable_is_cancelled(gpr_cancellable *c): cancellable.c'],['../cancellable_8c.html#a1e53047443e5eb1f9895be0c90bc790b',1,'gpr_cancellable_is_cancelled(gpr_cancellable *c): cancellable.c']]], + ['gpr_5fcancellable_5flist_5f',['gpr_cancellable_list_',['../structgpr__cancellable__list__.html',1,'']]], + ['gpr_5fclamp',['GPR_CLAMP',['../useful_8h.html#ac974b8c13ee716193e0ee30d9513672c',1,'useful.h']]], + ['gpr_5fclock_5fmonotonic',['GPR_CLOCK_MONOTONIC',['../time_8h.html#a2441bd1fbe80e86ff741e0757725b281a6ddd11813c5172c7b3e0e46e5ce7f01c',1,'time.h']]], + ['gpr_5fclock_5frealtime',['GPR_CLOCK_REALTIME',['../time_8h.html#a2441bd1fbe80e86ff741e0757725b281a685c67eccb0b9e3de6311b1e1330a746',1,'time.h']]], + ['gpr_5fclock_5ftype',['gpr_clock_type',['../time_8h.html#a2441bd1fbe80e86ff741e0757725b281',1,'time.h']]], + ['gpr_5fcmdline',['gpr_cmdline',['../structgpr__cmdline.html',1,'gpr_cmdline'],['../cmdline_8h.html#aaad93cd9bfc32c54fc89f7c2f3b74eb6',1,'gpr_cmdline(): cmdline.h']]], + ['gpr_5fcmdline_5fadd_5fflag',['gpr_cmdline_add_flag',['../cmdline_8h.html#ac5ecfdfc605896c29df846b1e268045e',1,'gpr_cmdline_add_flag(gpr_cmdline *cl, const char *name, const char *help, int *value): cmdline.c'],['../cmdline_8c.html#ac5ecfdfc605896c29df846b1e268045e',1,'gpr_cmdline_add_flag(gpr_cmdline *cl, const char *name, const char *help, int *value): cmdline.c']]], + ['gpr_5fcmdline_5fadd_5fint',['gpr_cmdline_add_int',['../cmdline_8h.html#a0fc8cd330751e9876e8635189a1bc10f',1,'gpr_cmdline_add_int(gpr_cmdline *cl, const char *name, const char *help, int *value): cmdline.c'],['../cmdline_8c.html#a0fc8cd330751e9876e8635189a1bc10f',1,'gpr_cmdline_add_int(gpr_cmdline *cl, const char *name, const char *help, int *value): cmdline.c']]], + ['gpr_5fcmdline_5fadd_5fstring',['gpr_cmdline_add_string',['../cmdline_8h.html#a34568676c089f3284dc8f7d8d706b1d3',1,'gpr_cmdline_add_string(gpr_cmdline *cl, const char *name, const char *help, char **value): cmdline.c'],['../cmdline_8c.html#a34568676c089f3284dc8f7d8d706b1d3',1,'gpr_cmdline_add_string(gpr_cmdline *cl, const char *name, const char *help, char **value): cmdline.c']]], + ['gpr_5fcmdline_5fcreate',['gpr_cmdline_create',['../cmdline_8h.html#a608f6fbc4edfb4d2c18e3c0660fd8773',1,'gpr_cmdline_create(const char *description): cmdline.c'],['../cmdline_8c.html#a608f6fbc4edfb4d2c18e3c0660fd8773',1,'gpr_cmdline_create(const char *description): cmdline.c']]], + ['gpr_5fcmdline_5fdestroy',['gpr_cmdline_destroy',['../cmdline_8h.html#a018f826ce313b02d2773ef97b8df5f98',1,'gpr_cmdline_destroy(gpr_cmdline *cl): cmdline.c'],['../cmdline_8c.html#a018f826ce313b02d2773ef97b8df5f98',1,'gpr_cmdline_destroy(gpr_cmdline *cl): cmdline.c']]], + ['gpr_5fcmdline_5fon_5fextra_5farg',['gpr_cmdline_on_extra_arg',['../cmdline_8h.html#afcf023a5eb082034a650a0f0177d1fe9',1,'gpr_cmdline_on_extra_arg(gpr_cmdline *cl, const char *name, const char *help, void(*on_extra_arg)(void *user_data, const char *arg), void *user_data): cmdline.c'],['../cmdline_8c.html#afcf023a5eb082034a650a0f0177d1fe9',1,'gpr_cmdline_on_extra_arg(gpr_cmdline *cl, const char *name, const char *help, void(*on_extra_arg)(void *user_data, const char *arg), void *user_data): cmdline.c']]], + ['gpr_5fcmdline_5fparse',['gpr_cmdline_parse',['../cmdline_8h.html#a34b66021bbbb9f6a6e8a60c0ae34f8a4',1,'gpr_cmdline_parse(gpr_cmdline *cl, int argc, char **argv): cmdline.c'],['../cmdline_8c.html#a34b66021bbbb9f6a6e8a60c0ae34f8a4',1,'gpr_cmdline_parse(gpr_cmdline *cl, int argc, char **argv): cmdline.c']]], + ['gpr_5fcmdline_5fusage_5fstring',['gpr_cmdline_usage_string',['../cmdline_8h.html#a4eac81d047bdc6e679079309bf60f030',1,'gpr_cmdline_usage_string(gpr_cmdline *cl, const char *argv0): cmdline.c'],['../cmdline_8c.html#a4eac81d047bdc6e679079309bf60f030',1,'gpr_cmdline_usage_string(gpr_cmdline *cl, const char *argv0): cmdline.c']]], + ['gpr_5fconvert_5fclock_5ftype',['gpr_convert_clock_type',['../time_8h.html#a5da0bdd7a1b8735bf1594a2068b7ec74',1,'gpr_convert_clock_type(gpr_timespec t, gpr_clock_type target_clock): time.c'],['../time_8c.html#ab265219dd3038a1e89ded09033bada5e',1,'gpr_convert_clock_type(gpr_timespec t, gpr_clock_type clock_type): time.c']]], + ['gpr_5fcpu_5fcurrent_5fcpu',['gpr_cpu_current_cpu',['../cpu_8h.html#ad713326192eea685047b742f1da87c1d',1,'cpu.h']]], + ['gpr_5fcpu_5fnum_5fcores',['gpr_cpu_num_cores',['../cpu_8h.html#abfe660c6872b008de80de5b39ac2538d',1,'cpu.h']]], + ['gpr_5fcv',['gpr_cv',['../sync__posix_8h.html#a1ad613e07180c0459cda9f3f6d881885',1,'gpr_cv(): sync_posix.h'],['../sync__win32_8h.html#a81241bed6e85e9b106a1311060a04d9d',1,'gpr_cv(): sync_win32.h']]], + ['gpr_5fcv_5fbroadcast',['gpr_cv_broadcast',['../sync_8h.html#ad5a4b4a5844668d188db89dda6ad205b',1,'sync.h']]], + ['gpr_5fcv_5fcancellable_5fwait',['gpr_cv_cancellable_wait',['../sync_8h.html#a5f1df649a9885ff2354dd4ce611017d9',1,'gpr_cv_cancellable_wait(gpr_cv *cv, gpr_mu *mu, gpr_timespec abs_deadline, gpr_cancellable *c): cancellable.c'],['../cancellable_8c.html#a5f1df649a9885ff2354dd4ce611017d9',1,'gpr_cv_cancellable_wait(gpr_cv *cv, gpr_mu *mu, gpr_timespec abs_deadline, gpr_cancellable *c): cancellable.c']]], + ['gpr_5fcv_5fdestroy',['gpr_cv_destroy',['../sync_8h.html#a652900a910676d5cae9ccba052adb6b0',1,'sync.h']]], + ['gpr_5fcv_5finit',['gpr_cv_init',['../sync_8h.html#ad24aac3d86113f0fcffc6c4595da9cb2',1,'sync.h']]], + ['gpr_5fcv_5fsignal',['gpr_cv_signal',['../sync_8h.html#aba119d0b92b0bd50e6efa9e2abe07a5f',1,'sync.h']]], + ['gpr_5fcv_5fwait',['gpr_cv_wait',['../sync_8h.html#ad5d8d01509b75addc44e5a43783a826e',1,'sync.h']]], + ['gpr_5fdebug',['GPR_DEBUG',['../log_8h.html#a3e793245091f13bb7318a18b1166a773',1,'log.h']]], + ['gpr_5fdefault_5flog',['gpr_default_log',['../log_8c.html#a620ef16728107bedfa4188786f901ff9',1,'log.c']]], + ['gpr_5fdump',['gpr_dump',['../string_8h.html#a5b9ee77c9f03764e72d7b91a64ef86f1',1,'gpr_dump(const char *buf, size_t len, gpr_uint32 flags): string.c'],['../string_8c.html#a5b9ee77c9f03764e72d7b91a64ef86f1',1,'gpr_dump(const char *buf, size_t len, gpr_uint32 flags): string.c']]], + ['gpr_5fdump_5fascii',['GPR_DUMP_ASCII',['../string_8h.html#ac0676a68b67df2660352db8168c6c180',1,'string.h']]], + ['gpr_5fdump_5fhex',['GPR_DUMP_HEX',['../string_8h.html#a2d592b56804af1c0d0e5237c37ce0313',1,'string.h']]], + ['gpr_5fdump_5fslice',['gpr_dump_slice',['../string_8h.html#a77bcdd897064702d16e7aaaea2e0e259',1,'gpr_dump_slice(gpr_slice slice, gpr_uint32 flags): string.c'],['../string_8c.html#a008e053cd53efcf2f606b7414c22ea95',1,'gpr_dump_slice(gpr_slice s, gpr_uint32 flags): string.c']]], + ['gpr_5fempty_5fslice',['gpr_empty_slice',['../slice_8h.html#a1a8906400c956fb8c508326a072b0662',1,'gpr_empty_slice(void): slice.c'],['../slice_8c.html#a1a8906400c956fb8c508326a072b0662',1,'gpr_empty_slice(void): slice.c']]], + ['gpr_5ferror',['GPR_ERROR',['../log_8h.html#a63faedb3eefd93d1c0e79974be80cc36',1,'log.h']]], + ['gpr_5fevent',['gpr_event',['../structgpr__event.html',1,'']]], + ['gpr_5fevent_5fcancellable_5fwait',['gpr_event_cancellable_wait',['../sync_8h.html#ae048c7e762b723821e35a07fd0d85e22',1,'gpr_event_cancellable_wait(gpr_event *ev, gpr_timespec abs_deadline, gpr_cancellable *c): sync.c'],['../sync_8c.html#ae048c7e762b723821e35a07fd0d85e22',1,'gpr_event_cancellable_wait(gpr_event *ev, gpr_timespec abs_deadline, gpr_cancellable *c): sync.c']]], + ['gpr_5fevent_5fget',['gpr_event_get',['../sync_8h.html#ac0a2305d9e6575cc5a3d92bc3f12c161',1,'gpr_event_get(gpr_event *ev): sync.c'],['../sync_8c.html#ac0a2305d9e6575cc5a3d92bc3f12c161',1,'gpr_event_get(gpr_event *ev): sync.c']]], + ['gpr_5fevent_5finit',['GPR_EVENT_INIT',['../sync__generic_8h.html#a6f38fe7692eaa6663c1f79ff5847c050',1,'GPR_EVENT_INIT(): sync_generic.h'],['../sync_8h.html#a93f37cd27964fda51acd4cd8e6737922',1,'gpr_event_init(gpr_event *ev): sync.c'],['../sync_8c.html#a93f37cd27964fda51acd4cd8e6737922',1,'gpr_event_init(gpr_event *ev): sync.c']]], + ['gpr_5fevent_5fset',['gpr_event_set',['../sync_8h.html#a1b1d014640e00512f6789dacc4ff88bd',1,'gpr_event_set(gpr_event *ev, void *value): sync.c'],['../sync_8c.html#a1b1d014640e00512f6789dacc4ff88bd',1,'gpr_event_set(gpr_event *ev, void *value): sync.c']]], + ['gpr_5fevent_5fwait',['gpr_event_wait',['../sync_8h.html#a01d442a76ff77f64d9f898b22ea33db7',1,'gpr_event_wait(gpr_event *ev, gpr_timespec abs_deadline): sync.c'],['../sync_8c.html#a01d442a76ff77f64d9f898b22ea33db7',1,'gpr_event_wait(gpr_event *ev, gpr_timespec abs_deadline): sync.c']]], + ['gpr_5fformat_5fmessage',['gpr_format_message',['../log__win32_8h.html#ad8115cf8df2332d225d12cb87c21f536',1,'log_win32.h']]], + ['gpr_5ffree',['gpr_free',['../alloc_8h.html#ae0d621b472031a64c77bd2e9fea495e8',1,'gpr_free(void *ptr): alloc.c'],['../alloc_8c.html#abb8ce294adb033ac54e7a2e28b9bdac6',1,'gpr_free(void *p): alloc.c']]], + ['gpr_5ffree_5faligned',['gpr_free_aligned',['../alloc_8h.html#af9b603aefd33752e1b473856af77cbc9',1,'gpr_free_aligned(void *ptr): alloc.c'],['../alloc_8c.html#af9b603aefd33752e1b473856af77cbc9',1,'gpr_free_aligned(void *ptr): alloc.c']]], + ['gpr_5fgcc_5fthread_5flocal',['gpr_gcc_thread_local',['../structgpr__gcc__thread__local.html',1,'']]], + ['gpr_5fgetenv',['gpr_getenv',['../env_8h.html#a56b20a68a421e585a14b92cb9999eafb',1,'env.h']]], + ['gpr_5fhistogram',['gpr_histogram',['../structgpr__histogram.html',1,'gpr_histogram'],['../histogram_8h.html#a7125b0cef0e61a441a17f887dbc073fc',1,'gpr_histogram(): histogram.h']]], + ['gpr_5fhistogram_5fadd',['gpr_histogram_add',['../histogram_8h.html#a63815a52b0236626a30480915ff51847',1,'gpr_histogram_add(gpr_histogram *h, double x): histogram.c'],['../histogram_8c.html#a63815a52b0236626a30480915ff51847',1,'gpr_histogram_add(gpr_histogram *h, double x): histogram.c']]], + ['gpr_5fhistogram_5fcount',['gpr_histogram_count',['../histogram_8h.html#a242b0541ee25271812d867d8f2734255',1,'gpr_histogram_count(gpr_histogram *histogram): histogram.c'],['../histogram_8c.html#a9789e9d2bfe80302771cb7037ff67109',1,'gpr_histogram_count(gpr_histogram *h): histogram.c']]], + ['gpr_5fhistogram_5fcreate',['gpr_histogram_create',['../histogram_8h.html#a5da9d3dac4262c5ae1e974a649edbd5c',1,'gpr_histogram_create(double resolution, double max_bucket_start): histogram.c'],['../histogram_8c.html#a5da9d3dac4262c5ae1e974a649edbd5c',1,'gpr_histogram_create(double resolution, double max_bucket_start): histogram.c']]], + ['gpr_5fhistogram_5fdestroy',['gpr_histogram_destroy',['../histogram_8h.html#a7411a760aa075c1c27eeb9249d951c6c',1,'gpr_histogram_destroy(gpr_histogram *h): histogram.c'],['../histogram_8c.html#a7411a760aa075c1c27eeb9249d951c6c',1,'gpr_histogram_destroy(gpr_histogram *h): histogram.c']]], + ['gpr_5fhistogram_5fget_5fcontents',['gpr_histogram_get_contents',['../histogram_8h.html#aa7807dc3f06172d1513498761c3ad8c4',1,'gpr_histogram_get_contents(gpr_histogram *histogram, size_t *count): histogram.c'],['../histogram_8c.html#adcd82f9ac3a24d76fa43d6ee38cd03d9',1,'gpr_histogram_get_contents(gpr_histogram *h, size_t *size): histogram.c']]], + ['gpr_5fhistogram_5fmaximum',['gpr_histogram_maximum',['../histogram_8h.html#a71e5aa88087c8595c7f5d01750f919cb',1,'gpr_histogram_maximum(gpr_histogram *histogram): histogram.c'],['../histogram_8c.html#aede32c052f8cfb6c645773dc02abb269',1,'gpr_histogram_maximum(gpr_histogram *h): histogram.c']]], + ['gpr_5fhistogram_5fmean',['gpr_histogram_mean',['../histogram_8h.html#a14d68ff71978bda93a07d019d993d83c',1,'gpr_histogram_mean(gpr_histogram *histogram): histogram.c'],['../histogram_8c.html#a5fe371014a644b04cb7a3cc10d0c4d54',1,'gpr_histogram_mean(gpr_histogram *h): histogram.c']]], + ['gpr_5fhistogram_5fmerge',['gpr_histogram_merge',['../histogram_8h.html#a41caac8747588e75cf5fed974fcd90f2',1,'gpr_histogram_merge(gpr_histogram *dst, gpr_histogram *src): histogram.c'],['../histogram_8c.html#a41caac8747588e75cf5fed974fcd90f2',1,'gpr_histogram_merge(gpr_histogram *dst, gpr_histogram *src): histogram.c']]], + ['gpr_5fhistogram_5fmerge_5fcontents',['gpr_histogram_merge_contents',['../histogram_8h.html#aa1acf09b75809398b4e45729e6a3ba30',1,'gpr_histogram_merge_contents(gpr_histogram *histogram, const gpr_uint32 *data, size_t data_count, double min_seen, double max_seen, double sum, double sum_of_squares, double count): histogram.c'],['../histogram_8c.html#a4092227c6ba42490fd0311f5f8223e73',1,'gpr_histogram_merge_contents(gpr_histogram *dst, const gpr_uint32 *data, size_t data_count, double min_seen, double max_seen, double sum, double sum_of_squares, double count): histogram.c']]], + ['gpr_5fhistogram_5fminimum',['gpr_histogram_minimum',['../histogram_8h.html#ab89af54f76a690d82d1f065ceeda6a76',1,'gpr_histogram_minimum(gpr_histogram *histogram): histogram.c'],['../histogram_8c.html#a02493e2e022e463dcaf0738cc2f57e9e',1,'gpr_histogram_minimum(gpr_histogram *h): histogram.c']]], + ['gpr_5fhistogram_5fpercentile',['gpr_histogram_percentile',['../histogram_8h.html#a1a0a1b854c2af4d29175872fe5bb4431',1,'gpr_histogram_percentile(gpr_histogram *histogram, double percentile): histogram.c'],['../histogram_8c.html#a29c6f43aed5d521d17bf7677b2fbee39',1,'gpr_histogram_percentile(gpr_histogram *h, double percentile): histogram.c']]], + ['gpr_5fhistogram_5fstddev',['gpr_histogram_stddev',['../histogram_8h.html#a0979c6470e9192e5f83bcab01542dd91',1,'gpr_histogram_stddev(gpr_histogram *histogram): histogram.c'],['../histogram_8c.html#a36846d8c0ae93fa49fb4a1d07d8a2872',1,'gpr_histogram_stddev(gpr_histogram *h): histogram.c']]], + ['gpr_5fhistogram_5fsum',['gpr_histogram_sum',['../histogram_8h.html#a0332c47f841d8b0607e3327d8bc9a933',1,'gpr_histogram_sum(gpr_histogram *histogram): histogram.c'],['../histogram_8c.html#a6f5945872847d0d3e460181bb11c8414',1,'gpr_histogram_sum(gpr_histogram *h): histogram.c']]], + ['gpr_5fhistogram_5fsum_5fof_5fsquares',['gpr_histogram_sum_of_squares',['../histogram_8h.html#a5788652eb5350afcc534f563fd0265d3',1,'gpr_histogram_sum_of_squares(gpr_histogram *histogram): histogram.c'],['../histogram_8c.html#a651cd46647b768e4c7ffceb20d4ac523',1,'gpr_histogram_sum_of_squares(gpr_histogram *h): histogram.c']]], + ['gpr_5fhistogram_5fvariance',['gpr_histogram_variance',['../histogram_8h.html#a4ef00ceaa619ca09da4de17fc5a5769b',1,'gpr_histogram_variance(gpr_histogram *histogram): histogram.c'],['../histogram_8c.html#a36df07c41d7d9e92e2b7cfce5cba2083',1,'gpr_histogram_variance(gpr_histogram *h): histogram.c']]], + ['gpr_5finf_5ffuture',['gpr_inf_future',['../time_8h.html#a9324a2b33d5d7686fb14714c59ff026d',1,'gpr_inf_future(gpr_clock_type type): time.c'],['../time_8c.html#a9324a2b33d5d7686fb14714c59ff026d',1,'gpr_inf_future(gpr_clock_type type): time.c']]], + ['gpr_5finf_5fpast',['gpr_inf_past',['../time_8h.html#abd2eba8066648fe0d94146d8310b4283',1,'gpr_inf_past(gpr_clock_type type): time.c'],['../time_8c.html#abd2eba8066648fe0d94146d8310b4283',1,'gpr_inf_past(gpr_clock_type type): time.c']]], + ['gpr_5finfo',['GPR_INFO',['../log_8h.html#af0d0d75690f79edc9294498c88f96703',1,'log.h']]], + ['gpr_5fint16',['gpr_int16',['../port__platform_8h.html#a6c41ac43b02ec37b1e07967a8706e709',1,'port_platform.h']]], + ['gpr_5fint32',['gpr_int32',['../port__platform_8h.html#a7c9027ffa98b5efe1767efe79903c6b7',1,'port_platform.h']]], + ['gpr_5fint64',['gpr_int64',['../port__platform_8h.html#a71edab4bc3421f129764e5cb342f7181',1,'port_platform.h']]], + ['gpr_5fint64_5fmax',['GPR_INT64_MAX',['../port__platform_8h.html#aaff7a6a2f0868f8b0648b74828ef0e4f',1,'port_platform.h']]], + ['gpr_5finternal_5fhexdigit_5fbitcount',['GPR_INTERNAL_HEXDIGIT_BITCOUNT',['../useful_8h.html#a601e1be692fe7922b52991a5d410b945',1,'useful.h']]], + ['gpr_5fintmax',['gpr_intmax',['../port__platform_8h.html#a3ecb17ae580dbde63199ac206a732139',1,'port_platform.h']]], + ['gpr_5fintptr',['gpr_intptr',['../port__platform_8h.html#a72d9d0d00bd576cfc8eab61aaea76db2',1,'port_platform.h']]], + ['gpr_5fjoin_5fhost_5fport',['gpr_join_host_port',['../host__port_8h.html#a75d6ea0faeed039dc132873afce91508',1,'gpr_join_host_port(char **out, const char *host, int port): host_port.c'],['../host__port_8c.html#a75d6ea0faeed039dc132873afce91508',1,'gpr_join_host_port(char **out, const char *host, int port): host_port.c']]], + ['gpr_5fload_5ffile',['gpr_load_file',['../file_8h.html#aaad6ffe6949461096a99c7d2e8890c59',1,'gpr_load_file(const char *filename, int add_null_terminator, int *success): file.c'],['../file_8c.html#aaad6ffe6949461096a99c7d2e8890c59',1,'gpr_load_file(const char *filename, int add_null_terminator, int *success): file.c']]], + ['gpr_5flog',['gpr_log',['../log_8h.html#acf6f383ed91d9f4e2e6bd79c57539fd1',1,'log.h']]], + ['gpr_5flog_5ffunc',['gpr_log_func',['../log_8h.html#a23f29195676c33c61ff08a7f0a3e69b0',1,'log.h']]], + ['gpr_5flog_5ffunc_5fargs',['gpr_log_func_args',['../structgpr__log__func__args.html',1,'']]], + ['gpr_5flog_5fmessage',['gpr_log_message',['../log_8h.html#a7a3d59528754f8fbcfe54f6f8a72ec61',1,'gpr_log_message(const char *file, int line, gpr_log_severity severity, const char *message): log.c'],['../log_8c.html#a7a3d59528754f8fbcfe54f6f8a72ec61',1,'gpr_log_message(const char *file, int line, gpr_log_severity severity, const char *message): log.c']]], + ['gpr_5flog_5fseverity',['gpr_log_severity',['../log_8h.html#af10334b4085ac6985a2af9c08478ad48',1,'gpr_log_severity(): log.h'],['../log_8h.html#ad49303346a78cf4881129958214fde8d',1,'gpr_log_severity(): log.h']]], + ['gpr_5flog_5fseverity_5fdebug',['GPR_LOG_SEVERITY_DEBUG',['../log_8h.html#af10334b4085ac6985a2af9c08478ad48af7d2a0ad91b0787398220ddcd91f06d6',1,'log.h']]], + ['gpr_5flog_5fseverity_5ferror',['GPR_LOG_SEVERITY_ERROR',['../log_8h.html#af10334b4085ac6985a2af9c08478ad48a52b957eb23ac2207b5e1dcf15c2b3dd4',1,'log.h']]], + ['gpr_5flog_5fseverity_5finfo',['GPR_LOG_SEVERITY_INFO',['../log_8h.html#af10334b4085ac6985a2af9c08478ad48af6c13c67f06821c1629b7e019af4aaf1',1,'log.h']]], + ['gpr_5flog_5fseverity_5fstring',['gpr_log_severity_string',['../log_8h.html#a3badccbc5ec4c725eadbc07b8e5706eb',1,'gpr_log_severity_string(gpr_log_severity severity): log.c'],['../log_8c.html#a3badccbc5ec4c725eadbc07b8e5706eb',1,'gpr_log_severity_string(gpr_log_severity severity): log.c']]], + ['gpr_5fltoa',['gpr_ltoa',['../string_8h.html#abb9a8e65c26e1f49bc9247bd8a90aa24',1,'gpr_ltoa(long value, char *output): string.c'],['../string_8c.html#aa6aa8a10c07a02550542c920a6b1f5f6',1,'gpr_ltoa(long value, char *string): string.c']]], + ['gpr_5fltoa_5fmin_5fbufsize',['GPR_LTOA_MIN_BUFSIZE',['../string_8h.html#a21406aaed4e32e895145541eabbad527',1,'string.h']]], + ['gpr_5fmalloc',['gpr_malloc',['../alloc_8h.html#af5896bb446b6179f35651730357149bb',1,'gpr_malloc(size_t size): alloc.c'],['../alloc_8c.html#af5896bb446b6179f35651730357149bb',1,'gpr_malloc(size_t size): alloc.c']]], + ['gpr_5fmalloc_5faligned',['gpr_malloc_aligned',['../alloc_8h.html#a73551a6249ae9b0a73ad75733c67ead4',1,'gpr_malloc_aligned(size_t size, size_t alignment_log): alloc.c'],['../alloc_8c.html#a73551a6249ae9b0a73ad75733c67ead4',1,'gpr_malloc_aligned(size_t size, size_t alignment_log): alloc.c']]], + ['gpr_5fmax',['GPR_MAX',['../useful_8h.html#af50c518bb1183da84adb7d8a86cd568a',1,'useful.h']]], + ['gpr_5fmax_5falignment',['GPR_MAX_ALIGNMENT',['../port__platform_8h.html#a53c934fa255faf3f8c4f028df105c8e2',1,'port_platform.h']]], + ['gpr_5fmin',['GPR_MIN',['../useful_8h.html#a298322c952526928cf8dbc7aaba7b84d',1,'useful.h']]], + ['gpr_5fms_5fper_5fsec',['GPR_MS_PER_SEC',['../time_8h.html#af2c8091db4e2a3133b93131f64db859e',1,'time.h']]], + ['gpr_5fmsvc_5fthread_5flocal',['gpr_msvc_thread_local',['../structgpr__msvc__thread__local.html',1,'']]], + ['gpr_5fmu',['gpr_mu',['../structgpr__mu.html',1,'gpr_mu'],['../sync__posix_8h.html#aa66fb6a11304ef6759d76f84a34ee28f',1,'gpr_mu(): sync_posix.h']]], + ['gpr_5fmu_5fdestroy',['gpr_mu_destroy',['../sync_8h.html#a52ae2524c7dade8cecb9f01ff4792c9e',1,'sync.h']]], + ['gpr_5fmu_5finit',['gpr_mu_init',['../sync_8h.html#a16694f755266c254390b041a0f069094',1,'sync.h']]], + ['gpr_5fmu_5flock',['gpr_mu_lock',['../sync_8h.html#a44b385455d169e6c84659adb222c1d42',1,'sync.h']]], + ['gpr_5fmu_5ftrylock',['gpr_mu_trylock',['../sync_8h.html#a65a42bb7ca9072b0e7b581d715a8e777',1,'sync.h']]], + ['gpr_5fmu_5funlock',['gpr_mu_unlock',['../sync_8h.html#a91370fd0eb76bc1323c80815ad6e9cff',1,'sync.h']]], + ['gpr_5fmurmur_5fhash3',['gpr_murmur_hash3',['../murmur__hash_8h.html#afd4a38ba55dc020a76c1ec09a4f626d0',1,'gpr_murmur_hash3(const void *key, size_t len, gpr_uint32 seed): murmur_hash.c'],['../murmur__hash_8c.html#afd4a38ba55dc020a76c1ec09a4f626d0',1,'gpr_murmur_hash3(const void *key, size_t len, gpr_uint32 seed): murmur_hash.c']]], + ['gpr_5fnow',['gpr_now',['../time_8h.html#adf5debcac2bc854e733ca2dec2a1ff19',1,'time.h']]], + ['gpr_5fns_5fper_5fms',['GPR_NS_PER_MS',['../time_8h.html#a3c63ee76f91a122abf3a0806b64318eb',1,'time.h']]], + ['gpr_5fns_5fper_5fsec',['GPR_NS_PER_SEC',['../time_8h.html#a447d0913b0cfdc943df51585f0e2785e',1,'time.h']]], + ['gpr_5fns_5fper_5fus',['GPR_NS_PER_US',['../time_8h.html#adc295bf07c72edae8a2ad49e24da2f32',1,'time.h']]], + ['gpr_5fonce',['gpr_once',['../sync__posix_8h.html#a28731dc17a4158343f58f453a4d5e37f',1,'gpr_once(): sync_posix.h'],['../sync__win32_8h.html#a6a752a459fe345c616c26b5a556ccc13',1,'gpr_once(): sync_win32.h']]], + ['gpr_5fonce_5finit',['GPR_ONCE_INIT',['../sync__posix_8h.html#a8edd7eb4f6860a4f79defbad49c35666',1,'GPR_ONCE_INIT(): sync_posix.h'],['../sync__win32_8h.html#a8edd7eb4f6860a4f79defbad49c35666',1,'GPR_ONCE_INIT(): sync_win32.h'],['../sync_8h.html#ad5c88872723a129b09200b1892d2323f',1,'gpr_once_init(gpr_once *once, void(*init_routine)(void)): sync.h']]], + ['gpr_5fparse_5fbytes_5fto_5fuint32',['gpr_parse_bytes_to_uint32',['../string_8h.html#a753cd4bfe9add8476a2797904c4c68c7',1,'gpr_parse_bytes_to_uint32(const char *data, size_t length, gpr_uint32 *result): string.c'],['../string_8c.html#ad68355bffdcb8c7f69fc908e60ab9da6',1,'gpr_parse_bytes_to_uint32(const char *buf, size_t len, gpr_uint32 *result): string.c']]], + ['gpr_5fplatform_5fstring',['GPR_PLATFORM_STRING',['../port__platform_8h.html#a99f34e9b119908109486e91abedc933e',1,'port_platform.h']]], + ['gpr_5fpthread_5fthread_5flocal',['gpr_pthread_thread_local',['../structgpr__pthread__thread__local.html',1,'']]], + ['gpr_5frealloc',['gpr_realloc',['../alloc_8h.html#a25d9a067b093e9c76dbbd77995b1bc91',1,'gpr_realloc(void *p, size_t size): alloc.c'],['../alloc_8c.html#a25d9a067b093e9c76dbbd77995b1bc91',1,'gpr_realloc(void *p, size_t size): alloc.c']]], + ['gpr_5fref',['gpr_ref',['../sync_8h.html#ac0e52c6bfc7a04ba8a269f3227104571',1,'gpr_ref(gpr_refcount *r): sync.c'],['../sync_8c.html#ac0e52c6bfc7a04ba8a269f3227104571',1,'gpr_ref(gpr_refcount *r): sync.c']]], + ['gpr_5fref_5finit',['gpr_ref_init',['../sync_8h.html#a235584f36572b5410b042ee63cb0740b',1,'gpr_ref_init(gpr_refcount *r, int n): sync.c'],['../sync_8c.html#a235584f36572b5410b042ee63cb0740b',1,'gpr_ref_init(gpr_refcount *r, int n): sync.c']]], + ['gpr_5frefcount',['gpr_refcount',['../structgpr__refcount.html',1,'']]], + ['gpr_5frefn',['gpr_refn',['../sync_8h.html#a516e26b66b1aa53fba8f5f52b249cb25',1,'gpr_refn(gpr_refcount *r, int n): sync.c'],['../sync_8c.html#a516e26b66b1aa53fba8f5f52b249cb25',1,'gpr_refn(gpr_refcount *r, int n): sync.c']]], + ['gpr_5freverse_5fbytes',['gpr_reverse_bytes',['../string_8h.html#ac61f7fa80be757db2d5457e3fe21ffe9',1,'gpr_reverse_bytes(char *str, int len): string.c'],['../string_8c.html#ac61f7fa80be757db2d5457e3fe21ffe9',1,'gpr_reverse_bytes(char *str, int len): string.c']]], + ['gpr_5frotl',['GPR_ROTL',['../useful_8h.html#a6f7a8aba8e044f6b20fc8a7560f28f85',1,'useful.h']]], + ['gpr_5frotr',['GPR_ROTR',['../useful_8h.html#a5ff4b278972e799dc134963a0249f316',1,'useful.h']]], + ['gpr_5fset_5flog_5ffunction',['gpr_set_log_function',['../log_8h.html#a75771a41e3bb2831df8043a57de05330',1,'gpr_set_log_function(gpr_log_func func): log.c'],['../log_8c.html#a4a4590f04f5e003b740b7688014b7be5',1,'gpr_set_log_function(gpr_log_func f): log.c']]], + ['gpr_5fsetenv',['gpr_setenv',['../env_8h.html#ab20b9f1c8dc1f142a17eaa4e18f37fa3',1,'env.h']]], + ['gpr_5fsleep_5funtil',['gpr_sleep_until',['../time_8h.html#ad037af8b7288a3f2e5ce46d3e3ca50d7',1,'time.h']]], + ['gpr_5fslice',['gpr_slice',['../structgpr__slice.html',1,'gpr_slice'],['../slice_8h.html#a91fe16db371db7c53d6e3adc90a6678c',1,'gpr_slice(): slice.h']]], + ['gpr_5fslice_5fbuffer',['gpr_slice_buffer',['../structgpr__slice__buffer.html',1,'']]], + ['gpr_5fslice_5fbuffer_5fadd',['gpr_slice_buffer_add',['../slice__buffer_8h.html#a8fd6443c77c7602be19b9152355a8e12',1,'gpr_slice_buffer_add(gpr_slice_buffer *sb, gpr_slice slice): slice_buffer.c'],['../slice__buffer_8c.html#ae202c0235646241cf95ffbb2479bada9',1,'gpr_slice_buffer_add(gpr_slice_buffer *sb, gpr_slice s): slice_buffer.c']]], + ['gpr_5fslice_5fbuffer_5fadd_5findexed',['gpr_slice_buffer_add_indexed',['../slice__buffer_8h.html#acd745eec745573eeace3861da3e2c045',1,'gpr_slice_buffer_add_indexed(gpr_slice_buffer *sb, gpr_slice slice): slice_buffer.c'],['../slice__buffer_8c.html#a31bc820cee4aae1904d67a9d81fd83b3',1,'gpr_slice_buffer_add_indexed(gpr_slice_buffer *sb, gpr_slice s): slice_buffer.c']]], + ['gpr_5fslice_5fbuffer_5faddn',['gpr_slice_buffer_addn',['../slice__buffer_8h.html#a615be732e655de9980c321eb075e4a46',1,'gpr_slice_buffer_addn(gpr_slice_buffer *sb, gpr_slice *slices, size_t n): slice_buffer.c'],['../slice__buffer_8c.html#af58c3edcfaf90b364e3977e3bb423e3f',1,'gpr_slice_buffer_addn(gpr_slice_buffer *sb, gpr_slice *s, size_t n): slice_buffer.c']]], + ['gpr_5fslice_5fbuffer_5fdestroy',['gpr_slice_buffer_destroy',['../slice__buffer_8h.html#a60c8b437918c3a81651b5f9a892f6399',1,'gpr_slice_buffer_destroy(gpr_slice_buffer *sb): slice_buffer.c'],['../slice__buffer_8c.html#a60c8b437918c3a81651b5f9a892f6399',1,'gpr_slice_buffer_destroy(gpr_slice_buffer *sb): slice_buffer.c']]], + ['gpr_5fslice_5fbuffer_5finit',['gpr_slice_buffer_init',['../slice__buffer_8h.html#aab5ed508480703c7b856e92ef6d7e4c8',1,'gpr_slice_buffer_init(gpr_slice_buffer *sb): slice_buffer.c'],['../slice__buffer_8c.html#aab5ed508480703c7b856e92ef6d7e4c8',1,'gpr_slice_buffer_init(gpr_slice_buffer *sb): slice_buffer.c']]], + ['gpr_5fslice_5fbuffer_5fmove_5finto',['gpr_slice_buffer_move_into',['../slice__buffer_8h.html#a0289912040151750bbee19ba632a88f1',1,'gpr_slice_buffer_move_into(gpr_slice_buffer *src, gpr_slice_buffer *dst): slice_buffer.c'],['../slice__buffer_8c.html#a0289912040151750bbee19ba632a88f1',1,'gpr_slice_buffer_move_into(gpr_slice_buffer *src, gpr_slice_buffer *dst): slice_buffer.c']]], + ['gpr_5fslice_5fbuffer_5fpop',['gpr_slice_buffer_pop',['../slice__buffer_8h.html#ae3bd1bc560aad5b69a6ef0b09286cc79',1,'gpr_slice_buffer_pop(gpr_slice_buffer *sb): slice_buffer.c'],['../slice__buffer_8c.html#ae3bd1bc560aad5b69a6ef0b09286cc79',1,'gpr_slice_buffer_pop(gpr_slice_buffer *sb): slice_buffer.c']]], + ['gpr_5fslice_5fbuffer_5freset_5fand_5funref',['gpr_slice_buffer_reset_and_unref',['../slice__buffer_8h.html#aa2819a201e9dcf62e31a6dbfc6fe3010',1,'gpr_slice_buffer_reset_and_unref(gpr_slice_buffer *sb): slice_buffer.c'],['../slice__buffer_8c.html#aa2819a201e9dcf62e31a6dbfc6fe3010',1,'gpr_slice_buffer_reset_and_unref(gpr_slice_buffer *sb): slice_buffer.c']]], + ['gpr_5fslice_5fbuffer_5fswap',['gpr_slice_buffer_swap',['../slice__buffer_8h.html#a672b80e16cdabf26c7b558a54edfcd2d',1,'gpr_slice_buffer_swap(gpr_slice_buffer *a, gpr_slice_buffer *b): slice_buffer.c'],['../slice__buffer_8c.html#a672b80e16cdabf26c7b558a54edfcd2d',1,'gpr_slice_buffer_swap(gpr_slice_buffer *a, gpr_slice_buffer *b): slice_buffer.c']]], + ['gpr_5fslice_5fbuffer_5ftiny_5fadd',['gpr_slice_buffer_tiny_add',['../slice__buffer_8h.html#a223fc0bf1beb3866aee902dea0a599c0',1,'gpr_slice_buffer_tiny_add(gpr_slice_buffer *sb, unsigned len): slice_buffer.c'],['../slice__buffer_8c.html#ae5498f14d7b008d134a3ad32935df4ac',1,'gpr_slice_buffer_tiny_add(gpr_slice_buffer *sb, unsigned n): slice_buffer.c']]], + ['gpr_5fslice_5fcmp',['gpr_slice_cmp',['../slice_8h.html#add3c8736c46bea7517991f178c82ba3c',1,'gpr_slice_cmp(gpr_slice a, gpr_slice b): slice.c'],['../slice_8c.html#add3c8736c46bea7517991f178c82ba3c',1,'gpr_slice_cmp(gpr_slice a, gpr_slice b): slice.c']]], + ['gpr_5fslice_5fend_5fptr',['GPR_SLICE_END_PTR',['../slice_8h.html#a9b7e9acd0eb92039a9bc897712a62a14',1,'slice.h']]], + ['gpr_5fslice_5ffrom_5fcopied_5fbuffer',['gpr_slice_from_copied_buffer',['../slice_8h.html#a83e8110a7a98132963f01eb9c7f7418e',1,'gpr_slice_from_copied_buffer(const char *source, size_t len): slice.c'],['../slice_8c.html#a54af06d0bea05fa416a85402e3f0d3b4',1,'gpr_slice_from_copied_buffer(const char *source, size_t length): slice.c']]], + ['gpr_5fslice_5ffrom_5fcopied_5fstring',['gpr_slice_from_copied_string',['../slice_8h.html#adf4df32e55b1b09d3f11c39447dcc68b',1,'gpr_slice_from_copied_string(const char *source): slice.c'],['../slice_8c.html#adf4df32e55b1b09d3f11c39447dcc68b',1,'gpr_slice_from_copied_string(const char *source): slice.c']]], + ['gpr_5fslice_5finlined_5fsize',['GPR_SLICE_INLINED_SIZE',['../slice_8h.html#a4063c3d8d4820472a4cf2655dd662a31',1,'slice.h']]], + ['gpr_5fslice_5fis_5fempty',['GPR_SLICE_IS_EMPTY',['../slice_8h.html#ad4fe3efa7a8938045ce79271d79f79ef',1,'slice.h']]], + ['gpr_5fslice_5flength',['GPR_SLICE_LENGTH',['../slice_8h.html#ae97c2f992c1ebccaf44ceeee1f9fdabb',1,'slice.h']]], + ['gpr_5fslice_5fmalloc',['gpr_slice_malloc',['../slice_8h.html#ab57463740ccedc00b50721dce66ebd7b',1,'gpr_slice_malloc(size_t length): slice.c'],['../slice_8c.html#ab57463740ccedc00b50721dce66ebd7b',1,'gpr_slice_malloc(size_t length): slice.c']]], + ['gpr_5fslice_5fnew',['gpr_slice_new',['../slice_8h.html#aea43587a11bfe2e06fb8532035229bb2',1,'gpr_slice_new(void *p, size_t len, void(*destroy)(void *)): slice.c'],['../slice_8c.html#aea43587a11bfe2e06fb8532035229bb2',1,'gpr_slice_new(void *p, size_t len, void(*destroy)(void *)): slice.c']]], + ['gpr_5fslice_5fnew_5fwith_5flen',['gpr_slice_new_with_len',['../slice_8h.html#affd1fef2ffaca67e0b2e7b60923da812',1,'gpr_slice_new_with_len(void *p, size_t len, void(*destroy)(void *, size_t)): slice.c'],['../slice_8c.html#affd1fef2ffaca67e0b2e7b60923da812',1,'gpr_slice_new_with_len(void *p, size_t len, void(*destroy)(void *, size_t)): slice.c']]], + ['gpr_5fslice_5fref',['gpr_slice_ref',['../slice_8h.html#ad28a2bcca348046cbe660a44180e75ca',1,'gpr_slice_ref(gpr_slice s): slice.c'],['../slice_8c.html#aa439f1ee94ab61e6ff17647940d29582',1,'gpr_slice_ref(gpr_slice slice): slice.c']]], + ['gpr_5fslice_5frefcount',['gpr_slice_refcount',['../structgpr__slice__refcount.html',1,'gpr_slice_refcount'],['../slice_8h.html#af8841873e741f6cf38b2192147ea4f3e',1,'gpr_slice_refcount(): slice.h']]], + ['gpr_5fslice_5fset_5flength',['GPR_SLICE_SET_LENGTH',['../slice_8h.html#a1f5333a1260aef2efe086d4e2188e613',1,'slice.h']]], + ['gpr_5fslice_5fsplit',['gpr_slice_split',['../string_8h.html#a3e64cb8d6ffd4e240302a2a8a66bb4c3',1,'gpr_slice_split(gpr_slice str, const char *sep, gpr_slice_buffer *dst): string.c'],['../string_8c.html#a3e64cb8d6ffd4e240302a2a8a66bb4c3',1,'gpr_slice_split(gpr_slice str, const char *sep, gpr_slice_buffer *dst): string.c']]], + ['gpr_5fslice_5fsplit_5fhead',['gpr_slice_split_head',['../slice_8h.html#a842ea6b4a9ab4d0d3becd6fda03bbc24',1,'gpr_slice_split_head(gpr_slice *s, size_t split): slice.c'],['../slice_8c.html#a15ea61593682d41ef435b9f7fa44a604',1,'gpr_slice_split_head(gpr_slice *source, size_t split): slice.c']]], + ['gpr_5fslice_5fsplit_5ftail',['gpr_slice_split_tail',['../slice_8h.html#a51315f2a9217a1d42711f48bfec9d39e',1,'gpr_slice_split_tail(gpr_slice *s, size_t split): slice.c'],['../slice_8c.html#af592ef63bc65829371d4dacaa4f5eef1',1,'gpr_slice_split_tail(gpr_slice *source, size_t split): slice.c']]], + ['gpr_5fslice_5fstart_5fptr',['GPR_SLICE_START_PTR',['../slice_8h.html#ab8258afc3398c1426974b0b48dbf5a15',1,'slice.h']]], + ['gpr_5fslice_5fstr_5fcmp',['gpr_slice_str_cmp',['../slice_8h.html#aef752203db50c932010a74c6845872c2',1,'gpr_slice_str_cmp(gpr_slice a, const char *b): slice.c'],['../slice_8c.html#aef752203db50c932010a74c6845872c2',1,'gpr_slice_str_cmp(gpr_slice a, const char *b): slice.c']]], + ['gpr_5fslice_5fsub',['gpr_slice_sub',['../slice_8h.html#ac9d4e6e264e22c6c6d3748f522da91eb',1,'gpr_slice_sub(gpr_slice s, size_t begin, size_t end): slice.c'],['../slice_8c.html#a60d9c7c62fdbbd7d4be1ff0f8d357032',1,'gpr_slice_sub(gpr_slice source, size_t begin, size_t end): slice.c']]], + ['gpr_5fslice_5fsub_5fno_5fref',['gpr_slice_sub_no_ref',['../slice_8h.html#accf08ddad530a5f1cca82c834dc70965',1,'gpr_slice_sub_no_ref(gpr_slice s, size_t begin, size_t end): slice.c'],['../slice_8c.html#a03f66bb8343910499215c75f6ad69be4',1,'gpr_slice_sub_no_ref(gpr_slice source, size_t begin, size_t end): slice.c']]], + ['gpr_5fslice_5fto_5fcstring',['gpr_slice_to_cstring',['../slice_8c.html#a2e5f30a9a0750b8d38100dbfe647438e',1,'slice.c']]], + ['gpr_5fslice_5funref',['gpr_slice_unref',['../slice_8h.html#a024429b0dd15e43a09e48e35ca8810d7',1,'gpr_slice_unref(gpr_slice s): slice.c'],['../slice_8c.html#aaa595344a06d9a17f64f2774a42fe160',1,'gpr_slice_unref(gpr_slice slice): slice.c']]], + ['gpr_5fsplit_5fhost_5fport',['gpr_split_host_port',['../host__port_8h.html#aacb0efdff2bb1b15d5e7edeb62ae4aea',1,'gpr_split_host_port(const char *name, char **host, char **port): host_port.c'],['../host__port_8c.html#aacb0efdff2bb1b15d5e7edeb62ae4aea',1,'gpr_split_host_port(const char *name, char **host, char **port): host_port.c']]], + ['gpr_5fstack_5flockfree',['gpr_stack_lockfree',['../structgpr__stack__lockfree.html',1,'gpr_stack_lockfree'],['../stack__lockfree_8h.html#a66ea3d52c0bac00af25057468bbd8465',1,'gpr_stack_lockfree(): stack_lockfree.h']]], + ['gpr_5fstack_5flockfree_5fcreate',['gpr_stack_lockfree_create',['../stack__lockfree_8h.html#a281add9a8c1bdc0a6715cc168c6f41a9',1,'gpr_stack_lockfree_create(int entries): stack_lockfree.c'],['../stack__lockfree_8c.html#a281add9a8c1bdc0a6715cc168c6f41a9',1,'gpr_stack_lockfree_create(int entries): stack_lockfree.c']]], + ['gpr_5fstack_5flockfree_5fdestroy',['gpr_stack_lockfree_destroy',['../stack__lockfree_8h.html#a0d082653d002f9849d89f1ac93f21554',1,'gpr_stack_lockfree_destroy(gpr_stack_lockfree *stack): stack_lockfree.c'],['../stack__lockfree_8c.html#a0d082653d002f9849d89f1ac93f21554',1,'gpr_stack_lockfree_destroy(gpr_stack_lockfree *stack): stack_lockfree.c']]], + ['gpr_5fstack_5flockfree_5fpop',['gpr_stack_lockfree_pop',['../stack__lockfree_8h.html#ae2548d065e76c3ece34984e43c599d14',1,'gpr_stack_lockfree_pop(gpr_stack_lockfree *stack): stack_lockfree.c'],['../stack__lockfree_8c.html#ae2548d065e76c3ece34984e43c599d14',1,'gpr_stack_lockfree_pop(gpr_stack_lockfree *stack): stack_lockfree.c']]], + ['gpr_5fstack_5flockfree_5fpush',['gpr_stack_lockfree_push',['../stack__lockfree_8h.html#a82627359dd8da1d1015ee7aa70eab6aa',1,'gpr_stack_lockfree_push(gpr_stack_lockfree *, int entry): stack_lockfree.c'],['../stack__lockfree_8c.html#a0c2fa41e3046d10a9e98416f4d809933',1,'gpr_stack_lockfree_push(gpr_stack_lockfree *stack, int entry): stack_lockfree.c']]], + ['gpr_5fstats_5fcounter',['gpr_stats_counter',['../structgpr__stats__counter.html',1,'']]], + ['gpr_5fstats_5finc',['gpr_stats_inc',['../sync_8h.html#a8e51ec3b46c7c03602e2279a802daa1c',1,'gpr_stats_inc(gpr_stats_counter *c, gpr_intptr inc): sync.c'],['../sync_8c.html#a8e51ec3b46c7c03602e2279a802daa1c',1,'gpr_stats_inc(gpr_stats_counter *c, gpr_intptr inc): sync.c']]], + ['gpr_5fstats_5finit',['GPR_STATS_INIT',['../sync__generic_8h.html#ada230498c8e2aca51e9349709e70e1ef',1,'GPR_STATS_INIT(): sync_generic.h'],['../sync_8h.html#a76b8e5de6e1baa4fd66c014417dc0a30',1,'gpr_stats_init(gpr_stats_counter *c, gpr_intptr n): sync.c'],['../sync_8c.html#a76b8e5de6e1baa4fd66c014417dc0a30',1,'gpr_stats_init(gpr_stats_counter *c, gpr_intptr n): sync.c']]], + ['gpr_5fstats_5fread',['gpr_stats_read',['../sync_8h.html#abb2c58da7d0b785887266b3b1890764d',1,'gpr_stats_read(const gpr_stats_counter *c): sync.c'],['../sync_8c.html#abb2c58da7d0b785887266b3b1890764d',1,'gpr_stats_read(const gpr_stats_counter *c): sync.c']]], + ['gpr_5fstrdup',['gpr_strdup',['../string__util_8h.html#a7a021bce444344f0a96cb022038eed93',1,'gpr_strdup(const char *src): string.c'],['../string_8c.html#a7a021bce444344f0a96cb022038eed93',1,'gpr_strdup(const char *src): string.c']]], + ['gpr_5fstrjoin',['gpr_strjoin',['../string_8h.html#abf1d5b8181f43319a8d8c98950e69b4c',1,'gpr_strjoin(const char **strs, size_t nstrs, size_t *total_length): string.c'],['../string_8c.html#a5de29a3d1854cf2dfa54b501e2793e96',1,'gpr_strjoin(const char **strs, size_t nstrs, size_t *final_length): string.c']]], + ['gpr_5fstrjoin_5fsep',['gpr_strjoin_sep',['../string_8h.html#ac842445695baf5ff8e96a7bf12c6b176',1,'gpr_strjoin_sep(const char **strs, size_t nstrs, const char *sep, size_t *total_length): string.c'],['../string_8c.html#a5b9d1ee9cc94732b728b033649c2d00a',1,'gpr_strjoin_sep(const char **strs, size_t nstrs, const char *sep, size_t *final_length): string.c']]], + ['gpr_5fstrvec',['gpr_strvec',['../structgpr__strvec.html',1,'']]], + ['gpr_5fstrvec_5fadd',['gpr_strvec_add',['../string_8h.html#a4eaa61df749bed219a09e69837a69a50',1,'gpr_strvec_add(gpr_strvec *strs, char *add): string.c'],['../string_8c.html#a9d91f04f11bc82ed5a562e44878eafde',1,'gpr_strvec_add(gpr_strvec *sv, char *str): string.c']]], + ['gpr_5fstrvec_5fdestroy',['gpr_strvec_destroy',['../string_8h.html#af194bff1a43db7ed5be927264bce7f52',1,'gpr_strvec_destroy(gpr_strvec *strs): string.c'],['../string_8c.html#a0c7ab5a87b900005d826bdaa8e106b28',1,'gpr_strvec_destroy(gpr_strvec *sv): string.c']]], + ['gpr_5fstrvec_5fflatten',['gpr_strvec_flatten',['../string_8h.html#ac17f0ee05012c3256f5f1f77b5bec185',1,'gpr_strvec_flatten(gpr_strvec *strs, size_t *total_length): string.c'],['../string_8c.html#a0145a60ccd4d1e25389f8bad033f1ff5',1,'gpr_strvec_flatten(gpr_strvec *sv, size_t *final_length): string.c']]], + ['gpr_5fstrvec_5finit',['gpr_strvec_init',['../string_8h.html#a78cca9fe86b48cf442f80a666b73768f',1,'gpr_strvec_init(gpr_strvec *strs): string.c'],['../string_8c.html#a751f38e61272bd9626890fa54270b82f',1,'gpr_strvec_init(gpr_strvec *sv): string.c']]], + ['gpr_5fsubprocess',['gpr_subprocess',['../subprocess_8h.html#a1c3492c3aef738e6eef6b8cb1b435095',1,'subprocess.h']]], + ['gpr_5fsubprocess_5fbinary_5fextension',['gpr_subprocess_binary_extension',['../subprocess_8h.html#a6d393aed4f99f9ba49286715c5da8fd3',1,'subprocess.h']]], + ['gpr_5fsubprocess_5fcreate',['gpr_subprocess_create',['../subprocess_8h.html#a761755433d8809a68024b03176341242',1,'subprocess.h']]], + ['gpr_5fsubprocess_5fdestroy',['gpr_subprocess_destroy',['../subprocess_8h.html#a880657b78894ae66b9c5d7416ee7839b',1,'subprocess.h']]], + ['gpr_5fsubprocess_5finterrupt',['gpr_subprocess_interrupt',['../subprocess_8h.html#aee2ddbe0e8a58271a6a9a3cf451dd67d',1,'subprocess.h']]], + ['gpr_5fsubprocess_5fjoin',['gpr_subprocess_join',['../subprocess_8h.html#ac5c4e7eccc737f473dd73a1fb502f0d5',1,'subprocess.h']]], + ['gpr_5fswap',['GPR_SWAP',['../useful_8h.html#a9f884f8218a97ed9739e2dac467f0719',1,'useful.h']]], + ['gpr_5fthd_5fcurrentid',['gpr_thd_currentid',['../thd_8h.html#a8c875ae5410d10d658cfb7b917909624',1,'thd.h']]], + ['gpr_5fthd_5fid',['gpr_thd_id',['../thd_8h.html#a04194350e2fb18edc439ab0a9d355a72',1,'thd.h']]], + ['gpr_5fthd_5fjoin',['gpr_thd_join',['../thd_8h.html#a73509f851051b4d5f02ca1982d216776',1,'thd.h']]], + ['gpr_5fthd_5fjoinable',['GPR_THD_JOINABLE',['../thd_8c.html#a0944a4353780132eeab7b06e3e42291da228d343354c0f2bb16c0fb1f79e71dbc',1,'thd.c']]], + ['gpr_5fthd_5fnew',['gpr_thd_new',['../thd_8h.html#a9184cf0e025d8a9b098af6c08755b8ea',1,'thd.h']]], + ['gpr_5fthd_5foptions',['gpr_thd_options',['../structgpr__thd__options.html',1,'']]], + ['gpr_5fthd_5foptions_5fdefault',['gpr_thd_options_default',['../thd_8h.html#abf8bb34ba7d26ddab0696e24b1fcc862',1,'gpr_thd_options_default(void): thd.c'],['../thd_8c.html#abf8bb34ba7d26ddab0696e24b1fcc862',1,'gpr_thd_options_default(void): thd.c']]], + ['gpr_5fthd_5foptions_5fis_5fdetached',['gpr_thd_options_is_detached',['../thd_8h.html#a1647c2e991d269cdaf146dc33f61ce89',1,'gpr_thd_options_is_detached(const gpr_thd_options *options): thd.c'],['../thd_8c.html#a1647c2e991d269cdaf146dc33f61ce89',1,'gpr_thd_options_is_detached(const gpr_thd_options *options): thd.c']]], + ['gpr_5fthd_5foptions_5fis_5fjoinable',['gpr_thd_options_is_joinable',['../thd_8h.html#afb8d6ad4dcc8ebcdb6a786e8f4ef442b',1,'gpr_thd_options_is_joinable(const gpr_thd_options *options): thd.c'],['../thd_8c.html#afb8d6ad4dcc8ebcdb6a786e8f4ef442b',1,'gpr_thd_options_is_joinable(const gpr_thd_options *options): thd.c']]], + ['gpr_5fthd_5foptions_5fset_5fdetached',['gpr_thd_options_set_detached',['../thd_8h.html#a704882e5c65d29c817fae9173085e5ba',1,'gpr_thd_options_set_detached(gpr_thd_options *options): thd.c'],['../thd_8c.html#a704882e5c65d29c817fae9173085e5ba',1,'gpr_thd_options_set_detached(gpr_thd_options *options): thd.c']]], + ['gpr_5fthd_5foptions_5fset_5fjoinable',['gpr_thd_options_set_joinable',['../thd_8h.html#a87ad3ff4d439450ae1318151c1526745',1,'gpr_thd_options_set_joinable(gpr_thd_options *options): thd.c'],['../thd_8c.html#a87ad3ff4d439450ae1318151c1526745',1,'gpr_thd_options_set_joinable(gpr_thd_options *options): thd.c']]], + ['gpr_5ftime_5f0',['gpr_time_0',['../time_8h.html#a4f552f0628cc389dfbe3674a1a978108',1,'gpr_time_0(gpr_clock_type type): time.c'],['../time_8c.html#a4f552f0628cc389dfbe3674a1a978108',1,'gpr_time_0(gpr_clock_type type): time.c']]], + ['gpr_5ftime_5fadd',['gpr_time_add',['../time_8h.html#a6f2c6fbc9fef45d74670c446e2bad004',1,'gpr_time_add(gpr_timespec a, gpr_timespec b): time.c'],['../time_8c.html#a6f2c6fbc9fef45d74670c446e2bad004',1,'gpr_time_add(gpr_timespec a, gpr_timespec b): time.c']]], + ['gpr_5ftime_5fcmp',['gpr_time_cmp',['../time_8h.html#aeb10778e9b7c1dd7e6c47099d55f0fa0',1,'gpr_time_cmp(gpr_timespec a, gpr_timespec b): time.c'],['../time_8c.html#aeb10778e9b7c1dd7e6c47099d55f0fa0',1,'gpr_time_cmp(gpr_timespec a, gpr_timespec b): time.c']]], + ['gpr_5ftime_5ffrom_5fhours',['gpr_time_from_hours',['../time_8h.html#af7a9aca2af5348cbb8dc835853dc2756',1,'gpr_time_from_hours(long x, gpr_clock_type clock_type): time.c'],['../time_8c.html#ab8e7ff6a62bcd1fda7ea07ee67ffbacd',1,'gpr_time_from_hours(long h, gpr_clock_type type): time.c']]], + ['gpr_5ftime_5ffrom_5fmicros',['gpr_time_from_micros',['../time_8h.html#a79956c6fba5b660aeee24b09ae026d6c',1,'gpr_time_from_micros(long x, gpr_clock_type clock_type): time.c'],['../time_8c.html#a4c0445a26d72673e14ea4c403b69ee65',1,'gpr_time_from_micros(long us, gpr_clock_type type): time.c']]], + ['gpr_5ftime_5ffrom_5fmillis',['gpr_time_from_millis',['../time_8h.html#a491cdb7a2d2da81c337ed4c8c6a24946',1,'gpr_time_from_millis(long x, gpr_clock_type clock_type): time.c'],['../time_8c.html#a3b46878435c03a093b01f23b6a23631b',1,'gpr_time_from_millis(long ms, gpr_clock_type type): time.c']]], + ['gpr_5ftime_5ffrom_5fminutes',['gpr_time_from_minutes',['../time_8h.html#ad2ae89810eabe8c224b15a4ae0991eba',1,'gpr_time_from_minutes(long x, gpr_clock_type clock_type): time.c'],['../time_8c.html#afd411906dd4100d1a359177eaa8e6d5f',1,'gpr_time_from_minutes(long m, gpr_clock_type type): time.c']]], + ['gpr_5ftime_5ffrom_5fnanos',['gpr_time_from_nanos',['../time_8h.html#a16f57f7df5d09bfc38e8b8fcd323e50a',1,'gpr_time_from_nanos(long x, gpr_clock_type clock_type): time.c'],['../time_8c.html#a7b5437762ab2c7b7b31f7ab8e054eb04',1,'gpr_time_from_nanos(long ns, gpr_clock_type type): time.c']]], + ['gpr_5ftime_5ffrom_5fseconds',['gpr_time_from_seconds',['../time_8h.html#a4bc0bd3df3e9537035fc2b8675f01916',1,'gpr_time_from_seconds(long x, gpr_clock_type clock_type): time.c'],['../time_8c.html#ac43b8cfb4ba31a567eb77c2dacda57a7',1,'gpr_time_from_seconds(long s, gpr_clock_type type): time.c']]], + ['gpr_5ftime_5finit',['gpr_time_init',['../time_8h.html#a2a3da26a2eb15fcd312f1b8ef00cad56',1,'time.h']]], + ['gpr_5ftime_5fmax',['gpr_time_max',['../time_8h.html#a4e1c94c1e488381e9f01d4318c2a45d8',1,'gpr_time_max(gpr_timespec a, gpr_timespec b): time.c'],['../time_8c.html#a4e1c94c1e488381e9f01d4318c2a45d8',1,'gpr_time_max(gpr_timespec a, gpr_timespec b): time.c']]], + ['gpr_5ftime_5fmin',['gpr_time_min',['../time_8h.html#af15f574932e56662f57bd3573e3cc469',1,'gpr_time_min(gpr_timespec a, gpr_timespec b): time.c'],['../time_8c.html#af15f574932e56662f57bd3573e3cc469',1,'gpr_time_min(gpr_timespec a, gpr_timespec b): time.c']]], + ['gpr_5ftime_5fsimilar',['gpr_time_similar',['../time_8h.html#a914f666c6cfe709650d96c986600de15',1,'gpr_time_similar(gpr_timespec a, gpr_timespec b, gpr_timespec threshold): time.c'],['../time_8c.html#a914f666c6cfe709650d96c986600de15',1,'gpr_time_similar(gpr_timespec a, gpr_timespec b, gpr_timespec threshold): time.c']]], + ['gpr_5ftime_5fsub',['gpr_time_sub',['../time_8h.html#a1eaf8db9ee9e94bd4af005f1049f967a',1,'gpr_time_sub(gpr_timespec a, gpr_timespec b): time.c'],['../time_8c.html#a1eaf8db9ee9e94bd4af005f1049f967a',1,'gpr_time_sub(gpr_timespec a, gpr_timespec b): time.c']]], + ['gpr_5ftime_5fto_5fmillis',['gpr_time_to_millis',['../time_8h.html#aebea7c2faef2e16b802a5e9ae1f3b7df',1,'gpr_time_to_millis(gpr_timespec timespec): time.c'],['../time_8c.html#a0e913ddb6917c82510ff48d34672f6a1',1,'gpr_time_to_millis(gpr_timespec t): time.c']]], + ['gpr_5ftimespan',['GPR_TIMESPAN',['../time_8h.html#a2441bd1fbe80e86ff741e0757725b281a52f75e587240b7b44d3b8bc7fb3d5741',1,'time.h']]], + ['gpr_5ftimespec',['gpr_timespec',['../structgpr__timespec.html',1,'gpr_timespec'],['../time_8h.html#a7dd12c72fcf53ebecfdfc13632914c45',1,'gpr_timespec(): time.h']]], + ['gpr_5ftimespec_5fto_5fmicros',['gpr_timespec_to_micros',['../time_8h.html#a1704f2028070b3c92bd5420864458bac',1,'gpr_timespec_to_micros(gpr_timespec t): time.c'],['../time_8c.html#a1704f2028070b3c92bd5420864458bac',1,'gpr_timespec_to_micros(gpr_timespec t): time.c']]], + ['gpr_5ftls_5fdecl',['GPR_TLS_DECL',['../tls__gcc_8h.html#ab2c3baa4e4ceb366668aaf51379340fd',1,'GPR_TLS_DECL(): tls_gcc.h'],['../tls__msvc_8h.html#ab2c3baa4e4ceb366668aaf51379340fd',1,'GPR_TLS_DECL(): tls_msvc.h'],['../tls__pthread_8h.html#ab2c3baa4e4ceb366668aaf51379340fd',1,'GPR_TLS_DECL(): tls_pthread.h']]], + ['gpr_5ftls_5fdestroy',['gpr_tls_destroy',['../tls__gcc_8h.html#a187108e1078d2ce05388cb17bc59ce74',1,'gpr_tls_destroy(): tls_gcc.h'],['../tls__msvc_8h.html#a187108e1078d2ce05388cb17bc59ce74',1,'gpr_tls_destroy(): tls_msvc.h'],['../tls__pthread_8h.html#a187108e1078d2ce05388cb17bc59ce74',1,'gpr_tls_destroy(): tls_pthread.h']]], + ['gpr_5ftls_5fget',['gpr_tls_get',['../tls__gcc_8h.html#a9aa9e55eddbe7fed424526c23e1b55a3',1,'gpr_tls_get(): tls_gcc.h'],['../tls__msvc_8h.html#a9aa9e55eddbe7fed424526c23e1b55a3',1,'gpr_tls_get(): tls_msvc.h'],['../tls__pthread_8h.html#a9aa9e55eddbe7fed424526c23e1b55a3',1,'gpr_tls_get(): tls_pthread.h']]], + ['gpr_5ftls_5finit',['gpr_tls_init',['../tls__gcc_8h.html#a43768a42ff705cc028b4a483dc3b65c5',1,'gpr_tls_init(): tls_gcc.h'],['../tls__msvc_8h.html#a43768a42ff705cc028b4a483dc3b65c5',1,'gpr_tls_init(): tls_msvc.h'],['../tls__pthread_8h.html#a43768a42ff705cc028b4a483dc3b65c5',1,'gpr_tls_init(): tls_pthread.h']]], + ['gpr_5ftls_5fset',['gpr_tls_set',['../tls__gcc_8h.html#aa8f01b3e40178b80d098650f42c529e7',1,'gpr_tls_set(): tls_gcc.h'],['../tls__msvc_8h.html#aa8f01b3e40178b80d098650f42c529e7',1,'gpr_tls_set(): tls_msvc.h'],['../tls__pthread_8h.html#a02e97731a7a6668a2cb73a7e791e93ea',1,'gpr_tls_set(struct gpr_pthread_thread_local *tls, gpr_intptr value): tls_pthread.h']]], + ['gpr_5ftmpfile',['gpr_tmpfile',['../file_8h.html#abdc37810133df55be624548f00fd177f',1,'file.h']]], + ['gpr_5fuint16',['gpr_uint16',['../port__platform_8h.html#abb7bceac4325643af77af51c7b6af371',1,'port_platform.h']]], + ['gpr_5fuint32',['gpr_uint32',['../port__platform_8h.html#aa6abd4df815a5498d1a04b5e691a74a9',1,'port_platform.h']]], + ['gpr_5fuint64',['gpr_uint64',['../port__platform_8h.html#a737bb95b7b58d90b4215602d36ed65b6',1,'port_platform.h']]], + ['gpr_5fuint8',['gpr_uint8',['../port__platform_8h.html#aeeb41e29e7c7a916a4e0fb6cfb9f92e0',1,'port_platform.h']]], + ['gpr_5fuintmax',['gpr_uintmax',['../port__platform_8h.html#abee5d576e1d284a7c8135df7d89af0f7',1,'port_platform.h']]], + ['gpr_5fuintptr',['gpr_uintptr',['../port__platform_8h.html#ab302f9bfe3be467072bd8c79847636d4',1,'port_platform.h']]], + ['gpr_5funref',['gpr_unref',['../sync_8h.html#a76b570c831b14070c37e708dde91b795',1,'gpr_unref(gpr_refcount *r): sync.c'],['../sync_8c.html#a76b570c831b14070c37e708dde91b795',1,'gpr_unref(gpr_refcount *r): sync.c']]], + ['gpr_5fus_5fper_5fms',['GPR_US_PER_MS',['../time_8h.html#a33dba9a222266cf2270c9b09c1f64336',1,'time.h']]], + ['gpr_5fus_5fper_5fsec',['GPR_US_PER_SEC',['../time_8h.html#a48433e202646afa00d9694585b05b9e3',1,'time.h']]], + ['grow',['GROW',['../stream__op_8c.html#a886cd1bc8d999f1eca35adda926045dc',1,'GROW(): stream_op.c'],['../slice__buffer_8c.html#a886cd1bc8d999f1eca35adda926045dc',1,'GROW(): slice_buffer.c']]], + ['grpc_2eh',['grpc.h',['../grpc_8h.html',1,'']]], + ['grpc_5faccept4',['grpc_accept4',['../socket__utils__posix_8h.html#a2f6d1c5f46dff8ac86a5e4df24641060',1,'socket_utils_posix.h']]], + ['grpc_5faccess_5ftoken_5fcredentials',['grpc_access_token_credentials',['../structgrpc__access__token__credentials.html',1,'']]], + ['grpc_5faccess_5ftoken_5fcredentials_5fcreate',['grpc_access_token_credentials_create',['../grpc__security_8h.html#a7ef8e179bb5d15c81dfd363924db0041',1,'grpc_access_token_credentials_create(const char *access_token): credentials.c'],['../credentials_8c.html#a7ef8e179bb5d15c81dfd363924db0041',1,'grpc_access_token_credentials_create(const char *access_token): credentials.c']]], + ['grpc_5facked_5fsettings',['GRPC_ACKED_SETTINGS',['../internal_8h.html#a6c14b42c5aba744e7f99831e0b7901ada2ce0f9cd8c08c749b6471dda749d8b42',1,'internal.h']]], + ['grpc_5falarm',['grpc_alarm',['../structgrpc__alarm.html',1,'grpc_alarm'],['../alarm_8h.html#a2a31b5bd57cc9f6b862e9b8ef0ec2bea',1,'grpc_alarm(): alarm.h']]], + ['grpc_5falarm_5fcancel',['grpc_alarm_cancel',['../alarm_8h.html#a921e9a2f728d338f42ad586e6d4eaf60',1,'grpc_alarm_cancel(grpc_alarm *alarm): alarm.c'],['../alarm_8c.html#a921e9a2f728d338f42ad586e6d4eaf60',1,'grpc_alarm_cancel(grpc_alarm *alarm): alarm.c']]], + ['grpc_5falarm_5fcheck',['grpc_alarm_check',['../alarm__internal_8h.html#a28de65beea264f65e15824cbf866d863',1,'grpc_alarm_check(gpr_mu *drop_mu, gpr_timespec now, gpr_timespec *next): alarm.c'],['../alarm_8c.html#a28de65beea264f65e15824cbf866d863',1,'grpc_alarm_check(gpr_mu *drop_mu, gpr_timespec now, gpr_timespec *next): alarm.c']]], + ['grpc_5falarm_5fheap',['grpc_alarm_heap',['../structgrpc__alarm__heap.html',1,'']]], + ['grpc_5falarm_5fheap_5fadd',['grpc_alarm_heap_add',['../alarm__heap_8h.html#a96e6b49b0020da6f3163dfaeac36fed4',1,'grpc_alarm_heap_add(grpc_alarm_heap *heap, grpc_alarm *alarm): alarm_heap.c'],['../alarm__heap_8c.html#a96e6b49b0020da6f3163dfaeac36fed4',1,'grpc_alarm_heap_add(grpc_alarm_heap *heap, grpc_alarm *alarm): alarm_heap.c']]], + ['grpc_5falarm_5fheap_5fdestroy',['grpc_alarm_heap_destroy',['../alarm__heap_8h.html#a827cbed1eadd7b307da4f509bb0e4ff9',1,'grpc_alarm_heap_destroy(grpc_alarm_heap *heap): alarm_heap.c'],['../alarm__heap_8c.html#a827cbed1eadd7b307da4f509bb0e4ff9',1,'grpc_alarm_heap_destroy(grpc_alarm_heap *heap): alarm_heap.c']]], + ['grpc_5falarm_5fheap_5finit',['grpc_alarm_heap_init',['../alarm__heap_8h.html#a353a4a1809ac4546d62b3098dda8f674',1,'grpc_alarm_heap_init(grpc_alarm_heap *heap): alarm_heap.c'],['../alarm__heap_8c.html#a353a4a1809ac4546d62b3098dda8f674',1,'grpc_alarm_heap_init(grpc_alarm_heap *heap): alarm_heap.c']]], + ['grpc_5falarm_5fheap_5fis_5fempty',['grpc_alarm_heap_is_empty',['../alarm__heap_8h.html#a52d3c052d322cc97ced32a68bd9048cb',1,'grpc_alarm_heap_is_empty(grpc_alarm_heap *heap): alarm_heap.c'],['../alarm__heap_8c.html#a52d3c052d322cc97ced32a68bd9048cb',1,'grpc_alarm_heap_is_empty(grpc_alarm_heap *heap): alarm_heap.c']]], + ['grpc_5falarm_5fheap_5fpop',['grpc_alarm_heap_pop',['../alarm__heap_8h.html#a40cf7d2741c1640309682f14cafbb029',1,'grpc_alarm_heap_pop(grpc_alarm_heap *heap): alarm_heap.c'],['../alarm__heap_8c.html#a40cf7d2741c1640309682f14cafbb029',1,'grpc_alarm_heap_pop(grpc_alarm_heap *heap): alarm_heap.c']]], + ['grpc_5falarm_5fheap_5fremove',['grpc_alarm_heap_remove',['../alarm__heap_8h.html#a69c5b3ff692b6ca36c48d727acd45e9c',1,'grpc_alarm_heap_remove(grpc_alarm_heap *heap, grpc_alarm *alarm): alarm_heap.c'],['../alarm__heap_8c.html#a69c5b3ff692b6ca36c48d727acd45e9c',1,'grpc_alarm_heap_remove(grpc_alarm_heap *heap, grpc_alarm *alarm): alarm_heap.c']]], + ['grpc_5falarm_5fheap_5ftop',['grpc_alarm_heap_top',['../alarm__heap_8h.html#a1c81a64c942586da4313547cc8d259ea',1,'grpc_alarm_heap_top(grpc_alarm_heap *heap): alarm_heap.c'],['../alarm__heap_8c.html#a1c81a64c942586da4313547cc8d259ea',1,'grpc_alarm_heap_top(grpc_alarm_heap *heap): alarm_heap.c']]], + ['grpc_5falarm_5finit',['grpc_alarm_init',['../alarm_8h.html#a50483486a229b573a29ed9fa30807999',1,'grpc_alarm_init(grpc_alarm *alarm, gpr_timespec deadline, grpc_iomgr_cb_func alarm_cb, void *alarm_cb_arg, gpr_timespec now): alarm.c'],['../alarm_8c.html#a50483486a229b573a29ed9fa30807999',1,'grpc_alarm_init(grpc_alarm *alarm, gpr_timespec deadline, grpc_iomgr_cb_func alarm_cb, void *alarm_cb_arg, gpr_timespec now): alarm.c']]], + ['grpc_5falarm_5flist_5finit',['grpc_alarm_list_init',['../alarm__internal_8h.html#a7f76e290e84d187382a25d0d6999067e',1,'grpc_alarm_list_init(gpr_timespec now): alarm.c'],['../alarm_8c.html#a7f76e290e84d187382a25d0d6999067e',1,'grpc_alarm_list_init(gpr_timespec now): alarm.c']]], + ['grpc_5falarm_5flist_5fnext_5ftimeout',['grpc_alarm_list_next_timeout',['../alarm__internal_8h.html#a257c1eaf2f1c2f352893dcc0af034dfa',1,'grpc_alarm_list_next_timeout(void): alarm.c'],['../alarm_8c.html#a257c1eaf2f1c2f352893dcc0af034dfa',1,'grpc_alarm_list_next_timeout(void): alarm.c']]], + ['grpc_5falarm_5flist_5fshutdown',['grpc_alarm_list_shutdown',['../alarm__internal_8h.html#a768994cd3fff1f9b3ca7805dee7b3831',1,'grpc_alarm_list_shutdown(void): alarm.c'],['../alarm_8c.html#a768994cd3fff1f9b3ca7805dee7b3831',1,'grpc_alarm_list_shutdown(void): alarm.c']]], + ['grpc_5farg',['grpc_arg',['../structgrpc__arg.html',1,'']]], + ['grpc_5farg_5fdefault_5fauthority',['GRPC_ARG_DEFAULT_AUTHORITY',['../grpc_8h.html#add42f97666fbfc66b7dac253ac3b73ae',1,'grpc.h']]], + ['grpc_5farg_5fenable_5fcensus',['GRPC_ARG_ENABLE_CENSUS',['../grpc_8h.html#ae498934a02de89ce29cec570b02a2037',1,'grpc.h']]], + ['grpc_5farg_5fhttp2_5finitial_5fsequence_5fnumber',['GRPC_ARG_HTTP2_INITIAL_SEQUENCE_NUMBER',['../grpc_8h.html#aecc45a63163796ca1bc5453938bdfb36',1,'grpc.h']]], + ['grpc_5farg_5fhttp2_5fscheme',['GRPC_ARG_HTTP2_SCHEME',['../http__client__filter_8h.html#a7797da9f3f5a1381484b2cabca1920fc',1,'http_client_filter.h']]], + ['grpc_5farg_5finteger',['GRPC_ARG_INTEGER',['../grpc_8h.html#a0b06eae05e70404aedbceaebce6de593a8d2f803b8aaf88f34dac1f887826c689',1,'grpc.h']]], + ['grpc_5farg_5fmax_5fconcurrent_5fstreams',['GRPC_ARG_MAX_CONCURRENT_STREAMS',['../grpc_8h.html#a5bb9256d0b457cab219f4d9d765148b6',1,'grpc.h']]], + ['grpc_5farg_5fmax_5fmessage_5flength',['GRPC_ARG_MAX_MESSAGE_LENGTH',['../grpc_8h.html#a50f37feb7c000a23b3b0edf4c31d4367',1,'grpc.h']]], + ['grpc_5farg_5fpointer',['GRPC_ARG_POINTER',['../grpc_8h.html#a0b06eae05e70404aedbceaebce6de593a02a823a7037e2a60b9d9a031fd42591b',1,'grpc.h']]], + ['grpc_5farg_5fprimary_5fuser_5fagent_5fstring',['GRPC_ARG_PRIMARY_USER_AGENT_STRING',['../grpc_8h.html#a0732df2d9003e9ee1c01e50e41b5a8e2',1,'grpc.h']]], + ['grpc_5farg_5fsecondary_5fuser_5fagent_5fstring',['GRPC_ARG_SECONDARY_USER_AGENT_STRING',['../grpc_8h.html#af47b4048c11e4f8f4162f12c135c2da4',1,'grpc.h']]], + ['grpc_5farg_5fstring',['GRPC_ARG_STRING',['../grpc_8h.html#a0b06eae05e70404aedbceaebce6de593a215b6b9143ba133ede0e29f79098239d',1,'grpc.h']]], + ['grpc_5farg_5ftype',['grpc_arg_type',['../grpc_8h.html#a0b06eae05e70404aedbceaebce6de593',1,'grpc.h']]], + ['grpc_5fauth_5fcontext',['grpc_auth_context',['../structgrpc__auth__context.html',1,'grpc_auth_context'],['../grpc__security_8h.html#aa13f0724cb7ff99995d7f0881c01d553',1,'grpc_auth_context(): grpc_security.h']]], + ['grpc_5fauth_5fcontext_5fcreate',['grpc_auth_context_create',['../security__context_8h.html#ab81f0d925a8aefc04349a849e63d9d25',1,'grpc_auth_context_create(grpc_auth_context *chained, size_t property_count): security_context.c'],['../security__context_8c.html#ab81f0d925a8aefc04349a849e63d9d25',1,'grpc_auth_context_create(grpc_auth_context *chained, size_t property_count): security_context.c']]], + ['grpc_5fauth_5fcontext_5ffind_5fproperties_5fby_5fname',['grpc_auth_context_find_properties_by_name',['../grpc__security_8h.html#a5298ac64614986581fc314f63fa9afd7',1,'grpc_auth_context_find_properties_by_name(const grpc_auth_context *ctx, const char *name): security_context.c'],['../security__context_8c.html#a5298ac64614986581fc314f63fa9afd7',1,'grpc_auth_context_find_properties_by_name(const grpc_auth_context *ctx, const char *name): security_context.c']]], + ['grpc_5fauth_5fcontext_5fpeer_5fidentity',['grpc_auth_context_peer_identity',['../grpc__security_8h.html#a144c6f3a56c8592489b3978e0c5caced',1,'grpc_auth_context_peer_identity(const grpc_auth_context *ctx): security_context.c'],['../security__context_8c.html#a144c6f3a56c8592489b3978e0c5caced',1,'grpc_auth_context_peer_identity(const grpc_auth_context *ctx): security_context.c']]], + ['grpc_5fauth_5fcontext_5fpeer_5fidentity_5fproperty_5fname',['grpc_auth_context_peer_identity_property_name',['../grpc__security_8h.html#ac05022ccd5b972ba089950437727ff23',1,'grpc_auth_context_peer_identity_property_name(const grpc_auth_context *ctx): security_context.c'],['../security__context_8c.html#ac05022ccd5b972ba089950437727ff23',1,'grpc_auth_context_peer_identity_property_name(const grpc_auth_context *ctx): security_context.c']]], + ['grpc_5fauth_5fcontext_5fpeer_5fis_5fauthenticated',['grpc_auth_context_peer_is_authenticated',['../grpc__security_8h.html#af33fe6681dedb389edbf708020680093',1,'grpc_auth_context_peer_is_authenticated(const grpc_auth_context *ctx): security_context.c'],['../security__context_8c.html#af33fe6681dedb389edbf708020680093',1,'grpc_auth_context_peer_is_authenticated(const grpc_auth_context *ctx): security_context.c']]], + ['grpc_5fauth_5fcontext_5fproperty_5fiterator',['grpc_auth_context_property_iterator',['../grpc__security_8h.html#aaad9fed074f7aebed63ed075bb6ff780',1,'grpc_auth_context_property_iterator(const grpc_auth_context *ctx): security_context.c'],['../security__context_8c.html#aaad9fed074f7aebed63ed075bb6ff780',1,'grpc_auth_context_property_iterator(const grpc_auth_context *ctx): security_context.c']]], + ['grpc_5fauth_5fcontext_5fref',['GRPC_AUTH_CONTEXT_REF',['../security__context_8h.html#a3df5d42b28934cbeb932f18d61a8fe77',1,'GRPC_AUTH_CONTEXT_REF(): security_context.h'],['../security__context_8h.html#aafcd59997402fd705818b3ce8e374623',1,'grpc_auth_context_ref(grpc_auth_context *policy): security_context.c'],['../security__context_8c.html#a449824176a9f6c79ee461e476f409aec',1,'grpc_auth_context_ref(grpc_auth_context *ctx): security_context.c']]], + ['grpc_5fauth_5fcontext_5frelease',['grpc_auth_context_release',['../grpc__security_8h.html#a2eea99f76030b21ad58afdf615f4d2b9',1,'grpc_auth_context_release(grpc_auth_context *context): security_context.c'],['../security__context_8c.html#a2eea99f76030b21ad58afdf615f4d2b9',1,'grpc_auth_context_release(grpc_auth_context *context): security_context.c']]], + ['grpc_5fauth_5fcontext_5funref',['GRPC_AUTH_CONTEXT_UNREF',['../security__context_8h.html#ae6b74ab5e3a697c5a93529609bdb2668',1,'GRPC_AUTH_CONTEXT_UNREF(): security_context.h'],['../security__context_8h.html#a19e637927ac80502fe6093a2669674da',1,'grpc_auth_context_unref(grpc_auth_context *policy): security_context.c'],['../security__context_8c.html#a0a12ed60416acacf11756afc6b2bcf33',1,'grpc_auth_context_unref(grpc_auth_context *ctx): security_context.c']]], + ['grpc_5fauth_5fjson_5fkey',['grpc_auth_json_key',['../structgrpc__auth__json__key.html',1,'']]], + ['grpc_5fauth_5fjson_5fkey_5fcreate_5ffrom_5fjson',['grpc_auth_json_key_create_from_json',['../json__token_8h.html#a99327b0fd2f13d8c98ebb68aecde0194',1,'grpc_auth_json_key_create_from_json(const grpc_json *json): json_token.c'],['../json__token_8c.html#a99327b0fd2f13d8c98ebb68aecde0194',1,'grpc_auth_json_key_create_from_json(const grpc_json *json): json_token.c']]], + ['grpc_5fauth_5fjson_5fkey_5fcreate_5ffrom_5fstring',['grpc_auth_json_key_create_from_string',['../json__token_8h.html#aed79d1eb6161019cd427d7dc4bdc8462',1,'grpc_auth_json_key_create_from_string(const char *json_string): json_token.c'],['../json__token_8c.html#aed79d1eb6161019cd427d7dc4bdc8462',1,'grpc_auth_json_key_create_from_string(const char *json_string): json_token.c']]], + ['grpc_5fauth_5fjson_5fkey_5fdestruct',['grpc_auth_json_key_destruct',['../json__token_8h.html#a0be195f2d8dad589b59befaaf379deb7',1,'grpc_auth_json_key_destruct(grpc_auth_json_key *json_key): json_token.c'],['../json__token_8c.html#a0be195f2d8dad589b59befaaf379deb7',1,'grpc_auth_json_key_destruct(grpc_auth_json_key *json_key): json_token.c']]], + ['grpc_5fauth_5fjson_5fkey_5fis_5fvalid',['grpc_auth_json_key_is_valid',['../json__token_8h.html#ac4a86a67c8b9cd4b8b142fe880099689',1,'grpc_auth_json_key_is_valid(const grpc_auth_json_key *json_key): json_token.c'],['../json__token_8c.html#ac4a86a67c8b9cd4b8b142fe880099689',1,'grpc_auth_json_key_is_valid(const grpc_auth_json_key *json_key): json_token.c']]], + ['grpc_5fauth_5fjson_5ftype_5fauthorized_5fuser',['GRPC_AUTH_JSON_TYPE_AUTHORIZED_USER',['../json__token_8h.html#af371d9efcf5a20784bfeae73e3369fd3',1,'json_token.h']]], + ['grpc_5fauth_5fjson_5ftype_5finvalid',['GRPC_AUTH_JSON_TYPE_INVALID',['../json__token_8h.html#af5c8010a33e3a9b7b23f88cc87c1149e',1,'json_token.h']]], + ['grpc_5fauth_5fjson_5ftype_5fservice_5faccount',['GRPC_AUTH_JSON_TYPE_SERVICE_ACCOUNT',['../json__token_8h.html#ae7dd581751d41c6ea4d8dd5af295d495',1,'json_token.h']]], + ['grpc_5fauth_5fproperty',['grpc_auth_property',['../structgrpc__auth__property.html',1,'grpc_auth_property'],['../grpc__security_8h.html#a010fe7d27deaa2ea50b765b48dbad429',1,'grpc_auth_property(): grpc_security.h']]], + ['grpc_5fauth_5fproperty_5finit',['grpc_auth_property_init',['../security__context_8h.html#a816adda9cd16c9f8087a1f11b1f7154a',1,'grpc_auth_property_init(const char *name, const char *value, size_t value_length): security_context.c'],['../security__context_8c.html#a816adda9cd16c9f8087a1f11b1f7154a',1,'grpc_auth_property_init(const char *name, const char *value, size_t value_length): security_context.c']]], + ['grpc_5fauth_5fproperty_5finit_5ffrom_5fcstring',['grpc_auth_property_init_from_cstring',['../security__context_8h.html#a9ffe10ffd7c0397eb9656a5017ba0e58',1,'grpc_auth_property_init_from_cstring(const char *name, const char *value): security_context.c'],['../security__context_8c.html#a9ffe10ffd7c0397eb9656a5017ba0e58',1,'grpc_auth_property_init_from_cstring(const char *name, const char *value): security_context.c']]], + ['grpc_5fauth_5fproperty_5fiterator',['grpc_auth_property_iterator',['../structgrpc__auth__property__iterator.html',1,'grpc_auth_property_iterator'],['../grpc__security_8h.html#a26981fdcb987d885b25d34c7dc66e4cf',1,'grpc_auth_property_iterator(): grpc_security.h']]], + ['grpc_5fauth_5fproperty_5fiterator_5fnext',['grpc_auth_property_iterator_next',['../grpc__security_8h.html#ac20e3890d5e5e0de6ae6b5cb57cae1ae',1,'grpc_auth_property_iterator_next(grpc_auth_property_iterator *it): security_context.c'],['../security__context_8c.html#ac20e3890d5e5e0de6ae6b5cb57cae1ae',1,'grpc_auth_property_iterator_next(grpc_auth_property_iterator *it): security_context.c']]], + ['grpc_5fauth_5fproperty_5freset',['grpc_auth_property_reset',['../security__context_8h.html#a9721c8f46ab15103ee4f69cf49c04195',1,'grpc_auth_property_reset(grpc_auth_property *property): security_context.c'],['../security__context_8c.html#a9721c8f46ab15103ee4f69cf49c04195',1,'grpc_auth_property_reset(grpc_auth_property *property): security_context.c']]], + ['grpc_5fauth_5frefresh_5ftoken',['grpc_auth_refresh_token',['../structgrpc__auth__refresh__token.html',1,'']]], + ['grpc_5fauth_5frefresh_5ftoken_5fcreate_5ffrom_5fjson',['grpc_auth_refresh_token_create_from_json',['../json__token_8h.html#a31e46f408f67e61eb59471816d7394d9',1,'grpc_auth_refresh_token_create_from_json(const grpc_json *json): json_token.c'],['../json__token_8c.html#a31e46f408f67e61eb59471816d7394d9',1,'grpc_auth_refresh_token_create_from_json(const grpc_json *json): json_token.c']]], + ['grpc_5fauth_5frefresh_5ftoken_5fcreate_5ffrom_5fstring',['grpc_auth_refresh_token_create_from_string',['../json__token_8h.html#aa8602827c182047ae58ff6f8d55fcf06',1,'grpc_auth_refresh_token_create_from_string(const char *json_string): json_token.c'],['../json__token_8c.html#aa8602827c182047ae58ff6f8d55fcf06',1,'grpc_auth_refresh_token_create_from_string(const char *json_string): json_token.c']]], + ['grpc_5fauth_5frefresh_5ftoken_5fdestruct',['grpc_auth_refresh_token_destruct',['../json__token_8h.html#a14f7331e37fa96ee4652780610e1b773',1,'grpc_auth_refresh_token_destruct(grpc_auth_refresh_token *refresh_token): json_token.c'],['../json__token_8c.html#a14f7331e37fa96ee4652780610e1b773',1,'grpc_auth_refresh_token_destruct(grpc_auth_refresh_token *refresh_token): json_token.c']]], + ['grpc_5fauth_5frefresh_5ftoken_5fis_5fvalid',['grpc_auth_refresh_token_is_valid',['../json__token_8h.html#a9b1a8c0e0fda0b36dc2ad142f276002f',1,'grpc_auth_refresh_token_is_valid(const grpc_auth_refresh_token *refresh_token): json_token.c'],['../json__token_8c.html#a9b1a8c0e0fda0b36dc2ad142f276002f',1,'grpc_auth_refresh_token_is_valid(const grpc_auth_refresh_token *refresh_token): json_token.c']]], + ['grpc_5fauthorization_5fmetadata_5fkey',['GRPC_AUTHORIZATION_METADATA_KEY',['../credentials_8h.html#ae5d55c31d952d739f5be7de47ad425a3',1,'credentials.h']]], + ['grpc_5fbase64_5fdecode',['grpc_base64_decode',['../base64_8h.html#a81bf1bd8387f2d69d6fe48e463a40c96',1,'grpc_base64_decode(const char *b64, int url_safe): base64.c'],['../base64_8c.html#a81bf1bd8387f2d69d6fe48e463a40c96',1,'grpc_base64_decode(const char *b64, int url_safe): base64.c']]], + ['grpc_5fbase64_5fdecode_5fwith_5flen',['grpc_base64_decode_with_len',['../base64_8h.html#a2d9a616e303d93f4cb0733fe96a0f28f',1,'grpc_base64_decode_with_len(const char *b64, size_t b64_len, int url_safe): base64.c'],['../base64_8c.html#a2d9a616e303d93f4cb0733fe96a0f28f',1,'grpc_base64_decode_with_len(const char *b64, size_t b64_len, int url_safe): base64.c']]], + ['grpc_5fbase64_5fencode',['grpc_base64_encode',['../base64_8h.html#af3751ba76aa864e4983cea879fb437d8',1,'grpc_base64_encode(const void *data, size_t data_size, int url_safe, int multiline): base64.c'],['../base64_8c.html#a52b0da4b71404bafb66d7cd2d6bc898a',1,'grpc_base64_encode(const void *vdata, size_t data_size, int url_safe, int multiline): base64.c']]], + ['grpc_5fbase64_5fmultiline_5fline_5flen',['GRPC_BASE64_MULTILINE_LINE_LEN',['../base64_8c.html#a044b2c792f69cf3efaad0895e38122a7',1,'base64.c']]], + ['grpc_5fbase64_5fmultiline_5fnum_5fblocks',['GRPC_BASE64_MULTILINE_NUM_BLOCKS',['../base64_8c.html#abf98a03e292b4943e5d9df3314a91d2e',1,'base64.c']]], + ['grpc_5fbase64_5fpad_5fbyte',['GRPC_BASE64_PAD_BYTE',['../base64_8c.html#a74d467f02f0a2a5e88cc0231ea2d3603',1,'base64.c']]], + ['grpc_5fbase64_5fpad_5fchar',['GRPC_BASE64_PAD_CHAR',['../base64_8c.html#a6ccc23e3f23a06fd1e83f07fc80a36f5',1,'base64.c']]], + ['grpc_5fbb_5fraw',['GRPC_BB_RAW',['../byte__buffer_8h.html#acdc94363b280bde9c82e3d9b5dc3b3e6a1918bbb8502c74288793b58f1786f636',1,'byte_buffer.h']]], + ['grpc_5fbbq_5farray',['grpc_bbq_array',['../structgrpc__bbq__array.html',1,'']]], + ['grpc_5fbbq_5fbytes',['grpc_bbq_bytes',['../byte__buffer__queue_8h.html#a86c63b57cc95e136b8de2592e4dedf28',1,'grpc_bbq_bytes(grpc_byte_buffer_queue *q): byte_buffer_queue.c'],['../byte__buffer__queue_8c.html#a86c63b57cc95e136b8de2592e4dedf28',1,'grpc_bbq_bytes(grpc_byte_buffer_queue *q): byte_buffer_queue.c']]], + ['grpc_5fbbq_5fdestroy',['grpc_bbq_destroy',['../byte__buffer__queue_8h.html#ae1f26933a5e6e643c3c31de676804edb',1,'grpc_bbq_destroy(grpc_byte_buffer_queue *q): byte_buffer_queue.c'],['../byte__buffer__queue_8c.html#ae1f26933a5e6e643c3c31de676804edb',1,'grpc_bbq_destroy(grpc_byte_buffer_queue *q): byte_buffer_queue.c']]], + ['grpc_5fbbq_5fempty',['grpc_bbq_empty',['../byte__buffer__queue_8h.html#aaa5f8cf8f94340a6e2f6c803a8001c15',1,'grpc_bbq_empty(grpc_byte_buffer_queue *q): byte_buffer_queue.c'],['../byte__buffer__queue_8c.html#aaa5f8cf8f94340a6e2f6c803a8001c15',1,'grpc_bbq_empty(grpc_byte_buffer_queue *q): byte_buffer_queue.c']]], + ['grpc_5fbbq_5fflush',['grpc_bbq_flush',['../byte__buffer__queue_8h.html#a8308c0116008c7abd4554a34a549e94a',1,'grpc_bbq_flush(grpc_byte_buffer_queue *q): byte_buffer_queue.c'],['../byte__buffer__queue_8c.html#a8308c0116008c7abd4554a34a549e94a',1,'grpc_bbq_flush(grpc_byte_buffer_queue *q): byte_buffer_queue.c']]], + ['grpc_5fbbq_5fpop',['grpc_bbq_pop',['../byte__buffer__queue_8h.html#a0539ad1d8c25d3060475370bcc9d37c5',1,'grpc_bbq_pop(grpc_byte_buffer_queue *q): byte_buffer_queue.c'],['../byte__buffer__queue_8c.html#a0539ad1d8c25d3060475370bcc9d37c5',1,'grpc_bbq_pop(grpc_byte_buffer_queue *q): byte_buffer_queue.c']]], + ['grpc_5fbbq_5fpush',['grpc_bbq_push',['../byte__buffer__queue_8h.html#a28f3a949b2a27c25929fdb86819e4dae',1,'grpc_bbq_push(grpc_byte_buffer_queue *q, grpc_byte_buffer *bb): byte_buffer_queue.c'],['../byte__buffer__queue_8c.html#a34702570a1438c8cf7a4dcdcc65a5891',1,'grpc_bbq_push(grpc_byte_buffer_queue *q, grpc_byte_buffer *buffer): byte_buffer_queue.c']]], + ['grpc_5fbegin_5fmessage',['grpc_begin_message',['../structgrpc__begin__message.html',1,'grpc_begin_message'],['../stream__op_8h.html#a6d154e209d826dcf514850c6724d3596',1,'grpc_begin_message(): stream_op.h']]], + ['grpc_5fblocking_5fresolve_5faddress',['grpc_blocking_resolve_address',['../resolve__address_8h.html#a92567a2b60cddf219f240a07212fff7c',1,'resolve_address.h']]], + ['grpc_5fbyte_5fbuffer',['grpc_byte_buffer',['../structgrpc__byte__buffer.html',1,'grpc_byte_buffer'],['../byte__buffer_8h.html#a670951ae03b0a2dc4e50f4e25160fc2e',1,'grpc_byte_buffer(): byte_buffer.h']]], + ['grpc_5fbyte_5fbuffer_5fcopy',['grpc_byte_buffer_copy',['../byte__buffer_8h.html#aac8a5605c5de93a78da7e8ca06a80efb',1,'grpc_byte_buffer_copy(grpc_byte_buffer *bb): byte_buffer.c'],['../byte__buffer_8c.html#aac8a5605c5de93a78da7e8ca06a80efb',1,'grpc_byte_buffer_copy(grpc_byte_buffer *bb): byte_buffer.c']]], + ['grpc_5fbyte_5fbuffer_5fdestroy',['grpc_byte_buffer_destroy',['../byte__buffer_8h.html#a5a9ccea69a6ba41d34a6985837fd88f5',1,'grpc_byte_buffer_destroy(grpc_byte_buffer *byte_buffer): byte_buffer.c'],['../byte__buffer_8c.html#a0099fc01264d8aeb7cd56dfb58652d22',1,'grpc_byte_buffer_destroy(grpc_byte_buffer *bb): byte_buffer.c']]], + ['grpc_5fbyte_5fbuffer_5flength',['grpc_byte_buffer_length',['../byte__buffer_8h.html#a61b6ac03d6a50664786e45d616ba435d',1,'grpc_byte_buffer_length(grpc_byte_buffer *bb): byte_buffer.c'],['../byte__buffer_8c.html#a61b6ac03d6a50664786e45d616ba435d',1,'grpc_byte_buffer_length(grpc_byte_buffer *bb): byte_buffer.c']]], + ['grpc_5fbyte_5fbuffer_5fqueue',['grpc_byte_buffer_queue',['../structgrpc__byte__buffer__queue.html',1,'']]], + ['grpc_5fbyte_5fbuffer_5freader',['grpc_byte_buffer_reader',['../structgrpc__byte__buffer__reader.html',1,'grpc_byte_buffer_reader'],['../byte__buffer_8h.html#a16143f22ea46cc7fa6b53e6cb30715f1',1,'grpc_byte_buffer_reader(): byte_buffer.h']]], + ['grpc_5fbyte_5fbuffer_5freader_5fdestroy',['grpc_byte_buffer_reader_destroy',['../byte__buffer_8h.html#aed5f40a76941741b7672c14f15be0778',1,'grpc_byte_buffer_reader_destroy(grpc_byte_buffer_reader *reader): byte_buffer_reader.c'],['../byte__buffer__reader_8c.html#aed5f40a76941741b7672c14f15be0778',1,'grpc_byte_buffer_reader_destroy(grpc_byte_buffer_reader *reader): byte_buffer_reader.c']]], + ['grpc_5fbyte_5fbuffer_5freader_5finit',['grpc_byte_buffer_reader_init',['../byte__buffer_8h.html#a71016674849f4f57c1a4319d7964d268',1,'grpc_byte_buffer_reader_init(grpc_byte_buffer_reader *reader, grpc_byte_buffer *buffer): byte_buffer_reader.c'],['../byte__buffer__reader_8c.html#a71016674849f4f57c1a4319d7964d268',1,'grpc_byte_buffer_reader_init(grpc_byte_buffer_reader *reader, grpc_byte_buffer *buffer): byte_buffer_reader.c']]], + ['grpc_5fbyte_5fbuffer_5freader_5fnext',['grpc_byte_buffer_reader_next',['../byte__buffer_8h.html#aff713900a0177997a0be49a40781bcc9',1,'grpc_byte_buffer_reader_next(grpc_byte_buffer_reader *reader, gpr_slice *slice): byte_buffer_reader.c'],['../byte__buffer__reader_8c.html#aff713900a0177997a0be49a40781bcc9',1,'grpc_byte_buffer_reader_next(grpc_byte_buffer_reader *reader, gpr_slice *slice): byte_buffer_reader.c']]], + ['grpc_5fbyte_5fbuffer_5ftype',['grpc_byte_buffer_type',['../byte__buffer_8h.html#acdc94363b280bde9c82e3d9b5dc3b3e6',1,'byte_buffer.h']]], + ['grpc_5fcall',['grpc_call',['../structgrpc__call.html',1,'grpc_call'],['../grpc_8h.html#a122f8f4f0a585396d993d9b55848f222',1,'grpc_call(): grpc.h']]], + ['grpc_5fcall_5fauth_5fcontext',['grpc_call_auth_context',['../grpc__security_8h.html#a0b439e6d2875c8b5e2e901a959f6a2fe',1,'grpc_call_auth_context(grpc_call *call): security_context.c'],['../security__context_8c.html#a0b439e6d2875c8b5e2e901a959f6a2fe',1,'grpc_call_auth_context(grpc_call *call): security_context.c']]], + ['grpc_5fcall_5fcancel',['grpc_call_cancel',['../grpc_8h.html#adce32a3168cfc0048423af94a3961878',1,'grpc_call_cancel(grpc_call *call): call.c'],['../call_8c.html#adce32a3168cfc0048423af94a3961878',1,'grpc_call_cancel(grpc_call *call): call.c']]], + ['grpc_5fcall_5fcancel_5fwith_5fstatus',['grpc_call_cancel_with_status',['../grpc_8h.html#a8332e3ac6611ae4012ed17707d7dbcf2',1,'grpc_call_cancel_with_status(grpc_call *call, grpc_status_code status, const char *description): call.c'],['../call_8c.html#a1adb0f85dd491cc47dd8da655c4e30a6',1,'grpc_call_cancel_with_status(grpc_call *c, grpc_status_code status, const char *description): call.c']]], + ['grpc_5fcall_5fcontext_5felement',['grpc_call_context_element',['../structgrpc__call__context__element.html',1,'']]], + ['grpc_5fcall_5fcontext_5fget',['grpc_call_context_get',['../call_8h.html#a039322642b1682808002d1302c248c5f',1,'grpc_call_context_get(grpc_call *call, grpc_context_index elem): call.c'],['../call_8c.html#a039322642b1682808002d1302c248c5f',1,'grpc_call_context_get(grpc_call *call, grpc_context_index elem): call.c']]], + ['grpc_5fcall_5fcontext_5fset',['grpc_call_context_set',['../call_8h.html#adad531b2cfc5574dbc4bebaafe0db1e9',1,'grpc_call_context_set(grpc_call *call, grpc_context_index elem, void *value, void(*destroy)(void *value)): call.c'],['../call_8c.html#adad531b2cfc5574dbc4bebaafe0db1e9',1,'grpc_call_context_set(grpc_call *call, grpc_context_index elem, void *value, void(*destroy)(void *value)): call.c']]], + ['grpc_5fcall_5fcreate',['grpc_call_create',['../call_8h.html#a0199bd70012c6e2dfa8667dd1d280109',1,'grpc_call_create(grpc_channel *channel, grpc_completion_queue *cq, const void *server_transport_data, grpc_mdelem **add_initial_metadata, size_t add_initial_metadata_count, gpr_timespec send_deadline): call.c'],['../call_8c.html#a0199bd70012c6e2dfa8667dd1d280109',1,'grpc_call_create(grpc_channel *channel, grpc_completion_queue *cq, const void *server_transport_data, grpc_mdelem **add_initial_metadata, size_t add_initial_metadata_count, gpr_timespec send_deadline): call.c']]], + ['grpc_5fcall_5fdestroy',['grpc_call_destroy',['../grpc_8h.html#a3edbb9347e32fd0152c8ed4bbbaf5125',1,'grpc_call_destroy(grpc_call *call): call.c'],['../call_8c.html#a456f491fd120a1561aa8cd1178ddb4c7',1,'grpc_call_destroy(grpc_call *c): call.c']]], + ['grpc_5fcall_5fdetails',['grpc_call_details',['../structgrpc__call__details.html',1,'']]], + ['grpc_5fcall_5fdetails_5fdestroy',['grpc_call_details_destroy',['../grpc_8h.html#a436819189c9155a0761db7667f9078f9',1,'grpc_call_details_destroy(grpc_call_details *details): call_details.c'],['../call__details_8c.html#a8ac75052ac470570689777a7a2684012',1,'grpc_call_details_destroy(grpc_call_details *cd): call_details.c']]], + ['grpc_5fcall_5fdetails_5finit',['grpc_call_details_init',['../grpc_8h.html#a29fa3bfb0a561ba465260154a4ef3bb5',1,'grpc_call_details_init(grpc_call_details *details): call_details.c'],['../call__details_8c.html#aec87c14a6d7452bfb029af6a317a6cff',1,'grpc_call_details_init(grpc_call_details *cd): call_details.c']]], + ['grpc_5fcall_5felement',['grpc_call_element',['../structgrpc__call__element.html',1,'grpc_call_element'],['../channel__stack_8h.html#ad4b0603b98c350dc4bfdcc2ba95d5401',1,'grpc_call_element(): channel_stack.h']]], + ['grpc_5fcall_5felement_5fsend_5fcancel',['grpc_call_element_send_cancel',['../channel__stack_8h.html#a7127b6c0b4d14c70e23e65875c7b6bc5',1,'grpc_call_element_send_cancel(grpc_call_element *cur_elem): channel_stack.c'],['../channel__stack_8c.html#a7127b6c0b4d14c70e23e65875c7b6bc5',1,'grpc_call_element_send_cancel(grpc_call_element *cur_elem): channel_stack.c']]], + ['grpc_5fcall_5ferror',['GRPC_CALL_ERROR',['../grpc_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785ba86e7b6bf1fe5dec17fc08ba2f77d1b41',1,'GRPC_CALL_ERROR(): grpc.h'],['../grpc_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785b',1,'grpc_call_error(): grpc.h'],['../grpc_8h.html#abb51216cb5ac1cfd8ca4d096e060adbb',1,'grpc_call_error(): grpc.h']]], + ['grpc_5fcall_5ferror_5falready_5faccepted',['GRPC_CALL_ERROR_ALREADY_ACCEPTED',['../grpc_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785ba2f6f332e63eb94df8abedfddb96ae63a',1,'grpc.h']]], + ['grpc_5fcall_5ferror_5falready_5ffinished',['GRPC_CALL_ERROR_ALREADY_FINISHED',['../grpc_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785ba21256301a6038a6a03fc8444ddd08c63',1,'grpc.h']]], + ['grpc_5fcall_5ferror_5falready_5finvoked',['GRPC_CALL_ERROR_ALREADY_INVOKED',['../grpc_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785ba042165aa26653c844a846d188f722857',1,'grpc.h']]], + ['grpc_5fcall_5ferror_5finvalid_5fflags',['GRPC_CALL_ERROR_INVALID_FLAGS',['../grpc_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785bae915786320e24eff4f1e05852d40f861',1,'grpc.h']]], + ['grpc_5fcall_5ferror_5finvalid_5fmetadata',['GRPC_CALL_ERROR_INVALID_METADATA',['../grpc_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785ba13f469c7761a672240ddfe29f85729bd',1,'grpc.h']]], + ['grpc_5fcall_5ferror_5fnot_5finvoked',['GRPC_CALL_ERROR_NOT_INVOKED',['../grpc_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785ba6113860606450e3a3fa40ddf46749296',1,'grpc.h']]], + ['grpc_5fcall_5ferror_5fnot_5fon_5fclient',['GRPC_CALL_ERROR_NOT_ON_CLIENT',['../grpc_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785ba7ba38ea119e00e8b4d10211f4ced9ef6',1,'grpc.h']]], + ['grpc_5fcall_5ferror_5fnot_5fon_5fserver',['GRPC_CALL_ERROR_NOT_ON_SERVER',['../grpc_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785ba1a48e861db610ae8f0b0cba7749251d8',1,'grpc.h']]], + ['grpc_5fcall_5ferror_5fnot_5fserver_5fcompletion_5fqueue',['GRPC_CALL_ERROR_NOT_SERVER_COMPLETION_QUEUE',['../grpc_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785bade52e850722f80804d90881ac125706f',1,'grpc.h']]], + ['grpc_5fcall_5ferror_5ftoo_5fmany_5foperations',['GRPC_CALL_ERROR_TOO_MANY_OPERATIONS',['../grpc_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785ba7e09791915b841c30e9d79c26a5a6454',1,'grpc.h']]], + ['grpc_5fcall_5ffrom_5ftop_5felement',['grpc_call_from_top_element',['../call_8h.html#a86f68a55fd9421d297c43cb4f0911d1e',1,'grpc_call_from_top_element(grpc_call_element *surface_element): call.c'],['../call_8c.html#a92d6bdbeddb5e6918e118bc0979a1a9b',1,'grpc_call_from_top_element(grpc_call_element *elem): call.c']]], + ['grpc_5fcall_5fget_5fcall_5fstack',['grpc_call_get_call_stack',['../call_8h.html#a089e0677c51d9a5d4a4a7e582f86b27f',1,'grpc_call_get_call_stack(grpc_call *call): call.c'],['../call_8c.html#a089e0677c51d9a5d4a4a7e582f86b27f',1,'grpc_call_get_call_stack(grpc_call *call): call.c']]], + ['grpc_5fcall_5fget_5fcompletion_5fqueue',['grpc_call_get_completion_queue',['../call_8h.html#a383950ef84646c0f3cb3cb38807503db',1,'grpc_call_get_completion_queue(grpc_call *call): call.c'],['../call_8c.html#a383950ef84646c0f3cb3cb38807503db',1,'grpc_call_get_completion_queue(grpc_call *call): call.c']]], + ['grpc_5fcall_5fget_5fcompression_5falgorithm',['grpc_call_get_compression_algorithm',['../call_8c.html#a5128cbee3e5ed3cd97b4043c0f6d7d04',1,'call.c']]], + ['grpc_5fcall_5fget_5fpeer',['grpc_call_get_peer',['../grpc_8h.html#adf4ac8b78da7b957ce05dc0f62719ada',1,'grpc_call_get_peer(grpc_call *call): call.c'],['../call_8c.html#adf4ac8b78da7b957ce05dc0f62719ada',1,'grpc_call_get_peer(grpc_call *call): call.c']]], + ['grpc_5fcall_5finternal_5fref',['GRPC_CALL_INTERNAL_REF',['../call_8h.html#a8096750f0a0c7cb97a4c38df49242f8b',1,'GRPC_CALL_INTERNAL_REF(): call.h'],['../call_8h.html#a6845825cac8a628227db13fef74ac84d',1,'grpc_call_internal_ref(grpc_call *call): call.c'],['../call_8c.html#afdbe0f591e358205051b2af04a8df4f8',1,'grpc_call_internal_ref(grpc_call *c): call.c']]], + ['grpc_5fcall_5finternal_5funref',['GRPC_CALL_INTERNAL_UNREF',['../call_8h.html#a88a83bb312e007ce3b253c97a567383b',1,'GRPC_CALL_INTERNAL_UNREF(): call.h'],['../call_8h.html#a5f5aa8da7ebb5abc159c079891fbbe76',1,'grpc_call_internal_unref(grpc_call *call, int allow_immediate_deletion): call.c'],['../call_8c.html#afc70fe56761341f774d1b03a55a0e0e9',1,'grpc_call_internal_unref(grpc_call *c, int allow_immediate_deletion): call.c']]], + ['grpc_5fcall_5fis_5fclient',['grpc_call_is_client',['../call_8h.html#af101e4a67c8995de55cbd8b113e3b394',1,'grpc_call_is_client(grpc_call *call): call.c'],['../call_8c.html#af101e4a67c8995de55cbd8b113e3b394',1,'grpc_call_is_client(grpc_call *call): call.c']]], + ['grpc_5fcall_5flog_5fbatch',['GRPC_CALL_LOG_BATCH',['../call_8h.html#afb66440381d35f27f8a59ce496970c8a',1,'GRPC_CALL_LOG_BATCH(): call.h'],['../call_8h.html#a70fab32081ad1821de8bf3979cfa01d6',1,'grpc_call_log_batch(char *file, int line, gpr_log_severity severity, grpc_call *call, const grpc_op *ops, size_t nops, void *tag): call_log_batch.c'],['../call__log__batch_8c.html#a70fab32081ad1821de8bf3979cfa01d6',1,'grpc_call_log_batch(char *file, int line, gpr_log_severity severity, grpc_call *call, const grpc_op *ops, size_t nops, void *tag): call_log_batch.c']]], + ['grpc_5fcall_5flog_5fop',['grpc_call_log_op',['../channel__stack_8h.html#aa821d8d1e991cb36c971c6524d2ea5ee',1,'grpc_call_log_op(char *file, int line, gpr_log_severity severity, grpc_call_element *elem, grpc_transport_stream_op *op): transport_op_string.c'],['../transport__op__string_8c.html#aa821d8d1e991cb36c971c6524d2ea5ee',1,'grpc_call_log_op(char *file, int line, gpr_log_severity severity, grpc_call_element *elem, grpc_transport_stream_op *op): transport_op_string.c'],['../channel__stack_8h.html#a933b113b310801b8f916dade1569dbc3',1,'GRPC_CALL_LOG_OP(): channel_stack.h']]], + ['grpc_5fcall_5fnext_5fget_5fpeer',['grpc_call_next_get_peer',['../channel__stack_8h.html#a40c122e470335bb7a6edf1e0a31fc801',1,'grpc_call_next_get_peer(grpc_call_element *elem): channel_stack.c'],['../channel__stack_8c.html#a40c122e470335bb7a6edf1e0a31fc801',1,'grpc_call_next_get_peer(grpc_call_element *elem): channel_stack.c']]], + ['grpc_5fcall_5fnext_5fop',['grpc_call_next_op',['../channel__stack_8h.html#af52cb36e243fc3bfb81ebca882346ce9',1,'grpc_call_next_op(grpc_call_element *elem, grpc_transport_stream_op *op): channel_stack.c'],['../channel__stack_8c.html#af52cb36e243fc3bfb81ebca882346ce9',1,'grpc_call_next_op(grpc_call_element *elem, grpc_transport_stream_op *op): channel_stack.c']]], + ['grpc_5fcall_5fok',['GRPC_CALL_OK',['../grpc_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785ba32f125b97007cbdb43534e9d6e0989f8',1,'grpc.h']]], + ['grpc_5fcall_5fset_5fcompletion_5fqueue',['grpc_call_set_completion_queue',['../call_8h.html#a29e0a4ca5d3d86c071b41dcb30c117bd',1,'grpc_call_set_completion_queue(grpc_call *call, grpc_completion_queue *cq): call.c'],['../call_8c.html#a29e0a4ca5d3d86c071b41dcb30c117bd',1,'grpc_call_set_completion_queue(grpc_call *call, grpc_completion_queue *cq): call.c']]], + ['grpc_5fcall_5fset_5fcredentials',['grpc_call_set_credentials',['../grpc__security_8h.html#a56de54ae2563e67e236c10e8fa419f60',1,'grpc_call_set_credentials(grpc_call *call, grpc_credentials *creds): security_context.c'],['../security__context_8c.html#a56de54ae2563e67e236c10e8fa419f60',1,'grpc_call_set_credentials(grpc_call *call, grpc_credentials *creds): security_context.c']]], + ['grpc_5fcall_5fstack',['grpc_call_stack',['../structgrpc__call__stack.html',1,'']]], + ['grpc_5fcall_5fstack_5fdestroy',['grpc_call_stack_destroy',['../channel__stack_8h.html#a441c43095f765c200e679230a11c6116',1,'grpc_call_stack_destroy(grpc_call_stack *stack): channel_stack.c'],['../channel__stack_8c.html#a441c43095f765c200e679230a11c6116',1,'grpc_call_stack_destroy(grpc_call_stack *stack): channel_stack.c']]], + ['grpc_5fcall_5fstack_5felement',['grpc_call_stack_element',['../channel__stack_8h.html#adbba36449dd62d534cadc0de6c25bb17',1,'grpc_call_stack_element(grpc_call_stack *stack, size_t i): channel_stack.c'],['../channel__stack_8c.html#a32b8a3c21a1e805669af3569b6c4a333',1,'grpc_call_stack_element(grpc_call_stack *call_stack, size_t index): channel_stack.c']]], + ['grpc_5fcall_5fstack_5ffrom_5ftop_5felement',['grpc_call_stack_from_top_element',['../channel__stack_8h.html#a90d6131bc8142e1516618bd2e4daf58c',1,'grpc_call_stack_from_top_element(grpc_call_element *elem): channel_stack.c'],['../channel__stack_8c.html#a90d6131bc8142e1516618bd2e4daf58c',1,'grpc_call_stack_from_top_element(grpc_call_element *elem): channel_stack.c']]], + ['grpc_5fcall_5fstack_5finit',['grpc_call_stack_init',['../channel__stack_8h.html#ac7f3085338ed96593ca7c814cd6d705d',1,'grpc_call_stack_init(grpc_channel_stack *channel_stack, const void *transport_server_data, grpc_transport_stream_op *initial_op, grpc_call_stack *call_stack): channel_stack.c'],['../channel__stack_8c.html#ac7f3085338ed96593ca7c814cd6d705d',1,'grpc_call_stack_init(grpc_channel_stack *channel_stack, const void *transport_server_data, grpc_transport_stream_op *initial_op, grpc_call_stack *call_stack): channel_stack.c']]], + ['grpc_5fcall_5fstart_5fbatch',['grpc_call_start_batch',['../grpc_8h.html#ae0e60993c9d6e5ceccaf2e61f690b101',1,'grpc_call_start_batch(grpc_call *call, const grpc_op *ops, size_t nops, void *tag): call.c'],['../call_8c.html#ae0e60993c9d6e5ceccaf2e61f690b101',1,'grpc_call_start_batch(grpc_call *call, const grpc_op *ops, size_t nops, void *tag): call.c']]], + ['grpc_5fcall_5fstart_5fioreq_5fand_5fcall_5fback',['grpc_call_start_ioreq_and_call_back',['../call_8h.html#aef30c2ddcfea12c0df20548f32b4378d',1,'grpc_call_start_ioreq_and_call_back(grpc_call *call, const grpc_ioreq *reqs, size_t nreqs, grpc_ioreq_completion_func on_complete, void *user_data): call.c'],['../call_8c.html#aef30c2ddcfea12c0df20548f32b4378d',1,'grpc_call_start_ioreq_and_call_back(grpc_call *call, const grpc_ioreq *reqs, size_t nreqs, grpc_ioreq_completion_func on_complete, void *user_data): call.c']]], + ['grpc_5fcensus_5fcall_5fget_5fcontext',['grpc_census_call_get_context',['../grpc_8h.html#a0f2c6a97262a251d18b76ad470af0e66',1,'grpc_census_call_get_context(grpc_call *call): grpc_context.c'],['../grpc__context_8c.html#a333e4c9a18683ab7a0db218df7a5fc6e',1,'grpc_census_call_get_context(grpc_call *call): grpc_context.c']]], + ['grpc_5fcensus_5fcall_5fset_5fcontext',['grpc_census_call_set_context',['../grpc_8h.html#a9d5bbdac3a9068747ef3639c4e52af9a',1,'grpc_census_call_set_context(grpc_call *call, struct census_context *context): grpc_context.c'],['../grpc__context_8c.html#afe9f71e9469141cc38cf3ec1375830ce',1,'grpc_census_call_set_context(grpc_call *call, census_context *context): grpc_context.c']]], + ['grpc_5fchannel',['grpc_channel',['../structgrpc__channel.html',1,'grpc_channel'],['../grpc_8h.html#a432bfa6b9f6603643cdf9de8804c254e',1,'grpc_channel(): grpc.h']]], + ['grpc_5fchannel_5fargs',['grpc_channel_args',['../structgrpc__channel__args.html',1,'']]], + ['grpc_5fchannel_5fargs_5fcopy',['grpc_channel_args_copy',['../channel__args_8h.html#aea7141804d69de11c1470197ad87b45d',1,'grpc_channel_args_copy(const grpc_channel_args *src): channel_args.c'],['../channel__args_8c.html#aea7141804d69de11c1470197ad87b45d',1,'grpc_channel_args_copy(const grpc_channel_args *src): channel_args.c']]], + ['grpc_5fchannel_5fargs_5fcopy_5fand_5fadd',['grpc_channel_args_copy_and_add',['../channel__args_8h.html#ace4130d42d359c697a99d4ed7a7e54c3',1,'grpc_channel_args_copy_and_add(const grpc_channel_args *src, const grpc_arg *to_add, size_t num_to_add): channel_args.c'],['../channel__args_8c.html#ace4130d42d359c697a99d4ed7a7e54c3',1,'grpc_channel_args_copy_and_add(const grpc_channel_args *src, const grpc_arg *to_add, size_t num_to_add): channel_args.c']]], + ['grpc_5fchannel_5fargs_5fdestroy',['grpc_channel_args_destroy',['../channel__args_8h.html#ad7467ddcad8160325b79b8d3a627c42e',1,'grpc_channel_args_destroy(grpc_channel_args *a): channel_args.c'],['../channel__args_8c.html#ad7467ddcad8160325b79b8d3a627c42e',1,'grpc_channel_args_destroy(grpc_channel_args *a): channel_args.c']]], + ['grpc_5fchannel_5fargs_5fget_5fcompression_5falgorithm',['grpc_channel_args_get_compression_algorithm',['../channel__args_8h.html#ab6073e21bee62a87f891a10d5bb4a3bb',1,'grpc_channel_args_get_compression_algorithm(const grpc_channel_args *a): channel_args.c'],['../channel__args_8c.html#ab6073e21bee62a87f891a10d5bb4a3bb',1,'grpc_channel_args_get_compression_algorithm(const grpc_channel_args *a): channel_args.c']]], + ['grpc_5fchannel_5fargs_5fis_5fcensus_5fenabled',['grpc_channel_args_is_census_enabled',['../channel__args_8h.html#a918e3c374d10937b1cf1a7bec45e96c0',1,'grpc_channel_args_is_census_enabled(const grpc_channel_args *a): channel_args.c'],['../channel__args_8c.html#a918e3c374d10937b1cf1a7bec45e96c0',1,'grpc_channel_args_is_census_enabled(const grpc_channel_args *a): channel_args.c']]], + ['grpc_5fchannel_5fargs_5fmerge',['grpc_channel_args_merge',['../channel__args_8h.html#aa098be5f086aefff83a52e202d11a39a',1,'grpc_channel_args_merge(const grpc_channel_args *a, const grpc_channel_args *b): channel_args.c'],['../channel__args_8c.html#aa098be5f086aefff83a52e202d11a39a',1,'grpc_channel_args_merge(const grpc_channel_args *a, const grpc_channel_args *b): channel_args.c']]], + ['grpc_5fchannel_5fargs_5fset_5fcompression_5falgorithm',['grpc_channel_args_set_compression_algorithm',['../channel__args_8h.html#a1666cde2d23a797e95cf09e3c26e7f70',1,'grpc_channel_args_set_compression_algorithm(grpc_channel_args *a, grpc_compression_algorithm algorithm): channel_args.c'],['../channel__args_8c.html#a1666cde2d23a797e95cf09e3c26e7f70',1,'grpc_channel_args_set_compression_algorithm(grpc_channel_args *a, grpc_compression_algorithm algorithm): channel_args.c']]], + ['grpc_5fchannel_5fcheck_5fconnectivity_5fstate',['grpc_channel_check_connectivity_state',['../grpc_8h.html#a9623d8e4df1d17eb26b67d905f1d7cb3',1,'grpc_channel_check_connectivity_state(grpc_channel *channel, int try_to_connect): channel_connectivity.c'],['../channel__connectivity_8c.html#a9623d8e4df1d17eb26b67d905f1d7cb3',1,'grpc_channel_check_connectivity_state(grpc_channel *channel, int try_to_connect): channel_connectivity.c']]], + ['grpc_5fchannel_5fconnecting',['GRPC_CHANNEL_CONNECTING',['../grpc_8h.html#a065b65f5cdd062a67d82e2b6bcf68cf2a3ac13f6c7627f15186760bfd6b7d9299',1,'grpc.h']]], + ['grpc_5fchannel_5fcreate_5fcall',['grpc_channel_create_call',['../grpc_8h.html#a368ca2e4f76495c3c4bfbb27eb88936e',1,'grpc_channel_create_call(grpc_channel *channel, grpc_completion_queue *completion_queue, const char *method, const char *host, gpr_timespec deadline): channel.c'],['../channel_8c.html#aa6b80c5019007f758b1bf414e323db05',1,'grpc_channel_create_call(grpc_channel *channel, grpc_completion_queue *cq, const char *method, const char *host, gpr_timespec deadline): channel.c']]], + ['grpc_5fchannel_5fcreate_5ffrom_5ffilters',['grpc_channel_create_from_filters',['../channel_8h.html#a12b25d31348401c51adab93c4f461d58',1,'grpc_channel_create_from_filters(const char *target, const grpc_channel_filter **filters, size_t count, const grpc_channel_args *args, grpc_mdctx *mdctx, int is_client): channel.c'],['../channel_8c.html#a32e56f0a0ab55d90624b92cbbf7bd384',1,'grpc_channel_create_from_filters(const char *target, const grpc_channel_filter **filters, size_t num_filters, const grpc_channel_args *args, grpc_mdctx *mdctx, int is_client): channel.c']]], + ['grpc_5fchannel_5fcreate_5fregistered_5fcall',['grpc_channel_create_registered_call',['../grpc_8h.html#a38aa45cdbc3d9a9529bcb6ee8b2c68aa',1,'grpc_channel_create_registered_call(grpc_channel *channel, grpc_completion_queue *completion_queue, void *registered_call_handle, gpr_timespec deadline): channel.c'],['../channel_8c.html#a38aa45cdbc3d9a9529bcb6ee8b2c68aa',1,'grpc_channel_create_registered_call(grpc_channel *channel, grpc_completion_queue *completion_queue, void *registered_call_handle, gpr_timespec deadline): channel.c']]], + ['grpc_5fchannel_5fdestroy',['grpc_channel_destroy',['../grpc_8h.html#a16e4b95581ad12e8e0af2af8d41b71b3',1,'grpc_channel_destroy(grpc_channel *channel): channel.c'],['../channel_8c.html#a16e4b95581ad12e8e0af2af8d41b71b3',1,'grpc_channel_destroy(grpc_channel *channel): channel.c']]], + ['grpc_5fchannel_5felement',['grpc_channel_element',['../structgrpc__channel__element.html',1,'grpc_channel_element'],['../channel__stack_8h.html#aea7892e6dfe1fbf098a7d6deea46d4ca',1,'grpc_channel_element(): channel_stack.h']]], + ['grpc_5fchannel_5ffatal_5ffailure',['GRPC_CHANNEL_FATAL_FAILURE',['../grpc_8h.html#a065b65f5cdd062a67d82e2b6bcf68cf2a8f774ebe233ee26ebd546fe4b58060b6',1,'grpc.h']]], + ['grpc_5fchannel_5ffilter',['grpc_channel_filter',['../structgrpc__channel__filter.html',1,'']]], + ['grpc_5fchannel_5fget_5fchannel_5fstack',['grpc_channel_get_channel_stack',['../channel_8h.html#a264b543c86559165c42b1c41cb4c9045',1,'grpc_channel_get_channel_stack(grpc_channel *channel): channel.c'],['../channel_8c.html#a264b543c86559165c42b1c41cb4c9045',1,'grpc_channel_get_channel_stack(grpc_channel *channel): channel.c']]], + ['grpc_5fchannel_5fget_5fcompression_5falgorithm_5fstring',['grpc_channel_get_compression_algorithm_string',['../channel_8h.html#aee69f0f30f9cdcdd3961b1d253fa29af',1,'grpc_channel_get_compression_algorithm_string(grpc_channel *channel): channel.c'],['../channel_8c.html#aee69f0f30f9cdcdd3961b1d253fa29af',1,'grpc_channel_get_compression_algorithm_string(grpc_channel *channel): channel.c']]], + ['grpc_5fchannel_5fget_5fmax_5fmessage_5flength',['grpc_channel_get_max_message_length',['../channel_8h.html#a1f91159c2a0d259aa7f854ba4204cafd',1,'grpc_channel_get_max_message_length(grpc_channel *channel): channel.c'],['../channel_8c.html#a1f91159c2a0d259aa7f854ba4204cafd',1,'grpc_channel_get_max_message_length(grpc_channel *channel): channel.c']]], + ['grpc_5fchannel_5fget_5fmessage_5fstring',['grpc_channel_get_message_string',['../channel_8h.html#a3008e3086b47f6170180c32ef88c83db',1,'grpc_channel_get_message_string(grpc_channel *channel): channel.c'],['../channel_8c.html#a3008e3086b47f6170180c32ef88c83db',1,'grpc_channel_get_message_string(grpc_channel *channel): channel.c']]], + ['grpc_5fchannel_5fget_5fmetadata_5fcontext',['grpc_channel_get_metadata_context',['../channel_8h.html#a6b9ee58f86b3e3026767b37bbc3efa80',1,'grpc_channel_get_metadata_context(grpc_channel *channel): channel.c'],['../channel_8c.html#a6b9ee58f86b3e3026767b37bbc3efa80',1,'grpc_channel_get_metadata_context(grpc_channel *channel): channel.c']]], + ['grpc_5fchannel_5fget_5freffed_5fstatus_5felem',['grpc_channel_get_reffed_status_elem',['../channel_8h.html#a0c93bb726613652c5a22d9f4fb6c2101',1,'grpc_channel_get_reffed_status_elem(grpc_channel *channel, int status_code): channel.c'],['../channel_8c.html#a49c14becac82008119b5e9fd9d554983',1,'grpc_channel_get_reffed_status_elem(grpc_channel *channel, int i): channel.c']]], + ['grpc_5fchannel_5fget_5fstatus_5fstring',['grpc_channel_get_status_string',['../channel_8h.html#a2192de2d31a54523311ce241f933e048',1,'grpc_channel_get_status_string(grpc_channel *channel): channel.c'],['../channel_8c.html#a2192de2d31a54523311ce241f933e048',1,'grpc_channel_get_status_string(grpc_channel *channel): channel.c']]], + ['grpc_5fchannel_5fget_5ftarget',['grpc_channel_get_target',['../grpc_8h.html#a108ef86bc0e5ebcb05f744315e2a6499',1,'grpc_channel_get_target(grpc_channel *channel): channel.c'],['../channel_8c.html#a108ef86bc0e5ebcb05f744315e2a6499',1,'grpc_channel_get_target(grpc_channel *channel): channel.c']]], + ['grpc_5fchannel_5fidle',['GRPC_CHANNEL_IDLE',['../grpc_8h.html#a065b65f5cdd062a67d82e2b6bcf68cf2a304d1b81cec4357a9a6acbcb18248e77',1,'grpc.h']]], + ['grpc_5fchannel_5finternal_5fref',['GRPC_CHANNEL_INTERNAL_REF',['../channel_8h.html#aa19087be931208174c3f30c983b0061c',1,'GRPC_CHANNEL_INTERNAL_REF(): channel.h'],['../channel_8h.html#a2e6da9e3b86935fa1ddd6d55bf6b1634',1,'grpc_channel_internal_ref(grpc_channel *channel): channel.c'],['../channel_8c.html#a7e9137c2c6f7cc3c1cdc27fbc5f23b41',1,'grpc_channel_internal_ref(grpc_channel *c): channel.c']]], + ['grpc_5fchannel_5finternal_5funref',['grpc_channel_internal_unref',['../channel_8h.html#a7fe6e3f3337487d8b584cb8d51bdfa6b',1,'grpc_channel_internal_unref(grpc_channel *channel): channel.c'],['../channel_8c.html#a7fe6e3f3337487d8b584cb8d51bdfa6b',1,'grpc_channel_internal_unref(grpc_channel *channel): channel.c'],['../channel_8h.html#a8391477c21b23ffe97f2e6327c74e77e',1,'GRPC_CHANNEL_INTERNAL_UNREF(): channel.h']]], + ['grpc_5fchannel_5fnext_5fop',['grpc_channel_next_op',['../channel__stack_8h.html#aea7eceb60c0e94465c4baea314c0ebd9',1,'grpc_channel_next_op(grpc_channel_element *elem, grpc_transport_op *op): channel_stack.c'],['../channel__stack_8c.html#aea7eceb60c0e94465c4baea314c0ebd9',1,'grpc_channel_next_op(grpc_channel_element *elem, grpc_transport_op *op): channel_stack.c']]], + ['grpc_5fchannel_5fready',['GRPC_CHANNEL_READY',['../grpc_8h.html#a065b65f5cdd062a67d82e2b6bcf68cf2aab01ef3f78d9236dfa3c751dc66aa7ea',1,'grpc.h']]], + ['grpc_5fchannel_5fregister_5fcall',['grpc_channel_register_call',['../grpc_8h.html#af00855f27d8b7c6b232982446371c04d',1,'grpc_channel_register_call(grpc_channel *channel, const char *method, const char *host): channel.c'],['../channel_8c.html#af00855f27d8b7c6b232982446371c04d',1,'grpc_channel_register_call(grpc_channel *channel, const char *method, const char *host): channel.c']]], + ['grpc_5fchannel_5fsecurity_5fconnector',['grpc_channel_security_connector',['../structgrpc__channel__security__connector.html',1,'grpc_channel_security_connector'],['../security__connector_8h.html#afbebb4c120eeea2ad96953aae5f656ec',1,'grpc_channel_security_connector(): security_connector.h']]], + ['grpc_5fchannel_5fsecurity_5fconnector_5fcheck_5fcall_5fhost',['grpc_channel_security_connector_check_call_host',['../security__connector_8h.html#a845341440590ee81647b56575eb60168',1,'grpc_channel_security_connector_check_call_host(grpc_channel_security_connector *sc, const char *host, grpc_security_check_cb cb, void *user_data): security_connector.c'],['../security__connector_8c.html#a845341440590ee81647b56575eb60168',1,'grpc_channel_security_connector_check_call_host(grpc_channel_security_connector *sc, const char *host, grpc_security_check_cb cb, void *user_data): security_connector.c']]], + ['grpc_5fchannel_5fstack',['grpc_channel_stack',['../structgrpc__channel__stack.html',1,'']]], + ['grpc_5fchannel_5fstack_5fdestroy',['grpc_channel_stack_destroy',['../channel__stack_8h.html#ad06f3ee4d872888e99778e5faa610764',1,'grpc_channel_stack_destroy(grpc_channel_stack *stack): channel_stack.c'],['../channel__stack_8c.html#ad06f3ee4d872888e99778e5faa610764',1,'grpc_channel_stack_destroy(grpc_channel_stack *stack): channel_stack.c']]], + ['grpc_5fchannel_5fstack_5felement',['grpc_channel_stack_element',['../channel__stack_8h.html#a85cb9b511c9a4f222ec27d8459cb7c40',1,'grpc_channel_stack_element(grpc_channel_stack *stack, size_t i): channel_stack.c'],['../channel__stack_8c.html#a6fa445cf1f13f17095e14c0cc8801fb5',1,'grpc_channel_stack_element(grpc_channel_stack *channel_stack, size_t index): channel_stack.c']]], + ['grpc_5fchannel_5fstack_5ffrom_5ftop_5felement',['grpc_channel_stack_from_top_element',['../channel__stack_8h.html#a5fd8b3503ac2f8193509e2ce02ef9406',1,'grpc_channel_stack_from_top_element(grpc_channel_element *elem): channel_stack.c'],['../channel__stack_8c.html#a5fd8b3503ac2f8193509e2ce02ef9406',1,'grpc_channel_stack_from_top_element(grpc_channel_element *elem): channel_stack.c']]], + ['grpc_5fchannel_5fstack_5finit',['grpc_channel_stack_init',['../channel__stack_8h.html#a9dfbcf853676b70efa84cf8777a7b928',1,'grpc_channel_stack_init(const grpc_channel_filter **filters, size_t filter_count, grpc_channel *master, const grpc_channel_args *args, grpc_mdctx *metadata_context, grpc_channel_stack *stack): channel_stack.c'],['../channel__stack_8c.html#a9dfbcf853676b70efa84cf8777a7b928',1,'grpc_channel_stack_init(const grpc_channel_filter **filters, size_t filter_count, grpc_channel *master, const grpc_channel_args *args, grpc_mdctx *metadata_context, grpc_channel_stack *stack): channel_stack.c']]], + ['grpc_5fchannel_5fstack_5flast_5felement',['grpc_channel_stack_last_element',['../channel__stack_8h.html#a1245cdffecb56b7eb11d189327dc29b0',1,'grpc_channel_stack_last_element(grpc_channel_stack *stack): channel_stack.c'],['../channel__stack_8c.html#a663793c2627677279816d636bf310b50',1,'grpc_channel_stack_last_element(grpc_channel_stack *channel_stack): channel_stack.c']]], + ['grpc_5fchannel_5fstack_5fsize',['grpc_channel_stack_size',['../channel__stack_8h.html#a7593e5b07a422db70484cfb66264dd1b',1,'grpc_channel_stack_size(const grpc_channel_filter **filters, size_t filter_count): channel_stack.c'],['../channel__stack_8c.html#a7593e5b07a422db70484cfb66264dd1b',1,'grpc_channel_stack_size(const grpc_channel_filter **filters, size_t filter_count): channel_stack.c']]], + ['grpc_5fchannel_5ftransient_5ffailure',['GRPC_CHANNEL_TRANSIENT_FAILURE',['../grpc_8h.html#a065b65f5cdd062a67d82e2b6bcf68cf2af5bffd3ffb03795f551b0fa78e44b9b6',1,'grpc.h']]], + ['grpc_5fchannel_5fwatch_5fconnectivity_5fstate',['grpc_channel_watch_connectivity_state',['../grpc_8h.html#a29aa98ca6ce9f7e5116e43b0c414e96b',1,'grpc_channel_watch_connectivity_state(grpc_channel *channel, grpc_connectivity_state last_observed_state, gpr_timespec deadline, grpc_completion_queue *cq, void *tag): channel_connectivity.c'],['../channel__connectivity_8c.html#a29aa98ca6ce9f7e5116e43b0c414e96b',1,'grpc_channel_watch_connectivity_state(grpc_channel *channel, grpc_connectivity_state last_observed_state, gpr_timespec deadline, grpc_completion_queue *cq, void *tag): channel_connectivity.c']]], + ['grpc_5fchttp2_5f_5ferror_5fdo_5fnot_5fuse',['GRPC_CHTTP2__ERROR_DO_NOT_USE',['../http2__errors_8h.html#a093974eee0aaf09397d243c7dcebd4daa8e5f197695b6c1b6219c713f252cbe98',1,'http2_errors.h']]], + ['grpc_5fchttp2_5fadd_5fincoming_5fgoaway',['grpc_chttp2_add_incoming_goaway',['../internal_8h.html#aeb6a160980622d4e5d1b8e9e608c6771',1,'grpc_chttp2_add_incoming_goaway(grpc_chttp2_transport_global *transport_global, gpr_uint32 goaway_error, gpr_slice goaway_text): chttp2_transport.c'],['../chttp2__transport_8c.html#aeb6a160980622d4e5d1b8e9e608c6771',1,'grpc_chttp2_add_incoming_goaway(grpc_chttp2_transport_global *transport_global, gpr_uint32 goaway_error, gpr_slice goaway_text): chttp2_transport.c']]], + ['grpc_5fchttp2_5fbase64_5fencode',['grpc_chttp2_base64_encode',['../bin__encoder_8h.html#a1435a6d866c6e7f7989ca786facc1fde',1,'grpc_chttp2_base64_encode(gpr_slice input): bin_encoder.c'],['../bin__encoder_8c.html#a1435a6d866c6e7f7989ca786facc1fde',1,'grpc_chttp2_base64_encode(gpr_slice input): bin_encoder.c']]], + ['grpc_5fchttp2_5fbase64_5fencode_5fand_5fhuffman_5fcompress',['grpc_chttp2_base64_encode_and_huffman_compress',['../bin__encoder_8h.html#a0d29385f837594681b517d91d5d578a7',1,'grpc_chttp2_base64_encode_and_huffman_compress(gpr_slice input): bin_encoder.c'],['../bin__encoder_8c.html#a0d29385f837594681b517d91d5d578a7',1,'grpc_chttp2_base64_encode_and_huffman_compress(gpr_slice input): bin_encoder.c']]], + ['grpc_5fchttp2_5fcancel',['GRPC_CHTTP2_CANCEL',['../http2__errors_8h.html#a093974eee0aaf09397d243c7dcebd4daa9264c0548b0e8fc3e8925c97950a3ada',1,'http2_errors.h']]], + ['grpc_5fchttp2_5fclamp_5finvalid_5fvalue',['GRPC_CHTTP2_CLAMP_INVALID_VALUE',['../frame__settings_8h.html#a4df6da81a733ff99e174c9502a7e69dfabc4bdee640e0fd68941f5cef7d0d5c1d',1,'frame_settings.h']]], + ['grpc_5fchttp2_5fcleanup_5fwriting',['grpc_chttp2_cleanup_writing',['../internal_8h.html#a309e83a79f87a133dee17a1a7dd592b9',1,'grpc_chttp2_cleanup_writing(grpc_chttp2_transport_global *global, grpc_chttp2_transport_writing *writing): writing.c'],['../writing_8c.html#aec2dafff34e07d99d473de28a658614f',1,'grpc_chttp2_cleanup_writing(grpc_chttp2_transport_global *transport_global, grpc_chttp2_transport_writing *transport_writing): writing.c']]], + ['grpc_5fchttp2_5fclient_5fconnect_5fstring',['GRPC_CHTTP2_CLIENT_CONNECT_STRING',['../internal_8h.html#a4c51a6034ac0f34ecffc582732ad68a4',1,'internal.h']]], + ['grpc_5fchttp2_5fclient_5fconnect_5fstrlen',['GRPC_CHTTP2_CLIENT_CONNECT_STRLEN',['../internal_8h.html#a5fd119b62e9b3648496dbb7c2f2a0025',1,'internal.h']]], + ['grpc_5fchttp2_5fcompression_5ferror',['GRPC_CHTTP2_COMPRESSION_ERROR',['../http2__errors_8h.html#a093974eee0aaf09397d243c7dcebd4daa8aad7d6ac431ca99de5ff0fb216cbf14',1,'http2_errors.h']]], + ['grpc_5fchttp2_5fconnect_5ferror',['GRPC_CHTTP2_CONNECT_ERROR',['../http2__errors_8h.html#a093974eee0aaf09397d243c7dcebd4daaa7fa96238f0902347df0e4eebe25bf95',1,'http2_errors.h']]], + ['grpc_5fchttp2_5fconnection_5ferror',['GRPC_CHTTP2_CONNECTION_ERROR',['../frame_8h.html#ada474db64756bd411eeeaf3de4318e35a0bff666112f9afb13b93c48ed70c99c4',1,'frame.h']]], + ['grpc_5fchttp2_5fdata_5ffh_5f0',['GRPC_CHTTP2_DATA_FH_0',['../frame__data_8h.html#a0217c22db3da53fe20f70cb48dd3a910a8606bae7951c3a44f31201632d3358fc',1,'frame_data.h']]], + ['grpc_5fchttp2_5fdata_5ffh_5f1',['GRPC_CHTTP2_DATA_FH_1',['../frame__data_8h.html#a0217c22db3da53fe20f70cb48dd3a910ab2647959f772db94da5da74192754b6c',1,'frame_data.h']]], + ['grpc_5fchttp2_5fdata_5ffh_5f2',['GRPC_CHTTP2_DATA_FH_2',['../frame__data_8h.html#a0217c22db3da53fe20f70cb48dd3a910adf4a0199bbd7ecc325f84d2781290843',1,'frame_data.h']]], + ['grpc_5fchttp2_5fdata_5ffh_5f3',['GRPC_CHTTP2_DATA_FH_3',['../frame__data_8h.html#a0217c22db3da53fe20f70cb48dd3a910a1cf7aa5d2aa4fbe172e9356326228e91',1,'frame_data.h']]], + ['grpc_5fchttp2_5fdata_5ffh_5f4',['GRPC_CHTTP2_DATA_FH_4',['../frame__data_8h.html#a0217c22db3da53fe20f70cb48dd3a910a5d5cd606ac5966a5ad7deef8241ed288',1,'frame_data.h']]], + ['grpc_5fchttp2_5fdata_5fflag_5fend_5fheaders',['GRPC_CHTTP2_DATA_FLAG_END_HEADERS',['../frame_8h.html#a9e28337a838f07e06987f344a01f7f0f',1,'frame.h']]], + ['grpc_5fchttp2_5fdata_5fflag_5fend_5fstream',['GRPC_CHTTP2_DATA_FLAG_END_STREAM',['../frame_8h.html#aebe712016c70bba5c7fc0cbc7f372681',1,'frame.h']]], + ['grpc_5fchttp2_5fdata_5fflag_5fpadded',['GRPC_CHTTP2_DATA_FLAG_PADDED',['../frame_8h.html#ab01d61cf6f1abddae8031ebcf6e34e09',1,'frame.h']]], + ['grpc_5fchttp2_5fdata_5fframe',['GRPC_CHTTP2_DATA_FRAME',['../frame__data_8h.html#a0217c22db3da53fe20f70cb48dd3a910aa95da05ccc06aa0c2196dcb54717b6de',1,'frame_data.h']]], + ['grpc_5fchttp2_5fdata_5fframe_5fcreate_5fempty_5fclose',['grpc_chttp2_data_frame_create_empty_close',['../frame__data_8h.html#aa79c486a29b6e104c57be53a20d91362',1,'grpc_chttp2_data_frame_create_empty_close(gpr_uint32 id): stream_encoder.c'],['../stream__encoder_8c.html#aa79c486a29b6e104c57be53a20d91362',1,'grpc_chttp2_data_frame_create_empty_close(gpr_uint32 id): stream_encoder.c']]], + ['grpc_5fchttp2_5fdata_5fparser',['grpc_chttp2_data_parser',['../structgrpc__chttp2__data__parser.html',1,'']]], + ['grpc_5fchttp2_5fdata_5fparser_5fbegin_5fframe',['grpc_chttp2_data_parser_begin_frame',['../frame__data_8h.html#afab39491d68260dc81d1a57cac6f434a',1,'grpc_chttp2_data_parser_begin_frame(grpc_chttp2_data_parser *parser, gpr_uint8 flags): frame_data.c'],['../frame__data_8c.html#afab39491d68260dc81d1a57cac6f434a',1,'grpc_chttp2_data_parser_begin_frame(grpc_chttp2_data_parser *parser, gpr_uint8 flags): frame_data.c']]], + ['grpc_5fchttp2_5fdata_5fparser_5fdestroy',['grpc_chttp2_data_parser_destroy',['../frame__data_8h.html#a5927900bd0d0911de70cab715f4d4468',1,'grpc_chttp2_data_parser_destroy(grpc_chttp2_data_parser *parser): frame_data.c'],['../frame__data_8c.html#a5927900bd0d0911de70cab715f4d4468',1,'grpc_chttp2_data_parser_destroy(grpc_chttp2_data_parser *parser): frame_data.c']]], + ['grpc_5fchttp2_5fdata_5fparser_5finit',['grpc_chttp2_data_parser_init',['../frame__data_8h.html#a796d3b28bd11e75897705b4f92a5cae7',1,'grpc_chttp2_data_parser_init(grpc_chttp2_data_parser *parser): frame_data.c'],['../frame__data_8c.html#a796d3b28bd11e75897705b4f92a5cae7',1,'grpc_chttp2_data_parser_init(grpc_chttp2_data_parser *parser): frame_data.c']]], + ['grpc_5fchttp2_5fdata_5fparser_5fparse',['grpc_chttp2_data_parser_parse',['../frame__data_8h.html#abc519029db35772068e9a052076fcfa1',1,'grpc_chttp2_data_parser_parse(void *parser, grpc_chttp2_transport_parsing *transport_parsing, grpc_chttp2_stream_parsing *stream_parsing, gpr_slice slice, int is_last): frame_data.c'],['../frame__data_8c.html#abc519029db35772068e9a052076fcfa1',1,'grpc_chttp2_data_parser_parse(void *parser, grpc_chttp2_transport_parsing *transport_parsing, grpc_chttp2_stream_parsing *stream_parsing, gpr_slice slice, int is_last): frame_data.c']]], + ['grpc_5fchttp2_5fdecode_5ftimeout',['grpc_chttp2_decode_timeout',['../timeout__encoding_8h.html#ac96a9d21da277e6a790fa8ac5846b5d8',1,'grpc_chttp2_decode_timeout(const char *buffer, gpr_timespec *timeout): timeout_encoding.c'],['../timeout__encoding_8c.html#ac96a9d21da277e6a790fa8ac5846b5d8',1,'grpc_chttp2_decode_timeout(const char *buffer, gpr_timespec *timeout): timeout_encoding.c']]], + ['grpc_5fchttp2_5fdeframe_5ftransport_5fstate',['grpc_chttp2_deframe_transport_state',['../internal_8h.html#a6f98ba3b22480becf1bcc47253326a62',1,'internal.h']]], + ['grpc_5fchttp2_5fdisconnect_5fon_5finvalid_5fvalue',['GRPC_CHTTP2_DISCONNECT_ON_INVALID_VALUE',['../frame__settings_8h.html#a4df6da81a733ff99e174c9502a7e69dfaaf75d3b2b0b3e9f19d2492734d0ab7ac',1,'frame_settings.h']]], + ['grpc_5fchttp2_5fencode',['grpc_chttp2_encode',['../stream__encoder_8h.html#a1fdaaa3443176e8815ffe75804b5efbd',1,'grpc_chttp2_encode(grpc_stream_op *ops, size_t ops_count, int eof, gpr_uint32 stream_id, grpc_chttp2_hpack_compressor *compressor, gpr_slice_buffer *output): stream_encoder.c'],['../stream__encoder_8c.html#a1fdaaa3443176e8815ffe75804b5efbd',1,'grpc_chttp2_encode(grpc_stream_op *ops, size_t ops_count, int eof, gpr_uint32 stream_id, grpc_chttp2_hpack_compressor *compressor, gpr_slice_buffer *output): stream_encoder.c']]], + ['grpc_5fchttp2_5fencode_5ftimeout',['grpc_chttp2_encode_timeout',['../timeout__encoding_8h.html#aa4128995f3b3d4fe068c1635a85f7bcc',1,'grpc_chttp2_encode_timeout(gpr_timespec timeout, char *buffer): timeout_encoding.c'],['../timeout__encoding_8c.html#aa4128995f3b3d4fe068c1635a85f7bcc',1,'grpc_chttp2_encode_timeout(gpr_timespec timeout, char *buffer): timeout_encoding.c']]], + ['grpc_5fchttp2_5fenhance_5fyour_5fcalm',['GRPC_CHTTP2_ENHANCE_YOUR_CALM',['../http2__errors_8h.html#a093974eee0aaf09397d243c7dcebd4daa781f6e847c97a46478a27d4a9a08d602',1,'http2_errors.h']]], + ['grpc_5fchttp2_5ferror_5fcode',['grpc_chttp2_error_code',['../http2__errors_8h.html#a093974eee0aaf09397d243c7dcebd4da',1,'http2_errors.h']]], + ['grpc_5fchttp2_5fflag_5fack',['GRPC_CHTTP2_FLAG_ACK',['../frame_8h.html#ae399b812927e4ccfa1836814e719bec6',1,'frame.h']]], + ['grpc_5fchttp2_5fflag_5fhas_5fpriority',['GRPC_CHTTP2_FLAG_HAS_PRIORITY',['../frame_8h.html#a8fbbbbd20f7217de2249fb8597b48c36',1,'frame.h']]], + ['grpc_5fchttp2_5fflow_5fcontrol_5ferror',['GRPC_CHTTP2_FLOW_CONTROL_ERROR',['../http2__errors_8h.html#a093974eee0aaf09397d243c7dcebd4daa233f21b2f8d7b783e17c62e130566ffc',1,'http2_errors.h']]], + ['grpc_5fchttp2_5fflowctl_5ftrace',['grpc_chttp2_flowctl_trace',['../internal_8h.html#ac054ecf6e743093e5527787063f3acaa',1,'grpc_chttp2_flowctl_trace(const char *file, int line, const char *reason, const char *context, const char *var, int is_client, gpr_uint32 stream_id, gpr_int64 current_value, gpr_int64 delta): chttp2_transport.c'],['../chttp2__transport_8c.html#ac054ecf6e743093e5527787063f3acaa',1,'grpc_chttp2_flowctl_trace(const char *file, int line, const char *reason, const char *context, const char *var, int is_client, gpr_uint32 stream_id, gpr_int64 current_value, gpr_int64 delta): chttp2_transport.c']]], + ['grpc_5fchttp2_5fflowctl_5ftrace_5fstream',['GRPC_CHTTP2_FLOWCTL_TRACE_STREAM',['../internal_8h.html#a927cb1449b541fcb1812761184135ca1',1,'internal.h']]], + ['grpc_5fchttp2_5fflowctl_5ftrace_5ftransport',['GRPC_CHTTP2_FLOWCTL_TRACE_TRANSPORT',['../internal_8h.html#ad6d86669b104a248fbee4d8f63237a06',1,'internal.h']]], + ['grpc_5fchttp2_5ffor_5fall_5fstreams',['grpc_chttp2_for_all_streams',['../internal_8h.html#a62031f6afc6643cc2f34b4af2d547576',1,'grpc_chttp2_for_all_streams(grpc_chttp2_transport_global *transport_global, void *user_data, void(*cb)(grpc_chttp2_transport_global *transport_global, void *user_data, grpc_chttp2_stream_global *stream_global)): stream_lists.c'],['../stream__lists_8c.html#a62031f6afc6643cc2f34b4af2d547576',1,'grpc_chttp2_for_all_streams(grpc_chttp2_transport_global *transport_global, void *user_data, void(*cb)(grpc_chttp2_transport_global *transport_global, void *user_data, grpc_chttp2_stream_global *stream_global)): stream_lists.c']]], + ['grpc_5fchttp2_5fframe_5fcontinuation',['GRPC_CHTTP2_FRAME_CONTINUATION',['../frame_8h.html#ae8ffe7f9a02584c5eed5876f6d8e497b',1,'frame.h']]], + ['grpc_5fchttp2_5fframe_5fdata',['GRPC_CHTTP2_FRAME_DATA',['../frame_8h.html#af475a6ee5b3fc2b9c8b835d927521bee',1,'frame.h']]], + ['grpc_5fchttp2_5fframe_5fgoaway',['GRPC_CHTTP2_FRAME_GOAWAY',['../frame_8h.html#a624f289bc52602a8c3340ad747075130',1,'frame.h']]], + ['grpc_5fchttp2_5fframe_5fheader',['GRPC_CHTTP2_FRAME_HEADER',['../frame_8h.html#ab82e94b9ff60e4ef29301db9b4022805',1,'frame.h']]], + ['grpc_5fchttp2_5fframe_5fping',['GRPC_CHTTP2_FRAME_PING',['../frame_8h.html#a9a92c84ae932e1b9a79af8f099516ece',1,'frame.h']]], + ['grpc_5fchttp2_5fframe_5frst_5fstream',['GRPC_CHTTP2_FRAME_RST_STREAM',['../frame_8h.html#a0e6ad3bb0bc03b02cd2791f34014c933',1,'frame.h']]], + ['grpc_5fchttp2_5fframe_5fsettings',['GRPC_CHTTP2_FRAME_SETTINGS',['../frame_8h.html#aa030a067f1b4cbb8d34c28fbb43e8046',1,'frame.h']]], + ['grpc_5fchttp2_5fframe_5fsize_5ferror',['GRPC_CHTTP2_FRAME_SIZE_ERROR',['../http2__errors_8h.html#a093974eee0aaf09397d243c7dcebd4daa63771a624c3d25b6fac2eaab524eb8cf',1,'http2_errors.h']]], + ['grpc_5fchttp2_5fframe_5fwindow_5fupdate',['GRPC_CHTTP2_FRAME_WINDOW_UPDATE',['../frame_8h.html#ac9af6484a80a10f0213465fa5dc14031',1,'frame.h']]], + ['grpc_5fchttp2_5fget_5falpn_5fversion_5findex',['grpc_chttp2_get_alpn_version_index',['../alpn_8h.html#a3f09d970c73c43952620b5e983c77dc5',1,'grpc_chttp2_get_alpn_version_index(size_t i): alpn.c'],['../alpn_8c.html#a3f09d970c73c43952620b5e983c77dc5',1,'grpc_chttp2_get_alpn_version_index(size_t i): alpn.c']]], + ['grpc_5fchttp2_5fgoaway_5fappend',['grpc_chttp2_goaway_append',['../frame__goaway_8h.html#a71bd236ace0cb6b0f04ebb1049efc5bc',1,'grpc_chttp2_goaway_append(gpr_uint32 last_stream_id, gpr_uint32 error_code, gpr_slice debug_data, gpr_slice_buffer *slice_buffer): frame_goaway.c'],['../frame__goaway_8c.html#a71bd236ace0cb6b0f04ebb1049efc5bc',1,'grpc_chttp2_goaway_append(gpr_uint32 last_stream_id, gpr_uint32 error_code, gpr_slice debug_data, gpr_slice_buffer *slice_buffer): frame_goaway.c']]], + ['grpc_5fchttp2_5fgoaway_5fdebug',['GRPC_CHTTP2_GOAWAY_DEBUG',['../frame__goaway_8h.html#a14004d750241aad1932b7a6abdcd436aa1ca1c1ca48d62838f5803452f7fc0619',1,'frame_goaway.h']]], + ['grpc_5fchttp2_5fgoaway_5ferr0',['GRPC_CHTTP2_GOAWAY_ERR0',['../frame__goaway_8h.html#a14004d750241aad1932b7a6abdcd436aa3980674942df0749ccce6bd0b8a1774a',1,'frame_goaway.h']]], + ['grpc_5fchttp2_5fgoaway_5ferr1',['GRPC_CHTTP2_GOAWAY_ERR1',['../frame__goaway_8h.html#a14004d750241aad1932b7a6abdcd436aa043c53d587fd0409363123590db80131',1,'frame_goaway.h']]], + ['grpc_5fchttp2_5fgoaway_5ferr2',['GRPC_CHTTP2_GOAWAY_ERR2',['../frame__goaway_8h.html#a14004d750241aad1932b7a6abdcd436aa65caf31f49f9cf98aa594be64659c18f',1,'frame_goaway.h']]], + ['grpc_5fchttp2_5fgoaway_5ferr3',['GRPC_CHTTP2_GOAWAY_ERR3',['../frame__goaway_8h.html#a14004d750241aad1932b7a6abdcd436aa5decad83e822e3504618079fe13e3998',1,'frame_goaway.h']]], + ['grpc_5fchttp2_5fgoaway_5flsi0',['GRPC_CHTTP2_GOAWAY_LSI0',['../frame__goaway_8h.html#a14004d750241aad1932b7a6abdcd436aa44acac95504eba73375c26bb469c0149',1,'frame_goaway.h']]], + ['grpc_5fchttp2_5fgoaway_5flsi1',['GRPC_CHTTP2_GOAWAY_LSI1',['../frame__goaway_8h.html#a14004d750241aad1932b7a6abdcd436aa6b7fb7a9b9a4c34ef4e3e12adf06a3e6',1,'frame_goaway.h']]], + ['grpc_5fchttp2_5fgoaway_5flsi2',['GRPC_CHTTP2_GOAWAY_LSI2',['../frame__goaway_8h.html#a14004d750241aad1932b7a6abdcd436aab1ff486da91ae87dfd94234508f6fbbe',1,'frame_goaway.h']]], + ['grpc_5fchttp2_5fgoaway_5flsi3',['GRPC_CHTTP2_GOAWAY_LSI3',['../frame__goaway_8h.html#a14004d750241aad1932b7a6abdcd436aa528143455d42821886ecaba0ec753a72',1,'frame_goaway.h']]], + ['grpc_5fchttp2_5fgoaway_5fparse_5fstate',['grpc_chttp2_goaway_parse_state',['../frame__goaway_8h.html#a14004d750241aad1932b7a6abdcd436a',1,'frame_goaway.h']]], + ['grpc_5fchttp2_5fgoaway_5fparser',['grpc_chttp2_goaway_parser',['../structgrpc__chttp2__goaway__parser.html',1,'']]], + ['grpc_5fchttp2_5fgoaway_5fparser_5fbegin_5fframe',['grpc_chttp2_goaway_parser_begin_frame',['../frame__goaway_8h.html#a48814915966d3dd70b73d854629813b6',1,'grpc_chttp2_goaway_parser_begin_frame(grpc_chttp2_goaway_parser *parser, gpr_uint32 length, gpr_uint8 flags): frame_goaway.c'],['../frame__goaway_8c.html#a2dd5fba43ce1f26f220199c1c7db0f05',1,'grpc_chttp2_goaway_parser_begin_frame(grpc_chttp2_goaway_parser *p, gpr_uint32 length, gpr_uint8 flags): frame_goaway.c']]], + ['grpc_5fchttp2_5fgoaway_5fparser_5fdestroy',['grpc_chttp2_goaway_parser_destroy',['../frame__goaway_8h.html#a5cd3e388f5844ad2c4c7d1c9488436a8',1,'grpc_chttp2_goaway_parser_destroy(grpc_chttp2_goaway_parser *p): frame_goaway.c'],['../frame__goaway_8c.html#a5cd3e388f5844ad2c4c7d1c9488436a8',1,'grpc_chttp2_goaway_parser_destroy(grpc_chttp2_goaway_parser *p): frame_goaway.c']]], + ['grpc_5fchttp2_5fgoaway_5fparser_5finit',['grpc_chttp2_goaway_parser_init',['../frame__goaway_8h.html#a8df9b9a3fcd7bc6d679b47909c2c8f23',1,'grpc_chttp2_goaway_parser_init(grpc_chttp2_goaway_parser *p): frame_goaway.c'],['../frame__goaway_8c.html#a8df9b9a3fcd7bc6d679b47909c2c8f23',1,'grpc_chttp2_goaway_parser_init(grpc_chttp2_goaway_parser *p): frame_goaway.c']]], + ['grpc_5fchttp2_5fgoaway_5fparser_5fparse',['grpc_chttp2_goaway_parser_parse',['../frame__goaway_8h.html#a52a6863feebfb5a9962330d42b22be2d',1,'grpc_chttp2_goaway_parser_parse(void *parser, grpc_chttp2_transport_parsing *transport_parsing, grpc_chttp2_stream_parsing *stream_parsing, gpr_slice slice, int is_last): frame_goaway.c'],['../frame__goaway_8c.html#a52a6863feebfb5a9962330d42b22be2d',1,'grpc_chttp2_goaway_parser_parse(void *parser, grpc_chttp2_transport_parsing *transport_parsing, grpc_chttp2_stream_parsing *stream_parsing, gpr_slice slice, int is_last): frame_goaway.c']]], + ['grpc_5fchttp2_5fgrpc_5fstatus_5fto_5fhttp2_5ferror',['grpc_chttp2_grpc_status_to_http2_error',['../status__conversion_8h.html#a375c081b20a1ff583a12374db7cbb5d6',1,'grpc_chttp2_grpc_status_to_http2_error(grpc_status_code status): status_conversion.c'],['../status__conversion_8c.html#a8fc288b0c9b0f2333adb3c1de2559c1d',1,'grpc_chttp2_grpc_status_to_http2_error(grpc_status_code status): status_conversion.c']]], + ['grpc_5fchttp2_5fgrpc_5fstatus_5fto_5fhttp2_5fstatus',['grpc_chttp2_grpc_status_to_http2_status',['../status__conversion_8h.html#a30ec4cf33600ca53524bb3003c02b37a',1,'grpc_chttp2_grpc_status_to_http2_status(grpc_status_code status): status_conversion.c'],['../status__conversion_8c.html#a30ec4cf33600ca53524bb3003c02b37a',1,'grpc_chttp2_grpc_status_to_http2_status(grpc_status_code status): status_conversion.c']]], + ['grpc_5fchttp2_5fhas_5fstreams',['grpc_chttp2_has_streams',['../internal_8h.html#a19ad8f2b321787a1255a888d5d5923f1',1,'grpc_chttp2_has_streams(grpc_chttp2_transport *t): stream_lists.c'],['../stream__lists_8c.html#a19ad8f2b321787a1255a888d5d5923f1',1,'grpc_chttp2_has_streams(grpc_chttp2_transport *t): stream_lists.c']]], + ['grpc_5fchttp2_5fheader_5fparser_5fparse',['grpc_chttp2_header_parser_parse',['../hpack__parser_8h.html#a7a92d332cfe4cdd2fe066d8c187a19c3',1,'grpc_chttp2_header_parser_parse(void *hpack_parser, grpc_chttp2_transport_parsing *transport_parsing, grpc_chttp2_stream_parsing *stream_parsing, gpr_slice slice, int is_last): hpack_parser.c'],['../hpack__parser_8c.html#a7a92d332cfe4cdd2fe066d8c187a19c3',1,'grpc_chttp2_header_parser_parse(void *hpack_parser, grpc_chttp2_transport_parsing *transport_parsing, grpc_chttp2_stream_parsing *stream_parsing, gpr_slice slice, int is_last): hpack_parser.c']]], + ['grpc_5fchttp2_5fhpack_5fcompressor',['grpc_chttp2_hpack_compressor',['../structgrpc__chttp2__hpack__compressor.html',1,'']]], + ['grpc_5fchttp2_5fhpack_5fcompressor_5fdestroy',['grpc_chttp2_hpack_compressor_destroy',['../stream__encoder_8h.html#a03663bcc8cda8973711333e62e7aff66',1,'grpc_chttp2_hpack_compressor_destroy(grpc_chttp2_hpack_compressor *c): stream_encoder.c'],['../stream__encoder_8c.html#a03663bcc8cda8973711333e62e7aff66',1,'grpc_chttp2_hpack_compressor_destroy(grpc_chttp2_hpack_compressor *c): stream_encoder.c']]], + ['grpc_5fchttp2_5fhpack_5fcompressor_5finit',['grpc_chttp2_hpack_compressor_init',['../stream__encoder_8h.html#ad6a798a633ba7e2b452825cf904c3e89',1,'grpc_chttp2_hpack_compressor_init(grpc_chttp2_hpack_compressor *c, grpc_mdctx *mdctx): stream_encoder.c'],['../stream__encoder_8c.html#ad9ec21ece920fa6f844eeecf4b5c4149',1,'grpc_chttp2_hpack_compressor_init(grpc_chttp2_hpack_compressor *c, grpc_mdctx *ctx): stream_encoder.c']]], + ['grpc_5fchttp2_5fhpack_5fentry_5foverhead',['GRPC_CHTTP2_HPACK_ENTRY_OVERHEAD',['../hpack__table_8h.html#ad4d722ec8e6df216cfb2c180c6a605b8',1,'hpack_table.h']]], + ['grpc_5fchttp2_5fhpack_5fparser',['grpc_chttp2_hpack_parser',['../structgrpc__chttp2__hpack__parser.html',1,'grpc_chttp2_hpack_parser'],['../hpack__parser_8h.html#ae66f95f470e6a67afa580dd7d1d3d39b',1,'grpc_chttp2_hpack_parser(): hpack_parser.h']]], + ['grpc_5fchttp2_5fhpack_5fparser_5fdestroy',['grpc_chttp2_hpack_parser_destroy',['../hpack__parser_8h.html#ae43cb55b0e7102694c68c29d93cd3573',1,'grpc_chttp2_hpack_parser_destroy(grpc_chttp2_hpack_parser *p): hpack_parser.c'],['../hpack__parser_8c.html#ae43cb55b0e7102694c68c29d93cd3573',1,'grpc_chttp2_hpack_parser_destroy(grpc_chttp2_hpack_parser *p): hpack_parser.c']]], + ['grpc_5fchttp2_5fhpack_5fparser_5finit',['grpc_chttp2_hpack_parser_init',['../hpack__parser_8h.html#ae9f87d2fc6cdda2cfcedd228feff9a43',1,'grpc_chttp2_hpack_parser_init(grpc_chttp2_hpack_parser *p, grpc_mdctx *mdctx): hpack_parser.c'],['../hpack__parser_8c.html#ae9f87d2fc6cdda2cfcedd228feff9a43',1,'grpc_chttp2_hpack_parser_init(grpc_chttp2_hpack_parser *p, grpc_mdctx *mdctx): hpack_parser.c']]], + ['grpc_5fchttp2_5fhpack_5fparser_5fparse',['grpc_chttp2_hpack_parser_parse',['../hpack__parser_8h.html#a883d1c556ca6aaea2fbb04dda7928ebc',1,'grpc_chttp2_hpack_parser_parse(grpc_chttp2_hpack_parser *p, const gpr_uint8 *beg, const gpr_uint8 *end): hpack_parser.c'],['../hpack__parser_8c.html#a883d1c556ca6aaea2fbb04dda7928ebc',1,'grpc_chttp2_hpack_parser_parse(grpc_chttp2_hpack_parser *p, const gpr_uint8 *beg, const gpr_uint8 *end): hpack_parser.c']]], + ['grpc_5fchttp2_5fhpack_5fparser_5fset_5fhas_5fpriority',['grpc_chttp2_hpack_parser_set_has_priority',['../hpack__parser_8h.html#a9fc7e7f152280acc512689e138805eee',1,'grpc_chttp2_hpack_parser_set_has_priority(grpc_chttp2_hpack_parser *p): hpack_parser.c'],['../hpack__parser_8c.html#a9fc7e7f152280acc512689e138805eee',1,'grpc_chttp2_hpack_parser_set_has_priority(grpc_chttp2_hpack_parser *p): hpack_parser.c']]], + ['grpc_5fchttp2_5fhpack_5fparser_5fstate',['grpc_chttp2_hpack_parser_state',['../hpack__parser_8h.html#a8d59a71bfcb4d8ae6c14950f0cb67507',1,'hpack_parser.h']]], + ['grpc_5fchttp2_5fhpack_5fparser_5fstring',['grpc_chttp2_hpack_parser_string',['../structgrpc__chttp2__hpack__parser__string.html',1,'']]], + ['grpc_5fchttp2_5fhpack_5fvarint_5flength',['grpc_chttp2_hpack_varint_length',['../varint_8h.html#a2b4567fce80183246809231da7d798dc',1,'grpc_chttp2_hpack_varint_length(gpr_uint32 tail_value): varint.c'],['../varint_8c.html#a2b4567fce80183246809231da7d798dc',1,'grpc_chttp2_hpack_varint_length(gpr_uint32 tail_value): varint.c']]], + ['grpc_5fchttp2_5fhpack_5fwrite_5fvarint_5ftail',['grpc_chttp2_hpack_write_varint_tail',['../varint_8h.html#a7fcc1174a3686feebdb7085e30283a66',1,'grpc_chttp2_hpack_write_varint_tail(gpr_uint32 tail_value, gpr_uint8 *target, int tail_length): varint.c'],['../varint_8c.html#a7fcc1174a3686feebdb7085e30283a66',1,'grpc_chttp2_hpack_write_varint_tail(gpr_uint32 tail_value, gpr_uint8 *target, int tail_length): varint.c']]], + ['grpc_5fchttp2_5fhpackc_5fmax_5ftable_5felems',['GRPC_CHTTP2_HPACKC_MAX_TABLE_ELEMS',['../stream__encoder_8h.html#a56da659428a69b269e09f780df07f4a4',1,'stream_encoder.h']]], + ['grpc_5fchttp2_5fhpackc_5fnum_5ffilters',['GRPC_CHTTP2_HPACKC_NUM_FILTERS',['../stream__encoder_8h.html#a8ccaf658a95902dc2ff32426d8b84cf6',1,'stream_encoder.h']]], + ['grpc_5fchttp2_5fhpackc_5fnum_5fvalues',['GRPC_CHTTP2_HPACKC_NUM_VALUES',['../stream__encoder_8h.html#a0f2a7d2d40157e2080d8ab87ccce6c1f',1,'stream_encoder.h']]], + ['grpc_5fchttp2_5fhptbl',['grpc_chttp2_hptbl',['../structgrpc__chttp2__hptbl.html',1,'']]], + ['grpc_5fchttp2_5fhptbl_5fadd',['grpc_chttp2_hptbl_add',['../hpack__table_8h.html#a1ad3f82e2b6f66cf022f672861b65b84',1,'grpc_chttp2_hptbl_add(grpc_chttp2_hptbl *tbl, grpc_mdelem *md): hpack_table.c'],['../hpack__table_8c.html#a1ad3f82e2b6f66cf022f672861b65b84',1,'grpc_chttp2_hptbl_add(grpc_chttp2_hptbl *tbl, grpc_mdelem *md): hpack_table.c']]], + ['grpc_5fchttp2_5fhptbl_5fdestroy',['grpc_chttp2_hptbl_destroy',['../hpack__table_8h.html#aeef559491f324858e464dff14851d857',1,'grpc_chttp2_hptbl_destroy(grpc_chttp2_hptbl *tbl): hpack_table.c'],['../hpack__table_8c.html#aeef559491f324858e464dff14851d857',1,'grpc_chttp2_hptbl_destroy(grpc_chttp2_hptbl *tbl): hpack_table.c']]], + ['grpc_5fchttp2_5fhptbl_5ffind',['grpc_chttp2_hptbl_find',['../hpack__table_8h.html#aaa946e97b0f962e4d7e8fb8b4886f1ba',1,'grpc_chttp2_hptbl_find(const grpc_chttp2_hptbl *tbl, grpc_mdelem *md): hpack_table.c'],['../hpack__table_8c.html#aaa946e97b0f962e4d7e8fb8b4886f1ba',1,'grpc_chttp2_hptbl_find(const grpc_chttp2_hptbl *tbl, grpc_mdelem *md): hpack_table.c']]], + ['grpc_5fchttp2_5fhptbl_5ffind_5fresult',['grpc_chttp2_hptbl_find_result',['../structgrpc__chttp2__hptbl__find__result.html',1,'']]], + ['grpc_5fchttp2_5fhptbl_5finit',['grpc_chttp2_hptbl_init',['../hpack__table_8h.html#a17492a855a901fafa3086087e74a16f0',1,'grpc_chttp2_hptbl_init(grpc_chttp2_hptbl *tbl, grpc_mdctx *mdctx): hpack_table.c'],['../hpack__table_8c.html#a17492a855a901fafa3086087e74a16f0',1,'grpc_chttp2_hptbl_init(grpc_chttp2_hptbl *tbl, grpc_mdctx *mdctx): hpack_table.c']]], + ['grpc_5fchttp2_5fhptbl_5flookup',['grpc_chttp2_hptbl_lookup',['../hpack__table_8h.html#a3e857648df8d6b50e5faac502bd5fe5b',1,'grpc_chttp2_hptbl_lookup(const grpc_chttp2_hptbl *tbl, gpr_uint32 index): hpack_table.c'],['../hpack__table_8c.html#a3e857648df8d6b50e5faac502bd5fe5b',1,'grpc_chttp2_hptbl_lookup(const grpc_chttp2_hptbl *tbl, gpr_uint32 index): hpack_table.c']]], + ['grpc_5fchttp2_5fhttp2_5ferror_5fto_5fgrpc_5fstatus',['grpc_chttp2_http2_error_to_grpc_status',['../status__conversion_8h.html#ae4babdebe7ad9dc3b68b37b86d00f3e2',1,'grpc_chttp2_http2_error_to_grpc_status(grpc_chttp2_error_code error): status_conversion.c'],['../status__conversion_8c.html#ae4babdebe7ad9dc3b68b37b86d00f3e2',1,'grpc_chttp2_http2_error_to_grpc_status(grpc_chttp2_error_code error): status_conversion.c']]], + ['grpc_5fchttp2_5fhttp2_5fstatus_5fto_5fgrpc_5fstatus',['grpc_chttp2_http2_status_to_grpc_status',['../status__conversion_8h.html#a6e442a5cee1439a8cf37203b40956d12',1,'grpc_chttp2_http2_status_to_grpc_status(int status): status_conversion.c'],['../status__conversion_8c.html#a6e442a5cee1439a8cf37203b40956d12',1,'grpc_chttp2_http2_status_to_grpc_status(int status): status_conversion.c']]], + ['grpc_5fchttp2_5fhuffman_5fcompress',['grpc_chttp2_huffman_compress',['../bin__encoder_8h.html#a4445cb57a3331537c4d942764b555123',1,'grpc_chttp2_huffman_compress(gpr_slice input): bin_encoder.c'],['../bin__encoder_8c.html#a4445cb57a3331537c4d942764b555123',1,'grpc_chttp2_huffman_compress(gpr_slice input): bin_encoder.c']]], + ['grpc_5fchttp2_5fhuffsym',['grpc_chttp2_huffsym',['../structgrpc__chttp2__huffsym.html',1,'']]], + ['grpc_5fchttp2_5fhuffsyms',['grpc_chttp2_huffsyms',['../huffsyms_8h.html#a03277352c8049d68a2ab3e26086aa79c',1,'grpc_chttp2_huffsyms(): huffsyms.c'],['../huffsyms_8c.html#a8cbea7cb59b983d744943eab38e8d55f',1,'grpc_chttp2_huffsyms(): huffsyms.c']]], + ['grpc_5fchttp2_5fif_5ftracing',['GRPC_CHTTP2_IF_TRACING',['../internal_8h.html#ab4ecd954e779c49a6159f842dc5a2ab4',1,'internal.h']]], + ['grpc_5fchttp2_5finadequate_5fsecurity',['GRPC_CHTTP2_INADEQUATE_SECURITY',['../http2__errors_8h.html#a093974eee0aaf09397d243c7dcebd4daa333694384e3414c37dcc5f9856029d07',1,'http2_errors.h']]], + ['grpc_5fchttp2_5fincoming_5fmetadata_5fbuffer',['grpc_chttp2_incoming_metadata_buffer',['../structgrpc__chttp2__incoming__metadata__buffer.html',1,'']]], + ['grpc_5fchttp2_5fincoming_5fmetadata_5fbuffer_5fadd',['grpc_chttp2_incoming_metadata_buffer_add',['../incoming__metadata_8h.html#a0b7de798f56d0202db1102c2c87313d0',1,'grpc_chttp2_incoming_metadata_buffer_add(grpc_chttp2_incoming_metadata_buffer *buffer, grpc_mdelem *elem): incoming_metadata.c'],['../incoming__metadata_8c.html#a0b7de798f56d0202db1102c2c87313d0',1,'grpc_chttp2_incoming_metadata_buffer_add(grpc_chttp2_incoming_metadata_buffer *buffer, grpc_mdelem *elem): incoming_metadata.c']]], + ['grpc_5fchttp2_5fincoming_5fmetadata_5fbuffer_5fdestroy',['grpc_chttp2_incoming_metadata_buffer_destroy',['../incoming__metadata_8h.html#a640db57113d389432d42bda5e1169b31',1,'grpc_chttp2_incoming_metadata_buffer_destroy(grpc_chttp2_incoming_metadata_buffer *buffer): incoming_metadata.c'],['../incoming__metadata_8c.html#a640db57113d389432d42bda5e1169b31',1,'grpc_chttp2_incoming_metadata_buffer_destroy(grpc_chttp2_incoming_metadata_buffer *buffer): incoming_metadata.c']]], + ['grpc_5fchttp2_5fincoming_5fmetadata_5fbuffer_5finit',['grpc_chttp2_incoming_metadata_buffer_init',['../incoming__metadata_8h.html#acb327575a569f6d7fbb40c309119bc00',1,'grpc_chttp2_incoming_metadata_buffer_init(grpc_chttp2_incoming_metadata_buffer *buffer): incoming_metadata.c'],['../incoming__metadata_8c.html#acb327575a569f6d7fbb40c309119bc00',1,'grpc_chttp2_incoming_metadata_buffer_init(grpc_chttp2_incoming_metadata_buffer *buffer): incoming_metadata.c']]], + ['grpc_5fchttp2_5fincoming_5fmetadata_5fbuffer_5fplace_5fmetadata_5fbatch_5finto',['grpc_chttp2_incoming_metadata_buffer_place_metadata_batch_into',['../incoming__metadata_8h.html#a6b6375d9d949b70f2d38ceeb57437137',1,'grpc_chttp2_incoming_metadata_buffer_place_metadata_batch_into(grpc_chttp2_incoming_metadata_buffer *buffer, grpc_stream_op_buffer *sopb): incoming_metadata.c'],['../incoming__metadata_8c.html#a6b6375d9d949b70f2d38ceeb57437137',1,'grpc_chttp2_incoming_metadata_buffer_place_metadata_batch_into(grpc_chttp2_incoming_metadata_buffer *buffer, grpc_stream_op_buffer *sopb): incoming_metadata.c']]], + ['grpc_5fchttp2_5fincoming_5fmetadata_5fbuffer_5fpostprocess_5fsopb_5fand_5fbegin_5flive_5fop',['grpc_chttp2_incoming_metadata_buffer_postprocess_sopb_and_begin_live_op',['../incoming__metadata_8h.html#aafe1950af666833c29b8086f4931be4d',1,'grpc_chttp2_incoming_metadata_buffer_postprocess_sopb_and_begin_live_op(grpc_chttp2_incoming_metadata_buffer *buffer, grpc_stream_op_buffer *sopb, grpc_chttp2_incoming_metadata_live_op_buffer *live_op_buffer): incoming_metadata.c'],['../incoming__metadata_8c.html#aafe1950af666833c29b8086f4931be4d',1,'grpc_chttp2_incoming_metadata_buffer_postprocess_sopb_and_begin_live_op(grpc_chttp2_incoming_metadata_buffer *buffer, grpc_stream_op_buffer *sopb, grpc_chttp2_incoming_metadata_live_op_buffer *live_op_buffer): incoming_metadata.c']]], + ['grpc_5fchttp2_5fincoming_5fmetadata_5fbuffer_5freset',['grpc_chttp2_incoming_metadata_buffer_reset',['../incoming__metadata_8h.html#ad1f653fae150dc145f909b855a28e883',1,'incoming_metadata.h']]], + ['grpc_5fchttp2_5fincoming_5fmetadata_5fbuffer_5fset_5fdeadline',['grpc_chttp2_incoming_metadata_buffer_set_deadline',['../incoming__metadata_8h.html#aba03088316cada64053b68851b5a5603',1,'grpc_chttp2_incoming_metadata_buffer_set_deadline(grpc_chttp2_incoming_metadata_buffer *buffer, gpr_timespec deadline): incoming_metadata.c'],['../incoming__metadata_8c.html#aba03088316cada64053b68851b5a5603',1,'grpc_chttp2_incoming_metadata_buffer_set_deadline(grpc_chttp2_incoming_metadata_buffer *buffer, gpr_timespec deadline): incoming_metadata.c']]], + ['grpc_5fchttp2_5fincoming_5fmetadata_5fbuffer_5fswap',['grpc_chttp2_incoming_metadata_buffer_swap',['../incoming__metadata_8c.html#a3ae615483b18241fe3a8fe7c9897cee4',1,'incoming_metadata.c']]], + ['grpc_5fchttp2_5fincoming_5fmetadata_5flive_5fop_5fbuffer',['grpc_chttp2_incoming_metadata_live_op_buffer',['../structgrpc__chttp2__incoming__metadata__live__op__buffer.html',1,'']]], + ['grpc_5fchttp2_5fincoming_5fmetadata_5flive_5fop_5fbuffer_5fend',['grpc_chttp2_incoming_metadata_live_op_buffer_end',['../incoming__metadata_8h.html#a84fcf79fb151ceab04531f8921ed51f2',1,'grpc_chttp2_incoming_metadata_live_op_buffer_end(grpc_chttp2_incoming_metadata_live_op_buffer *live_op_buffer): incoming_metadata.c'],['../incoming__metadata_8c.html#a5b987a9d3099c62ad4a6c198242b884e',1,'grpc_chttp2_incoming_metadata_live_op_buffer_end(grpc_chttp2_incoming_metadata_live_op_buffer *buffer): incoming_metadata.c']]], + ['grpc_5fchttp2_5finitial_5fhpack_5ftable_5fsize',['GRPC_CHTTP2_INITIAL_HPACK_TABLE_SIZE',['../hpack__table_8h.html#aced1f8ce84e3964a961ad9361e0a24aa',1,'hpack_table.h']]], + ['grpc_5fchttp2_5finternal_5ferror',['GRPC_CHTTP2_INTERNAL_ERROR',['../http2__errors_8h.html#a093974eee0aaf09397d243c7dcebd4daa93f66c3811f1a093c6db040a1d7a76bf',1,'http2_errors.h']]], + ['grpc_5fchttp2_5finvalid_5fvalue_5fbehavior',['grpc_chttp2_invalid_value_behavior',['../frame__settings_8h.html#a4df6da81a733ff99e174c9502a7e69df',1,'frame_settings.h']]], + ['grpc_5fchttp2_5fis_5falpn_5fversion_5fsupported',['grpc_chttp2_is_alpn_version_supported',['../alpn_8h.html#ad4d4c481dfaefe5690ccb83861466f6b',1,'grpc_chttp2_is_alpn_version_supported(const char *version, size_t size): alpn.c'],['../alpn_8c.html#ad4d4c481dfaefe5690ccb83861466f6b',1,'grpc_chttp2_is_alpn_version_supported(const char *version, size_t size): alpn.c']]], + ['grpc_5fchttp2_5flast_5fstatic_5fentry',['GRPC_CHTTP2_LAST_STATIC_ENTRY',['../hpack__table_8h.html#ab62c846bb1b82ae0a56b84c746dc83b3',1,'hpack_table.h']]], + ['grpc_5fchttp2_5flist_5fadd_5fcancelled_5fwaiting_5ffor_5fwriting',['grpc_chttp2_list_add_cancelled_waiting_for_writing',['../internal_8h.html#ad26dae5e10a026530f50b133359b3ee2',1,'grpc_chttp2_list_add_cancelled_waiting_for_writing(grpc_chttp2_transport_global *transport_global, grpc_chttp2_stream_global *stream_global): stream_lists.c'],['../stream__lists_8c.html#ad26dae5e10a026530f50b133359b3ee2',1,'grpc_chttp2_list_add_cancelled_waiting_for_writing(grpc_chttp2_transport_global *transport_global, grpc_chttp2_stream_global *stream_global): stream_lists.c']]], + ['grpc_5fchttp2_5flist_5fadd_5fclosed_5fwaiting_5ffor_5fparsing',['grpc_chttp2_list_add_closed_waiting_for_parsing',['../internal_8h.html#a1208f234dcb6b2a73be3c875b2b52907',1,'grpc_chttp2_list_add_closed_waiting_for_parsing(grpc_chttp2_transport_global *transport_global, grpc_chttp2_stream_global *stream_global): stream_lists.c'],['../stream__lists_8c.html#a1208f234dcb6b2a73be3c875b2b52907',1,'grpc_chttp2_list_add_closed_waiting_for_parsing(grpc_chttp2_transport_global *transport_global, grpc_chttp2_stream_global *stream_global): stream_lists.c']]], + ['grpc_5fchttp2_5flist_5fadd_5ffirst_5fwritable_5fstream',['grpc_chttp2_list_add_first_writable_stream',['../internal_8h.html#a8858ea6e4f6e7c363985793b403a0ac9',1,'grpc_chttp2_list_add_first_writable_stream(grpc_chttp2_transport_global *transport_global, grpc_chttp2_stream_global *stream_global): stream_lists.c'],['../stream__lists_8c.html#a8858ea6e4f6e7c363985793b403a0ac9',1,'grpc_chttp2_list_add_first_writable_stream(grpc_chttp2_transport_global *transport_global, grpc_chttp2_stream_global *stream_global): stream_lists.c']]], + ['grpc_5fchttp2_5flist_5fadd_5fincoming_5fwindow_5fupdated',['grpc_chttp2_list_add_incoming_window_updated',['../internal_8h.html#a1d99597284d4c0a0bd3cbf102ff415a2',1,'grpc_chttp2_list_add_incoming_window_updated(grpc_chttp2_transport_global *transport_global, grpc_chttp2_stream_global *stream_global): stream_lists.c'],['../stream__lists_8c.html#a1d99597284d4c0a0bd3cbf102ff415a2',1,'grpc_chttp2_list_add_incoming_window_updated(grpc_chttp2_transport_global *transport_global, grpc_chttp2_stream_global *stream_global): stream_lists.c']]], + ['grpc_5fchttp2_5flist_5fadd_5fparsing_5fseen_5fstream',['grpc_chttp2_list_add_parsing_seen_stream',['../internal_8h.html#a771e6e4a553060bfac71d00b5f866877',1,'grpc_chttp2_list_add_parsing_seen_stream(grpc_chttp2_transport_parsing *transport_parsing, grpc_chttp2_stream_parsing *stream_parsing): stream_lists.c'],['../stream__lists_8c.html#a771e6e4a553060bfac71d00b5f866877',1,'grpc_chttp2_list_add_parsing_seen_stream(grpc_chttp2_transport_parsing *transport_parsing, grpc_chttp2_stream_parsing *stream_parsing): stream_lists.c']]], + ['grpc_5fchttp2_5flist_5fadd_5fread_5fwrite_5fstate_5fchanged',['grpc_chttp2_list_add_read_write_state_changed',['../internal_8h.html#aa6b5168e8b96d0bc9f9d84a4cbef653a',1,'grpc_chttp2_list_add_read_write_state_changed(grpc_chttp2_transport_global *transport_global, grpc_chttp2_stream_global *stream_global): stream_lists.c'],['../stream__lists_8c.html#aa6b5168e8b96d0bc9f9d84a4cbef653a',1,'grpc_chttp2_list_add_read_write_state_changed(grpc_chttp2_transport_global *transport_global, grpc_chttp2_stream_global *stream_global): stream_lists.c']]], + ['grpc_5fchttp2_5flist_5fadd_5fwaiting_5ffor_5fconcurrency',['grpc_chttp2_list_add_waiting_for_concurrency',['../internal_8h.html#a71d9dea1ff323c374d7ea47818defc2e',1,'grpc_chttp2_list_add_waiting_for_concurrency(grpc_chttp2_transport_global *transport_global, grpc_chttp2_stream_global *stream_global): stream_lists.c'],['../stream__lists_8c.html#a71d9dea1ff323c374d7ea47818defc2e',1,'grpc_chttp2_list_add_waiting_for_concurrency(grpc_chttp2_transport_global *transport_global, grpc_chttp2_stream_global *stream_global): stream_lists.c']]], + ['grpc_5fchttp2_5flist_5fadd_5fwritable_5fstream',['grpc_chttp2_list_add_writable_stream',['../internal_8h.html#a117877f5202f072aa35e7ada0379d0db',1,'grpc_chttp2_list_add_writable_stream(grpc_chttp2_transport_global *transport_global, grpc_chttp2_stream_global *stream_global): stream_lists.c'],['../stream__lists_8c.html#a117877f5202f072aa35e7ada0379d0db',1,'grpc_chttp2_list_add_writable_stream(grpc_chttp2_transport_global *transport_global, grpc_chttp2_stream_global *stream_global): stream_lists.c']]], + ['grpc_5fchttp2_5flist_5fadd_5fwriting_5fstream',['grpc_chttp2_list_add_writing_stream',['../internal_8h.html#af5740bd38b626e875166e60e697e099e',1,'grpc_chttp2_list_add_writing_stream(grpc_chttp2_transport_writing *transport_writing, grpc_chttp2_stream_writing *stream_writing): stream_lists.c'],['../stream__lists_8c.html#af5740bd38b626e875166e60e697e099e',1,'grpc_chttp2_list_add_writing_stream(grpc_chttp2_transport_writing *transport_writing, grpc_chttp2_stream_writing *stream_writing): stream_lists.c']]], + ['grpc_5fchttp2_5flist_5fadd_5fwritten_5fstream',['grpc_chttp2_list_add_written_stream',['../internal_8h.html#ac6b7a089de78b67a9650e42b4a76ac69',1,'grpc_chttp2_list_add_written_stream(grpc_chttp2_transport_writing *transport_writing, grpc_chttp2_stream_writing *stream_writing): stream_lists.c'],['../stream__lists_8c.html#ac6b7a089de78b67a9650e42b4a76ac69',1,'grpc_chttp2_list_add_written_stream(grpc_chttp2_transport_writing *transport_writing, grpc_chttp2_stream_writing *stream_writing): stream_lists.c']]], + ['grpc_5fchttp2_5flist_5fall_5fstreams',['GRPC_CHTTP2_LIST_ALL_STREAMS',['../internal_8h.html#abddcdf3ebb4034fd86a102d86aff5539a55472097517b6e0ad54562494cadc6a4',1,'internal.h']]], + ['grpc_5fchttp2_5flist_5fcancelled_5fwaiting_5ffor_5fwriting',['GRPC_CHTTP2_LIST_CANCELLED_WAITING_FOR_WRITING',['../internal_8h.html#abddcdf3ebb4034fd86a102d86aff5539a8a9ab1244149b1d03b5107d51f872f21',1,'internal.h']]], + ['grpc_5fchttp2_5flist_5fclosed_5fwaiting_5ffor_5fparsing',['GRPC_CHTTP2_LIST_CLOSED_WAITING_FOR_PARSING',['../internal_8h.html#abddcdf3ebb4034fd86a102d86aff5539ab18632dd09ec47ec222a68fccfb5b56f',1,'internal.h']]], + ['grpc_5fchttp2_5flist_5fhave_5fwriting_5fstreams',['grpc_chttp2_list_have_writing_streams',['../internal_8h.html#a2c7a37cef27c29528850701b9cf772d4',1,'grpc_chttp2_list_have_writing_streams(grpc_chttp2_transport_writing *transport_writing): stream_lists.c'],['../stream__lists_8c.html#a2c7a37cef27c29528850701b9cf772d4',1,'grpc_chttp2_list_have_writing_streams(grpc_chttp2_transport_writing *transport_writing): stream_lists.c']]], + ['grpc_5fchttp2_5flist_5fincoming_5fwindow_5fupdated',['GRPC_CHTTP2_LIST_INCOMING_WINDOW_UPDATED',['../internal_8h.html#abddcdf3ebb4034fd86a102d86aff5539a379d8479565bb2a2565e3bef983c3f09',1,'internal.h']]], + ['grpc_5fchttp2_5flist_5fparsing_5fseen',['GRPC_CHTTP2_LIST_PARSING_SEEN',['../internal_8h.html#abddcdf3ebb4034fd86a102d86aff5539ab16ac38146d8c206d971154d3e2e385e',1,'internal.h']]], + ['grpc_5fchttp2_5flist_5fpop_5fcancelled_5fwaiting_5ffor_5fwriting',['grpc_chttp2_list_pop_cancelled_waiting_for_writing',['../internal_8h.html#ad2d2a802b9072505d1e6f8bb68727f44',1,'grpc_chttp2_list_pop_cancelled_waiting_for_writing(grpc_chttp2_transport_global *transport_global, grpc_chttp2_stream_global **stream_global): stream_lists.c'],['../stream__lists_8c.html#ad2d2a802b9072505d1e6f8bb68727f44',1,'grpc_chttp2_list_pop_cancelled_waiting_for_writing(grpc_chttp2_transport_global *transport_global, grpc_chttp2_stream_global **stream_global): stream_lists.c']]], + ['grpc_5fchttp2_5flist_5fpop_5fclosed_5fwaiting_5ffor_5fparsing',['grpc_chttp2_list_pop_closed_waiting_for_parsing',['../internal_8h.html#ad0434ee720b66a5ee51c9904548857af',1,'grpc_chttp2_list_pop_closed_waiting_for_parsing(grpc_chttp2_transport_global *transport_global, grpc_chttp2_stream_global **stream_global): stream_lists.c'],['../stream__lists_8c.html#ad0434ee720b66a5ee51c9904548857af',1,'grpc_chttp2_list_pop_closed_waiting_for_parsing(grpc_chttp2_transport_global *transport_global, grpc_chttp2_stream_global **stream_global): stream_lists.c']]], + ['grpc_5fchttp2_5flist_5fpop_5fincoming_5fwindow_5fupdated',['grpc_chttp2_list_pop_incoming_window_updated',['../internal_8h.html#a90a6cb6d111a750ab1f28bf4e438bb62',1,'grpc_chttp2_list_pop_incoming_window_updated(grpc_chttp2_transport_global *transport_global, grpc_chttp2_transport_parsing *transport_parsing, grpc_chttp2_stream_global **stream_global, grpc_chttp2_stream_parsing **stream_parsing): stream_lists.c'],['../stream__lists_8c.html#a90a6cb6d111a750ab1f28bf4e438bb62',1,'grpc_chttp2_list_pop_incoming_window_updated(grpc_chttp2_transport_global *transport_global, grpc_chttp2_transport_parsing *transport_parsing, grpc_chttp2_stream_global **stream_global, grpc_chttp2_stream_parsing **stream_parsing): stream_lists.c']]], + ['grpc_5fchttp2_5flist_5fpop_5fparsing_5fseen_5fstream',['grpc_chttp2_list_pop_parsing_seen_stream',['../internal_8h.html#a1d1ec9b2edce465d2fd18002a403878d',1,'grpc_chttp2_list_pop_parsing_seen_stream(grpc_chttp2_transport_global *transport_global, grpc_chttp2_transport_parsing *transport_parsing, grpc_chttp2_stream_global **stream_global, grpc_chttp2_stream_parsing **stream_parsing): stream_lists.c'],['../stream__lists_8c.html#a1d1ec9b2edce465d2fd18002a403878d',1,'grpc_chttp2_list_pop_parsing_seen_stream(grpc_chttp2_transport_global *transport_global, grpc_chttp2_transport_parsing *transport_parsing, grpc_chttp2_stream_global **stream_global, grpc_chttp2_stream_parsing **stream_parsing): stream_lists.c']]], + ['grpc_5fchttp2_5flist_5fpop_5fread_5fwrite_5fstate_5fchanged',['grpc_chttp2_list_pop_read_write_state_changed',['../internal_8h.html#ac9e8165e01d872ed42c0333aee9d31c4',1,'grpc_chttp2_list_pop_read_write_state_changed(grpc_chttp2_transport_global *transport_global, grpc_chttp2_stream_global **stream_global): stream_lists.c'],['../stream__lists_8c.html#ac9e8165e01d872ed42c0333aee9d31c4',1,'grpc_chttp2_list_pop_read_write_state_changed(grpc_chttp2_transport_global *transport_global, grpc_chttp2_stream_global **stream_global): stream_lists.c']]], + ['grpc_5fchttp2_5flist_5fpop_5fwaiting_5ffor_5fconcurrency',['grpc_chttp2_list_pop_waiting_for_concurrency',['../internal_8h.html#a6b62b98b415b3984616d4e851f0ff5c0',1,'grpc_chttp2_list_pop_waiting_for_concurrency(grpc_chttp2_transport_global *transport_global, grpc_chttp2_stream_global **stream_global): stream_lists.c'],['../stream__lists_8c.html#a6b62b98b415b3984616d4e851f0ff5c0',1,'grpc_chttp2_list_pop_waiting_for_concurrency(grpc_chttp2_transport_global *transport_global, grpc_chttp2_stream_global **stream_global): stream_lists.c']]], + ['grpc_5fchttp2_5flist_5fpop_5fwritable_5fstream',['grpc_chttp2_list_pop_writable_stream',['../internal_8h.html#aeac970afdd6294bac9d1dcb84b702167',1,'grpc_chttp2_list_pop_writable_stream(grpc_chttp2_transport_global *transport_global, grpc_chttp2_transport_writing *transport_writing, grpc_chttp2_stream_global **stream_global, grpc_chttp2_stream_writing **stream_writing): stream_lists.c'],['../stream__lists_8c.html#aeac970afdd6294bac9d1dcb84b702167',1,'grpc_chttp2_list_pop_writable_stream(grpc_chttp2_transport_global *transport_global, grpc_chttp2_transport_writing *transport_writing, grpc_chttp2_stream_global **stream_global, grpc_chttp2_stream_writing **stream_writing): stream_lists.c']]], + ['grpc_5fchttp2_5flist_5fpop_5fwriting_5fstream',['grpc_chttp2_list_pop_writing_stream',['../internal_8h.html#aba4771272cd49e3012d81c05fad1bdb7',1,'grpc_chttp2_list_pop_writing_stream(grpc_chttp2_transport_writing *transport_writing, grpc_chttp2_stream_writing **stream_writing): stream_lists.c'],['../stream__lists_8c.html#aba4771272cd49e3012d81c05fad1bdb7',1,'grpc_chttp2_list_pop_writing_stream(grpc_chttp2_transport_writing *transport_writing, grpc_chttp2_stream_writing **stream_writing): stream_lists.c']]], + ['grpc_5fchttp2_5flist_5fpop_5fwritten_5fstream',['grpc_chttp2_list_pop_written_stream',['../internal_8h.html#a3107afcec2694dd7c7855d540a560090',1,'grpc_chttp2_list_pop_written_stream(grpc_chttp2_transport_global *transport_global, grpc_chttp2_transport_writing *transport_writing, grpc_chttp2_stream_global **stream_global, grpc_chttp2_stream_writing **stream_writing): stream_lists.c'],['../stream__lists_8c.html#a3107afcec2694dd7c7855d540a560090',1,'grpc_chttp2_list_pop_written_stream(grpc_chttp2_transport_global *transport_global, grpc_chttp2_transport_writing *transport_writing, grpc_chttp2_stream_global **stream_global, grpc_chttp2_stream_writing **stream_writing): stream_lists.c']]], + ['grpc_5fchttp2_5flist_5fread_5fwrite_5fstate_5fchanged',['GRPC_CHTTP2_LIST_READ_WRITE_STATE_CHANGED',['../internal_8h.html#abddcdf3ebb4034fd86a102d86aff5539aad8c067aea30c7e63f1f8f578ad091ec',1,'internal.h']]], + ['grpc_5fchttp2_5flist_5fremove_5fincoming_5fwindow_5fupdated',['grpc_chttp2_list_remove_incoming_window_updated',['../internal_8h.html#a8a7f981b74e1e99b0a1afe0c45702d89',1,'grpc_chttp2_list_remove_incoming_window_updated(grpc_chttp2_transport_global *transport_global, grpc_chttp2_stream_global *stream_global): stream_lists.c'],['../stream__lists_8c.html#a8a7f981b74e1e99b0a1afe0c45702d89',1,'grpc_chttp2_list_remove_incoming_window_updated(grpc_chttp2_transport_global *transport_global, grpc_chttp2_stream_global *stream_global): stream_lists.c']]], + ['grpc_5fchttp2_5flist_5fremove_5fwritable_5fstream',['grpc_chttp2_list_remove_writable_stream',['../internal_8h.html#a789d5bcd10c0f1c7ad2fc32190fd87a0',1,'grpc_chttp2_list_remove_writable_stream(grpc_chttp2_transport_global *transport_global, grpc_chttp2_stream_global *stream_global): stream_lists.c'],['../stream__lists_8c.html#a789d5bcd10c0f1c7ad2fc32190fd87a0',1,'grpc_chttp2_list_remove_writable_stream(grpc_chttp2_transport_global *transport_global, grpc_chttp2_stream_global *stream_global): stream_lists.c']]], + ['grpc_5fchttp2_5flist_5fwaiting_5ffor_5fconcurrency',['GRPC_CHTTP2_LIST_WAITING_FOR_CONCURRENCY',['../internal_8h.html#abddcdf3ebb4034fd86a102d86aff5539a038c19c7cb6246583e24eb4ffe74883a',1,'internal.h']]], + ['grpc_5fchttp2_5flist_5fwritable',['GRPC_CHTTP2_LIST_WRITABLE',['../internal_8h.html#abddcdf3ebb4034fd86a102d86aff5539a472c9817d59a165a3a8a7bd6065c8af0',1,'internal.h']]], + ['grpc_5fchttp2_5flist_5fwriting',['GRPC_CHTTP2_LIST_WRITING',['../internal_8h.html#abddcdf3ebb4034fd86a102d86aff5539a2d32b64c3350b55206ca435e489bf48a',1,'internal.h']]], + ['grpc_5fchttp2_5flist_5fwritten',['GRPC_CHTTP2_LIST_WRITTEN',['../internal_8h.html#abddcdf3ebb4034fd86a102d86aff5539a9028d8867d7d656543018fe4e4483673',1,'internal.h']]], + ['grpc_5fchttp2_5fmax_5fhpack_5ftable_5fsize',['GRPC_CHTTP2_MAX_HPACK_TABLE_SIZE',['../hpack__table_8h.html#a376305051742470529655dacf911329e',1,'hpack_table.h']]], + ['grpc_5fchttp2_5fmax_5fin_5fprefix',['GRPC_CHTTP2_MAX_IN_PREFIX',['../varint_8h.html#a13810a2894d0705c3f1b6fd462f567bd',1,'varint.h']]], + ['grpc_5fchttp2_5fmax_5fpayload_5flength',['GRPC_CHTTP2_MAX_PAYLOAD_LENGTH',['../frame_8h.html#a461cf678ffd9272c8a10f133c058124e',1,'frame.h']]], + ['grpc_5fchttp2_5fmax_5ftable_5fcount',['GRPC_CHTTP2_MAX_TABLE_COUNT',['../hpack__table_8h.html#a292186cdaec230cfca45f2b7703d2fb5',1,'hpack_table.h']]], + ['grpc_5fchttp2_5fno_5ferror',['GRPC_CHTTP2_NO_ERROR',['../http2__errors_8h.html#a093974eee0aaf09397d243c7dcebd4daa089995d883f21b3bc4f6094fab83f0a6',1,'http2_errors.h']]], + ['grpc_5fchttp2_5fnum_5falpn_5fversions',['grpc_chttp2_num_alpn_versions',['../alpn_8h.html#aa7e91d317127b4a8a8a1cbb6acc942f5',1,'grpc_chttp2_num_alpn_versions(void): alpn.c'],['../alpn_8c.html#aa7e91d317127b4a8a8a1cbb6acc942f5',1,'grpc_chttp2_num_alpn_versions(void): alpn.c']]], + ['grpc_5fchttp2_5fnum_5fhuffsyms',['GRPC_CHTTP2_NUM_HUFFSYMS',['../huffsyms_8h.html#ae3db52e9200db6e4b14b35f5f3d678cb',1,'huffsyms.h']]], + ['grpc_5fchttp2_5fnum_5fsettings',['GRPC_CHTTP2_NUM_SETTINGS',['../frame__settings_8h.html#a1579a1a90fe405ea3791529c14da11efa8e792bc580a916db8331dc80f6899205',1,'frame_settings.h']]], + ['grpc_5fchttp2_5foutstanding_5fping',['grpc_chttp2_outstanding_ping',['../structgrpc__chttp2__outstanding__ping.html',1,'grpc_chttp2_outstanding_ping'],['../internal_8h.html#a4b8e11ec16028f6adaa9355602a9c591',1,'grpc_chttp2_outstanding_ping(): internal.h']]], + ['grpc_5fchttp2_5fparse_5ferror',['grpc_chttp2_parse_error',['../frame_8h.html#ada474db64756bd411eeeaf3de4318e35',1,'frame.h']]], + ['grpc_5fchttp2_5fparse_5fok',['GRPC_CHTTP2_PARSE_OK',['../frame_8h.html#ada474db64756bd411eeeaf3de4318e35af86b67f5595348d506db6719011a2931',1,'frame.h']]], + ['grpc_5fchttp2_5fparsing_5faccept_5fstream',['grpc_chttp2_parsing_accept_stream',['../internal_8h.html#a25a39d1d95e7140c1ae8f765ffd92847',1,'grpc_chttp2_parsing_accept_stream(grpc_chttp2_transport_parsing *transport_parsing, gpr_uint32 id): chttp2_transport.c'],['../chttp2__transport_8c.html#a25a39d1d95e7140c1ae8f765ffd92847',1,'grpc_chttp2_parsing_accept_stream(grpc_chttp2_transport_parsing *transport_parsing, gpr_uint32 id): chttp2_transport.c']]], + ['grpc_5fchttp2_5fparsing_5fbecome_5fskip_5fparser',['grpc_chttp2_parsing_become_skip_parser',['../internal_8h.html#ad6a13571d6666f45a64c8e0f6b234e60',1,'grpc_chttp2_parsing_become_skip_parser(grpc_chttp2_transport_parsing *transport_parsing): parsing.c'],['../parsing_8c.html#ad6a13571d6666f45a64c8e0f6b234e60',1,'grpc_chttp2_parsing_become_skip_parser(grpc_chttp2_transport_parsing *transport_parsing): parsing.c']]], + ['grpc_5fchttp2_5fparsing_5flookup_5fstream',['grpc_chttp2_parsing_lookup_stream',['../internal_8h.html#ae19b5968ebea2a077650652f1a3af46d',1,'grpc_chttp2_parsing_lookup_stream(grpc_chttp2_transport_parsing *transport_parsing, gpr_uint32 id): chttp2_transport.c'],['../chttp2__transport_8c.html#ae19b5968ebea2a077650652f1a3af46d',1,'grpc_chttp2_parsing_lookup_stream(grpc_chttp2_transport_parsing *transport_parsing, gpr_uint32 id): chttp2_transport.c']]], + ['grpc_5fchttp2_5fperform_5fread',['grpc_chttp2_perform_read',['../internal_8h.html#abeaab2fead1bddefe92af0bc61a3a33f',1,'grpc_chttp2_perform_read(grpc_chttp2_transport_parsing *transport_parsing, gpr_slice slice): parsing.c'],['../parsing_8c.html#abeaab2fead1bddefe92af0bc61a3a33f',1,'grpc_chttp2_perform_read(grpc_chttp2_transport_parsing *transport_parsing, gpr_slice slice): parsing.c']]], + ['grpc_5fchttp2_5fperform_5fwrites',['grpc_chttp2_perform_writes',['../internal_8h.html#a8fa6e3087336e9d487f3987148cc3930',1,'grpc_chttp2_perform_writes(grpc_chttp2_transport_writing *transport_writing, grpc_endpoint *endpoint): writing.c'],['../writing_8c.html#a8fa6e3087336e9d487f3987148cc3930',1,'grpc_chttp2_perform_writes(grpc_chttp2_transport_writing *transport_writing, grpc_endpoint *endpoint): writing.c']]], + ['grpc_5fchttp2_5fping_5fcreate',['grpc_chttp2_ping_create',['../frame__ping_8h.html#a80bb3f2ba166dcbd164aa04e680c58e3',1,'grpc_chttp2_ping_create(gpr_uint8 ack, gpr_uint8 *opaque_8bytes): frame_ping.c'],['../frame__ping_8c.html#a80bb3f2ba166dcbd164aa04e680c58e3',1,'grpc_chttp2_ping_create(gpr_uint8 ack, gpr_uint8 *opaque_8bytes): frame_ping.c']]], + ['grpc_5fchttp2_5fping_5fparser',['grpc_chttp2_ping_parser',['../structgrpc__chttp2__ping__parser.html',1,'']]], + ['grpc_5fchttp2_5fping_5fparser_5fbegin_5fframe',['grpc_chttp2_ping_parser_begin_frame',['../frame__ping_8h.html#a76f66f3bbe53a20610183253d30c57f7',1,'grpc_chttp2_ping_parser_begin_frame(grpc_chttp2_ping_parser *parser, gpr_uint32 length, gpr_uint8 flags): frame_ping.c'],['../frame__ping_8c.html#a76f66f3bbe53a20610183253d30c57f7',1,'grpc_chttp2_ping_parser_begin_frame(grpc_chttp2_ping_parser *parser, gpr_uint32 length, gpr_uint8 flags): frame_ping.c']]], + ['grpc_5fchttp2_5fping_5fparser_5fparse',['grpc_chttp2_ping_parser_parse',['../frame__ping_8h.html#ace393509f26406ff6bdc9e60e7534042',1,'grpc_chttp2_ping_parser_parse(void *parser, grpc_chttp2_transport_parsing *transport_parsing, grpc_chttp2_stream_parsing *stream_parsing, gpr_slice slice, int is_last): frame_ping.c'],['../frame__ping_8c.html#ace393509f26406ff6bdc9e60e7534042',1,'grpc_chttp2_ping_parser_parse(void *parser, grpc_chttp2_transport_parsing *transport_parsing, grpc_chttp2_stream_parsing *stream_parsing, gpr_slice slice, int is_last): frame_ping.c']]], + ['grpc_5fchttp2_5fpreencode',['grpc_chttp2_preencode',['../stream__encoder_8h.html#a3ee751a56974f45d33d89ce7f02cf022',1,'grpc_chttp2_preencode(grpc_stream_op *inops, size_t *inops_count, gpr_uint32 max_flow_controlled_bytes, grpc_stream_op_buffer *outops): stream_encoder.c'],['../stream__encoder_8c.html#a3ee751a56974f45d33d89ce7f02cf022',1,'grpc_chttp2_preencode(grpc_stream_op *inops, size_t *inops_count, gpr_uint32 max_flow_controlled_bytes, grpc_stream_op_buffer *outops): stream_encoder.c']]], + ['grpc_5fchttp2_5fprepare_5fto_5fread',['grpc_chttp2_prepare_to_read',['../internal_8h.html#ae444a83dc73e9a658e7df625a04b101a',1,'grpc_chttp2_prepare_to_read(grpc_chttp2_transport_global *global, grpc_chttp2_transport_parsing *parsing): parsing.c'],['../parsing_8c.html#ae010263eae7de4e41a74679b11579825',1,'grpc_chttp2_prepare_to_read(grpc_chttp2_transport_global *transport_global, grpc_chttp2_transport_parsing *transport_parsing): parsing.c']]], + ['grpc_5fchttp2_5fprotocol_5ferror',['GRPC_CHTTP2_PROTOCOL_ERROR',['../http2__errors_8h.html#a093974eee0aaf09397d243c7dcebd4daa0712f7732b32d9bf386f40b891543c4d',1,'http2_errors.h']]], + ['grpc_5fchttp2_5fpublish_5freads',['grpc_chttp2_publish_reads',['../internal_8h.html#a4d137f455d722521fd7dab4fd13e1697',1,'grpc_chttp2_publish_reads(grpc_chttp2_transport_global *global, grpc_chttp2_transport_parsing *parsing): parsing.c'],['../parsing_8c.html#aba67e2ed1d9d5ac25c0d5b2ea31e8137',1,'grpc_chttp2_publish_reads(grpc_chttp2_transport_global *transport_global, grpc_chttp2_transport_parsing *transport_parsing): parsing.c']]], + ['grpc_5fchttp2_5frefused_5fstream',['GRPC_CHTTP2_REFUSED_STREAM',['../http2__errors_8h.html#a093974eee0aaf09397d243c7dcebd4daa0939e69d27c0978982c3de5ef02b729b',1,'http2_errors.h']]], + ['grpc_5fchttp2_5fregister_5fstream',['grpc_chttp2_register_stream',['../internal_8h.html#accb6dbbacb57c3f9860e6ec6eca2390e',1,'grpc_chttp2_register_stream(grpc_chttp2_transport *t, grpc_chttp2_stream *s): stream_lists.c'],['../stream__lists_8c.html#accb6dbbacb57c3f9860e6ec6eca2390e',1,'grpc_chttp2_register_stream(grpc_chttp2_transport *t, grpc_chttp2_stream *s): stream_lists.c']]], + ['grpc_5fchttp2_5frst_5fstream_5fcreate',['grpc_chttp2_rst_stream_create',['../frame__rst__stream_8h.html#aecab04c529c662e1703ae01fb70d7687',1,'grpc_chttp2_rst_stream_create(gpr_uint32 stream_id, gpr_uint32 code): frame_rst_stream.c'],['../frame__rst__stream_8c.html#a6a627690f79faf403072532d19a08895',1,'grpc_chttp2_rst_stream_create(gpr_uint32 id, gpr_uint32 code): frame_rst_stream.c']]], + ['grpc_5fchttp2_5frst_5fstream_5fparser',['grpc_chttp2_rst_stream_parser',['../structgrpc__chttp2__rst__stream__parser.html',1,'']]], + ['grpc_5fchttp2_5frst_5fstream_5fparser_5fbegin_5fframe',['grpc_chttp2_rst_stream_parser_begin_frame',['../frame__rst__stream_8h.html#a3138dce884dfcb8c9653de757261d16e',1,'grpc_chttp2_rst_stream_parser_begin_frame(grpc_chttp2_rst_stream_parser *parser, gpr_uint32 length, gpr_uint8 flags): frame_rst_stream.c'],['../frame__rst__stream_8c.html#a3138dce884dfcb8c9653de757261d16e',1,'grpc_chttp2_rst_stream_parser_begin_frame(grpc_chttp2_rst_stream_parser *parser, gpr_uint32 length, gpr_uint8 flags): frame_rst_stream.c']]], + ['grpc_5fchttp2_5frst_5fstream_5fparser_5fparse',['grpc_chttp2_rst_stream_parser_parse',['../frame__rst__stream_8h.html#ad89852ed41fa9b715fb86ab6193160fc',1,'grpc_chttp2_rst_stream_parser_parse(void *parser, grpc_chttp2_transport_parsing *transport_parsing, grpc_chttp2_stream_parsing *stream_parsing, gpr_slice slice, int is_last): frame_rst_stream.c'],['../frame__rst__stream_8c.html#ad89852ed41fa9b715fb86ab6193160fc',1,'grpc_chttp2_rst_stream_parser_parse(void *parser, grpc_chttp2_transport_parsing *transport_parsing, grpc_chttp2_stream_parsing *stream_parsing, gpr_slice slice, int is_last): frame_rst_stream.c']]], + ['grpc_5fchttp2_5fschedule_5fclosure',['grpc_chttp2_schedule_closure',['../internal_8h.html#a6f8b16bb6048f85107966a4be9ff4a4d',1,'grpc_chttp2_schedule_closure(grpc_chttp2_transport_global *transport_global, grpc_iomgr_closure *closure, int success): chttp2_transport.c'],['../chttp2__transport_8c.html#a6f8b16bb6048f85107966a4be9ff4a4d',1,'grpc_chttp2_schedule_closure(grpc_chttp2_transport_global *transport_global, grpc_iomgr_closure *closure, int success): chttp2_transport.c']]], + ['grpc_5fchttp2_5fsend_5fclosed',['grpc_chttp2_send_closed',['../internal_8h.html#a9d3b30dd29e854143c461aa7e03cbfb9',1,'internal.h']]], + ['grpc_5fchttp2_5fsetting_5fid',['grpc_chttp2_setting_id',['../frame__settings_8h.html#a1579a1a90fe405ea3791529c14da11ef',1,'frame_settings.h']]], + ['grpc_5fchttp2_5fsetting_5fparameters',['grpc_chttp2_setting_parameters',['../structgrpc__chttp2__setting__parameters.html',1,'']]], + ['grpc_5fchttp2_5fsetting_5fset',['grpc_chttp2_setting_set',['../internal_8h.html#a6c14b42c5aba744e7f99831e0b7901ad',1,'internal.h']]], + ['grpc_5fchttp2_5fsettings_5fack_5fcreate',['grpc_chttp2_settings_ack_create',['../frame__settings_8h.html#aa1382503cac023cb2cbf516427ec7954',1,'grpc_chttp2_settings_ack_create(void): frame_settings.c'],['../frame__settings_8c.html#aa1382503cac023cb2cbf516427ec7954',1,'grpc_chttp2_settings_ack_create(void): frame_settings.c']]], + ['grpc_5fchttp2_5fsettings_5fcreate',['grpc_chttp2_settings_create',['../frame__settings_8h.html#aa7db515ebcf9a8add8ade457502d065a',1,'grpc_chttp2_settings_create(gpr_uint32 *old, const gpr_uint32 *new, gpr_uint32 force_mask, size_t count): frame_settings.c'],['../frame__settings_8c.html#aa7db515ebcf9a8add8ade457502d065a',1,'grpc_chttp2_settings_create(gpr_uint32 *old, const gpr_uint32 *new, gpr_uint32 force_mask, size_t count): frame_settings.c']]], + ['grpc_5fchttp2_5fsettings_5fenable_5fpush',['GRPC_CHTTP2_SETTINGS_ENABLE_PUSH',['../frame__settings_8h.html#a1579a1a90fe405ea3791529c14da11efa7f070f14411298ea1311597311b41a1b',1,'frame_settings.h']]], + ['grpc_5fchttp2_5fsettings_5fheader_5ftable_5fsize',['GRPC_CHTTP2_SETTINGS_HEADER_TABLE_SIZE',['../frame__settings_8h.html#a1579a1a90fe405ea3791529c14da11efac610e43a0f572521b814f87f7e3c79a7',1,'frame_settings.h']]], + ['grpc_5fchttp2_5fsettings_5finitial_5fwindow_5fsize',['GRPC_CHTTP2_SETTINGS_INITIAL_WINDOW_SIZE',['../frame__settings_8h.html#a1579a1a90fe405ea3791529c14da11efa4220c4c98b8d1658f64cde93dfbc6c1c',1,'frame_settings.h']]], + ['grpc_5fchttp2_5fsettings_5fmax_5fconcurrent_5fstreams',['GRPC_CHTTP2_SETTINGS_MAX_CONCURRENT_STREAMS',['../frame__settings_8h.html#a1579a1a90fe405ea3791529c14da11efa41d47ec73fd1f060373bc6b229ce6924',1,'frame_settings.h']]], + ['grpc_5fchttp2_5fsettings_5fmax_5fframe_5fsize',['GRPC_CHTTP2_SETTINGS_MAX_FRAME_SIZE',['../frame__settings_8h.html#a1579a1a90fe405ea3791529c14da11efa9f44b823c96c40f04d156443621b04b7',1,'frame_settings.h']]], + ['grpc_5fchttp2_5fsettings_5fmax_5fheader_5flist_5fsize',['GRPC_CHTTP2_SETTINGS_MAX_HEADER_LIST_SIZE',['../frame__settings_8h.html#a1579a1a90fe405ea3791529c14da11efa4f082174b4938bd7bfb454ce86b57bd5',1,'frame_settings.h']]], + ['grpc_5fchttp2_5fsettings_5fparameters',['grpc_chttp2_settings_parameters',['../frame__settings_8h.html#a61e84df9b71280ea1a733437d9de8f37',1,'grpc_chttp2_settings_parameters(): frame_settings.c'],['../frame__settings_8c.html#a61e84df9b71280ea1a733437d9de8f37',1,'grpc_chttp2_settings_parameters(): frame_settings.c']]], + ['grpc_5fchttp2_5fsettings_5fparse_5fstate',['grpc_chttp2_settings_parse_state',['../frame__settings_8h.html#ae964433822fb14f6c7d72fc1f3420b8f',1,'frame_settings.h']]], + ['grpc_5fchttp2_5fsettings_5fparser',['grpc_chttp2_settings_parser',['../structgrpc__chttp2__settings__parser.html',1,'']]], + ['grpc_5fchttp2_5fsettings_5fparser_5fbegin_5fframe',['grpc_chttp2_settings_parser_begin_frame',['../frame__settings_8h.html#a8ad385f78097ad98242ae5a8b4bc9ccf',1,'grpc_chttp2_settings_parser_begin_frame(grpc_chttp2_settings_parser *parser, gpr_uint32 length, gpr_uint8 flags, gpr_uint32 *settings): frame_settings.c'],['../frame__settings_8c.html#a8ad385f78097ad98242ae5a8b4bc9ccf',1,'grpc_chttp2_settings_parser_begin_frame(grpc_chttp2_settings_parser *parser, gpr_uint32 length, gpr_uint8 flags, gpr_uint32 *settings): frame_settings.c']]], + ['grpc_5fchttp2_5fsettings_5fparser_5fparse',['grpc_chttp2_settings_parser_parse',['../frame__settings_8h.html#a15ff513efa0a8683d5df89ee5b369544',1,'grpc_chttp2_settings_parser_parse(void *parser, grpc_chttp2_transport_parsing *transport_parsing, grpc_chttp2_stream_parsing *stream_parsing, gpr_slice slice, int is_last): frame_settings.c'],['../frame__settings_8c.html#a24ea784f4fb455974f9b4e5d66ee1416',1,'grpc_chttp2_settings_parser_parse(void *p, grpc_chttp2_transport_parsing *transport_parsing, grpc_chttp2_stream_parsing *stream_parsing, gpr_slice slice, int is_last): frame_settings.c']]], + ['grpc_5fchttp2_5fsettings_5ftimeout',['GRPC_CHTTP2_SETTINGS_TIMEOUT',['../http2__errors_8h.html#a093974eee0aaf09397d243c7dcebd4daab8cd31d7a72d46adbfaadc17285f1b9f',1,'http2_errors.h']]], + ['grpc_5fchttp2_5fsps_5fid0',['GRPC_CHTTP2_SPS_ID0',['../frame__settings_8h.html#ae964433822fb14f6c7d72fc1f3420b8fa2e800b21243029fbcc09886a92a103e7',1,'frame_settings.h']]], + ['grpc_5fchttp2_5fsps_5fid1',['GRPC_CHTTP2_SPS_ID1',['../frame__settings_8h.html#ae964433822fb14f6c7d72fc1f3420b8fa72e3e47927539876c8174f778c01082a',1,'frame_settings.h']]], + ['grpc_5fchttp2_5fsps_5fval0',['GRPC_CHTTP2_SPS_VAL0',['../frame__settings_8h.html#ae964433822fb14f6c7d72fc1f3420b8fa025cf926edc443251e39469eae84eeee',1,'frame_settings.h']]], + ['grpc_5fchttp2_5fsps_5fval1',['GRPC_CHTTP2_SPS_VAL1',['../frame__settings_8h.html#ae964433822fb14f6c7d72fc1f3420b8fa2f522d046f4657fa3e5f40d78efa9a97',1,'frame_settings.h']]], + ['grpc_5fchttp2_5fsps_5fval2',['GRPC_CHTTP2_SPS_VAL2',['../frame__settings_8h.html#ae964433822fb14f6c7d72fc1f3420b8fa662e963afdd3bd9420a382124c7ee311',1,'frame_settings.h']]], + ['grpc_5fchttp2_5fsps_5fval3',['GRPC_CHTTP2_SPS_VAL3',['../frame__settings_8h.html#ae964433822fb14f6c7d72fc1f3420b8facebee53c2a5e1cc209590d1fa93880a0',1,'frame_settings.h']]], + ['grpc_5fchttp2_5fstream',['grpc_chttp2_stream',['../structgrpc__chttp2__stream.html',1,'grpc_chttp2_stream'],['../internal_8h.html#a50089f57f93d9eb16569dd3b63f879d1',1,'grpc_chttp2_stream(): internal.h']]], + ['grpc_5fchttp2_5fstream_5fclosed',['GRPC_CHTTP2_STREAM_CLOSED',['../http2__errors_8h.html#a093974eee0aaf09397d243c7dcebd4daa67e605a7272d6d956ccc616caf85d4c2',1,'http2_errors.h']]], + ['grpc_5fchttp2_5fstream_5ferror',['GRPC_CHTTP2_STREAM_ERROR',['../frame_8h.html#ada474db64756bd411eeeaf3de4318e35a785a08cbae32b1550c8b96da011fe9a4',1,'frame.h']]], + ['grpc_5fchttp2_5fstream_5fglobal',['grpc_chttp2_stream_global',['../structgrpc__chttp2__stream__global.html',1,'']]], + ['grpc_5fchttp2_5fstream_5flink',['grpc_chttp2_stream_link',['../structgrpc__chttp2__stream__link.html',1,'']]], + ['grpc_5fchttp2_5fstream_5flist',['grpc_chttp2_stream_list',['../structgrpc__chttp2__stream__list.html',1,'']]], + ['grpc_5fchttp2_5fstream_5flist_5fid',['grpc_chttp2_stream_list_id',['../internal_8h.html#abddcdf3ebb4034fd86a102d86aff5539',1,'internal.h']]], + ['grpc_5fchttp2_5fstream_5fmap',['grpc_chttp2_stream_map',['../structgrpc__chttp2__stream__map.html',1,'']]], + ['grpc_5fchttp2_5fstream_5fmap_5fadd',['grpc_chttp2_stream_map_add',['../stream__map_8h.html#a45ba47442f3bc9d3b6c6841a6f855560',1,'grpc_chttp2_stream_map_add(grpc_chttp2_stream_map *map, gpr_uint32 key, void *value): stream_map.c'],['../stream__map_8c.html#a45ba47442f3bc9d3b6c6841a6f855560',1,'grpc_chttp2_stream_map_add(grpc_chttp2_stream_map *map, gpr_uint32 key, void *value): stream_map.c']]], + ['grpc_5fchttp2_5fstream_5fmap_5fdelete',['grpc_chttp2_stream_map_delete',['../stream__map_8h.html#ab2236a03f8efe26f8a1a3818bed7844e',1,'grpc_chttp2_stream_map_delete(grpc_chttp2_stream_map *map, gpr_uint32 key): stream_map.c'],['../stream__map_8c.html#ab2236a03f8efe26f8a1a3818bed7844e',1,'grpc_chttp2_stream_map_delete(grpc_chttp2_stream_map *map, gpr_uint32 key): stream_map.c']]], + ['grpc_5fchttp2_5fstream_5fmap_5fdestroy',['grpc_chttp2_stream_map_destroy',['../stream__map_8h.html#ad002379073f1a7c545a186fa0498f077',1,'grpc_chttp2_stream_map_destroy(grpc_chttp2_stream_map *map): stream_map.c'],['../stream__map_8c.html#ad002379073f1a7c545a186fa0498f077',1,'grpc_chttp2_stream_map_destroy(grpc_chttp2_stream_map *map): stream_map.c']]], + ['grpc_5fchttp2_5fstream_5fmap_5ffind',['grpc_chttp2_stream_map_find',['../stream__map_8h.html#abdc9ffa6b3f22fc039ab6457a18e3fd4',1,'grpc_chttp2_stream_map_find(grpc_chttp2_stream_map *map, gpr_uint32 key): stream_map.c'],['../stream__map_8c.html#abdc9ffa6b3f22fc039ab6457a18e3fd4',1,'grpc_chttp2_stream_map_find(grpc_chttp2_stream_map *map, gpr_uint32 key): stream_map.c']]], + ['grpc_5fchttp2_5fstream_5fmap_5ffor_5feach',['grpc_chttp2_stream_map_for_each',['../stream__map_8h.html#a113657d2ad2cdffe3d9d00fe30996aa3',1,'grpc_chttp2_stream_map_for_each(grpc_chttp2_stream_map *map, void(*f)(void *user_data, gpr_uint32 key, void *value), void *user_data): stream_map.c'],['../stream__map_8c.html#a113657d2ad2cdffe3d9d00fe30996aa3',1,'grpc_chttp2_stream_map_for_each(grpc_chttp2_stream_map *map, void(*f)(void *user_data, gpr_uint32 key, void *value), void *user_data): stream_map.c']]], + ['grpc_5fchttp2_5fstream_5fmap_5finit',['grpc_chttp2_stream_map_init',['../stream__map_8h.html#ae18ac039ec6e93e6aa93c3aa6a1b1e4d',1,'grpc_chttp2_stream_map_init(grpc_chttp2_stream_map *map, size_t initial_capacity): stream_map.c'],['../stream__map_8c.html#ae18ac039ec6e93e6aa93c3aa6a1b1e4d',1,'grpc_chttp2_stream_map_init(grpc_chttp2_stream_map *map, size_t initial_capacity): stream_map.c']]], + ['grpc_5fchttp2_5fstream_5fmap_5fmove_5finto',['grpc_chttp2_stream_map_move_into',['../stream__map_8h.html#ac8399a7345ae2a716a1eb7594d6d0aa9',1,'grpc_chttp2_stream_map_move_into(grpc_chttp2_stream_map *src, grpc_chttp2_stream_map *dst): stream_map.c'],['../stream__map_8c.html#ac8399a7345ae2a716a1eb7594d6d0aa9',1,'grpc_chttp2_stream_map_move_into(grpc_chttp2_stream_map *src, grpc_chttp2_stream_map *dst): stream_map.c']]], + ['grpc_5fchttp2_5fstream_5fmap_5fsize',['grpc_chttp2_stream_map_size',['../stream__map_8h.html#a9f3f7360b053c5507b8bd792ba7e9e85',1,'grpc_chttp2_stream_map_size(grpc_chttp2_stream_map *map): stream_map.c'],['../stream__map_8c.html#a9f3f7360b053c5507b8bd792ba7e9e85',1,'grpc_chttp2_stream_map_size(grpc_chttp2_stream_map *map): stream_map.c']]], + ['grpc_5fchttp2_5fstream_5fparsing',['grpc_chttp2_stream_parsing',['../structgrpc__chttp2__stream__parsing.html',1,'grpc_chttp2_stream_parsing'],['../frame_8h.html#a67486ee57e3d27c619df98c80420f421',1,'grpc_chttp2_stream_parsing(): frame.h']]], + ['grpc_5fchttp2_5fstream_5fstate',['grpc_chttp2_stream_state',['../frame__data_8h.html#a0217c22db3da53fe20f70cb48dd3a910',1,'frame_data.h']]], + ['grpc_5fchttp2_5fstream_5fwriting',['grpc_chttp2_stream_writing',['../structgrpc__chttp2__stream__writing.html',1,'']]], + ['grpc_5fchttp2_5fterminate_5fwriting',['grpc_chttp2_terminate_writing',['../internal_8h.html#a83baade3ee315270b6d34fc6fbecb30c',1,'grpc_chttp2_terminate_writing(grpc_chttp2_transport_writing *transport_writing, int success): chttp2_transport.c'],['../chttp2__transport_8c.html#a83baade3ee315270b6d34fc6fbecb30c',1,'grpc_chttp2_terminate_writing(grpc_chttp2_transport_writing *transport_writing, int success): chttp2_transport.c']]], + ['grpc_5fchttp2_5ftimeout_5fencode_5fmin_5fbufsize',['GRPC_CHTTP2_TIMEOUT_ENCODE_MIN_BUFSIZE',['../timeout__encoding_8h.html#a774d4de6aaa65433d6a318f611c00939',1,'timeout_encoding.h']]], + ['grpc_5fchttp2_5ftransport',['grpc_chttp2_transport',['../structgrpc__chttp2__transport.html',1,'grpc_chttp2_transport'],['../internal_8h.html#a83a9a1c265dc0fede61598c7cd1aaec2',1,'grpc_chttp2_transport(): internal.h']]], + ['grpc_5fchttp2_5ftransport_5fglobal',['grpc_chttp2_transport_global',['../structgrpc__chttp2__transport__global.html',1,'']]], + ['grpc_5fchttp2_5ftransport_5fparsing',['grpc_chttp2_transport_parsing',['../structgrpc__chttp2__transport__parsing.html',1,'grpc_chttp2_transport_parsing'],['../frame_8h.html#a736ee44646a381e8119085a7803c20bc',1,'grpc_chttp2_transport_parsing(): frame.h']]], + ['grpc_5fchttp2_5ftransport_5fstart_5freading',['grpc_chttp2_transport_start_reading',['../chttp2__transport_8h.html#a73a9f03068253da126388dd890f1ee7d',1,'grpc_chttp2_transport_start_reading(grpc_transport *transport, gpr_slice *slices, size_t nslices): chttp2_transport.c'],['../chttp2__transport_8c.html#a73a9f03068253da126388dd890f1ee7d',1,'grpc_chttp2_transport_start_reading(grpc_transport *transport, gpr_slice *slices, size_t nslices): chttp2_transport.c']]], + ['grpc_5fchttp2_5ftransport_5fwriting',['grpc_chttp2_transport_writing',['../structgrpc__chttp2__transport__writing.html',1,'']]], + ['grpc_5fchttp2_5funlocking_5fcheck_5fwrites',['grpc_chttp2_unlocking_check_writes',['../internal_8h.html#a154399c46a1f7b901491acb4c04d19d3',1,'grpc_chttp2_unlocking_check_writes(grpc_chttp2_transport_global *global, grpc_chttp2_transport_writing *writing): writing.c'],['../writing_8c.html#a309a5e92de22678f146956743d86f18a',1,'grpc_chttp2_unlocking_check_writes(grpc_chttp2_transport_global *transport_global, grpc_chttp2_transport_writing *transport_writing): writing.c']]], + ['grpc_5fchttp2_5funregister_5fstream',['grpc_chttp2_unregister_stream',['../internal_8h.html#a558d8331836125098834d28a94e39bcc',1,'grpc_chttp2_unregister_stream(grpc_chttp2_transport *t, grpc_chttp2_stream *s) GRPC_MUST_USE_RESULT: stream_lists.c'],['../stream__lists_8c.html#a9a096df2132a082f0fcd5b1f8010bf84',1,'grpc_chttp2_unregister_stream(grpc_chttp2_transport *t, grpc_chttp2_stream *s): stream_lists.c']]], + ['grpc_5fchttp2_5fvarint_5flength',['GRPC_CHTTP2_VARINT_LENGTH',['../varint_8h.html#af09078f363c97757f6e7bfa3953cb93d',1,'varint.h']]], + ['grpc_5fchttp2_5fwindow_5fupdate_5fcreate',['grpc_chttp2_window_update_create',['../frame__window__update_8h.html#a98b5291151f7f1b9ea69a988bbe66fe0',1,'grpc_chttp2_window_update_create(gpr_uint32 id, gpr_uint32 window_delta): frame_window_update.c'],['../frame__window__update_8c.html#a66b55a7299f42a5862cdd349afc6d6ac',1,'grpc_chttp2_window_update_create(gpr_uint32 id, gpr_uint32 window_update): frame_window_update.c']]], + ['grpc_5fchttp2_5fwindow_5fupdate_5fparser',['grpc_chttp2_window_update_parser',['../structgrpc__chttp2__window__update__parser.html',1,'']]], + ['grpc_5fchttp2_5fwindow_5fupdate_5fparser_5fbegin_5fframe',['grpc_chttp2_window_update_parser_begin_frame',['../frame__window__update_8h.html#ad675abd4715d42665d37f606447dcde8',1,'grpc_chttp2_window_update_parser_begin_frame(grpc_chttp2_window_update_parser *parser, gpr_uint32 length, gpr_uint8 flags): frame_window_update.c'],['../frame__window__update_8c.html#ad675abd4715d42665d37f606447dcde8',1,'grpc_chttp2_window_update_parser_begin_frame(grpc_chttp2_window_update_parser *parser, gpr_uint32 length, gpr_uint8 flags): frame_window_update.c']]], + ['grpc_5fchttp2_5fwindow_5fupdate_5fparser_5fparse',['grpc_chttp2_window_update_parser_parse',['../frame__window__update_8h.html#ab1c1b5d960c0ed5cfff799476b4e425a',1,'grpc_chttp2_window_update_parser_parse(void *parser, grpc_chttp2_transport_parsing *transport_parsing, grpc_chttp2_stream_parsing *stream_parsing, gpr_slice slice, int is_last): frame_window_update.c'],['../frame__window__update_8c.html#ab1c1b5d960c0ed5cfff799476b4e425a',1,'grpc_chttp2_window_update_parser_parse(void *parser, grpc_chttp2_transport_parsing *transport_parsing, grpc_chttp2_stream_parsing *stream_parsing, gpr_slice slice, int is_last): frame_window_update.c']]], + ['grpc_5fchttp2_5fwrite_5fstate',['grpc_chttp2_write_state',['../internal_8h.html#a3b93cb6f95aff10ba74b6aa06d7e99cc',1,'internal.h']]], + ['grpc_5fchttp2_5fwrite_5fvarint',['GRPC_CHTTP2_WRITE_VARINT',['../varint_8h.html#a6f5350a7ba20095c1c903463e74b8e54',1,'varint.h']]], + ['grpc_5fclient_5fauth_5ffilter',['grpc_client_auth_filter',['../auth__filters_8h.html#ab5f3c640585f742a46197f407218c194',1,'grpc_client_auth_filter(): client_auth_filter.c'],['../client__auth__filter_8c.html#ab5f3c640585f742a46197f407218c194',1,'grpc_client_auth_filter(): client_auth_filter.c']]], + ['grpc_5fclient_5fcensus_5ffilter',['grpc_client_census_filter',['../census__filter_8h.html#a8b0a34120ce851f7a8f539c3a14eecb4',1,'census_filter.h']]], + ['grpc_5fclient_5fchannel_5fadd_5finterested_5fparty',['grpc_client_channel_add_interested_party',['../client__channel_8h.html#ac31482c5bf741292f7598367655fd5ee',1,'grpc_client_channel_add_interested_party(grpc_channel_element *channel, grpc_pollset *pollset): client_channel.c'],['../client__channel_8c.html#a7b288cd209db3fac0c4cd5d4f8fbf3b3',1,'grpc_client_channel_add_interested_party(grpc_channel_element *elem, grpc_pollset *pollset): client_channel.c']]], + ['grpc_5fclient_5fchannel_5fcheck_5fconnectivity_5fstate',['grpc_client_channel_check_connectivity_state',['../client__channel_8h.html#ae257a5817fa8e50df430d4a2132deed6',1,'grpc_client_channel_check_connectivity_state(grpc_channel_element *elem, int try_to_connect): client_channel.c'],['../client__channel_8c.html#ae257a5817fa8e50df430d4a2132deed6',1,'grpc_client_channel_check_connectivity_state(grpc_channel_element *elem, int try_to_connect): client_channel.c']]], + ['grpc_5fclient_5fchannel_5fdel_5finterested_5fparty',['grpc_client_channel_del_interested_party',['../client__channel_8h.html#a495327ded305a2211cc39f7c5ecf5c8d',1,'grpc_client_channel_del_interested_party(grpc_channel_element *channel, grpc_pollset *pollset): client_channel.c'],['../client__channel_8c.html#a36a91904b5c5cce4a334a9e055b35f78',1,'grpc_client_channel_del_interested_party(grpc_channel_element *elem, grpc_pollset *pollset): client_channel.c']]], + ['grpc_5fclient_5fchannel_5ffilter',['grpc_client_channel_filter',['../client__channel_8h.html#a8c2292b3b1d26b9c4c296c106bfa96b1',1,'grpc_client_channel_filter(): client_channel.c'],['../client__channel_8c.html#a8c2292b3b1d26b9c4c296c106bfa96b1',1,'grpc_client_channel_filter(): client_channel.c']]], + ['grpc_5fclient_5fchannel_5fget_5fconnecting_5fpollset_5fset',['grpc_client_channel_get_connecting_pollset_set',['../client__channel_8h.html#ab6ddde66c53ca2fec899def7d72234ad',1,'grpc_client_channel_get_connecting_pollset_set(grpc_channel_element *elem): client_channel.c'],['../client__channel_8c.html#ab6ddde66c53ca2fec899def7d72234ad',1,'grpc_client_channel_get_connecting_pollset_set(grpc_channel_element *elem): client_channel.c']]], + ['grpc_5fclient_5fchannel_5fset_5fresolver',['grpc_client_channel_set_resolver',['../client__channel_8h.html#a86757e52c8e3f20d553f999c62589993',1,'grpc_client_channel_set_resolver(grpc_channel_stack *channel_stack, grpc_resolver *resolver): client_channel.c'],['../client__channel_8c.html#a86757e52c8e3f20d553f999c62589993',1,'grpc_client_channel_set_resolver(grpc_channel_stack *channel_stack, grpc_resolver *resolver): client_channel.c']]], + ['grpc_5fclient_5fchannel_5fwatch_5fconnectivity_5fstate',['grpc_client_channel_watch_connectivity_state',['../client__channel_8h.html#a037d0d7720ae9a68669ad9552f7ee69c',1,'grpc_client_channel_watch_connectivity_state(grpc_channel_element *elem, grpc_connectivity_state *state, grpc_iomgr_closure *on_complete): client_channel.c'],['../client__channel_8c.html#a037d0d7720ae9a68669ad9552f7ee69c',1,'grpc_client_channel_watch_connectivity_state(grpc_channel_element *elem, grpc_connectivity_state *state, grpc_iomgr_closure *on_complete): client_channel.c']]], + ['grpc_5fclient_5fconfig',['grpc_client_config',['../structgrpc__client__config.html',1,'grpc_client_config'],['../client__config_8h.html#a5c92ac9b2893cfe73b5be84ddc10367c',1,'grpc_client_config(): client_config.h']]], + ['grpc_5fclient_5fconfig_5fcreate',['grpc_client_config_create',['../client__config_8h.html#a165901d77b066794c0822a683d167359',1,'grpc_client_config_create(): client_config.c'],['../client__config_8c.html#a165901d77b066794c0822a683d167359',1,'grpc_client_config_create(): client_config.c']]], + ['grpc_5fclient_5fconfig_5fget_5flb_5fpolicy',['grpc_client_config_get_lb_policy',['../client__config_8h.html#a34de5fdfe171d82064a2c568dc5f109e',1,'grpc_client_config_get_lb_policy(grpc_client_config *client_config): client_config.c'],['../client__config_8c.html#aa6642aab990240a61c9ecafa3dfb55e1',1,'grpc_client_config_get_lb_policy(grpc_client_config *c): client_config.c']]], + ['grpc_5fclient_5fconfig_5fref',['grpc_client_config_ref',['../client__config_8h.html#af036e0a9e83189f7d2c72afdeb6c6d86',1,'grpc_client_config_ref(grpc_client_config *client_config): client_config.c'],['../client__config_8c.html#aa0b099847f86ea9e0da873f49b92f554',1,'grpc_client_config_ref(grpc_client_config *c): client_config.c']]], + ['grpc_5fclient_5fconfig_5fset_5flb_5fpolicy',['grpc_client_config_set_lb_policy',['../client__config_8h.html#a01f90473256a8c714ba043c03ef2acac',1,'grpc_client_config_set_lb_policy(grpc_client_config *client_config, grpc_lb_policy *lb_policy): client_config.c'],['../client__config_8c.html#a807baa44b3464dc0c5870184619d6c35',1,'grpc_client_config_set_lb_policy(grpc_client_config *c, grpc_lb_policy *lb_policy): client_config.c']]], + ['grpc_5fclient_5fconfig_5funref',['grpc_client_config_unref',['../client__config_8h.html#a614ddbd34b8597f39bce9d8f4c6ca978',1,'grpc_client_config_unref(grpc_client_config *client_config): client_config.c'],['../client__config_8c.html#ad8d9107bdf0a780e914dccd4fd57cb35',1,'grpc_client_config_unref(grpc_client_config *c): client_config.c']]], + ['grpc_5fclient_5fsecurity_5fcontext',['grpc_client_security_context',['../structgrpc__client__security__context.html',1,'']]], + ['grpc_5fclient_5fsecurity_5fcontext_5fcreate',['grpc_client_security_context_create',['../security__context_8h.html#a7ca11372b407a42724f5d13e36409c03',1,'grpc_client_security_context_create(void): security_context.c'],['../security__context_8c.html#a7ca11372b407a42724f5d13e36409c03',1,'grpc_client_security_context_create(void): security_context.c']]], + ['grpc_5fclient_5fsecurity_5fcontext_5fdestroy',['grpc_client_security_context_destroy',['../security__context_8h.html#a794b8453091b440bafd21e00cf0f7236',1,'grpc_client_security_context_destroy(void *ctx): security_context.c'],['../security__context_8c.html#a794b8453091b440bafd21e00cf0f7236',1,'grpc_client_security_context_destroy(void *ctx): security_context.c']]], + ['grpc_5fcompletion_5fqueue',['grpc_completion_queue',['../structgrpc__completion__queue.html',1,'grpc_completion_queue'],['../grpc_8h.html#a895faab0e6035445750e43482651ba2f',1,'grpc_completion_queue(): grpc.h']]], + ['grpc_5fcompletion_5fqueue_5fcreate',['grpc_completion_queue_create',['../grpc_8h.html#a9f69c76c26125e6581491864a06ea44a',1,'grpc_completion_queue_create(void): completion_queue.c'],['../completion__queue_8c.html#a9f69c76c26125e6581491864a06ea44a',1,'grpc_completion_queue_create(void): completion_queue.c']]], + ['grpc_5fcompletion_5fqueue_5fdestroy',['grpc_completion_queue_destroy',['../grpc_8h.html#a629a77a358721f1a3bbb8fef34c3996e',1,'grpc_completion_queue_destroy(grpc_completion_queue *cq): completion_queue.c'],['../completion__queue_8c.html#a1d73d7983af3030ee119b768095e9627',1,'grpc_completion_queue_destroy(grpc_completion_queue *cc): completion_queue.c']]], + ['grpc_5fcompletion_5fqueue_5fnext',['grpc_completion_queue_next',['../grpc_8h.html#a56a4ff1f046393205c3418c24f5d5587',1,'grpc_completion_queue_next(grpc_completion_queue *cq, gpr_timespec deadline): completion_queue.c'],['../completion__queue_8c.html#ac9b582acb0fc4994ccdbf39d40ee3766',1,'grpc_completion_queue_next(grpc_completion_queue *cc, gpr_timespec deadline): completion_queue.c']]], + ['grpc_5fcompletion_5fqueue_5fpluck',['grpc_completion_queue_pluck',['../grpc_8h.html#a21e38dd0146d244eb0e262fd1b6a50ee',1,'grpc_completion_queue_pluck(grpc_completion_queue *cq, void *tag, gpr_timespec deadline): completion_queue.c'],['../completion__queue_8c.html#ab63b4e63ae13faa3e6786f131a46b5dd',1,'grpc_completion_queue_pluck(grpc_completion_queue *cc, void *tag, gpr_timespec deadline): completion_queue.c']]], + ['grpc_5fcompletion_5fqueue_5fshutdown',['grpc_completion_queue_shutdown',['../grpc_8h.html#a4051b4036c5132f02064430f67420ecd',1,'grpc_completion_queue_shutdown(grpc_completion_queue *cq): completion_queue.c'],['../completion__queue_8c.html#a7a7c60f847e798025d83e2d8ff9b1778',1,'grpc_completion_queue_shutdown(grpc_completion_queue *cc): completion_queue.c']]], + ['grpc_5fcompletion_5ftype',['grpc_completion_type',['../grpc_8h.html#ab6454071421a36ebc25952ed448d5b87',1,'grpc_completion_type(): grpc.h'],['../grpc_8h.html#a70454b2958c92c1cd8feeaa45f157b74',1,'grpc_completion_type(): grpc.h']]], + ['grpc_5fcomposite_5fcredentials',['grpc_composite_credentials',['../structgrpc__composite__credentials.html',1,'']]], + ['grpc_5fcomposite_5fcredentials_5fcreate',['grpc_composite_credentials_create',['../grpc__security_8h.html#a4f65f01fb23e963cc88bcdfbede70da7',1,'grpc_composite_credentials_create(grpc_credentials *creds1, grpc_credentials *creds2): credentials.c'],['../credentials_8c.html#a4f65f01fb23e963cc88bcdfbede70da7',1,'grpc_composite_credentials_create(grpc_credentials *creds1, grpc_credentials *creds2): credentials.c']]], + ['grpc_5fcomposite_5fcredentials_5fget_5fcredentials',['grpc_composite_credentials_get_credentials',['../credentials_8h.html#ae0ed8f1e7494e839a3992c0a19fe0c67',1,'grpc_composite_credentials_get_credentials(grpc_credentials *composite_creds): credentials.c'],['../credentials_8c.html#ac3ea491e3e847e603c0da420375b6e60',1,'grpc_composite_credentials_get_credentials(grpc_credentials *creds): credentials.c']]], + ['grpc_5fcomposite_5fcredentials_5fmetadata_5fcontext',['grpc_composite_credentials_metadata_context',['../structgrpc__composite__credentials__metadata__context.html',1,'']]], + ['grpc_5fcompress_5falgorithms_5fcount',['GRPC_COMPRESS_ALGORITHMS_COUNT',['../compression_8h.html#ab9de0f68bfb1ef8ed09bd00643db14c9a94d7fc0a8e4a05546d462d53c2b53b8d',1,'compression.h']]], + ['grpc_5fcompress_5fdeflate',['GRPC_COMPRESS_DEFLATE',['../compression_8h.html#ab9de0f68bfb1ef8ed09bd00643db14c9a50de256d5abe80daff7e1372e29dd913',1,'compression.h']]], + ['grpc_5fcompress_5ffilter',['grpc_compress_filter',['../compress__filter_8h.html#a6e0ba3e22587af99125faa43ee943c88',1,'grpc_compress_filter(): compress_filter.c'],['../compress__filter_8c.html#a6e0ba3e22587af99125faa43ee943c88',1,'grpc_compress_filter(): compress_filter.c']]], + ['grpc_5fcompress_5fgzip',['GRPC_COMPRESS_GZIP',['../compression_8h.html#ab9de0f68bfb1ef8ed09bd00643db14c9a5a134ced82d8682b55b99b8e9386555e',1,'compression.h']]], + ['grpc_5fcompress_5flevel_5fcount',['GRPC_COMPRESS_LEVEL_COUNT',['../compression_8h.html#a14a79ed6b5ebd7e1dda7c2684f499cc7a893b24fb0986e61ebda069c713b8bd43',1,'compression.h']]], + ['grpc_5fcompress_5flevel_5fhigh',['GRPC_COMPRESS_LEVEL_HIGH',['../compression_8h.html#a14a79ed6b5ebd7e1dda7c2684f499cc7a501a0cf15300a90c09a3d8b4f7f43d22',1,'compression.h']]], + ['grpc_5fcompress_5flevel_5flow',['GRPC_COMPRESS_LEVEL_LOW',['../compression_8h.html#a14a79ed6b5ebd7e1dda7c2684f499cc7afd436e21be4f897ca939b3b4d9a44673',1,'compression.h']]], + ['grpc_5fcompress_5flevel_5fmed',['GRPC_COMPRESS_LEVEL_MED',['../compression_8h.html#a14a79ed6b5ebd7e1dda7c2684f499cc7a4319a32cdd0b59a7ecc977f8612214ce',1,'compression.h']]], + ['grpc_5fcompress_5flevel_5fnone',['GRPC_COMPRESS_LEVEL_NONE',['../compression_8h.html#a14a79ed6b5ebd7e1dda7c2684f499cc7ab67efe04f58b0939b963e51a5b8f772c',1,'compression.h']]], + ['grpc_5fcompress_5fnone',['GRPC_COMPRESS_NONE',['../compression_8h.html#ab9de0f68bfb1ef8ed09bd00643db14c9a3135cac7e854adb16358c53e97df9cd8',1,'compression.h']]], + ['grpc_5fcompress_5frequest_5falgorithm_5fkey',['GRPC_COMPRESS_REQUEST_ALGORITHM_KEY',['../compress__filter_8h.html#a501a03bf06f05a5d19c3e2c3b8143124',1,'compress_filter.h']]], + ['grpc_5fcompression_5falgorithm',['grpc_compression_algorithm',['../compression_8h.html#ab9de0f68bfb1ef8ed09bd00643db14c9',1,'compression.h']]], + ['grpc_5fcompression_5falgorithm_5farg',['GRPC_COMPRESSION_ALGORITHM_ARG',['../compression_8h.html#a9340488e193921e62bb1f240f9016a9b',1,'compression.h']]], + ['grpc_5fcompression_5falgorithm_5ffor_5flevel',['grpc_compression_algorithm_for_level',['../compression_8h.html#a382cce802b53a6f85deb706caf1dccd6',1,'grpc_compression_algorithm_for_level(grpc_compression_level level): algorithm.c'],['../algorithm_8c.html#a382cce802b53a6f85deb706caf1dccd6',1,'grpc_compression_algorithm_for_level(grpc_compression_level level): algorithm.c']]], + ['grpc_5fcompression_5falgorithm_5fname',['grpc_compression_algorithm_name',['../compression_8h.html#adce0341ab8fd560dc39e9e96daf7cb14',1,'grpc_compression_algorithm_name(grpc_compression_algorithm algorithm, char **name): algorithm.c'],['../algorithm_8c.html#adce0341ab8fd560dc39e9e96daf7cb14',1,'grpc_compression_algorithm_name(grpc_compression_algorithm algorithm, char **name): algorithm.c']]], + ['grpc_5fcompression_5falgorithm_5fparse',['grpc_compression_algorithm_parse',['../compression_8h.html#a996f65ae42d05dd7ef9da9c6d6586397',1,'grpc_compression_algorithm_parse(const char *name, grpc_compression_algorithm *algorithm): algorithm.c'],['../algorithm_8c.html#a996f65ae42d05dd7ef9da9c6d6586397',1,'grpc_compression_algorithm_parse(const char *name, grpc_compression_algorithm *algorithm): algorithm.c']]], + ['grpc_5fcompression_5falgorithm_5fstring',['grpc_compression_algorithm_string',['../structgrpc__channel.html#afd8f60fef22e201f1e1ba3b00f285602',1,'grpc_channel']]], + ['grpc_5fcompression_5flevel',['grpc_compression_level',['../compression_8h.html#a14a79ed6b5ebd7e1dda7c2684f499cc7',1,'compression.h']]], + ['grpc_5fcompression_5flevel_5ffor_5falgorithm',['grpc_compression_level_for_algorithm',['../compression_8h.html#ace80040d9c2a916ddd4d2f2d2ec44dba',1,'grpc_compression_level_for_algorithm(grpc_compression_algorithm algorithm): algorithm.c'],['../algorithm_8c.html#ace80040d9c2a916ddd4d2f2d2ec44dba',1,'grpc_compression_level_for_algorithm(grpc_compression_algorithm algorithm): algorithm.c']]], + ['grpc_5fcompute_5fengine_5fcredentials_5fcreate',['grpc_compute_engine_credentials_create',['../grpc__security_8h.html#a3beb3fe683139856e1a13c27d760eb95',1,'grpc_compute_engine_credentials_create(void): credentials.c'],['../credentials_8c.html#a3beb3fe683139856e1a13c27d760eb95',1,'grpc_compute_engine_credentials_create(void): credentials.c']]], + ['grpc_5fcompute_5fengine_5fdetection_5fhost',['GRPC_COMPUTE_ENGINE_DETECTION_HOST',['../google__default__credentials_8c.html#a4c79e7c2c581744d4fcb3518b2fccf39',1,'google_default_credentials.c']]], + ['grpc_5fcompute_5fengine_5fmetadata_5fhost',['GRPC_COMPUTE_ENGINE_METADATA_HOST',['../credentials_8h.html#af2ca22068add36d00ce70643802ff647',1,'credentials.h']]], + ['grpc_5fcompute_5fengine_5fmetadata_5ftoken_5fpath',['GRPC_COMPUTE_ENGINE_METADATA_TOKEN_PATH',['../credentials_8h.html#aca8e8738c2c829c3cf48f49454f7188f',1,'credentials.h']]], + ['grpc_5fconnect_5fin_5fargs',['grpc_connect_in_args',['../structgrpc__connect__in__args.html',1,'']]], + ['grpc_5fconnect_5fout_5fargs',['grpc_connect_out_args',['../structgrpc__connect__out__args.html',1,'']]], + ['grpc_5fconnected_5fchannel_5fbind_5ftransport',['grpc_connected_channel_bind_transport',['../connected__channel_8h.html#a5be096b4cce2c5c6b51727866723e5b9',1,'grpc_connected_channel_bind_transport(grpc_channel_stack *channel_stack, grpc_transport *transport): connected_channel.c'],['../connected__channel_8c.html#a5be096b4cce2c5c6b51727866723e5b9',1,'grpc_connected_channel_bind_transport(grpc_channel_stack *channel_stack, grpc_transport *transport): connected_channel.c']]], + ['grpc_5fconnected_5fchannel_5ffilter',['grpc_connected_channel_filter',['../connected__channel_8h.html#a30c8116a24cf1e555af53c1296d10b39',1,'grpc_connected_channel_filter(): connected_channel.c'],['../connected__channel_8c.html#a30c8116a24cf1e555af53c1296d10b39',1,'grpc_connected_channel_filter(): connected_channel.c']]], + ['grpc_5fconnectivity_5fstate',['grpc_connectivity_state',['../grpc_8h.html#a065b65f5cdd062a67d82e2b6bcf68cf2',1,'grpc.h']]], + ['grpc_5fconnectivity_5fstate_5fcheck',['grpc_connectivity_state_check',['../connectivity__state_8h.html#a7de513064c1e6d041b5c03611a21784c',1,'grpc_connectivity_state_check(grpc_connectivity_state_tracker *tracker): connectivity_state.c'],['../connectivity__state_8c.html#a7de513064c1e6d041b5c03611a21784c',1,'grpc_connectivity_state_check(grpc_connectivity_state_tracker *tracker): connectivity_state.c']]], + ['grpc_5fconnectivity_5fstate_5fdestroy',['grpc_connectivity_state_destroy',['../connectivity__state_8h.html#aa8e03f103b290be8de8041a63e469591',1,'grpc_connectivity_state_destroy(grpc_connectivity_state_tracker *tracker): connectivity_state.c'],['../connectivity__state_8c.html#aa8e03f103b290be8de8041a63e469591',1,'grpc_connectivity_state_destroy(grpc_connectivity_state_tracker *tracker): connectivity_state.c']]], + ['grpc_5fconnectivity_5fstate_5finit',['grpc_connectivity_state_init',['../connectivity__state_8h.html#ab6dd4577019442e4d2bfab318d0a66a8',1,'grpc_connectivity_state_init(grpc_connectivity_state_tracker *tracker, grpc_connectivity_state init_state, const char *name): connectivity_state.c'],['../connectivity__state_8c.html#ab6dd4577019442e4d2bfab318d0a66a8',1,'grpc_connectivity_state_init(grpc_connectivity_state_tracker *tracker, grpc_connectivity_state init_state, const char *name): connectivity_state.c']]], + ['grpc_5fconnectivity_5fstate_5fname',['grpc_connectivity_state_name',['../connectivity__state_8c.html#a90cae61aab329c583da43141f8057b36',1,'connectivity_state.c']]], + ['grpc_5fconnectivity_5fstate_5fnotify_5fon_5fstate_5fchange',['grpc_connectivity_state_notify_on_state_change',['../connectivity__state_8h.html#aef05f23287d0e2ab2e469e7113d01827',1,'grpc_connectivity_state_notify_on_state_change(grpc_connectivity_state_tracker *tracker, grpc_connectivity_state *current, grpc_iomgr_closure *notify): connectivity_state.c'],['../connectivity__state_8c.html#aef05f23287d0e2ab2e469e7113d01827',1,'grpc_connectivity_state_notify_on_state_change(grpc_connectivity_state_tracker *tracker, grpc_connectivity_state *current, grpc_iomgr_closure *notify): connectivity_state.c']]], + ['grpc_5fconnectivity_5fstate_5fset',['grpc_connectivity_state_set',['../connectivity__state_8h.html#aafe2517530b344f8e062bbef25b8895c',1,'grpc_connectivity_state_set(grpc_connectivity_state_tracker *tracker, grpc_connectivity_state state, const char *reason): connectivity_state.c'],['../connectivity__state_8c.html#aafe2517530b344f8e062bbef25b8895c',1,'grpc_connectivity_state_set(grpc_connectivity_state_tracker *tracker, grpc_connectivity_state state, const char *reason): connectivity_state.c']]], + ['grpc_5fconnectivity_5fstate_5fset_5fwith_5fscheduler',['grpc_connectivity_state_set_with_scheduler',['../connectivity__state_8h.html#ae542578d2026b84ff6d0403809e67ad7',1,'grpc_connectivity_state_set_with_scheduler(grpc_connectivity_state_tracker *tracker, grpc_connectivity_state state, void(*scheduler)(void *arg, grpc_iomgr_closure *closure), void *arg, const char *reason): connectivity_state.c'],['../connectivity__state_8c.html#ae542578d2026b84ff6d0403809e67ad7',1,'grpc_connectivity_state_set_with_scheduler(grpc_connectivity_state_tracker *tracker, grpc_connectivity_state state, void(*scheduler)(void *arg, grpc_iomgr_closure *closure), void *arg, const char *reason): connectivity_state.c']]], + ['grpc_5fconnectivity_5fstate_5ftrace',['grpc_connectivity_state_trace',['../connectivity__state_8h.html#aae556e492df3eb9d23c5bc5728b6662c',1,'grpc_connectivity_state_trace(): connectivity_state.c'],['../connectivity__state_8c.html#aae556e492df3eb9d23c5bc5728b6662c',1,'grpc_connectivity_state_trace(): connectivity_state.c']]], + ['grpc_5fconnectivity_5fstate_5ftracker',['grpc_connectivity_state_tracker',['../structgrpc__connectivity__state__tracker.html',1,'']]], + ['grpc_5fconnectivity_5fstate_5fwatcher',['grpc_connectivity_state_watcher',['../structgrpc__connectivity__state__watcher.html',1,'grpc_connectivity_state_watcher'],['../connectivity__state_8h.html#aeda9add40d75e8ee7249a208e38a065a',1,'grpc_connectivity_state_watcher(): connectivity_state.h']]], + ['grpc_5fconnector',['grpc_connector',['../structgrpc__connector.html',1,'grpc_connector'],['../connector_8h.html#aae174ab59659a89b5e73c565023961bb',1,'grpc_connector(): connector.h']]], + ['grpc_5fconnector_5fconnect',['grpc_connector_connect',['../connector_8h.html#ae43acb2d650fdc8023d69a4a39781d4e',1,'grpc_connector_connect(grpc_connector *connector, const grpc_connect_in_args *in_args, grpc_connect_out_args *out_args, grpc_iomgr_closure *notify): connector.c'],['../connector_8c.html#ae43acb2d650fdc8023d69a4a39781d4e',1,'grpc_connector_connect(grpc_connector *connector, const grpc_connect_in_args *in_args, grpc_connect_out_args *out_args, grpc_iomgr_closure *notify): connector.c']]], + ['grpc_5fconnector_5fref',['grpc_connector_ref',['../connector_8h.html#a32f21c6a46c13ba6cc697cf94c45ca46',1,'grpc_connector_ref(grpc_connector *connector): connector.c'],['../connector_8c.html#a32f21c6a46c13ba6cc697cf94c45ca46',1,'grpc_connector_ref(grpc_connector *connector): connector.c']]], + ['grpc_5fconnector_5funref',['grpc_connector_unref',['../connector_8h.html#ab65e217852a93e4a8281e7003d72bcf6',1,'grpc_connector_unref(grpc_connector *connector): connector.c'],['../connector_8c.html#ab65e217852a93e4a8281e7003d72bcf6',1,'grpc_connector_unref(grpc_connector *connector): connector.c']]], + ['grpc_5fconnector_5fvtable',['grpc_connector_vtable',['../structgrpc__connector__vtable.html',1,'grpc_connector_vtable'],['../connector_8h.html#add8d7e9bf9a65c5580489f9af7951bec',1,'grpc_connector_vtable(): connector.h']]], + ['grpc_5fcontext_2ec',['grpc_context.c',['../grpc__context_8c.html',1,'']]], + ['grpc_5fcontext_5fcount',['GRPC_CONTEXT_COUNT',['../channel_2context_8h.html#ad9f29fba1468a9a1384b9104bf368dffa7cc0d6f72e8a72421b89aa61683324a7',1,'context.h']]], + ['grpc_5fcontext_5findex',['grpc_context_index',['../channel_2context_8h.html#ad9f29fba1468a9a1384b9104bf368dff',1,'context.h']]], + ['grpc_5fcontext_5fsecurity',['GRPC_CONTEXT_SECURITY',['../channel_2context_8h.html#ad9f29fba1468a9a1384b9104bf368dffad3eeb57d00fb37f4d2f39706942b4d1b',1,'context.h']]], + ['grpc_5fcontext_5ftracing',['GRPC_CONTEXT_TRACING',['../channel_2context_8h.html#ad9f29fba1468a9a1384b9104bf368dffa772d66a312d7bbe72aa6036832976b80',1,'context.h']]], + ['grpc_5fcq_5fbegin_5fop',['grpc_cq_begin_op',['../completion__queue_8h.html#af0798635c22a4eaa66ed25c310b3a776',1,'grpc_cq_begin_op(grpc_completion_queue *cc): completion_queue.c'],['../completion__queue_8c.html#af0798635c22a4eaa66ed25c310b3a776',1,'grpc_cq_begin_op(grpc_completion_queue *cc): completion_queue.c']]], + ['grpc_5fcq_5fcompletion',['grpc_cq_completion',['../structgrpc__cq__completion.html',1,'grpc_cq_completion'],['../completion__queue_8h.html#a3695e8858dba0cab40f3becbf822e014',1,'grpc_cq_completion(): completion_queue.h']]], + ['grpc_5fcq_5fend_5fop',['grpc_cq_end_op',['../completion__queue_8h.html#a2752dafd9e9e02bbd253578fc58b0a7e',1,'grpc_cq_end_op(grpc_completion_queue *cc, void *tag, int success, void(*done)(void *done_arg, grpc_cq_completion *storage), void *done_arg, grpc_cq_completion *storage): completion_queue.c'],['../completion__queue_8c.html#a2752dafd9e9e02bbd253578fc58b0a7e',1,'grpc_cq_end_op(grpc_completion_queue *cc, void *tag, int success, void(*done)(void *done_arg, grpc_cq_completion *storage), void *done_arg, grpc_cq_completion *storage): completion_queue.c']]], + ['grpc_5fcq_5fhack_5fspin_5fpollset',['grpc_cq_hack_spin_pollset',['../completion__queue_8h.html#af56ef17bad0397c6f1305be433aeeb64',1,'grpc_cq_hack_spin_pollset(grpc_completion_queue *cc): completion_queue.c'],['../completion__queue_8c.html#af56ef17bad0397c6f1305be433aeeb64',1,'grpc_cq_hack_spin_pollset(grpc_completion_queue *cc): completion_queue.c']]], + ['grpc_5fcq_5finternal_5fref',['grpc_cq_internal_ref',['../completion__queue_8h.html#acec06afc3d55de1701d5831e979dad02',1,'grpc_cq_internal_ref(grpc_completion_queue *cc): completion_queue.c'],['../completion__queue_8c.html#acec06afc3d55de1701d5831e979dad02',1,'grpc_cq_internal_ref(grpc_completion_queue *cc): completion_queue.c'],['../completion__queue_8h.html#abb132fe2e37bc87bfcc83eb3cd8d3101',1,'GRPC_CQ_INTERNAL_REF(): completion_queue.h']]], + ['grpc_5fcq_5finternal_5funref',['grpc_cq_internal_unref',['../completion__queue_8h.html#a0096a03d441f4b7cfbbe864eb122ed8e',1,'grpc_cq_internal_unref(grpc_completion_queue *cc): completion_queue.c'],['../completion__queue_8c.html#a0096a03d441f4b7cfbbe864eb122ed8e',1,'grpc_cq_internal_unref(grpc_completion_queue *cc): completion_queue.c'],['../completion__queue_8h.html#aaceb3ef8959e5c43f6954c19a1975f63',1,'GRPC_CQ_INTERNAL_UNREF(): completion_queue.h']]], + ['grpc_5fcq_5fis_5fserver_5fcq',['grpc_cq_is_server_cq',['../completion__queue_8h.html#a02173d1bf8e55f6903d24c20107d8dbf',1,'grpc_cq_is_server_cq(grpc_completion_queue *cc): completion_queue.c'],['../completion__queue_8c.html#a02173d1bf8e55f6903d24c20107d8dbf',1,'grpc_cq_is_server_cq(grpc_completion_queue *cc): completion_queue.c']]], + ['grpc_5fcq_5fmark_5fserver_5fcq',['grpc_cq_mark_server_cq',['../completion__queue_8h.html#afbe8f768af201e16309e240ae155ee3d',1,'grpc_cq_mark_server_cq(grpc_completion_queue *cc): completion_queue.c'],['../completion__queue_8c.html#afbe8f768af201e16309e240ae155ee3d',1,'grpc_cq_mark_server_cq(grpc_completion_queue *cc): completion_queue.c']]], + ['grpc_5fcq_5fpollset',['grpc_cq_pollset',['../completion__queue_8h.html#a0ebca6cf60ce9cc92b9bfa9200fab813',1,'grpc_cq_pollset(grpc_completion_queue *cc): completion_queue.c'],['../completion__queue_8c.html#a0ebca6cf60ce9cc92b9bfa9200fab813',1,'grpc_cq_pollset(grpc_completion_queue *cc): completion_queue.c']]], + ['grpc_5fcreate_5fchttp2_5ftransport',['grpc_create_chttp2_transport',['../chttp2__transport_8h.html#a73982c96ccbaedc415c044d9d9b7bd01',1,'grpc_create_chttp2_transport(const grpc_channel_args *channel_args, grpc_endpoint *ep, grpc_mdctx *metadata_context, int is_client): chttp2_transport.c'],['../chttp2__transport_8c.html#a03cebc42bd75ab90ce0f9d3c8bc526a8',1,'grpc_create_chttp2_transport(const grpc_channel_args *channel_args, grpc_endpoint *ep, grpc_mdctx *mdctx, int is_client): chttp2_transport.c']]], + ['grpc_5fcreate_5fdualstack_5fsocket',['grpc_create_dualstack_socket',['../socket__utils__posix_8h.html#a76dcb8f351a790f2f3dc6f857f1df6f6',1,'socket_utils_posix.h']]], + ['grpc_5fcreate_5fpick_5ffirst_5flb_5fpolicy',['grpc_create_pick_first_lb_policy',['../pick__first_8h.html#a2ef6310260146caa4cf56acddbb4343e',1,'grpc_create_pick_first_lb_policy(grpc_subchannel **subchannels, size_t num_subchannels): pick_first.c'],['../pick__first_8c.html#a2ef6310260146caa4cf56acddbb4343e',1,'grpc_create_pick_first_lb_policy(grpc_subchannel **subchannels, size_t num_subchannels): pick_first.c']]], + ['grpc_5fcredentials',['grpc_credentials',['../structgrpc__credentials.html',1,'grpc_credentials'],['../grpc__security_8h.html#a17768c857575e4500cdd12bb94d3f33e',1,'grpc_credentials(): grpc_security.h']]], + ['grpc_5fcredentials_5farray',['grpc_credentials_array',['../structgrpc__credentials__array.html',1,'']]], + ['grpc_5fcredentials_5fcontains_5ftype',['grpc_credentials_contains_type',['../credentials_8h.html#a4a6be957afa38741405a5a41cdd752e1',1,'grpc_credentials_contains_type(grpc_credentials *creds, const char *type, grpc_credentials **composite_creds): credentials.c'],['../credentials_8c.html#a4a6be957afa38741405a5a41cdd752e1',1,'grpc_credentials_contains_type(grpc_credentials *creds, const char *type, grpc_credentials **composite_creds): credentials.c']]], + ['grpc_5fcredentials_5fcreate_5fsecurity_5fconnector',['grpc_credentials_create_security_connector',['../credentials_8h.html#af26c4ee0ed97f2e88958c54ba22d5759',1,'grpc_credentials_create_security_connector(grpc_credentials *creds, const char *target, const grpc_channel_args *args, grpc_credentials *request_metadata_creds, grpc_channel_security_connector **sc, grpc_channel_args **new_args): credentials.c'],['../credentials_8c.html#af26c4ee0ed97f2e88958c54ba22d5759',1,'grpc_credentials_create_security_connector(grpc_credentials *creds, const char *target, const grpc_channel_args *args, grpc_credentials *request_metadata_creds, grpc_channel_security_connector **sc, grpc_channel_args **new_args): credentials.c']]], + ['grpc_5fcredentials_5ferror',['GRPC_CREDENTIALS_ERROR',['../credentials_8h.html#a2f0ff51afd60f456086f0db9b67a13e4aa187148e06f47b75b8f89794a837fb6a',1,'credentials.h']]], + ['grpc_5fcredentials_5fget_5frequest_5fmetadata',['grpc_credentials_get_request_metadata',['../credentials_8h.html#afe8d4191ee0f0f67684fd2575173cabc',1,'grpc_credentials_get_request_metadata(grpc_credentials *creds, grpc_pollset *pollset, const char *service_url, grpc_credentials_metadata_cb cb, void *user_data): credentials.c'],['../credentials_8c.html#afe8d4191ee0f0f67684fd2575173cabc',1,'grpc_credentials_get_request_metadata(grpc_credentials *creds, grpc_pollset *pollset, const char *service_url, grpc_credentials_metadata_cb cb, void *user_data): credentials.c']]], + ['grpc_5fcredentials_5fhas_5frequest_5fmetadata',['grpc_credentials_has_request_metadata',['../credentials_8h.html#ad44c9cce8c086f8c083e5d5006e3310a',1,'grpc_credentials_has_request_metadata(grpc_credentials *creds): credentials.c'],['../credentials_8c.html#ad44c9cce8c086f8c083e5d5006e3310a',1,'grpc_credentials_has_request_metadata(grpc_credentials *creds): credentials.c']]], + ['grpc_5fcredentials_5fhas_5frequest_5fmetadata_5fonly',['grpc_credentials_has_request_metadata_only',['../credentials_8h.html#a726f818ebdd9e781b090cf7d27347b7a',1,'grpc_credentials_has_request_metadata_only(grpc_credentials *creds): credentials.c'],['../credentials_8c.html#a726f818ebdd9e781b090cf7d27347b7a',1,'grpc_credentials_has_request_metadata_only(grpc_credentials *creds): credentials.c']]], + ['grpc_5fcredentials_5fmd',['grpc_credentials_md',['../structgrpc__credentials__md.html',1,'']]], + ['grpc_5fcredentials_5fmd_5fstore',['grpc_credentials_md_store',['../structgrpc__credentials__md__store.html',1,'']]], + ['grpc_5fcredentials_5fmd_5fstore_5fadd',['grpc_credentials_md_store_add',['../credentials_8h.html#a3676b161f50d5b36989af2624565596b',1,'grpc_credentials_md_store_add(grpc_credentials_md_store *store, gpr_slice key, gpr_slice value): credentials_metadata.c'],['../credentials__metadata_8c.html#a3676b161f50d5b36989af2624565596b',1,'grpc_credentials_md_store_add(grpc_credentials_md_store *store, gpr_slice key, gpr_slice value): credentials_metadata.c']]], + ['grpc_5fcredentials_5fmd_5fstore_5fadd_5fcstrings',['grpc_credentials_md_store_add_cstrings',['../credentials_8h.html#a51ccf8c724a8477d5efcf0e3f73ef3a4',1,'grpc_credentials_md_store_add_cstrings(grpc_credentials_md_store *store, const char *key, const char *value): credentials_metadata.c'],['../credentials__metadata_8c.html#a51ccf8c724a8477d5efcf0e3f73ef3a4',1,'grpc_credentials_md_store_add_cstrings(grpc_credentials_md_store *store, const char *key, const char *value): credentials_metadata.c']]], + ['grpc_5fcredentials_5fmd_5fstore_5fcreate',['grpc_credentials_md_store_create',['../credentials_8h.html#aee28492ddb70e47b0778fc928be9159b',1,'grpc_credentials_md_store_create(size_t initial_capacity): credentials_metadata.c'],['../credentials__metadata_8c.html#aee28492ddb70e47b0778fc928be9159b',1,'grpc_credentials_md_store_create(size_t initial_capacity): credentials_metadata.c']]], + ['grpc_5fcredentials_5fmd_5fstore_5fref',['grpc_credentials_md_store_ref',['../credentials_8h.html#a5535f991ceb2b2160aee414cf013ed73',1,'grpc_credentials_md_store_ref(grpc_credentials_md_store *store): credentials_metadata.c'],['../credentials__metadata_8c.html#a5535f991ceb2b2160aee414cf013ed73',1,'grpc_credentials_md_store_ref(grpc_credentials_md_store *store): credentials_metadata.c']]], + ['grpc_5fcredentials_5fmd_5fstore_5funref',['grpc_credentials_md_store_unref',['../credentials_8h.html#afc507497ef8b5dda7074b63babaac366',1,'grpc_credentials_md_store_unref(grpc_credentials_md_store *store): credentials_metadata.c'],['../credentials__metadata_8c.html#afc507497ef8b5dda7074b63babaac366',1,'grpc_credentials_md_store_unref(grpc_credentials_md_store *store): credentials_metadata.c']]], + ['grpc_5fcredentials_5fmetadata_5fcb',['grpc_credentials_metadata_cb',['../credentials_8h.html#a3d93eb22b0fedde1b3f7b6b9ded3aaf2',1,'credentials.h']]], + ['grpc_5fcredentials_5fmetadata_5frequest',['grpc_credentials_metadata_request',['../structgrpc__credentials__metadata__request.html',1,'grpc_credentials_metadata_request'],['../credentials_8h.html#ad254566b74763fc0ae17e07b230c862b',1,'grpc_credentials_metadata_request(): credentials.h']]], + ['grpc_5fcredentials_5fok',['GRPC_CREDENTIALS_OK',['../credentials_8h.html#a2f0ff51afd60f456086f0db9b67a13e4a24b48b91238fd97a3f02b97886e93c15',1,'credentials.h']]], + ['grpc_5fcredentials_5fref',['grpc_credentials_ref',['../credentials_8h.html#a62061acac11e854a58c5faca6956e609',1,'grpc_credentials_ref(grpc_credentials *creds): credentials.c'],['../credentials_8c.html#a62061acac11e854a58c5faca6956e609',1,'grpc_credentials_ref(grpc_credentials *creds): credentials.c']]], + ['grpc_5fcredentials_5frelease',['grpc_credentials_release',['../grpc__security_8h.html#a6c01e107d41e964458fdf701b8b81440',1,'grpc_credentials_release(grpc_credentials *creds): credentials.c'],['../credentials_8c.html#a6c01e107d41e964458fdf701b8b81440',1,'grpc_credentials_release(grpc_credentials *creds): credentials.c']]], + ['grpc_5fcredentials_5fstatus',['grpc_credentials_status',['../credentials_8h.html#a2f0ff51afd60f456086f0db9b67a13e4',1,'credentials.h']]], + ['grpc_5fcredentials_5ftype_5fcomposite',['GRPC_CREDENTIALS_TYPE_COMPOSITE',['../credentials_8h.html#a0712aea16b41a6d8c65dafcd9d12f599',1,'credentials.h']]], + ['grpc_5fcredentials_5ftype_5ffake_5ftransport_5fsecurity',['GRPC_CREDENTIALS_TYPE_FAKE_TRANSPORT_SECURITY',['../credentials_8h.html#a30ae5fa2e94aeeca90b31d0fd7c416d4',1,'credentials.h']]], + ['grpc_5fcredentials_5ftype_5fiam',['GRPC_CREDENTIALS_TYPE_IAM',['../credentials_8h.html#a2921973fe6094cad4b3aa94b20d8e254',1,'credentials.h']]], + ['grpc_5fcredentials_5ftype_5fjwt',['GRPC_CREDENTIALS_TYPE_JWT',['../credentials_8h.html#a94b9c6715bdb2a6469fe0db959358d2c',1,'credentials.h']]], + ['grpc_5fcredentials_5ftype_5foauth2',['GRPC_CREDENTIALS_TYPE_OAUTH2',['../credentials_8h.html#ad1d383b3414af259ebc165ac21febd04',1,'credentials.h']]], + ['grpc_5fcredentials_5ftype_5fssl',['GRPC_CREDENTIALS_TYPE_SSL',['../credentials_8h.html#ae74910f24a7fe0d54c326a1ed9e5e127',1,'credentials.h']]], + ['grpc_5fcredentials_5funref',['grpc_credentials_unref',['../credentials_8h.html#a63d4aa3f072736ba5eb168e12c306e56',1,'grpc_credentials_unref(grpc_credentials *creds): credentials.c'],['../credentials_8c.html#a63d4aa3f072736ba5eb168e12c306e56',1,'grpc_credentials_unref(grpc_credentials *creds): credentials.c']]], + ['grpc_5fcredentials_5fvtable',['grpc_credentials_vtable',['../structgrpc__credentials__vtable.html',1,'']]], + ['grpc_5fdefault_5fssl_5froots_5ffile_5fpath_5fenv_5fvar',['GRPC_DEFAULT_SSL_ROOTS_FILE_PATH_ENV_VAR',['../grpc__security_8h.html#a48565da473b7c82fa2453798f620fd59',1,'grpc_security.h']]], + ['grpc_5fdns_5fresolver_5ffactory_5fcreate',['grpc_dns_resolver_factory_create',['../dns__resolver_8h.html#af1a22a50d3130b565e8a00b95a805b8a',1,'grpc_dns_resolver_factory_create(void): dns_resolver.c'],['../dns__resolver_8c.html#a932c66ec39e987fb2cd076869334f871',1,'grpc_dns_resolver_factory_create(): dns_resolver.c']]], + ['grpc_5fdont_5fsend_5fclosed',['GRPC_DONT_SEND_CLOSED',['../internal_8h.html#a9d3b30dd29e854143c461aa7e03cbfb9ab7c3500e5584461922d410d38986335c',1,'internal.h']]], + ['grpc_5fdsmode_5fdualstack',['GRPC_DSMODE_DUALSTACK',['../socket__utils__posix_8h.html#a00b8257ab3e474c4f3d666247d620264a20fcdfb82918427f5e57b463db30c635',1,'socket_utils_posix.h']]], + ['grpc_5fdsmode_5fipv4',['GRPC_DSMODE_IPV4',['../socket__utils__posix_8h.html#a00b8257ab3e474c4f3d666247d620264a31d1572a5d2b690fe43d9a6fe31c43a8',1,'socket_utils_posix.h']]], + ['grpc_5fdsmode_5fipv6',['GRPC_DSMODE_IPV6',['../socket__utils__posix_8h.html#a00b8257ab3e474c4f3d666247d620264a036d6fe4d6f305566426a235921e56c3',1,'socket_utils_posix.h']]], + ['grpc_5fdsmode_5fnone',['GRPC_DSMODE_NONE',['../socket__utils__posix_8h.html#a00b8257ab3e474c4f3d666247d620264acd35a16d524d042d1d50f45a8efef858',1,'socket_utils_posix.h']]], + ['grpc_5fdts_5fclient_5fprefix_5f0',['GRPC_DTS_CLIENT_PREFIX_0',['../internal_8h.html#a6f98ba3b22480becf1bcc47253326a62a25d129ada2c0e8f26802bb1b490d0085',1,'internal.h']]], + ['grpc_5fdts_5fclient_5fprefix_5f1',['GRPC_DTS_CLIENT_PREFIX_1',['../internal_8h.html#a6f98ba3b22480becf1bcc47253326a62aa40d0131ceae834fc5333dd46fe43506',1,'internal.h']]], + ['grpc_5fdts_5fclient_5fprefix_5f10',['GRPC_DTS_CLIENT_PREFIX_10',['../internal_8h.html#a6f98ba3b22480becf1bcc47253326a62a9e8caab2da107d3b8e757c91717d47f3',1,'internal.h']]], + ['grpc_5fdts_5fclient_5fprefix_5f11',['GRPC_DTS_CLIENT_PREFIX_11',['../internal_8h.html#a6f98ba3b22480becf1bcc47253326a62af3615fc2a32d17ae1050e78bd89e43e1',1,'internal.h']]], + ['grpc_5fdts_5fclient_5fprefix_5f12',['GRPC_DTS_CLIENT_PREFIX_12',['../internal_8h.html#a6f98ba3b22480becf1bcc47253326a62aa452c6c245042fcc3a6b07b89bc0392a',1,'internal.h']]], + ['grpc_5fdts_5fclient_5fprefix_5f13',['GRPC_DTS_CLIENT_PREFIX_13',['../internal_8h.html#a6f98ba3b22480becf1bcc47253326a62a7f122c0c00df0bea810b2d4023b60a19',1,'internal.h']]], + ['grpc_5fdts_5fclient_5fprefix_5f14',['GRPC_DTS_CLIENT_PREFIX_14',['../internal_8h.html#a6f98ba3b22480becf1bcc47253326a62ae9e31a7c2928921ee0cb097fba7d03aa',1,'internal.h']]], + ['grpc_5fdts_5fclient_5fprefix_5f15',['GRPC_DTS_CLIENT_PREFIX_15',['../internal_8h.html#a6f98ba3b22480becf1bcc47253326a62a06c52283890571b31d6e04c1ffc7957d',1,'internal.h']]], + ['grpc_5fdts_5fclient_5fprefix_5f16',['GRPC_DTS_CLIENT_PREFIX_16',['../internal_8h.html#a6f98ba3b22480becf1bcc47253326a62ab6eb5b0e8a5237462ee96361b440796f',1,'internal.h']]], + ['grpc_5fdts_5fclient_5fprefix_5f17',['GRPC_DTS_CLIENT_PREFIX_17',['../internal_8h.html#a6f98ba3b22480becf1bcc47253326a62a82726c9cc14910572d203055432b6795',1,'internal.h']]], + ['grpc_5fdts_5fclient_5fprefix_5f18',['GRPC_DTS_CLIENT_PREFIX_18',['../internal_8h.html#a6f98ba3b22480becf1bcc47253326a62ad8642b29010211229e19de9c6e0fcbc8',1,'internal.h']]], + ['grpc_5fdts_5fclient_5fprefix_5f19',['GRPC_DTS_CLIENT_PREFIX_19',['../internal_8h.html#a6f98ba3b22480becf1bcc47253326a62ab986ee109b4635c4ccf94d7aab397257',1,'internal.h']]], + ['grpc_5fdts_5fclient_5fprefix_5f2',['GRPC_DTS_CLIENT_PREFIX_2',['../internal_8h.html#a6f98ba3b22480becf1bcc47253326a62a61ef7ffdaea8c2a8b0d4fb016c256ad0',1,'internal.h']]], + ['grpc_5fdts_5fclient_5fprefix_5f20',['GRPC_DTS_CLIENT_PREFIX_20',['../internal_8h.html#a6f98ba3b22480becf1bcc47253326a62a25a1989db73d7d542ec6fc0b10ccb1cc',1,'internal.h']]], + ['grpc_5fdts_5fclient_5fprefix_5f21',['GRPC_DTS_CLIENT_PREFIX_21',['../internal_8h.html#a6f98ba3b22480becf1bcc47253326a62a47d411086582ccce4e8d040eead17674',1,'internal.h']]], + ['grpc_5fdts_5fclient_5fprefix_5f22',['GRPC_DTS_CLIENT_PREFIX_22',['../internal_8h.html#a6f98ba3b22480becf1bcc47253326a62ac9321d51de32a9fd554196f6fe486e75',1,'internal.h']]], + ['grpc_5fdts_5fclient_5fprefix_5f23',['GRPC_DTS_CLIENT_PREFIX_23',['../internal_8h.html#a6f98ba3b22480becf1bcc47253326a62a19861af38f4fe10f7c40b6bf99bd275e',1,'internal.h']]], + ['grpc_5fdts_5fclient_5fprefix_5f3',['GRPC_DTS_CLIENT_PREFIX_3',['../internal_8h.html#a6f98ba3b22480becf1bcc47253326a62a4ebe79862d221aad04f0ccb8918f1912',1,'internal.h']]], + ['grpc_5fdts_5fclient_5fprefix_5f4',['GRPC_DTS_CLIENT_PREFIX_4',['../internal_8h.html#a6f98ba3b22480becf1bcc47253326a62ad033829aebd599a6ea3d94026d80a355',1,'internal.h']]], + ['grpc_5fdts_5fclient_5fprefix_5f5',['GRPC_DTS_CLIENT_PREFIX_5',['../internal_8h.html#a6f98ba3b22480becf1bcc47253326a62a66bdff40a54dc664cf72632276424b74',1,'internal.h']]], + ['grpc_5fdts_5fclient_5fprefix_5f6',['GRPC_DTS_CLIENT_PREFIX_6',['../internal_8h.html#a6f98ba3b22480becf1bcc47253326a62a3cc01f12b7b1f4cbcf2ed027af56f835',1,'internal.h']]], + ['grpc_5fdts_5fclient_5fprefix_5f7',['GRPC_DTS_CLIENT_PREFIX_7',['../internal_8h.html#a6f98ba3b22480becf1bcc47253326a62af04b36417fb0350bafc7c3054cfbad90',1,'internal.h']]], + ['grpc_5fdts_5fclient_5fprefix_5f8',['GRPC_DTS_CLIENT_PREFIX_8',['../internal_8h.html#a6f98ba3b22480becf1bcc47253326a62ac33407a02ca85302040eb22f1f639e0a',1,'internal.h']]], + ['grpc_5fdts_5fclient_5fprefix_5f9',['GRPC_DTS_CLIENT_PREFIX_9',['../internal_8h.html#a6f98ba3b22480becf1bcc47253326a62a64c70beae9714707e8750f863603cd2e',1,'internal.h']]], + ['grpc_5fdts_5ffh_5f0',['GRPC_DTS_FH_0',['../internal_8h.html#a6f98ba3b22480becf1bcc47253326a62adbe27b41d36d475e114fde2087aab8c1',1,'internal.h']]], + ['grpc_5fdts_5ffh_5f1',['GRPC_DTS_FH_1',['../internal_8h.html#a6f98ba3b22480becf1bcc47253326a62a6ef23c92e88b4226bcde3d1f44150ab1',1,'internal.h']]], + ['grpc_5fdts_5ffh_5f2',['GRPC_DTS_FH_2',['../internal_8h.html#a6f98ba3b22480becf1bcc47253326a62aaab31026fe27f752d727eedd9a41b5ab',1,'internal.h']]], + ['grpc_5fdts_5ffh_5f3',['GRPC_DTS_FH_3',['../internal_8h.html#a6f98ba3b22480becf1bcc47253326a62a1fa3cffd7776e95f961eef22681f1922',1,'internal.h']]], + ['grpc_5fdts_5ffh_5f4',['GRPC_DTS_FH_4',['../internal_8h.html#a6f98ba3b22480becf1bcc47253326a62a15bfd0d79ed1a62dbdc8f377f62cacbd',1,'internal.h']]], + ['grpc_5fdts_5ffh_5f5',['GRPC_DTS_FH_5',['../internal_8h.html#a6f98ba3b22480becf1bcc47253326a62a95f000174adbc3a27bc91b422520b6cc',1,'internal.h']]], + ['grpc_5fdts_5ffh_5f6',['GRPC_DTS_FH_6',['../internal_8h.html#a6f98ba3b22480becf1bcc47253326a62a7dfb17176bd8ea6005e8d27caa30e49c',1,'internal.h']]], + ['grpc_5fdts_5ffh_5f7',['GRPC_DTS_FH_7',['../internal_8h.html#a6f98ba3b22480becf1bcc47253326a62af80fa92c955868a75af026943b74f976',1,'internal.h']]], + ['grpc_5fdts_5ffh_5f8',['GRPC_DTS_FH_8',['../internal_8h.html#a6f98ba3b22480becf1bcc47253326a62a26ea9eff9ffdbd49b96f39f6d1d8320a',1,'internal.h']]], + ['grpc_5fdts_5fframe',['GRPC_DTS_FRAME',['../internal_8h.html#a6f98ba3b22480becf1bcc47253326a62a166f3cb24f0210d2a31e37863345b586',1,'internal.h']]], + ['grpc_5fdualstack_5fmode',['grpc_dualstack_mode',['../socket__utils__posix_8h.html#a00b8257ab3e474c4f3d666247d620264',1,'grpc_dualstack_mode(): socket_utils_posix.h'],['../socket__utils__posix_8h.html#a0d07cbe9b082267d5436905dedf86b91',1,'grpc_dualstack_mode(): socket_utils_posix.h']]], + ['grpc_5fendpoint',['grpc_endpoint',['../structgrpc__endpoint.html',1,'grpc_endpoint'],['../endpoint_8h.html#ab0f168d17277b4b5a4d7842eec6ea3ea',1,'grpc_endpoint(): endpoint.h']]], + ['grpc_5fendpoint_5fadd_5fto_5fpollset',['grpc_endpoint_add_to_pollset',['../endpoint_8h.html#afe30ad16c4df2a5c80b9e73d2bce80e6',1,'grpc_endpoint_add_to_pollset(grpc_endpoint *ep, grpc_pollset *pollset): endpoint.c'],['../endpoint_8c.html#afe30ad16c4df2a5c80b9e73d2bce80e6',1,'grpc_endpoint_add_to_pollset(grpc_endpoint *ep, grpc_pollset *pollset): endpoint.c']]], + ['grpc_5fendpoint_5fadd_5fto_5fpollset_5fset',['grpc_endpoint_add_to_pollset_set',['../endpoint_8h.html#a7da8b1657895a121a59458dbdeb0e900',1,'grpc_endpoint_add_to_pollset_set(grpc_endpoint *ep, grpc_pollset_set *pollset_set): endpoint.c'],['../endpoint_8c.html#a7da8b1657895a121a59458dbdeb0e900',1,'grpc_endpoint_add_to_pollset_set(grpc_endpoint *ep, grpc_pollset_set *pollset_set): endpoint.c']]], + ['grpc_5fendpoint_5fcb_5feof',['GRPC_ENDPOINT_CB_EOF',['../endpoint_8h.html#abb88e72ffe7908c2def55fea24d321aea2e899c2c1f439bcacb80d720bf16b28a',1,'endpoint.h']]], + ['grpc_5fendpoint_5fcb_5ferror',['GRPC_ENDPOINT_CB_ERROR',['../endpoint_8h.html#abb88e72ffe7908c2def55fea24d321aea56bdd1b428950ad6e54bf0ef4044ab8e',1,'endpoint.h']]], + ['grpc_5fendpoint_5fcb_5fok',['GRPC_ENDPOINT_CB_OK',['../endpoint_8h.html#abb88e72ffe7908c2def55fea24d321aea48c02072cce4fc7339c4236ea902407f',1,'endpoint.h']]], + ['grpc_5fendpoint_5fcb_5fshutdown',['GRPC_ENDPOINT_CB_SHUTDOWN',['../endpoint_8h.html#abb88e72ffe7908c2def55fea24d321aea077a9b05808b8e3b0e2cf6ab4fe0ee37',1,'endpoint.h']]], + ['grpc_5fendpoint_5fcb_5fstatus',['grpc_endpoint_cb_status',['../endpoint_8h.html#abb88e72ffe7908c2def55fea24d321ae',1,'grpc_endpoint_cb_status(): endpoint.h'],['../endpoint_8h.html#ae601d949fd51e619ee5312bc2d733236',1,'grpc_endpoint_cb_status(): endpoint.h']]], + ['grpc_5fendpoint_5fdestroy',['grpc_endpoint_destroy',['../endpoint_8h.html#a5b4b5f0b352955ec4f060c6b443408bd',1,'grpc_endpoint_destroy(grpc_endpoint *ep): endpoint.c'],['../endpoint_8c.html#a5b4b5f0b352955ec4f060c6b443408bd',1,'grpc_endpoint_destroy(grpc_endpoint *ep): endpoint.c']]], + ['grpc_5fendpoint_5fget_5fpeer',['grpc_endpoint_get_peer',['../endpoint_8h.html#a21e5c205829aaf48ae7d26b32fa00338',1,'grpc_endpoint_get_peer(grpc_endpoint *ep): endpoint.c'],['../endpoint_8c.html#a21e5c205829aaf48ae7d26b32fa00338',1,'grpc_endpoint_get_peer(grpc_endpoint *ep): endpoint.c']]], + ['grpc_5fendpoint_5fnotify_5fon_5fread',['grpc_endpoint_notify_on_read',['../endpoint_8h.html#abead7bb222b6e3f5a7004c8fb12821be',1,'grpc_endpoint_notify_on_read(grpc_endpoint *ep, grpc_endpoint_read_cb cb, void *user_data): endpoint.c'],['../endpoint_8c.html#abead7bb222b6e3f5a7004c8fb12821be',1,'grpc_endpoint_notify_on_read(grpc_endpoint *ep, grpc_endpoint_read_cb cb, void *user_data): endpoint.c']]], + ['grpc_5fendpoint_5fpair',['grpc_endpoint_pair',['../structgrpc__endpoint__pair.html',1,'']]], + ['grpc_5fendpoint_5fread_5fcb',['grpc_endpoint_read_cb',['../endpoint_8h.html#adb689cc1f448569b81f46c8810b5a24c',1,'endpoint.h']]], + ['grpc_5fendpoint_5fshutdown',['grpc_endpoint_shutdown',['../endpoint_8h.html#a7fca699259b75cf0f685227a363765fa',1,'grpc_endpoint_shutdown(grpc_endpoint *ep): endpoint.c'],['../endpoint_8c.html#a7fca699259b75cf0f685227a363765fa',1,'grpc_endpoint_shutdown(grpc_endpoint *ep): endpoint.c']]], + ['grpc_5fendpoint_5fvtable',['grpc_endpoint_vtable',['../structgrpc__endpoint__vtable.html',1,'grpc_endpoint_vtable'],['../endpoint_8h.html#accd077025fc138a98e048238d2efe1b9',1,'grpc_endpoint_vtable(): endpoint.h']]], + ['grpc_5fendpoint_5fwrite',['grpc_endpoint_write',['../endpoint_8h.html#a6cc5c4afb853d7204ad7b6bcbe8c95b0',1,'grpc_endpoint_write(grpc_endpoint *ep, gpr_slice *slices, size_t nslices, grpc_endpoint_write_cb cb, void *user_data): endpoint.c'],['../endpoint_8c.html#a6cc5c4afb853d7204ad7b6bcbe8c95b0',1,'grpc_endpoint_write(grpc_endpoint *ep, gpr_slice *slices, size_t nslices, grpc_endpoint_write_cb cb, void *user_data): endpoint.c']]], + ['grpc_5fendpoint_5fwrite_5fcb',['grpc_endpoint_write_cb',['../endpoint_8h.html#af2ca6ea84b9d91d443ba9a8a53e55f2a',1,'endpoint.h']]], + ['grpc_5fendpoint_5fwrite_5fdone',['GRPC_ENDPOINT_WRITE_DONE',['../endpoint_8h.html#abfb8e299371be52c109912cda9dbe902a9b592c54f22e5b3d4692aedf57b0a254',1,'endpoint.h']]], + ['grpc_5fendpoint_5fwrite_5ferror',['GRPC_ENDPOINT_WRITE_ERROR',['../endpoint_8h.html#abfb8e299371be52c109912cda9dbe902ac6ee550584876eb6ecba8fa333133f8f',1,'endpoint.h']]], + ['grpc_5fendpoint_5fwrite_5fpending',['GRPC_ENDPOINT_WRITE_PENDING',['../endpoint_8h.html#abfb8e299371be52c109912cda9dbe902aa3fdd3c500d6ed9c4d33687a80d37f09',1,'endpoint.h']]], + ['grpc_5fendpoint_5fwrite_5fstatus',['grpc_endpoint_write_status',['../endpoint_8h.html#abfb8e299371be52c109912cda9dbe902',1,'grpc_endpoint_write_status(): endpoint.h'],['../endpoint_8h.html#ae5e35fd14127beb3af459a22d81ac1fd',1,'grpc_endpoint_write_status(): endpoint.h']]], + ['grpc_5fevent',['grpc_event',['../structgrpc__event.html',1,'grpc_event'],['../grpc_8h.html#a07990645ca218f6965fd83edf3f421b7',1,'grpc_event(): grpc.h']]], + ['grpc_5fevent_5fstring',['grpc_event_string',['../event__string_8h.html#a8dc67a225f744d4d0ee592faf2bd4313',1,'grpc_event_string(grpc_event *ev): event_string.c'],['../event__string_8c.html#a8dc67a225f744d4d0ee592faf2bd4313',1,'grpc_event_string(grpc_event *ev): event_string.c']]], + ['grpc_5ffake_5fchannel_5fsecurity_5fconnector',['grpc_fake_channel_security_connector',['../structgrpc__fake__channel__security__connector.html',1,'']]], + ['grpc_5ffake_5fchannel_5fsecurity_5fconnector_5fcreate',['grpc_fake_channel_security_connector_create',['../security__connector_8h.html#abe2c43cab618ad3b036645d9aa506f12',1,'grpc_fake_channel_security_connector_create(grpc_credentials *request_metadata_creds, int call_host_check_is_async): security_connector.c'],['../security__connector_8c.html#abe2c43cab618ad3b036645d9aa506f12',1,'grpc_fake_channel_security_connector_create(grpc_credentials *request_metadata_creds, int call_host_check_is_async): security_connector.c']]], + ['grpc_5ffake_5foauth2_5fcredentials',['grpc_fake_oauth2_credentials',['../structgrpc__fake__oauth2__credentials.html',1,'']]], + ['grpc_5ffake_5foauth2_5fcredentials_5fcreate',['grpc_fake_oauth2_credentials_create',['../credentials_8h.html#ac749a71cdf28ebdc69d25cde612b22cc',1,'grpc_fake_oauth2_credentials_create(const char *token_md_value, int is_async): credentials.c'],['../credentials_8c.html#ac749a71cdf28ebdc69d25cde612b22cc',1,'grpc_fake_oauth2_credentials_create(const char *token_md_value, int is_async): credentials.c']]], + ['grpc_5ffake_5fsecurity_5furl_5fscheme',['GRPC_FAKE_SECURITY_URL_SCHEME',['../security__connector_8h.html#aac2af4901dde1db04846ccc7bde22272',1,'security_connector.h']]], + ['grpc_5ffake_5fserver_5fsecurity_5fconnector_5fcreate',['grpc_fake_server_security_connector_create',['../security__connector_8h.html#a45a42c3c0b40593ac1b8025ba1875417',1,'grpc_fake_server_security_connector_create(void): security_connector.c'],['../security__connector_8c.html#a45a42c3c0b40593ac1b8025ba1875417',1,'grpc_fake_server_security_connector_create(void): security_connector.c']]], + ['grpc_5ffake_5ftransport_5fsecurity_5fcredentials_5fcreate',['grpc_fake_transport_security_credentials_create',['../credentials_8h.html#ab970b1925f494cb159a29a404f23d157',1,'grpc_fake_transport_security_credentials_create(void): credentials.c'],['../credentials_8c.html#ab970b1925f494cb159a29a404f23d157',1,'grpc_fake_transport_security_credentials_create(void): credentials.c']]], + ['grpc_5ffake_5ftransport_5fsecurity_5fserver_5fcredentials_5fcreate',['grpc_fake_transport_security_server_credentials_create',['../credentials_8h.html#a60f9433cc38460bb83da148eff9475ae',1,'grpc_fake_transport_security_server_credentials_create(void): credentials.c'],['../credentials_8c.html#a60f9433cc38460bb83da148eff9475ae',1,'grpc_fake_transport_security_server_credentials_create(void): credentials.c']]], + ['grpc_5ffake_5ftransport_5fsecurity_5ftype',['GRPC_FAKE_TRANSPORT_SECURITY_TYPE',['../credentials_8h.html#a2f398e72138c69b2928abb30e54ce4ce',1,'credentials.h']]], + ['grpc_5ffd',['grpc_fd',['../structgrpc__fd.html',1,'grpc_fd'],['../fd__posix_8h.html#a9f8a2791dbd9811a996395c3b466509d',1,'grpc_fd(): fd_posix.h']]], + ['grpc_5ffd_5fbecome_5freadable',['grpc_fd_become_readable',['../fd__posix_8h.html#a5c2c13dc1a1eb20f9ce43d7625b59002',1,'fd_posix.h']]], + ['grpc_5ffd_5fbecome_5fwritable',['grpc_fd_become_writable',['../fd__posix_8h.html#a699c0434cce29ae12f9ca59fc73dff98',1,'fd_posix.h']]], + ['grpc_5ffd_5fbegin_5fpoll',['grpc_fd_begin_poll',['../fd__posix_8h.html#aabfaf5c3fc1b7d4306d8489cda8f09c5',1,'fd_posix.h']]], + ['grpc_5ffd_5fcreate',['grpc_fd_create',['../fd__posix_8h.html#a6752527e24586c370a8305916cb35dde',1,'fd_posix.h']]], + ['grpc_5ffd_5fend_5fpoll',['grpc_fd_end_poll',['../fd__posix_8h.html#aecd30af2ff851bee3264bc6548fb7ae5',1,'fd_posix.h']]], + ['grpc_5ffd_5fglobal_5finit',['grpc_fd_global_init',['../fd__posix_8h.html#a0fcf378b86c04bff95bffca0bfaf891a',1,'fd_posix.h']]], + ['grpc_5ffd_5fglobal_5fshutdown',['grpc_fd_global_shutdown',['../fd__posix_8h.html#a39d3a0f4eed1d4033b2e0db7145749c2',1,'fd_posix.h']]], + ['grpc_5ffd_5fis_5forphaned',['grpc_fd_is_orphaned',['../fd__posix_8h.html#adcd1fd3c640a72be6429fb60c3ddc258',1,'fd_posix.h']]], + ['grpc_5ffd_5fnotify_5fon_5fread',['grpc_fd_notify_on_read',['../fd__posix_8h.html#adc65edd83bbaab2044bb80e8f526aff0',1,'fd_posix.h']]], + ['grpc_5ffd_5fnotify_5fon_5fwrite',['grpc_fd_notify_on_write',['../fd__posix_8h.html#aaa2b28cae8176ef883c4dba5373152ac',1,'fd_posix.h']]], + ['grpc_5ffd_5forphan',['grpc_fd_orphan',['../fd__posix_8h.html#af78f10c0cb866d1981db0e4515dbfbb1',1,'fd_posix.h']]], + ['grpc_5ffd_5fref',['GRPC_FD_REF',['../fd__posix_8h.html#a4ad3cc6c9405aa0f94d03257238fe297',1,'GRPC_FD_REF(): fd_posix.h'],['../fd__posix_8h.html#a84623f0ef331d38c1b19d89f991dc0c3',1,'grpc_fd_ref(grpc_fd *fd): fd_posix.h']]], + ['grpc_5ffd_5fshutdown',['grpc_fd_shutdown',['../fd__posix_8h.html#a18ed4db2cb1970f0933f9f5a7a5ddbad',1,'fd_posix.h']]], + ['grpc_5ffd_5funref',['grpc_fd_unref',['../fd__posix_8h.html#af874d803d96b6cd126e53e64707c69e0',1,'grpc_fd_unref(grpc_fd *fd): fd_posix.h'],['../fd__posix_8h.html#a3672f89aa33819921430074f7eb96267',1,'GRPC_FD_UNREF(): fd_posix.h']]], + ['grpc_5ffd_5fwatcher',['grpc_fd_watcher',['../structgrpc__fd__watcher.html',1,'grpc_fd_watcher'],['../fd__posix_8h.html#abfc4bcf6d9e283872acf08eab90f8233',1,'grpc_fd_watcher(): fd_posix.h']]], + ['grpc_5ffetch_5foauth2_5ffunc',['grpc_fetch_oauth2_func',['../credentials_8h.html#a6c5b440dff7801066f4afb03a60c249d',1,'credentials.h']]], + ['grpc_5ffind_5fsecurity_5fconnector_5fin_5fargs',['grpc_find_security_connector_in_args',['../security__connector_8h.html#a7db9da4604178cb7e640e744da4b733c',1,'grpc_find_security_connector_in_args(const grpc_channel_args *args): security_connector.c'],['../security__connector_8c.html#a7db9da4604178cb7e640e744da4b733c',1,'grpc_find_security_connector_in_args(const grpc_channel_args *args): security_connector.c']]], + ['grpc_5fflowctl_5ftrace',['grpc_flowctl_trace',['../internal_8h.html#afd0f83d780e8ddeac885163c45aab0a8',1,'grpc_flowctl_trace(): chttp2_transport.c'],['../chttp2__transport_8h.html#afd0f83d780e8ddeac885163c45aab0a8',1,'grpc_flowctl_trace(): chttp2_transport.c'],['../chttp2__transport_8c.html#afd0f83d780e8ddeac885163c45aab0a8',1,'grpc_flowctl_trace(): chttp2_transport.c']]], + ['grpc_5fflush_5fcached_5fgoogle_5fdefault_5fcredentials',['grpc_flush_cached_google_default_credentials',['../credentials_8h.html#a7e3aec152312d2b66ccd3b232317b10a',1,'grpc_flush_cached_google_default_credentials(void): google_default_credentials.c'],['../google__default__credentials_8c.html#a7e3aec152312d2b66ccd3b232317b10a',1,'grpc_flush_cached_google_default_credentials(void): google_default_credentials.c']]], + ['grpc_5fforbid_5fdualstack_5fsockets_5ffor_5ftesting',['grpc_forbid_dualstack_sockets_for_testing',['../socket__utils__posix_8h.html#a593bec0bced7e30f2c1ac059b5188757',1,'socket_utils_posix.h']]], + ['grpc_5fget_5fdefault_5fssl_5froots',['grpc_get_default_ssl_roots',['../security__connector_8h.html#a341f454443268ca27e5cc01219b93fef',1,'grpc_get_default_ssl_roots(const unsigned char **pem_root_certs): security_connector.c'],['../security__connector_8c.html#a341f454443268ca27e5cc01219b93fef',1,'grpc_get_default_ssl_roots(const unsigned char **pem_root_certs): security_connector.c']]], + ['grpc_5fget_5fwell_5fknown_5fgoogle_5fcredentials_5ffile_5fpath',['grpc_get_well_known_google_credentials_file_path',['../credentials_8h.html#a3c03f6a39aec4530a4a3024a8f9c2716',1,'credentials.h']]], + ['grpc_5fgoogle_5fcloud_5fsdk_5fconfig_5fdirectory',['GRPC_GOOGLE_CLOUD_SDK_CONFIG_DIRECTORY',['../credentials_8h.html#ac6142eafe5116c797b860449a2fbb7bf',1,'credentials.h']]], + ['grpc_5fgoogle_5fcredentials_5fenv_5fvar',['GRPC_GOOGLE_CREDENTIALS_ENV_VAR',['../grpc__security_8h.html#a3874f70577fc9fe15fd2c4ce68a36ecd',1,'grpc_security.h']]], + ['grpc_5fgoogle_5fdefault_5fcredentials_5fcreate',['grpc_google_default_credentials_create',['../grpc__security_8h.html#a5e3fb8f208c302245a1392c7ef16d170',1,'grpc_google_default_credentials_create(void): google_default_credentials.c'],['../google__default__credentials_8c.html#a5e3fb8f208c302245a1392c7ef16d170',1,'grpc_google_default_credentials_create(void): google_default_credentials.c']]], + ['grpc_5fgoogle_5foauth2_5fservice_5fhost',['GRPC_GOOGLE_OAUTH2_SERVICE_HOST',['../credentials_8h.html#a61dc5d4843d2e4b26aa48694efd08cd3',1,'credentials.h']]], + ['grpc_5fgoogle_5foauth2_5fservice_5ftoken_5fpath',['GRPC_GOOGLE_OAUTH2_SERVICE_TOKEN_PATH',['../credentials_8h.html#aa9cf32ba20b7ce3e171c87ab1c08b20c',1,'credentials.h']]], + ['grpc_5fgoogle_5fservice_5faccounts_5femail_5fdomain',['GRPC_GOOGLE_SERVICE_ACCOUNTS_EMAIL_DOMAIN',['../jwt__verifier_8h.html#aea767ba783450fa8bcd54ca9b5321b73',1,'jwt_verifier.h']]], + ['grpc_5fgoogle_5fservice_5faccounts_5fkey_5furl_5fprefix',['GRPC_GOOGLE_SERVICE_ACCOUNTS_KEY_URL_PREFIX',['../jwt__verifier_8h.html#a22636d9510845a1cf41ac00d777f4e98',1,'jwt_verifier.h']]], + ['grpc_5fgoogle_5fwell_5fknown_5fcredentials_5ffile',['GRPC_GOOGLE_WELL_KNOWN_CREDENTIALS_FILE',['../credentials_8h.html#a95d64473b3915a6a65e99ac283326e78',1,'credentials.h']]], + ['grpc_5fhttp_5fclient_5ffilter',['grpc_http_client_filter',['../http__client__filter_8h.html#a0c9d14fbc933d24f599b259ccfea9324',1,'grpc_http_client_filter(): http_client_filter.c'],['../http__client__filter_8c.html#a0c9d14fbc933d24f599b259ccfea9324',1,'grpc_http_client_filter(): http_client_filter.c']]], + ['grpc_5fhttp_5fserver_5ffilter',['grpc_http_server_filter',['../http__server__filter_8h.html#af08554bdf22a17e82db905b74a959503',1,'grpc_http_server_filter(): http_server_filter.c'],['../http__server__filter_8c.html#af08554bdf22a17e82db905b74a959503',1,'grpc_http_server_filter(): http_server_filter.c']]], + ['grpc_5fhttp_5ftrace',['grpc_http_trace',['../internal_8h.html#a6bb76c8188f883af2fb738233abdeea0',1,'grpc_http_trace(): chttp2_transport.c'],['../chttp2__transport_8h.html#a6bb76c8188f883af2fb738233abdeea0',1,'grpc_http_trace(): chttp2_transport.c'],['../chttp2__transport_8c.html#a6bb76c8188f883af2fb738233abdeea0',1,'grpc_http_trace(): chttp2_transport.c']]], + ['grpc_5fhttpcli_5fbody',['GRPC_HTTPCLI_BODY',['../parser_8h.html#a664db6149875c333b0a568ef8711e257ab0d18f147817864752f04b87f1ab54d0',1,'parser.h']]], + ['grpc_5fhttpcli_5fcontext',['grpc_httpcli_context',['../structgrpc__httpcli__context.html',1,'grpc_httpcli_context'],['../httpcli_8h.html#aacb6a69953113d6b548366871b884345',1,'grpc_httpcli_context(): httpcli.h']]], + ['grpc_5fhttpcli_5fcontext_5fdestroy',['grpc_httpcli_context_destroy',['../httpcli_8h.html#a6d47084af44bf387790281f288f78d7b',1,'grpc_httpcli_context_destroy(grpc_httpcli_context *context): httpcli.c'],['../httpcli_8c.html#a6d47084af44bf387790281f288f78d7b',1,'grpc_httpcli_context_destroy(grpc_httpcli_context *context): httpcli.c']]], + ['grpc_5fhttpcli_5fcontext_5finit',['grpc_httpcli_context_init',['../httpcli_8h.html#accc8da3837feac14f5f0b64e4cff8d1b',1,'grpc_httpcli_context_init(grpc_httpcli_context *context): httpcli.c'],['../httpcli_8c.html#accc8da3837feac14f5f0b64e4cff8d1b',1,'grpc_httpcli_context_init(grpc_httpcli_context *context): httpcli.c']]], + ['grpc_5fhttpcli_5fformat_5fget_5frequest',['grpc_httpcli_format_get_request',['../format__request_8h.html#a0fa0de242d866bb79b5ad39f3c46eae2',1,'grpc_httpcli_format_get_request(const grpc_httpcli_request *request): format_request.c'],['../format__request_8c.html#a0fa0de242d866bb79b5ad39f3c46eae2',1,'grpc_httpcli_format_get_request(const grpc_httpcli_request *request): format_request.c']]], + ['grpc_5fhttpcli_5fformat_5fpost_5frequest',['grpc_httpcli_format_post_request',['../format__request_8h.html#ae6a0298e2b174b65c5571622d3908501',1,'grpc_httpcli_format_post_request(const grpc_httpcli_request *request, const char *body_bytes, size_t body_size): format_request.c'],['../format__request_8c.html#ae6a0298e2b174b65c5571622d3908501',1,'grpc_httpcli_format_post_request(const grpc_httpcli_request *request, const char *body_bytes, size_t body_size): format_request.c']]], + ['grpc_5fhttpcli_5fget',['grpc_httpcli_get',['../httpcli_8h.html#a594371d2c96d499a5a3bcccb27ece0da',1,'grpc_httpcli_get(grpc_httpcli_context *context, grpc_pollset *pollset, const grpc_httpcli_request *request, gpr_timespec deadline, grpc_httpcli_response_cb on_response, void *user_data): httpcli.c'],['../httpcli_8c.html#a594371d2c96d499a5a3bcccb27ece0da',1,'grpc_httpcli_get(grpc_httpcli_context *context, grpc_pollset *pollset, const grpc_httpcli_request *request, gpr_timespec deadline, grpc_httpcli_response_cb on_response, void *user_data): httpcli.c']]], + ['grpc_5fhttpcli_5fget_5foverride',['grpc_httpcli_get_override',['../httpcli_8h.html#a789e91e8c276aedb1c32873c3d6fa217',1,'httpcli.h']]], + ['grpc_5fhttpcli_5fheader',['grpc_httpcli_header',['../structgrpc__httpcli__header.html',1,'grpc_httpcli_header'],['../httpcli_8h.html#a3b84c74398894ce993b1e32daf468575',1,'grpc_httpcli_header(): httpcli.h']]], + ['grpc_5fhttpcli_5fheaders',['GRPC_HTTPCLI_HEADERS',['../parser_8h.html#a664db6149875c333b0a568ef8711e257a3bbe99163e8d405c22e405cd380c3ba8',1,'parser.h']]], + ['grpc_5fhttpcli_5finitial_5fresponse',['GRPC_HTTPCLI_INITIAL_RESPONSE',['../parser_8h.html#a664db6149875c333b0a568ef8711e257a63262fde49ebad4848be6038d6a6dc8a',1,'parser.h']]], + ['grpc_5fhttpcli_5fmax_5fheader_5flength',['GRPC_HTTPCLI_MAX_HEADER_LENGTH',['../httpcli_8h.html#a20ed031787f50e2fbbf09a5f1ab4ccec',1,'httpcli.h']]], + ['grpc_5fhttpcli_5fparser',['grpc_httpcli_parser',['../structgrpc__httpcli__parser.html',1,'']]], + ['grpc_5fhttpcli_5fparser_5fdestroy',['grpc_httpcli_parser_destroy',['../parser_8h.html#a947eefc20a5245e155e1bb55380c8344',1,'grpc_httpcli_parser_destroy(grpc_httpcli_parser *parser): parser.c'],['../parser_8c.html#a947eefc20a5245e155e1bb55380c8344',1,'grpc_httpcli_parser_destroy(grpc_httpcli_parser *parser): parser.c']]], + ['grpc_5fhttpcli_5fparser_5feof',['grpc_httpcli_parser_eof',['../parser_8h.html#a3ad859c8c3267265dba030d1d7597df8',1,'grpc_httpcli_parser_eof(grpc_httpcli_parser *parser): parser.c'],['../parser_8c.html#a3ad859c8c3267265dba030d1d7597df8',1,'grpc_httpcli_parser_eof(grpc_httpcli_parser *parser): parser.c']]], + ['grpc_5fhttpcli_5fparser_5finit',['grpc_httpcli_parser_init',['../parser_8h.html#a5801c0439a5dff17a1ddc7f22bdf7ec9',1,'grpc_httpcli_parser_init(grpc_httpcli_parser *parser): parser.c'],['../parser_8c.html#a5801c0439a5dff17a1ddc7f22bdf7ec9',1,'grpc_httpcli_parser_init(grpc_httpcli_parser *parser): parser.c']]], + ['grpc_5fhttpcli_5fparser_5fparse',['grpc_httpcli_parser_parse',['../parser_8h.html#a24a1909825c06938a465e40295464cd0',1,'grpc_httpcli_parser_parse(grpc_httpcli_parser *parser, gpr_slice slice): parser.c'],['../parser_8c.html#a24a1909825c06938a465e40295464cd0',1,'grpc_httpcli_parser_parse(grpc_httpcli_parser *parser, gpr_slice slice): parser.c']]], + ['grpc_5fhttpcli_5fparser_5fstate',['grpc_httpcli_parser_state',['../parser_8h.html#a664db6149875c333b0a568ef8711e257',1,'parser.h']]], + ['grpc_5fhttpcli_5fpost',['grpc_httpcli_post',['../httpcli_8h.html#a96f034743193848e966d61192e406c70',1,'grpc_httpcli_post(grpc_httpcli_context *context, grpc_pollset *pollset, const grpc_httpcli_request *request, const char *body_bytes, size_t body_size, gpr_timespec deadline, grpc_httpcli_response_cb on_response, void *user_data): httpcli.c'],['../httpcli_8c.html#a96f034743193848e966d61192e406c70',1,'grpc_httpcli_post(grpc_httpcli_context *context, grpc_pollset *pollset, const grpc_httpcli_request *request, const char *body_bytes, size_t body_size, gpr_timespec deadline, grpc_httpcli_response_cb on_response, void *user_data): httpcli.c']]], + ['grpc_5fhttpcli_5fpost_5foverride',['grpc_httpcli_post_override',['../httpcli_8h.html#a0591ce896f1a3f9b1b86e4eb6e9ac225',1,'httpcli.h']]], + ['grpc_5fhttpcli_5frequest',['grpc_httpcli_request',['../structgrpc__httpcli__request.html',1,'grpc_httpcli_request'],['../httpcli_8h.html#a4e0f0352ec7906d948f9dc046f9b4e79',1,'grpc_httpcli_request(): httpcli.h']]], + ['grpc_5fhttpcli_5fresponse',['grpc_httpcli_response',['../structgrpc__httpcli__response.html',1,'grpc_httpcli_response'],['../httpcli_8h.html#a9b9787db48bc2c77f38575943dc8dad0',1,'grpc_httpcli_response(): httpcli.h']]], + ['grpc_5fhttpcli_5fresponse_5fcb',['grpc_httpcli_response_cb',['../httpcli_8h.html#a00129a2e0bb8e9d9a6632e88f7a8c887',1,'httpcli.h']]], + ['grpc_5fhttpcli_5fset_5foverride',['grpc_httpcli_set_override',['../httpcli_8h.html#a15ab7c87e0d5e42341c9652d5045d8ce',1,'grpc_httpcli_set_override(grpc_httpcli_get_override get, grpc_httpcli_post_override post): httpcli.c'],['../httpcli_8c.html#a15ab7c87e0d5e42341c9652d5045d8ce',1,'grpc_httpcli_set_override(grpc_httpcli_get_override get, grpc_httpcli_post_override post): httpcli.c']]], + ['grpc_5fhttpcli_5fssl_5fchannel_5fsecurity_5fconnector',['grpc_httpcli_ssl_channel_security_connector',['../structgrpc__httpcli__ssl__channel__security__connector.html',1,'']]], + ['grpc_5fhttpcli_5fssl_5fchannel_5fsecurity_5fconnector_5fcreate',['grpc_httpcli_ssl_channel_security_connector_create',['../httpcli__security__connector_8h.html#a2738fc49f8c3103a4e43ef68cd9b15de',1,'grpc_httpcli_ssl_channel_security_connector_create(const unsigned char *pem_root_certs, size_t pem_root_certs_size, const char *secure_peer_name, grpc_channel_security_connector **sc): httpcli_security_connector.c'],['../httpcli__security__connector_8c.html#a2738fc49f8c3103a4e43ef68cd9b15de',1,'grpc_httpcli_ssl_channel_security_connector_create(const unsigned char *pem_root_certs, size_t pem_root_certs_size, const char *secure_peer_name, grpc_channel_security_connector **sc): httpcli_security_connector.c']]], + ['grpc_5fhttpcli_5fuser_5fagent',['GRPC_HTTPCLI_USER_AGENT',['../httpcli_8h.html#aad8b996f269fd3671a7c6fa829bdec95',1,'httpcli.h']]], + ['grpc_5fiam_5fauthority_5fselector_5fmetadata_5fkey',['GRPC_IAM_AUTHORITY_SELECTOR_METADATA_KEY',['../credentials_8h.html#ada8ea1fc7b28fb63283af76ad27761dd',1,'credentials.h']]], + ['grpc_5fiam_5fauthorization_5ftoken_5fmetadata_5fkey',['GRPC_IAM_AUTHORIZATION_TOKEN_METADATA_KEY',['../credentials_8h.html#ac952f285c5ca94edcff909e37ae68402',1,'credentials.h']]], + ['grpc_5fiam_5fcredentials',['grpc_iam_credentials',['../structgrpc__iam__credentials.html',1,'']]], + ['grpc_5fiam_5fcredentials_5fcreate',['grpc_iam_credentials_create',['../grpc__security_8h.html#ae42c358e718847c988aa690cb0fccab3',1,'grpc_iam_credentials_create(const char *authorization_token, const char *authority_selector): credentials.c'],['../credentials_8c.html#ad16075798f906b98e0fb3e3018f22ae0',1,'grpc_iam_credentials_create(const char *token, const char *authority_selector): credentials.c']]], + ['grpc_5fincoming_5fmetadata_5fbuffer_5fmove_5fto_5freferencing_5fsopb',['grpc_incoming_metadata_buffer_move_to_referencing_sopb',['../incoming__metadata_8h.html#a0a6bd4407d08e21bc48a6f9cd7167cd0',1,'grpc_incoming_metadata_buffer_move_to_referencing_sopb(grpc_chttp2_incoming_metadata_buffer *src, grpc_chttp2_incoming_metadata_buffer *dst, grpc_stream_op_buffer *sopb): incoming_metadata.c'],['../incoming__metadata_8c.html#a0a6bd4407d08e21bc48a6f9cd7167cd0',1,'grpc_incoming_metadata_buffer_move_to_referencing_sopb(grpc_chttp2_incoming_metadata_buffer *src, grpc_chttp2_incoming_metadata_buffer *dst, grpc_stream_op_buffer *sopb): incoming_metadata.c']]], + ['grpc_5finit',['grpc_init',['../grpc_8h.html#aa78606c93951c49eadd8d83d739798d6',1,'grpc_init(void): init.c'],['../init_8c.html#aa78606c93951c49eadd8d83d739798d6',1,'grpc_init(void): init.c']]], + ['grpc_5finitial_5fhandshake_5fbuffer_5fsize',['GRPC_INITIAL_HANDSHAKE_BUFFER_SIZE',['../secure__transport__setup_8c.html#a7faeebb3ced4358f4e7db1428923b013',1,'secure_transport_setup.c']]], + ['grpc_5finsecure_5fchannel_5fcreate',['grpc_insecure_channel_create',['../grpc_8h.html#aa710e7e68b23098900f924cf69797496',1,'grpc_insecure_channel_create(const char *target, const grpc_channel_args *args): channel_create.c'],['../channel__create_8c.html#aa710e7e68b23098900f924cf69797496',1,'grpc_insecure_channel_create(const char *target, const grpc_channel_args *args): channel_create.c']]], + ['grpc_5fiocp_5fadd_5fsocket',['grpc_iocp_add_socket',['../iocp__windows_8h.html#ad206d7bc3468ecc2fb6ab52d80c6e2dd',1,'iocp_windows.h']]], + ['grpc_5fiocp_5finit',['grpc_iocp_init',['../iocp__windows_8h.html#a74907d635ceee6adf285291336d18807',1,'iocp_windows.h']]], + ['grpc_5fiocp_5fkick',['grpc_iocp_kick',['../iocp__windows_8h.html#abd0c27d8288aa07c1b07d125cd0ad505',1,'iocp_windows.h']]], + ['grpc_5fiocp_5fshutdown',['grpc_iocp_shutdown',['../iocp__windows_8h.html#a7198ba025cf05ae1a67b6f493caf5b16',1,'iocp_windows.h']]], + ['grpc_5fiocp_5fsocket_5forphan',['grpc_iocp_socket_orphan',['../iocp__windows_8h.html#a720ee7b4b498b7d477efa4fc3ff55aac',1,'iocp_windows.h']]], + ['grpc_5fiomgr_5fadd_5fcallback',['grpc_iomgr_add_callback',['../iomgr_8h.html#a95b724dc6bbd9b75694251713db00619',1,'grpc_iomgr_add_callback(grpc_iomgr_closure *closure): iomgr.c'],['../iomgr_8c.html#a95b724dc6bbd9b75694251713db00619',1,'grpc_iomgr_add_callback(grpc_iomgr_closure *closure): iomgr.c']]], + ['grpc_5fiomgr_5fadd_5fdelayed_5fcallback',['grpc_iomgr_add_delayed_callback',['../iomgr_8h.html#a6a9f23f29a410d705af2c6b6d5c3917b',1,'grpc_iomgr_add_delayed_callback(grpc_iomgr_closure *iocb, int success): iomgr.c'],['../iomgr__internal_8h.html#a6a9f23f29a410d705af2c6b6d5c3917b',1,'grpc_iomgr_add_delayed_callback(grpc_iomgr_closure *iocb, int success): iomgr.c'],['../iomgr_8c.html#a4d3b9286cc4434fad35b6017f6222431',1,'grpc_iomgr_add_delayed_callback(grpc_iomgr_closure *closure, int success): iomgr.c']]], + ['grpc_5fiomgr_5fcb_5ffunc',['grpc_iomgr_cb_func',['../iomgr_8h.html#ad4037ad983dff2d616a6fb90158baad3',1,'iomgr.h']]], + ['grpc_5fiomgr_5fclosure',['grpc_iomgr_closure',['../structgrpc__iomgr__closure.html',1,'grpc_iomgr_closure'],['../iomgr_8h.html#ab34430c3d713794f01b7d6114ad4db87',1,'grpc_iomgr_closure(): iomgr.h']]], + ['grpc_5fiomgr_5fclosure_5finit',['grpc_iomgr_closure_init',['../iomgr_8h.html#ac8b4ae11b78ccbded903c14f69aa7a83',1,'grpc_iomgr_closure_init(grpc_iomgr_closure *closure, grpc_iomgr_cb_func cb, void *cb_arg): iomgr.c'],['../iomgr_8c.html#ac8b4ae11b78ccbded903c14f69aa7a83',1,'grpc_iomgr_closure_init(grpc_iomgr_closure *closure, grpc_iomgr_cb_func cb, void *cb_arg): iomgr.c']]], + ['grpc_5fiomgr_5fcreate_5fendpoint_5fpair',['grpc_iomgr_create_endpoint_pair',['../endpoint__pair_8h.html#a024d70a614077120d1a5ab8c612a469a',1,'endpoint_pair.h']]], + ['grpc_5fiomgr_5finit',['grpc_iomgr_init',['../iomgr_8h.html#a2e26e83c3a2591cbc127dbbc50f5c504',1,'grpc_iomgr_init(void): iomgr.c'],['../iomgr_8c.html#a2e26e83c3a2591cbc127dbbc50f5c504',1,'grpc_iomgr_init(void): iomgr.c']]], + ['grpc_5fiomgr_5fobject',['grpc_iomgr_object',['../structgrpc__iomgr__object.html',1,'grpc_iomgr_object'],['../iomgr__internal_8h.html#a67a15c8c93d8195f1a6036d26b871814',1,'grpc_iomgr_object(): iomgr_internal.h']]], + ['grpc_5fiomgr_5fplatform_5finit',['grpc_iomgr_platform_init',['../iomgr__internal_8h.html#ae9d0385656f046d1c40023d1d9f5ec5e',1,'iomgr_internal.h']]], + ['grpc_5fiomgr_5fplatform_5fshutdown',['grpc_iomgr_platform_shutdown',['../iomgr__internal_8h.html#a87a1f7804687c5ca784a8d9842e83624',1,'iomgr_internal.h']]], + ['grpc_5fiomgr_5fregister_5fobject',['grpc_iomgr_register_object',['../iomgr__internal_8h.html#a19ac63e9dff7d1543b1a3e556525773e',1,'grpc_iomgr_register_object(grpc_iomgr_object *obj, const char *name): iomgr.c'],['../iomgr_8c.html#a19ac63e9dff7d1543b1a3e556525773e',1,'grpc_iomgr_register_object(grpc_iomgr_object *obj, const char *name): iomgr.c']]], + ['grpc_5fiomgr_5fshutdown',['grpc_iomgr_shutdown',['../iomgr_8h.html#a466909d4101b063c991bbb39ee38ae25',1,'grpc_iomgr_shutdown(void): iomgr.c'],['../iomgr_8c.html#a466909d4101b063c991bbb39ee38ae25',1,'grpc_iomgr_shutdown(void): iomgr.c']]], + ['grpc_5fiomgr_5funregister_5fobject',['grpc_iomgr_unregister_object',['../iomgr__internal_8h.html#a82cf3ac6566867546afabf5f08f4aa8a',1,'grpc_iomgr_unregister_object(grpc_iomgr_object *obj): iomgr.c'],['../iomgr_8c.html#a82cf3ac6566867546afabf5f08f4aa8a',1,'grpc_iomgr_unregister_object(grpc_iomgr_object *obj): iomgr.c']]], + ['grpc_5fioreq',['grpc_ioreq',['../structgrpc__ioreq.html',1,'']]], + ['grpc_5fioreq_5fcompletion_5ffunc',['grpc_ioreq_completion_func',['../call_8h.html#ac4899ae8f97f4bc7e61ae178d853373b',1,'call.h']]], + ['grpc_5fioreq_5fdata',['grpc_ioreq_data',['../uniongrpc__ioreq__data.html',1,'']]], + ['grpc_5fioreq_5fop',['grpc_ioreq_op',['../call_8h.html#a6197b03dc8f1e7b26c62190faf505077',1,'call.h']]], + ['grpc_5fioreq_5fop_5fcount',['GRPC_IOREQ_OP_COUNT',['../call_8h.html#a6197b03dc8f1e7b26c62190faf505077a51d3cbf122a04eb94e88015228795660',1,'call.h']]], + ['grpc_5fioreq_5frecv_5fclose',['GRPC_IOREQ_RECV_CLOSE',['../call_8h.html#a6197b03dc8f1e7b26c62190faf505077a87859850a314f5275986aeb008e4f632',1,'call.h']]], + ['grpc_5fioreq_5frecv_5finitial_5fmetadata',['GRPC_IOREQ_RECV_INITIAL_METADATA',['../call_8h.html#a6197b03dc8f1e7b26c62190faf505077a1314ef20703755184ab04fbfb5387282',1,'call.h']]], + ['grpc_5fioreq_5frecv_5fmessage',['GRPC_IOREQ_RECV_MESSAGE',['../call_8h.html#a6197b03dc8f1e7b26c62190faf505077a9ab6565e74cfb818d27db7d532570cbb',1,'call.h']]], + ['grpc_5fioreq_5frecv_5fstatus',['GRPC_IOREQ_RECV_STATUS',['../call_8h.html#a6197b03dc8f1e7b26c62190faf505077a115f1520925971c6a06680669d76ea9a',1,'call.h']]], + ['grpc_5fioreq_5frecv_5fstatus_5fdetails',['GRPC_IOREQ_RECV_STATUS_DETAILS',['../call_8h.html#a6197b03dc8f1e7b26c62190faf505077adffaf692690d3ce8fb0b503574d17795',1,'call.h']]], + ['grpc_5fioreq_5frecv_5ftrailing_5fmetadata',['GRPC_IOREQ_RECV_TRAILING_METADATA',['../call_8h.html#a6197b03dc8f1e7b26c62190faf505077a8e812e910cf251cd7ea99e912eeb9bcf',1,'call.h']]], + ['grpc_5fioreq_5fsend_5fclose',['GRPC_IOREQ_SEND_CLOSE',['../call_8h.html#a6197b03dc8f1e7b26c62190faf505077ad303395faccf9db870bfb3017c3b994a',1,'call.h']]], + ['grpc_5fioreq_5fsend_5finitial_5fmetadata',['GRPC_IOREQ_SEND_INITIAL_METADATA',['../call_8h.html#a6197b03dc8f1e7b26c62190faf505077a7f2c7c1956f546a988d5071ec49187b7',1,'call.h']]], + ['grpc_5fioreq_5fsend_5fmessage',['GRPC_IOREQ_SEND_MESSAGE',['../call_8h.html#a6197b03dc8f1e7b26c62190faf505077ae1347e94cd8011a8bbbf73e916fb9246',1,'call.h']]], + ['grpc_5fioreq_5fsend_5fstatus',['GRPC_IOREQ_SEND_STATUS',['../call_8h.html#a6197b03dc8f1e7b26c62190faf505077ad8568457ecb464f48adf5d5f27828e3c',1,'call.h']]], + ['grpc_5fioreq_5fsend_5ftrailing_5fmetadata',['GRPC_IOREQ_SEND_TRAILING_METADATA',['../call_8h.html#a6197b03dc8f1e7b26c62190faf505077aaf233f9c12febc8d9b8cef46c856c522',1,'call.h']]], + ['grpc_5fipv4_5fresolver_5ffactory_5fcreate',['grpc_ipv4_resolver_factory_create',['../sockaddr__resolver_8h.html#a621b7e3868a79b41351f2204a4c5c1fa',1,'grpc_ipv4_resolver_factory_create(void): sockaddr_resolver.c'],['../sockaddr__resolver_8c.html#abc4c6c8581ef4f8dc5cf8ec5c79383a1',1,'grpc_ipv4_resolver_factory_create(): sockaddr_resolver.c']]], + ['grpc_5fipv6_5floopback_5favailable',['grpc_ipv6_loopback_available',['../socket__utils__posix_8h.html#ad76fb0120a38b881723d537d95a51563',1,'socket_utils_posix.h']]], + ['grpc_5fipv6_5fresolver_5ffactory_5fcreate',['grpc_ipv6_resolver_factory_create',['../sockaddr__resolver_8h.html#abe451b1e6a083dfcc0656fb77a9e42c2',1,'grpc_ipv6_resolver_factory_create(void): sockaddr_resolver.c'],['../sockaddr__resolver_8c.html#ad0f24d3cf0da9c53e628da5f60cab92d',1,'grpc_ipv6_resolver_factory_create(): sockaddr_resolver.c']]], + ['grpc_5fis_5fbinary_5fheader',['grpc_is_binary_header',['../bin__encoder_8h.html#a6ce0fde0cf6e820ca0c95dae4653039e',1,'grpc_is_binary_header(const char *key, size_t length): bin_encoder.c'],['../bin__encoder_8c.html#a6ce0fde0cf6e820ca0c95dae4653039e',1,'grpc_is_binary_header(const char *key, size_t length): bin_encoder.c']]], + ['grpc_5fis_5finitialized',['grpc_is_initialized',['../init_8h.html#a9e672384642d6dc0e98df16188beba55',1,'grpc_is_initialized(void): init.c'],['../init_8c.html#a9e672384642d6dc0e98df16188beba55',1,'grpc_is_initialized(void): init.c']]], + ['grpc_5fjson',['grpc_json',['../structgrpc__json.html',1,'grpc_json'],['../json_8h.html#ae8825a1aedd3c601c1db76275b0091eb',1,'grpc_json(): json.h']]], + ['grpc_5fjson_5farray',['GRPC_JSON_ARRAY',['../json__common_8h.html#a3e82983bba0988c52251467566a07ce2a12e5c49e8af63209e64af80f053a5877',1,'json_common.h']]], + ['grpc_5fjson_5fcreate',['grpc_json_create',['../json_8h.html#a479fecc70a15ea64d52485891615669f',1,'grpc_json_create(grpc_json_type type): json.c'],['../json_8c.html#a479fecc70a15ea64d52485891615669f',1,'grpc_json_create(grpc_json_type type): json.c']]], + ['grpc_5fjson_5fdestroy',['grpc_json_destroy',['../json_8h.html#a93347bf054f40cd67dd9a1d46e830ed3',1,'grpc_json_destroy(grpc_json *json): json.c'],['../json_8c.html#a93347bf054f40cd67dd9a1d46e830ed3',1,'grpc_json_destroy(grpc_json *json): json.c']]], + ['grpc_5fjson_5fdone',['GRPC_JSON_DONE',['../json__reader_8h.html#ab958fafc9819a82736ac5f030feb8d24a3ec47e8c31d09cfc07b3b3459caf5ed7',1,'json_reader.h']]], + ['grpc_5fjson_5fdump_5fto_5fstring',['grpc_json_dump_to_string',['../json_8h.html#a4d51e00e1deba5579a221647ced4cd71',1,'grpc_json_dump_to_string(grpc_json *json, int indent): json_string.c'],['../json__string_8c.html#a4d51e00e1deba5579a221647ced4cd71',1,'grpc_json_dump_to_string(grpc_json *json, int indent): json_string.c']]], + ['grpc_5fjson_5feagain',['GRPC_JSON_EAGAIN',['../json__reader_8h.html#ab958fafc9819a82736ac5f030feb8d24a28dcdba3bcbd64daf22c70df4d1bd3f0',1,'json_reader.h']]], + ['grpc_5fjson_5ffalse',['GRPC_JSON_FALSE',['../json__common_8h.html#a3e82983bba0988c52251467566a07ce2a4d78cd5a0d3737102d1786e6d2e756fe',1,'json_common.h']]], + ['grpc_5fjson_5finternal_5ferror',['GRPC_JSON_INTERNAL_ERROR',['../json__reader_8h.html#ab958fafc9819a82736ac5f030feb8d24ac3281037071f4e67aa01fb1f096bbfe8',1,'json_reader.h']]], + ['grpc_5fjson_5fnull',['GRPC_JSON_NULL',['../json__common_8h.html#a3e82983bba0988c52251467566a07ce2a2927d5e4f8c2ac7970465d848733d880',1,'json_common.h']]], + ['grpc_5fjson_5fnumber',['GRPC_JSON_NUMBER',['../json__common_8h.html#a3e82983bba0988c52251467566a07ce2a0e7572364b1b10b99d5b875329614b44',1,'json_common.h']]], + ['grpc_5fjson_5fobject',['GRPC_JSON_OBJECT',['../json__common_8h.html#a3e82983bba0988c52251467566a07ce2a5dee7d9f721c5f616cf7f6fabff912a1',1,'json_common.h']]], + ['grpc_5fjson_5fparse_5ferror',['GRPC_JSON_PARSE_ERROR',['../json__reader_8h.html#ab958fafc9819a82736ac5f030feb8d24a9e89bd16fe4ee12cff307413b6f28b6c',1,'json_reader.h']]], + ['grpc_5fjson_5fparse_5fstring',['grpc_json_parse_string',['../json_8h.html#ad66397af23c3f5377035d9fc74e4f401',1,'grpc_json_parse_string(char *input): json_string.c'],['../json__string_8c.html#ad66397af23c3f5377035d9fc74e4f401',1,'grpc_json_parse_string(char *input): json_string.c']]], + ['grpc_5fjson_5fparse_5fstring_5fwith_5flen',['grpc_json_parse_string_with_len',['../json_8h.html#ac0d745ec903ab5f5759ebf3bc245b5c6',1,'grpc_json_parse_string_with_len(char *input, size_t size): json_string.c'],['../json__string_8c.html#ac0d745ec903ab5f5759ebf3bc245b5c6',1,'grpc_json_parse_string_with_len(char *input, size_t size): json_string.c']]], + ['grpc_5fjson_5fread_5fchar_5feagain',['GRPC_JSON_READ_CHAR_EAGAIN',['../json__reader_8h.html#a16af7b253440dadd46a80a4b9fddba4dab16e9d72bca58d8d43810ed53afb12c9',1,'json_reader.h']]], + ['grpc_5fjson_5fread_5fchar_5feof',['GRPC_JSON_READ_CHAR_EOF',['../json__reader_8h.html#a16af7b253440dadd46a80a4b9fddba4daf9fe6e98c983a5c439783f938b3c86d9',1,'json_reader.h']]], + ['grpc_5fjson_5fread_5fchar_5ferror',['GRPC_JSON_READ_CHAR_ERROR',['../json__reader_8h.html#a16af7b253440dadd46a80a4b9fddba4da8812b963d2fe1700bdcc1a8084cf86bc',1,'json_reader.h']]], + ['grpc_5fjson_5fread_5ferror',['GRPC_JSON_READ_ERROR',['../json__reader_8h.html#ab958fafc9819a82736ac5f030feb8d24af34c0d5ee249e46cca43ead968e07ebc',1,'json_reader.h']]], + ['grpc_5fjson_5freader',['grpc_json_reader',['../structgrpc__json__reader.html',1,'grpc_json_reader'],['../json__reader_8h.html#a2e4389a352e99df3e5d9cb59a6c14929',1,'grpc_json_reader(): json_reader.h']]], + ['grpc_5fjson_5freader_5finit',['grpc_json_reader_init',['../json__reader_8h.html#acb17637cdaf7d1bc6c5403eb2cdd2b1b',1,'grpc_json_reader_init(grpc_json_reader *reader, grpc_json_reader_vtable *vtable, void *userdata): json_reader.c'],['../json__reader_8c.html#acb17637cdaf7d1bc6c5403eb2cdd2b1b',1,'grpc_json_reader_init(grpc_json_reader *reader, grpc_json_reader_vtable *vtable, void *userdata): json_reader.c']]], + ['grpc_5fjson_5freader_5fis_5fcomplete',['grpc_json_reader_is_complete',['../json__reader_8h.html#aca35ff1405586201c145f8411ce4f611',1,'grpc_json_reader_is_complete(grpc_json_reader *reader): json_reader.c'],['../json__reader_8c.html#aca35ff1405586201c145f8411ce4f611',1,'grpc_json_reader_is_complete(grpc_json_reader *reader): json_reader.c']]], + ['grpc_5fjson_5freader_5frun',['grpc_json_reader_run',['../json__reader_8h.html#a369a903219dd343358dad9e4cc67cedb',1,'grpc_json_reader_run(grpc_json_reader *reader): json_reader.c'],['../json__reader_8c.html#a369a903219dd343358dad9e4cc67cedb',1,'grpc_json_reader_run(grpc_json_reader *reader): json_reader.c']]], + ['grpc_5fjson_5freader_5fstate',['grpc_json_reader_state',['../json__reader_8h.html#ab49e2221d9261d6dbeba7714f49998c3',1,'json_reader.h']]], + ['grpc_5fjson_5freader_5fstatus',['grpc_json_reader_status',['../json__reader_8h.html#ab958fafc9819a82736ac5f030feb8d24',1,'json_reader.h']]], + ['grpc_5fjson_5freader_5fvtable',['grpc_json_reader_vtable',['../structgrpc__json__reader__vtable.html',1,'grpc_json_reader_vtable'],['../json__reader_8h.html#ad0e9eed0713ae7021f4b72a0d45784b2',1,'grpc_json_reader_vtable(): json_reader.h']]], + ['grpc_5fjson_5fstate_5fend',['GRPC_JSON_STATE_END',['../json__reader_8h.html#ab49e2221d9261d6dbeba7714f49998c3abb3c4b5760662831b92f941695deb8ab',1,'json_reader.h']]], + ['grpc_5fjson_5fstate_5fobject_5fkey_5fbegin',['GRPC_JSON_STATE_OBJECT_KEY_BEGIN',['../json__reader_8h.html#ab49e2221d9261d6dbeba7714f49998c3ae3661c71859af165b76b78ce3d76b1dd',1,'json_reader.h']]], + ['grpc_5fjson_5fstate_5fobject_5fkey_5fend',['GRPC_JSON_STATE_OBJECT_KEY_END',['../json__reader_8h.html#ab49e2221d9261d6dbeba7714f49998c3a34fed96cb6df9620bf61b3d22615365f',1,'json_reader.h']]], + ['grpc_5fjson_5fstate_5fobject_5fkey_5fstring',['GRPC_JSON_STATE_OBJECT_KEY_STRING',['../json__reader_8h.html#ab49e2221d9261d6dbeba7714f49998c3a9780461c3c593717ca7d3c493c6dcfdf',1,'json_reader.h']]], + ['grpc_5fjson_5fstate_5fstring_5fescape',['GRPC_JSON_STATE_STRING_ESCAPE',['../json__reader_8h.html#ab49e2221d9261d6dbeba7714f49998c3ad5c59beddcd25dbdf44c3ad129e77fd3',1,'json_reader.h']]], + ['grpc_5fjson_5fstate_5fstring_5fescape_5fu1',['GRPC_JSON_STATE_STRING_ESCAPE_U1',['../json__reader_8h.html#ab49e2221d9261d6dbeba7714f49998c3a76dafae1aaab777fd9a6bbc26d10a71b',1,'json_reader.h']]], + ['grpc_5fjson_5fstate_5fstring_5fescape_5fu2',['GRPC_JSON_STATE_STRING_ESCAPE_U2',['../json__reader_8h.html#ab49e2221d9261d6dbeba7714f49998c3afa7e20c80c15f500c002a738a5d67829',1,'json_reader.h']]], + ['grpc_5fjson_5fstate_5fstring_5fescape_5fu3',['GRPC_JSON_STATE_STRING_ESCAPE_U3',['../json__reader_8h.html#ab49e2221d9261d6dbeba7714f49998c3ae314dc1624daa9ff6b0f63e4b9d03eca',1,'json_reader.h']]], + ['grpc_5fjson_5fstate_5fstring_5fescape_5fu4',['GRPC_JSON_STATE_STRING_ESCAPE_U4',['../json__reader_8h.html#ab49e2221d9261d6dbeba7714f49998c3a168ce3979bfa152546f8d9d55b70b28f',1,'json_reader.h']]], + ['grpc_5fjson_5fstate_5fvalue_5fbegin',['GRPC_JSON_STATE_VALUE_BEGIN',['../json__reader_8h.html#ab49e2221d9261d6dbeba7714f49998c3a670a159c43fdc6905bd8d52c26da1114',1,'json_reader.h']]], + ['grpc_5fjson_5fstate_5fvalue_5fend',['GRPC_JSON_STATE_VALUE_END',['../json__reader_8h.html#ab49e2221d9261d6dbeba7714f49998c3a98d936a3fe5cf280c1791d5b1892edc0',1,'json_reader.h']]], + ['grpc_5fjson_5fstate_5fvalue_5ffalse_5fa',['GRPC_JSON_STATE_VALUE_FALSE_A',['../json__reader_8h.html#ab49e2221d9261d6dbeba7714f49998c3aeab79537b4e6d7eeba5b80171da78c9c',1,'json_reader.h']]], + ['grpc_5fjson_5fstate_5fvalue_5ffalse_5fe',['GRPC_JSON_STATE_VALUE_FALSE_E',['../json__reader_8h.html#ab49e2221d9261d6dbeba7714f49998c3ad30ab18e89a56d134986d7583a364a94',1,'json_reader.h']]], + ['grpc_5fjson_5fstate_5fvalue_5ffalse_5fl',['GRPC_JSON_STATE_VALUE_FALSE_L',['../json__reader_8h.html#ab49e2221d9261d6dbeba7714f49998c3a50c6454c492bfb09e8fd0560b0c5a5a7',1,'json_reader.h']]], + ['grpc_5fjson_5fstate_5fvalue_5ffalse_5fs',['GRPC_JSON_STATE_VALUE_FALSE_S',['../json__reader_8h.html#ab49e2221d9261d6dbeba7714f49998c3ad0097ae5d9dd0bff25b148574c7085e9',1,'json_reader.h']]], + ['grpc_5fjson_5fstate_5fvalue_5fnull_5fl1',['GRPC_JSON_STATE_VALUE_NULL_L1',['../json__reader_8h.html#ab49e2221d9261d6dbeba7714f49998c3a8cc64baededcc064adfebf60232f7916',1,'json_reader.h']]], + ['grpc_5fjson_5fstate_5fvalue_5fnull_5fl2',['GRPC_JSON_STATE_VALUE_NULL_L2',['../json__reader_8h.html#ab49e2221d9261d6dbeba7714f49998c3a0b12f5d4a59fd680ef25c3b6f8047cc5',1,'json_reader.h']]], + ['grpc_5fjson_5fstate_5fvalue_5fnull_5fu',['GRPC_JSON_STATE_VALUE_NULL_U',['../json__reader_8h.html#ab49e2221d9261d6dbeba7714f49998c3a90b388ae65ad466503492cdc45b125e2',1,'json_reader.h']]], + ['grpc_5fjson_5fstate_5fvalue_5fnumber',['GRPC_JSON_STATE_VALUE_NUMBER',['../json__reader_8h.html#ab49e2221d9261d6dbeba7714f49998c3a06d56e2f12761077e8f1f99d79e1288a',1,'json_reader.h']]], + ['grpc_5fjson_5fstate_5fvalue_5fnumber_5fdot',['GRPC_JSON_STATE_VALUE_NUMBER_DOT',['../json__reader_8h.html#ab49e2221d9261d6dbeba7714f49998c3add9dc89ace1a49e762b0066b67337692',1,'json_reader.h']]], + ['grpc_5fjson_5fstate_5fvalue_5fnumber_5fe',['GRPC_JSON_STATE_VALUE_NUMBER_E',['../json__reader_8h.html#ab49e2221d9261d6dbeba7714f49998c3ab5fd99deecc891aa5d550c0a4e367cc9',1,'json_reader.h']]], + ['grpc_5fjson_5fstate_5fvalue_5fnumber_5fepm',['GRPC_JSON_STATE_VALUE_NUMBER_EPM',['../json__reader_8h.html#ab49e2221d9261d6dbeba7714f49998c3a078f4e5d5e3aed61060331892d076746',1,'json_reader.h']]], + ['grpc_5fjson_5fstate_5fvalue_5fnumber_5fwith_5fdecimal',['GRPC_JSON_STATE_VALUE_NUMBER_WITH_DECIMAL',['../json__reader_8h.html#ab49e2221d9261d6dbeba7714f49998c3a8b40b7890a6e13c179270475b19406b4',1,'json_reader.h']]], + ['grpc_5fjson_5fstate_5fvalue_5fnumber_5fzero',['GRPC_JSON_STATE_VALUE_NUMBER_ZERO',['../json__reader_8h.html#ab49e2221d9261d6dbeba7714f49998c3a4343815cd876adf206462c2d6b2928f1',1,'json_reader.h']]], + ['grpc_5fjson_5fstate_5fvalue_5fstring',['GRPC_JSON_STATE_VALUE_STRING',['../json__reader_8h.html#ab49e2221d9261d6dbeba7714f49998c3a35c7798e09ff2c349be10778d2a9003f',1,'json_reader.h']]], + ['grpc_5fjson_5fstate_5fvalue_5ftrue_5fe',['GRPC_JSON_STATE_VALUE_TRUE_E',['../json__reader_8h.html#ab49e2221d9261d6dbeba7714f49998c3a51f53cf8933bec52d5cfa2e60952e27c',1,'json_reader.h']]], + ['grpc_5fjson_5fstate_5fvalue_5ftrue_5fr',['GRPC_JSON_STATE_VALUE_TRUE_R',['../json__reader_8h.html#ab49e2221d9261d6dbeba7714f49998c3a83c0a8d29cef49ab924fd3c2a1ca5e0b',1,'json_reader.h']]], + ['grpc_5fjson_5fstate_5fvalue_5ftrue_5fu',['GRPC_JSON_STATE_VALUE_TRUE_U',['../json__reader_8h.html#ab49e2221d9261d6dbeba7714f49998c3a81ccf65c544696f17a35b6596b73e11b',1,'json_reader.h']]], + ['grpc_5fjson_5fstring',['GRPC_JSON_STRING',['../json__common_8h.html#a3e82983bba0988c52251467566a07ce2aaad8ddc7407e241b2c60d20c64d66d79',1,'json_common.h']]], + ['grpc_5fjson_5ftop_5flevel',['GRPC_JSON_TOP_LEVEL',['../json__common_8h.html#a3e82983bba0988c52251467566a07ce2a6cf6e3dbbe21345b1a3eb6e9d8becb63',1,'json_common.h']]], + ['grpc_5fjson_5ftrue',['GRPC_JSON_TRUE',['../json__common_8h.html#a3e82983bba0988c52251467566a07ce2addb2de1293e8e8c804847d54bbb7f53b',1,'json_common.h']]], + ['grpc_5fjson_5ftype',['grpc_json_type',['../json__common_8h.html#a3e82983bba0988c52251467566a07ce2',1,'json_common.h']]], + ['grpc_5fjson_5fwriter',['grpc_json_writer',['../structgrpc__json__writer.html',1,'grpc_json_writer'],['../json__writer_8h.html#aa24bdcefdd09a31b2fa23fbaf4060dc9',1,'grpc_json_writer(): json_writer.h']]], + ['grpc_5fjson_5fwriter_5fcontainer_5fbegins',['grpc_json_writer_container_begins',['../json__writer_8h.html#ab4c1bf3c4ab69ae62cea7c4cc425cdae',1,'grpc_json_writer_container_begins(grpc_json_writer *writer, grpc_json_type type): json_writer.c'],['../json__writer_8c.html#ab4c1bf3c4ab69ae62cea7c4cc425cdae',1,'grpc_json_writer_container_begins(grpc_json_writer *writer, grpc_json_type type): json_writer.c']]], + ['grpc_5fjson_5fwriter_5fcontainer_5fends',['grpc_json_writer_container_ends',['../json__writer_8h.html#a8ec853f6ef8940debf36820f6329427e',1,'grpc_json_writer_container_ends(grpc_json_writer *writer, grpc_json_type type): json_writer.c'],['../json__writer_8c.html#a8ec853f6ef8940debf36820f6329427e',1,'grpc_json_writer_container_ends(grpc_json_writer *writer, grpc_json_type type): json_writer.c']]], + ['grpc_5fjson_5fwriter_5finit',['grpc_json_writer_init',['../json__writer_8h.html#a9c57757dbd540d5c31db7dbb35274637',1,'grpc_json_writer_init(grpc_json_writer *writer, int indent, grpc_json_writer_vtable *vtable, void *userdata): json_writer.c'],['../json__writer_8c.html#a9c57757dbd540d5c31db7dbb35274637',1,'grpc_json_writer_init(grpc_json_writer *writer, int indent, grpc_json_writer_vtable *vtable, void *userdata): json_writer.c']]], + ['grpc_5fjson_5fwriter_5fobject_5fkey',['grpc_json_writer_object_key',['../json__writer_8h.html#ae009eea3f345ef9ab454876f81f1ab47',1,'grpc_json_writer_object_key(grpc_json_writer *writer, const char *string): json_writer.c'],['../json__writer_8c.html#ae009eea3f345ef9ab454876f81f1ab47',1,'grpc_json_writer_object_key(grpc_json_writer *writer, const char *string): json_writer.c']]], + ['grpc_5fjson_5fwriter_5fvalue_5fraw',['grpc_json_writer_value_raw',['../json__writer_8h.html#afac9ce564b4c11e3ea35082de3bd1747',1,'grpc_json_writer_value_raw(grpc_json_writer *writer, const char *string): json_writer.c'],['../json__writer_8c.html#afac9ce564b4c11e3ea35082de3bd1747',1,'grpc_json_writer_value_raw(grpc_json_writer *writer, const char *string): json_writer.c']]], + ['grpc_5fjson_5fwriter_5fvalue_5fraw_5fwith_5flen',['grpc_json_writer_value_raw_with_len',['../json__writer_8h.html#a2b88eb7fd1bd939146e86c5b212d8cb5',1,'grpc_json_writer_value_raw_with_len(grpc_json_writer *writer, const char *string, size_t len): json_writer.c'],['../json__writer_8c.html#a2b88eb7fd1bd939146e86c5b212d8cb5',1,'grpc_json_writer_value_raw_with_len(grpc_json_writer *writer, const char *string, size_t len): json_writer.c']]], + ['grpc_5fjson_5fwriter_5fvalue_5fstring',['grpc_json_writer_value_string',['../json__writer_8h.html#aa7e5a12ffddc0cc95bff06c1879a64e0',1,'grpc_json_writer_value_string(grpc_json_writer *writer, const char *string): json_writer.c'],['../json__writer_8c.html#aa7e5a12ffddc0cc95bff06c1879a64e0',1,'grpc_json_writer_value_string(grpc_json_writer *writer, const char *string): json_writer.c']]], + ['grpc_5fjson_5fwriter_5fvtable',['grpc_json_writer_vtable',['../structgrpc__json__writer__vtable.html',1,'grpc_json_writer_vtable'],['../json__writer_8h.html#a96f60637ee2643ea745d9746065d2c51',1,'grpc_json_writer_vtable(): json_writer.h']]], + ['grpc_5fjwt_5fclaims',['grpc_jwt_claims',['../structgrpc__jwt__claims.html',1,'grpc_jwt_claims'],['../jwt__verifier_8h.html#a3998a024a5d44465e9f4f5e56666f1a4',1,'grpc_jwt_claims(): jwt_verifier.h']]], + ['grpc_5fjwt_5fclaims_5faudience',['grpc_jwt_claims_audience',['../jwt__verifier_8h.html#a19e8de86ed8bb8461969cd07624cb06f',1,'grpc_jwt_claims_audience(const grpc_jwt_claims *claims): jwt_verifier.c'],['../jwt__verifier_8c.html#a19e8de86ed8bb8461969cd07624cb06f',1,'grpc_jwt_claims_audience(const grpc_jwt_claims *claims): jwt_verifier.c']]], + ['grpc_5fjwt_5fclaims_5fcheck',['grpc_jwt_claims_check',['../jwt__verifier_8h.html#a956a1fe237276fbed03e5caee7360c6a',1,'grpc_jwt_claims_check(const grpc_jwt_claims *claims, const char *audience): jwt_verifier.c'],['../jwt__verifier_8c.html#a956a1fe237276fbed03e5caee7360c6a',1,'grpc_jwt_claims_check(const grpc_jwt_claims *claims, const char *audience): jwt_verifier.c']]], + ['grpc_5fjwt_5fclaims_5fdestroy',['grpc_jwt_claims_destroy',['../jwt__verifier_8h.html#aa69d0e75df7133ebfda05f50303f8316',1,'grpc_jwt_claims_destroy(grpc_jwt_claims *claims): jwt_verifier.c'],['../jwt__verifier_8c.html#aa69d0e75df7133ebfda05f50303f8316',1,'grpc_jwt_claims_destroy(grpc_jwt_claims *claims): jwt_verifier.c']]], + ['grpc_5fjwt_5fclaims_5fexpires_5fat',['grpc_jwt_claims_expires_at',['../jwt__verifier_8h.html#ab9759b63895dde79be0715b0369cd0c4',1,'grpc_jwt_claims_expires_at(const grpc_jwt_claims *claims): jwt_verifier.c'],['../jwt__verifier_8c.html#ab9759b63895dde79be0715b0369cd0c4',1,'grpc_jwt_claims_expires_at(const grpc_jwt_claims *claims): jwt_verifier.c']]], + ['grpc_5fjwt_5fclaims_5ffrom_5fjson',['grpc_jwt_claims_from_json',['../jwt__verifier_8h.html#ae3272e7b9f64bb7b36b4b7fbce9ae4f8',1,'grpc_jwt_claims_from_json(grpc_json *json, gpr_slice buffer): jwt_verifier.c'],['../jwt__verifier_8c.html#ae3272e7b9f64bb7b36b4b7fbce9ae4f8',1,'grpc_jwt_claims_from_json(grpc_json *json, gpr_slice buffer): jwt_verifier.c']]], + ['grpc_5fjwt_5fclaims_5fid',['grpc_jwt_claims_id',['../jwt__verifier_8h.html#a319d836355e40efba372f9baf09bbd54',1,'grpc_jwt_claims_id(const grpc_jwt_claims *claims): jwt_verifier.c'],['../jwt__verifier_8c.html#a319d836355e40efba372f9baf09bbd54',1,'grpc_jwt_claims_id(const grpc_jwt_claims *claims): jwt_verifier.c']]], + ['grpc_5fjwt_5fclaims_5fissued_5fat',['grpc_jwt_claims_issued_at',['../jwt__verifier_8h.html#a58838743f413ceebbf5b4afd77d7ab7f',1,'grpc_jwt_claims_issued_at(const grpc_jwt_claims *claims): jwt_verifier.c'],['../jwt__verifier_8c.html#a58838743f413ceebbf5b4afd77d7ab7f',1,'grpc_jwt_claims_issued_at(const grpc_jwt_claims *claims): jwt_verifier.c']]], + ['grpc_5fjwt_5fclaims_5fissuer',['grpc_jwt_claims_issuer',['../jwt__verifier_8h.html#a61a1d74e9b150c1a7dccf259d84e8da6',1,'grpc_jwt_claims_issuer(const grpc_jwt_claims *claims): jwt_verifier.c'],['../jwt__verifier_8c.html#a61a1d74e9b150c1a7dccf259d84e8da6',1,'grpc_jwt_claims_issuer(const grpc_jwt_claims *claims): jwt_verifier.c']]], + ['grpc_5fjwt_5fclaims_5fjson',['grpc_jwt_claims_json',['../jwt__verifier_8h.html#a4eb1db0055c2992691e1c3e92d65a656',1,'grpc_jwt_claims_json(const grpc_jwt_claims *claims): jwt_verifier.c'],['../jwt__verifier_8c.html#a4eb1db0055c2992691e1c3e92d65a656',1,'grpc_jwt_claims_json(const grpc_jwt_claims *claims): jwt_verifier.c']]], + ['grpc_5fjwt_5fclaims_5fnot_5fbefore',['grpc_jwt_claims_not_before',['../jwt__verifier_8h.html#a1904f0f6a28c8b14a486c932e5db1499',1,'grpc_jwt_claims_not_before(const grpc_jwt_claims *claims): jwt_verifier.c'],['../jwt__verifier_8c.html#a1904f0f6a28c8b14a486c932e5db1499',1,'grpc_jwt_claims_not_before(const grpc_jwt_claims *claims): jwt_verifier.c']]], + ['grpc_5fjwt_5fclaims_5fsubject',['grpc_jwt_claims_subject',['../jwt__verifier_8h.html#ac77af641794a3449e94d7d7cb48a50c6',1,'grpc_jwt_claims_subject(const grpc_jwt_claims *claims): jwt_verifier.c'],['../jwt__verifier_8c.html#ac77af641794a3449e94d7d7cb48a50c6',1,'grpc_jwt_claims_subject(const grpc_jwt_claims *claims): jwt_verifier.c']]], + ['grpc_5fjwt_5fencode_5fand_5fsign',['grpc_jwt_encode_and_sign',['../json__token_8h.html#af0b8abcdcb33f9d4ac1f15c5e2ef4b7f',1,'grpc_jwt_encode_and_sign(const grpc_auth_json_key *json_key, const char *audience, gpr_timespec token_lifetime, const char *scope): json_token.c'],['../json__token_8c.html#af0b8abcdcb33f9d4ac1f15c5e2ef4b7f',1,'grpc_jwt_encode_and_sign(const grpc_auth_json_key *json_key, const char *audience, gpr_timespec token_lifetime, const char *scope): json_token.c']]], + ['grpc_5fjwt_5fencode_5fand_5fsign_5foverride',['grpc_jwt_encode_and_sign_override',['../json__token_8h.html#acf73be11be357bfd35a30b845e26118f',1,'json_token.h']]], + ['grpc_5fjwt_5fencode_5fand_5fsign_5fset_5foverride',['grpc_jwt_encode_and_sign_set_override',['../json__token_8h.html#a58f70df2a4a2e8c9bc4f91a85202ce9c',1,'grpc_jwt_encode_and_sign_set_override(grpc_jwt_encode_and_sign_override func): json_token.c'],['../json__token_8c.html#a58f70df2a4a2e8c9bc4f91a85202ce9c',1,'grpc_jwt_encode_and_sign_set_override(grpc_jwt_encode_and_sign_override func): json_token.c']]], + ['grpc_5fjwt_5foauth2_5faudience',['GRPC_JWT_OAUTH2_AUDIENCE',['../json__token_8h.html#aa786d993b153687864544b028ab81d57',1,'json_token.h']]], + ['grpc_5fjwt_5frsa_5fsha256_5falgorithm',['GRPC_JWT_RSA_SHA256_ALGORITHM',['../json__token_8c.html#a152047e25145985b1aec6a0945d09553',1,'json_token.c']]], + ['grpc_5fjwt_5ftype',['GRPC_JWT_TYPE',['../json__token_8c.html#a6ee6f733ee72e89c478c9041176a3836',1,'json_token.c']]], + ['grpc_5fjwt_5fverification_5fdone_5fcb',['grpc_jwt_verification_done_cb',['../jwt__verifier_8h.html#ac893f9591e5e8eafd1a900d4bb3092f2',1,'jwt_verifier.h']]], + ['grpc_5fjwt_5fverifier',['grpc_jwt_verifier',['../structgrpc__jwt__verifier.html',1,'grpc_jwt_verifier'],['../jwt__verifier_8h.html#a1bd823cc55eb0ce26b62aa69ca916cc0',1,'grpc_jwt_verifier(): jwt_verifier.h']]], + ['grpc_5fjwt_5fverifier_5fbad_5faudience',['GRPC_JWT_VERIFIER_BAD_AUDIENCE',['../jwt__verifier_8h.html#a04a38ad49ca184c3a075f927b7ed61b5ae350517932f24d7381da68eb82c32e08',1,'jwt_verifier.h']]], + ['grpc_5fjwt_5fverifier_5fbad_5fformat',['GRPC_JWT_VERIFIER_BAD_FORMAT',['../jwt__verifier_8h.html#a04a38ad49ca184c3a075f927b7ed61b5a093ce843a6f3bb30f7828dcdf179785c',1,'jwt_verifier.h']]], + ['grpc_5fjwt_5fverifier_5fbad_5fsignature',['GRPC_JWT_VERIFIER_BAD_SIGNATURE',['../jwt__verifier_8h.html#a04a38ad49ca184c3a075f927b7ed61b5aa940dd7ad73e12da6ad7c2c5ef4d3298',1,'jwt_verifier.h']]], + ['grpc_5fjwt_5fverifier_5fclock_5fskew',['grpc_jwt_verifier_clock_skew',['../jwt__verifier_8h.html#a7d1ae2ff5b43188c302d75bb3ed761f7',1,'grpc_jwt_verifier_clock_skew(): jwt_verifier.c'],['../jwt__verifier_8c.html#a7d1ae2ff5b43188c302d75bb3ed761f7',1,'grpc_jwt_verifier_clock_skew(): jwt_verifier.c']]], + ['grpc_5fjwt_5fverifier_5fcreate',['grpc_jwt_verifier_create',['../jwt__verifier_8h.html#acf8e8c06616b9d3006333f63c708a811',1,'grpc_jwt_verifier_create(const grpc_jwt_verifier_email_domain_key_url_mapping *mappings, size_t num_mappings): jwt_verifier.c'],['../jwt__verifier_8c.html#acf8e8c06616b9d3006333f63c708a811',1,'grpc_jwt_verifier_create(const grpc_jwt_verifier_email_domain_key_url_mapping *mappings, size_t num_mappings): jwt_verifier.c']]], + ['grpc_5fjwt_5fverifier_5fdestroy',['grpc_jwt_verifier_destroy',['../jwt__verifier_8h.html#a7d033f01e4d9c4c3dfba2e2f4cf57398',1,'grpc_jwt_verifier_destroy(grpc_jwt_verifier *verifier): jwt_verifier.c'],['../jwt__verifier_8c.html#a44bac1b48da3adf4d7858f2b40121bab',1,'grpc_jwt_verifier_destroy(grpc_jwt_verifier *v): jwt_verifier.c']]], + ['grpc_5fjwt_5fverifier_5femail_5fdomain_5fkey_5furl_5fmapping',['grpc_jwt_verifier_email_domain_key_url_mapping',['../structgrpc__jwt__verifier__email__domain__key__url__mapping.html',1,'']]], + ['grpc_5fjwt_5fverifier_5fgeneric_5ferror',['GRPC_JWT_VERIFIER_GENERIC_ERROR',['../jwt__verifier_8h.html#a04a38ad49ca184c3a075f927b7ed61b5a8b1bd3670e04ba080882d18ad2156546',1,'jwt_verifier.h']]], + ['grpc_5fjwt_5fverifier_5fkey_5fretrieval_5ferror',['GRPC_JWT_VERIFIER_KEY_RETRIEVAL_ERROR',['../jwt__verifier_8h.html#a04a38ad49ca184c3a075f927b7ed61b5a939bc13cb2d1fe1529a29dfaca361194',1,'jwt_verifier.h']]], + ['grpc_5fjwt_5fverifier_5fmax_5fdelay',['grpc_jwt_verifier_max_delay',['../jwt__verifier_8h.html#ab4a9cfed667421b6a1393e52d073a282',1,'grpc_jwt_verifier_max_delay(): jwt_verifier.c'],['../jwt__verifier_8c.html#ab4a9cfed667421b6a1393e52d073a282',1,'grpc_jwt_verifier_max_delay(): jwt_verifier.c']]], + ['grpc_5fjwt_5fverifier_5fok',['GRPC_JWT_VERIFIER_OK',['../jwt__verifier_8h.html#a04a38ad49ca184c3a075f927b7ed61b5a7e0b490fc1c6a843a9ed7266f5255f57',1,'jwt_verifier.h']]], + ['grpc_5fjwt_5fverifier_5fstatus',['grpc_jwt_verifier_status',['../jwt__verifier_8h.html#a04a38ad49ca184c3a075f927b7ed61b5',1,'jwt_verifier.h']]], + ['grpc_5fjwt_5fverifier_5fstatus_5fto_5fstring',['grpc_jwt_verifier_status_to_string',['../jwt__verifier_8h.html#a2aad6c48023145f901a39b5b9ef6b6d3',1,'grpc_jwt_verifier_status_to_string(grpc_jwt_verifier_status status): jwt_verifier.c'],['../jwt__verifier_8c.html#a2aad6c48023145f901a39b5b9ef6b6d3',1,'grpc_jwt_verifier_status_to_string(grpc_jwt_verifier_status status): jwt_verifier.c']]], + ['grpc_5fjwt_5fverifier_5ftime_5fconstraint_5ffailure',['GRPC_JWT_VERIFIER_TIME_CONSTRAINT_FAILURE',['../jwt__verifier_8h.html#a04a38ad49ca184c3a075f927b7ed61b5ab77a70669bbc2a0a6e69b95b9f8dd78f',1,'jwt_verifier.h']]], + ['grpc_5fjwt_5fverifier_5fverify',['grpc_jwt_verifier_verify',['../jwt__verifier_8h.html#ac9960f7842a141d85b0bb38dd231900d',1,'grpc_jwt_verifier_verify(grpc_jwt_verifier *verifier, grpc_pollset *pollset, const char *jwt, const char *audience, grpc_jwt_verification_done_cb cb, void *user_data): jwt_verifier.c'],['../jwt__verifier_8c.html#ac9960f7842a141d85b0bb38dd231900d',1,'grpc_jwt_verifier_verify(grpc_jwt_verifier *verifier, grpc_pollset *pollset, const char *jwt, const char *audience, grpc_jwt_verification_done_cb cb, void *user_data): jwt_verifier.c']]], + ['grpc_5fkick_5fdrain',['grpc_kick_drain',['../pollset__posix_8h.html#a36baf579c30c8dba9a6c68f1f9dd979c',1,'pollset_posix.h']]], + ['grpc_5fkick_5ffd_5finfo',['grpc_kick_fd_info',['../structgrpc__kick__fd__info.html',1,'grpc_kick_fd_info'],['../pollset__kick__posix_8h.html#ac232fa28f35b012cc710033c351ee3d5',1,'grpc_kick_fd_info(): pollset_kick_posix.h']]], + ['grpc_5fkick_5fpoller',['grpc_kick_poller',['../alarm__internal_8h.html#aac483dfd6e19fa9df68620e7f7a0697f',1,'grpc_kick_poller(void): iomgr.c'],['../iomgr_8c.html#aac483dfd6e19fa9df68620e7f7a0697f',1,'grpc_kick_poller(void): iomgr.c']]], + ['grpc_5fkick_5fread_5ffd',['grpc_kick_read_fd',['../pollset__posix_8h.html#af74c66d9afaf90a2134f209dfb41f91b',1,'pollset_posix.h']]], + ['grpc_5flame_5fclient_5fchannel_5fcreate',['grpc_lame_client_channel_create',['../grpc_8h.html#acd59697f4b8bedea662939da3668ab9b',1,'grpc_lame_client_channel_create(const char *target): lame_client.c'],['../lame__client_8c.html#acd59697f4b8bedea662939da3668ab9b',1,'grpc_lame_client_channel_create(const char *target): lame_client.c']]], + ['grpc_5flb_5fcompletion',['grpc_lb_completion',['../lb__policy_8h.html#a82191ae9ee04740368256ebfe25ec9d5',1,'lb_policy.h']]], + ['grpc_5flb_5fpolicy',['grpc_lb_policy',['../structgrpc__lb__policy.html',1,'grpc_lb_policy'],['../lb__policy_8h.html#aa2bf7da355b0faa3fe532f83899e3e2c',1,'grpc_lb_policy(): lb_policy.h']]], + ['grpc_5flb_5fpolicy_5fbroadcast',['grpc_lb_policy_broadcast',['../lb__policy_8h.html#a1d03d2f71dda12c97863cf387559e47a',1,'grpc_lb_policy_broadcast(grpc_lb_policy *policy, grpc_transport_op *op): lb_policy.c'],['../lb__policy_8c.html#a1d03d2f71dda12c97863cf387559e47a',1,'grpc_lb_policy_broadcast(grpc_lb_policy *policy, grpc_transport_op *op): lb_policy.c']]], + ['grpc_5flb_5fpolicy_5fcheck_5fconnectivity',['grpc_lb_policy_check_connectivity',['../lb__policy_8h.html#a115550f997d572ed49c8906c2cb347b8',1,'grpc_lb_policy_check_connectivity(grpc_lb_policy *policy): lb_policy.c'],['../lb__policy_8c.html#a115550f997d572ed49c8906c2cb347b8',1,'grpc_lb_policy_check_connectivity(grpc_lb_policy *policy): lb_policy.c']]], + ['grpc_5flb_5fpolicy_5fexit_5fidle',['grpc_lb_policy_exit_idle',['../lb__policy_8h.html#a163a863a51690daa93984d7b7bd0ac88',1,'grpc_lb_policy_exit_idle(grpc_lb_policy *policy): lb_policy.c'],['../lb__policy_8c.html#a163a863a51690daa93984d7b7bd0ac88',1,'grpc_lb_policy_exit_idle(grpc_lb_policy *policy): lb_policy.c']]], + ['grpc_5flb_5fpolicy_5finit',['grpc_lb_policy_init',['../lb__policy_8h.html#aa20fbb7fdf68dadcae6aaba3e227ac50',1,'grpc_lb_policy_init(grpc_lb_policy *policy, const grpc_lb_policy_vtable *vtable): lb_policy.c'],['../lb__policy_8c.html#aa20fbb7fdf68dadcae6aaba3e227ac50',1,'grpc_lb_policy_init(grpc_lb_policy *policy, const grpc_lb_policy_vtable *vtable): lb_policy.c']]], + ['grpc_5flb_5fpolicy_5fnotify_5fon_5fstate_5fchange',['grpc_lb_policy_notify_on_state_change',['../lb__policy_8h.html#a246a7f5b971f672fa6a8dba8d7264790',1,'grpc_lb_policy_notify_on_state_change(grpc_lb_policy *policy, grpc_connectivity_state *state, grpc_iomgr_closure *closure): lb_policy.c'],['../lb__policy_8c.html#a246a7f5b971f672fa6a8dba8d7264790',1,'grpc_lb_policy_notify_on_state_change(grpc_lb_policy *policy, grpc_connectivity_state *state, grpc_iomgr_closure *closure): lb_policy.c']]], + ['grpc_5flb_5fpolicy_5fpick',['grpc_lb_policy_pick',['../lb__policy_8h.html#a31611c6d703434b360e90062a28e5140',1,'grpc_lb_policy_pick(grpc_lb_policy *policy, grpc_pollset *pollset, grpc_metadata_batch *initial_metadata, grpc_subchannel **target, grpc_iomgr_closure *on_complete): lb_policy.c'],['../lb__policy_8c.html#a31611c6d703434b360e90062a28e5140',1,'grpc_lb_policy_pick(grpc_lb_policy *policy, grpc_pollset *pollset, grpc_metadata_batch *initial_metadata, grpc_subchannel **target, grpc_iomgr_closure *on_complete): lb_policy.c']]], + ['grpc_5flb_5fpolicy_5fref',['GRPC_LB_POLICY_REF',['../lb__policy_8h.html#aee5c1071728e588a3875f2338d4a5526',1,'GRPC_LB_POLICY_REF(): lb_policy.h'],['../lb__policy_8h.html#af9780ed236a96c3f57d1965d3395132f',1,'grpc_lb_policy_ref(grpc_lb_policy *policy): lb_policy.c'],['../lb__policy_8c.html#af9780ed236a96c3f57d1965d3395132f',1,'grpc_lb_policy_ref(grpc_lb_policy *policy): lb_policy.c']]], + ['grpc_5flb_5fpolicy_5fshutdown',['grpc_lb_policy_shutdown',['../lb__policy_8h.html#a1eb8d912c3d82fa0f444fe9cf4bd6991',1,'grpc_lb_policy_shutdown(grpc_lb_policy *policy): lb_policy.c'],['../lb__policy_8c.html#a1eb8d912c3d82fa0f444fe9cf4bd6991',1,'grpc_lb_policy_shutdown(grpc_lb_policy *policy): lb_policy.c']]], + ['grpc_5flb_5fpolicy_5funref',['GRPC_LB_POLICY_UNREF',['../lb__policy_8h.html#a376467589c9ff6e1d597ae21b44295c9',1,'GRPC_LB_POLICY_UNREF(): lb_policy.h'],['../lb__policy_8h.html#aed69acd0dd453033a1e1437920ba8942',1,'grpc_lb_policy_unref(grpc_lb_policy *policy): lb_policy.c'],['../lb__policy_8c.html#aed69acd0dd453033a1e1437920ba8942',1,'grpc_lb_policy_unref(grpc_lb_policy *policy): lb_policy.c']]], + ['grpc_5flb_5fpolicy_5fvtable',['grpc_lb_policy_vtable',['../structgrpc__lb__policy__vtable.html',1,'grpc_lb_policy_vtable'],['../lb__policy_8h.html#a3319e96c3d9a520883e74ddf112f7fd2',1,'grpc_lb_policy_vtable(): lb_policy.h']]], + ['grpc_5flinked_5fmdelem',['grpc_linked_mdelem',['../structgrpc__linked__mdelem.html',1,'grpc_linked_mdelem'],['../stream__op_8h.html#abebf5d5730a7a3aeaf9d6ee5436ddfa2',1,'grpc_linked_mdelem(): stream_op.h']]], + ['grpc_5flocal_5fsettings',['GRPC_LOCAL_SETTINGS',['../internal_8h.html#a6c14b42c5aba744e7f99831e0b7901ada34fcc73078d41da89714d1735a6c34a0',1,'internal.h']]], + ['grpc_5fmax_5fauth_5ftoken_5flifetime',['grpc_max_auth_token_lifetime',['../grpc__security_8h.html#a6112c5b60b1c0197531f80fdc56f7772',1,'grpc_max_auth_token_lifetime(): json_token.c'],['../json__token_8c.html#a6112c5b60b1c0197531f80fdc56f7772',1,'grpc_max_auth_token_lifetime(): json_token.c']]], + ['grpc_5fmax_5fsockaddr_5fsize',['GRPC_MAX_SOCKADDR_SIZE',['../resolve__address_8h.html#aa9cd304afa2c2f9757531c4b2a8168b6',1,'resolve_address.h']]], + ['grpc_5fmaybe_5fcall_5fdelayed_5fcallbacks',['grpc_maybe_call_delayed_callbacks',['../iomgr__internal_8h.html#ae4e69eb5e3c51e00c2983df24c3c8c9f',1,'grpc_maybe_call_delayed_callbacks(gpr_mu *drop_mu, int success): iomgr.c'],['../iomgr_8c.html#ae4e69eb5e3c51e00c2983df24c3c8c9f',1,'grpc_maybe_call_delayed_callbacks(gpr_mu *drop_mu, int success): iomgr.c']]], + ['grpc_5fmdctx',['grpc_mdctx',['../structgrpc__mdctx.html',1,'grpc_mdctx'],['../metadata_8h.html#a3d670d2ea84f975e9ff4758ceaf0742d',1,'grpc_mdctx(): metadata.h']]], + ['grpc_5fmdctx_5fcreate',['grpc_mdctx_create',['../metadata_8h.html#a207b09a54f3c57a90b5b44868fbf5649',1,'grpc_mdctx_create(void): metadata.c'],['../metadata_8c.html#a207b09a54f3c57a90b5b44868fbf5649',1,'grpc_mdctx_create(void): metadata.c']]], + ['grpc_5fmdctx_5fcreate_5fwith_5fseed',['grpc_mdctx_create_with_seed',['../metadata_8h.html#a29700f3749eea2c96f7bae1d57f8f7e3',1,'grpc_mdctx_create_with_seed(gpr_uint32 seed): metadata.c'],['../metadata_8c.html#a29700f3749eea2c96f7bae1d57f8f7e3',1,'grpc_mdctx_create_with_seed(gpr_uint32 seed): metadata.c']]], + ['grpc_5fmdctx_5fget_5fmdtab_5fcapacity_5ftest_5fonly',['grpc_mdctx_get_mdtab_capacity_test_only',['../metadata_8h.html#ab56ce41a4a8c2d30fca3e32d4d7b5e36',1,'grpc_mdctx_get_mdtab_capacity_test_only(grpc_mdctx *mdctx): metadata.c'],['../metadata_8c.html#a655a0f22cc71643674124ced4ce5018d',1,'grpc_mdctx_get_mdtab_capacity_test_only(grpc_mdctx *ctx): metadata.c']]], + ['grpc_5fmdctx_5fget_5fmdtab_5fcount_5ftest_5fonly',['grpc_mdctx_get_mdtab_count_test_only',['../metadata_8h.html#ac3c26191d224ff5ac9f54713cfc90f92',1,'grpc_mdctx_get_mdtab_count_test_only(grpc_mdctx *mdctx): metadata.c'],['../metadata_8c.html#aba47aef8a83c845dd6ec3dc366fcfdab',1,'grpc_mdctx_get_mdtab_count_test_only(grpc_mdctx *ctx): metadata.c']]], + ['grpc_5fmdctx_5fget_5fmdtab_5ffree_5ftest_5fonly',['grpc_mdctx_get_mdtab_free_test_only',['../metadata_8h.html#ae467d8aaa91efb73610faca99c18ca17',1,'grpc_mdctx_get_mdtab_free_test_only(grpc_mdctx *mdctx): metadata.c'],['../metadata_8c.html#a8a7b1b8046529252525680692d7dd68a',1,'grpc_mdctx_get_mdtab_free_test_only(grpc_mdctx *ctx): metadata.c']]], + ['grpc_5fmdctx_5flock',['grpc_mdctx_lock',['../metadata_8h.html#a390eb255a6d72a8ea84ac8ad3cbeb331',1,'grpc_mdctx_lock(grpc_mdctx *ctx): metadata.c'],['../metadata_8c.html#a390eb255a6d72a8ea84ac8ad3cbeb331',1,'grpc_mdctx_lock(grpc_mdctx *ctx): metadata.c']]], + ['grpc_5fmdctx_5flocked_5fmdelem_5funref',['GRPC_MDCTX_LOCKED_MDELEM_UNREF',['../metadata_8h.html#af96c346c98e982e5c0086467dd11e714',1,'GRPC_MDCTX_LOCKED_MDELEM_UNREF(): metadata.h'],['../metadata_8h.html#a7b190b43b10959286e61719a9f9f0f01',1,'grpc_mdctx_locked_mdelem_unref(grpc_mdctx *ctx, grpc_mdelem *elem): metadata.c'],['../metadata_8c.html#a473a5ef9df4df3cca9865f07a9237739',1,'grpc_mdctx_locked_mdelem_unref(grpc_mdctx *ctx, grpc_mdelem *gmd): metadata.c']]], + ['grpc_5fmdctx_5fref',['grpc_mdctx_ref',['../metadata_8h.html#a0eee1214d287f4f14fa1363fdacff5da',1,'grpc_mdctx_ref(grpc_mdctx *mdctx): metadata.c'],['../metadata_8c.html#a0293b53029721bf7013af7466efbd324',1,'grpc_mdctx_ref(grpc_mdctx *ctx): metadata.c']]], + ['grpc_5fmdctx_5funlock',['grpc_mdctx_unlock',['../metadata_8h.html#a033690c1ac25d72fdc5e56e9f5d9e97b',1,'grpc_mdctx_unlock(grpc_mdctx *ctx): metadata.c'],['../metadata_8c.html#a033690c1ac25d72fdc5e56e9f5d9e97b',1,'grpc_mdctx_unlock(grpc_mdctx *ctx): metadata.c']]], + ['grpc_5fmdctx_5funref',['grpc_mdctx_unref',['../metadata_8h.html#a8ca25748d59d50f8641692bf3ae357d3',1,'grpc_mdctx_unref(grpc_mdctx *mdctx): metadata.c'],['../metadata_8c.html#ae80c7476ff57db4121dc9d8fef9e5670',1,'grpc_mdctx_unref(grpc_mdctx *ctx): metadata.c']]], + ['grpc_5fmdelem',['grpc_mdelem',['../structgrpc__mdelem.html',1,'grpc_mdelem'],['../metadata_8h.html#a90dde22c13b91f78568735a7f666992e',1,'grpc_mdelem(): metadata.h']]], + ['grpc_5fmdelem_5ffrom_5fmetadata_5fstrings',['grpc_mdelem_from_metadata_strings',['../metadata_8h.html#a969845603738428cf18a9a090896e152',1,'grpc_mdelem_from_metadata_strings(grpc_mdctx *ctx, grpc_mdstr *key, grpc_mdstr *value): metadata.c'],['../metadata_8c.html#afc5656c1cd10a6f2e7cebebff10c25a4',1,'grpc_mdelem_from_metadata_strings(grpc_mdctx *ctx, grpc_mdstr *mkey, grpc_mdstr *mvalue): metadata.c']]], + ['grpc_5fmdelem_5ffrom_5fslices',['grpc_mdelem_from_slices',['../metadata_8h.html#a5b5ad2d68dd8c76345170f5f732b8fa2',1,'grpc_mdelem_from_slices(grpc_mdctx *ctx, gpr_slice key, gpr_slice value): metadata.c'],['../metadata_8c.html#a5b5ad2d68dd8c76345170f5f732b8fa2',1,'grpc_mdelem_from_slices(grpc_mdctx *ctx, gpr_slice key, gpr_slice value): metadata.c']]], + ['grpc_5fmdelem_5ffrom_5fstring_5fand_5fbuffer',['grpc_mdelem_from_string_and_buffer',['../metadata_8h.html#a748c6028cdc4cd0fd8d98c3a7f79ed13',1,'grpc_mdelem_from_string_and_buffer(grpc_mdctx *ctx, const char *key, const gpr_uint8 *value, size_t value_length, int canonicalize_key): metadata.c'],['../metadata_8c.html#a748c6028cdc4cd0fd8d98c3a7f79ed13',1,'grpc_mdelem_from_string_and_buffer(grpc_mdctx *ctx, const char *key, const gpr_uint8 *value, size_t value_length, int canonicalize_key): metadata.c']]], + ['grpc_5fmdelem_5ffrom_5fstrings',['grpc_mdelem_from_strings',['../metadata_8h.html#a6535f623fc2bd818158d96f6a37f73c8',1,'grpc_mdelem_from_strings(grpc_mdctx *ctx, const char *key, const char *value): metadata.c'],['../metadata_8c.html#a6535f623fc2bd818158d96f6a37f73c8',1,'grpc_mdelem_from_strings(grpc_mdctx *ctx, const char *key, const char *value): metadata.c']]], + ['grpc_5fmdelem_5fget_5fuser_5fdata',['grpc_mdelem_get_user_data',['../metadata_8h.html#a1f7c3e28f1f851a5b50d274f3ad3ecc9',1,'grpc_mdelem_get_user_data(grpc_mdelem *md, void(*if_destroy_func)(void *)): metadata.c'],['../metadata_8c.html#a1f7c3e28f1f851a5b50d274f3ad3ecc9',1,'grpc_mdelem_get_user_data(grpc_mdelem *md, void(*if_destroy_func)(void *)): metadata.c']]], + ['grpc_5fmdelem_5flist',['grpc_mdelem_list',['../structgrpc__mdelem__list.html',1,'grpc_mdelem_list'],['../stream__op_8h.html#ae2b8aff92cbac9a99f3ad263613078e2',1,'grpc_mdelem_list(): stream_op.h']]], + ['grpc_5fmdelem_5fref',['grpc_mdelem_ref',['../metadata_8h.html#ae73ccb189245977bbddfa464bd3c6615',1,'grpc_mdelem_ref(grpc_mdelem *md): metadata.c'],['../metadata_8c.html#a5a85da96bfb21ef225169545913fbdc2',1,'grpc_mdelem_ref(grpc_mdelem *gmd): metadata.c'],['../metadata_8h.html#af5a6d4b7c327b66f0902c683ab007618',1,'GRPC_MDELEM_REF(): metadata.h']]], + ['grpc_5fmdelem_5fset_5fuser_5fdata',['grpc_mdelem_set_user_data',['../metadata_8h.html#a6d0f62841408f1a89773aa4ef54dcf0e',1,'grpc_mdelem_set_user_data(grpc_mdelem *md, void(*destroy_func)(void *), void *user_data): metadata.c'],['../metadata_8c.html#a6d0f62841408f1a89773aa4ef54dcf0e',1,'grpc_mdelem_set_user_data(grpc_mdelem *md, void(*destroy_func)(void *), void *user_data): metadata.c']]], + ['grpc_5fmdelem_5funref',['grpc_mdelem_unref',['../metadata_8h.html#aaf81c9b79ca751ffb4de33ea510d70cc',1,'grpc_mdelem_unref(grpc_mdelem *md): metadata.c'],['../metadata_8c.html#a51228fa7618a8f6503e605709d893a25',1,'grpc_mdelem_unref(grpc_mdelem *gmd): metadata.c'],['../metadata_8h.html#ab01db7c946e0962da8888f19cb870afb',1,'GRPC_MDELEM_UNREF(): metadata.h']]], + ['grpc_5fmdstr',['grpc_mdstr',['../structgrpc__mdstr.html',1,'grpc_mdstr'],['../metadata_8h.html#a37a4eca36e6506776f4c60c598dd01f5',1,'grpc_mdstr(): metadata.h']]], + ['grpc_5fmdstr_5fas_5fbase64_5fencoded_5fand_5fhuffman_5fcompressed',['grpc_mdstr_as_base64_encoded_and_huffman_compressed',['../metadata_8h.html#a314273fea07852ac80ea184100398c11',1,'grpc_mdstr_as_base64_encoded_and_huffman_compressed(grpc_mdstr *str): metadata.c'],['../metadata_8c.html#a0bc211dd30038c1366a614647abdcf08',1,'grpc_mdstr_as_base64_encoded_and_huffman_compressed(grpc_mdstr *gs): metadata.c']]], + ['grpc_5fmdstr_5fas_5fc_5fstring',['grpc_mdstr_as_c_string',['../metadata_8h.html#aacbae6a08b63835ec31fcddb556aa895',1,'grpc_mdstr_as_c_string(grpc_mdstr *s): metadata.c'],['../metadata_8c.html#aacbae6a08b63835ec31fcddb556aa895',1,'grpc_mdstr_as_c_string(grpc_mdstr *s): metadata.c']]], + ['grpc_5fmdstr_5ffrom_5fbuffer',['grpc_mdstr_from_buffer',['../metadata_8h.html#ac510347648778d23eaf6c8d9a4b664db',1,'grpc_mdstr_from_buffer(grpc_mdctx *ctx, const gpr_uint8 *str, size_t length): metadata.c'],['../metadata_8c.html#a357ead79c52ee284bb190bae970d8457',1,'grpc_mdstr_from_buffer(grpc_mdctx *ctx, const gpr_uint8 *buf, size_t length): metadata.c']]], + ['grpc_5fmdstr_5ffrom_5fslice',['grpc_mdstr_from_slice',['../metadata_8h.html#a4eccbbb62d87a131d2eb3367fd2c4c43',1,'grpc_mdstr_from_slice(grpc_mdctx *ctx, gpr_slice slice): metadata.c'],['../metadata_8c.html#a4eccbbb62d87a131d2eb3367fd2c4c43',1,'grpc_mdstr_from_slice(grpc_mdctx *ctx, gpr_slice slice): metadata.c']]], + ['grpc_5fmdstr_5ffrom_5fstring',['grpc_mdstr_from_string',['../metadata_8h.html#af961acf0149066abf14c01f56a3e2b55',1,'grpc_mdstr_from_string(grpc_mdctx *ctx, const char *str, int perform_key_canonicalization): metadata.c'],['../metadata_8c.html#a30a9ea36693c48da5072719f6ae7de6d',1,'grpc_mdstr_from_string(grpc_mdctx *ctx, const char *str, int canonicalize_key): metadata.c']]], + ['grpc_5fmdstr_5fis_5fbin_5fsuffixed',['grpc_mdstr_is_bin_suffixed',['../metadata_8h.html#ad34887fb9c6733916ac87b8fde793e74',1,'grpc_mdstr_is_bin_suffixed(grpc_mdstr *s): metadata.c'],['../metadata_8c.html#ad34887fb9c6733916ac87b8fde793e74',1,'grpc_mdstr_is_bin_suffixed(grpc_mdstr *s): metadata.c']]], + ['grpc_5fmdstr_5fis_5flegal_5fheader',['grpc_mdstr_is_legal_header',['../metadata_8h.html#a427ad60503ae8ce87bcfa0aa09fe99a5',1,'grpc_mdstr_is_legal_header(grpc_mdstr *s): metadata.c'],['../metadata_8c.html#a427ad60503ae8ce87bcfa0aa09fe99a5',1,'grpc_mdstr_is_legal_header(grpc_mdstr *s): metadata.c']]], + ['grpc_5fmdstr_5fkv_5fhash',['GRPC_MDSTR_KV_HASH',['../metadata_8h.html#a385838d339c97b956529499c1da41e1f',1,'metadata.h']]], + ['grpc_5fmdstr_5fref',['GRPC_MDSTR_REF',['../metadata_8h.html#ab07dbb900f15b2fe28ea24451c5cfa3d',1,'GRPC_MDSTR_REF(): metadata.h'],['../metadata_8h.html#abb0b4e65a5d630dfe5fe975cd7b578cf',1,'grpc_mdstr_ref(grpc_mdstr *s): metadata.c'],['../metadata_8c.html#a85a25deeeea31c616e326b765043b9c9',1,'grpc_mdstr_ref(grpc_mdstr *gs): metadata.c']]], + ['grpc_5fmdstr_5funref',['GRPC_MDSTR_UNREF',['../metadata_8h.html#ab6dceed9dacb076aa33c15323f6e823c',1,'GRPC_MDSTR_UNREF(): metadata.h'],['../metadata_8h.html#a6ba2e968699daaddaad9b48b78779465',1,'grpc_mdstr_unref(grpc_mdstr *s): metadata.c'],['../metadata_8c.html#a6481b7703e964dc8306f3c243b2378f3',1,'grpc_mdstr_unref(grpc_mdstr *gs): metadata.c']]], + ['grpc_5fmessage_5fstring',['grpc_message_string',['../structgrpc__channel.html#aa00f6e53c4b732654311f194aa2f3957',1,'grpc_channel']]], + ['grpc_5fmetadata',['grpc_metadata',['../structgrpc__metadata.html',1,'grpc_metadata'],['../grpc_8h.html#a1da84eaead787d991c5a0c87aed7c30b',1,'grpc_metadata(): grpc.h']]], + ['grpc_5fmetadata_5farray',['grpc_metadata_array',['../structgrpc__metadata__array.html',1,'']]], + ['grpc_5fmetadata_5farray_5fdestroy',['grpc_metadata_array_destroy',['../grpc_8h.html#aad125726d8b689cc5fc1a0444c91ed44',1,'grpc_metadata_array_destroy(grpc_metadata_array *array): metadata_array.c'],['../metadata__array_8c.html#aad125726d8b689cc5fc1a0444c91ed44',1,'grpc_metadata_array_destroy(grpc_metadata_array *array): metadata_array.c']]], + ['grpc_5fmetadata_5farray_5finit',['grpc_metadata_array_init',['../grpc_8h.html#a52cfda44034115720a0e88037dedbfb5',1,'grpc_metadata_array_init(grpc_metadata_array *array): metadata_array.c'],['../metadata__array_8c.html#a52cfda44034115720a0e88037dedbfb5',1,'grpc_metadata_array_init(grpc_metadata_array *array): metadata_array.c']]], + ['grpc_5fmetadata_5fbatch',['grpc_metadata_batch',['../structgrpc__metadata__batch.html',1,'grpc_metadata_batch'],['../stream__op_8h.html#a3025731d8e4db9ecd7eb46d10f613410',1,'grpc_metadata_batch(): stream_op.h']]], + ['grpc_5fmetadata_5fbatch_5fadd_5fhead',['grpc_metadata_batch_add_head',['../stream__op_8h.html#a845453663a8db6cd2624ed92d63b2003',1,'grpc_metadata_batch_add_head(grpc_metadata_batch *batch, grpc_linked_mdelem *storage, grpc_mdelem *elem_to_add): stream_op.c'],['../stream__op_8c.html#a845453663a8db6cd2624ed92d63b2003',1,'grpc_metadata_batch_add_head(grpc_metadata_batch *batch, grpc_linked_mdelem *storage, grpc_mdelem *elem_to_add): stream_op.c']]], + ['grpc_5fmetadata_5fbatch_5fadd_5ftail',['grpc_metadata_batch_add_tail',['../stream__op_8h.html#a31f318cbb2f1fdb6372fdc4891e74d01',1,'grpc_metadata_batch_add_tail(grpc_metadata_batch *batch, grpc_linked_mdelem *storage, grpc_mdelem *elem_to_add): stream_op.c'],['../stream__op_8c.html#a31f318cbb2f1fdb6372fdc4891e74d01',1,'grpc_metadata_batch_add_tail(grpc_metadata_batch *batch, grpc_linked_mdelem *storage, grpc_mdelem *elem_to_add): stream_op.c']]], + ['grpc_5fmetadata_5fbatch_5fassert_5fok',['grpc_metadata_batch_assert_ok',['../stream__op_8h.html#a3a64e7ada80969b3d280529a5362505a',1,'grpc_metadata_batch_assert_ok(grpc_metadata_batch *comd): stream_op.c'],['../stream__op_8c.html#a5107cb817e5019fc9f9e7fdd99e54c0e',1,'grpc_metadata_batch_assert_ok(grpc_metadata_batch *batch): stream_op.c']]], + ['grpc_5fmetadata_5fbatch_5fdestroy',['grpc_metadata_batch_destroy',['../stream__op_8h.html#afc4867b9d7a952f003c5494120b59c08',1,'grpc_metadata_batch_destroy(grpc_metadata_batch *batch): stream_op.c'],['../stream__op_8c.html#afc4867b9d7a952f003c5494120b59c08',1,'grpc_metadata_batch_destroy(grpc_metadata_batch *batch): stream_op.c']]], + ['grpc_5fmetadata_5fbatch_5ffilter',['grpc_metadata_batch_filter',['../stream__op_8h.html#a754411d9f54fc8762416abf0c148afcf',1,'grpc_metadata_batch_filter(grpc_metadata_batch *batch, grpc_mdelem *(*filter)(void *user_data, grpc_mdelem *elem), void *user_data): stream_op.c'],['../stream__op_8c.html#a754411d9f54fc8762416abf0c148afcf',1,'grpc_metadata_batch_filter(grpc_metadata_batch *batch, grpc_mdelem *(*filter)(void *user_data, grpc_mdelem *elem), void *user_data): stream_op.c']]], + ['grpc_5fmetadata_5fbatch_5finit',['grpc_metadata_batch_init',['../stream__op_8h.html#a56d5ee4a6e415827935accfe449dc770',1,'grpc_metadata_batch_init(grpc_metadata_batch *batch): stream_op.c'],['../stream__op_8c.html#a56d5ee4a6e415827935accfe449dc770',1,'grpc_metadata_batch_init(grpc_metadata_batch *batch): stream_op.c']]], + ['grpc_5fmetadata_5fbatch_5flink_5fhead',['grpc_metadata_batch_link_head',['../stream__op_8h.html#a8c6af9205b51577ab879b07d9954d32b',1,'grpc_metadata_batch_link_head(grpc_metadata_batch *batch, grpc_linked_mdelem *storage): stream_op.c'],['../stream__op_8c.html#a8c6af9205b51577ab879b07d9954d32b',1,'grpc_metadata_batch_link_head(grpc_metadata_batch *batch, grpc_linked_mdelem *storage): stream_op.c']]], + ['grpc_5fmetadata_5fbatch_5flink_5ftail',['grpc_metadata_batch_link_tail',['../stream__op_8h.html#a6a07ac989d86142e60bd17525f7f509e',1,'grpc_metadata_batch_link_tail(grpc_metadata_batch *batch, grpc_linked_mdelem *storage): stream_op.c'],['../stream__op_8c.html#a6a07ac989d86142e60bd17525f7f509e',1,'grpc_metadata_batch_link_tail(grpc_metadata_batch *batch, grpc_linked_mdelem *storage): stream_op.c']]], + ['grpc_5fmetadata_5fbatch_5fmerge',['grpc_metadata_batch_merge',['../stream__op_8h.html#adf6ee05d9443f295076015da3428f12a',1,'grpc_metadata_batch_merge(grpc_metadata_batch *target, grpc_metadata_batch *add): stream_op.c'],['../stream__op_8c.html#adf6ee05d9443f295076015da3428f12a',1,'grpc_metadata_batch_merge(grpc_metadata_batch *target, grpc_metadata_batch *add): stream_op.c']]], + ['grpc_5fmetadata_5fbatch_5fmove',['grpc_metadata_batch_move',['../stream__op_8h.html#a719845dfd6b62fb62a75d9776396154e',1,'grpc_metadata_batch_move(grpc_metadata_batch *dst, grpc_metadata_batch *src): stream_op.c'],['../stream__op_8c.html#a719845dfd6b62fb62a75d9776396154e',1,'grpc_metadata_batch_move(grpc_metadata_batch *dst, grpc_metadata_batch *src): stream_op.c']]], + ['grpc_5fmsg_5fcompress',['grpc_msg_compress',['../message__compress_8h.html#ad77078989bef6661528ca2e22223d8cd',1,'grpc_msg_compress(grpc_compression_algorithm algorithm, gpr_slice_buffer *input, gpr_slice_buffer *output): message_compress.c'],['../message__compress_8c.html#ad77078989bef6661528ca2e22223d8cd',1,'grpc_msg_compress(grpc_compression_algorithm algorithm, gpr_slice_buffer *input, gpr_slice_buffer *output): message_compress.c']]], + ['grpc_5fmsg_5fdecompress',['grpc_msg_decompress',['../message__compress_8h.html#a3453eb197bbea1ad5dbc57561d9352f0',1,'grpc_msg_decompress(grpc_compression_algorithm algorithm, gpr_slice_buffer *input, gpr_slice_buffer *output): message_compress.c'],['../message__compress_8c.html#a3453eb197bbea1ad5dbc57561d9352f0',1,'grpc_msg_decompress(grpc_compression_algorithm algorithm, gpr_slice_buffer *input, gpr_slice_buffer *output): message_compress.c']]], + ['grpc_5fmust_5fuse_5fresult',['GRPC_MUST_USE_RESULT',['../port__platform_8h.html#aef49047a3be38448a61332117b306686',1,'port_platform.h']]], + ['grpc_5fno_5fop',['GRPC_NO_OP',['../stream__op_8h.html#af16e06eb1edfe4d93509276f32ed3804a09d4ac20ba57d42ac1d0aea1fcfc2a7c',1,'stream_op.h']]], + ['grpc_5fno_5fop_5ffilter',['grpc_no_op_filter',['../noop__filter_8h.html#afe35aa05a877e7cbc5a42c9aa0574e87',1,'grpc_no_op_filter(): noop_filter.c'],['../noop__filter_8c.html#afe35aa05a877e7cbc5a42c9aa0574e87',1,'grpc_no_op_filter(): noop_filter.c']]], + ['grpc_5fnum_5fsetting_5fsets',['GRPC_NUM_SETTING_SETS',['../internal_8h.html#a6c14b42c5aba744e7f99831e0b7901adaa20accbdc29feba4c2f081ecc91e6641',1,'internal.h']]], + ['grpc_5foauth2_5ftoken_5ffetcher_5fcredentials',['grpc_oauth2_token_fetcher_credentials',['../structgrpc__oauth2__token__fetcher__credentials.html',1,'']]], + ['grpc_5foauth2_5ftoken_5ffetcher_5fcredentials_5fparse_5fserver_5fresponse',['grpc_oauth2_token_fetcher_credentials_parse_server_response',['../credentials_8h.html#af0dac46697efd780811863ee13c73fbd',1,'grpc_oauth2_token_fetcher_credentials_parse_server_response(const struct grpc_httpcli_response *response, grpc_credentials_md_store **token_md, gpr_timespec *token_lifetime): credentials.h'],['../credentials_8c.html#a642f68664ea54ce67c7f752c33e01877',1,'grpc_oauth2_token_fetcher_credentials_parse_server_response(const grpc_httpcli_response *response, grpc_credentials_md_store **token_md, gpr_timespec *token_lifetime): credentials.c']]], + ['grpc_5fop',['grpc_op',['../structgrpc__op.html',1,'grpc_op'],['../grpc_8h.html#a6556a58ca45ad5132b89c770cf875215',1,'grpc_op(): grpc.h']]], + ['grpc_5fop_5fbegin_5fmessage',['GRPC_OP_BEGIN_MESSAGE',['../stream__op_8h.html#af16e06eb1edfe4d93509276f32ed3804a145ba48de2683f4943979f1184c17b31',1,'stream_op.h']]], + ['grpc_5fop_5fcomplete',['GRPC_OP_COMPLETE',['../grpc_8h.html#ab6454071421a36ebc25952ed448d5b87a00b42e3d4b6e6493c6e76f1adf07b297',1,'grpc.h']]], + ['grpc_5fop_5fmetadata',['GRPC_OP_METADATA',['../stream__op_8h.html#af16e06eb1edfe4d93509276f32ed3804a405236323f1ebdce743e0b045fda2317',1,'stream_op.h']]], + ['grpc_5fop_5frecv_5fclose_5fon_5fserver',['GRPC_OP_RECV_CLOSE_ON_SERVER',['../grpc_8h.html#a41dc9abf9678decbfcef1a037e35939aa8fb75ed79601a4845a39a74d7505cef6',1,'grpc.h']]], + ['grpc_5fop_5frecv_5finitial_5fmetadata',['GRPC_OP_RECV_INITIAL_METADATA',['../grpc_8h.html#a41dc9abf9678decbfcef1a037e35939aaabe080072d165d1e69459abd7c742078',1,'grpc.h']]], + ['grpc_5fop_5frecv_5fmessage',['GRPC_OP_RECV_MESSAGE',['../grpc_8h.html#a41dc9abf9678decbfcef1a037e35939aafe3da4c8865af4ef5258b3790d15afc5',1,'grpc.h']]], + ['grpc_5fop_5frecv_5fstatus_5fon_5fclient',['GRPC_OP_RECV_STATUS_ON_CLIENT',['../grpc_8h.html#a41dc9abf9678decbfcef1a037e35939aa4d43b168589407554a58e91fae80ba17',1,'grpc.h']]], + ['grpc_5fop_5fsend_5fclose_5ffrom_5fclient',['GRPC_OP_SEND_CLOSE_FROM_CLIENT',['../grpc_8h.html#a41dc9abf9678decbfcef1a037e35939aa6c66420562347ff4dcf35e4b32c0d486',1,'grpc.h']]], + ['grpc_5fop_5fsend_5finitial_5fmetadata',['GRPC_OP_SEND_INITIAL_METADATA',['../grpc_8h.html#a41dc9abf9678decbfcef1a037e35939aaf5bbedf13763c180b2f1ada62769d721',1,'grpc.h']]], + ['grpc_5fop_5fsend_5fmessage',['GRPC_OP_SEND_MESSAGE',['../grpc_8h.html#a41dc9abf9678decbfcef1a037e35939aaa6447181c20e4c6d64a54fae8082ef70',1,'grpc.h']]], + ['grpc_5fop_5fsend_5fstatus_5ffrom_5fserver',['GRPC_OP_SEND_STATUS_FROM_SERVER',['../grpc_8h.html#a41dc9abf9678decbfcef1a037e35939aa3a3659314e7495b1cabed0f3a6705f64',1,'grpc.h']]], + ['grpc_5fop_5fslice',['GRPC_OP_SLICE',['../stream__op_8h.html#af16e06eb1edfe4d93509276f32ed3804a515547554d32135caeef6aa6f28fe0c6',1,'stream_op.h']]], + ['grpc_5fop_5fstring',['grpc_op_string',['../call__log__batch_8c.html#a20665cb5606e67c3748f0df7c3f93998',1,'call_log_batch.c']]], + ['grpc_5fop_5ftype',['grpc_op_type',['../grpc_8h.html#a41dc9abf9678decbfcef1a037e35939a',1,'grpc.h']]], + ['grpc_5fopenid_5fconfig_5furl_5fsuffix',['GRPC_OPENID_CONFIG_URL_SUFFIX',['../jwt__verifier_8h.html#a869346dd0fc12ac4686cd05eca73d1ef',1,'jwt_verifier.h']]], + ['grpc_5fpeer_5fsettings',['GRPC_PEER_SETTINGS',['../internal_8h.html#a6c14b42c5aba744e7f99831e0b7901ada1e2fba3c15bdcd6378ad03ed9a47a572',1,'internal.h']]], + ['grpc_5fpipe_5fwakeup_5ffd_5fvtable',['grpc_pipe_wakeup_fd_vtable',['../wakeup__fd__pipe_8h.html#acc18a91c417090e877808146cd85d882',1,'wakeup_fd_pipe.h']]], + ['grpc_5fplatform_5fbecome_5fmultipoller',['grpc_platform_become_multipoller',['../pollset__posix_8h.html#aabee8316b743b1cc1673093989a7104a',1,'pollset_posix.h']]], + ['grpc_5fplatform_5fbecome_5fmultipoller_5ftype',['grpc_platform_become_multipoller_type',['../pollset__posix_8h.html#a9b5fd5fc969bf6e0c45e5f49b1827bbd',1,'pollset_posix.h']]], + ['grpc_5fpoll_5fbecome_5fmultipoller',['grpc_poll_become_multipoller',['../pollset__posix_8h.html#ae03dc91376fc7bfb279e74a955782102',1,'pollset_posix.h']]], + ['grpc_5fpoll_5fdeadline_5fto_5fmillis_5ftimeout',['grpc_poll_deadline_to_millis_timeout',['../pollset__posix_8h.html#ab8e35054e04edb42c1e665ef6a896fc0',1,'pollset_posix.h']]], + ['grpc_5fpollset',['grpc_pollset',['../structgrpc__pollset.html',1,'grpc_pollset'],['../pollset__posix_8h.html#a3651117ed8881e20c179f0c677c622ad',1,'grpc_pollset(): pollset_posix.h'],['../pollset__windows_8h.html#a3651117ed8881e20c179f0c677c622ad',1,'grpc_pollset(): pollset_windows.h']]], + ['grpc_5fpollset_5fadd_5ffd',['grpc_pollset_add_fd',['../pollset__posix_8h.html#add4b6bbce2371decdb574d68b15a81e8',1,'pollset_posix.h']]], + ['grpc_5fpollset_5fdel_5ffd',['grpc_pollset_del_fd',['../pollset__posix_8h.html#a84e9698eaa1ae735fc13d9faf7e073ea',1,'pollset_posix.h']]], + ['grpc_5fpollset_5fdestroy',['grpc_pollset_destroy',['../pollset_8h.html#a66c5028ee13b23f2d3c4db177f5c7d0f',1,'pollset.h']]], + ['grpc_5fpollset_5fforce_5fkick',['grpc_pollset_force_kick',['../pollset__posix_8h.html#a1dcd57a12b81e4369bc4c6957ff3837e',1,'pollset_posix.h']]], + ['grpc_5fpollset_5fglobal_5finit',['grpc_pollset_global_init',['../iomgr__posix_8h.html#a4011ee1fbdad1603b7e55127594c200a',1,'iomgr_posix.h']]], + ['grpc_5fpollset_5fglobal_5fshutdown',['grpc_pollset_global_shutdown',['../iomgr__posix_8h.html#a8d671f6f374e2ed27c2d81c3400e5688',1,'iomgr_posix.h']]], + ['grpc_5fpollset_5finit',['grpc_pollset_init',['../pollset_8h.html#abea9f486d280910a6e6aecbe6ca5f40b',1,'pollset.h']]], + ['grpc_5fpollset_5fkick',['grpc_pollset_kick',['../pollset_8h.html#a395a3872723c67d877799cdc79ae7f48',1,'pollset.h']]], + ['grpc_5fpollset_5fkick_5fconsume',['grpc_pollset_kick_consume',['../pollset__kick__posix_8h.html#a99be47b9ffb41145d43f9c7ca90d4bc3',1,'pollset_kick_posix.h']]], + ['grpc_5fpollset_5fkick_5fdestroy',['grpc_pollset_kick_destroy',['../pollset__kick__posix_8h.html#adaa67c8f786eed2df0402c6b37f02936',1,'pollset_kick_posix.h']]], + ['grpc_5fpollset_5fkick_5fget_5ffd',['GRPC_POLLSET_KICK_GET_FD',['../pollset__kick__posix_8h.html#a595cfb6b4cc1f48dbd015821541df959',1,'pollset_kick_posix.h']]], + ['grpc_5fpollset_5fkick_5fglobal_5fdestroy',['grpc_pollset_kick_global_destroy',['../pollset__kick__posix_8h.html#a59b8b056ec1ae7f0692bf26bf2a3d737',1,'pollset_kick_posix.h']]], + ['grpc_5fpollset_5fkick_5fglobal_5finit',['grpc_pollset_kick_global_init',['../pollset__kick__posix_8h.html#ac0d8bb7edaf2ad8346745db01206c5ed',1,'pollset_kick_posix.h']]], + ['grpc_5fpollset_5fkick_5fglobal_5finit_5ffallback_5ffd',['grpc_pollset_kick_global_init_fallback_fd',['../pollset__kick__posix_8h.html#a49bdece86b13c8d5785b32fae1609e08',1,'pollset_kick_posix.h']]], + ['grpc_5fpollset_5fkick_5finit',['grpc_pollset_kick_init',['../pollset__kick__posix_8h.html#a12982076ee83468851ab4a96502dd32c',1,'pollset_kick_posix.h']]], + ['grpc_5fpollset_5fkick_5fkick',['grpc_pollset_kick_kick',['../pollset__kick__posix_8h.html#a2eecbc8ba9bc911b87e4061c7786c849',1,'pollset_kick_posix.h']]], + ['grpc_5fpollset_5fkick_5fpost_5fpoll',['grpc_pollset_kick_post_poll',['../pollset__kick__posix_8h.html#a60bfabb6f5d6c3879607f5fc7634e037',1,'pollset_kick_posix.h']]], + ['grpc_5fpollset_5fkick_5fpre_5fpoll',['grpc_pollset_kick_pre_poll',['../pollset__kick__posix_8h.html#a6b29bc457705925de07822e6d6d1b91b',1,'pollset_kick_posix.h']]], + ['grpc_5fpollset_5fkick_5fstate',['grpc_pollset_kick_state',['../structgrpc__pollset__kick__state.html',1,'grpc_pollset_kick_state'],['../pollset__kick__posix_8h.html#a18aca8f917c9aae06f6f84b8700afca1',1,'grpc_pollset_kick_state(): pollset_kick_posix.h']]], + ['grpc_5fpollset_5fmu',['GRPC_POLLSET_MU',['../pollset__posix_8h.html#a717ebde9fd8a72d07e06d2255ee7b50f',1,'GRPC_POLLSET_MU(): pollset_posix.h'],['../pollset__windows_8h.html#a717ebde9fd8a72d07e06d2255ee7b50f',1,'GRPC_POLLSET_MU(): pollset_windows.h']]], + ['grpc_5fpollset_5fset',['grpc_pollset_set',['../structgrpc__pollset__set.html',1,'grpc_pollset_set'],['../pollset__set__posix_8h.html#a5ad060e47c139ab007fe34b33fdf27d7',1,'grpc_pollset_set(): pollset_set_posix.h'],['../pollset__set__windows_8h.html#a5ad060e47c139ab007fe34b33fdf27d7',1,'grpc_pollset_set(): pollset_set_windows.h']]], + ['grpc_5fpollset_5fset_5fadd_5ffd',['grpc_pollset_set_add_fd',['../pollset__set__posix_8h.html#a4710efa6246cfb542fc4e6e19f6b480c',1,'pollset_set_posix.h']]], + ['grpc_5fpollset_5fset_5fadd_5fpollset',['grpc_pollset_set_add_pollset',['../pollset__set_8h.html#a32cce61c048d3f4ccd8a2f89ccc6bdd2',1,'pollset_set.h']]], + ['grpc_5fpollset_5fset_5fdel_5ffd',['grpc_pollset_set_del_fd',['../pollset__set__posix_8h.html#aea5df4b32ccbd0fc718384f7f71b9414',1,'pollset_set_posix.h']]], + ['grpc_5fpollset_5fset_5fdel_5fpollset',['grpc_pollset_set_del_pollset',['../pollset__set_8h.html#aa17d44c467a104db9bb5150d815212c0',1,'pollset_set.h']]], + ['grpc_5fpollset_5fset_5fdestroy',['grpc_pollset_set_destroy',['../pollset__set_8h.html#af4b47eef823139b714d759e49495fafd',1,'pollset_set.h']]], + ['grpc_5fpollset_5fset_5finit',['grpc_pollset_set_init',['../pollset__set_8h.html#a215962a68f3a3a344993f6da6a5f486c',1,'pollset_set.h']]], + ['grpc_5fpollset_5fshutdown',['grpc_pollset_shutdown',['../pollset_8h.html#a85616767facacdf95dfc4fe564352e87',1,'pollset.h']]], + ['grpc_5fpollset_5fvtable',['grpc_pollset_vtable',['../structgrpc__pollset__vtable.html',1,'grpc_pollset_vtable'],['../pollset__posix_8h.html#a93b9c2aef29b7ffe733779b8d4c32db1',1,'grpc_pollset_vtable(): pollset_posix.h']]], + ['grpc_5fpollset_5fwork',['grpc_pollset_work',['../pollset_8h.html#a8e69570c350199ba682b6f673a63e8dd',1,'pollset.h']]], + ['grpc_5fprecise_5fclock',['grpc_precise_clock',['../structgrpc__precise__clock.html',1,'grpc_precise_clock'],['../timers__preciseclock_8h.html#a4f27cae71a2187ed049a3905cae591e2',1,'grpc_precise_clock(): timers_preciseclock.h']]], + ['grpc_5fprecise_5fclock_5fformat',['GRPC_PRECISE_CLOCK_FORMAT',['../timers__preciseclock_8h.html#a8cbb7d29a1f4fcded6337c7d9c61598d',1,'timers_preciseclock.h']]], + ['grpc_5fprecise_5fclock_5fprintf_5fargs',['GRPC_PRECISE_CLOCK_PRINTF_ARGS',['../timers__preciseclock_8h.html#ad8cb0fe2236a54829f5c38cd508305c5',1,'timers_preciseclock.h']]], + ['grpc_5fprofiling_5ftags',['grpc_profiling_tags',['../timers_8h.html#a3924e8ccd8dd2091f770739703718fe3',1,'timers.h']]], + ['grpc_5fptag_5fcall_5fon_5fdone_5frecv',['GRPC_PTAG_CALL_ON_DONE_RECV',['../timers_8h.html#a3924e8ccd8dd2091f770739703718fe3ad0521181369fe47d134a851aeb882e8a',1,'timers.h']]], + ['grpc_5fptag_5fcpp_5fcall_5fcreated',['GRPC_PTAG_CPP_CALL_CREATED',['../timers_8h.html#a3924e8ccd8dd2091f770739703718fe3a39ca9f08c4cc6da08ae53a9d66581f61',1,'timers.h']]], + ['grpc_5fptag_5fcpp_5fperform_5fops',['GRPC_PTAG_CPP_PERFORM_OPS',['../timers_8h.html#a3924e8ccd8dd2091f770739703718fe3a2bf041e644a7237941cf8fb3bd28833e',1,'timers.h']]], + ['grpc_5fptag_5fhandle_5fread',['GRPC_PTAG_HANDLE_READ',['../timers_8h.html#a3924e8ccd8dd2091f770739703718fe3a4979b4e88e202c76b258e4fae28f3129',1,'timers.h']]], + ['grpc_5fptag_5fhttp2_5funlock',['GRPC_PTAG_HTTP2_UNLOCK',['../timers_8h.html#a3924e8ccd8dd2091f770739703718fe3afdd4d7916a4a16fdbb47c3a6cb265e4d',1,'timers.h']]], + ['grpc_5fptag_5fhttp2_5funlock_5fcleanup',['GRPC_PTAG_HTTP2_UNLOCK_CLEANUP',['../timers_8h.html#a3924e8ccd8dd2091f770739703718fe3aa32b263c7af6b5be92daa442c772618a',1,'timers.h']]], + ['grpc_5fptag_5fignore_5fthreshold',['GRPC_PTAG_IGNORE_THRESHOLD',['../timers_8h.html#a3924e8ccd8dd2091f770739703718fe3a5fa98a7f52f47db42e01914db0b05392',1,'timers.h']]], + ['grpc_5fptag_5fother_5fbase',['GRPC_PTAG_OTHER_BASE',['../timers_8h.html#a3924e8ccd8dd2091f770739703718fe3a15afe239273be6ec485aea2aff25fb8b',1,'timers.h']]], + ['grpc_5fptag_5fpoll_5ffinished',['GRPC_PTAG_POLL_FINISHED',['../timers_8h.html#a3924e8ccd8dd2091f770739703718fe3a8564fee65389d96e4b5b4bedcedd2627',1,'timers.h']]], + ['grpc_5fptag_5fproto_5fdeserialize',['GRPC_PTAG_PROTO_DESERIALIZE',['../timers_8h.html#a3924e8ccd8dd2091f770739703718fe3aac2e05e178ae0a1dba7f00723355ba4b',1,'timers.h']]], + ['grpc_5fptag_5fproto_5fserialize',['GRPC_PTAG_PROTO_SERIALIZE',['../timers_8h.html#a3924e8ccd8dd2091f770739703718fe3a52fe62d30066246868ec8aee932c24e8',1,'timers.h']]], + ['grpc_5fptag_5frecvmsg',['GRPC_PTAG_RECVMSG',['../timers_8h.html#a3924e8ccd8dd2091f770739703718fe3a3b48f83e662bfe6d123d728874f4cc77',1,'timers.h']]], + ['grpc_5fptag_5fsendmsg',['GRPC_PTAG_SENDMSG',['../timers_8h.html#a3924e8ccd8dd2091f770739703718fe3a07f5a2d9703f71ede732477257854472',1,'timers.h']]], + ['grpc_5fptag_5ftcp_5fcb_5fwrite',['GRPC_PTAG_TCP_CB_WRITE',['../timers_8h.html#a3924e8ccd8dd2091f770739703718fe3ae3193d2165aaa3802bb3fca59e3ca8e1',1,'timers.h']]], + ['grpc_5fptag_5ftcp_5fwrite',['GRPC_PTAG_TCP_WRITE',['../timers_8h.html#a3924e8ccd8dd2091f770739703718fe3a1cf6704d24c17b339a283c1e1f86ae0f',1,'timers.h']]], + ['grpc_5fqueue_5fshutdown',['GRPC_QUEUE_SHUTDOWN',['../grpc_8h.html#ab6454071421a36ebc25952ed448d5b87a503dd1b2ec79457f0f810716016219d5',1,'grpc.h']]], + ['grpc_5fqueue_5ftimeout',['GRPC_QUEUE_TIMEOUT',['../grpc_8h.html#ab6454071421a36ebc25952ed448d5b87a4339ea61236e103b6555fdf9b6cffab6',1,'grpc.h']]], + ['grpc_5fraw_5fbyte_5fbuffer_5fcreate',['grpc_raw_byte_buffer_create',['../byte__buffer_8h.html#a1aaaa0d8a1609166e0b0bb2b42332618',1,'grpc_raw_byte_buffer_create(gpr_slice *slices, size_t nslices): byte_buffer.c'],['../byte__buffer_8c.html#a1aaaa0d8a1609166e0b0bb2b42332618',1,'grpc_raw_byte_buffer_create(gpr_slice *slices, size_t nslices): byte_buffer.c']]], + ['grpc_5fraw_5fbyte_5fbuffer_5ffrom_5freader',['grpc_raw_byte_buffer_from_reader',['../byte__buffer_8h.html#a9b4f877e32f45e0e704970e89582e0df',1,'grpc_raw_byte_buffer_from_reader(grpc_byte_buffer_reader *reader): byte_buffer.c'],['../byte__buffer_8c.html#a9b4f877e32f45e0e704970e89582e0df',1,'grpc_raw_byte_buffer_from_reader(grpc_byte_buffer_reader *reader): byte_buffer.c']]], + ['grpc_5fraw_5fcompressed_5fbyte_5fbuffer_5fcreate',['grpc_raw_compressed_byte_buffer_create',['../byte__buffer_8h.html#af9801acc1dbfd02b2c51ed9d504cd12b',1,'grpc_raw_compressed_byte_buffer_create(gpr_slice *slices, size_t nslices, grpc_compression_algorithm compression): byte_buffer.c'],['../byte__buffer_8c.html#af9801acc1dbfd02b2c51ed9d504cd12b',1,'grpc_raw_compressed_byte_buffer_create(gpr_slice *slices, size_t nslices, grpc_compression_algorithm compression): byte_buffer.c']]], + ['grpc_5frefresh_5ftoken_5fcredentials',['grpc_refresh_token_credentials',['../structgrpc__refresh__token__credentials.html',1,'']]], + ['grpc_5frefresh_5ftoken_5fcredentials_5fcreate',['grpc_refresh_token_credentials_create',['../grpc__security_8h.html#a7a2440ad02b6a96adbd2c6e5d66fd7d2',1,'grpc_refresh_token_credentials_create(const char *json_refresh_token): credentials.c'],['../credentials_8c.html#a7a2440ad02b6a96adbd2c6e5d66fd7d2',1,'grpc_refresh_token_credentials_create(const char *json_refresh_token): credentials.c']]], + ['grpc_5frefresh_5ftoken_5fcredentials_5fcreate_5ffrom_5fauth_5frefresh_5ftoken',['grpc_refresh_token_credentials_create_from_auth_refresh_token',['../credentials_8h.html#af364310c463f2ddc7d714f2dbbd57e0d',1,'grpc_refresh_token_credentials_create_from_auth_refresh_token(grpc_auth_refresh_token token): credentials.c'],['../credentials_8c.html#a0effe35d7112502e48014662eb7015cf',1,'grpc_refresh_token_credentials_create_from_auth_refresh_token(grpc_auth_refresh_token refresh_token): credentials.c']]], + ['grpc_5frefresh_5ftoken_5fpost_5fbody_5fformat_5fstring',['GRPC_REFRESH_TOKEN_POST_BODY_FORMAT_STRING',['../credentials_8h.html#adeaf95d65b517e001c71d1fb5e47c97a',1,'credentials.h']]], + ['grpc_5fregister_5fresolver_5ftype',['grpc_register_resolver_type',['../resolver__registry_8h.html#a563d9d398ed1757d9c5f78ae2ec7b9d7',1,'grpc_register_resolver_type(const char *scheme, grpc_resolver_factory *factory): resolver_registry.c'],['../resolver__registry_8c.html#a563d9d398ed1757d9c5f78ae2ec7b9d7',1,'grpc_register_resolver_type(const char *scheme, grpc_resolver_factory *factory): resolver_registry.c']]], + ['grpc_5fregister_5ftracer',['grpc_register_tracer',['../trace_8h.html#a082b7bb1ebe733f60bf2db0c7cd7b0db',1,'grpc_register_tracer(const char *name, int *flag): trace.c'],['../trace_8c.html#a082b7bb1ebe733f60bf2db0c7cd7b0db',1,'grpc_register_tracer(const char *name, int *flag): trace.c']]], + ['grpc_5fresolve_5faddress',['grpc_resolve_address',['../resolve__address_8h.html#ad97dcf547d9b690a9a7de340a84391ea',1,'resolve_address.h']]], + ['grpc_5fresolve_5fcb',['grpc_resolve_cb',['../resolve__address_8h.html#acac9db416b80e9bc82bbd0e1408cc3e0',1,'resolve_address.h']]], + ['grpc_5fresolved_5faddress',['grpc_resolved_address',['../structgrpc__resolved__address.html',1,'']]], + ['grpc_5fresolved_5faddresses',['grpc_resolved_addresses',['../structgrpc__resolved__addresses.html',1,'']]], + ['grpc_5fresolved_5faddresses_5fdestroy',['grpc_resolved_addresses_destroy',['../resolve__address_8h.html#affdc0f6f10389f1a19db7a5edb527b7c',1,'resolve_address.h']]], + ['grpc_5fresolver',['grpc_resolver',['../structgrpc__resolver.html',1,'grpc_resolver'],['../resolver_8h.html#ab98013b9b8e8c28771dc39013667f2b3',1,'grpc_resolver(): resolver.h']]], + ['grpc_5fresolver_5fchannel_5fsaw_5ferror',['grpc_resolver_channel_saw_error',['../resolver_8h.html#a118536c3b62613e957e10ce9cb602e6e',1,'grpc_resolver_channel_saw_error(grpc_resolver *resolver, struct sockaddr *failing_address, int failing_address_len): resolver.c'],['../resolver_8c.html#a118536c3b62613e957e10ce9cb602e6e',1,'grpc_resolver_channel_saw_error(grpc_resolver *resolver, struct sockaddr *failing_address, int failing_address_len): resolver.c']]], + ['grpc_5fresolver_5fcreate',['grpc_resolver_create',['../resolver__registry_8h.html#a42ba392534ac248b5a4ac1f87cd9b3b0',1,'grpc_resolver_create(const char *name, grpc_subchannel_factory *subchannel_factory): resolver_registry.c'],['../resolver__registry_8c.html#a42ba392534ac248b5a4ac1f87cd9b3b0',1,'grpc_resolver_create(const char *name, grpc_subchannel_factory *subchannel_factory): resolver_registry.c']]], + ['grpc_5fresolver_5ffactory',['grpc_resolver_factory',['../structgrpc__resolver__factory.html',1,'grpc_resolver_factory'],['../resolver__factory_8h.html#a44d5c388fec49323981552a26c5835a2',1,'grpc_resolver_factory(): resolver_factory.h']]], + ['grpc_5fresolver_5ffactory_5fcreate_5fresolver',['grpc_resolver_factory_create_resolver',['../resolver__factory_8h.html#a27c578ca66348965f7d3810d0c6fc65d',1,'grpc_resolver_factory_create_resolver(grpc_resolver_factory *factory, grpc_uri *uri, grpc_subchannel_factory *subchannel_factory): resolver_factory.c'],['../resolver__factory_8c.html#a27c578ca66348965f7d3810d0c6fc65d',1,'grpc_resolver_factory_create_resolver(grpc_resolver_factory *factory, grpc_uri *uri, grpc_subchannel_factory *subchannel_factory): resolver_factory.c']]], + ['grpc_5fresolver_5ffactory_5fref',['grpc_resolver_factory_ref',['../resolver__factory_8h.html#ad772468e42a97021bb827beb5b2db3ba',1,'grpc_resolver_factory_ref(grpc_resolver_factory *resolver): resolver_factory.c'],['../resolver__factory_8c.html#ad5938bfb397011e5e7f4f8d048102e9c',1,'grpc_resolver_factory_ref(grpc_resolver_factory *factory): resolver_factory.c']]], + ['grpc_5fresolver_5ffactory_5funref',['grpc_resolver_factory_unref',['../resolver__factory_8h.html#a9a16ab9dc39e97fff0b95ef3fc76904f',1,'grpc_resolver_factory_unref(grpc_resolver_factory *resolver): resolver_factory.c'],['../resolver__factory_8c.html#aff39a6960a452dbc2537ad83b3cefe84',1,'grpc_resolver_factory_unref(grpc_resolver_factory *factory): resolver_factory.c']]], + ['grpc_5fresolver_5ffactory_5fvtable',['grpc_resolver_factory_vtable',['../structgrpc__resolver__factory__vtable.html',1,'grpc_resolver_factory_vtable'],['../resolver__factory_8h.html#abf04e4004b01653a0274a3a0d175ab1b',1,'grpc_resolver_factory_vtable(): resolver_factory.h']]], + ['grpc_5fresolver_5finit',['grpc_resolver_init',['../resolver_8h.html#ac806a2edf4f2073529eec1319db9fde4',1,'grpc_resolver_init(grpc_resolver *resolver, const grpc_resolver_vtable *vtable): resolver.c'],['../resolver_8c.html#ac806a2edf4f2073529eec1319db9fde4',1,'grpc_resolver_init(grpc_resolver *resolver, const grpc_resolver_vtable *vtable): resolver.c']]], + ['grpc_5fresolver_5fnext',['grpc_resolver_next',['../resolver_8h.html#ac5ef07f9efdd2a39f2239207cc060729',1,'grpc_resolver_next(grpc_resolver *resolver, grpc_client_config **target_config, grpc_iomgr_closure *on_complete): resolver.c'],['../resolver_8c.html#ac5ef07f9efdd2a39f2239207cc060729',1,'grpc_resolver_next(grpc_resolver *resolver, grpc_client_config **target_config, grpc_iomgr_closure *on_complete): resolver.c']]], + ['grpc_5fresolver_5fref',['GRPC_RESOLVER_REF',['../resolver_8h.html#a98d15570db72446a0c175bc3ad316db9',1,'GRPC_RESOLVER_REF(): resolver.h'],['../resolver_8h.html#aae02c9a384f3f2c2b598f56014caa211',1,'grpc_resolver_ref(grpc_resolver *policy): resolver.c'],['../resolver_8c.html#a364d687b496e862cd5830d3aed899f4f',1,'grpc_resolver_ref(grpc_resolver *resolver): resolver.c']]], + ['grpc_5fresolver_5fregistry_5finit',['grpc_resolver_registry_init',['../resolver__registry_8h.html#a10ad765940e4f2ebf9d6bdc6b97d0fb0',1,'grpc_resolver_registry_init(const char *default_prefix): resolver_registry.c'],['../resolver__registry_8c.html#ac7c093f883b89670df4f0e6a42a9a77c',1,'grpc_resolver_registry_init(const char *default_resolver_scheme): resolver_registry.c']]], + ['grpc_5fresolver_5fregistry_5fshutdown',['grpc_resolver_registry_shutdown',['../resolver__registry_8h.html#a7e9178815fe26123c9413514e1212ca6',1,'grpc_resolver_registry_shutdown(void): resolver_registry.c'],['../resolver__registry_8c.html#a7e9178815fe26123c9413514e1212ca6',1,'grpc_resolver_registry_shutdown(void): resolver_registry.c']]], + ['grpc_5fresolver_5fshutdown',['grpc_resolver_shutdown',['../resolver_8h.html#ae7b200016c3489c0bb3de525198b435b',1,'grpc_resolver_shutdown(grpc_resolver *resolver): resolver.c'],['../resolver_8c.html#ae7b200016c3489c0bb3de525198b435b',1,'grpc_resolver_shutdown(grpc_resolver *resolver): resolver.c']]], + ['grpc_5fresolver_5funref',['GRPC_RESOLVER_UNREF',['../resolver_8h.html#a54ccbaf14bf8c38ad785e95d705bfe4d',1,'GRPC_RESOLVER_UNREF(): resolver.h'],['../resolver_8h.html#a198c3f1a1ef2d6f40680436a2fcaa11d',1,'grpc_resolver_unref(grpc_resolver *policy): resolver.c'],['../resolver_8c.html#a22b971b1770b476c3791f3f7bd370fd9',1,'grpc_resolver_unref(grpc_resolver *resolver): resolver.c']]], + ['grpc_5fresolver_5fvtable',['grpc_resolver_vtable',['../structgrpc__resolver__vtable.html',1,'grpc_resolver_vtable'],['../resolver_8h.html#aa9af03422b3cea75b4dae7725beab911',1,'grpc_resolver_vtable(): resolver.h']]], + ['grpc_5fscheme',['grpc_scheme',['../structchannel__data.html#a24aa2dd2d7925c382b290e2417efabc7',1,'channel_data']]], + ['grpc_5fsecure_5fchannel_5fcreate',['grpc_secure_channel_create',['../grpc__security_8h.html#a4d63d4cac74652ec3fac7782acb4a2d4',1,'grpc_secure_channel_create(grpc_credentials *creds, const char *target, const grpc_channel_args *args): secure_channel_create.c'],['../secure__channel__create_8c.html#a4d63d4cac74652ec3fac7782acb4a2d4',1,'grpc_secure_channel_create(grpc_credentials *creds, const char *target, const grpc_channel_args *args): secure_channel_create.c']]], + ['grpc_5fsecure_5fendpoint_5fcreate',['grpc_secure_endpoint_create',['../secure__endpoint_8h.html#ae8cdf93fdcca82849830e6f333807f66',1,'grpc_secure_endpoint_create(struct tsi_frame_protector *protector, grpc_endpoint *to_wrap, gpr_slice *leftover_slices, size_t leftover_nslices): secure_endpoint.c'],['../secure__endpoint_8c.html#a76ef547d32b0955572a841108518e611',1,'grpc_secure_endpoint_create(struct tsi_frame_protector *protector, grpc_endpoint *transport, gpr_slice *leftover_slices, size_t leftover_nslices): secure_endpoint.c']]], + ['grpc_5fsecure_5ftoken_5frefresh_5fthreshold_5fsecs',['GRPC_SECURE_TOKEN_REFRESH_THRESHOLD_SECS',['../credentials_8h.html#a63b03c9e9e071d5b7f2276c0ae196aeb',1,'credentials.h']]], + ['grpc_5fsecure_5ftransport_5fsetup',['grpc_secure_transport_setup',['../structgrpc__secure__transport__setup.html',1,'']]], + ['grpc_5fsecure_5ftransport_5fsetup_5fdone_5fcb',['grpc_secure_transport_setup_done_cb',['../secure__transport__setup_8h.html#a87e784b2a78827a00d144f0fcd119ed8',1,'secure_transport_setup.h']]], + ['grpc_5fsecurity_2eh',['grpc_security.h',['../grpc__security_8h.html',1,'']]], + ['grpc_5fsecurity_5fcheck_5fcb',['grpc_security_check_cb',['../security__connector_8h.html#a2c65e5934491f893a10fb5062f0e08fa',1,'security_connector.h']]], + ['grpc_5fsecurity_5fconnector',['grpc_security_connector',['../structgrpc__security__connector.html',1,'grpc_security_connector'],['../security__connector_8h.html#a243897cc56b3cff21887ba4c53e52539',1,'grpc_security_connector(): security_connector.h']]], + ['grpc_5fsecurity_5fconnector_5farg',['GRPC_SECURITY_CONNECTOR_ARG',['../security__connector_8h.html#a047c420294c8769e4512f17d0573e353',1,'security_connector.h']]], + ['grpc_5fsecurity_5fconnector_5fcheck_5fpeer',['grpc_security_connector_check_peer',['../security__connector_8h.html#aac9a5d6c38755b24c7170789056dec94',1,'grpc_security_connector_check_peer(grpc_security_connector *sc, tsi_peer peer, grpc_security_check_cb cb, void *user_data): security_connector.c'],['../security__connector_8c.html#aac9a5d6c38755b24c7170789056dec94',1,'grpc_security_connector_check_peer(grpc_security_connector *sc, tsi_peer peer, grpc_security_check_cb cb, void *user_data): security_connector.c']]], + ['grpc_5fsecurity_5fconnector_5fcreate_5fhandshaker',['grpc_security_connector_create_handshaker',['../security__connector_8h.html#af81a7b903de0636a73b0e852b36a7fde',1,'grpc_security_connector_create_handshaker(grpc_security_connector *sc, tsi_handshaker **handshaker): security_connector.c'],['../security__connector_8c.html#af81a7b903de0636a73b0e852b36a7fde',1,'grpc_security_connector_create_handshaker(grpc_security_connector *sc, tsi_handshaker **handshaker): security_connector.c']]], + ['grpc_5fsecurity_5fconnector_5ffrom_5farg',['grpc_security_connector_from_arg',['../security__connector_8h.html#aa427ef1fd3d8e58437215f4da2fd87ca',1,'grpc_security_connector_from_arg(const grpc_arg *arg): security_connector.c'],['../security__connector_8c.html#aa427ef1fd3d8e58437215f4da2fd87ca',1,'grpc_security_connector_from_arg(const grpc_arg *arg): security_connector.c']]], + ['grpc_5fsecurity_5fconnector_5fref',['grpc_security_connector_ref',['../security__connector_8h.html#a49e56e5d195b8935306b58dd80cf1ae4',1,'grpc_security_connector_ref(grpc_security_connector *policy): security_connector.c'],['../security__connector_8c.html#a04d7906ef7ce6c00705b20f19841c127',1,'grpc_security_connector_ref(grpc_security_connector *sc): security_connector.c'],['../security__connector_8h.html#a5bb32899b45edd908bb61e45db59c460',1,'GRPC_SECURITY_CONNECTOR_REF(): security_connector.h']]], + ['grpc_5fsecurity_5fconnector_5fto_5farg',['grpc_security_connector_to_arg',['../security__connector_8h.html#ab609527dad74bcc51e4b8b17b8f47c8a',1,'grpc_security_connector_to_arg(grpc_security_connector *sc): security_connector.c'],['../security__connector_8c.html#ab609527dad74bcc51e4b8b17b8f47c8a',1,'grpc_security_connector_to_arg(grpc_security_connector *sc): security_connector.c']]], + ['grpc_5fsecurity_5fconnector_5funref',['GRPC_SECURITY_CONNECTOR_UNREF',['../security__connector_8h.html#a1950bc24ce082a50d66b0cd505c069ee',1,'GRPC_SECURITY_CONNECTOR_UNREF(): security_connector.h'],['../security__connector_8h.html#a9b6de27f6cdaa1aefddca2679545ee5e',1,'grpc_security_connector_unref(grpc_security_connector *policy): security_connector.c'],['../security__connector_8c.html#a8a5781bf75358deab0cb2259c6be6359',1,'grpc_security_connector_unref(grpc_security_connector *sc): security_connector.c']]], + ['grpc_5fsecurity_5fconnector_5fvtable',['grpc_security_connector_vtable',['../structgrpc__security__connector__vtable.html',1,'']]], + ['grpc_5fsecurity_5ferror',['GRPC_SECURITY_ERROR',['../security__connector_8h.html#a7a71a61785f1c3b13704bb735d2645f9a0c645b0a4e922f4dbfbb08a7e1a0caba',1,'security_connector.h']]], + ['grpc_5fsecurity_5fok',['GRPC_SECURITY_OK',['../security__connector_8h.html#a7a71a61785f1c3b13704bb735d2645f9afbd22370d0c11fb36d465b65321a846b',1,'security_connector.h']]], + ['grpc_5fsecurity_5fpending',['GRPC_SECURITY_PENDING',['../security__connector_8h.html#a7a71a61785f1c3b13704bb735d2645f9aec1f6f449a3260705affe2f4496386e8',1,'security_connector.h']]], + ['grpc_5fsecurity_5fpre_5finit',['grpc_security_pre_init',['../init_8h.html#a7cfa0e02a966bf937b5d69e10fad2ef7',1,'grpc_security_pre_init(void): init_secure.c'],['../init__secure_8c.html#a7cfa0e02a966bf937b5d69e10fad2ef7',1,'grpc_security_pre_init(void): init_secure.c']]], + ['grpc_5fsecurity_5fstatus',['grpc_security_status',['../security__connector_8h.html#a7a71a61785f1c3b13704bb735d2645f9',1,'security_connector.h']]], + ['grpc_5fsend_5fclosed',['GRPC_SEND_CLOSED',['../internal_8h.html#a9d3b30dd29e854143c461aa7e03cbfb9ab9d017cdb014717c5160971d45cc1c02',1,'internal.h']]], + ['grpc_5fsend_5fclosed_5fwith_5frst_5fstream',['GRPC_SEND_CLOSED_WITH_RST_STREAM',['../internal_8h.html#a9d3b30dd29e854143c461aa7e03cbfb9ab0dbda5711c4d3612d77337cbeb88508',1,'internal.h']]], + ['grpc_5fsent_5fsettings',['GRPC_SENT_SETTINGS',['../internal_8h.html#a6c14b42c5aba744e7f99831e0b7901ada984818e41863a597de9f9fb6162019f5',1,'internal.h']]], + ['grpc_5fserver',['grpc_server',['../structgrpc__server.html',1,'grpc_server'],['../grpc_8h.html#a2bbbaad8f7a806f6c834b68c5dd916d8',1,'grpc_server(): grpc.h']]], + ['grpc_5fserver_5fadd_5fhttp2_5fport',['grpc_server_add_http2_port',['../grpc_8h.html#a48cab64480658b97a775b2c7837456f9',1,'grpc_server_add_http2_port(grpc_server *server, const char *addr): server_chttp2.c'],['../server__chttp2_8c.html#a48cab64480658b97a775b2c7837456f9',1,'grpc_server_add_http2_port(grpc_server *server, const char *addr): server_chttp2.c']]], + ['grpc_5fserver_5fadd_5flistener',['grpc_server_add_listener',['../server_8h.html#afba4e38403fa34a317c44de9bae41105',1,'grpc_server_add_listener(grpc_server *server, void *listener, void(*start)(grpc_server *server, void *arg, grpc_pollset **pollsets, size_t npollsets), void(*destroy)(grpc_server *server, void *arg)): server.h'],['../server_8c.html#a777b461e0fd2a56acd35caf54f3d88e6',1,'grpc_server_add_listener(grpc_server *server, void *arg, void(*start)(grpc_server *server, void *arg, grpc_pollset **pollsets, size_t pollset_count), void(*destroy)(grpc_server *server, void *arg)): server.c']]], + ['grpc_5fserver_5fadd_5fsecure_5fhttp2_5fport',['grpc_server_add_secure_http2_port',['../grpc__security_8h.html#a5d0db200d00b62b79138472dc9b1fe59',1,'grpc_server_add_secure_http2_port(grpc_server *server, const char *addr, grpc_server_credentials *creds): server_secure_chttp2.c'],['../server__secure__chttp2_8c.html#a5d0db200d00b62b79138472dc9b1fe59',1,'grpc_server_add_secure_http2_port(grpc_server *server, const char *addr, grpc_server_credentials *creds): server_secure_chttp2.c']]], + ['grpc_5fserver_5fauth_5ffilter',['grpc_server_auth_filter',['../auth__filters_8h.html#a2041d6372525de50a18f156d1b94cfae',1,'grpc_server_auth_filter(): server_auth_filter.c'],['../server__auth__filter_8c.html#a2041d6372525de50a18f156d1b94cfae',1,'grpc_server_auth_filter(): server_auth_filter.c']]], + ['grpc_5fserver_5fcancel_5fall_5fcalls',['grpc_server_cancel_all_calls',['../grpc_8h.html#ac5c1e4f3e270a7afbc39403fff0dc803',1,'grpc_server_cancel_all_calls(grpc_server *server): server.c'],['../server_8c.html#ac5c1e4f3e270a7afbc39403fff0dc803',1,'grpc_server_cancel_all_calls(grpc_server *server): server.c']]], + ['grpc_5fserver_5fcensus_5ffilter',['grpc_server_census_filter',['../census__filter_8h.html#a710f293782b7b759efd8bf5acd011963',1,'census_filter.h']]], + ['grpc_5fserver_5fcreate',['grpc_server_create',['../grpc_8h.html#a4036710ea12eccabbbbf050d6bad4cd4',1,'grpc_server_create(const grpc_channel_args *args): server_create.c'],['../server__create_8c.html#a4036710ea12eccabbbbf050d6bad4cd4',1,'grpc_server_create(const grpc_channel_args *args): server_create.c']]], + ['grpc_5fserver_5fcreate_5ffrom_5ffilters',['grpc_server_create_from_filters',['../server_8h.html#a870e9abac807e8ba2578df7d9526f8c0',1,'grpc_server_create_from_filters(const grpc_channel_filter **filters, size_t filter_count, const grpc_channel_args *args): server.c'],['../server_8c.html#a870e9abac807e8ba2578df7d9526f8c0',1,'grpc_server_create_from_filters(const grpc_channel_filter **filters, size_t filter_count, const grpc_channel_args *args): server.c']]], + ['grpc_5fserver_5fcredentials',['grpc_server_credentials',['../structgrpc__server__credentials.html',1,'grpc_server_credentials'],['../grpc__security_8h.html#aa724192e56fdc03827846f16752deccc',1,'grpc_server_credentials(): grpc_security.h']]], + ['grpc_5fserver_5fcredentials_5fcreate_5fsecurity_5fconnector',['grpc_server_credentials_create_security_connector',['../credentials_8h.html#acc8fc30e87ddec6ff87dd6676215755a',1,'grpc_server_credentials_create_security_connector(grpc_server_credentials *creds, grpc_security_connector **sc): credentials.c'],['../credentials_8c.html#acc8fc30e87ddec6ff87dd6676215755a',1,'grpc_server_credentials_create_security_connector(grpc_server_credentials *creds, grpc_security_connector **sc): credentials.c']]], + ['grpc_5fserver_5fcredentials_5frelease',['grpc_server_credentials_release',['../grpc__security_8h.html#a6e9f9320f4f8d2d534d04ed642f032ea',1,'grpc_server_credentials_release(grpc_server_credentials *creds): credentials.c'],['../credentials_8c.html#a6e9f9320f4f8d2d534d04ed642f032ea',1,'grpc_server_credentials_release(grpc_server_credentials *creds): credentials.c']]], + ['grpc_5fserver_5fcredentials_5fvtable',['grpc_server_credentials_vtable',['../structgrpc__server__credentials__vtable.html',1,'']]], + ['grpc_5fserver_5fdestroy',['grpc_server_destroy',['../grpc_8h.html#a34cba45da7c32a21ac82305d670e4620',1,'grpc_server_destroy(grpc_server *server): server.c'],['../server_8c.html#a34cba45da7c32a21ac82305d670e4620',1,'grpc_server_destroy(grpc_server *server): server.c']]], + ['grpc_5fserver_5fget_5fchannel_5fargs',['grpc_server_get_channel_args',['../server_8h.html#a263c42634aa706458d691565943c6cae',1,'grpc_server_get_channel_args(grpc_server *server): server.c'],['../server_8c.html#a263c42634aa706458d691565943c6cae',1,'grpc_server_get_channel_args(grpc_server *server): server.c']]], + ['grpc_5fserver_5fhas_5fopen_5fconnections',['grpc_server_has_open_connections',['../server_8h.html#a28a4697b500cd4867a9f6731c8e58a94',1,'grpc_server_has_open_connections(grpc_server *server): server.c'],['../server_8c.html#a28a4697b500cd4867a9f6731c8e58a94',1,'grpc_server_has_open_connections(grpc_server *server): server.c']]], + ['grpc_5fserver_5flistener_5fdestroy_5fdone',['grpc_server_listener_destroy_done',['../server_8h.html#a2260ab5adc7a935225c70f47fbb6a0a9',1,'grpc_server_listener_destroy_done(void *server): server.c'],['../server_8c.html#a57b25ccc5ec64affd1ade91554a81092',1,'grpc_server_listener_destroy_done(void *s): server.c']]], + ['grpc_5fserver_5flog_5frequest_5fcall',['grpc_server_log_request_call',['../call_8h.html#a731e08efd7f3cab089d2239f0ed931d5',1,'grpc_server_log_request_call(char *file, int line, gpr_log_severity severity, grpc_server *server, grpc_call **call, grpc_call_details *details, grpc_metadata_array *initial_metadata, grpc_completion_queue *cq_bound_to_call, grpc_completion_queue *cq_for_notification, void *tag): call_log_batch.c'],['../call__log__batch_8c.html#a731e08efd7f3cab089d2239f0ed931d5',1,'grpc_server_log_request_call(char *file, int line, gpr_log_severity severity, grpc_server *server, grpc_call **call, grpc_call_details *details, grpc_metadata_array *initial_metadata, grpc_completion_queue *cq_bound_to_call, grpc_completion_queue *cq_for_notification, void *tag): call_log_batch.c'],['../call_8h.html#a2248e590ae0f4d7aba76fbf76110db6c',1,'GRPC_SERVER_LOG_REQUEST_CALL(): call.h']]], + ['grpc_5fserver_5flog_5fshutdown',['GRPC_SERVER_LOG_SHUTDOWN',['../call_8h.html#a0b82c07496b462c41ce400559c5219e7',1,'GRPC_SERVER_LOG_SHUTDOWN(): call.h'],['../call_8h.html#a0e7c36965ffbb52c576b6b0bf819ab89',1,'grpc_server_log_shutdown(char *file, int line, gpr_log_severity severity, grpc_server *server, grpc_completion_queue *cq, void *tag): call_log_batch.c'],['../call__log__batch_8c.html#a0e7c36965ffbb52c576b6b0bf819ab89',1,'grpc_server_log_shutdown(char *file, int line, gpr_log_severity severity, grpc_server *server, grpc_completion_queue *cq, void *tag): call_log_batch.c']]], + ['grpc_5fserver_5fregister_5fcompletion_5fqueue',['grpc_server_register_completion_queue',['../grpc_8h.html#ac174712f87fdae4b5757a1370e2a31cb',1,'grpc_server_register_completion_queue(grpc_server *server, grpc_completion_queue *cq): server.c'],['../server_8c.html#ac174712f87fdae4b5757a1370e2a31cb',1,'grpc_server_register_completion_queue(grpc_server *server, grpc_completion_queue *cq): server.c']]], + ['grpc_5fserver_5fregister_5fmethod',['grpc_server_register_method',['../grpc_8h.html#a283062a2209f464f234b0e645c6fffb2',1,'grpc_server_register_method(grpc_server *server, const char *method, const char *host): server.c'],['../server_8c.html#a283062a2209f464f234b0e645c6fffb2',1,'grpc_server_register_method(grpc_server *server, const char *method, const char *host): server.c']]], + ['grpc_5fserver_5frequest_5fcall',['grpc_server_request_call',['../grpc_8h.html#a636d8fd8c888ba0a0fefacf8dcab7257',1,'grpc_server_request_call(grpc_server *server, grpc_call **call, grpc_call_details *details, grpc_metadata_array *request_metadata, grpc_completion_queue *cq_bound_to_call, grpc_completion_queue *cq_for_notification, void *tag_new): server.c'],['../server_8c.html#a419670c3509bc3c67c1344be3a1c4dbf',1,'grpc_server_request_call(grpc_server *server, grpc_call **call, grpc_call_details *details, grpc_metadata_array *initial_metadata, grpc_completion_queue *cq_bound_to_call, grpc_completion_queue *cq_for_notification, void *tag): server.c']]], + ['grpc_5fserver_5frequest_5fregistered_5fcall',['grpc_server_request_registered_call',['../grpc_8h.html#a7207900db3bba2f1ae2e3f2dfc2822de',1,'grpc_server_request_registered_call(grpc_server *server, void *registered_method, grpc_call **call, gpr_timespec *deadline, grpc_metadata_array *request_metadata, grpc_byte_buffer **optional_payload, grpc_completion_queue *cq_bound_to_call, grpc_completion_queue *cq_for_notification, void *tag_new): server.c'],['../server_8c.html#a82bc2345fb113c461e255364d8d192b5',1,'grpc_server_request_registered_call(grpc_server *server, void *rm, grpc_call **call, gpr_timespec *deadline, grpc_metadata_array *initial_metadata, grpc_byte_buffer **optional_payload, grpc_completion_queue *cq_bound_to_call, grpc_completion_queue *cq_for_notification, void *tag): server.c']]], + ['grpc_5fserver_5fsecure_5fstate',['grpc_server_secure_state',['../structgrpc__server__secure__state.html',1,'grpc_server_secure_state'],['../server__secure__chttp2_8c.html#a5867481af652d517f32b61834205f2b0',1,'grpc_server_secure_state(): server_secure_chttp2.c']]], + ['grpc_5fserver_5fsecurity_5fcontext',['grpc_server_security_context',['../structgrpc__server__security__context.html',1,'']]], + ['grpc_5fserver_5fsecurity_5fcontext_5fcreate',['grpc_server_security_context_create',['../security__context_8h.html#afa8c88dfb1be5add6af3143eeb76460a',1,'grpc_server_security_context_create(void): security_context.c'],['../security__context_8c.html#afa8c88dfb1be5add6af3143eeb76460a',1,'grpc_server_security_context_create(void): security_context.c']]], + ['grpc_5fserver_5fsecurity_5fcontext_5fdestroy',['grpc_server_security_context_destroy',['../security__context_8h.html#a86caf02cd607c3ff6f1e6657ffa5c17a',1,'grpc_server_security_context_destroy(void *ctx): security_context.c'],['../security__context_8c.html#a86caf02cd607c3ff6f1e6657ffa5c17a',1,'grpc_server_security_context_destroy(void *ctx): security_context.c']]], + ['grpc_5fserver_5fsetup_5ftransport',['grpc_server_setup_transport',['../server_8h.html#a5162441dfea5a2fa92bc38896bfb45fc',1,'grpc_server_setup_transport(grpc_server *server, grpc_transport *transport, grpc_channel_filter const **extra_filters, size_t num_extra_filters, grpc_mdctx *mdctx, const grpc_channel_args *args): server.c'],['../server_8c.html#a26fd88680fa7949f4af879acdc249d8d',1,'grpc_server_setup_transport(grpc_server *s, grpc_transport *transport, grpc_channel_filter const **extra_filters, size_t num_extra_filters, grpc_mdctx *mdctx, const grpc_channel_args *args): server.c']]], + ['grpc_5fserver_5fshutdown_5fand_5fnotify',['grpc_server_shutdown_and_notify',['../grpc_8h.html#a56fffa23c1c4bab9a469e2ac607b6db7',1,'grpc_server_shutdown_and_notify(grpc_server *server, grpc_completion_queue *cq, void *tag): server.c'],['../server_8c.html#a56fffa23c1c4bab9a469e2ac607b6db7',1,'grpc_server_shutdown_and_notify(grpc_server *server, grpc_completion_queue *cq, void *tag): server.c']]], + ['grpc_5fserver_5fstart',['grpc_server_start',['../grpc_8h.html#ac5010d26419e14f5a9ab2fa86a4f7d1e',1,'grpc_server_start(grpc_server *server): server.c'],['../server_8c.html#ac5010d26419e14f5a9ab2fa86a4f7d1e',1,'grpc_server_start(grpc_server *server): server.c']]], + ['grpc_5fservice_5faccount_5fcredentials',['grpc_service_account_credentials',['../structgrpc__service__account__credentials.html',1,'']]], + ['grpc_5fservice_5faccount_5fcredentials_5fcreate',['grpc_service_account_credentials_create',['../grpc__security_8h.html#a15aa83608fad085b6244de659d322b27',1,'grpc_service_account_credentials_create(const char *json_key, const char *scope, gpr_timespec token_lifetime): credentials.c'],['../credentials_8c.html#a15aa83608fad085b6244de659d322b27',1,'grpc_service_account_credentials_create(const char *json_key, const char *scope, gpr_timespec token_lifetime): credentials.c']]], + ['grpc_5fservice_5faccount_5fjwt_5faccess_5fcredentials',['grpc_service_account_jwt_access_credentials',['../structgrpc__service__account__jwt__access__credentials.html',1,'']]], + ['grpc_5fservice_5faccount_5fjwt_5faccess_5fcredentials_5fcreate',['grpc_service_account_jwt_access_credentials_create',['../grpc__security_8h.html#af26993774cc991debd61e4a84ed49187',1,'grpc_service_account_jwt_access_credentials_create(const char *json_key, gpr_timespec token_lifetime): credentials.c'],['../credentials_8c.html#af26993774cc991debd61e4a84ed49187',1,'grpc_service_account_jwt_access_credentials_create(const char *json_key, gpr_timespec token_lifetime): credentials.c']]], + ['grpc_5fservice_5faccount_5fjwt_5faccess_5fcredentials_5fcreate_5ffrom_5fauth_5fjson_5fkey',['grpc_service_account_jwt_access_credentials_create_from_auth_json_key',['../credentials_8h.html#a26715660e319377bdfc4f2476ff35505',1,'grpc_service_account_jwt_access_credentials_create_from_auth_json_key(grpc_auth_json_key key, gpr_timespec token_lifetime): credentials.c'],['../credentials_8c.html#a26715660e319377bdfc4f2476ff35505',1,'grpc_service_account_jwt_access_credentials_create_from_auth_json_key(grpc_auth_json_key key, gpr_timespec token_lifetime): credentials.c']]], + ['grpc_5fservice_5faccount_5fpost_5fbody_5fprefix',['GRPC_SERVICE_ACCOUNT_POST_BODY_PREFIX',['../credentials_8h.html#a5c5761f3829eca7ec24d5aa68272cad2',1,'credentials.h']]], + ['grpc_5fset_5fsocket_5fcloexec',['grpc_set_socket_cloexec',['../socket__utils__posix_8h.html#af2c563af7608d53fa639f9ed9c5f1027',1,'socket_utils_posix.h']]], + ['grpc_5fset_5fsocket_5flow_5flatency',['grpc_set_socket_low_latency',['../socket__utils__posix_8h.html#a4a66ec0552261b5c623b2e7b718fba00',1,'socket_utils_posix.h']]], + ['grpc_5fset_5fsocket_5fno_5fsigpipe_5fif_5fpossible',['grpc_set_socket_no_sigpipe_if_possible',['../socket__utils__posix_8h.html#a520ffc5e1545446aea9653814d6c0581',1,'socket_utils_posix.h']]], + ['grpc_5fset_5fsocket_5fnonblocking',['grpc_set_socket_nonblocking',['../socket__utils__posix_8h.html#a8f191a668efd979070217eb455a399d5',1,'socket_utils_posix.h']]], + ['grpc_5fset_5fsocket_5freuse_5faddr',['grpc_set_socket_reuse_addr',['../socket__utils__posix_8h.html#afe2ba4baab80f7f0b1aea9bd8718ac79',1,'socket_utils_posix.h']]], + ['grpc_5fsetup_5fsecure_5ftransport',['grpc_setup_secure_transport',['../secure__transport__setup_8h.html#abf337cd72839248e089c1646f8fa7bc8',1,'grpc_setup_secure_transport(grpc_security_connector *connector, grpc_endpoint *nonsecure_endpoint, grpc_secure_transport_setup_done_cb cb, void *user_data): secure_transport_setup.c'],['../secure__transport__setup_8c.html#abf337cd72839248e089c1646f8fa7bc8',1,'grpc_setup_secure_transport(grpc_security_connector *connector, grpc_endpoint *nonsecure_endpoint, grpc_secure_transport_setup_done_cb cb, void *user_data): secure_transport_setup.c']]], + ['grpc_5fshutdown',['grpc_shutdown',['../grpc_8h.html#af1130720e50ffedd0bb065c84843b032',1,'grpc_shutdown(void): init.c'],['../init_8c.html#af1130720e50ffedd0bb065c84843b032',1,'grpc_shutdown(void): init.c']]], + ['grpc_5fslice_5fbuffer_5finline_5felements',['GRPC_SLICE_BUFFER_INLINE_ELEMENTS',['../slice__buffer_8h.html#a81db47a2be0a079aa797cd77f3864809',1,'slice_buffer.h']]], + ['grpc_5fsockaddr_5fget_5fport',['grpc_sockaddr_get_port',['../sockaddr__utils_8h.html#a9b9c605d240e9358a23f29c4cf07b1da',1,'grpc_sockaddr_get_port(const struct sockaddr *addr): sockaddr_utils.c'],['../sockaddr__utils_8c.html#a9b9c605d240e9358a23f29c4cf07b1da',1,'grpc_sockaddr_get_port(const struct sockaddr *addr): sockaddr_utils.c']]], + ['grpc_5fsockaddr_5fis_5fv4mapped',['grpc_sockaddr_is_v4mapped',['../sockaddr__utils_8h.html#a97d452690214de3809f667f95dda80ce',1,'grpc_sockaddr_is_v4mapped(const struct sockaddr *addr, struct sockaddr_in *addr4_out): sockaddr_utils.c'],['../sockaddr__utils_8c.html#a97d452690214de3809f667f95dda80ce',1,'grpc_sockaddr_is_v4mapped(const struct sockaddr *addr, struct sockaddr_in *addr4_out): sockaddr_utils.c']]], + ['grpc_5fsockaddr_5fis_5fwildcard',['grpc_sockaddr_is_wildcard',['../sockaddr__utils_8h.html#aed4ad468c36fc0a4531025c5fa2185a2',1,'grpc_sockaddr_is_wildcard(const struct sockaddr *addr, int *port_out): sockaddr_utils.c'],['../sockaddr__utils_8c.html#aed4ad468c36fc0a4531025c5fa2185a2',1,'grpc_sockaddr_is_wildcard(const struct sockaddr *addr, int *port_out): sockaddr_utils.c']]], + ['grpc_5fsockaddr_5fmake_5fwildcard4',['grpc_sockaddr_make_wildcard4',['../sockaddr__utils_8h.html#a89be072619a282936b8c1f99c5af254e',1,'grpc_sockaddr_make_wildcard4(int port, struct sockaddr_in *wild_out): sockaddr_utils.c'],['../sockaddr__utils_8c.html#a89be072619a282936b8c1f99c5af254e',1,'grpc_sockaddr_make_wildcard4(int port, struct sockaddr_in *wild_out): sockaddr_utils.c']]], + ['grpc_5fsockaddr_5fmake_5fwildcard6',['grpc_sockaddr_make_wildcard6',['../sockaddr__utils_8h.html#a1a8a1c666324ed6d23077a0dd77bd2b8',1,'grpc_sockaddr_make_wildcard6(int port, struct sockaddr_in6 *wild_out): sockaddr_utils.c'],['../sockaddr__utils_8c.html#a1a8a1c666324ed6d23077a0dd77bd2b8',1,'grpc_sockaddr_make_wildcard6(int port, struct sockaddr_in6 *wild_out): sockaddr_utils.c']]], + ['grpc_5fsockaddr_5fmake_5fwildcards',['grpc_sockaddr_make_wildcards',['../sockaddr__utils_8h.html#a3cb44f54c6743ff32dc31147ca6a6721',1,'grpc_sockaddr_make_wildcards(int port, struct sockaddr_in *wild4_out, struct sockaddr_in6 *wild6_out): sockaddr_utils.c'],['../sockaddr__utils_8c.html#a3cb44f54c6743ff32dc31147ca6a6721',1,'grpc_sockaddr_make_wildcards(int port, struct sockaddr_in *wild4_out, struct sockaddr_in6 *wild6_out): sockaddr_utils.c']]], + ['grpc_5fsockaddr_5fset_5fport',['grpc_sockaddr_set_port',['../sockaddr__utils_8h.html#ad73cd02c052e82778b7df5378ded462d',1,'grpc_sockaddr_set_port(const struct sockaddr *addr, int port): sockaddr_utils.c'],['../sockaddr__utils_8c.html#ad73cd02c052e82778b7df5378ded462d',1,'grpc_sockaddr_set_port(const struct sockaddr *addr, int port): sockaddr_utils.c']]], + ['grpc_5fsockaddr_5fto_5fstring',['grpc_sockaddr_to_string',['../sockaddr__utils_8h.html#a400a51bd46384a6e0b28136274765464',1,'grpc_sockaddr_to_string(char **out, const struct sockaddr *addr, int normalize): sockaddr_utils.c'],['../sockaddr__utils_8c.html#a400a51bd46384a6e0b28136274765464',1,'grpc_sockaddr_to_string(char **out, const struct sockaddr *addr, int normalize): sockaddr_utils.c']]], + ['grpc_5fsockaddr_5fto_5furi',['grpc_sockaddr_to_uri',['../sockaddr__utils_8h.html#a8545a440d2d91365d75ed87720891a91',1,'grpc_sockaddr_to_uri(const struct sockaddr *addr): sockaddr_utils.c'],['../sockaddr__utils_8c.html#a8545a440d2d91365d75ed87720891a91',1,'grpc_sockaddr_to_uri(const struct sockaddr *addr): sockaddr_utils.c']]], + ['grpc_5fsockaddr_5fto_5fv4mapped',['grpc_sockaddr_to_v4mapped',['../sockaddr__utils_8h.html#a606efe4550fb7947fb36ff6a0231ac79',1,'grpc_sockaddr_to_v4mapped(const struct sockaddr *addr, struct sockaddr_in6 *addr6_out): sockaddr_utils.c'],['../sockaddr__utils_8c.html#a606efe4550fb7947fb36ff6a0231ac79',1,'grpc_sockaddr_to_v4mapped(const struct sockaddr *addr, struct sockaddr_in6 *addr6_out): sockaddr_utils.c']]], + ['grpc_5fsocket_5fnotify_5fon_5fread',['grpc_socket_notify_on_read',['../iocp__windows_8h.html#a08d522cb6d04a6f5895fae78fd645e00',1,'iocp_windows.h']]], + ['grpc_5fsocket_5fnotify_5fon_5fwrite',['grpc_socket_notify_on_write',['../iocp__windows_8h.html#a4db8d3b4cc420a58c833e579a94bdd38',1,'iocp_windows.h']]], + ['grpc_5fsopb_5fadd_5fbegin_5fmessage',['grpc_sopb_add_begin_message',['../stream__op_8h.html#a6b1565cc1ec9aba1eef5c21318e088b9',1,'grpc_sopb_add_begin_message(grpc_stream_op_buffer *sopb, gpr_uint32 length, gpr_uint32 flags): stream_op.c'],['../stream__op_8c.html#a6b1565cc1ec9aba1eef5c21318e088b9',1,'grpc_sopb_add_begin_message(grpc_stream_op_buffer *sopb, gpr_uint32 length, gpr_uint32 flags): stream_op.c']]], + ['grpc_5fsopb_5fadd_5fmetadata',['grpc_sopb_add_metadata',['../stream__op_8h.html#a73441361d99158dbb24302cd0c8f4abb',1,'grpc_sopb_add_metadata(grpc_stream_op_buffer *sopb, grpc_metadata_batch metadata): stream_op.c'],['../stream__op_8c.html#aea2cbf38a752864f62dc8d2cdc58a50a',1,'grpc_sopb_add_metadata(grpc_stream_op_buffer *sopb, grpc_metadata_batch b): stream_op.c']]], + ['grpc_5fsopb_5fadd_5fno_5fop',['grpc_sopb_add_no_op',['../stream__op_8h.html#abe45d7a6778fc0e248e490dfb635d850',1,'grpc_sopb_add_no_op(grpc_stream_op_buffer *sopb): stream_op.c'],['../stream__op_8c.html#abe45d7a6778fc0e248e490dfb635d850',1,'grpc_sopb_add_no_op(grpc_stream_op_buffer *sopb): stream_op.c']]], + ['grpc_5fsopb_5fadd_5fslice',['grpc_sopb_add_slice',['../stream__op_8h.html#aa2a412545fb6bb4055f3437f1d261f69',1,'grpc_sopb_add_slice(grpc_stream_op_buffer *sopb, gpr_slice slice): stream_op.c'],['../stream__op_8c.html#aa2a412545fb6bb4055f3437f1d261f69',1,'grpc_sopb_add_slice(grpc_stream_op_buffer *sopb, gpr_slice slice): stream_op.c']]], + ['grpc_5fsopb_5fappend',['grpc_sopb_append',['../stream__op_8h.html#a55100e31b3cc23733ba42bb5e2f38818',1,'grpc_sopb_append(grpc_stream_op_buffer *sopb, grpc_stream_op *ops, size_t nops): stream_op.c'],['../stream__op_8c.html#a55100e31b3cc23733ba42bb5e2f38818',1,'grpc_sopb_append(grpc_stream_op_buffer *sopb, grpc_stream_op *ops, size_t nops): stream_op.c']]], + ['grpc_5fsopb_5fdestroy',['grpc_sopb_destroy',['../stream__op_8h.html#aef34bb8bc5d02c10304fa93de76604d1',1,'grpc_sopb_destroy(grpc_stream_op_buffer *sopb): stream_op.c'],['../stream__op_8c.html#aef34bb8bc5d02c10304fa93de76604d1',1,'grpc_sopb_destroy(grpc_stream_op_buffer *sopb): stream_op.c']]], + ['grpc_5fsopb_5finit',['grpc_sopb_init',['../stream__op_8h.html#ac06c5c016030ab760ce1c190ea9c0935',1,'grpc_sopb_init(grpc_stream_op_buffer *sopb): stream_op.c'],['../stream__op_8c.html#ac06c5c016030ab760ce1c190ea9c0935',1,'grpc_sopb_init(grpc_stream_op_buffer *sopb): stream_op.c']]], + ['grpc_5fsopb_5finline_5felements',['GRPC_SOPB_INLINE_ELEMENTS',['../stream__op_8h.html#a3fc30a237ae8cb1eb4b9925a1835b8ca',1,'stream_op.h']]], + ['grpc_5fsopb_5fmove_5fto',['grpc_sopb_move_to',['../stream__op_8h.html#abf812a361634fee304b636fccde7c934',1,'grpc_sopb_move_to(grpc_stream_op_buffer *src, grpc_stream_op_buffer *dst): stream_op.c'],['../stream__op_8c.html#abf812a361634fee304b636fccde7c934',1,'grpc_sopb_move_to(grpc_stream_op_buffer *src, grpc_stream_op_buffer *dst): stream_op.c']]], + ['grpc_5fsopb_5freset',['grpc_sopb_reset',['../stream__op_8h.html#a9ee9a1ac0aaa49250f4e6cbc78a88b8e',1,'grpc_sopb_reset(grpc_stream_op_buffer *sopb): stream_op.c'],['../stream__op_8c.html#a9ee9a1ac0aaa49250f4e6cbc78a88b8e',1,'grpc_sopb_reset(grpc_stream_op_buffer *sopb): stream_op.c']]], + ['grpc_5fsopb_5fstring',['grpc_sopb_string',['../stream__op_8h.html#a225a70176577da4097ecad0b8c647fee',1,'grpc_sopb_string(grpc_stream_op_buffer *sopb): transport_op_string.c'],['../transport__op__string_8c.html#a225a70176577da4097ecad0b8c647fee',1,'grpc_sopb_string(grpc_stream_op_buffer *sopb): transport_op_string.c']]], + ['grpc_5fsopb_5fswap',['grpc_sopb_swap',['../stream__op_8h.html#a2cb541de7ea2c0e11ab9bc199fd6eeeb',1,'grpc_sopb_swap(grpc_stream_op_buffer *a, grpc_stream_op_buffer *b): stream_op.c'],['../stream__op_8c.html#a2cb541de7ea2c0e11ab9bc199fd6eeeb',1,'grpc_sopb_swap(grpc_stream_op_buffer *a, grpc_stream_op_buffer *b): stream_op.c']]], + ['grpc_5fspecialized_5fwakeup_5ffd_5fvtable',['grpc_specialized_wakeup_fd_vtable',['../wakeup__fd__posix_8h.html#a5f252ab892107e6a1150ca77c1200e42',1,'wakeup_fd_posix.h']]], + ['grpc_5fssl_5fchannel_5fsecurity_5fconnector',['grpc_ssl_channel_security_connector',['../structgrpc__ssl__channel__security__connector.html',1,'']]], + ['grpc_5fssl_5fchannel_5fsecurity_5fconnector_5fcreate',['grpc_ssl_channel_security_connector_create',['../security__connector_8h.html#a6db43510beb4d3953f572cbe203c164d',1,'grpc_ssl_channel_security_connector_create(grpc_credentials *request_metadata_creds, const grpc_ssl_config *config, const char *target_name, const char *overridden_target_name, grpc_channel_security_connector **sc): security_connector.c'],['../security__connector_8c.html#a6db43510beb4d3953f572cbe203c164d',1,'grpc_ssl_channel_security_connector_create(grpc_credentials *request_metadata_creds, const grpc_ssl_config *config, const char *target_name, const char *overridden_target_name, grpc_channel_security_connector **sc): security_connector.c']]], + ['grpc_5fssl_5fcipher_5fsuites',['GRPC_SSL_CIPHER_SUITES',['../security__connector_8c.html#ab67f630ea3179d8d418fddcdc0deef5c',1,'security_connector.c']]], + ['grpc_5fssl_5fconfig',['grpc_ssl_config',['../structgrpc__ssl__config.html',1,'']]], + ['grpc_5fssl_5fcredentials',['grpc_ssl_credentials',['../structgrpc__ssl__credentials.html',1,'']]], + ['grpc_5fssl_5fcredentials_5fcreate',['grpc_ssl_credentials_create',['../grpc__security_8h.html#a0d627ca897718091e4ceca5dce3ef10e',1,'grpc_ssl_credentials_create(const char *pem_root_certs, grpc_ssl_pem_key_cert_pair *pem_key_cert_pair): credentials.c'],['../credentials_8c.html#a0d627ca897718091e4ceca5dce3ef10e',1,'grpc_ssl_credentials_create(const char *pem_root_certs, grpc_ssl_pem_key_cert_pair *pem_key_cert_pair): credentials.c']]], + ['grpc_5fssl_5fpem_5fkey_5fcert_5fpair',['grpc_ssl_pem_key_cert_pair',['../structgrpc__ssl__pem__key__cert__pair.html',1,'']]], + ['grpc_5fssl_5fserver_5fconfig',['grpc_ssl_server_config',['../structgrpc__ssl__server__config.html',1,'']]], + ['grpc_5fssl_5fserver_5fcredentials',['grpc_ssl_server_credentials',['../structgrpc__ssl__server__credentials.html',1,'']]], + ['grpc_5fssl_5fserver_5fcredentials_5fcreate',['grpc_ssl_server_credentials_create',['../grpc__security_8h.html#a3382907a4689c034a6f55bab4d5135b9',1,'grpc_ssl_server_credentials_create(const char *pem_root_certs, grpc_ssl_pem_key_cert_pair *pem_key_cert_pairs, size_t num_key_cert_pairs, int force_client_auth): credentials.c'],['../credentials_8c.html#a3382907a4689c034a6f55bab4d5135b9',1,'grpc_ssl_server_credentials_create(const char *pem_root_certs, grpc_ssl_pem_key_cert_pair *pem_key_cert_pairs, size_t num_key_cert_pairs, int force_client_auth): credentials.c']]], + ['grpc_5fssl_5fserver_5fsecurity_5fconnector',['grpc_ssl_server_security_connector',['../structgrpc__ssl__server__security__connector.html',1,'']]], + ['grpc_5fssl_5fserver_5fsecurity_5fconnector_5fcreate',['grpc_ssl_server_security_connector_create',['../security__connector_8h.html#af0fc288920d58432af4285ec56251248',1,'grpc_ssl_server_security_connector_create(const grpc_ssl_server_config *config, grpc_security_connector **sc): security_connector.c'],['../security__connector_8c.html#af0fc288920d58432af4285ec56251248',1,'grpc_ssl_server_security_connector_create(const grpc_ssl_server_config *config, grpc_security_connector **sc): security_connector.c']]], + ['grpc_5fssl_5ftarget_5fname_5foverride_5farg',['GRPC_SSL_TARGET_NAME_OVERRIDE_ARG',['../grpc__security_8h.html#a218bf55b665134a11baf07ada5980825',1,'grpc_security.h']]], + ['grpc_5fssl_5ftransport_5fsecurity_5ftype',['GRPC_SSL_TRANSPORT_SECURITY_TYPE',['../grpc__security_8h.html#a35a35c597b7090b8ac7e2d854c9bcc7a',1,'grpc_security.h']]], + ['grpc_5fssl_5furl_5fscheme',['GRPC_SSL_URL_SCHEME',['../security__connector_8h.html#a9e0af76d139286bef4c720bde3a7a6c0',1,'security_connector.h']]], + ['grpc_5fstatus_5f_5fdo_5fnot_5fuse',['GRPC_STATUS__DO_NOT_USE',['../status_8h.html#a35ab2a68917eb836de84cb23253108ebab924d4c4c646bdb3130162b8e359dd96',1,'status.h']]], + ['grpc_5fstatus_5faborted',['GRPC_STATUS_ABORTED',['../status_8h.html#a35ab2a68917eb836de84cb23253108eba3570bc43d5eb08c95a7f4c24c13010d9',1,'status.h']]], + ['grpc_5fstatus_5falready_5fexists',['GRPC_STATUS_ALREADY_EXISTS',['../status_8h.html#a35ab2a68917eb836de84cb23253108ebad357565db8655b6635fae96a11c4009b',1,'status.h']]], + ['grpc_5fstatus_5fcancelled',['GRPC_STATUS_CANCELLED',['../status_8h.html#a35ab2a68917eb836de84cb23253108eba30e6e0c37df1389dd4c460a53f831038',1,'status.h']]], + ['grpc_5fstatus_5fcode',['grpc_status_code',['../status_8h.html#a35ab2a68917eb836de84cb23253108eb',1,'status.h']]], + ['grpc_5fstatus_5fdata_5floss',['GRPC_STATUS_DATA_LOSS',['../status_8h.html#a35ab2a68917eb836de84cb23253108eba275db05856f4af884c48e86440414db7',1,'status.h']]], + ['grpc_5fstatus_5fdeadline_5fexceeded',['GRPC_STATUS_DEADLINE_EXCEEDED',['../status_8h.html#a35ab2a68917eb836de84cb23253108eba5451711361db6b8d8e80be30cbb1a208',1,'status.h']]], + ['grpc_5fstatus_5felem',['grpc_status_elem',['../structgrpc__channel.html#ad50abb90c5f7ef77e51f8387b06451f9',1,'grpc_channel']]], + ['grpc_5fstatus_5ffailed_5fprecondition',['GRPC_STATUS_FAILED_PRECONDITION',['../status_8h.html#a35ab2a68917eb836de84cb23253108eba503abd183544b43a83bc01d999adda5f',1,'status.h']]], + ['grpc_5fstatus_5finternal',['GRPC_STATUS_INTERNAL',['../status_8h.html#a35ab2a68917eb836de84cb23253108ebae648dab84c58ef5b1cfeea35867c4520',1,'status.h']]], + ['grpc_5fstatus_5finvalid_5fargument',['GRPC_STATUS_INVALID_ARGUMENT',['../status_8h.html#a35ab2a68917eb836de84cb23253108eba3dd64296110db7e7fafb1062b5587731',1,'status.h']]], + ['grpc_5fstatus_5fnot_5ffound',['GRPC_STATUS_NOT_FOUND',['../status_8h.html#a35ab2a68917eb836de84cb23253108ebafdf14cb6f2da868d76b209ac490c14e2',1,'status.h']]], + ['grpc_5fstatus_5fok',['GRPC_STATUS_OK',['../status_8h.html#a35ab2a68917eb836de84cb23253108eba9da5601150b267ab5509d151fa7df201',1,'status.h']]], + ['grpc_5fstatus_5fout_5fof_5frange',['GRPC_STATUS_OUT_OF_RANGE',['../status_8h.html#a35ab2a68917eb836de84cb23253108ebacd0d05ab2f0af48b0f535c3dd0816d9b',1,'status.h']]], + ['grpc_5fstatus_5fpermission_5fdenied',['GRPC_STATUS_PERMISSION_DENIED',['../status_8h.html#a35ab2a68917eb836de84cb23253108eba4149925007957bf1a04184d88e8293f4',1,'status.h']]], + ['grpc_5fstatus_5fresource_5fexhausted',['GRPC_STATUS_RESOURCE_EXHAUSTED',['../status_8h.html#a35ab2a68917eb836de84cb23253108ebab1a76cb91e6992f6f7a31a7fe862e0e9',1,'status.h']]], + ['grpc_5fstatus_5fstring',['grpc_status_string',['../structgrpc__channel.html#a4b3d99e4664ffe3399d29f61f7063600',1,'grpc_channel']]], + ['grpc_5fstatus_5funauthenticated',['GRPC_STATUS_UNAUTHENTICATED',['../status_8h.html#a35ab2a68917eb836de84cb23253108eba1a6fd47361ad9298879dd8760ca1a0cb',1,'status.h']]], + ['grpc_5fstatus_5funavailable',['GRPC_STATUS_UNAVAILABLE',['../status_8h.html#a35ab2a68917eb836de84cb23253108ebaad91b67998cb5df7bc6821e362189e79',1,'status.h']]], + ['grpc_5fstatus_5funimplemented',['GRPC_STATUS_UNIMPLEMENTED',['../status_8h.html#a35ab2a68917eb836de84cb23253108eba6912537b4dfd1030f50ff2f5448f1bc2',1,'status.h']]], + ['grpc_5fstatus_5funknown',['GRPC_STATUS_UNKNOWN',['../status_8h.html#a35ab2a68917eb836de84cb23253108eba5f02c0e431162618ab422d27fd39dd08',1,'status.h']]], + ['grpc_5fstream',['grpc_stream',['../transport_8h.html#a76b37030fedc90baec5ff0f15c3e8449',1,'transport.h']]], + ['grpc_5fstream_5fclosed',['GRPC_STREAM_CLOSED',['../transport_8h.html#a5988f9c4b3b23409cda5a38636d97f7bab7718622aee58dee9b907c2fcddb6362',1,'transport.h']]], + ['grpc_5fstream_5fop',['grpc_stream_op',['../structgrpc__stream__op.html',1,'grpc_stream_op'],['../stream__op_8h.html#aca8c5433826e85b51970530c1c8ce127',1,'grpc_stream_op(): stream_op.h']]], + ['grpc_5fstream_5fop_5fbuffer',['grpc_stream_op_buffer',['../structgrpc__stream__op__buffer.html',1,'grpc_stream_op_buffer'],['../stream__op_8h.html#a1adfdd2ef9e01a35217bb00ca27c48c5',1,'grpc_stream_op_buffer(): stream_op.h']]], + ['grpc_5fstream_5fop_5fcode',['grpc_stream_op_code',['../stream__op_8h.html#af16e06eb1edfe4d93509276f32ed3804',1,'grpc_stream_op_code(): stream_op.h'],['../stream__op_8h.html#aae7f77961eb1741340666865ab0c5fc7',1,'grpc_stream_op_code(): stream_op.h']]], + ['grpc_5fstream_5fopen',['GRPC_STREAM_OPEN',['../transport_8h.html#a5988f9c4b3b23409cda5a38636d97f7bad87b11b225b4dca8033c118a6f702a76',1,'transport.h']]], + ['grpc_5fstream_5fops_5funref_5fowned_5fobjects',['grpc_stream_ops_unref_owned_objects',['../stream__op_8h.html#af06b21376669ed6bf358f50a57e02d9d',1,'grpc_stream_ops_unref_owned_objects(grpc_stream_op *ops, size_t nops): stream_op.c'],['../stream__op_8c.html#af06b21376669ed6bf358f50a57e02d9d',1,'grpc_stream_ops_unref_owned_objects(grpc_stream_op *ops, size_t nops): stream_op.c']]], + ['grpc_5fstream_5frecv_5fclosed',['GRPC_STREAM_RECV_CLOSED',['../transport_8h.html#a5988f9c4b3b23409cda5a38636d97f7ba2454a23efac387974577cd0010e34ec7',1,'transport.h']]], + ['grpc_5fstream_5fsend_5fclosed',['GRPC_STREAM_SEND_CLOSED',['../transport_8h.html#a5988f9c4b3b23409cda5a38636d97f7ba41615571ecc19b7f29d5108cb68bc10a',1,'transport.h']]], + ['grpc_5fstream_5fstate',['grpc_stream_state',['../transport_8h.html#a5988f9c4b3b23409cda5a38636d97f7b',1,'grpc_stream_state(): transport.h'],['../transport_8h.html#ad2bffd8c4adc3f1131752a17710d8477',1,'grpc_stream_state(): transport.h']]], + ['grpc_5fsubchannel',['grpc_subchannel',['../structgrpc__subchannel.html',1,'grpc_subchannel'],['../subchannel_8h.html#a6d36bd247fd79f7c8a2788d04f622a06',1,'grpc_subchannel(): subchannel.h']]], + ['grpc_5fsubchannel_5fadd_5finterested_5fparty',['grpc_subchannel_add_interested_party',['../subchannel_8h.html#aca094f578fdc81ffc9ec8ea80b9c5579',1,'grpc_subchannel_add_interested_party(grpc_subchannel *channel, grpc_pollset *pollset): subchannel.c'],['../subchannel_8c.html#ad64aa215ea81487204c6598b4f1572ae',1,'grpc_subchannel_add_interested_party(grpc_subchannel *c, grpc_pollset *pollset): subchannel.c']]], + ['grpc_5fsubchannel_5fargs',['grpc_subchannel_args',['../structgrpc__subchannel__args.html',1,'grpc_subchannel_args'],['../subchannel_8h.html#a1ef8f51fcaea0bb29010f164b4429a55',1,'grpc_subchannel_args(): subchannel.h']]], + ['grpc_5fsubchannel_5fcall',['grpc_subchannel_call',['../structgrpc__subchannel__call.html',1,'grpc_subchannel_call'],['../subchannel_8h.html#a007a93252a4a76631336ab840c18ee7d',1,'grpc_subchannel_call(): subchannel.h']]], + ['grpc_5fsubchannel_5fcall_5fget_5fpeer',['grpc_subchannel_call_get_peer',['../subchannel_8h.html#ac07bb9b75d7587847d5792ed6ad7e616',1,'grpc_subchannel_call_get_peer(grpc_subchannel_call *subchannel_call): subchannel.c'],['../subchannel_8c.html#a552e894b75a9a67f00e4ae312a94cc00',1,'grpc_subchannel_call_get_peer(grpc_subchannel_call *call): subchannel.c']]], + ['grpc_5fsubchannel_5fcall_5fprocess_5fop',['grpc_subchannel_call_process_op',['../subchannel_8h.html#a30ba75352b07c1e77a4253585c03f1ad',1,'grpc_subchannel_call_process_op(grpc_subchannel_call *subchannel_call, grpc_transport_stream_op *op): subchannel.c'],['../subchannel_8c.html#a0128c4e7cd5939061ea02780e5fa33ae',1,'grpc_subchannel_call_process_op(grpc_subchannel_call *call, grpc_transport_stream_op *op): subchannel.c']]], + ['grpc_5fsubchannel_5fcall_5fref',['grpc_subchannel_call_ref',['../subchannel_8h.html#a1d1fd9b9b9d0759dec2c43b4d2697a93',1,'grpc_subchannel_call_ref(grpc_subchannel_call *call): subchannel.h'],['../subchannel_8c.html#abb8369d0ae5d3be4e25e9c300ef50067',1,'grpc_subchannel_call_ref(grpc_subchannel_call *c GRPC_SUBCHANNEL_REF_EXTRA_ARGS): subchannel.c'],['../subchannel_8h.html#aa0f8df565952fc5504c9658b426c64a7',1,'GRPC_SUBCHANNEL_CALL_REF(): subchannel.h']]], + ['grpc_5fsubchannel_5fcall_5funref',['grpc_subchannel_call_unref',['../subchannel_8h.html#a7eaea7934724bc8d7023eb3efe58fb53',1,'grpc_subchannel_call_unref(grpc_subchannel_call *call): subchannel.h'],['../subchannel_8c.html#a179d2915801ed037ca90a4de0f7ce060',1,'grpc_subchannel_call_unref(grpc_subchannel_call *c GRPC_SUBCHANNEL_REF_EXTRA_ARGS): subchannel.c'],['../subchannel_8h.html#a5d26bb43a6c7a1d40d130c7dd08b4ca8',1,'GRPC_SUBCHANNEL_CALL_UNREF(): subchannel.h']]], + ['grpc_5fsubchannel_5fcheck_5fconnectivity',['grpc_subchannel_check_connectivity',['../subchannel_8h.html#a4a2f6ba6b1204e3bf20af7fc5b68f709',1,'grpc_subchannel_check_connectivity(grpc_subchannel *channel): subchannel.c'],['../subchannel_8c.html#a92711f9b7c8df9415249685a9c91f2c9',1,'grpc_subchannel_check_connectivity(grpc_subchannel *c): subchannel.c']]], + ['grpc_5fsubchannel_5fcreate',['grpc_subchannel_create',['../subchannel_8h.html#a5220a721bb5ad91bffbddd12045efff8',1,'grpc_subchannel_create(grpc_connector *connector, grpc_subchannel_args *args): subchannel.c'],['../subchannel_8c.html#a5220a721bb5ad91bffbddd12045efff8',1,'grpc_subchannel_create(grpc_connector *connector, grpc_subchannel_args *args): subchannel.c']]], + ['grpc_5fsubchannel_5fcreate_5fcall',['grpc_subchannel_create_call',['../subchannel_8h.html#a54000749034854e53ac2b09ff563ea2d',1,'grpc_subchannel_create_call(grpc_subchannel *subchannel, grpc_pollset *pollset, grpc_subchannel_call **target, grpc_iomgr_closure *notify): subchannel.c'],['../subchannel_8c.html#aa6b5c676351c4f7f33b903549edab3b7',1,'grpc_subchannel_create_call(grpc_subchannel *c, grpc_pollset *pollset, grpc_subchannel_call **target, grpc_iomgr_closure *notify): subchannel.c']]], + ['grpc_5fsubchannel_5fdel_5finterested_5fparty',['grpc_subchannel_del_interested_party',['../subchannel_8h.html#aa8ea5c658e34de467db80c269231e676',1,'grpc_subchannel_del_interested_party(grpc_subchannel *channel, grpc_pollset *pollset): subchannel.c'],['../subchannel_8c.html#a72bfe59d8ad11465896034281729279b',1,'grpc_subchannel_del_interested_party(grpc_subchannel *c, grpc_pollset *pollset): subchannel.c']]], + ['grpc_5fsubchannel_5ffactory',['grpc_subchannel_factory',['../structgrpc__subchannel__factory.html',1,'grpc_subchannel_factory'],['../subchannel__factory_8h.html#a0881f059aa8f26e71eb479eed9d06785',1,'grpc_subchannel_factory(): subchannel_factory.h']]], + ['grpc_5fsubchannel_5ffactory_5fadd_5fchannel_5farg',['grpc_subchannel_factory_add_channel_arg',['../add__channel__arg_8h.html#aec70a5daa15f33d18edc47ebc0270c34',1,'grpc_subchannel_factory_add_channel_arg(grpc_subchannel_factory *input, const grpc_arg *arg): add_channel_arg.c'],['../add__channel__arg_8c.html#aec70a5daa15f33d18edc47ebc0270c34',1,'grpc_subchannel_factory_add_channel_arg(grpc_subchannel_factory *input, const grpc_arg *arg): add_channel_arg.c']]], + ['grpc_5fsubchannel_5ffactory_5fcreate_5fsubchannel',['grpc_subchannel_factory_create_subchannel',['../subchannel__factory_8h.html#a50ecfa3c06af1f867684d3c238cedf20',1,'grpc_subchannel_factory_create_subchannel(grpc_subchannel_factory *factory, grpc_subchannel_args *args): subchannel_factory.c'],['../subchannel__factory_8c.html#a50ecfa3c06af1f867684d3c238cedf20',1,'grpc_subchannel_factory_create_subchannel(grpc_subchannel_factory *factory, grpc_subchannel_args *args): subchannel_factory.c']]], + ['grpc_5fsubchannel_5ffactory_5fmerge_5fchannel_5fargs',['grpc_subchannel_factory_merge_channel_args',['../merge__channel__args_8h.html#a4dc574355128feee36ad9500f9ae8cc0',1,'grpc_subchannel_factory_merge_channel_args(grpc_subchannel_factory *input, const grpc_channel_args *args): merge_channel_args.c'],['../merge__channel__args_8c.html#a4dc574355128feee36ad9500f9ae8cc0',1,'grpc_subchannel_factory_merge_channel_args(grpc_subchannel_factory *input, const grpc_channel_args *args): merge_channel_args.c']]], + ['grpc_5fsubchannel_5ffactory_5fref',['grpc_subchannel_factory_ref',['../subchannel__factory_8h.html#a6486ef54aa6fe37d4fe5b7c53aed9a84',1,'grpc_subchannel_factory_ref(grpc_subchannel_factory *factory): subchannel_factory.c'],['../subchannel__factory_8c.html#a6486ef54aa6fe37d4fe5b7c53aed9a84',1,'grpc_subchannel_factory_ref(grpc_subchannel_factory *factory): subchannel_factory.c']]], + ['grpc_5fsubchannel_5ffactory_5funref',['grpc_subchannel_factory_unref',['../subchannel__factory_8h.html#ac502341f23676007c8ccd5338f942e82',1,'grpc_subchannel_factory_unref(grpc_subchannel_factory *factory): subchannel_factory.c'],['../subchannel__factory_8c.html#ac502341f23676007c8ccd5338f942e82',1,'grpc_subchannel_factory_unref(grpc_subchannel_factory *factory): subchannel_factory.c']]], + ['grpc_5fsubchannel_5ffactory_5fvtable',['grpc_subchannel_factory_vtable',['../structgrpc__subchannel__factory__vtable.html',1,'grpc_subchannel_factory_vtable'],['../subchannel__factory_8h.html#a032cc20ff8747dbc985aa2b85b8f7abf',1,'grpc_subchannel_factory_vtable(): subchannel_factory.h']]], + ['grpc_5fsubchannel_5finitial_5fconnect_5fbackoff_5fseconds',['GRPC_SUBCHANNEL_INITIAL_CONNECT_BACKOFF_SECONDS',['../subchannel_8c.html#ab2916ffabb6e97931795c0cb17d5b1a0',1,'subchannel.c']]], + ['grpc_5fsubchannel_5fmin_5fconnect_5ftimeout_5fseconds',['GRPC_SUBCHANNEL_MIN_CONNECT_TIMEOUT_SECONDS',['../subchannel_8c.html#a4a297a5d3477460e802c804a945cfb4e',1,'subchannel.c']]], + ['grpc_5fsubchannel_5fnotify_5fon_5fstate_5fchange',['grpc_subchannel_notify_on_state_change',['../subchannel_8h.html#abb2ba4bcf7187525c26d3cc25a3a3776',1,'grpc_subchannel_notify_on_state_change(grpc_subchannel *channel, grpc_connectivity_state *state, grpc_iomgr_closure *notify): subchannel.c'],['../subchannel_8c.html#ac2e59a5c3a44ba0827b27ccba866389b',1,'grpc_subchannel_notify_on_state_change(grpc_subchannel *c, grpc_connectivity_state *state, grpc_iomgr_closure *notify): subchannel.c']]], + ['grpc_5fsubchannel_5fprocess_5ftransport_5fop',['grpc_subchannel_process_transport_op',['../subchannel_8h.html#ad24914ea93274b1494a42420e853e4e1',1,'grpc_subchannel_process_transport_op(grpc_subchannel *subchannel, grpc_transport_op *op): subchannel.c'],['../subchannel_8c.html#a9b95251da4779ae913c33f380a1c33c4',1,'grpc_subchannel_process_transport_op(grpc_subchannel *c, grpc_transport_op *op): subchannel.c']]], + ['grpc_5fsubchannel_5freconnect_5fbackoff_5fmultiplier',['GRPC_SUBCHANNEL_RECONNECT_BACKOFF_MULTIPLIER',['../subchannel_8c.html#ad1761b478eb46b24379e6d5a9edd30af',1,'subchannel.c']]], + ['grpc_5fsubchannel_5freconnect_5fjitter',['GRPC_SUBCHANNEL_RECONNECT_JITTER',['../subchannel_8c.html#a9775a74d61f54cd0537630b9b7118802',1,'subchannel.c']]], + ['grpc_5fsubchannel_5freconnect_5fmax_5fbackoff_5fseconds',['GRPC_SUBCHANNEL_RECONNECT_MAX_BACKOFF_SECONDS',['../subchannel_8c.html#ad021f6795743d8163fff68703ffb663b',1,'subchannel.c']]], + ['grpc_5fsubchannel_5fref',['GRPC_SUBCHANNEL_REF',['../subchannel_8h.html#a7a3f5a07d6d6ca7864d0b571a2675d15',1,'GRPC_SUBCHANNEL_REF(): subchannel.h'],['../subchannel_8h.html#a3d6c37ca330ab08c065c1210b67f94e4',1,'grpc_subchannel_ref(grpc_subchannel *channel): subchannel.h'],['../subchannel_8c.html#a5c7cfbbc599fe46465b5f0c9952af323',1,'grpc_subchannel_ref(grpc_subchannel *c GRPC_SUBCHANNEL_REF_EXTRA_ARGS): subchannel.c']]], + ['grpc_5fsubchannel_5fref_5fextra_5fargs',['GRPC_SUBCHANNEL_REF_EXTRA_ARGS',['../subchannel_8h.html#aabb025f64b5de653dc110d17add28e74',1,'subchannel.h']]], + ['grpc_5fsubchannel_5funref',['grpc_subchannel_unref',['../subchannel_8h.html#af61898f3a0ac79fa0c64d6dcbe32ff59',1,'grpc_subchannel_unref(grpc_subchannel *channel): subchannel.h'],['../subchannel_8c.html#a0afd3a137c42f46e285b7c7d0b7b657f',1,'grpc_subchannel_unref(grpc_subchannel *c GRPC_SUBCHANNEL_REF_EXTRA_ARGS): subchannel.c'],['../subchannel_8h.html#accf1481a1fe9acf1537f665705a60d4c',1,'GRPC_SUBCHANNEL_UNREF(): subchannel.h']]], + ['grpc_5fsurface_5ftrace',['grpc_surface_trace',['../surface__trace_8h.html#aa4f3485a1e8307d80c59a22e5b20f7a5',1,'grpc_surface_trace(): surface_trace.c'],['../surface__trace_8c.html#aa4f3485a1e8307d80c59a22e5b20f7a5',1,'grpc_surface_trace(): surface_trace.c']]], + ['grpc_5fsurface_5ftrace_5freturned_5fevent',['GRPC_SURFACE_TRACE_RETURNED_EVENT',['../surface__trace_8h.html#ab6bd5be00afe2369bd1b63e13ab6197d',1,'surface_trace.h']]], + ['grpc_5ftcp_5fclient_5fconnect',['grpc_tcp_client_connect',['../tcp__client_8h.html#a086207583509b040c4fff779333468cd',1,'tcp_client.h']]], + ['grpc_5ftcp_5fcreate',['grpc_tcp_create',['../tcp__posix_8h.html#aeb6bcf2634d72073806a1e6ab12bbc05',1,'grpc_tcp_create(grpc_fd *fd, size_t read_slice_size, const char *peer_string): tcp_posix.h'],['../tcp__windows_8h.html#a206a5b2cbaacb2b87bdf38c709714483',1,'grpc_tcp_create(grpc_winsocket *socket, char *peer_string): tcp_windows.h']]], + ['grpc_5ftcp_5fdefault_5fread_5fslice_5fsize',['GRPC_TCP_DEFAULT_READ_SLICE_SIZE',['../tcp__posix_8h.html#a1f91c3aec64a436d29051c8d415b1053',1,'tcp_posix.h']]], + ['grpc_5ftcp_5fprepare_5fsocket',['grpc_tcp_prepare_socket',['../tcp__windows_8h.html#a7b565022a9a4f019af40826e4937546c',1,'tcp_windows.h']]], + ['grpc_5ftcp_5fserver',['grpc_tcp_server',['../tcp__server_8h.html#a441eeedb58bf1fe1b656292b3c919e6d',1,'tcp_server.h']]], + ['grpc_5ftcp_5fserver_5fadd_5fport',['grpc_tcp_server_add_port',['../tcp__server_8h.html#a59a2b20ad1fc958839512edd26a598ae',1,'tcp_server.h']]], + ['grpc_5ftcp_5fserver_5fcb',['grpc_tcp_server_cb',['../tcp__server_8h.html#a78c33e7fded0e0a871be12e9f6c9a4c9',1,'tcp_server.h']]], + ['grpc_5ftcp_5fserver_5fcreate',['grpc_tcp_server_create',['../tcp__server_8h.html#a9acd9c36ef686dd76283b1a92954aff0',1,'tcp_server.h']]], + ['grpc_5ftcp_5fserver_5fdestroy',['grpc_tcp_server_destroy',['../tcp__server_8h.html#a4c674f461e0b92ebd6bb358eac04b772',1,'tcp_server.h']]], + ['grpc_5ftcp_5fserver_5fget_5ffd',['grpc_tcp_server_get_fd',['../tcp__server_8h.html#afd39e961ac244633e016980551ac7ed3',1,'tcp_server.h']]], + ['grpc_5ftcp_5fserver_5fstart',['grpc_tcp_server_start',['../tcp__server_8h.html#a552695c278adc52ba5433da5c57d5bd7',1,'tcp_server.h']]], + ['grpc_5ftcp_5ftrace',['grpc_tcp_trace',['../tcp__posix_8h.html#a72c0faa3524bfe76522d6ada920707eb',1,'tcp_posix.h']]], + ['grpc_5ftime_5faveraged_5fstats',['grpc_time_averaged_stats',['../structgrpc__time__averaged__stats.html',1,'']]], + ['grpc_5ftime_5faveraged_5fstats_5fadd_5fsample',['grpc_time_averaged_stats_add_sample',['../time__averaged__stats_8h.html#a3fc252070ff8ec7010c74774a042e54d',1,'grpc_time_averaged_stats_add_sample(grpc_time_averaged_stats *stats, double value): time_averaged_stats.c'],['../time__averaged__stats_8c.html#a3fc252070ff8ec7010c74774a042e54d',1,'grpc_time_averaged_stats_add_sample(grpc_time_averaged_stats *stats, double value): time_averaged_stats.c']]], + ['grpc_5ftime_5faveraged_5fstats_5finit',['grpc_time_averaged_stats_init',['../time__averaged__stats_8h.html#a9b6a0cb59dc0a3c179ae425525dcb4eb',1,'grpc_time_averaged_stats_init(grpc_time_averaged_stats *stats, double init_avg, double regress_weight, double persistence_factor): time_averaged_stats.c'],['../time__averaged__stats_8c.html#a9b6a0cb59dc0a3c179ae425525dcb4eb',1,'grpc_time_averaged_stats_init(grpc_time_averaged_stats *stats, double init_avg, double regress_weight, double persistence_factor): time_averaged_stats.c']]], + ['grpc_5ftime_5faveraged_5fstats_5fupdate_5faverage',['grpc_time_averaged_stats_update_average',['../time__averaged__stats_8h.html#a811009e64ef5f5b88021d5aa08ceaf26',1,'grpc_time_averaged_stats_update_average(grpc_time_averaged_stats *stats): time_averaged_stats.c'],['../time__averaged__stats_8c.html#a811009e64ef5f5b88021d5aa08ceaf26',1,'grpc_time_averaged_stats_update_average(grpc_time_averaged_stats *stats): time_averaged_stats.c']]], + ['grpc_5ftimer_5fadd_5fimportant_5fmark',['grpc_timer_add_important_mark',['../timers_8h.html#a86328e7d7fe3e9b15f5c9c3103f6f744',1,'timers.h']]], + ['grpc_5ftimer_5fadd_5fmark',['grpc_timer_add_mark',['../timers_8h.html#aeb9267f15f0db10c892ff52f8a5af746',1,'timers.h']]], + ['grpc_5ftimer_5fbegin',['grpc_timer_begin',['../timers_8h.html#a9ad8a62da486b38462306e41127231ea',1,'grpc_timer_begin(int tag, const char *tagstr, void *id, const char *file, int line): timers.h'],['../timers_8h.html#abf4cfef22d1c79525994ba224ac13dba',1,'GRPC_TIMER_BEGIN(): timers.h']]], + ['grpc_5ftimer_5fend',['grpc_timer_end',['../timers_8h.html#a810b9be124a21ed5c4066f2e74112e74',1,'grpc_timer_end(int tag, const char *tagstr, void *id, const char *file, int line): timers.h'],['../timers_8h.html#ada806da3afa32376e244dfeb65ec467b',1,'GRPC_TIMER_END(): timers.h']]], + ['grpc_5ftimer_5fimportant_5fmark',['GRPC_TIMER_IMPORTANT_MARK',['../timers_8h.html#a4de2bf5918f608b72f3c426e4a43e7c8',1,'timers.h']]], + ['grpc_5ftimer_5fmark',['GRPC_TIMER_MARK',['../timers_8h.html#acafc06612d7b046547ed80c18d519608',1,'timers.h']]], + ['grpc_5ftimers_5fglobal_5fdestroy',['grpc_timers_global_destroy',['../timers_8h.html#a3464d3fdd0cc9ab2543195d5ee3fec13',1,'grpc_timers_global_destroy(void): basic_timers.c'],['../basic__timers_8c.html#a3464d3fdd0cc9ab2543195d5ee3fec13',1,'grpc_timers_global_destroy(void): basic_timers.c']]], + ['grpc_5ftimers_5fglobal_5finit',['grpc_timers_global_init',['../timers_8h.html#ac34b4d619b9ed067e02e037b21a6feac',1,'grpc_timers_global_init(void): basic_timers.c'],['../basic__timers_8c.html#ac34b4d619b9ed067e02e037b21a6feac',1,'grpc_timers_global_init(void): basic_timers.c']]], + ['grpc_5ftrace_5fbatch',['grpc_trace_batch',['../call_8h.html#a9fa9c0e067be7cfea08021b019544382',1,'grpc_trace_batch(): call_log_batch.c'],['../call__log__batch_8c.html#a9fa9c0e067be7cfea08021b019544382',1,'grpc_trace_batch(): call_log_batch.c']]], + ['grpc_5ftrace_5fchannel',['grpc_trace_channel',['../channel__stack_8h.html#a7ee4da676e51ccc09f1e53fbf4d7e0d4',1,'grpc_trace_channel(): channel_stack.c'],['../channel__stack_8c.html#a7ee4da676e51ccc09f1e53fbf4d7e0d4',1,'grpc_trace_channel(): channel_stack.c']]], + ['grpc_5ftrace_5fsecure_5fendpoint',['grpc_trace_secure_endpoint',['../secure__endpoint_8h.html#a7778bdc8c40adac0dc536fe255b75fbd',1,'grpc_trace_secure_endpoint(): secure_endpoint.c'],['../secure__endpoint_8c.html#a7778bdc8c40adac0dc536fe255b75fbd',1,'grpc_trace_secure_endpoint(): secure_endpoint.c']]], + ['grpc_5ftracer_5finit',['grpc_tracer_init',['../trace_8h.html#a8cd8af9cbe35acc74eac3a19db0ef2e2',1,'grpc_tracer_init(const char *env_var_name): trace.c'],['../trace_8c.html#a6875f9ce4490e731d36e872ab1b7d580',1,'grpc_tracer_init(const char *env_var): trace.c']]], + ['grpc_5ftracer_5fset_5fenabled',['grpc_tracer_set_enabled',['../grpc_8h.html#ae6984d3f0c3b9bc9a47859fd4dddc350',1,'grpc_tracer_set_enabled(const char *name, int enabled): trace.c'],['../trace_8c.html#ae6984d3f0c3b9bc9a47859fd4dddc350',1,'grpc_tracer_set_enabled(const char *name, int enabled): trace.c']]], + ['grpc_5ftracer_5fshutdown',['grpc_tracer_shutdown',['../trace_8h.html#ad5ced3b2457db3a480e13e6e268543d2',1,'grpc_tracer_shutdown(void): trace.c'],['../trace_8c.html#ad5ced3b2457db3a480e13e6e268543d2',1,'grpc_tracer_shutdown(void): trace.c']]], + ['grpc_5ftransport',['grpc_transport',['../structgrpc__transport.html',1,'grpc_transport'],['../transport_8h.html#a7ba3f709ee3b451e434c67acf7fb7451',1,'grpc_transport(): transport.h']]], + ['grpc_5ftransport_5fclose',['grpc_transport_close',['../transport_8h.html#a55b3f0b2d31060a902aa7517cecc704e',1,'transport.h']]], + ['grpc_5ftransport_5fdestroy',['grpc_transport_destroy',['../transport_8h.html#adb3ef83552276a5161ff6733f8455ae1',1,'grpc_transport_destroy(grpc_transport *transport): transport.c'],['../transport_8c.html#adb3ef83552276a5161ff6733f8455ae1',1,'grpc_transport_destroy(grpc_transport *transport): transport.c']]], + ['grpc_5ftransport_5fdestroy_5fstream',['grpc_transport_destroy_stream',['../transport_8h.html#a21223037b0bc6a92a9e058e20be1b0af',1,'grpc_transport_destroy_stream(grpc_transport *transport, grpc_stream *stream): transport.c'],['../transport_8c.html#a21223037b0bc6a92a9e058e20be1b0af',1,'grpc_transport_destroy_stream(grpc_transport *transport, grpc_stream *stream): transport.c']]], + ['grpc_5ftransport_5fget_5fpeer',['grpc_transport_get_peer',['../transport_8h.html#ac32bf69379cb94e6f951a4ec45a6157e',1,'grpc_transport_get_peer(grpc_transport *transport): transport.c'],['../transport_8c.html#ac32bf69379cb94e6f951a4ec45a6157e',1,'grpc_transport_get_peer(grpc_transport *transport): transport.c']]], + ['grpc_5ftransport_5fgoaway',['grpc_transport_goaway',['../transport_8h.html#aea30a551f2d7a27edd9ddc9441523818',1,'transport.h']]], + ['grpc_5ftransport_5finit_5fstream',['grpc_transport_init_stream',['../transport_8h.html#aba013c9e53a24f223283fc78cb6ca6cc',1,'grpc_transport_init_stream(grpc_transport *transport, grpc_stream *stream, const void *server_data, grpc_transport_stream_op *initial_op): transport.c'],['../transport_8c.html#aba013c9e53a24f223283fc78cb6ca6cc',1,'grpc_transport_init_stream(grpc_transport *transport, grpc_stream *stream, const void *server_data, grpc_transport_stream_op *initial_op): transport.c']]], + ['grpc_5ftransport_5fop',['grpc_transport_op',['../structgrpc__transport__op.html',1,'grpc_transport_op'],['../transport_8h.html#aae32d98b458fa93adbe5959dbcd6a7bf',1,'grpc_transport_op(): transport.h']]], + ['grpc_5ftransport_5fperform_5fop',['grpc_transport_perform_op',['../transport_8h.html#ae52662de3568a1d961e60e83d28e2dc3',1,'grpc_transport_perform_op(grpc_transport *transport, grpc_transport_op *op): transport.c'],['../transport_8c.html#ae52662de3568a1d961e60e83d28e2dc3',1,'grpc_transport_perform_op(grpc_transport *transport, grpc_transport_op *op): transport.c']]], + ['grpc_5ftransport_5fperform_5fstream_5fop',['grpc_transport_perform_stream_op',['../transport_8h.html#a81c2ae26b7109481d4538b48c15d5b1b',1,'grpc_transport_perform_stream_op(grpc_transport *transport, grpc_stream *stream, grpc_transport_stream_op *op): transport.c'],['../transport_8c.html#a81c2ae26b7109481d4538b48c15d5b1b',1,'grpc_transport_perform_stream_op(grpc_transport *transport, grpc_stream *stream, grpc_transport_stream_op *op): transport.c']]], + ['grpc_5ftransport_5fping',['grpc_transport_ping',['../transport_8h.html#a0cd26899ca9b8bafd7a2ca6fe23e0bbc',1,'transport.h']]], + ['grpc_5ftransport_5fsecurity_5ftype_5fproperty_5fname',['GRPC_TRANSPORT_SECURITY_TYPE_PROPERTY_NAME',['../grpc__security_8h.html#aff82fdff9e7c40c4dd4bdc650e38e25a',1,'grpc_security.h']]], + ['grpc_5ftransport_5fstream_5fop',['grpc_transport_stream_op',['../structgrpc__transport__stream__op.html',1,'grpc_transport_stream_op'],['../transport_8h.html#a425321242c0f56ca08e74a4afcbdd017',1,'grpc_transport_stream_op(): transport.h']]], + ['grpc_5ftransport_5fstream_5fop_5fadd_5fcancellation',['grpc_transport_stream_op_add_cancellation',['../transport_8h.html#ad1deb9664db9760e156951542378fe11',1,'grpc_transport_stream_op_add_cancellation(grpc_transport_stream_op *op, grpc_status_code status, grpc_mdstr *message): transport.c'],['../transport_8c.html#ad1deb9664db9760e156951542378fe11',1,'grpc_transport_stream_op_add_cancellation(grpc_transport_stream_op *op, grpc_status_code status, grpc_mdstr *message): transport.c']]], + ['grpc_5ftransport_5fstream_5fop_5ffinish_5fwith_5ffailure',['grpc_transport_stream_op_finish_with_failure',['../transport_8h.html#ac5aa9757a292d71026279316979b8e40',1,'grpc_transport_stream_op_finish_with_failure(grpc_transport_stream_op *op): transport.c'],['../transport_8c.html#ac5aa9757a292d71026279316979b8e40',1,'grpc_transport_stream_op_finish_with_failure(grpc_transport_stream_op *op): transport.c']]], + ['grpc_5ftransport_5fstream_5fop_5fstring',['grpc_transport_stream_op_string',['../transport_8h.html#a058362edba570c120d125091b3c006d2',1,'grpc_transport_stream_op_string(grpc_transport_stream_op *op): transport_op_string.c'],['../transport__op__string_8c.html#a058362edba570c120d125091b3c006d2',1,'grpc_transport_stream_op_string(grpc_transport_stream_op *op): transport_op_string.c']]], + ['grpc_5ftransport_5fstream_5fsize',['grpc_transport_stream_size',['../transport_8h.html#a37d45eb0a1f7e25b4bf339a4ec5bc13d',1,'grpc_transport_stream_size(grpc_transport *transport): transport.c'],['../transport_8c.html#a37d45eb0a1f7e25b4bf339a4ec5bc13d',1,'grpc_transport_stream_size(grpc_transport *transport): transport.c']]], + ['grpc_5ftransport_5fvtable',['grpc_transport_vtable',['../structgrpc__transport__vtable.html',1,'grpc_transport_vtable'],['../transport__impl_8h.html#a4b1efd30e926ac7b61690b3f5c085aed',1,'grpc_transport_vtable(): transport_impl.h']]], + ['grpc_5furi',['grpc_uri',['../structgrpc__uri.html',1,'']]], + ['grpc_5furi_5fdestroy',['grpc_uri_destroy',['../uri__parser_8h.html#af4744a0a3c814548dbbecb79c4620ac1',1,'grpc_uri_destroy(grpc_uri *uri): uri_parser.c'],['../uri__parser_8c.html#af4744a0a3c814548dbbecb79c4620ac1',1,'grpc_uri_destroy(grpc_uri *uri): uri_parser.c']]], + ['grpc_5furi_5fparse',['grpc_uri_parse',['../uri__parser_8h.html#aef57f54325374603bb0510e8b8b5976d',1,'grpc_uri_parse(const char *uri_text, int suppress_errors): uri_parser.c'],['../uri__parser_8c.html#aef57f54325374603bb0510e8b8b5976d',1,'grpc_uri_parse(const char *uri_text, int suppress_errors): uri_parser.c']]], + ['grpc_5fversion_5fstring',['grpc_version_string',['../grpc_8h.html#a250ca547d790874bd7b5ceec25f18c51',1,'grpc_version_string(void): version.c'],['../version_8c.html#a250ca547d790874bd7b5ceec25f18c51',1,'grpc_version_string(void): version.c']]], + ['grpc_5fwakeup_5ffd_5fconsume_5fwakeup',['grpc_wakeup_fd_consume_wakeup',['../wakeup__fd__posix_8h.html#aeb453784dce582205f0f62ce2f812f6f',1,'wakeup_fd_posix.h']]], + ['grpc_5fwakeup_5ffd_5fcreate',['grpc_wakeup_fd_create',['../wakeup__fd__posix_8h.html#a1b37e7362bf286befb3c650fd305ce80',1,'wakeup_fd_posix.h']]], + ['grpc_5fwakeup_5ffd_5fdestroy',['grpc_wakeup_fd_destroy',['../wakeup__fd__posix_8h.html#ae388f6f609c1c335b43f4abaa589feef',1,'wakeup_fd_posix.h']]], + ['grpc_5fwakeup_5ffd_5fget_5fread_5ffd',['GRPC_WAKEUP_FD_GET_READ_FD',['../wakeup__fd__posix_8h.html#aa2c03135ade856e0b50c123d60dc50ff',1,'wakeup_fd_posix.h']]], + ['grpc_5fwakeup_5ffd_5fglobal_5fdestroy',['grpc_wakeup_fd_global_destroy',['../wakeup__fd__posix_8h.html#afe49a7b08cd7a2ab7c7b79e64dffbd7e',1,'wakeup_fd_posix.h']]], + ['grpc_5fwakeup_5ffd_5fglobal_5finit',['grpc_wakeup_fd_global_init',['../wakeup__fd__posix_8h.html#a8af9610dd3f2910fd4943f9d2719d8be',1,'wakeup_fd_posix.h']]], + ['grpc_5fwakeup_5ffd_5fglobal_5finit_5fforce_5ffallback',['grpc_wakeup_fd_global_init_force_fallback',['../wakeup__fd__posix_8h.html#af3bb107d5e350a9c0ea8f1bfaa281c55',1,'wakeup_fd_posix.h']]], + ['grpc_5fwakeup_5ffd_5finfo',['grpc_wakeup_fd_info',['../structgrpc__wakeup__fd__info.html',1,'grpc_wakeup_fd_info'],['../wakeup__fd__posix_8h.html#a5b7e6c1bff52dd231ecb17a6716c3815',1,'grpc_wakeup_fd_info(): wakeup_fd_posix.h']]], + ['grpc_5fwakeup_5ffd_5fvtable',['grpc_wakeup_fd_vtable',['../structgrpc__wakeup__fd__vtable.html',1,'grpc_wakeup_fd_vtable'],['../wakeup__fd__posix_8h.html#a6c0de4baf5c167e5e1b153bb89b77e3e',1,'grpc_wakeup_fd_vtable(): wakeup_fd_posix.h']]], + ['grpc_5fwakeup_5ffd_5fwakeup',['grpc_wakeup_fd_wakeup',['../wakeup__fd__posix_8h.html#aeff09cb231a31e1a4b900270a7c4cec8',1,'wakeup_fd_posix.h']]], + ['grpc_5fwinsocket',['grpc_winsocket',['../structgrpc__winsocket.html',1,'grpc_winsocket'],['../socket__windows_8h.html#a9ad80b9793b77151a20061cc13e96f6a',1,'grpc_winsocket(): socket_windows.h']]], + ['grpc_5fwinsocket_5fcallback_5finfo',['grpc_winsocket_callback_info',['../structgrpc__winsocket__callback__info.html',1,'grpc_winsocket_callback_info'],['../socket__windows_8h.html#a672778b37972213ae3db8f3ba876cadc',1,'grpc_winsocket_callback_info(): socket_windows.h']]], + ['grpc_5fwinsocket_5fcreate',['grpc_winsocket_create',['../socket__windows_8h.html#acef52dee2469e1614f30d72e9e18086e',1,'socket_windows.h']]], + ['grpc_5fwinsocket_5fdestroy',['grpc_winsocket_destroy',['../socket__windows_8h.html#a6a25824d9aa9563aee6eabb13b8e8d70',1,'socket_windows.h']]], + ['grpc_5fwinsocket_5forphan',['grpc_winsocket_orphan',['../socket__windows_8h.html#a9430d55bc26c3eb353f62ee3e290fee1',1,'socket_windows.h']]], + ['grpc_5fwinsocket_5fshutdown',['grpc_winsocket_shutdown',['../socket__windows_8h.html#a5112cf5e8f22aa650f776748f9a34395',1,'socket_windows.h']]], + ['grpc_5fwrite_5fbuffer_5fhint',['GRPC_WRITE_BUFFER_HINT',['../grpc_8h.html#adf29fd8b7df2ecc47d14a7f5a3a079c0',1,'grpc.h']]], + ['grpc_5fwrite_5finternal_5fcompress',['GRPC_WRITE_INTERNAL_COMPRESS',['../stream__op_8h.html#a9d51ace7a6bdbf212ee6843952977c35',1,'stream_op.h']]], + ['grpc_5fwrite_5finternal_5fused_5fmask',['GRPC_WRITE_INTERNAL_USED_MASK',['../stream__op_8h.html#a7acab698fedc01eca6138c3e30056ff1',1,'stream_op.h']]], + ['grpc_5fwrite_5fno_5fcompress',['GRPC_WRITE_NO_COMPRESS',['../grpc_8h.html#ae09000181671f031ed0e319ed557da4e',1,'grpc.h']]], + ['grpc_5fwrite_5fstate_5fopen',['GRPC_WRITE_STATE_OPEN',['../internal_8h.html#a3b93cb6f95aff10ba74b6aa06d7e99cca0fe604e577783cbae2a2c88221278883',1,'internal.h']]], + ['grpc_5fwrite_5fstate_5fqueued_5fclose',['GRPC_WRITE_STATE_QUEUED_CLOSE',['../internal_8h.html#a3b93cb6f95aff10ba74b6aa06d7e99cca3919fcef92f060577ba356817423e633',1,'internal.h']]], + ['grpc_5fwrite_5fstate_5fsent_5fclose',['GRPC_WRITE_STATE_SENT_CLOSE',['../internal_8h.html#a3b93cb6f95aff10ba74b6aa06d7e99cca208ef886be22d63ae3cd3880cb6a3693',1,'internal.h']]], + ['grpc_5fwrite_5fused_5fmask',['GRPC_WRITE_USED_MASK',['../grpc_8h.html#a3317259e1098b2b6f49982d6997bbf6a',1,'grpc.h']]], + ['grpc_5fx509_5fcn_5fproperty_5fname',['GRPC_X509_CN_PROPERTY_NAME',['../grpc__security_8h.html#afee5e0fade6e0af1954529f1f08afe0c',1,'grpc_security.h']]], + ['grpc_5fx509_5fsan_5fproperty_5fname',['GRPC_X509_SAN_PROPERTY_NAME',['../grpc__security_8h.html#a1412421653b7999544296f56025a0f36',1,'grpc_security.h']]], + ['grpc_20core',['GRPC Core',['../index.html',1,'']]] +]; diff --git a/doc/ref/core.internal/html/search/all_8.html b/doc/ref/core.internal/html/search/all_8.html new file mode 100644 index 0000000000..0179bdd463 --- /dev/null +++ b/doc/ref/core.internal/html/search/all_8.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core.internal/html/search/all_8.js b/doc/ref/core.internal/html/search/all_8.js new file mode 100644 index 0000000000..4d9b82c29f --- /dev/null +++ b/doc/ref/core.internal/html/search/all_8.js @@ -0,0 +1,65 @@ +var searchData= +[ + ['handshake_5fbuffer',['handshake_buffer',['../structgrpc__secure__transport__setup.html#a4ac21c122779d771e91d59bc1c74a723',1,'grpc_secure_transport_setup']]], + ['handshake_5fbuffer_5fsize',['handshake_buffer_size',['../structgrpc__secure__transport__setup.html#a0edef695f006557a299ea4384f3a5438',1,'grpc_secure_transport_setup']]], + ['handshaker',['handshaker',['../structgrpc__secure__transport__setup.html#acb477ffb68f62bc22048abef085575c3',1,'grpc_secure_transport_setup']]], + ['handshaker_5ffactory',['handshaker_factory',['../structgrpc__httpcli__ssl__channel__security__connector.html#a4ec68b3563b321823c2386381727b9c6',1,'grpc_httpcli_ssl_channel_security_connector::handshaker_factory()'],['../structgrpc__ssl__channel__security__connector.html#aea121da234d473666c85221663f00241',1,'grpc_ssl_channel_security_connector::handshaker_factory()'],['../structgrpc__ssl__server__security__connector.html#aa18f372b18a7dc70e96cc6cf751d58e3',1,'grpc_ssl_server_security_connector::handshaker_factory()']]], + ['handshaking_5ftcp_5fendpoints',['handshaking_tcp_endpoints',['../structgrpc__server__secure__state.html#acba74fb1730945adb6b8d60421321b26',1,'grpc_server_secure_state']]], + ['has_5fbase64_5fand_5fhuffman_5fencoded',['has_base64_and_huffman_encoded',['../structinternal__string.html#ad30156b9bc8f7fc9c60b09e3dcaef00a',1,'internal_string']]], + ['has_5fcompression_5falgorithm',['has_compression_algorithm',['../structcall__data.html#a69baa5f9149f7edadc3c8e5fc2c82aa8',1,'call_data']]], + ['has_5fpending_5fiocp',['has_pending_iocp',['../structgrpc__winsocket__callback__info.html#af6288faf84cbd0d6706d6cc7cd04e294',1,'grpc_winsocket_callback_info']]], + ['has_5frequest_5fmetadata',['has_request_metadata',['../structgrpc__credentials__vtable.html#acd487d7cf9dab42866c366a212ef4b15',1,'grpc_credentials_vtable']]], + ['has_5frequest_5fmetadata_5fonly',['has_request_metadata_only',['../structgrpc__credentials__vtable.html#a2028660c297e6e08be99e09f068921e7',1,'grpc_credentials_vtable']]], + ['has_5fvalue',['has_value',['../structgrpc__chttp2__hptbl__find__result.html#ae93485f3e3efeb1b621e2307aa53c2b7',1,'grpc_chttp2_hptbl_find_result']]], + ['hash',['hash',['../structgrpc__mdstr.html#a293d438ac394265fb036e8dba0a3bc9d',1,'grpc_mdstr::hash()'],['../structinternal__string.html#abc9b5ed558b39ad7c3265964778b3b98',1,'internal_string::hash()']]], + ['hash_5ffragment_5f1',['HASH_FRAGMENT_1',['../stream__encoder_8c.html#a0551b7ff01539c9139e682053301b58b',1,'stream_encoder.c']]], + ['hash_5ffragment_5f2',['HASH_FRAGMENT_2',['../stream__encoder_8c.html#a00bb8310d47f7c0b6d5b9e86fdfbc043',1,'stream_encoder.c']]], + ['hash_5ffragment_5f3',['HASH_FRAGMENT_3',['../stream__encoder_8c.html#ac6a3339f7cdc67827f51d6f7162271fa',1,'stream_encoder.c']]], + ['hash_5ffragment_5f4',['HASH_FRAGMENT_4',['../stream__encoder_8c.html#a1aa06e441caa39deff8ee0dddaa18916',1,'stream_encoder.c']]], + ['hash_5fseed',['hash_seed',['../structgrpc__mdctx.html#a7ac9fbdc8d9e07461ae46e89de5dec68',1,'grpc_mdctx']]], + ['have_5falarm',['have_alarm',['../structgrpc__subchannel.html#a04c16f8c09717fcda07708f4d2924e30',1,'grpc_subchannel::have_alarm()'],['../structgrpc__call.html#a8ef6ebfaceedd93d50960c7e11a279b2',1,'grpc_call::have_alarm()']]], + ['have_5fread_5fbyte',['have_read_byte',['../structinternal__request.html#aff291a650e0020e9a09beb9cc64298f9',1,'internal_request']]], + ['hc_5fon_5frecv',['hc_on_recv',['../structcall__data.html#ab0f1ff70c9a8a72f5eb2e778fe709baf',1,'call_data']]], + ['hdr_5fcapacity',['hdr_capacity',['../structgrpc__httpcli__parser.html#af12e7be4d11735dce047a30c1915cc77',1,'grpc_httpcli_parser']]], + ['hdr_5fcount',['hdr_count',['../structgrpc__httpcli__request.html#a3f21a167ba2c1a4afcb00023a707cde0',1,'grpc_httpcli_request::hdr_count()'],['../structgrpc__httpcli__response.html#a5a190ad146f03dcf9c8db0031f3e592e',1,'grpc_httpcli_response::hdr_count()']]], + ['hdrs',['hdrs',['../structgrpc__httpcli__request.html#a00525596b5530699a64fa1baa90576c6',1,'grpc_httpcli_request::hdrs()'],['../structgrpc__httpcli__response.html#a8525db277ee594e9e806884aa3e4430d',1,'grpc_httpcli_response::hdrs()']]], + ['head',['head',['../structgrpc__chttp2__stream__list.html#af0f7bfa4b2e03157bd08f46091534e73',1,'grpc_chttp2_stream_list::head()'],['../structgrpc__mdelem__list.html#a01bd8da8ef529fa0c521354e6ab15d7a',1,'grpc_mdelem_list::head()'],['../structgpr__stack__lockfree.html#a63a10f40dc93803a1d97846f659860eb',1,'gpr_stack_lockfree::head()']]], + ['header',['header',['../structverifier__cb__ctx.html#a300805c3f085e1a830e26030a0c823ad',1,'verifier_cb_ctx::header()'],['../stream__encoder_8c.html#a3ca2c0bc7578bf3d337e34b2c08a6c5fa2e57918a09d25b07a664e505d50a97f6',1,'HEADER(): stream_encoder.c']]], + ['header_5feof',['header_eof',['../structgrpc__chttp2__transport__parsing.html#a0c6bdb40aa08bf5930307f3997961e50',1,'grpc_chttp2_transport_parsing']]], + ['header_5fidx',['header_idx',['../structframer__state.html#a8f1aacf4453938a5e335e77c6d775dc1',1,'framer_state']]], + ['heap',['heap',['../structshard__type.html#ae212a2061cff7c73ff1c208174272070',1,'shard_type']]], + ['heap_5findex',['heap_index',['../structgrpc__alarm.html#adef760998486aa79b9637e95a83e061b',1,'grpc_alarm']]], + ['help',['help',['../structarg.html#a7c3bb14ce3710281f4f5c511961823df',1,'arg']]], + ['histogram_2ec',['histogram.c',['../histogram_8c.html',1,'']]], + ['histogram_2eh',['histogram.h',['../histogram_8h.html',1,'']]], + ['host',['host',['../structgrpc__call__details.html#a869b5db96e2e0fbd573381e77b859631',1,'grpc_call_details::host()'],['../structgrpc__httpcli__request.html#a907d00d1b3d1b8b0b8dddc0e7adbd48d',1,'grpc_httpcli_request::host()'],['../structinternal__request.html#ab545c1a0948fde5ebcf3a38e4bb2e976',1,'internal_request::host()'],['../structcall__data.html#a5b3ab9bd0e3c549bf9ad739f0011b995',1,'call_data::host()'],['../structchannel__registered__method.html#a6f9cc4376a5b8955a060f089720f2e9d',1,'channel_registered_method::host()'],['../structregistered__method.html#ac8947363747871cca9a921739b686545',1,'registered_method::host()']]], + ['host_5fcapacity',['host_capacity',['../structgrpc__call__details.html#aeab0d9e754bbb1aac1a21ad4ef63d8b1',1,'grpc_call_details']]], + ['host_5fkey',['host_key',['../structchannel__data.html#acf1f4e1f7664686d2c41072763080cf6',1,'channel_data']]], + ['host_5fport_2ec',['host_port.c',['../host__port_8c.html',1,'']]], + ['host_5fport_2eh',['host_port.h',['../host__port_8h.html',1,'']]], + ['hpack_5fcompressor',['hpack_compressor',['../structgrpc__chttp2__transport__writing.html#a99f5a7439100ab7bab790117458af460',1,'grpc_chttp2_transport_writing']]], + ['hpack_5fparser',['hpack_parser',['../structgrpc__chttp2__transport__parsing.html#a5c0031bc09c803f4b1440690a896812d',1,'grpc_chttp2_transport_parsing']]], + ['hpack_5fparser_2ec',['hpack_parser.c',['../hpack__parser_8c.html',1,'']]], + ['hpack_5fparser_2eh',['hpack_parser.h',['../hpack__parser_8h.html',1,'']]], + ['hpack_5ftable_2ec',['hpack_table.c',['../hpack__table_8c.html',1,'']]], + ['hpack_5ftable_2eh',['hpack_table.h',['../hpack__table_8h.html',1,'']]], + ['hs_5fon_5frecv',['hs_on_recv',['../structcall__data.html#a449389cf74cdadc8a00b52990c7052d5',1,'call_data']]], + ['http2_5ferrors_2eh',['http2_errors.h',['../http2__errors_8h.html',1,'']]], + ['http_5fclient_5ffilter_2ec',['http_client_filter.c',['../http__client__filter_8c.html',1,'']]], + ['http_5fclient_5ffilter_2eh',['http_client_filter.h',['../http__client__filter_8h.html',1,'']]], + ['http_5fctx',['http_ctx',['../structgrpc__jwt__verifier.html#a0dbb6661ebad9689425e9a3e24c67a3d',1,'grpc_jwt_verifier']]], + ['http_5fscheme',['http_scheme',['../structchannel__data.html#a76cf628a9f2165700655595e349dc71c',1,'channel_data']]], + ['http_5fserver_5ffilter_2ec',['http_server_filter.c',['../http__server__filter_8c.html',1,'']]], + ['http_5fserver_5ffilter_2eh',['http_server_filter.h',['../http__server__filter_8h.html',1,'']]], + ['httpcli_2ec',['httpcli.c',['../httpcli_8c.html',1,'']]], + ['httpcli_2eh',['httpcli.h',['../httpcli_8h.html',1,'']]], + ['httpcli_5fcontext',['httpcli_context',['../structgrpc__oauth2__token__fetcher__credentials.html#a6c54ee9f6021c950777c42a4e34b71c8',1,'grpc_oauth2_token_fetcher_credentials']]], + ['httpcli_5fsecurity_5fconnector_2ec',['httpcli_security_connector.c',['../httpcli__security__connector_8c.html',1,'']]], + ['httpcli_5fsecurity_5fconnector_2eh',['httpcli_security_connector.h',['../httpcli__security__connector_8h.html',1,'']]], + ['https_5fscheme',['https_scheme',['../structchannel__data.html#a64d3d8ab7ed7ca08eb8e1e1823051d97',1,'channel_data']]], + ['huff',['huff',['../structgrpc__chttp2__hpack__parser.html#a72b104abd60bed440243eab839b6d1e5',1,'grpc_chttp2_hpack_parser']]], + ['huff_5fout',['huff_out',['../structhuff__out.html',1,'']]], + ['huff_5fstate',['huff_state',['../structgrpc__chttp2__hpack__parser.html#aefbc0edc85975abf14cd4f52ca1b823c',1,'grpc_chttp2_hpack_parser']]], + ['huffsyms_2ec',['huffsyms.c',['../huffsyms_8c.html',1,'']]], + ['huffsyms_2eh',['huffsyms.h',['../huffsyms_8h.html',1,'']]] +]; diff --git a/doc/ref/core.internal/html/search/all_9.html b/doc/ref/core.internal/html/search/all_9.html new file mode 100644 index 0000000000..cd46d44056 --- /dev/null +++ b/doc/ref/core.internal/html/search/all_9.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core.internal/html/search/all_9.js b/doc/ref/core.internal/html/search/all_9.js new file mode 100644 index 0000000000..be42a96bcc --- /dev/null +++ b/doc/ref/core.internal/html/search/all_9.js @@ -0,0 +1,94 @@ +var searchData= +[ + ['iam_5fmd',['iam_md',['../structgrpc__iam__credentials.html#a4925aa708ad3e63dd99e3881d2f735b8',1,'grpc_iam_credentials']]], + ['iat',['iat',['../structgrpc__jwt__claims.html#a4f50dadfd0a2d3493065b5b4faf84fef',1,'grpc_jwt_claims']]], + ['id',['id',['../structcensus__stat.html#a1151cb5a250db9b70ba8fc13453abcf3',1,'census_stat::id()'],['../structgrpc__chttp2__settings__parser.html#a78292a3a593ad3806e8067b055687745',1,'grpc_chttp2_settings_parser::id()'],['../structgrpc__chttp2__outstanding__ping.html#a3cf40734ac72489211630654aaa02bd9',1,'grpc_chttp2_outstanding_ping::id()'],['../structgrpc__chttp2__stream__global.html#af978119004439db266373fc347d553d4',1,'grpc_chttp2_stream_global::id()'],['../structgrpc__chttp2__stream__writing.html#a294162cbd6c888161e51278dde204832',1,'grpc_chttp2_stream_writing::id()'],['../structgrpc__chttp2__stream__parsing.html#a177b90ba6af8f43e85ca7d96e6f3db83',1,'grpc_chttp2_stream_parsing::id()']]], + ['illegal',['ILLEGAL',['../hpack__parser_8c.html#a82ea1fc72cfd46090df5eb5f87ba1918a64b291c78f4399005e7e6d35274ac792',1,'hpack_parser.c']]], + ['in_5farray',['in_array',['../structgrpc__json__reader.html#a0c2f2a43dcad121aa5ae4d579178c438',1,'grpc_json_reader']]], + ['in_5fflight_5fcbs',['in_flight_cbs',['../structgrpc__pollset.html#a835a6bc3ba9adc3076831877fc1e4ca2',1,'grpc_pollset']]], + ['in_5fobject',['in_object',['../structgrpc__json__reader.html#ab52b1665e66ad5e4d8aceaed833831e6',1,'grpc_json_reader']]], + ['in_5fstream_5fmap',['in_stream_map',['../structgrpc__chttp2__stream__global.html#a12c9f137d984cf478ab590b35e42f3c4',1,'grpc_chttp2_stream_global']]], + ['inactive_5fwatcher_5froot',['inactive_watcher_root',['../structgrpc__fd.html#a640195e98f3a3fcec45f2db5bff6dac8',1,'grpc_fd']]], + ['included',['included',['../structgrpc__chttp2__stream.html#ab8404714b48a6b7921040a154e4d0d95',1,'grpc_chttp2_stream']]], + ['incoming',['incoming',['../structtsi__fake__handshaker.html#a88e5531bc9e28f480211209fe0d68e14',1,'tsi_fake_handshaker']]], + ['incoming_5fconfiguration',['incoming_configuration',['../structchannel__data.html#a2b20db607d1a87fa17b260cac4a121f0',1,'channel_data']]], + ['incoming_5fframe_5fflags',['incoming_frame_flags',['../structgrpc__chttp2__transport__parsing.html#ad96b76072847c4d2824167bb3003798f',1,'grpc_chttp2_transport_parsing']]], + ['incoming_5fframe_5fsize',['incoming_frame_size',['../structgrpc__chttp2__transport__parsing.html#a1d4a217861aaa604dd9f5fc515afd0b0',1,'grpc_chttp2_transport_parsing']]], + ['incoming_5fframe_5ftype',['incoming_frame_type',['../structgrpc__chttp2__transport__parsing.html#a3cc62ba8bd5b95de8d083421cc6f5781',1,'grpc_chttp2_transport_parsing']]], + ['incoming_5fmessage',['incoming_message',['../structgrpc__call.html#a98eafd66de3d31324c7a9c113dfb9a56',1,'grpc_call']]], + ['incoming_5fmessage_5fflags',['incoming_message_flags',['../structgrpc__call.html#a4c3b082e465f93d090d6f523e197b43a',1,'grpc_call']]], + ['incoming_5fmessage_5flength',['incoming_message_length',['../structgrpc__call.html#a51fb682fa9024d09b2e137edb2fc13d0',1,'grpc_call']]], + ['incoming_5fmetadata',['incoming_metadata',['../structgrpc__chttp2__stream__global.html#aa5202346d6771ba38232b4d1fd290da5',1,'grpc_chttp2_stream_global::incoming_metadata()'],['../structgrpc__chttp2__stream__parsing.html#a5cdeb7e94802970d5748ec4c218003cc',1,'grpc_chttp2_stream_parsing::incoming_metadata()']]], + ['incoming_5fmetadata_2ec',['incoming_metadata.c',['../incoming__metadata_8c.html',1,'']]], + ['incoming_5fmetadata_2eh',['incoming_metadata.h',['../incoming__metadata_8h.html',1,'']]], + ['incoming_5fqueue',['incoming_queue',['../structgrpc__call.html#ae217707d3befc054ac994f12de9e10bb',1,'grpc_call']]], + ['incoming_5fsettings',['incoming_settings',['../structgrpc__chttp2__settings__parser.html#a4b6b73681cb815b663dda8008ff3d519',1,'grpc_chttp2_settings_parser']]], + ['incoming_5fsopb',['incoming_sopb',['../structgrpc__chttp2__data__parser.html#a6fd6d128f7954d9ece6b375d2699619c',1,'grpc_chttp2_data_parser::incoming_sopb()'],['../structgrpc__chttp2__stream__global.html#ad9b5d27432602aed7ad614427579643e',1,'grpc_chttp2_stream_global::incoming_sopb()']]], + ['incoming_5fstream',['incoming_stream',['../structgrpc__chttp2__transport__parsing.html#ab961441cc12e57a8721e7cd1b726e445',1,'grpc_chttp2_transport_parsing']]], + ['incoming_5fstream_5fid',['incoming_stream_id',['../structgrpc__chttp2__transport__parsing.html#a3e785cf84303e183da7de8fd1b534732',1,'grpc_chttp2_transport_parsing']]], + ['incoming_5fwindow',['incoming_window',['../structgrpc__chttp2__transport__global.html#a0d452aa09888c083335eedc6df456bd3',1,'grpc_chttp2_transport_global::incoming_window()'],['../structgrpc__chttp2__transport__parsing.html#af9b14729ff0c67e8b11f11bef74cc498',1,'grpc_chttp2_transport_parsing::incoming_window()'],['../structgrpc__chttp2__stream__global.html#a61488c0b537d712411fd90e1ea3bf363',1,'grpc_chttp2_stream_global::incoming_window()'],['../structgrpc__chttp2__stream__parsing.html#a6764e27bf94c79201b4408c7b2deb622',1,'grpc_chttp2_stream_parsing::incoming_window()']]], + ['incoming_5fwindow_5fdelta',['incoming_window_delta',['../structgrpc__chttp2__transport__parsing.html#a11bb4e6b13a37f1733f0348633e62ca9',1,'grpc_chttp2_transport_parsing::incoming_window_delta()'],['../structgrpc__chttp2__stream__parsing.html#a981536ef5bd42bfaf2940b005ae4d1ed',1,'grpc_chttp2_stream_parsing::incoming_window_delta()']]], + ['indent',['indent',['../structgrpc__json__writer.html#a79d6783ae5cd77f186571b46f63cc5de',1,'grpc_json_writer']]], + ['index',['index',['../structgrpc__auth__property__iterator.html#ac2b2a0501f097562a6d8856e3da5e7e6',1,'grpc_auth_property_iterator::index()'],['../structgrpc__byte__buffer__reader.html#a948b75a404899c348fc6a52e1a6e63cb',1,'grpc_byte_buffer_reader::index()'],['../structgrpc__chttp2__hpack__parser.html#a032576122c56272a9546fb4cb4628aef',1,'grpc_chttp2_hpack_parser::index()'],['../structgrpc__chttp2__hptbl__find__result.html#afde6a296e3d2b379395ccf89141e7aea',1,'grpc_chttp2_hptbl_find_result::index()'],['../structlockfree__node__contents.html#a928cde9bc69482abb79427725c16b8f7',1,'lockfree_node_contents::index()']]], + ['indexed_5ffield',['INDEXED_FIELD',['../hpack__parser_8c.html#a82ea1fc72cfd46090df5eb5f87ba1918acf55dbd5b43747a8de2b3475e776b2a9',1,'hpack_parser.c']]], + ['indexed_5ffield_5fx',['INDEXED_FIELD_X',['../hpack__parser_8c.html#a82ea1fc72cfd46090df5eb5f87ba1918ab2d9a731d5c6871093edecbab8ec1b8a',1,'hpack_parser.c']]], + ['indices_5felems',['indices_elems',['../structgrpc__chttp2__hpack__compressor.html#ae15305b7ada7f6b084088b9ab64240a1',1,'grpc_chttp2_hpack_compressor']]], + ['indices_5fkeys',['indices_keys',['../structgrpc__chttp2__hpack__compressor.html#abd71f91eced6cc4bfdef970d00bbe808',1,'grpc_chttp2_hpack_compressor']]], + ['init_2ec',['init.c',['../init_8c.html',1,'']]], + ['init_2eh',['init.h',['../init_8h.html',1,'']]], + ['init_5favg',['init_avg',['../structgrpc__time__averaged__stats.html#aa1aedfcd876bdec50aab3e1da6bec224',1,'grpc_time_averaged_stats']]], + ['init_5fcall_5felem',['init_call_elem',['../structgrpc__channel__filter.html#aea34a13bc660ba869d4c18ed6cd21c2b',1,'grpc_channel_filter']]], + ['init_5fchannel_5felem',['init_channel_elem',['../structgrpc__channel__filter.html#a7171b1634e5a7d42880f68ae1a4f875a',1,'grpc_channel_filter']]], + ['init_5fsecure_2ec',['init_secure.c',['../init__secure_8c.html',1,'']]], + ['init_5fstream',['init_stream',['../structgrpc__transport__vtable.html#a32caae908e80e87783bf55b80c81e13f',1,'grpc_transport_vtable']]], + ['initial_5fmdtab_5fcapacity',['INITIAL_MDTAB_CAPACITY',['../metadata_8c.html#a79df755ba4db91d4b3ab5d375eb18364',1,'metadata.c']]], + ['initial_5fmetadata',['initial_metadata',['../structrequested__call.html#a813caeee0e35952179d319607847c7b7',1,'requested_call']]], + ['initial_5fstrtab_5fcapacity',['INITIAL_STRTAB_CAPACITY',['../metadata_8c.html#a6e712d615b691c6a9f5daf410b8850ad',1,'metadata.c']]], + ['initial_5fwindow_5fupdate',['initial_window_update',['../structgrpc__chttp2__transport__parsing.html#a3e1fc90d6a29169c350866557ff5903c',1,'grpc_chttp2_transport_parsing']]], + ['initialize_2ec',['initialize.c',['../initialize_8c.html',1,'']]], + ['inlined',['inlined',['../structgpr__slice.html#a1fd4cfd75079d6f30184f0340276eb28',1,'gpr_slice::inlined()'],['../structgpr__slice__buffer.html#adb678a23dc27e50c478bc48d365420e2',1,'gpr_slice_buffer::inlined()']]], + ['inlined_5fops',['inlined_ops',['../structgrpc__stream__op__buffer.html#addb643aa73745975aae590438b039301',1,'grpc_stream_op_buffer']]], + ['inner',['inner',['../structgrpc__composite__credentials.html#a94a828068bb8844a20c6677b239ae805',1,'grpc_composite_credentials']]], + ['input',['input',['../structjson__reader__userdata.html#abccbf0e7d9695f00948288df13ba4c7e',1,'json_reader_userdata']]], + ['input_5fbuffer',['input_buffer',['../structsecure__endpoint.html#abc32a14befcf93c3a16dcb9e8fa66ef4',1,'secure_endpoint']]], + ['integer',['integer',['../structgrpc__arg.html#a6871bfca9c52e7f56abbd71c81d97554',1,'grpc_arg']]], + ['interested_5fparties',['interested_parties',['../structgrpc__connect__in__args.html#aa7c2d0108c593d04eab1f02abdb835ac',1,'grpc_connect_in_args']]], + ['internal_2eh',['internal.h',['../internal_8h.html',1,'']]], + ['internal_5fdata',['internal_data',['../structgrpc__metadata.html#a342799d4f78fcc6dd29ee44f56a6d553',1,'grpc_metadata']]], + ['internal_5fmetadata',['internal_metadata',['../structinternal__metadata.html',1,'internal_metadata'],['../metadata_8c.html#a5de9c52bec44c8dd9a46d9575c4336ed',1,'internal_metadata(): metadata.c']]], + ['internal_5frefcount',['internal_refcount',['../structgrpc__call.html#a8aedf0fd044d8d985172fd02293ed55d',1,'grpc_call::internal_refcount()'],['../structgrpc__server.html#ab5c3bf8e55920a90654d31c6a0836e93',1,'grpc_server::internal_refcount()']]], + ['internal_5frequest',['internal_request',['../structinternal__request.html',1,'']]], + ['internal_5fstring',['internal_string',['../structinternal__string.html',1,'internal_string'],['../metadata_8c.html#ac4804488e22d084fbaf91101dab8c1ee',1,'internal_string(): metadata.c']]], + ['internal_5fstring_5fref',['INTERNAL_STRING_REF',['../metadata_8c.html#a83513324a061c9ec72f186425ccdb78b',1,'metadata.c']]], + ['internal_5fstring_5funref',['INTERNAL_STRING_UNREF',['../metadata_8c.html#a54692508d43c5445088e92d06a5665db',1,'metadata.c']]], + ['into_5fssl',['into_ssl',['../structtsi__ssl__handshaker.html#a6d79399d2bf72081032843d9800dcaa6',1,'tsi_ssl_handshaker::into_ssl()'],['../structtsi__ssl__frame__protector.html#ac1162fd08a5da7a1c5f142251beb9934',1,'tsi_ssl_frame_protector::into_ssl()']]], + ['invalid_5fentry_5findex',['INVALID_ENTRY_INDEX',['../stack__lockfree_8c.html#a6c03a49143863f3e267ce5a21ac6121c',1,'stack_lockfree.c']]], + ['invalid_5fheap_5findex',['INVALID_HEAP_INDEX',['../alarm_8c.html#ab10c095adee8fff29f7d8e4209b70c66',1,'alarm.c']]], + ['invalid_5fvalue_5fbehavior',['invalid_value_behavior',['../structgrpc__chttp2__setting__parameters.html#a9b900f51c9a7756a67cbf502094d92df',1,'grpc_chttp2_setting_parameters']]], + ['iocp_5fwindows_2ec',['iocp_windows.c',['../iocp__windows_8c.html',1,'']]], + ['iocp_5fwindows_2eh',['iocp_windows.h',['../iocp__windows_8h.html',1,'']]], + ['iomgr_2ec',['iomgr.c',['../iomgr_8c.html',1,'']]], + ['iomgr_2eh',['iomgr.h',['../iomgr_8h.html',1,'']]], + ['iomgr_5finternal_2eh',['iomgr_internal.h',['../iomgr__internal_8h.html',1,'']]], + ['iomgr_5fobj',['iomgr_obj',['../structinternal__request.html#a16edaecfecf5937255d86d07ab3be4d0',1,'internal_request']]], + ['iomgr_5fobject',['iomgr_object',['../structgrpc__fd.html#aaf6e293dd6b804a9783ef4ccf06710cc',1,'grpc_fd::iomgr_object()'],['../structgrpc__winsocket.html#a226dc7020d126be244c2c4d36907eae6',1,'grpc_winsocket::iomgr_object()']]], + ['iomgr_5fposix_2ec',['iomgr_posix.c',['../iomgr__posix_8c.html',1,'']]], + ['iomgr_5fposix_2eh',['iomgr_posix.h',['../iomgr__posix_8h.html',1,'']]], + ['iomgr_5fwindows_2ec',['iomgr_windows.c',['../iomgr__windows_8c.html',1,'']]], + ['is_5fack',['is_ack',['../structgrpc__chttp2__ping__parser.html#adbc3402e14a75f592502d3185165a59c',1,'grpc_chttp2_ping_parser::is_ack()'],['../structgrpc__chttp2__settings__parser.html#a3237e1bd69e648a47181625a1c310eec',1,'grpc_chttp2_settings_parser::is_ack()']]], + ['is_5fasync',['is_async',['../structgrpc__fake__oauth2__credentials.html#a929e924c4a75244f8e36e09ac1de6806',1,'grpc_fake_oauth2_credentials']]], + ['is_5fbinary_5fheader',['is_binary_header',['../hpack__parser_8c.html#a71eda0fd38f30d8005251eb895de35ee',1,'hpack_parser.c']]], + ['is_5fboundary',['is_boundary',['../structgrpc__chttp2__hpack__parser.html#adc642ac806512e13229d13c5d4a64aec',1,'grpc_chttp2_hpack_parser']]], + ['is_5fclient',['is_client',['../structgrpc__chttp2__transport__global.html#acb27a0ca3039e6e2713467e7dcef539e',1,'grpc_chttp2_transport_global::is_client()'],['../structgrpc__chttp2__transport__writing.html#a43f3459674012631937082d00d553f57',1,'grpc_chttp2_transport_writing::is_client()'],['../structgrpc__chttp2__transport__parsing.html#a1f45954c73c17a9a0cff3c0c7ac26d58',1,'grpc_chttp2_transport_parsing::is_client()'],['../structtsi__fake__handshaker.html#ab3817b146f5d0d09232581e33bfd50f0',1,'tsi_fake_handshaker::is_client()'],['../structgrpc__call.html#a5a4810b490545e9b18b488bef197314f',1,'grpc_call::is_client()'],['../structgrpc__channel.html#a4bfedb17fb28f088111e21abd9c2c4cc',1,'grpc_channel::is_client()']]], + ['is_5fclient_5fside',['is_client_side',['../structgrpc__security__connector.html#a233f3e3ad0edc94fa25b0b3c8bb839bd',1,'grpc_security_connector']]], + ['is_5fconnection_5fupdate',['is_connection_update',['../structgrpc__chttp2__window__update__parser.html#a59104211b0db6e55fe6ac2a1409f18ca',1,'grpc_chttp2_window_update_parser']]], + ['is_5fdone',['is_done',['../structcompute__engine__detector.html#a1b82128e01e4041639ff7e3f5286207d',1,'compute_engine_detector']]], + ['is_5feof',['is_eof',['../structgrpc__chttp2__hpack__parser.html#a0ced7637ac446a9c535391ffdeb7990b',1,'grpc_chttp2_hpack_parser']]], + ['is_5fframe_5fcompressed',['is_frame_compressed',['../structgrpc__chttp2__data__parser.html#a0b6ee9238d492fc7ed2a0e21fd483aa7',1,'grpc_chttp2_data_parser']]], + ['is_5flast_5fframe',['is_last_frame',['../structgrpc__chttp2__data__parser.html#ae3b9c3b2e6d778a42225361adbad882e',1,'grpc_chttp2_data_parser']]], + ['is_5flast_5fsend',['is_last_send',['../structgrpc__transport__stream__op.html#a43d850c3001e92b407b78866d615696f',1,'grpc_transport_stream_op']]], + ['is_5fserver_5fcq',['is_server_cq',['../structgrpc__completion__queue.html#a495f730490aa5625bb7ce2604ee8e6d7',1,'grpc_completion_queue']]], + ['is_5fset',['is_set',['../structreceived__status.html#a39555cb7bcc2ccf18854bd73136c9c03',1,'received_status']]], + ['is_5fshutdown',['is_shutdown',['../structgrpc__server__secure__state.html#aea11767a6c8e97a44574e8e3a368deec',1,'grpc_server_secure_state']]], + ['iss',['iss',['../structgrpc__jwt__claims.html#a69f31f01a0d1cac4f79f0a46ed4e6593',1,'grpc_jwt_claims']]] +]; diff --git a/doc/ref/core.internal/html/search/all_a.html b/doc/ref/core.internal/html/search/all_a.html new file mode 100644 index 0000000000..eab655301b --- /dev/null +++ b/doc/ref/core.internal/html/search/all_a.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core.internal/html/search/all_a.js b/doc/ref/core.internal/html/search/all_a.js new file mode 100644 index 0000000000..332e6806df --- /dev/null +++ b/doc/ref/core.internal/html/search/all_a.js @@ -0,0 +1,23 @@ +var searchData= +[ + ['jose_5fheader',['jose_header',['../structjose__header.html',1,'']]], + ['json',['json',['../structgrpc__jwt__claims.html#add6f381accf815cd0b7385fded17fae5',1,'grpc_jwt_claims']]], + ['json_2ec',['json.c',['../json_8c.html',1,'']]], + ['json_2eh',['json.h',['../json_8h.html',1,'']]], + ['json_5fcommon_2eh',['json_common.h',['../json__common_8h.html',1,'']]], + ['json_5freader_2ec',['json_reader.c',['../json__reader_8c.html',1,'']]], + ['json_5freader_2eh',['json_reader.h',['../json__reader_8h.html',1,'']]], + ['json_5freader_5fuserdata',['json_reader_userdata',['../structjson__reader__userdata.html',1,'']]], + ['json_5fstring_2ec',['json_string.c',['../json__string_8c.html',1,'']]], + ['json_5ftoken_2ec',['json_token.c',['../json__token_8c.html',1,'']]], + ['json_5ftoken_2eh',['json_token.h',['../json__token_8h.html',1,'']]], + ['json_5fwriter_2ec',['json_writer.c',['../json__writer_8c.html',1,'']]], + ['json_5fwriter_2eh',['json_writer.h',['../json__writer_8h.html',1,'']]], + ['json_5fwriter_5fuserdata',['json_writer_userdata',['../structjson__writer__userdata.html',1,'']]], + ['jti',['jti',['../structgrpc__jwt__claims.html#abf5af69634298aaeeae5a0a2e6ef60f9',1,'grpc_jwt_claims']]], + ['jwt_5fexpiration',['jwt_expiration',['../structgrpc__service__account__jwt__access__credentials.html#a3adac3e5a237a509291047037a5a892a',1,'grpc_service_account_jwt_access_credentials']]], + ['jwt_5flifetime',['jwt_lifetime',['../structgrpc__service__account__jwt__access__credentials.html#a17f125b4f728143947f9917390316126',1,'grpc_service_account_jwt_access_credentials']]], + ['jwt_5fmd',['jwt_md',['../structgrpc__service__account__jwt__access__credentials.html#a1bdefcea33f490d5a40414fa10938533',1,'grpc_service_account_jwt_access_credentials']]], + ['jwt_5fverifier_2ec',['jwt_verifier.c',['../jwt__verifier_8c.html',1,'']]], + ['jwt_5fverifier_2eh',['jwt_verifier.h',['../jwt__verifier_8h.html',1,'']]] +]; diff --git a/doc/ref/core.internal/html/search/all_b.html b/doc/ref/core.internal/html/search/all_b.html new file mode 100644 index 0000000000..a2c161e0bd --- /dev/null +++ b/doc/ref/core.internal/html/search/all_b.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core.internal/html/search/all_b.js b/doc/ref/core.internal/html/search/all_b.js new file mode 100644 index 0000000000..4db97b4ca6 --- /dev/null +++ b/doc/ref/core.internal/html/search/all_b.js @@ -0,0 +1,11 @@ +var searchData= +[ + ['key',['key',['../structgrpc__arg.html#aeb230fbd50daacfe654abc3500a44968',1,'grpc_arg::key()'],['../structgrpc__metadata.html#abe93a3d24cd534d9387e05ad1f0b36f7',1,'grpc_metadata::key()'],['../structgrpc__httpcli__header.html#aa5504b4e9fba5978e4026dbeadb6619e',1,'grpc_httpcli_header::key()'],['../structgrpc__credentials__md.html#a8484aa32f640b1b127c1903e868a4a53',1,'grpc_credentials_md::key()'],['../structgrpc__service__account__jwt__access__credentials.html#abedd1fe434bdb017b566f5aa096d8f32',1,'grpc_service_account_jwt_access_credentials::key()'],['../structgrpc__service__account__credentials.html#a7bf8e279b0c67ed0f8d3a127dab0b0cd',1,'grpc_service_account_credentials::key()'],['../structgrpc__json.html#a37118fc8b75a363d1870b4555148b7b6',1,'grpc_json::key()'],['../structgrpc__chttp2__hpack__parser.html#a4d3edf20019517c6ba89d16183287f10',1,'grpc_chttp2_hpack_parser::key()'],['../structgrpc__mdelem.html#a8260c065e7658a1d2438c656bd8aae94',1,'grpc_mdelem::key()'],['../structjson__reader__userdata.html#ac7750253670b78b205a06c2e371ac418',1,'json_reader_userdata::key()'],['../structinternal__metadata.html#a1ef3f9e31e4380c0ec8fce01714c0fa3',1,'internal_metadata::key()'],['../structgpr__pthread__thread__local.html#a006cbb5f30eb7c7c53a99a19f242fece',1,'gpr_pthread_thread_local::key()'],['../hpack__table_8c.html#acd3d88da3c0e0313c3645ff34f62f542',1,'key(): hpack_table.c']]], + ['key_5furl_5fprefix',['key_url_prefix',['../structgrpc__jwt__verifier__email__domain__key__url__mapping.html#a6dea6ddab6cdfcf865c08047a0d4b3ec',1,'grpc_jwt_verifier_email_domain_key_url_mapping::key_url_prefix()'],['../structemail__key__mapping.html#a0c0fa6aa94861adf3c6a4f5f9579d37a',1,'email_key_mapping::key_url_prefix()']]], + ['keys',['keys',['../structgrpc__chttp2__stream__map.html#acf47fcc774eb5ea9c07f3c7b57179be6',1,'grpc_chttp2_stream_map']]], + ['kick',['kick',['../structgrpc__pollset__vtable.html#ae03e13800e000795a512fa4e308efdbc',1,'grpc_pollset_vtable']]], + ['kick_5fstate',['kick_state',['../structgrpc__pollset.html#ae7b8c9f2621b64a15b02d6beeb234a0f',1,'grpc_pollset']]], + ['kicked',['kicked',['../structgrpc__pollset__kick__state.html#a91f72c6a22381c48f6994830a460c7b8',1,'grpc_pollset_kick_state']]], + ['kid',['kid',['../structjose__header.html#ae38087aaf6d4e0670bb5deda4375f719',1,'jose_header']]], + ['kill_5fzombie_5fclosure',['kill_zombie_closure',['../structcall__data.html#a2a1ef01585059d467002ce70f6fa03d1',1,'call_data']]] +]; diff --git a/doc/ref/core.internal/html/search/all_c.html b/doc/ref/core.internal/html/search/all_c.html new file mode 100644 index 0000000000..bdd3ee2c50 --- /dev/null +++ b/doc/ref/core.internal/html/search/all_c.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core.internal/html/search/all_c.js b/doc/ref/core.internal/html/search/all_c.js new file mode 100644 index 0000000000..5e0f9f1af1 --- /dev/null +++ b/doc/ref/core.internal/html/search/all_c.js @@ -0,0 +1,46 @@ +var searchData= +[ + ['lame_5fclient_2ec',['lame_client.c',['../lame__client_8c.html',1,'']]], + ['last_5fent',['last_ent',['../structgrpc__chttp2__hptbl.html#a396719b339f0d4d2d7425b5db960536b',1,'grpc_chttp2_hptbl']]], + ['last_5fincoming_5fstream_5fid',['last_incoming_stream_id',['../structgrpc__chttp2__transport__global.html#a4038fcd84b5ed8d5be85871bbd7bf362',1,'grpc_chttp2_transport_global::last_incoming_stream_id()'],['../structgrpc__chttp2__transport__parsing.html#aaaf91745383884fd3b3df92021c7b542',1,'grpc_chttp2_transport_parsing::last_incoming_stream_id()']]], + ['last_5fsend_5fcontains',['last_send_contains',['../structgrpc__call.html#a4428a5f3615eb7ed703cb5650c379225',1,'grpc_call']]], + ['last_5fshutdown_5fmessage_5ftime',['last_shutdown_message_time',['../structgrpc__server.html#aba4f032ca63d1a654bd2a7776dfb6b6f',1,'grpc_server']]], + ['last_5fstream_5fid',['last_stream_id',['../structgrpc__chttp2__goaway__parser.html#a0c4cd3884d0d1351a86466cbcd5f58be',1,'grpc_chttp2_goaway_parser']]], + ['last_5fwas_5fheader',['last_was_header',['../structframer__state.html#a81d1d4409a7212a9da08212e55772b20',1,'framer_state']]], + ['lb_5fpolicy',['lb_policy',['../structchannel__data.html#a3cbf28a9634e67af5aea0af6363e4d94',1,'channel_data::lb_policy()'],['../structlb__policy__connectivity__watcher.html#a2e56bc230933c8ee0f5dbacf58e1805c',1,'lb_policy_connectivity_watcher::lb_policy()'],['../structgrpc__client__config.html#a40e0301a0d5ac19d5c5c854703604cc9',1,'grpc_client_config::lb_policy()']]], + ['lb_5fpolicy_2ec',['lb_policy.c',['../lb__policy_8c.html',1,'']]], + ['lb_5fpolicy_2eh',['lb_policy.h',['../lb__policy_8h.html',1,'']]], + ['lb_5fpolicy_5fconnectivity_5fwatcher',['lb_policy_connectivity_watcher',['../structlb__policy__connectivity__watcher.html',1,'']]], + ['lb_5fpolicy_5ffactory',['lb_policy_factory',['../structdns__resolver.html#a9e7953dbbac44c59c5f8d2946e4295f7',1,'dns_resolver::lb_policy_factory()'],['../structsockaddr__resolver.html#a3d3d40590716456f336738170ad3f3e8',1,'sockaddr_resolver::lb_policy_factory()']]], + ['left_5fovers',['left_overs',['../structgrpc__secure__transport__setup.html#ac057ddae29de167423a28ff357acab20',1,'grpc_secure_transport_setup']]], + ['leftover_5fbytes',['leftover_bytes',['../structsecure__endpoint.html#a46eca04c2167e2d459c0a7aab630bf8a',1,'secure_endpoint']]], + ['len',['len',['../structgrpc__resolved__address.html#ad4f8c294fc0bf15ea680a153d100cc56',1,'grpc_resolved_address']]], + ['length',['length',['../structtsi__peer__property.html#a7b6a9186739228ff43c134f9fe6af9e7',1,'tsi_peer_property::length()'],['../structgrpc__chttp2__hpack__parser__string.html#a26e2d9594af6c89057408a16e1132fe5',1,'grpc_chttp2_hpack_parser_string::length()'],['../structgrpc__chttp2__huffsym.html#a11ba8572355dad4e35ac61f2289d1e88',1,'grpc_chttp2_huffsym::length()'],['../structgrpc__begin__message.html#a12d8a0f037d922d2a6aecd010d9af9b0',1,'grpc_begin_message::length()'],['../structb64__huff__sym.html#a32397c9284689efd11eb89236d8d69e2',1,'b64_huff_sym::length()'],['../structgpr__slice.html#a8867b2d660a87061534be9c8098d4fa5',1,'gpr_slice::length()'],['../structgpr__slice.html#acd3242f89b2999d12788e65337662cf3',1,'gpr_slice::length()'],['../structgpr__slice__buffer.html#a2150637602d9080cdb111d09c1d669c3',1,'gpr_slice_buffer::length()'],['../structdump__out.html#ae5a2d8bf503113afc8d2da2cb36d70ad',1,'dump_out::length()']]], + ['line',['line',['../structgpr__log__func__args.html#ae1a051bbc7e0ef6c58de0db3efda24bb',1,'gpr_log_func_args']]], + ['links',['links',['../structgrpc__chttp2__stream.html#a6ffcd70fca0b8574e024e572c3928624',1,'grpc_chttp2_stream']]], + ['list',['list',['../structgrpc__metadata__batch.html#a70a05bf082db5e80a822fbd91ac5805d',1,'grpc_metadata_batch::list()'],['../structshard__type.html#a9e5f5db6f2eb96346ad17f43f731b31f',1,'shard_type::list()']]], + ['listener',['listener',['../structlistener.html',1,'listener'],['../server_8c.html#a0a81ac863a31441ba5e8e2fc6be04f2c',1,'listener(): server.c']]], + ['listeners',['listeners',['../structgrpc__server.html#a8034614967f908b2de453975996bdb7f',1,'grpc_server']]], + ['listeners_5fdestroyed',['listeners_destroyed',['../structgrpc__server.html#aa36374d7075e4d6af2c2c2cb8dc26552',1,'grpc_server']]], + ['lists',['lists',['../structgrpc__chttp2__transport.html#a70d937138945c07b53f7be848fb1cc4a',1,'grpc_chttp2_transport']]], + ['lithdr_5fincidx',['LITHDR_INCIDX',['../hpack__parser_8c.html#a82ea1fc72cfd46090df5eb5f87ba1918ad521ba7e26b2f29b70f24ebe99a7b6d4',1,'hpack_parser.c']]], + ['lithdr_5fincidx_5fv',['LITHDR_INCIDX_V',['../hpack__parser_8c.html#a82ea1fc72cfd46090df5eb5f87ba1918acc616dbc2d6e6d99eb2879bc55a85e8c',1,'hpack_parser.c']]], + ['lithdr_5fincidx_5fx',['LITHDR_INCIDX_X',['../hpack__parser_8c.html#a82ea1fc72cfd46090df5eb5f87ba1918abc7a5a868dc1b4304662225ded589449',1,'hpack_parser.c']]], + ['lithdr_5fnotidx',['LITHDR_NOTIDX',['../hpack__parser_8c.html#a82ea1fc72cfd46090df5eb5f87ba1918a21b8279ee1879c395b696774c516b925',1,'hpack_parser.c']]], + ['lithdr_5fnotidx_5fv',['LITHDR_NOTIDX_V',['../hpack__parser_8c.html#a82ea1fc72cfd46090df5eb5f87ba1918a9108c78104ce0a038a1ee76f9d56ebb4',1,'hpack_parser.c']]], + ['lithdr_5fnotidx_5fx',['LITHDR_NOTIDX_X',['../hpack__parser_8c.html#a82ea1fc72cfd46090df5eb5f87ba1918a17dbb369763076fa7714c613ca4778b4',1,'hpack_parser.c']]], + ['lithdr_5fnvridx',['LITHDR_NVRIDX',['../hpack__parser_8c.html#a82ea1fc72cfd46090df5eb5f87ba1918aa4c98da3a42fad37a7eaaa74e76590e2',1,'hpack_parser.c']]], + ['lithdr_5fnvridx_5fv',['LITHDR_NVRIDX_V',['../hpack__parser_8c.html#a82ea1fc72cfd46090df5eb5f87ba1918ab3fbe40c948e7abb4b587700f295c508',1,'hpack_parser.c']]], + ['lithdr_5fnvridx_5fx',['LITHDR_NVRIDX_X',['../hpack__parser_8c.html#a82ea1fc72cfd46090df5eb5f87ba1918a9e86cc54448658713f683983a377d364',1,'hpack_parser.c']]], + ['locked',['locked',['../structgpr__mu.html#ac16a7b74cd7175a34b776215fd357342',1,'gpr_mu']]], + ['lockfree_5fnode',['lockfree_node',['../unionlockfree__node.html',1,'lockfree_node'],['../stack__lockfree_8c.html#a64e6ad783031985682ffda6b0c912bb6',1,'lockfree_node(): stack_lockfree.c']]], + ['lockfree_5fnode_5fcontents',['lockfree_node_contents',['../structlockfree__node__contents.html',1,'']]], + ['log_2ec',['log.c',['../log_8c.html',1,'']]], + ['log_2eh',['log.h',['../log_8h.html',1,'']]], + ['log2_5fnum_5fshards',['LOG2_NUM_SHARDS',['../alarm_8c.html#ae48da0bb5039d191e6de667c888624c1',1,'alarm.c']]], + ['log_5fandroid_2ec',['log_android.c',['../log__android_8c.html',1,'']]], + ['log_5flinux_2ec',['log_linux.c',['../log__linux_8c.html',1,'']]], + ['log_5fposix_2ec',['log_posix.c',['../log__posix_8c.html',1,'']]], + ['log_5fwin32_2ec',['log_win32.c',['../log__win32_8c.html',1,'']]], + ['log_5fwin32_2eh',['log_win32.h',['../log__win32_8h.html',1,'']]] +]; diff --git a/doc/ref/core.internal/html/search/all_d.html b/doc/ref/core.internal/html/search/all_d.html new file mode 100644 index 0000000000..d51093367e --- /dev/null +++ b/doc/ref/core.internal/html/search/all_d.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core.internal/html/search/all_d.js b/doc/ref/core.internal/html/search/all_d.js new file mode 100644 index 0000000000..0b9f38fd77 --- /dev/null +++ b/doc/ref/core.internal/html/search/all_d.js @@ -0,0 +1,70 @@ +var searchData= +[ + ['malloc_5frefcount',['malloc_refcount',['../structmalloc__refcount.html',1,'']]], + ['mappings',['mappings',['../structgrpc__jwt__verifier.html#a1d15c7406be10b7fc86775320b2afac4',1,'grpc_jwt_verifier']]], + ['master',['master',['../structgrpc__subchannel__args.html#a638843df1c8557f4218b05eabb9b3275',1,'grpc_subchannel_args::master()'],['../structsubchannel__factory.html#ab7945d086262563fdde51b250893e428',1,'subchannel_factory::master()'],['../structchannel__data.html#a185d2abf35cf1fbdaa13b4fb097bda5e',1,'channel_data::master()'],['../structgrpc__subchannel.html#a7662fa59b78e15ce10c272651e82b70d',1,'grpc_subchannel::master()']]], + ['masters',['masters',['../structgrpc__call.html#a6a0e7c0825db8dc7561af44663cbd75d',1,'grpc_call']]], + ['max_5falarms_5fper_5fcheck',['MAX_ALARMS_PER_CHECK',['../alarm_8c.html#a035d5ac078d2c49bd8bc08a56eaeb7bb',1,'alarm.c']]], + ['max_5fbuffer_5flength',['MAX_BUFFER_LENGTH',['../connected__channel_8c.html#aa8a8ed5c9e057542ff818fde39a94f07',1,'connected_channel.c']]], + ['max_5fbytes',['max_bytes',['../structgrpc__chttp2__hptbl.html#a3cd55ea4e1f534ff161788d6609ff27b',1,'grpc_chttp2_hptbl']]], + ['max_5fclient_5fstream_5fid',['MAX_CLIENT_STREAM_ID',['../chttp2__transport_8c.html#afdde497df8d499ae838ff389ab262ab5',1,'chttp2_transport.c']]], + ['max_5fconcurrent_5fcompletions',['MAX_CONCURRENT_COMPLETIONS',['../call_8c.html#adc0473bd2ea598bc8b0d09c6f43b3a89',1,'call.c']]], + ['max_5fcredentials_5fmetadata_5fcount',['MAX_CREDENTIALS_METADATA_COUNT',['../client__auth__filter_8c.html#a0e5b323dfbc6ab0f070bf6c5a2a9be55',1,'client_auth_filter.c']]], + ['max_5fdecoder_5fspace_5fusage',['MAX_DECODER_SPACE_USAGE',['../stream__encoder_8c.html#a7216827b7f9b1ea6a0b108518cde0a7a',1,'stream_encoder.c']]], + ['max_5ffilters',['MAX_FILTERS',['../secure__channel__create_8c.html#a9b1446343e6c9b066f546fcb7b33fba2',1,'MAX_FILTERS(): secure_channel_create.c'],['../channel__create_8c.html#a9b1446343e6c9b066f546fcb7b33fba2',1,'MAX_FILTERS(): channel_create.c']]], + ['max_5fframe_5fsize',['max_frame_size',['../structtsi__fake__frame__protector.html#a03f274c6362a35ad486d91fdac777816',1,'tsi_fake_frame_protector']]], + ['max_5fmessage_5flength',['max_message_length',['../structgrpc__channel.html#af25859261f7e57e5c5f2bbafda64dbf1',1,'grpc_channel']]], + ['max_5fpossible',['max_possible',['../structgpr__histogram.html#af94ad5cd243aff89bbe7b0a9918dab77',1,'gpr_histogram']]], + ['max_5fqueue_5fwindow_5fduration',['MAX_QUEUE_WINDOW_DURATION',['../alarm_8c.html#aa7820b33745be59861679298b76d9a95',1,'alarm.c']]], + ['max_5frecv_5fbytes',['max_recv_bytes',['../structgrpc__chttp2__stream__global.html#a5cce3879b45e4a8553d25aba1fe85ed7',1,'grpc_chttp2_stream_global::max_recv_bytes()'],['../structgrpc__transport__stream__op.html#a5128bc8ec8613950cbb3037d56f8375b',1,'grpc_transport_stream_op::max_recv_bytes()']]], + ['max_5frequested_5fcalls',['max_requested_calls',['../structgrpc__server.html#aaaa9b2a91b6e3edd7ebb0b194110f403',1,'grpc_server']]], + ['max_5fresolvers',['MAX_RESOLVERS',['../resolver__registry_8c.html#af575a6a4adada94cfdb731c84e327ed2',1,'resolver_registry.c']]], + ['max_5fseen',['max_seen',['../structgpr__histogram.html#ac2fa92c952ba4d7edccefd7702701ee1',1,'gpr_histogram']]], + ['max_5fsend_5finitial_5fmetadata_5fcount',['MAX_SEND_INITIAL_METADATA_COUNT',['../call_8c.html#ab0c91da8d11c6964aded3fbecff4a15c',1,'call.c']]], + ['max_5ftbl_5fsize',['MAX_TBL_SIZE',['../hpack__parser_8c.html#a82ea1fc72cfd46090df5eb5f87ba1918a01c9e4f4b7e8c618841fab7c6fab28d8',1,'hpack_parser.c']]], + ['max_5ftbl_5fsize_5fx',['MAX_TBL_SIZE_X',['../hpack__parser_8c.html#a82ea1fc72cfd46090df5eb5f87ba1918adb841f9eb9a97d6b2cbcdbc72ecceca4',1,'hpack_parser.c']]], + ['max_5fvalue',['max_value',['../structgrpc__chttp2__setting__parameters.html#af8a60fd353bdb4a187535b0abd9ff001',1,'grpc_chttp2_setting_parameters']]], + ['max_5fwindow',['MAX_WINDOW',['../chttp2__transport_8c.html#a33445af5cbee6560efd1a891e4c01067',1,'chttp2_transport.c']]], + ['maybe_5fwork',['maybe_work',['../structgrpc__pollset__vtable.html#a193dc080ef27a7ba5cef64f99f89cc3f',1,'grpc_pollset_vtable']]], + ['md',['md',['../structgrpc__linked__mdelem.html#a7d66fb9cbd88ee692cd76fda6ef6d715',1,'grpc_linked_mdelem']]], + ['md_5fctx',['md_ctx',['../structchannel__data.html#ad12b240dea3a1193fa08327ef1e4553e',1,'channel_data']]], + ['md_5felems',['md_elems',['../structgrpc__composite__credentials__metadata__context.html#a5102b59e552251b072c0ac96020b43ea',1,'grpc_composite_credentials_metadata_context']]], + ['md_5flinks',['md_links',['../structcall__data.html#a0cb931b8950cc5841edf1156ca861600',1,'call_data']]], + ['mdctx',['mdctx',['../structgrpc__subchannel__args.html#a7b12c4bb3d78ac8e92cfa31d23ac5477',1,'grpc_subchannel_args::mdctx()'],['../structgrpc__chttp2__hptbl.html#a6c63d76ec5273e0eb935906636d1325b',1,'grpc_chttp2_hptbl::mdctx()'],['../structgrpc__chttp2__hpack__compressor.html#a61abe6f1abcdf8aa50589996f524303c',1,'grpc_chttp2_hpack_compressor::mdctx()'],['../structsubchannel__factory.html#a920af9d40dedd8ba5eb2f64648eb5008',1,'subchannel_factory::mdctx()'],['../structchannel__data.html#a8ccd22d950d3fda54a0f338d55d1f813',1,'channel_data::mdctx()'],['../structgrpc__subchannel.html#a2e2040552b5320c9a91a6e080760f96a',1,'grpc_subchannel::mdctx()']]], + ['mdelem_5fcompression_5falgorithms',['mdelem_compression_algorithms',['../structchannel__data.html#a4af222359dc97dc96780402413bb015d',1,'channel_data']]], + ['mdstr_5foutgoing_5fcompression_5falgorithm_5fkey',['mdstr_outgoing_compression_algorithm_key',['../structchannel__data.html#aeb493774aec5abf500f8ef36b99553d6',1,'channel_data']]], + ['mdstr_5frequest_5fcompression_5falgorithm_5fkey',['mdstr_request_compression_algorithm_key',['../structchannel__data.html#a9c1ff3982fc4510f367df5a35960abcb',1,'channel_data']]], + ['mdtab',['mdtab',['../structgrpc__mdctx.html#adff99895d519ab72b9c66a23de57156c',1,'grpc_mdctx']]], + ['mdtab_5fcapacity',['mdtab_capacity',['../structgrpc__mdctx.html#ab79559486a14c29803dd0f6464afe2df',1,'grpc_mdctx']]], + ['mdtab_5fcount',['mdtab_count',['../structgrpc__mdctx.html#af513520e504950d327e9a41cb1781779',1,'grpc_mdctx']]], + ['mdtab_5ffree',['mdtab_free',['../structgrpc__mdctx.html#a42820dc23bdea76b0d2a7e7db3d64131',1,'grpc_mdctx']]], + ['mem_5fused',['mem_used',['../structgrpc__chttp2__hptbl.html#ab542479dd03d89957ea9920213371878',1,'grpc_chttp2_hptbl']]], + ['merge_5fargs',['merge_args',['../structsubchannel__factory.html#a0538fbb1dc64ec4ab487326b64792bde',1,'subchannel_factory::merge_args()'],['../structmerge__args__factory.html#a973c42ea64bda49e62c9648f1d9eb919',1,'merge_args_factory::merge_args()']]], + ['merge_5fargs_5ffactory',['merge_args_factory',['../structmerge__args__factory.html',1,'']]], + ['merge_5fchannel_5fargs_2ec',['merge_channel_args.c',['../merge__channel__args_8c.html',1,'']]], + ['merge_5fchannel_5fargs_2eh',['merge_channel_args.h',['../merge__channel__args_8h.html',1,'']]], + ['message',['message',['../structgpr__log__func__args.html#ad9ce882bef15e3127620a8ef47f2b74b',1,'gpr_log_func_args']]], + ['message_5fcompress_2ec',['message_compress.c',['../message__compress_8c.html',1,'']]], + ['message_5fcompress_2eh',['message_compress.h',['../message__compress_8h.html',1,'']]], + ['metadata',['metadata',['../structgrpc__metadata__array.html#ac930a0cc901913fafcd09ca9cca156fe',1,'grpc_metadata_array::metadata()'],['../structgrpc__op.html#a2e0f0c709658960593d5a36915c8d079',1,'grpc_op::metadata()'],['../uniongrpc__ioreq__data.html#a58b11308558f97bf335ce5575d951968',1,'grpc_ioreq_data::metadata()'],['../structgrpc__stream__op.html#a7ca4e5aaf48c9f11d70136448e40e464',1,'grpc_stream_op::metadata()']]], + ['metadata_2ec',['metadata.c',['../metadata_8c.html',1,'']]], + ['metadata_2eh',['metadata.h',['../metadata_8h.html',1,'']]], + ['metadata_5farray_2ec',['metadata_array.c',['../metadata__array_8c.html',1,'']]], + ['metadata_5fcontext',['metadata_context',['../structgrpc__connect__in__args.html#a6055926502e3764bc0d49c10b945f47e',1,'grpc_connect_in_args::metadata_context()'],['../structgrpc__chttp2__transport.html#a6ef8d064cc295865edf61d27ea8b71a2',1,'grpc_chttp2_transport::metadata_context()'],['../structgrpc__call.html#a1fcf672edf744df8c192aba2da0da3f2',1,'grpc_call::metadata_context()'],['../structgrpc__channel.html#a715d3ad3606de80c57ea96570e364ec8',1,'grpc_channel::metadata_context()']]], + ['method',['method',['../structgrpc__call__details.html#a97c8019d8fa7cbe2014d97c91f9ed0a5',1,'grpc_call_details::method()'],['../structcall__data.html#a7d9cd71936be176040c5f69a78d695b0',1,'call_data::method()'],['../structcall__data.html#a296c3fce88125964cfc50c927249bc4a',1,'call_data::method()'],['../structchannel__data.html#a78079d15b762dcc791e6e996951d9f6a',1,'channel_data::method()'],['../structchannel__registered__method.html#a7d2b4e40ba59b8b98e1b06b94f7345f1',1,'channel_registered_method::method()'],['../structregistered__method.html#a84540106ff6f3763d9ada701667cf77d',1,'registered_method::method()']]], + ['method_5fcapacity',['method_capacity',['../structgrpc__call__details.html#a8a7da868f60a88f42918cc9bdd4d26c0',1,'grpc_call_details']]], + ['method_5fpost',['method_post',['../structchannel__data.html#a05461a751cad059d57ccd5ed3c698fd7',1,'channel_data']]], + ['min_5fdeadline',['min_deadline',['../structshard__type.html#a16cac3c86f6ac95b49f7a8b703dc4f07',1,'shard_type']]], + ['min_5fqueue_5fwindow_5fduration',['MIN_QUEUE_WINDOW_DURATION',['../alarm_8c.html#a1998a9b10fbd17ad50ff85991aeaa645',1,'alarm.c']]], + ['min_5fseen',['min_seen',['../structgpr__histogram.html#abbeba96ddecdda3b716922c510fc1cbf',1,'gpr_histogram']]], + ['min_5fvalue',['min_value',['../structgrpc__chttp2__setting__parameters.html#a53661f0f5873a104014c0f9603ebec82',1,'grpc_chttp2_setting_parameters']]], + ['mu',['mu',['../structgrpc__oauth2__token__fetcher__credentials.html#a1dec60523d8f3844032e213ea8766c45',1,'grpc_oauth2_token_fetcher_credentials::mu()'],['../structgrpc__pollset__kick__state.html#ad193718d72e6ad4fcc9887f0cbba848a',1,'grpc_pollset_kick_state::mu()'],['../structgrpc__pollset.html#ad0ca06526200d8e29888467458f4a924',1,'grpc_pollset::mu()'],['../structgrpc__pollset__set.html#a6e7926b30cf15773b300afb079474703',1,'grpc_pollset_set::mu()'],['../structgrpc__chttp2__transport.html#ab31ca67e25cd2f326a2e72cdfb67254e',1,'grpc_chttp2_transport::mu()'],['../structgrpc__server__secure__state.html#a6572a200d1489334fa4af215ccffa717',1,'grpc_server_secure_state::mu()'],['../structpick__first__lb__policy.html#a5bc2719af90ffde998983bdeeacfd764',1,'pick_first_lb_policy::mu()'],['../structdns__resolver.html#aa1661d76a33a19a305d5edb1b354ce8a',1,'dns_resolver::mu()'],['../structsockaddr__resolver.html#a9ac37ca23a45425c9af702236f53c81d',1,'sockaddr_resolver::mu()'],['../structgrpc__subchannel.html#a020e44ce2c4d73d26c63a4ec9f2f3e14',1,'grpc_subchannel::mu()'],['../structshard__type.html#ae0271c419d83a06ab69fe48ce3e3196b',1,'shard_type::mu()'],['../structgrpc__call.html#a0641698dba5cf939dbc61e2a6019199c',1,'grpc_call::mu()'],['../structstate__watcher.html#a39ac8f332dc6a1b6a9bf0815b6912327',1,'state_watcher::mu()'],['../structgrpc__mdctx.html#a3c1051440f8ce4c48c38a08f5a478c4e',1,'grpc_mdctx::mu()'],['../structgpr__cancellable__list__.html#abf62ecf7376ec1e9f708e2671e494282',1,'gpr_cancellable_list_::mu()'],['../structgpr__cancellable.html#a423e728b92c8890d63490cf4b1fdc30f',1,'gpr_cancellable::mu()']]], + ['mu_5fcall',['mu_call',['../structgrpc__server.html#a4d89504a094de15aa4a208c0159d904b',1,'grpc_server']]], + ['mu_5fconfig',['mu_config',['../structchannel__data.html#a925aa059f74c20ba06718d45b78382af',1,'channel_data']]], + ['mu_5fglobal',['mu_global',['../structgrpc__server.html#a2f291ce57ed6540efe5c99e607be3a27',1,'grpc_server']]], + ['mu_5fstate',['mu_state',['../structcall__data.html#aa671a127b29c32228f221a6121515a64',1,'call_data']]], + ['mu_5fuser_5fdata',['mu_user_data',['../structinternal__metadata.html#a04fa79f6da10ebdc3c337277b0997657',1,'internal_metadata']]], + ['multiplier',['multiplier',['../structgpr__histogram.html#aa3b6846c10a297bf1a9706ab348ffead',1,'gpr_histogram']]], + ['murmur_5fhash_2ec',['murmur_hash.c',['../murmur__hash_8c.html',1,'']]], + ['murmur_5fhash_2eh',['murmur_hash.h',['../murmur__hash_8h.html',1,'']]] +]; diff --git a/doc/ref/core.internal/html/search/all_e.html b/doc/ref/core.internal/html/search/all_e.html new file mode 100644 index 0000000000..3cda0172ed --- /dev/null +++ b/doc/ref/core.internal/html/search/all_e.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core.internal/html/search/all_e.js b/doc/ref/core.internal/html/search/all_e.js new file mode 100644 index 0000000000..b5a9a0bd09 --- /dev/null +++ b/doc/ref/core.internal/html/search/all_e.js @@ -0,0 +1,42 @@ +var searchData= +[ + ['naddrs',['naddrs',['../structgrpc__resolved__addresses.html#a5bad86b3646502cd70807ff2000f6af8',1,'grpc_resolved_addresses']]], + ['name',['name',['../structgrpc__auth__property__iterator.html#a3838efa5eb622c7e2c071497132b1cc7',1,'grpc_auth_property_iterator::name()'],['../structgrpc__auth__property.html#a83fb830ffe7321265dc9b628e9246a27',1,'grpc_auth_property::name()'],['../structtsi__peer__property.html#a6e2341fa26194a045824caa9f9b0cd67',1,'tsi_peer_property::name()'],['../structgrpc__channel__filter.html#afbf60f6f8b73c26026f266f4fc32fda6',1,'grpc_channel_filter::name()'],['../structgrpc__iomgr__object.html#a13e16e45166eec077cacc883824d3cbf',1,'grpc_iomgr_object::name()'],['../structgrpc__chttp2__setting__parameters.html#a2a66171eecdc68ef2e5ec07cbfbbc21f',1,'grpc_chttp2_setting_parameters::name()'],['../structgrpc__connectivity__state__tracker.html#ae7f1a07e62d4fb307459586528f73cb8',1,'grpc_connectivity_state_tracker::name()'],['../structdns__resolver.html#a5670dbafe81b9e38af022bd5cf907fa3',1,'dns_resolver::name()'],['../structtracer.html#a08a3bb14c306ce7394df6a5bb56e6eb3',1,'tracer::name()'],['../structarg.html#a19d6eebdcc5e2c4679c5f77760adb5dc',1,'arg::name()']]], + ['nbf',['nbf',['../structgrpc__jwt__claims.html#a294f9a7e9e2cc0820c469b7b340c980a',1,'grpc_jwt_claims']]], + ['need_5fmask',['need_mask',['../structreqinfo__master.html#af1092f7b58950276ec6b35da0f7e1fd5',1,'reqinfo_master']]], + ['needs_5fdraining',['needs_draining',['../structtsi__fake__frame.html#a5c19114ec65853283cf5234b8bef611b',1,'tsi_fake_frame']]], + ['needs_5fincoming_5fmessage',['needs_incoming_message',['../structtsi__fake__handshaker.html#a5b5522b09970836d1867fc4c08411c91',1,'tsi_fake_handshaker']]], + ['new_5fslice_5frefcount',['new_slice_refcount',['../structnew__slice__refcount.html',1,'new_slice_refcount'],['../slice_8c.html#a58022d982381d1f2d8125f9f24e2e1ae',1,'new_slice_refcount(): slice.c']]], + ['new_5fstream_5fmap',['new_stream_map',['../structgrpc__chttp2__transport.html#a8f38d1bd29aad2855ebf9d15bdcaaeca',1,'grpc_chttp2_transport']]], + ['new_5fwith_5flen_5fslice_5frefcount',['new_with_len_slice_refcount',['../structnew__with__len__slice__refcount.html',1,'new_with_len_slice_refcount'],['../slice_8c.html#a07dd4d3601f8c54de26721289ba4d822',1,'new_with_len_slice_refcount(): slice.c']]], + ['next',['next',['../structgrpc__resolver__vtable.html#acb5664454e15125b336b372239716cf0',1,'grpc_resolver_vtable::next()'],['../structgrpc__alarm.html#a2f83596c1a3e1337f333dcffebabb7ab',1,'grpc_alarm::next()'],['../structgrpc__fd__watcher.html#a0c4eac683d7d83c76e36cc3ffc4e91ae',1,'grpc_fd_watcher::next()'],['../structgrpc__iomgr__closure.html#a6c10e6b944c74f416a5ce5c1478f33ef',1,'grpc_iomgr_closure::next()'],['../structgrpc__iomgr__object.html#ab784d00749f3e4deff50218c67993e0c',1,'grpc_iomgr_object::next()'],['../structgrpc__kick__fd__info.html#a6612c537977b6a493b0605fd8e22f05f',1,'grpc_kick_fd_info::next()'],['../structgrpc__json.html#adeb16bd124a30378d80005a3c89d73e2',1,'grpc_json::next()'],['../structgrpc__cq__completion.html#ae7107ba3521b7cabde35c3334547a948',1,'grpc_cq_completion::next()'],['../structgrpc__chttp2__stream__link.html#a5797275d863aafdfa8342d0b73a890de',1,'grpc_chttp2_stream_link::next()'],['../structgrpc__chttp2__outstanding__ping.html#a5080d611692ac78edffef1ead748d34f',1,'grpc_chttp2_outstanding_ping::next()'],['../structgrpc__connectivity__state__watcher.html#af56652db73ffb05884d92d16713dc388',1,'grpc_connectivity_state_watcher::next()'],['../structgrpc__linked__mdelem.html#aed036e1e54603e73e4cc7cb28c652cef',1,'grpc_linked_mdelem::next()'],['../structtcp__endpoint__list.html#aaeb000e9fe236631fc1355b657a9e1fe',1,'tcp_endpoint_list::next()'],['../structpending__pick.html#abecbb432724c24c523d0cfda19f7b1c1',1,'pending_pick::next()'],['../structwaiting__for__connect.html#a62c2a3b3fa576054930f40d722716438',1,'waiting_for_connect::next()'],['../structtracer.html#aec6b92c7c58fec94b57b7a2385c3c3c1',1,'tracer::next()'],['../structregistered__call.html#a81f1e87dddb1f37ff09a9aaa56ca62cd',1,'registered_call::next()'],['../structlistener.html#afd926873c32f6f18eff932b871c7a9d7',1,'listener::next()'],['../structcall__link.html#a61d52b76dfba4d08d6c453392dea6947',1,'call_link::next()'],['../structchannel__data.html#a7cbc7853658b85e4f62f37a71189a3d7',1,'channel_data::next()'],['../structregistered__method.html#a662f0ff612e8211e1ac2ff2bc7350776',1,'registered_method::next()'],['../structgpr__cancellable__list__.html#a425195e5ab594a2cfdcc976e5167242a',1,'gpr_cancellable_list_::next()'],['../structarg.html#a5e585c92ebdfcf1c6d966d887d07f7ff',1,'arg::next()']]], + ['next_5faddress',['next_address',['../structinternal__request.html#a76357b043a6e64d3254650151c2795bb',1,'internal_request']]], + ['next_5fattempt',['next_attempt',['../structgrpc__subchannel.html#a6ee4fc265d48aad4c76411a80001ac5c',1,'grpc_subchannel']]], + ['next_5fcompletion',['next_completion',['../structdns__resolver.html#a6ed64036e71eb1ee7dc886adb51820d6',1,'dns_resolver::next_completion()'],['../structsockaddr__resolver.html#acd7a423835a4be78a041f895bba3b421',1,'sockaddr_resolver::next_completion()']]], + ['next_5fmessage_5fto_5fsend',['next_message_to_send',['../structtsi__fake__handshaker.html#ab343e56591aa9bae847d1af36534ecbe',1,'tsi_fake_handshaker']]], + ['next_5fstate',['next_state',['../structgrpc__chttp2__hpack__parser.html#a75cd26cf599e1a3762287726f8f9a7b1',1,'grpc_chttp2_hpack_parser']]], + ['next_5fstream_5fid',['next_stream_id',['../structgrpc__chttp2__transport__global.html#ab5d0acae1272818f552268b1ecb2900f',1,'grpc_chttp2_transport_global::next_stream_id()'],['../structgrpc__chttp2__transport__parsing.html#a760ff12814aea655f58e5ef78af31cc9',1,'grpc_chttp2_transport_parsing::next_stream_id()']]], + ['none',['NONE',['../stream__encoder_8c.html#a3ca2c0bc7578bf3d337e34b2c08a6c5fac157bdf0b85a40d2619cbc8bc1ae5fe2',1,'stream_encoder.c']]], + ['noop_5ffilter_2ec',['noop_filter.c',['../noop__filter_8c.html',1,'']]], + ['noop_5ffilter_2eh',['noop_filter.h',['../noop__filter_8h.html',1,'']]], + ['nops',['nops',['../structgrpc__stream__op__buffer.html#a7b6728e934dd616044c2a796d477551b',1,'grpc_stream_op_buffer']]], + ['not_5fbinary',['NOT_BINARY',['../hpack__parser_8c.html#ad3a7b3c7f62a05667162fb28247a07c2a36e0cd08af8b9cec8a5ae17c6a5c5124',1,'hpack_parser.c']]], + ['not_5fstarted',['NOT_STARTED',['../server_8c.html#a6ca2e6dbf0562417ab7c66e8907a56b1ae7d82dfe80ea0bd4feea8ee49ea2eab5',1,'server.c']]], + ['notify',['notify',['../structgrpc__connectivity__state__watcher.html#a87d9e862c853d0880382af9104ee2e9f',1,'grpc_connectivity_state_watcher::notify()'],['../structconnector.html#ae73053d157c31e9015427d56228e7123',1,'connector::notify()'],['../structwaiting__for__connect.html#a8e497a44e87d2780b2f7dbd2dd006526',1,'waiting_for_connect::notify()']]], + ['notify_5fon_5fread',['notify_on_read',['../structgrpc__endpoint__vtable.html#a86466f2980bcc966d2aebdd5659570d2',1,'grpc_endpoint_vtable']]], + ['notify_5fon_5fstate_5fchange',['notify_on_state_change',['../structgrpc__lb__policy__vtable.html#a655f1dd76748cdfa93f911861c1ec0ed',1,'grpc_lb_policy_vtable']]], + ['num_5fargs',['num_args',['../structgrpc__channel__args.html#a41e5d0b22449f062b3a7798dd528afde',1,'grpc_channel_args']]], + ['num_5fbuckets',['num_buckets',['../structgpr__histogram.html#a039f2094c3aea146aaf6a9a75bc5ab12',1,'gpr_histogram']]], + ['num_5fcached_5fstatus_5felems',['NUM_CACHED_STATUS_ELEMS',['../channel_8c.html#a30ddfda40b473a077ff7c70a7687ddb1',1,'channel.c']]], + ['num_5fchannels',['num_channels',['../structchannel__broadcaster.html#a0b95a339b9c30a54d2f33b336be1c0c9',1,'channel_broadcaster']]], + ['num_5fcompleted_5frequests',['num_completed_requests',['../structgrpc__call.html#ae92d9e5f96d5e80d9c480ab79e051ada',1,'grpc_call']]], + ['num_5fcreds',['num_creds',['../structgrpc__credentials__array.html#a1a4ba8ed410c26eaee6aa5a7d5b36d96',1,'grpc_credentials_array']]], + ['num_5fentries',['num_entries',['../structgrpc__credentials__md__store.html#adfddab340d1b7d7d51087b015f14b259',1,'grpc_credentials_md_store']]], + ['num_5fents',['num_ents',['../structgrpc__chttp2__hptbl.html#a3bd6b0eec3b771fb745295fe4ea57ff1',1,'grpc_chttp2_hptbl']]], + ['num_5ffilters',['num_filters',['../structgrpc__connect__out__args.html#a96fdf8ea43f6e4a2ac73d2f6e21401a3',1,'grpc_connect_out_args::num_filters()'],['../structgrpc__subchannel.html#a0d8559ba4069f1940a92d6d58d4f4009',1,'grpc_subchannel::num_filters()']]], + ['num_5fkey_5fcert_5fpairs',['num_key_cert_pairs',['../structgrpc__ssl__server__config.html#aa029cf135a1f9a4cb69644762e3ec65c',1,'grpc_ssl_server_config']]], + ['num_5fmappings',['num_mappings',['../structgrpc__jwt__verifier.html#a5c116d4a596479e9acb28be8c5adc3b5',1,'grpc_jwt_verifier']]], + ['num_5fshards',['NUM_SHARDS',['../alarm_8c.html#abc8b3b06fc834d57a69ca6ed5e3dfe3e',1,'alarm.c']]], + ['num_5fshutdown_5ftags',['num_shutdown_tags',['../structgrpc__server.html#afd8d25139f82d26ce567e4a1a786b54b',1,'grpc_server']]], + ['num_5fsubchannels',['num_subchannels',['../structpick__first__lb__policy.html#a39415d22c1bb4ace43e7abc6331f08e1',1,'pick_first_lb_policy']]] +]; diff --git a/doc/ref/core.internal/html/search/all_f.html b/doc/ref/core.internal/html/search/all_f.html new file mode 100644 index 0000000000..7419b0297e --- /dev/null +++ b/doc/ref/core.internal/html/search/all_f.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core.internal/html/search/all_f.js b/doc/ref/core.internal/html/search/all_f.js new file mode 100644 index 0000000000..567bfe4873 --- /dev/null +++ b/doc/ref/core.internal/html/search/all_f.js @@ -0,0 +1,52 @@ +var searchData= +[ + ['obfuscated',['obfuscated',['../structgrpc__metadata.html#ae7478a66f65862018cd89768a578ff4f',1,'grpc_metadata']]], + ['offset',['offset',['../structtsi__fake__frame.html#ab1fe06dcec5ebffc85112c9a726ed3f6',1,'tsi_fake_frame']]], + ['on_5fchanged',['on_changed',['../structlb__policy__connectivity__watcher.html#ab9bd1ed9605d5f575ea8e2ce51ed597c',1,'lb_policy_connectivity_watcher']]], + ['on_5fcomplete',['on_complete',['../structpending__pick.html#a754316904bce1aec5d5afcc61b2b5abe',1,'pending_pick::on_complete()'],['../structcompleted__request.html#a2abd9edaf87e7b33717d655f9651a26a',1,'completed_request::on_complete()'],['../structreqinfo__master.html#a77f3e6ff12d266f5e2d0b49ed590a344',1,'reqinfo_master::on_complete()'],['../structstate__watcher.html#a3bd085c4cbd7f167fa42b7191f502d39',1,'state_watcher::on_complete()']]], + ['on_5fconfig_5fchanged',['on_config_changed',['../structchannel__data.html#a5a8db474fbde3443ad862229ef3be367',1,'channel_data']]], + ['on_5fconnectivity_5fstate_5fchange',['on_connectivity_state_change',['../structgrpc__transport__op.html#adb87801e77b1728a01f374dcf78bb953',1,'grpc_transport_op']]], + ['on_5fconsumed',['on_consumed',['../structgrpc__transport__stream__op.html#a7cd4239411c42b2db4271bde0cbc5d93',1,'grpc_transport_stream_op::on_consumed()'],['../structgrpc__transport__op.html#a7a602604dff1707699650659639d3b8a',1,'grpc_transport_op::on_consumed()']]], + ['on_5fdone_5fbind',['on_done_bind',['../structgrpc__call.html#a14ae475238cf1ae8b2d022c7a6b755b7',1,'grpc_call']]], + ['on_5fdone_5fclosure',['on_done_closure',['../structgrpc__fd.html#a85cc2f9f7c86e447f62485f0c053e61f',1,'grpc_fd']]], + ['on_5fdone_5frecv',['on_done_recv',['../structgrpc__transport__stream__op.html#abc8ad987231498734088ce324651a479',1,'grpc_transport_stream_op::on_done_recv()'],['../structcall__data.html#a3c7f4d12b26ecd073c992c56fa9c098d',1,'call_data::on_done_recv()'],['../structgrpc__call.html#a7397b6f80ed39e5e5b3cf1c68e88e959',1,'grpc_call::on_done_recv()']]], + ['on_5fdone_5fsend',['on_done_send',['../structgrpc__transport__stream__op.html#a7c70f894512830f2c77280139a12da07',1,'grpc_transport_stream_op::on_done_send()'],['../structgrpc__call.html#a4cef85f8e845ae1f24f043e5d853a843',1,'grpc_call::on_done_send()']]], + ['on_5fheader',['on_header',['../structgrpc__chttp2__hpack__parser.html#aca1b62cf2179b2ce2c815f80434d408f',1,'grpc_chttp2_hpack_parser']]], + ['on_5fheader_5fuser_5fdata',['on_header_user_data',['../structgrpc__chttp2__hpack__parser.html#a8a8a711d5609cf6886cdddbe3c245d1b',1,'grpc_chttp2_hpack_parser']]], + ['on_5frecv',['on_recv',['../structgrpc__chttp2__outstanding__ping.html#a5e862f14887e10503dc72b98eb33e88c',1,'grpc_chttp2_outstanding_ping']]], + ['on_5fresponse',['on_response',['../structinternal__request.html#a4679ca2c4587920feca983ac852ef2b6',1,'internal_request']]], + ['on_5fsimulated_5ftoken_5ffetch_5fdone',['on_simulated_token_fetch_done',['../credentials_8c.html#ac8aefd37c9b6f7639d730ea60960a9e7',1,'credentials.c']]], + ['on_5fsimulated_5ftoken_5ffetch_5fdone_5fclosure',['on_simulated_token_fetch_done_closure',['../structgrpc__credentials__metadata__request.html#a31c83ca54622158600b17ebcc6047af8',1,'grpc_credentials_metadata_request']]], + ['one_5fon_5fadd_5fprobability',['ONE_ON_ADD_PROBABILITY',['../stream__encoder_8c.html#ad7f6bdf9db2a15a5e00cf3a6825d9957',1,'stream_encoder.c']]], + ['one_5fon_5flog_5fmultiplier',['one_on_log_multiplier',['../structgpr__histogram.html#a63929f09cc7a7feedf7b1f330b0458c3',1,'gpr_histogram']]], + ['op',['op',['../structgrpc__op.html#a702bcecc2462646b6740ed7c05f42115',1,'grpc_op::op()'],['../structgrpc__ioreq.html#a448abf6e8036e7d9ba0c554936e6f4d0',1,'grpc_ioreq::op()'],['../structcall__data.html#a0d259211de98a88e11c71fa93abd2877',1,'call_data::op()']]], + ['op_5fid',['op_id',['../structcensus__context.html#ab46ba00da079c14fed8259bae560fdac',1,'census_context']]], + ['op_5fmd_5fidx',['op_md_idx',['../structcall__data.html#aaa6841afd5ac22f2538e950688f8e67b',1,'call_data']]], + ['opaque',['opaque',['../structgrpc__winsocket__callback__info.html#a003b435519424aae5a48755358b32154',1,'grpc_winsocket_callback_info']]], + ['opaque_5f8bytes',['opaque_8bytes',['../structgrpc__chttp2__ping__parser.html#a338f5adfa9a1236094e16c36c5cd5b4e',1,'grpc_chttp2_ping_parser']]], + ['openssl_5fdigest_5ffrom_5falgorithm',['openssl_digest_from_algorithm',['../json__token_8c.html#accf3a429c0f66a88d8df60b6dab3743f',1,'json_token.c']]], + ['ops',['ops',['../structgrpc__stream__op__buffer.html#adf47a7eadfd9227f876d55a155324975',1,'grpc_stream_op_buffer']]], + ['optional_5fpayload',['optional_payload',['../structrequested__call.html#a5c928486fa8b32b8ff89a672de5b4e2c',1,'requested_call']]], + ['orphan',['orphan',['../structgrpc__winsocket.html#a653e7521937ebda6f6bc230ebae46f08',1,'grpc_winsocket']]], + ['out',['out',['../structhuff__out.html#a2d501bd162d6a335c51b2250e3f1bfef',1,'huff_out']]], + ['outbuf',['outbuf',['../structgrpc__chttp2__transport__writing.html#a8dbe82f6436d8ae4e3410d0ecb28dfc0',1,'grpc_chttp2_transport_writing']]], + ['outgoing',['outgoing',['../structtsi__fake__handshaker.html#aa25567cc12e88a59cbf9ba3b51d90223',1,'tsi_fake_handshaker']]], + ['outgoing_5fsopb',['outgoing_sopb',['../structgrpc__chttp2__stream__global.html#a70e7155660cf0d3bc3dde94b9093a08d',1,'grpc_chttp2_stream_global']]], + ['outgoing_5fwindow',['outgoing_window',['../structgrpc__chttp2__transport__global.html#af48fb355cfabb488dda83d994c1c04c7',1,'grpc_chttp2_transport_global::outgoing_window()'],['../structgrpc__chttp2__stream__global.html#aea8ef0f5795a15621ca9e5e4c7ca0aec',1,'grpc_chttp2_stream_global::outgoing_window()']]], + ['outgoing_5fwindow_5fupdate',['outgoing_window_update',['../structgrpc__chttp2__transport__parsing.html#a499f90a1aa3d67510b4f63191e04d08a',1,'grpc_chttp2_transport_parsing::outgoing_window_update()'],['../structgrpc__chttp2__stream__parsing.html#af9df25144aa81fccd8cb2fa0b30e9196',1,'grpc_chttp2_stream_parsing::outgoing_window_update()']]], + ['output',['output',['../structjson__writer__userdata.html#a1f55aaf048a0ff4414110e154133867d',1,'json_writer_userdata::output()'],['../structframer__state.html#ac6ebee785ebffe4a16a2ccd010ad08d6',1,'framer_state::output()']]], + ['output_5fblock_5fsize',['OUTPUT_BLOCK_SIZE',['../message__compress_8c.html#a64fcbb2644c2b3d0dcdc23ac148dd553',1,'message_compress.c']]], + ['output_5fbuffer',['output_buffer',['../structsecure__endpoint.html#a901c720fdbd311bbaea1e91b441a0d61',1,'secure_endpoint']]], + ['output_5fchar',['output_char',['../structgrpc__json__writer__vtable.html#a92334573a7aa813d3177129cecf747e2',1,'grpc_json_writer_vtable']]], + ['output_5flength_5fat_5fstart_5fof_5fframe',['output_length_at_start_of_frame',['../structframer__state.html#a268504b075ec06de3ff0abb7ee7e589b',1,'framer_state']]], + ['output_5fstring',['output_string',['../structgrpc__json__writer__vtable.html#a07ee0211c783c92e767a42c4629d184e',1,'grpc_json_writer_vtable']]], + ['output_5fstring_5fwith_5flen',['output_string_with_len',['../structgrpc__json__writer__vtable.html#aee2ab161f23b771d3723693cc0c7cafd',1,'grpc_json_writer_vtable']]], + ['outstanding',['outstanding',['../structgrpc__winsocket__callback__info.html#af611ff1de50e57d79e8ea33a220136bc',1,'grpc_winsocket_callback_info']]], + ['outstanding_5fmetadata',['outstanding_metadata',['../structgrpc__chttp2__stream__global.html#aca96799d31e4980af7c974d211534cc0',1,'grpc_chttp2_stream_global']]], + ['overlapped',['overlapped',['../structgrpc__winsocket__callback__info.html#a779ba38c4d952003a53cf6f415992e09',1,'grpc_winsocket_callback_info']]], + ['overridden_5ftarget_5fname',['overridden_target_name',['../structgrpc__ssl__channel__security__connector.html#aaa9e644fdf517be178f1543922ddbe9a',1,'grpc_ssl_channel_security_connector']]], + ['owned_5fmetadata',['owned_metadata',['../structgrpc__call.html#a3d2b2ada096589b52bfafa00be6e25b2',1,'grpc_call']]], + ['owned_5fmetadata_5fcapacity',['owned_metadata_capacity',['../structgrpc__call.html#a34cb5caca97e3b28ed0d321d9d38f6c8',1,'grpc_call']]], + ['owned_5fmetadata_5fcount',['owned_metadata_count',['../structgrpc__call.html#acc8804b9c6ee72c862e9eba7518a48ee',1,'grpc_call']]], + ['owning_5frefs',['owning_refs',['../structgrpc__completion__queue.html#aae47cbaaca85ca3f9e7cb2317709f8e6',1,'grpc_completion_queue']]] +]; diff --git a/doc/ref/core.internal/html/search/classes_0.html b/doc/ref/core.internal/html/search/classes_0.html new file mode 100644 index 0000000000..fabdc03679 --- /dev/null +++ b/doc/ref/core.internal/html/search/classes_0.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core.internal/html/search/classes_0.js b/doc/ref/core.internal/html/search/classes_0.js new file mode 100644 index 0000000000..2d59ecacb8 --- /dev/null +++ b/doc/ref/core.internal/html/search/classes_0.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['arg',['arg',['../structarg.html',1,'']]] +]; diff --git a/doc/ref/core.internal/html/search/classes_1.html b/doc/ref/core.internal/html/search/classes_1.html new file mode 100644 index 0000000000..800b6ae1bf --- /dev/null +++ b/doc/ref/core.internal/html/search/classes_1.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core.internal/html/search/classes_1.js b/doc/ref/core.internal/html/search/classes_1.js new file mode 100644 index 0000000000..4759534b97 --- /dev/null +++ b/doc/ref/core.internal/html/search/classes_1.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['b64_5fhuff_5fsym',['b64_huff_sym',['../structb64__huff__sym.html',1,'']]] +]; diff --git a/doc/ref/core.internal/html/search/classes_10.html b/doc/ref/core.internal/html/search/classes_10.html new file mode 100644 index 0000000000..e03af79468 --- /dev/null +++ b/doc/ref/core.internal/html/search/classes_10.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core.internal/html/search/classes_10.js b/doc/ref/core.internal/html/search/classes_10.js new file mode 100644 index 0000000000..54a3a16849 --- /dev/null +++ b/doc/ref/core.internal/html/search/classes_10.js @@ -0,0 +1,19 @@ +var searchData= +[ + ['tcp_5fendpoint_5flist',['tcp_endpoint_list',['../structtcp__endpoint__list.html',1,'']]], + ['tracer',['tracer',['../structtracer.html',1,'']]], + ['tsi_5ffake_5fframe',['tsi_fake_frame',['../structtsi__fake__frame.html',1,'']]], + ['tsi_5ffake_5fframe_5fprotector',['tsi_fake_frame_protector',['../structtsi__fake__frame__protector.html',1,'']]], + ['tsi_5ffake_5fhandshaker',['tsi_fake_handshaker',['../structtsi__fake__handshaker.html',1,'']]], + ['tsi_5fframe_5fprotector',['tsi_frame_protector',['../structtsi__frame__protector.html',1,'']]], + ['tsi_5fframe_5fprotector_5fvtable',['tsi_frame_protector_vtable',['../structtsi__frame__protector__vtable.html',1,'']]], + ['tsi_5fhandshaker',['tsi_handshaker',['../structtsi__handshaker.html',1,'']]], + ['tsi_5fhandshaker_5fvtable',['tsi_handshaker_vtable',['../structtsi__handshaker__vtable.html',1,'']]], + ['tsi_5fpeer',['tsi_peer',['../structtsi__peer.html',1,'']]], + ['tsi_5fpeer_5fproperty',['tsi_peer_property',['../structtsi__peer__property.html',1,'']]], + ['tsi_5fssl_5fclient_5fhandshaker_5ffactory',['tsi_ssl_client_handshaker_factory',['../structtsi__ssl__client__handshaker__factory.html',1,'']]], + ['tsi_5fssl_5fframe_5fprotector',['tsi_ssl_frame_protector',['../structtsi__ssl__frame__protector.html',1,'']]], + ['tsi_5fssl_5fhandshaker',['tsi_ssl_handshaker',['../structtsi__ssl__handshaker.html',1,'']]], + ['tsi_5fssl_5fhandshaker_5ffactory',['tsi_ssl_handshaker_factory',['../structtsi__ssl__handshaker__factory.html',1,'']]], + ['tsi_5fssl_5fserver_5fhandshaker_5ffactory',['tsi_ssl_server_handshaker_factory',['../structtsi__ssl__server__handshaker__factory.html',1,'']]] +]; diff --git a/doc/ref/core.internal/html/search/classes_11.html b/doc/ref/core.internal/html/search/classes_11.html new file mode 100644 index 0000000000..519b239905 --- /dev/null +++ b/doc/ref/core.internal/html/search/classes_11.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core.internal/html/search/classes_11.js b/doc/ref/core.internal/html/search/classes_11.js new file mode 100644 index 0000000000..ad6dc506db --- /dev/null +++ b/doc/ref/core.internal/html/search/classes_11.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['verifier_5fcb_5fctx',['verifier_cb_ctx',['../structverifier__cb__ctx.html',1,'']]] +]; diff --git a/doc/ref/core.internal/html/search/classes_12.html b/doc/ref/core.internal/html/search/classes_12.html new file mode 100644 index 0000000000..4240e9f563 --- /dev/null +++ b/doc/ref/core.internal/html/search/classes_12.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core.internal/html/search/classes_12.js b/doc/ref/core.internal/html/search/classes_12.js new file mode 100644 index 0000000000..5967390893 --- /dev/null +++ b/doc/ref/core.internal/html/search/classes_12.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['waiting_5fcall',['waiting_call',['../structwaiting__call.html',1,'']]], + ['waiting_5ffor_5fconnect',['waiting_for_connect',['../structwaiting__for__connect.html',1,'']]] +]; diff --git a/doc/ref/core.internal/html/search/classes_2.html b/doc/ref/core.internal/html/search/classes_2.html new file mode 100644 index 0000000000..f65d263c0c --- /dev/null +++ b/doc/ref/core.internal/html/search/classes_2.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core.internal/html/search/classes_2.js b/doc/ref/core.internal/html/search/classes_2.js new file mode 100644 index 0000000000..9291cb79e1 --- /dev/null +++ b/doc/ref/core.internal/html/search/classes_2.js @@ -0,0 +1,16 @@ +var searchData= +[ + ['call_5fdata',['call_data',['../structcall__data.html',1,'']]], + ['call_5flink',['call_link',['../structcall__link.html',1,'']]], + ['census_5fcontext',['census_context',['../structcensus__context.html',1,'']]], + ['census_5fstat',['census_stat',['../structcensus__stat.html',1,'']]], + ['channel_5fbroadcaster',['channel_broadcaster',['../structchannel__broadcaster.html',1,'']]], + ['channel_5fdata',['channel_data',['../structchannel__data.html',1,'']]], + ['channel_5fregistered_5fmethod',['channel_registered_method',['../structchannel__registered__method.html',1,'']]], + ['completed_5frequest',['completed_request',['../structcompleted__request.html',1,'']]], + ['compute_5fengine_5fdetector',['compute_engine_detector',['../structcompute__engine__detector.html',1,'']]], + ['connected_5fchannel_5fcall_5fdata',['connected_channel_call_data',['../structconnected__channel__call__data.html',1,'']]], + ['connected_5fchannel_5fchannel_5fdata',['connected_channel_channel_data',['../structconnected__channel__channel__data.html',1,'']]], + ['connection',['connection',['../structconnection.html',1,'']]], + ['connector',['connector',['../structconnector.html',1,'']]] +]; diff --git a/doc/ref/core.internal/html/search/classes_3.html b/doc/ref/core.internal/html/search/classes_3.html new file mode 100644 index 0000000000..927e837f11 --- /dev/null +++ b/doc/ref/core.internal/html/search/classes_3.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core.internal/html/search/classes_3.js b/doc/ref/core.internal/html/search/classes_3.js new file mode 100644 index 0000000000..4bbc5e1934 --- /dev/null +++ b/doc/ref/core.internal/html/search/classes_3.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['dns_5fresolver',['dns_resolver',['../structdns__resolver.html',1,'']]], + ['dump_5fout',['dump_out',['../structdump__out.html',1,'']]] +]; diff --git a/doc/ref/core.internal/html/search/classes_4.html b/doc/ref/core.internal/html/search/classes_4.html new file mode 100644 index 0000000000..a447290ed6 --- /dev/null +++ b/doc/ref/core.internal/html/search/classes_4.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core.internal/html/search/classes_4.js b/doc/ref/core.internal/html/search/classes_4.js new file mode 100644 index 0000000000..beb2bafd14 --- /dev/null +++ b/doc/ref/core.internal/html/search/classes_4.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['email_5fkey_5fmapping',['email_key_mapping',['../structemail__key__mapping.html',1,'']]] +]; diff --git a/doc/ref/core.internal/html/search/classes_5.html b/doc/ref/core.internal/html/search/classes_5.html new file mode 100644 index 0000000000..63484c451e --- /dev/null +++ b/doc/ref/core.internal/html/search/classes_5.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core.internal/html/search/classes_5.js b/doc/ref/core.internal/html/search/classes_5.js new file mode 100644 index 0000000000..72645f424d --- /dev/null +++ b/doc/ref/core.internal/html/search/classes_5.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['finished_5floose_5fop_5fallocated_5fargs',['finished_loose_op_allocated_args',['../structfinished__loose__op__allocated__args.html',1,'']]], + ['framer_5fstate',['framer_state',['../structframer__state.html',1,'']]] +]; diff --git a/doc/ref/core.internal/html/search/classes_6.html b/doc/ref/core.internal/html/search/classes_6.html new file mode 100644 index 0000000000..f3d70354c6 --- /dev/null +++ b/doc/ref/core.internal/html/search/classes_6.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core.internal/html/search/classes_6.js b/doc/ref/core.internal/html/search/classes_6.js new file mode 100644 index 0000000000..1b4a918bcb --- /dev/null +++ b/doc/ref/core.internal/html/search/classes_6.js @@ -0,0 +1,178 @@ +var searchData= +[ + ['gpr_5fcancellable',['gpr_cancellable',['../structgpr__cancellable.html',1,'']]], + ['gpr_5fcancellable_5flist_5f',['gpr_cancellable_list_',['../structgpr__cancellable__list__.html',1,'']]], + ['gpr_5fcmdline',['gpr_cmdline',['../structgpr__cmdline.html',1,'']]], + ['gpr_5fevent',['gpr_event',['../structgpr__event.html',1,'']]], + ['gpr_5fgcc_5fthread_5flocal',['gpr_gcc_thread_local',['../structgpr__gcc__thread__local.html',1,'']]], + ['gpr_5fhistogram',['gpr_histogram',['../structgpr__histogram.html',1,'']]], + ['gpr_5flog_5ffunc_5fargs',['gpr_log_func_args',['../structgpr__log__func__args.html',1,'']]], + ['gpr_5fmsvc_5fthread_5flocal',['gpr_msvc_thread_local',['../structgpr__msvc__thread__local.html',1,'']]], + ['gpr_5fmu',['gpr_mu',['../structgpr__mu.html',1,'']]], + ['gpr_5fpthread_5fthread_5flocal',['gpr_pthread_thread_local',['../structgpr__pthread__thread__local.html',1,'']]], + ['gpr_5frefcount',['gpr_refcount',['../structgpr__refcount.html',1,'']]], + ['gpr_5fslice',['gpr_slice',['../structgpr__slice.html',1,'']]], + ['gpr_5fslice_5fbuffer',['gpr_slice_buffer',['../structgpr__slice__buffer.html',1,'']]], + ['gpr_5fslice_5frefcount',['gpr_slice_refcount',['../structgpr__slice__refcount.html',1,'']]], + ['gpr_5fstack_5flockfree',['gpr_stack_lockfree',['../structgpr__stack__lockfree.html',1,'']]], + ['gpr_5fstats_5fcounter',['gpr_stats_counter',['../structgpr__stats__counter.html',1,'']]], + ['gpr_5fstrvec',['gpr_strvec',['../structgpr__strvec.html',1,'']]], + ['gpr_5fthd_5foptions',['gpr_thd_options',['../structgpr__thd__options.html',1,'']]], + ['gpr_5ftimespec',['gpr_timespec',['../structgpr__timespec.html',1,'']]], + ['grpc_5faccess_5ftoken_5fcredentials',['grpc_access_token_credentials',['../structgrpc__access__token__credentials.html',1,'']]], + ['grpc_5falarm',['grpc_alarm',['../structgrpc__alarm.html',1,'']]], + ['grpc_5falarm_5fheap',['grpc_alarm_heap',['../structgrpc__alarm__heap.html',1,'']]], + ['grpc_5farg',['grpc_arg',['../structgrpc__arg.html',1,'']]], + ['grpc_5fauth_5fcontext',['grpc_auth_context',['../structgrpc__auth__context.html',1,'']]], + ['grpc_5fauth_5fjson_5fkey',['grpc_auth_json_key',['../structgrpc__auth__json__key.html',1,'']]], + ['grpc_5fauth_5fproperty',['grpc_auth_property',['../structgrpc__auth__property.html',1,'']]], + ['grpc_5fauth_5fproperty_5fiterator',['grpc_auth_property_iterator',['../structgrpc__auth__property__iterator.html',1,'']]], + ['grpc_5fauth_5frefresh_5ftoken',['grpc_auth_refresh_token',['../structgrpc__auth__refresh__token.html',1,'']]], + ['grpc_5fbbq_5farray',['grpc_bbq_array',['../structgrpc__bbq__array.html',1,'']]], + ['grpc_5fbegin_5fmessage',['grpc_begin_message',['../structgrpc__begin__message.html',1,'']]], + ['grpc_5fbyte_5fbuffer',['grpc_byte_buffer',['../structgrpc__byte__buffer.html',1,'']]], + ['grpc_5fbyte_5fbuffer_5fqueue',['grpc_byte_buffer_queue',['../structgrpc__byte__buffer__queue.html',1,'']]], + ['grpc_5fbyte_5fbuffer_5freader',['grpc_byte_buffer_reader',['../structgrpc__byte__buffer__reader.html',1,'']]], + ['grpc_5fcall',['grpc_call',['../structgrpc__call.html',1,'']]], + ['grpc_5fcall_5fcontext_5felement',['grpc_call_context_element',['../structgrpc__call__context__element.html',1,'']]], + ['grpc_5fcall_5fdetails',['grpc_call_details',['../structgrpc__call__details.html',1,'']]], + ['grpc_5fcall_5felement',['grpc_call_element',['../structgrpc__call__element.html',1,'']]], + ['grpc_5fcall_5fstack',['grpc_call_stack',['../structgrpc__call__stack.html',1,'']]], + ['grpc_5fchannel',['grpc_channel',['../structgrpc__channel.html',1,'']]], + ['grpc_5fchannel_5fargs',['grpc_channel_args',['../structgrpc__channel__args.html',1,'']]], + ['grpc_5fchannel_5felement',['grpc_channel_element',['../structgrpc__channel__element.html',1,'']]], + ['grpc_5fchannel_5ffilter',['grpc_channel_filter',['../structgrpc__channel__filter.html',1,'']]], + ['grpc_5fchannel_5fsecurity_5fconnector',['grpc_channel_security_connector',['../structgrpc__channel__security__connector.html',1,'']]], + ['grpc_5fchannel_5fstack',['grpc_channel_stack',['../structgrpc__channel__stack.html',1,'']]], + ['grpc_5fchttp2_5fdata_5fparser',['grpc_chttp2_data_parser',['../structgrpc__chttp2__data__parser.html',1,'']]], + ['grpc_5fchttp2_5fgoaway_5fparser',['grpc_chttp2_goaway_parser',['../structgrpc__chttp2__goaway__parser.html',1,'']]], + ['grpc_5fchttp2_5fhpack_5fcompressor',['grpc_chttp2_hpack_compressor',['../structgrpc__chttp2__hpack__compressor.html',1,'']]], + ['grpc_5fchttp2_5fhpack_5fparser',['grpc_chttp2_hpack_parser',['../structgrpc__chttp2__hpack__parser.html',1,'']]], + ['grpc_5fchttp2_5fhpack_5fparser_5fstring',['grpc_chttp2_hpack_parser_string',['../structgrpc__chttp2__hpack__parser__string.html',1,'']]], + ['grpc_5fchttp2_5fhptbl',['grpc_chttp2_hptbl',['../structgrpc__chttp2__hptbl.html',1,'']]], + ['grpc_5fchttp2_5fhptbl_5ffind_5fresult',['grpc_chttp2_hptbl_find_result',['../structgrpc__chttp2__hptbl__find__result.html',1,'']]], + ['grpc_5fchttp2_5fhuffsym',['grpc_chttp2_huffsym',['../structgrpc__chttp2__huffsym.html',1,'']]], + ['grpc_5fchttp2_5fincoming_5fmetadata_5fbuffer',['grpc_chttp2_incoming_metadata_buffer',['../structgrpc__chttp2__incoming__metadata__buffer.html',1,'']]], + ['grpc_5fchttp2_5fincoming_5fmetadata_5flive_5fop_5fbuffer',['grpc_chttp2_incoming_metadata_live_op_buffer',['../structgrpc__chttp2__incoming__metadata__live__op__buffer.html',1,'']]], + ['grpc_5fchttp2_5foutstanding_5fping',['grpc_chttp2_outstanding_ping',['../structgrpc__chttp2__outstanding__ping.html',1,'']]], + ['grpc_5fchttp2_5fping_5fparser',['grpc_chttp2_ping_parser',['../structgrpc__chttp2__ping__parser.html',1,'']]], + ['grpc_5fchttp2_5frst_5fstream_5fparser',['grpc_chttp2_rst_stream_parser',['../structgrpc__chttp2__rst__stream__parser.html',1,'']]], + ['grpc_5fchttp2_5fsetting_5fparameters',['grpc_chttp2_setting_parameters',['../structgrpc__chttp2__setting__parameters.html',1,'']]], + ['grpc_5fchttp2_5fsettings_5fparser',['grpc_chttp2_settings_parser',['../structgrpc__chttp2__settings__parser.html',1,'']]], + ['grpc_5fchttp2_5fstream',['grpc_chttp2_stream',['../structgrpc__chttp2__stream.html',1,'']]], + ['grpc_5fchttp2_5fstream_5fglobal',['grpc_chttp2_stream_global',['../structgrpc__chttp2__stream__global.html',1,'']]], + ['grpc_5fchttp2_5fstream_5flink',['grpc_chttp2_stream_link',['../structgrpc__chttp2__stream__link.html',1,'']]], + ['grpc_5fchttp2_5fstream_5flist',['grpc_chttp2_stream_list',['../structgrpc__chttp2__stream__list.html',1,'']]], + ['grpc_5fchttp2_5fstream_5fmap',['grpc_chttp2_stream_map',['../structgrpc__chttp2__stream__map.html',1,'']]], + ['grpc_5fchttp2_5fstream_5fparsing',['grpc_chttp2_stream_parsing',['../structgrpc__chttp2__stream__parsing.html',1,'']]], + ['grpc_5fchttp2_5fstream_5fwriting',['grpc_chttp2_stream_writing',['../structgrpc__chttp2__stream__writing.html',1,'']]], + ['grpc_5fchttp2_5ftransport',['grpc_chttp2_transport',['../structgrpc__chttp2__transport.html',1,'']]], + ['grpc_5fchttp2_5ftransport_5fglobal',['grpc_chttp2_transport_global',['../structgrpc__chttp2__transport__global.html',1,'']]], + ['grpc_5fchttp2_5ftransport_5fparsing',['grpc_chttp2_transport_parsing',['../structgrpc__chttp2__transport__parsing.html',1,'']]], + ['grpc_5fchttp2_5ftransport_5fwriting',['grpc_chttp2_transport_writing',['../structgrpc__chttp2__transport__writing.html',1,'']]], + ['grpc_5fchttp2_5fwindow_5fupdate_5fparser',['grpc_chttp2_window_update_parser',['../structgrpc__chttp2__window__update__parser.html',1,'']]], + ['grpc_5fclient_5fconfig',['grpc_client_config',['../structgrpc__client__config.html',1,'']]], + ['grpc_5fclient_5fsecurity_5fcontext',['grpc_client_security_context',['../structgrpc__client__security__context.html',1,'']]], + ['grpc_5fcompletion_5fqueue',['grpc_completion_queue',['../structgrpc__completion__queue.html',1,'']]], + ['grpc_5fcomposite_5fcredentials',['grpc_composite_credentials',['../structgrpc__composite__credentials.html',1,'']]], + ['grpc_5fcomposite_5fcredentials_5fmetadata_5fcontext',['grpc_composite_credentials_metadata_context',['../structgrpc__composite__credentials__metadata__context.html',1,'']]], + ['grpc_5fconnect_5fin_5fargs',['grpc_connect_in_args',['../structgrpc__connect__in__args.html',1,'']]], + ['grpc_5fconnect_5fout_5fargs',['grpc_connect_out_args',['../structgrpc__connect__out__args.html',1,'']]], + ['grpc_5fconnectivity_5fstate_5ftracker',['grpc_connectivity_state_tracker',['../structgrpc__connectivity__state__tracker.html',1,'']]], + ['grpc_5fconnectivity_5fstate_5fwatcher',['grpc_connectivity_state_watcher',['../structgrpc__connectivity__state__watcher.html',1,'']]], + ['grpc_5fconnector',['grpc_connector',['../structgrpc__connector.html',1,'']]], + ['grpc_5fconnector_5fvtable',['grpc_connector_vtable',['../structgrpc__connector__vtable.html',1,'']]], + ['grpc_5fcq_5fcompletion',['grpc_cq_completion',['../structgrpc__cq__completion.html',1,'']]], + ['grpc_5fcredentials',['grpc_credentials',['../structgrpc__credentials.html',1,'']]], + ['grpc_5fcredentials_5farray',['grpc_credentials_array',['../structgrpc__credentials__array.html',1,'']]], + ['grpc_5fcredentials_5fmd',['grpc_credentials_md',['../structgrpc__credentials__md.html',1,'']]], + ['grpc_5fcredentials_5fmd_5fstore',['grpc_credentials_md_store',['../structgrpc__credentials__md__store.html',1,'']]], + ['grpc_5fcredentials_5fmetadata_5frequest',['grpc_credentials_metadata_request',['../structgrpc__credentials__metadata__request.html',1,'']]], + ['grpc_5fcredentials_5fvtable',['grpc_credentials_vtable',['../structgrpc__credentials__vtable.html',1,'']]], + ['grpc_5fendpoint',['grpc_endpoint',['../structgrpc__endpoint.html',1,'']]], + ['grpc_5fendpoint_5fpair',['grpc_endpoint_pair',['../structgrpc__endpoint__pair.html',1,'']]], + ['grpc_5fendpoint_5fvtable',['grpc_endpoint_vtable',['../structgrpc__endpoint__vtable.html',1,'']]], + ['grpc_5fevent',['grpc_event',['../structgrpc__event.html',1,'']]], + ['grpc_5ffake_5fchannel_5fsecurity_5fconnector',['grpc_fake_channel_security_connector',['../structgrpc__fake__channel__security__connector.html',1,'']]], + ['grpc_5ffake_5foauth2_5fcredentials',['grpc_fake_oauth2_credentials',['../structgrpc__fake__oauth2__credentials.html',1,'']]], + ['grpc_5ffd',['grpc_fd',['../structgrpc__fd.html',1,'']]], + ['grpc_5ffd_5fwatcher',['grpc_fd_watcher',['../structgrpc__fd__watcher.html',1,'']]], + ['grpc_5fhttpcli_5fcontext',['grpc_httpcli_context',['../structgrpc__httpcli__context.html',1,'']]], + ['grpc_5fhttpcli_5fheader',['grpc_httpcli_header',['../structgrpc__httpcli__header.html',1,'']]], + ['grpc_5fhttpcli_5fparser',['grpc_httpcli_parser',['../structgrpc__httpcli__parser.html',1,'']]], + ['grpc_5fhttpcli_5frequest',['grpc_httpcli_request',['../structgrpc__httpcli__request.html',1,'']]], + ['grpc_5fhttpcli_5fresponse',['grpc_httpcli_response',['../structgrpc__httpcli__response.html',1,'']]], + ['grpc_5fhttpcli_5fssl_5fchannel_5fsecurity_5fconnector',['grpc_httpcli_ssl_channel_security_connector',['../structgrpc__httpcli__ssl__channel__security__connector.html',1,'']]], + ['grpc_5fiam_5fcredentials',['grpc_iam_credentials',['../structgrpc__iam__credentials.html',1,'']]], + ['grpc_5fiomgr_5fclosure',['grpc_iomgr_closure',['../structgrpc__iomgr__closure.html',1,'']]], + ['grpc_5fiomgr_5fobject',['grpc_iomgr_object',['../structgrpc__iomgr__object.html',1,'']]], + ['grpc_5fioreq',['grpc_ioreq',['../structgrpc__ioreq.html',1,'']]], + ['grpc_5fioreq_5fdata',['grpc_ioreq_data',['../uniongrpc__ioreq__data.html',1,'']]], + ['grpc_5fjson',['grpc_json',['../structgrpc__json.html',1,'']]], + ['grpc_5fjson_5freader',['grpc_json_reader',['../structgrpc__json__reader.html',1,'']]], + ['grpc_5fjson_5freader_5fvtable',['grpc_json_reader_vtable',['../structgrpc__json__reader__vtable.html',1,'']]], + ['grpc_5fjson_5fwriter',['grpc_json_writer',['../structgrpc__json__writer.html',1,'']]], + ['grpc_5fjson_5fwriter_5fvtable',['grpc_json_writer_vtable',['../structgrpc__json__writer__vtable.html',1,'']]], + ['grpc_5fjwt_5fclaims',['grpc_jwt_claims',['../structgrpc__jwt__claims.html',1,'']]], + ['grpc_5fjwt_5fverifier',['grpc_jwt_verifier',['../structgrpc__jwt__verifier.html',1,'']]], + ['grpc_5fjwt_5fverifier_5femail_5fdomain_5fkey_5furl_5fmapping',['grpc_jwt_verifier_email_domain_key_url_mapping',['../structgrpc__jwt__verifier__email__domain__key__url__mapping.html',1,'']]], + ['grpc_5fkick_5ffd_5finfo',['grpc_kick_fd_info',['../structgrpc__kick__fd__info.html',1,'']]], + ['grpc_5flb_5fpolicy',['grpc_lb_policy',['../structgrpc__lb__policy.html',1,'']]], + ['grpc_5flb_5fpolicy_5fvtable',['grpc_lb_policy_vtable',['../structgrpc__lb__policy__vtable.html',1,'']]], + ['grpc_5flinked_5fmdelem',['grpc_linked_mdelem',['../structgrpc__linked__mdelem.html',1,'']]], + ['grpc_5fmdctx',['grpc_mdctx',['../structgrpc__mdctx.html',1,'']]], + ['grpc_5fmdelem',['grpc_mdelem',['../structgrpc__mdelem.html',1,'']]], + ['grpc_5fmdelem_5flist',['grpc_mdelem_list',['../structgrpc__mdelem__list.html',1,'']]], + ['grpc_5fmdstr',['grpc_mdstr',['../structgrpc__mdstr.html',1,'']]], + ['grpc_5fmetadata',['grpc_metadata',['../structgrpc__metadata.html',1,'']]], + ['grpc_5fmetadata_5farray',['grpc_metadata_array',['../structgrpc__metadata__array.html',1,'']]], + ['grpc_5fmetadata_5fbatch',['grpc_metadata_batch',['../structgrpc__metadata__batch.html',1,'']]], + ['grpc_5foauth2_5ftoken_5ffetcher_5fcredentials',['grpc_oauth2_token_fetcher_credentials',['../structgrpc__oauth2__token__fetcher__credentials.html',1,'']]], + ['grpc_5fop',['grpc_op',['../structgrpc__op.html',1,'']]], + ['grpc_5fpollset',['grpc_pollset',['../structgrpc__pollset.html',1,'']]], + ['grpc_5fpollset_5fkick_5fstate',['grpc_pollset_kick_state',['../structgrpc__pollset__kick__state.html',1,'']]], + ['grpc_5fpollset_5fset',['grpc_pollset_set',['../structgrpc__pollset__set.html',1,'']]], + ['grpc_5fpollset_5fvtable',['grpc_pollset_vtable',['../structgrpc__pollset__vtable.html',1,'']]], + ['grpc_5fprecise_5fclock',['grpc_precise_clock',['../structgrpc__precise__clock.html',1,'']]], + ['grpc_5frefresh_5ftoken_5fcredentials',['grpc_refresh_token_credentials',['../structgrpc__refresh__token__credentials.html',1,'']]], + ['grpc_5fresolved_5faddress',['grpc_resolved_address',['../structgrpc__resolved__address.html',1,'']]], + ['grpc_5fresolved_5faddresses',['grpc_resolved_addresses',['../structgrpc__resolved__addresses.html',1,'']]], + ['grpc_5fresolver',['grpc_resolver',['../structgrpc__resolver.html',1,'']]], + ['grpc_5fresolver_5ffactory',['grpc_resolver_factory',['../structgrpc__resolver__factory.html',1,'']]], + ['grpc_5fresolver_5ffactory_5fvtable',['grpc_resolver_factory_vtable',['../structgrpc__resolver__factory__vtable.html',1,'']]], + ['grpc_5fresolver_5fvtable',['grpc_resolver_vtable',['../structgrpc__resolver__vtable.html',1,'']]], + ['grpc_5fsecure_5ftransport_5fsetup',['grpc_secure_transport_setup',['../structgrpc__secure__transport__setup.html',1,'']]], + ['grpc_5fsecurity_5fconnector',['grpc_security_connector',['../structgrpc__security__connector.html',1,'']]], + ['grpc_5fsecurity_5fconnector_5fvtable',['grpc_security_connector_vtable',['../structgrpc__security__connector__vtable.html',1,'']]], + ['grpc_5fserver',['grpc_server',['../structgrpc__server.html',1,'']]], + ['grpc_5fserver_5fcredentials',['grpc_server_credentials',['../structgrpc__server__credentials.html',1,'']]], + ['grpc_5fserver_5fcredentials_5fvtable',['grpc_server_credentials_vtable',['../structgrpc__server__credentials__vtable.html',1,'']]], + ['grpc_5fserver_5fsecure_5fstate',['grpc_server_secure_state',['../structgrpc__server__secure__state.html',1,'']]], + ['grpc_5fserver_5fsecurity_5fcontext',['grpc_server_security_context',['../structgrpc__server__security__context.html',1,'']]], + ['grpc_5fservice_5faccount_5fcredentials',['grpc_service_account_credentials',['../structgrpc__service__account__credentials.html',1,'']]], + ['grpc_5fservice_5faccount_5fjwt_5faccess_5fcredentials',['grpc_service_account_jwt_access_credentials',['../structgrpc__service__account__jwt__access__credentials.html',1,'']]], + ['grpc_5fssl_5fchannel_5fsecurity_5fconnector',['grpc_ssl_channel_security_connector',['../structgrpc__ssl__channel__security__connector.html',1,'']]], + ['grpc_5fssl_5fconfig',['grpc_ssl_config',['../structgrpc__ssl__config.html',1,'']]], + ['grpc_5fssl_5fcredentials',['grpc_ssl_credentials',['../structgrpc__ssl__credentials.html',1,'']]], + ['grpc_5fssl_5fpem_5fkey_5fcert_5fpair',['grpc_ssl_pem_key_cert_pair',['../structgrpc__ssl__pem__key__cert__pair.html',1,'']]], + ['grpc_5fssl_5fserver_5fconfig',['grpc_ssl_server_config',['../structgrpc__ssl__server__config.html',1,'']]], + ['grpc_5fssl_5fserver_5fcredentials',['grpc_ssl_server_credentials',['../structgrpc__ssl__server__credentials.html',1,'']]], + ['grpc_5fssl_5fserver_5fsecurity_5fconnector',['grpc_ssl_server_security_connector',['../structgrpc__ssl__server__security__connector.html',1,'']]], + ['grpc_5fstream_5fop',['grpc_stream_op',['../structgrpc__stream__op.html',1,'']]], + ['grpc_5fstream_5fop_5fbuffer',['grpc_stream_op_buffer',['../structgrpc__stream__op__buffer.html',1,'']]], + ['grpc_5fsubchannel',['grpc_subchannel',['../structgrpc__subchannel.html',1,'']]], + ['grpc_5fsubchannel_5fargs',['grpc_subchannel_args',['../structgrpc__subchannel__args.html',1,'']]], + ['grpc_5fsubchannel_5fcall',['grpc_subchannel_call',['../structgrpc__subchannel__call.html',1,'']]], + ['grpc_5fsubchannel_5ffactory',['grpc_subchannel_factory',['../structgrpc__subchannel__factory.html',1,'']]], + ['grpc_5fsubchannel_5ffactory_5fvtable',['grpc_subchannel_factory_vtable',['../structgrpc__subchannel__factory__vtable.html',1,'']]], + ['grpc_5ftime_5faveraged_5fstats',['grpc_time_averaged_stats',['../structgrpc__time__averaged__stats.html',1,'']]], + ['grpc_5ftransport',['grpc_transport',['../structgrpc__transport.html',1,'']]], + ['grpc_5ftransport_5fop',['grpc_transport_op',['../structgrpc__transport__op.html',1,'']]], + ['grpc_5ftransport_5fstream_5fop',['grpc_transport_stream_op',['../structgrpc__transport__stream__op.html',1,'']]], + ['grpc_5ftransport_5fvtable',['grpc_transport_vtable',['../structgrpc__transport__vtable.html',1,'']]], + ['grpc_5furi',['grpc_uri',['../structgrpc__uri.html',1,'']]], + ['grpc_5fwakeup_5ffd_5finfo',['grpc_wakeup_fd_info',['../structgrpc__wakeup__fd__info.html',1,'']]], + ['grpc_5fwakeup_5ffd_5fvtable',['grpc_wakeup_fd_vtable',['../structgrpc__wakeup__fd__vtable.html',1,'']]], + ['grpc_5fwinsocket',['grpc_winsocket',['../structgrpc__winsocket.html',1,'']]], + ['grpc_5fwinsocket_5fcallback_5finfo',['grpc_winsocket_callback_info',['../structgrpc__winsocket__callback__info.html',1,'']]] +]; diff --git a/doc/ref/core.internal/html/search/classes_7.html b/doc/ref/core.internal/html/search/classes_7.html new file mode 100644 index 0000000000..9e5f5c9861 --- /dev/null +++ b/doc/ref/core.internal/html/search/classes_7.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core.internal/html/search/classes_7.js b/doc/ref/core.internal/html/search/classes_7.js new file mode 100644 index 0000000000..cd4f2d2d6b --- /dev/null +++ b/doc/ref/core.internal/html/search/classes_7.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['huff_5fout',['huff_out',['../structhuff__out.html',1,'']]] +]; diff --git a/doc/ref/core.internal/html/search/classes_8.html b/doc/ref/core.internal/html/search/classes_8.html new file mode 100644 index 0000000000..82c35b32ef --- /dev/null +++ b/doc/ref/core.internal/html/search/classes_8.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core.internal/html/search/classes_8.js b/doc/ref/core.internal/html/search/classes_8.js new file mode 100644 index 0000000000..1b1a8a286c --- /dev/null +++ b/doc/ref/core.internal/html/search/classes_8.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['internal_5fmetadata',['internal_metadata',['../structinternal__metadata.html',1,'']]], + ['internal_5frequest',['internal_request',['../structinternal__request.html',1,'']]], + ['internal_5fstring',['internal_string',['../structinternal__string.html',1,'']]] +]; diff --git a/doc/ref/core.internal/html/search/classes_9.html b/doc/ref/core.internal/html/search/classes_9.html new file mode 100644 index 0000000000..4e83ac829b --- /dev/null +++ b/doc/ref/core.internal/html/search/classes_9.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core.internal/html/search/classes_9.js b/doc/ref/core.internal/html/search/classes_9.js new file mode 100644 index 0000000000..d939868502 --- /dev/null +++ b/doc/ref/core.internal/html/search/classes_9.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['jose_5fheader',['jose_header',['../structjose__header.html',1,'']]], + ['json_5freader_5fuserdata',['json_reader_userdata',['../structjson__reader__userdata.html',1,'']]], + ['json_5fwriter_5fuserdata',['json_writer_userdata',['../structjson__writer__userdata.html',1,'']]] +]; diff --git a/doc/ref/core.internal/html/search/classes_a.html b/doc/ref/core.internal/html/search/classes_a.html new file mode 100644 index 0000000000..616feb69a2 --- /dev/null +++ b/doc/ref/core.internal/html/search/classes_a.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core.internal/html/search/classes_a.js b/doc/ref/core.internal/html/search/classes_a.js new file mode 100644 index 0000000000..e1a700c185 --- /dev/null +++ b/doc/ref/core.internal/html/search/classes_a.js @@ -0,0 +1,7 @@ +var searchData= +[ + ['lb_5fpolicy_5fconnectivity_5fwatcher',['lb_policy_connectivity_watcher',['../structlb__policy__connectivity__watcher.html',1,'']]], + ['listener',['listener',['../structlistener.html',1,'']]], + ['lockfree_5fnode',['lockfree_node',['../unionlockfree__node.html',1,'']]], + ['lockfree_5fnode_5fcontents',['lockfree_node_contents',['../structlockfree__node__contents.html',1,'']]] +]; diff --git a/doc/ref/core.internal/html/search/classes_b.html b/doc/ref/core.internal/html/search/classes_b.html new file mode 100644 index 0000000000..4461152200 --- /dev/null +++ b/doc/ref/core.internal/html/search/classes_b.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core.internal/html/search/classes_b.js b/doc/ref/core.internal/html/search/classes_b.js new file mode 100644 index 0000000000..cbe773afd2 --- /dev/null +++ b/doc/ref/core.internal/html/search/classes_b.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['malloc_5frefcount',['malloc_refcount',['../structmalloc__refcount.html',1,'']]], + ['merge_5fargs_5ffactory',['merge_args_factory',['../structmerge__args__factory.html',1,'']]] +]; diff --git a/doc/ref/core.internal/html/search/classes_c.html b/doc/ref/core.internal/html/search/classes_c.html new file mode 100644 index 0000000000..8f92c8632a --- /dev/null +++ b/doc/ref/core.internal/html/search/classes_c.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core.internal/html/search/classes_c.js b/doc/ref/core.internal/html/search/classes_c.js new file mode 100644 index 0000000000..5d8671af68 --- /dev/null +++ b/doc/ref/core.internal/html/search/classes_c.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['new_5fslice_5frefcount',['new_slice_refcount',['../structnew__slice__refcount.html',1,'']]], + ['new_5fwith_5flen_5fslice_5frefcount',['new_with_len_slice_refcount',['../structnew__with__len__slice__refcount.html',1,'']]] +]; diff --git a/doc/ref/core.internal/html/search/classes_d.html b/doc/ref/core.internal/html/search/classes_d.html new file mode 100644 index 0000000000..9690cf0bac --- /dev/null +++ b/doc/ref/core.internal/html/search/classes_d.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core.internal/html/search/classes_d.js b/doc/ref/core.internal/html/search/classes_d.js new file mode 100644 index 0000000000..89a95595d3 --- /dev/null +++ b/doc/ref/core.internal/html/search/classes_d.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['pending_5fpick',['pending_pick',['../structpending__pick.html',1,'']]], + ['pick_5ffirst_5flb_5fpolicy',['pick_first_lb_policy',['../structpick__first__lb__policy.html',1,'']]] +]; diff --git a/doc/ref/core.internal/html/search/classes_e.html b/doc/ref/core.internal/html/search/classes_e.html new file mode 100644 index 0000000000..24a3ef3aba --- /dev/null +++ b/doc/ref/core.internal/html/search/classes_e.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core.internal/html/search/classes_e.js b/doc/ref/core.internal/html/search/classes_e.js new file mode 100644 index 0000000000..5be833a733 --- /dev/null +++ b/doc/ref/core.internal/html/search/classes_e.js @@ -0,0 +1,11 @@ +var searchData= +[ + ['received_5fstatus',['received_status',['../structreceived__status.html',1,'']]], + ['registered_5fcall',['registered_call',['../structregistered__call.html',1,'']]], + ['registered_5fmethod',['registered_method',['../structregistered__method.html',1,'']]], + ['registered_5fresolver',['registered_resolver',['../structregistered__resolver.html',1,'']]], + ['reqinfo_5fmaster',['reqinfo_master',['../structreqinfo__master.html',1,'']]], + ['request_5fkiller',['request_killer',['../structrequest__killer.html',1,'']]], + ['request_5fmatcher',['request_matcher',['../structrequest__matcher.html',1,'']]], + ['requested_5fcall',['requested_call',['../structrequested__call.html',1,'']]] +]; diff --git a/doc/ref/core.internal/html/search/classes_f.html b/doc/ref/core.internal/html/search/classes_f.html new file mode 100644 index 0000000000..cee523ad6b --- /dev/null +++ b/doc/ref/core.internal/html/search/classes_f.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core.internal/html/search/classes_f.js b/doc/ref/core.internal/html/search/classes_f.js new file mode 100644 index 0000000000..9d781b2286 --- /dev/null +++ b/doc/ref/core.internal/html/search/classes_f.js @@ -0,0 +1,10 @@ +var searchData= +[ + ['secure_5fendpoint',['secure_endpoint',['../structsecure__endpoint.html',1,'']]], + ['shard_5ftype',['shard_type',['../structshard__type.html',1,'']]], + ['shutdown_5fcleanup_5fargs',['shutdown_cleanup_args',['../structshutdown__cleanup__args.html',1,'']]], + ['shutdown_5ftag',['shutdown_tag',['../structshutdown__tag.html',1,'']]], + ['sockaddr_5fresolver',['sockaddr_resolver',['../structsockaddr__resolver.html',1,'']]], + ['state_5fwatcher',['state_watcher',['../structstate__watcher.html',1,'']]], + ['subchannel_5ffactory',['subchannel_factory',['../structsubchannel__factory.html',1,'']]] +]; diff --git a/doc/ref/core.internal/html/search/close.png b/doc/ref/core.internal/html/search/close.png new file mode 100644 index 0000000000..9342d3dfee Binary files /dev/null and b/doc/ref/core.internal/html/search/close.png differ diff --git a/doc/ref/core.internal/html/search/defines_0.html b/doc/ref/core.internal/html/search/defines_0.html new file mode 100644 index 0000000000..c2f0b46cfb --- /dev/null +++ b/doc/ref/core.internal/html/search/defines_0.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core.internal/html/search/defines_0.js b/doc/ref/core.internal/html/search/defines_0.js new file mode 100644 index 0000000000..aa3146dcea --- /dev/null +++ b/doc/ref/core.internal/html/search/defines_0.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['_5fgnu_5fsource',['_GNU_SOURCE',['../tcp__server__posix_8c.html#a369266c24eacffb87046522897a570d5',1,'_GNU_SOURCE(): tcp_server_posix.c'],['../cpu__linux_8c.html#a369266c24eacffb87046522897a570d5',1,'_GNU_SOURCE(): cpu_linux.c'],['../env__linux_8c.html#a369266c24eacffb87046522897a570d5',1,'_GNU_SOURCE(): env_linux.c'],['../log__linux_8c.html#a369266c24eacffb87046522897a570d5',1,'_GNU_SOURCE(): log_linux.c']]], + ['_5fposix_5fsource',['_POSIX_SOURCE',['../log__linux_8c.html#ac3d144aa01e765a1fae62ab5491c7cc1',1,'log_linux.c']]] +]; diff --git a/doc/ref/core.internal/html/search/defines_1.html b/doc/ref/core.internal/html/search/defines_1.html new file mode 100644 index 0000000000..9e1d9fa116 --- /dev/null +++ b/doc/ref/core.internal/html/search/defines_1.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core.internal/html/search/defines_1.js b/doc/ref/core.internal/html/search/defines_1.js new file mode 100644 index 0000000000..d35fee329a --- /dev/null +++ b/doc/ref/core.internal/html/search/defines_1.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['add_5fdeadline_5fscale',['ADD_DEADLINE_SCALE',['../alarm_8c.html#a27a820068e725cd087726fc5d913a5b6',1,'alarm.c']]] +]; diff --git a/doc/ref/core.internal/html/search/defines_10.html b/doc/ref/core.internal/html/search/defines_10.html new file mode 100644 index 0000000000..16f2d8297b --- /dev/null +++ b/doc/ref/core.internal/html/search/defines_10.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core.internal/html/search/defines_10.js b/doc/ref/core.internal/html/search/defines_10.js new file mode 100644 index 0000000000..8c3cc2c7d2 --- /dev/null +++ b/doc/ref/core.internal/html/search/defines_10.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['unbound_5fjson_5fstring_5flength',['UNBOUND_JSON_STRING_LENGTH',['../json__string_8c.html#a1cb2ee1031195d596402be8c2c7e8065',1,'json_string.c']]], + ['unref_5flog',['UNREF_LOG',['../subchannel_8c.html#a113001b9e3c0ff95ddc62508d3abddaa',1,'subchannel.c']]], + ['unref_5ftransport',['UNREF_TRANSPORT',['../chttp2__transport_8c.html#a2a872dae5a8d3799232cbae46e1ed133',1,'chttp2_transport.c']]] +]; diff --git a/doc/ref/core.internal/html/search/defines_2.html b/doc/ref/core.internal/html/search/defines_2.html new file mode 100644 index 0000000000..6ef4b980d7 --- /dev/null +++ b/doc/ref/core.internal/html/search/defines_2.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core.internal/html/search/defines_2.js b/doc/ref/core.internal/html/search/defines_2.js new file mode 100644 index 0000000000..94280dcf7f --- /dev/null +++ b/doc/ref/core.internal/html/search/defines_2.js @@ -0,0 +1,24 @@ +var searchData= +[ + ['call_5fdata_5ffrom_5ftransport_5fstream',['CALL_DATA_FROM_TRANSPORT_STREAM',['../connected__channel_8c.html#adc89e1ee71e626f5adc6ceb2de12935a',1,'connected_channel.c']]], + ['call_5felem_5ffrom_5fcall',['CALL_ELEM_FROM_CALL',['../call_8c.html#acd274f346b0ea7fc3235481cb7726c25',1,'call.c']]], + ['call_5felems_5ffrom_5fstack',['CALL_ELEMS_FROM_STACK',['../channel__stack_8c.html#a604f63dd1fea052b4285b1437c100610',1,'channel_stack.c']]], + ['call_5ffrom_5fcall_5fstack',['CALL_FROM_CALL_STACK',['../call_8c.html#a5e0acdef58012600d44f7978256c82d9',1,'call.c']]], + ['call_5ffrom_5ftop_5felem',['CALL_FROM_TOP_ELEM',['../call_8c.html#a195c2e9b9e6551cf5973560eec7a97fa',1,'call.c']]], + ['call_5fstack_5ffrom_5fcall',['CALL_STACK_FROM_CALL',['../call_8c.html#a25608dcdb8f5bf9b8afc358125b59b5b',1,'call.c']]], + ['census_5finvalid_5fstat_5fid',['CENSUS_INVALID_STAT_ID',['../rpc__stat__id_8h.html#a59e5e9d32ec60d7d202ebd834117c7b6',1,'rpc_stat_id.h']]], + ['census_5frpc_5fclient_5ferrors',['CENSUS_RPC_CLIENT_ERRORS',['../rpc__stat__id_8h.html#ab98fe10ab9da977ff1ab146fb47c25c6',1,'rpc_stat_id.h']]], + ['census_5frpc_5fclient_5flatency',['CENSUS_RPC_CLIENT_LATENCY',['../rpc__stat__id_8h.html#a18893b8a61bb96d779e5f3e1c6384fe2',1,'rpc_stat_id.h']]], + ['census_5frpc_5fclient_5frequests',['CENSUS_RPC_CLIENT_REQUESTS',['../rpc__stat__id_8h.html#aeaec3ab6b88faa6f3d17df39886839b4',1,'rpc_stat_id.h']]], + ['census_5frpc_5fserver_5ferrors',['CENSUS_RPC_SERVER_ERRORS',['../rpc__stat__id_8h.html#a653739d1d6b9c46c169dd40023e883c3',1,'rpc_stat_id.h']]], + ['census_5frpc_5fserver_5flatency',['CENSUS_RPC_SERVER_LATENCY',['../rpc__stat__id_8h.html#ab30ee75f97d6c9361d8667d62349f49e',1,'rpc_stat_id.h']]], + ['census_5frpc_5fserver_5frequests',['CENSUS_RPC_SERVER_REQUESTS',['../rpc__stat__id_8h.html#abdbb1e62656b892c48ef4b5123be59e2',1,'rpc_stat_id.h']]], + ['channel_5felems_5ffrom_5fstack',['CHANNEL_ELEMS_FROM_STACK',['../channel__stack_8c.html#ada2431407a0c579217e6b33534dc4b68',1,'channel_stack.c']]], + ['channel_5ffrom_5fchannel_5fstack',['CHANNEL_FROM_CHANNEL_STACK',['../channel_8c.html#ae9cf519e646bc07f4b32920f39fba049',1,'channel.c']]], + ['channel_5ffrom_5ftop_5felem',['CHANNEL_FROM_TOP_ELEM',['../channel_8c.html#a79c20e305865805bbe3e21adc8da9e72',1,'channel.c']]], + ['channel_5fstack_5ffrom_5fchannel',['CHANNEL_STACK_FROM_CHANNEL',['../channel_8c.html#a66dde7aaec84b22bf4ddfa999a2201ed',1,'channel.c']]], + ['channel_5fstack_5ffrom_5fconnection',['CHANNEL_STACK_FROM_CONNECTION',['../subchannel_8c.html#a004980d48eea483363d061723e95834e',1,'subchannel.c']]], + ['compress_5foffset',['COMPRESS_OFFSET',['../call_8c.html#a94d05fca53ff43502691278ac008b36c',1,'call.c']]], + ['connection_5fref_5flocked',['CONNECTION_REF_LOCKED',['../subchannel_8c.html#a5a6df9d57aa14df8c30325f7b403a6ba',1,'subchannel.c']]], + ['connection_5funref_5flocked',['CONNECTION_UNREF_LOCKED',['../subchannel_8c.html#a7511e39882d77270a0e73a6ea6bdbf22',1,'subchannel.c']]] +]; diff --git a/doc/ref/core.internal/html/search/defines_3.html b/doc/ref/core.internal/html/search/defines_3.html new file mode 100644 index 0000000000..e575d6606f --- /dev/null +++ b/doc/ref/core.internal/html/search/defines_3.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core.internal/html/search/defines_3.js b/doc/ref/core.internal/html/search/defines_3.js new file mode 100644 index 0000000000..b3d9c5cdaa --- /dev/null +++ b/doc/ref/core.internal/html/search/defines_3.js @@ -0,0 +1,8 @@ +var searchData= +[ + ['debug_5fargs',['DEBUG_ARGS',['../metadata_8c.html#a74ccabb9eadfe99a2fa8e5004fdf7cfc',1,'metadata.c']]], + ['decl_5ffactory',['DECL_FACTORY',['../sockaddr__resolver_8c.html#ae666b8dfe7a65b7719adcc22034160e6',1,'sockaddr_resolver.c']]], + ['default_5fconnection_5fwindow_5ftarget',['DEFAULT_CONNECTION_WINDOW_TARGET',['../chttp2__transport_8c.html#a609f239b676101bc4e1358eeac253916',1,'chttp2_transport.c']]], + ['default_5fmax_5fmessage_5flength',['DEFAULT_MAX_MESSAGE_LENGTH',['../channel_8c.html#ac48c5c1b1a6288d82d88bad6aa306d56',1,'channel.c']]], + ['default_5fwindow',['DEFAULT_WINDOW',['../chttp2__transport_8c.html#af9edf0dca12d746c6cf6c6852f4398ae',1,'chttp2_transport.c']]] +]; diff --git a/doc/ref/core.internal/html/search/defines_4.html b/doc/ref/core.internal/html/search/defines_4.html new file mode 100644 index 0000000000..90e654daf4 --- /dev/null +++ b/doc/ref/core.internal/html/search/defines_4.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core.internal/html/search/defines_4.js b/doc/ref/core.internal/html/search/defines_4.js new file mode 100644 index 0000000000..3eb3485b38 --- /dev/null +++ b/doc/ref/core.internal/html/search/defines_4.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['entry_5falignment_5fbits',['ENTRY_ALIGNMENT_BITS',['../stack__lockfree_8c.html#a8644da45b827e108bca857053cbf48af',1,'stack_lockfree.c']]] +]; diff --git a/doc/ref/core.internal/html/search/defines_5.html b/doc/ref/core.internal/html/search/defines_5.html new file mode 100644 index 0000000000..e02f8a235c --- /dev/null +++ b/doc/ref/core.internal/html/search/defines_5.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core.internal/html/search/defines_5.js b/doc/ref/core.internal/html/search/defines_5.js new file mode 100644 index 0000000000..9f17d881f0 --- /dev/null +++ b/doc/ref/core.internal/html/search/defines_5.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['fmix32',['FMIX32',['../murmur__hash_8c.html#a35851ba6b08c118345278effc46695e6',1,'murmur_hash.c']]], + ['fwd_5fdebug_5fargs',['FWD_DEBUG_ARGS',['../metadata_8c.html#a3cfab2da250dee51694faff7226974a6',1,'metadata.c']]] +]; diff --git a/doc/ref/core.internal/html/search/defines_6.html b/doc/ref/core.internal/html/search/defines_6.html new file mode 100644 index 0000000000..52aef19bd2 --- /dev/null +++ b/doc/ref/core.internal/html/search/defines_6.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core.internal/html/search/defines_6.js b/doc/ref/core.internal/html/search/defines_6.js new file mode 100644 index 0000000000..31c2739e78 --- /dev/null +++ b/doc/ref/core.internal/html/search/defines_6.js @@ -0,0 +1,206 @@ +var searchData= +[ + ['getblock32',['GETBLOCK32',['../murmur__hash_8c.html#aaaaac568919d152a24bbff8d8c1bc194',1,'murmur_hash.c']]], + ['gpr_5farray_5fsize',['GPR_ARRAY_SIZE',['../useful_8h.html#a0e411d4f81a169c97c319d4e84df5747',1,'useful.h']]], + ['gpr_5fassert',['GPR_ASSERT',['../log_8h.html#a6ccf52ff690655cc22cd9d053650876f',1,'log.h']]], + ['gpr_5fatm_5facq_5fcas',['gpr_atm_acq_cas',['../atm__gcc__sync_8h.html#a1a90e5777158aaa53624822f1f87dd90',1,'atm_gcc_sync.h']]], + ['gpr_5fatm_5facq_5fload',['gpr_atm_acq_load',['../atm__gcc__atomic_8h.html#a44607f95f7ee40eba592c7fe10960a06',1,'atm_gcc_atomic.h']]], + ['gpr_5fatm_5fcompile_5fbarrier_5f',['GPR_ATM_COMPILE_BARRIER_',['../atm__gcc__sync_8h.html#a5a1f94112dcd03309d6716d43c8edf3f',1,'atm_gcc_sync.h']]], + ['gpr_5fatm_5ffull_5fbarrier',['gpr_atm_full_barrier',['../atm__gcc__atomic_8h.html#a95f86e51ae9a479026bd237cb792193e',1,'gpr_atm_full_barrier(): atm_gcc_atomic.h'],['../atm__gcc__sync_8h.html#a95f86e51ae9a479026bd237cb792193e',1,'gpr_atm_full_barrier(): atm_gcc_sync.h'],['../atm__win32_8h.html#a8e58c94aff5c7161bc3cbfde878dd03d',1,'gpr_atm_full_barrier(): atm_win32.h']]], + ['gpr_5fatm_5ffull_5ffetch_5fadd',['gpr_atm_full_fetch_add',['../atm__gcc__atomic_8h.html#abada8771b338845e4c6ef93c8392582c',1,'gpr_atm_full_fetch_add(): atm_gcc_atomic.h'],['../atm__gcc__sync_8h.html#abada8771b338845e4c6ef93c8392582c',1,'gpr_atm_full_fetch_add(): atm_gcc_sync.h']]], + ['gpr_5fatm_5fls_5fbarrier_5f',['GPR_ATM_LS_BARRIER_',['../atm__gcc__sync_8h.html#a4ceb46c9b854db0ade8cfe2f37edb878',1,'atm_gcc_sync.h']]], + ['gpr_5fatm_5fno_5fbarrier_5fcas',['gpr_atm_no_barrier_cas',['../atm__gcc__sync_8h.html#ad39536b08912ac4a0770655ed334d260',1,'atm_gcc_sync.h']]], + ['gpr_5fatm_5fno_5fbarrier_5ffetch_5fadd',['gpr_atm_no_barrier_fetch_add',['../atm__gcc__atomic_8h.html#ae337dc477a6a45ac3d91e41e8f3f2f8c',1,'gpr_atm_no_barrier_fetch_add(): atm_gcc_atomic.h'],['../atm__gcc__sync_8h.html#ae337dc477a6a45ac3d91e41e8f3f2f8c',1,'gpr_atm_no_barrier_fetch_add(): atm_gcc_sync.h']]], + ['gpr_5fatm_5fno_5fbarrier_5fload',['gpr_atm_no_barrier_load',['../atm__gcc__atomic_8h.html#aa647aa9c97294a6709bbf2ac401cd9a6',1,'atm_gcc_atomic.h']]], + ['gpr_5fatm_5fno_5fbarrier_5fstore',['gpr_atm_no_barrier_store',['../atm__gcc__atomic_8h.html#afad47d4c311c5439371fcdd4a0b6794e',1,'atm_gcc_atomic.h']]], + ['gpr_5fatm_5frel_5fcas',['gpr_atm_rel_cas',['../atm__gcc__sync_8h.html#ae7c3b215cda868ee9ee778822000c3f2',1,'atm_gcc_sync.h']]], + ['gpr_5fatm_5frel_5fstore',['gpr_atm_rel_store',['../atm__gcc__atomic_8h.html#a42e3982d45ae4cec439a12b8fcd618e9',1,'atm_gcc_atomic.h']]], + ['gpr_5fbitclear',['GPR_BITCLEAR',['../useful_8h.html#af797bf1803f9809b3ccceaa619078c89',1,'useful.h']]], + ['gpr_5fbitcount',['GPR_BITCOUNT',['../useful_8h.html#a8f51444fe97eb3f83184b98035e3357f',1,'useful.h']]], + ['gpr_5fbitget',['GPR_BITGET',['../useful_8h.html#a7c54bb2fffdaae24ba38ca5e5c53ab41',1,'useful.h']]], + ['gpr_5fbitset',['GPR_BITSET',['../useful_8h.html#a28de4ed955bfc2bff309061b7820a37a',1,'useful.h']]], + ['gpr_5fcacheline_5fsize',['GPR_CACHELINE_SIZE',['../port__platform_8h.html#ad9b7cc620233bbab0bc57cfbbe9519ad',1,'port_platform.h']]], + ['gpr_5fcacheline_5fsize_5flog',['GPR_CACHELINE_SIZE_LOG',['../port__platform_8h.html#a4e8b19add0d8d0be9464f748be985576',1,'port_platform.h']]], + ['gpr_5fclamp',['GPR_CLAMP',['../useful_8h.html#ac974b8c13ee716193e0ee30d9513672c',1,'useful.h']]], + ['gpr_5fdebug',['GPR_DEBUG',['../log_8h.html#a3e793245091f13bb7318a18b1166a773',1,'log.h']]], + ['gpr_5fdump_5fascii',['GPR_DUMP_ASCII',['../string_8h.html#ac0676a68b67df2660352db8168c6c180',1,'string.h']]], + ['gpr_5fdump_5fhex',['GPR_DUMP_HEX',['../string_8h.html#a2d592b56804af1c0d0e5237c37ce0313',1,'string.h']]], + ['gpr_5ferror',['GPR_ERROR',['../log_8h.html#a63faedb3eefd93d1c0e79974be80cc36',1,'log.h']]], + ['gpr_5fevent_5finit',['GPR_EVENT_INIT',['../sync__generic_8h.html#a6f38fe7692eaa6663c1f79ff5847c050',1,'sync_generic.h']]], + ['gpr_5finfo',['GPR_INFO',['../log_8h.html#af0d0d75690f79edc9294498c88f96703',1,'log.h']]], + ['gpr_5fint64_5fmax',['GPR_INT64_MAX',['../port__platform_8h.html#aaff7a6a2f0868f8b0648b74828ef0e4f',1,'port_platform.h']]], + ['gpr_5finternal_5fhexdigit_5fbitcount',['GPR_INTERNAL_HEXDIGIT_BITCOUNT',['../useful_8h.html#a601e1be692fe7922b52991a5d410b945',1,'useful.h']]], + ['gpr_5fltoa_5fmin_5fbufsize',['GPR_LTOA_MIN_BUFSIZE',['../string_8h.html#a21406aaed4e32e895145541eabbad527',1,'string.h']]], + ['gpr_5fmax',['GPR_MAX',['../useful_8h.html#af50c518bb1183da84adb7d8a86cd568a',1,'useful.h']]], + ['gpr_5fmax_5falignment',['GPR_MAX_ALIGNMENT',['../port__platform_8h.html#a53c934fa255faf3f8c4f028df105c8e2',1,'port_platform.h']]], + ['gpr_5fmin',['GPR_MIN',['../useful_8h.html#a298322c952526928cf8dbc7aaba7b84d',1,'useful.h']]], + ['gpr_5fms_5fper_5fsec',['GPR_MS_PER_SEC',['../time_8h.html#af2c8091db4e2a3133b93131f64db859e',1,'time.h']]], + ['gpr_5fns_5fper_5fms',['GPR_NS_PER_MS',['../time_8h.html#a3c63ee76f91a122abf3a0806b64318eb',1,'time.h']]], + ['gpr_5fns_5fper_5fsec',['GPR_NS_PER_SEC',['../time_8h.html#a447d0913b0cfdc943df51585f0e2785e',1,'time.h']]], + ['gpr_5fns_5fper_5fus',['GPR_NS_PER_US',['../time_8h.html#adc295bf07c72edae8a2ad49e24da2f32',1,'time.h']]], + ['gpr_5fonce_5finit',['GPR_ONCE_INIT',['../sync__posix_8h.html#a8edd7eb4f6860a4f79defbad49c35666',1,'GPR_ONCE_INIT(): sync_posix.h'],['../sync__win32_8h.html#a8edd7eb4f6860a4f79defbad49c35666',1,'GPR_ONCE_INIT(): sync_win32.h']]], + ['gpr_5fplatform_5fstring',['GPR_PLATFORM_STRING',['../port__platform_8h.html#a99f34e9b119908109486e91abedc933e',1,'port_platform.h']]], + ['gpr_5frotl',['GPR_ROTL',['../useful_8h.html#a6f7a8aba8e044f6b20fc8a7560f28f85',1,'useful.h']]], + ['gpr_5frotr',['GPR_ROTR',['../useful_8h.html#a5ff4b278972e799dc134963a0249f316',1,'useful.h']]], + ['gpr_5fslice_5fend_5fptr',['GPR_SLICE_END_PTR',['../slice_8h.html#a9b7e9acd0eb92039a9bc897712a62a14',1,'slice.h']]], + ['gpr_5fslice_5finlined_5fsize',['GPR_SLICE_INLINED_SIZE',['../slice_8h.html#a4063c3d8d4820472a4cf2655dd662a31',1,'slice.h']]], + ['gpr_5fslice_5fis_5fempty',['GPR_SLICE_IS_EMPTY',['../slice_8h.html#ad4fe3efa7a8938045ce79271d79f79ef',1,'slice.h']]], + ['gpr_5fslice_5flength',['GPR_SLICE_LENGTH',['../slice_8h.html#ae97c2f992c1ebccaf44ceeee1f9fdabb',1,'slice.h']]], + ['gpr_5fslice_5fset_5flength',['GPR_SLICE_SET_LENGTH',['../slice_8h.html#a1f5333a1260aef2efe086d4e2188e613',1,'slice.h']]], + ['gpr_5fslice_5fstart_5fptr',['GPR_SLICE_START_PTR',['../slice_8h.html#ab8258afc3398c1426974b0b48dbf5a15',1,'slice.h']]], + ['gpr_5fstats_5finit',['GPR_STATS_INIT',['../sync__generic_8h.html#ada230498c8e2aca51e9349709e70e1ef',1,'sync_generic.h']]], + ['gpr_5fswap',['GPR_SWAP',['../useful_8h.html#a9f884f8218a97ed9739e2dac467f0719',1,'useful.h']]], + ['gpr_5ftls_5fdecl',['GPR_TLS_DECL',['../tls__gcc_8h.html#ab2c3baa4e4ceb366668aaf51379340fd',1,'GPR_TLS_DECL(): tls_gcc.h'],['../tls__msvc_8h.html#ab2c3baa4e4ceb366668aaf51379340fd',1,'GPR_TLS_DECL(): tls_msvc.h'],['../tls__pthread_8h.html#ab2c3baa4e4ceb366668aaf51379340fd',1,'GPR_TLS_DECL(): tls_pthread.h']]], + ['gpr_5ftls_5fdestroy',['gpr_tls_destroy',['../tls__gcc_8h.html#a187108e1078d2ce05388cb17bc59ce74',1,'gpr_tls_destroy(): tls_gcc.h'],['../tls__msvc_8h.html#a187108e1078d2ce05388cb17bc59ce74',1,'gpr_tls_destroy(): tls_msvc.h'],['../tls__pthread_8h.html#a187108e1078d2ce05388cb17bc59ce74',1,'gpr_tls_destroy(): tls_pthread.h']]], + ['gpr_5ftls_5fget',['gpr_tls_get',['../tls__gcc_8h.html#a9aa9e55eddbe7fed424526c23e1b55a3',1,'gpr_tls_get(): tls_gcc.h'],['../tls__msvc_8h.html#a9aa9e55eddbe7fed424526c23e1b55a3',1,'gpr_tls_get(): tls_msvc.h'],['../tls__pthread_8h.html#a9aa9e55eddbe7fed424526c23e1b55a3',1,'gpr_tls_get(): tls_pthread.h']]], + ['gpr_5ftls_5finit',['gpr_tls_init',['../tls__gcc_8h.html#a43768a42ff705cc028b4a483dc3b65c5',1,'gpr_tls_init(): tls_gcc.h'],['../tls__msvc_8h.html#a43768a42ff705cc028b4a483dc3b65c5',1,'gpr_tls_init(): tls_msvc.h'],['../tls__pthread_8h.html#a43768a42ff705cc028b4a483dc3b65c5',1,'gpr_tls_init(): tls_pthread.h']]], + ['gpr_5ftls_5fset',['gpr_tls_set',['../tls__gcc_8h.html#aa8f01b3e40178b80d098650f42c529e7',1,'gpr_tls_set(): tls_gcc.h'],['../tls__msvc_8h.html#aa8f01b3e40178b80d098650f42c529e7',1,'gpr_tls_set(): tls_msvc.h']]], + ['gpr_5fus_5fper_5fms',['GPR_US_PER_MS',['../time_8h.html#a33dba9a222266cf2270c9b09c1f64336',1,'time.h']]], + ['gpr_5fus_5fper_5fsec',['GPR_US_PER_SEC',['../time_8h.html#a48433e202646afa00d9694585b05b9e3',1,'time.h']]], + ['grow',['GROW',['../stream__op_8c.html#a886cd1bc8d999f1eca35adda926045dc',1,'GROW(): stream_op.c'],['../slice__buffer_8c.html#a886cd1bc8d999f1eca35adda926045dc',1,'GROW(): slice_buffer.c']]], + ['grpc_5farg_5fdefault_5fauthority',['GRPC_ARG_DEFAULT_AUTHORITY',['../grpc_8h.html#add42f97666fbfc66b7dac253ac3b73ae',1,'grpc.h']]], + ['grpc_5farg_5fenable_5fcensus',['GRPC_ARG_ENABLE_CENSUS',['../grpc_8h.html#ae498934a02de89ce29cec570b02a2037',1,'grpc.h']]], + ['grpc_5farg_5fhttp2_5finitial_5fsequence_5fnumber',['GRPC_ARG_HTTP2_INITIAL_SEQUENCE_NUMBER',['../grpc_8h.html#aecc45a63163796ca1bc5453938bdfb36',1,'grpc.h']]], + ['grpc_5farg_5fhttp2_5fscheme',['GRPC_ARG_HTTP2_SCHEME',['../http__client__filter_8h.html#a7797da9f3f5a1381484b2cabca1920fc',1,'http_client_filter.h']]], + ['grpc_5farg_5fmax_5fconcurrent_5fstreams',['GRPC_ARG_MAX_CONCURRENT_STREAMS',['../grpc_8h.html#a5bb9256d0b457cab219f4d9d765148b6',1,'grpc.h']]], + ['grpc_5farg_5fmax_5fmessage_5flength',['GRPC_ARG_MAX_MESSAGE_LENGTH',['../grpc_8h.html#a50f37feb7c000a23b3b0edf4c31d4367',1,'grpc.h']]], + ['grpc_5farg_5fprimary_5fuser_5fagent_5fstring',['GRPC_ARG_PRIMARY_USER_AGENT_STRING',['../grpc_8h.html#a0732df2d9003e9ee1c01e50e41b5a8e2',1,'grpc.h']]], + ['grpc_5farg_5fsecondary_5fuser_5fagent_5fstring',['GRPC_ARG_SECONDARY_USER_AGENT_STRING',['../grpc_8h.html#af47b4048c11e4f8f4162f12c135c2da4',1,'grpc.h']]], + ['grpc_5fauth_5fcontext_5fref',['GRPC_AUTH_CONTEXT_REF',['../security__context_8h.html#a3df5d42b28934cbeb932f18d61a8fe77',1,'security_context.h']]], + ['grpc_5fauth_5fcontext_5funref',['GRPC_AUTH_CONTEXT_UNREF',['../security__context_8h.html#ae6b74ab5e3a697c5a93529609bdb2668',1,'security_context.h']]], + ['grpc_5fauth_5fjson_5ftype_5fauthorized_5fuser',['GRPC_AUTH_JSON_TYPE_AUTHORIZED_USER',['../json__token_8h.html#af371d9efcf5a20784bfeae73e3369fd3',1,'json_token.h']]], + ['grpc_5fauth_5fjson_5ftype_5finvalid',['GRPC_AUTH_JSON_TYPE_INVALID',['../json__token_8h.html#af5c8010a33e3a9b7b23f88cc87c1149e',1,'json_token.h']]], + ['grpc_5fauth_5fjson_5ftype_5fservice_5faccount',['GRPC_AUTH_JSON_TYPE_SERVICE_ACCOUNT',['../json__token_8h.html#ae7dd581751d41c6ea4d8dd5af295d495',1,'json_token.h']]], + ['grpc_5fauthorization_5fmetadata_5fkey',['GRPC_AUTHORIZATION_METADATA_KEY',['../credentials_8h.html#ae5d55c31d952d739f5be7de47ad425a3',1,'credentials.h']]], + ['grpc_5fbase64_5fmultiline_5fline_5flen',['GRPC_BASE64_MULTILINE_LINE_LEN',['../base64_8c.html#a044b2c792f69cf3efaad0895e38122a7',1,'base64.c']]], + ['grpc_5fbase64_5fmultiline_5fnum_5fblocks',['GRPC_BASE64_MULTILINE_NUM_BLOCKS',['../base64_8c.html#abf98a03e292b4943e5d9df3314a91d2e',1,'base64.c']]], + ['grpc_5fbase64_5fpad_5fbyte',['GRPC_BASE64_PAD_BYTE',['../base64_8c.html#a74d467f02f0a2a5e88cc0231ea2d3603',1,'base64.c']]], + ['grpc_5fbase64_5fpad_5fchar',['GRPC_BASE64_PAD_CHAR',['../base64_8c.html#a6ccc23e3f23a06fd1e83f07fc80a36f5',1,'base64.c']]], + ['grpc_5fcall_5finternal_5fref',['GRPC_CALL_INTERNAL_REF',['../call_8h.html#a8096750f0a0c7cb97a4c38df49242f8b',1,'call.h']]], + ['grpc_5fcall_5finternal_5funref',['GRPC_CALL_INTERNAL_UNREF',['../call_8h.html#a88a83bb312e007ce3b253c97a567383b',1,'call.h']]], + ['grpc_5fcall_5flog_5fbatch',['GRPC_CALL_LOG_BATCH',['../call_8h.html#afb66440381d35f27f8a59ce496970c8a',1,'call.h']]], + ['grpc_5fcall_5flog_5fop',['GRPC_CALL_LOG_OP',['../channel__stack_8h.html#a933b113b310801b8f916dade1569dbc3',1,'channel_stack.h']]], + ['grpc_5fchannel_5finternal_5fref',['GRPC_CHANNEL_INTERNAL_REF',['../channel_8h.html#aa19087be931208174c3f30c983b0061c',1,'channel.h']]], + ['grpc_5fchannel_5finternal_5funref',['GRPC_CHANNEL_INTERNAL_UNREF',['../channel_8h.html#a8391477c21b23ffe97f2e6327c74e77e',1,'channel.h']]], + ['grpc_5fchttp2_5fclient_5fconnect_5fstring',['GRPC_CHTTP2_CLIENT_CONNECT_STRING',['../internal_8h.html#a4c51a6034ac0f34ecffc582732ad68a4',1,'internal.h']]], + ['grpc_5fchttp2_5fclient_5fconnect_5fstrlen',['GRPC_CHTTP2_CLIENT_CONNECT_STRLEN',['../internal_8h.html#a5fd119b62e9b3648496dbb7c2f2a0025',1,'internal.h']]], + ['grpc_5fchttp2_5fdata_5fflag_5fend_5fheaders',['GRPC_CHTTP2_DATA_FLAG_END_HEADERS',['../frame_8h.html#a9e28337a838f07e06987f344a01f7f0f',1,'frame.h']]], + ['grpc_5fchttp2_5fdata_5fflag_5fend_5fstream',['GRPC_CHTTP2_DATA_FLAG_END_STREAM',['../frame_8h.html#aebe712016c70bba5c7fc0cbc7f372681',1,'frame.h']]], + ['grpc_5fchttp2_5fdata_5fflag_5fpadded',['GRPC_CHTTP2_DATA_FLAG_PADDED',['../frame_8h.html#ab01d61cf6f1abddae8031ebcf6e34e09',1,'frame.h']]], + ['grpc_5fchttp2_5fflag_5fack',['GRPC_CHTTP2_FLAG_ACK',['../frame_8h.html#ae399b812927e4ccfa1836814e719bec6',1,'frame.h']]], + ['grpc_5fchttp2_5fflag_5fhas_5fpriority',['GRPC_CHTTP2_FLAG_HAS_PRIORITY',['../frame_8h.html#a8fbbbbd20f7217de2249fb8597b48c36',1,'frame.h']]], + ['grpc_5fchttp2_5fflowctl_5ftrace_5fstream',['GRPC_CHTTP2_FLOWCTL_TRACE_STREAM',['../internal_8h.html#a927cb1449b541fcb1812761184135ca1',1,'internal.h']]], + ['grpc_5fchttp2_5fflowctl_5ftrace_5ftransport',['GRPC_CHTTP2_FLOWCTL_TRACE_TRANSPORT',['../internal_8h.html#ad6d86669b104a248fbee4d8f63237a06',1,'internal.h']]], + ['grpc_5fchttp2_5fframe_5fcontinuation',['GRPC_CHTTP2_FRAME_CONTINUATION',['../frame_8h.html#ae8ffe7f9a02584c5eed5876f6d8e497b',1,'frame.h']]], + ['grpc_5fchttp2_5fframe_5fdata',['GRPC_CHTTP2_FRAME_DATA',['../frame_8h.html#af475a6ee5b3fc2b9c8b835d927521bee',1,'frame.h']]], + ['grpc_5fchttp2_5fframe_5fgoaway',['GRPC_CHTTP2_FRAME_GOAWAY',['../frame_8h.html#a624f289bc52602a8c3340ad747075130',1,'frame.h']]], + ['grpc_5fchttp2_5fframe_5fheader',['GRPC_CHTTP2_FRAME_HEADER',['../frame_8h.html#ab82e94b9ff60e4ef29301db9b4022805',1,'frame.h']]], + ['grpc_5fchttp2_5fframe_5fping',['GRPC_CHTTP2_FRAME_PING',['../frame_8h.html#a9a92c84ae932e1b9a79af8f099516ece',1,'frame.h']]], + ['grpc_5fchttp2_5fframe_5frst_5fstream',['GRPC_CHTTP2_FRAME_RST_STREAM',['../frame_8h.html#a0e6ad3bb0bc03b02cd2791f34014c933',1,'frame.h']]], + ['grpc_5fchttp2_5fframe_5fsettings',['GRPC_CHTTP2_FRAME_SETTINGS',['../frame_8h.html#aa030a067f1b4cbb8d34c28fbb43e8046',1,'frame.h']]], + ['grpc_5fchttp2_5fframe_5fwindow_5fupdate',['GRPC_CHTTP2_FRAME_WINDOW_UPDATE',['../frame_8h.html#ac9af6484a80a10f0213465fa5dc14031',1,'frame.h']]], + ['grpc_5fchttp2_5fhpack_5fentry_5foverhead',['GRPC_CHTTP2_HPACK_ENTRY_OVERHEAD',['../hpack__table_8h.html#ad4d722ec8e6df216cfb2c180c6a605b8',1,'hpack_table.h']]], + ['grpc_5fchttp2_5fhpackc_5fmax_5ftable_5felems',['GRPC_CHTTP2_HPACKC_MAX_TABLE_ELEMS',['../stream__encoder_8h.html#a56da659428a69b269e09f780df07f4a4',1,'stream_encoder.h']]], + ['grpc_5fchttp2_5fhpackc_5fnum_5ffilters',['GRPC_CHTTP2_HPACKC_NUM_FILTERS',['../stream__encoder_8h.html#a8ccaf658a95902dc2ff32426d8b84cf6',1,'stream_encoder.h']]], + ['grpc_5fchttp2_5fhpackc_5fnum_5fvalues',['GRPC_CHTTP2_HPACKC_NUM_VALUES',['../stream__encoder_8h.html#a0f2a7d2d40157e2080d8ab87ccce6c1f',1,'stream_encoder.h']]], + ['grpc_5fchttp2_5fif_5ftracing',['GRPC_CHTTP2_IF_TRACING',['../internal_8h.html#ab4ecd954e779c49a6159f842dc5a2ab4',1,'internal.h']]], + ['grpc_5fchttp2_5finitial_5fhpack_5ftable_5fsize',['GRPC_CHTTP2_INITIAL_HPACK_TABLE_SIZE',['../hpack__table_8h.html#aced1f8ce84e3964a961ad9361e0a24aa',1,'hpack_table.h']]], + ['grpc_5fchttp2_5flast_5fstatic_5fentry',['GRPC_CHTTP2_LAST_STATIC_ENTRY',['../hpack__table_8h.html#ab62c846bb1b82ae0a56b84c746dc83b3',1,'hpack_table.h']]], + ['grpc_5fchttp2_5fmax_5fhpack_5ftable_5fsize',['GRPC_CHTTP2_MAX_HPACK_TABLE_SIZE',['../hpack__table_8h.html#a376305051742470529655dacf911329e',1,'hpack_table.h']]], + ['grpc_5fchttp2_5fmax_5fin_5fprefix',['GRPC_CHTTP2_MAX_IN_PREFIX',['../varint_8h.html#a13810a2894d0705c3f1b6fd462f567bd',1,'varint.h']]], + ['grpc_5fchttp2_5fmax_5fpayload_5flength',['GRPC_CHTTP2_MAX_PAYLOAD_LENGTH',['../frame_8h.html#a461cf678ffd9272c8a10f133c058124e',1,'frame.h']]], + ['grpc_5fchttp2_5fmax_5ftable_5fcount',['GRPC_CHTTP2_MAX_TABLE_COUNT',['../hpack__table_8h.html#a292186cdaec230cfca45f2b7703d2fb5',1,'hpack_table.h']]], + ['grpc_5fchttp2_5fnum_5fhuffsyms',['GRPC_CHTTP2_NUM_HUFFSYMS',['../huffsyms_8h.html#ae3db52e9200db6e4b14b35f5f3d678cb',1,'huffsyms.h']]], + ['grpc_5fchttp2_5ftimeout_5fencode_5fmin_5fbufsize',['GRPC_CHTTP2_TIMEOUT_ENCODE_MIN_BUFSIZE',['../timeout__encoding_8h.html#a774d4de6aaa65433d6a318f611c00939',1,'timeout_encoding.h']]], + ['grpc_5fchttp2_5fvarint_5flength',['GRPC_CHTTP2_VARINT_LENGTH',['../varint_8h.html#af09078f363c97757f6e7bfa3953cb93d',1,'varint.h']]], + ['grpc_5fchttp2_5fwrite_5fvarint',['GRPC_CHTTP2_WRITE_VARINT',['../varint_8h.html#a6f5350a7ba20095c1c903463e74b8e54',1,'varint.h']]], + ['grpc_5fcompress_5frequest_5falgorithm_5fkey',['GRPC_COMPRESS_REQUEST_ALGORITHM_KEY',['../compress__filter_8h.html#a501a03bf06f05a5d19c3e2c3b8143124',1,'compress_filter.h']]], + ['grpc_5fcompression_5falgorithm_5farg',['GRPC_COMPRESSION_ALGORITHM_ARG',['../compression_8h.html#a9340488e193921e62bb1f240f9016a9b',1,'compression.h']]], + ['grpc_5fcompute_5fengine_5fdetection_5fhost',['GRPC_COMPUTE_ENGINE_DETECTION_HOST',['../google__default__credentials_8c.html#a4c79e7c2c581744d4fcb3518b2fccf39',1,'google_default_credentials.c']]], + ['grpc_5fcompute_5fengine_5fmetadata_5fhost',['GRPC_COMPUTE_ENGINE_METADATA_HOST',['../credentials_8h.html#af2ca22068add36d00ce70643802ff647',1,'credentials.h']]], + ['grpc_5fcompute_5fengine_5fmetadata_5ftoken_5fpath',['GRPC_COMPUTE_ENGINE_METADATA_TOKEN_PATH',['../credentials_8h.html#aca8e8738c2c829c3cf48f49454f7188f',1,'credentials.h']]], + ['grpc_5fcq_5finternal_5fref',['GRPC_CQ_INTERNAL_REF',['../completion__queue_8h.html#abb132fe2e37bc87bfcc83eb3cd8d3101',1,'completion_queue.h']]], + ['grpc_5fcq_5finternal_5funref',['GRPC_CQ_INTERNAL_UNREF',['../completion__queue_8h.html#aaceb3ef8959e5c43f6954c19a1975f63',1,'completion_queue.h']]], + ['grpc_5fcredentials_5ftype_5fcomposite',['GRPC_CREDENTIALS_TYPE_COMPOSITE',['../credentials_8h.html#a0712aea16b41a6d8c65dafcd9d12f599',1,'credentials.h']]], + ['grpc_5fcredentials_5ftype_5ffake_5ftransport_5fsecurity',['GRPC_CREDENTIALS_TYPE_FAKE_TRANSPORT_SECURITY',['../credentials_8h.html#a30ae5fa2e94aeeca90b31d0fd7c416d4',1,'credentials.h']]], + ['grpc_5fcredentials_5ftype_5fiam',['GRPC_CREDENTIALS_TYPE_IAM',['../credentials_8h.html#a2921973fe6094cad4b3aa94b20d8e254',1,'credentials.h']]], + ['grpc_5fcredentials_5ftype_5fjwt',['GRPC_CREDENTIALS_TYPE_JWT',['../credentials_8h.html#a94b9c6715bdb2a6469fe0db959358d2c',1,'credentials.h']]], + ['grpc_5fcredentials_5ftype_5foauth2',['GRPC_CREDENTIALS_TYPE_OAUTH2',['../credentials_8h.html#ad1d383b3414af259ebc165ac21febd04',1,'credentials.h']]], + ['grpc_5fcredentials_5ftype_5fssl',['GRPC_CREDENTIALS_TYPE_SSL',['../credentials_8h.html#ae74910f24a7fe0d54c326a1ed9e5e127',1,'credentials.h']]], + ['grpc_5fdefault_5fssl_5froots_5ffile_5fpath_5fenv_5fvar',['GRPC_DEFAULT_SSL_ROOTS_FILE_PATH_ENV_VAR',['../grpc__security_8h.html#a48565da473b7c82fa2453798f620fd59',1,'grpc_security.h']]], + ['grpc_5ffake_5fsecurity_5furl_5fscheme',['GRPC_FAKE_SECURITY_URL_SCHEME',['../security__connector_8h.html#aac2af4901dde1db04846ccc7bde22272',1,'security_connector.h']]], + ['grpc_5ffake_5ftransport_5fsecurity_5ftype',['GRPC_FAKE_TRANSPORT_SECURITY_TYPE',['../credentials_8h.html#a2f398e72138c69b2928abb30e54ce4ce',1,'credentials.h']]], + ['grpc_5ffd_5fref',['GRPC_FD_REF',['../fd__posix_8h.html#a4ad3cc6c9405aa0f94d03257238fe297',1,'fd_posix.h']]], + ['grpc_5ffd_5funref',['GRPC_FD_UNREF',['../fd__posix_8h.html#a3672f89aa33819921430074f7eb96267',1,'fd_posix.h']]], + ['grpc_5fgoogle_5fcloud_5fsdk_5fconfig_5fdirectory',['GRPC_GOOGLE_CLOUD_SDK_CONFIG_DIRECTORY',['../credentials_8h.html#ac6142eafe5116c797b860449a2fbb7bf',1,'credentials.h']]], + ['grpc_5fgoogle_5fcredentials_5fenv_5fvar',['GRPC_GOOGLE_CREDENTIALS_ENV_VAR',['../grpc__security_8h.html#a3874f70577fc9fe15fd2c4ce68a36ecd',1,'grpc_security.h']]], + ['grpc_5fgoogle_5foauth2_5fservice_5fhost',['GRPC_GOOGLE_OAUTH2_SERVICE_HOST',['../credentials_8h.html#a61dc5d4843d2e4b26aa48694efd08cd3',1,'credentials.h']]], + ['grpc_5fgoogle_5foauth2_5fservice_5ftoken_5fpath',['GRPC_GOOGLE_OAUTH2_SERVICE_TOKEN_PATH',['../credentials_8h.html#aa9cf32ba20b7ce3e171c87ab1c08b20c',1,'credentials.h']]], + ['grpc_5fgoogle_5fservice_5faccounts_5femail_5fdomain',['GRPC_GOOGLE_SERVICE_ACCOUNTS_EMAIL_DOMAIN',['../jwt__verifier_8h.html#aea767ba783450fa8bcd54ca9b5321b73',1,'jwt_verifier.h']]], + ['grpc_5fgoogle_5fservice_5faccounts_5fkey_5furl_5fprefix',['GRPC_GOOGLE_SERVICE_ACCOUNTS_KEY_URL_PREFIX',['../jwt__verifier_8h.html#a22636d9510845a1cf41ac00d777f4e98',1,'jwt_verifier.h']]], + ['grpc_5fgoogle_5fwell_5fknown_5fcredentials_5ffile',['GRPC_GOOGLE_WELL_KNOWN_CREDENTIALS_FILE',['../credentials_8h.html#a95d64473b3915a6a65e99ac283326e78',1,'credentials.h']]], + ['grpc_5fhttpcli_5fmax_5fheader_5flength',['GRPC_HTTPCLI_MAX_HEADER_LENGTH',['../httpcli_8h.html#a20ed031787f50e2fbbf09a5f1ab4ccec',1,'httpcli.h']]], + ['grpc_5fhttpcli_5fuser_5fagent',['GRPC_HTTPCLI_USER_AGENT',['../httpcli_8h.html#aad8b996f269fd3671a7c6fa829bdec95',1,'httpcli.h']]], + ['grpc_5fiam_5fauthority_5fselector_5fmetadata_5fkey',['GRPC_IAM_AUTHORITY_SELECTOR_METADATA_KEY',['../credentials_8h.html#ada8ea1fc7b28fb63283af76ad27761dd',1,'credentials.h']]], + ['grpc_5fiam_5fauthorization_5ftoken_5fmetadata_5fkey',['GRPC_IAM_AUTHORIZATION_TOKEN_METADATA_KEY',['../credentials_8h.html#ac952f285c5ca94edcff909e37ae68402',1,'credentials.h']]], + ['grpc_5finitial_5fhandshake_5fbuffer_5fsize',['GRPC_INITIAL_HANDSHAKE_BUFFER_SIZE',['../secure__transport__setup_8c.html#a7faeebb3ced4358f4e7db1428923b013',1,'secure_transport_setup.c']]], + ['grpc_5fjwt_5foauth2_5faudience',['GRPC_JWT_OAUTH2_AUDIENCE',['../json__token_8h.html#aa786d993b153687864544b028ab81d57',1,'json_token.h']]], + ['grpc_5fjwt_5frsa_5fsha256_5falgorithm',['GRPC_JWT_RSA_SHA256_ALGORITHM',['../json__token_8c.html#a152047e25145985b1aec6a0945d09553',1,'json_token.c']]], + ['grpc_5fjwt_5ftype',['GRPC_JWT_TYPE',['../json__token_8c.html#a6ee6f733ee72e89c478c9041176a3836',1,'json_token.c']]], + ['grpc_5flb_5fpolicy_5fref',['GRPC_LB_POLICY_REF',['../lb__policy_8h.html#aee5c1071728e588a3875f2338d4a5526',1,'lb_policy.h']]], + ['grpc_5flb_5fpolicy_5funref',['GRPC_LB_POLICY_UNREF',['../lb__policy_8h.html#a376467589c9ff6e1d597ae21b44295c9',1,'lb_policy.h']]], + ['grpc_5fmax_5fsockaddr_5fsize',['GRPC_MAX_SOCKADDR_SIZE',['../resolve__address_8h.html#aa9cd304afa2c2f9757531c4b2a8168b6',1,'resolve_address.h']]], + ['grpc_5fmdctx_5flocked_5fmdelem_5funref',['GRPC_MDCTX_LOCKED_MDELEM_UNREF',['../metadata_8h.html#af96c346c98e982e5c0086467dd11e714',1,'metadata.h']]], + ['grpc_5fmdelem_5fref',['GRPC_MDELEM_REF',['../metadata_8h.html#af5a6d4b7c327b66f0902c683ab007618',1,'metadata.h']]], + ['grpc_5fmdelem_5funref',['GRPC_MDELEM_UNREF',['../metadata_8h.html#ab01db7c946e0962da8888f19cb870afb',1,'metadata.h']]], + ['grpc_5fmdstr_5fkv_5fhash',['GRPC_MDSTR_KV_HASH',['../metadata_8h.html#a385838d339c97b956529499c1da41e1f',1,'metadata.h']]], + ['grpc_5fmdstr_5fref',['GRPC_MDSTR_REF',['../metadata_8h.html#ab07dbb900f15b2fe28ea24451c5cfa3d',1,'metadata.h']]], + ['grpc_5fmdstr_5funref',['GRPC_MDSTR_UNREF',['../metadata_8h.html#ab6dceed9dacb076aa33c15323f6e823c',1,'metadata.h']]], + ['grpc_5fmust_5fuse_5fresult',['GRPC_MUST_USE_RESULT',['../port__platform_8h.html#aef49047a3be38448a61332117b306686',1,'port_platform.h']]], + ['grpc_5fopenid_5fconfig_5furl_5fsuffix',['GRPC_OPENID_CONFIG_URL_SUFFIX',['../jwt__verifier_8h.html#a869346dd0fc12ac4686cd05eca73d1ef',1,'jwt_verifier.h']]], + ['grpc_5fpollset_5fkick_5fget_5ffd',['GRPC_POLLSET_KICK_GET_FD',['../pollset__kick__posix_8h.html#a595cfb6b4cc1f48dbd015821541df959',1,'pollset_kick_posix.h']]], + ['grpc_5fpollset_5fmu',['GRPC_POLLSET_MU',['../pollset__posix_8h.html#a717ebde9fd8a72d07e06d2255ee7b50f',1,'GRPC_POLLSET_MU(): pollset_posix.h'],['../pollset__windows_8h.html#a717ebde9fd8a72d07e06d2255ee7b50f',1,'GRPC_POLLSET_MU(): pollset_windows.h']]], + ['grpc_5fprecise_5fclock_5fformat',['GRPC_PRECISE_CLOCK_FORMAT',['../timers__preciseclock_8h.html#a8cbb7d29a1f4fcded6337c7d9c61598d',1,'timers_preciseclock.h']]], + ['grpc_5fprecise_5fclock_5fprintf_5fargs',['GRPC_PRECISE_CLOCK_PRINTF_ARGS',['../timers__preciseclock_8h.html#ad8cb0fe2236a54829f5c38cd508305c5',1,'timers_preciseclock.h']]], + ['grpc_5frefresh_5ftoken_5fpost_5fbody_5fformat_5fstring',['GRPC_REFRESH_TOKEN_POST_BODY_FORMAT_STRING',['../credentials_8h.html#adeaf95d65b517e001c71d1fb5e47c97a',1,'credentials.h']]], + ['grpc_5fresolver_5fref',['GRPC_RESOLVER_REF',['../resolver_8h.html#a98d15570db72446a0c175bc3ad316db9',1,'resolver.h']]], + ['grpc_5fresolver_5funref',['GRPC_RESOLVER_UNREF',['../resolver_8h.html#a54ccbaf14bf8c38ad785e95d705bfe4d',1,'resolver.h']]], + ['grpc_5fsecure_5ftoken_5frefresh_5fthreshold_5fsecs',['GRPC_SECURE_TOKEN_REFRESH_THRESHOLD_SECS',['../credentials_8h.html#a63b03c9e9e071d5b7f2276c0ae196aeb',1,'credentials.h']]], + ['grpc_5fsecurity_5fconnector_5farg',['GRPC_SECURITY_CONNECTOR_ARG',['../security__connector_8h.html#a047c420294c8769e4512f17d0573e353',1,'security_connector.h']]], + ['grpc_5fsecurity_5fconnector_5fref',['GRPC_SECURITY_CONNECTOR_REF',['../security__connector_8h.html#a5bb32899b45edd908bb61e45db59c460',1,'security_connector.h']]], + ['grpc_5fsecurity_5fconnector_5funref',['GRPC_SECURITY_CONNECTOR_UNREF',['../security__connector_8h.html#a1950bc24ce082a50d66b0cd505c069ee',1,'security_connector.h']]], + ['grpc_5fserver_5flog_5frequest_5fcall',['GRPC_SERVER_LOG_REQUEST_CALL',['../call_8h.html#a2248e590ae0f4d7aba76fbf76110db6c',1,'call.h']]], + ['grpc_5fserver_5flog_5fshutdown',['GRPC_SERVER_LOG_SHUTDOWN',['../call_8h.html#a0b82c07496b462c41ce400559c5219e7',1,'call.h']]], + ['grpc_5fservice_5faccount_5fpost_5fbody_5fprefix',['GRPC_SERVICE_ACCOUNT_POST_BODY_PREFIX',['../credentials_8h.html#a5c5761f3829eca7ec24d5aa68272cad2',1,'credentials.h']]], + ['grpc_5fslice_5fbuffer_5finline_5felements',['GRPC_SLICE_BUFFER_INLINE_ELEMENTS',['../slice__buffer_8h.html#a81db47a2be0a079aa797cd77f3864809',1,'slice_buffer.h']]], + ['grpc_5fsopb_5finline_5felements',['GRPC_SOPB_INLINE_ELEMENTS',['../stream__op_8h.html#a3fc30a237ae8cb1eb4b9925a1835b8ca',1,'stream_op.h']]], + ['grpc_5fssl_5fcipher_5fsuites',['GRPC_SSL_CIPHER_SUITES',['../security__connector_8c.html#ab67f630ea3179d8d418fddcdc0deef5c',1,'security_connector.c']]], + ['grpc_5fssl_5ftarget_5fname_5foverride_5farg',['GRPC_SSL_TARGET_NAME_OVERRIDE_ARG',['../grpc__security_8h.html#a218bf55b665134a11baf07ada5980825',1,'grpc_security.h']]], + ['grpc_5fssl_5ftransport_5fsecurity_5ftype',['GRPC_SSL_TRANSPORT_SECURITY_TYPE',['../grpc__security_8h.html#a35a35c597b7090b8ac7e2d854c9bcc7a',1,'grpc_security.h']]], + ['grpc_5fssl_5furl_5fscheme',['GRPC_SSL_URL_SCHEME',['../security__connector_8h.html#a9e0af76d139286bef4c720bde3a7a6c0',1,'security_connector.h']]], + ['grpc_5fsubchannel_5fcall_5fref',['GRPC_SUBCHANNEL_CALL_REF',['../subchannel_8h.html#aa0f8df565952fc5504c9658b426c64a7',1,'subchannel.h']]], + ['grpc_5fsubchannel_5fcall_5funref',['GRPC_SUBCHANNEL_CALL_UNREF',['../subchannel_8h.html#a5d26bb43a6c7a1d40d130c7dd08b4ca8',1,'subchannel.h']]], + ['grpc_5fsubchannel_5finitial_5fconnect_5fbackoff_5fseconds',['GRPC_SUBCHANNEL_INITIAL_CONNECT_BACKOFF_SECONDS',['../subchannel_8c.html#ab2916ffabb6e97931795c0cb17d5b1a0',1,'subchannel.c']]], + ['grpc_5fsubchannel_5fmin_5fconnect_5ftimeout_5fseconds',['GRPC_SUBCHANNEL_MIN_CONNECT_TIMEOUT_SECONDS',['../subchannel_8c.html#a4a297a5d3477460e802c804a945cfb4e',1,'subchannel.c']]], + ['grpc_5fsubchannel_5freconnect_5fbackoff_5fmultiplier',['GRPC_SUBCHANNEL_RECONNECT_BACKOFF_MULTIPLIER',['../subchannel_8c.html#ad1761b478eb46b24379e6d5a9edd30af',1,'subchannel.c']]], + ['grpc_5fsubchannel_5freconnect_5fjitter',['GRPC_SUBCHANNEL_RECONNECT_JITTER',['../subchannel_8c.html#a9775a74d61f54cd0537630b9b7118802',1,'subchannel.c']]], + ['grpc_5fsubchannel_5freconnect_5fmax_5fbackoff_5fseconds',['GRPC_SUBCHANNEL_RECONNECT_MAX_BACKOFF_SECONDS',['../subchannel_8c.html#ad021f6795743d8163fff68703ffb663b',1,'subchannel.c']]], + ['grpc_5fsubchannel_5fref',['GRPC_SUBCHANNEL_REF',['../subchannel_8h.html#a7a3f5a07d6d6ca7864d0b571a2675d15',1,'subchannel.h']]], + ['grpc_5fsubchannel_5fref_5fextra_5fargs',['GRPC_SUBCHANNEL_REF_EXTRA_ARGS',['../subchannel_8h.html#aabb025f64b5de653dc110d17add28e74',1,'subchannel.h']]], + ['grpc_5fsubchannel_5funref',['GRPC_SUBCHANNEL_UNREF',['../subchannel_8h.html#accf1481a1fe9acf1537f665705a60d4c',1,'subchannel.h']]], + ['grpc_5fsurface_5ftrace_5freturned_5fevent',['GRPC_SURFACE_TRACE_RETURNED_EVENT',['../surface__trace_8h.html#ab6bd5be00afe2369bd1b63e13ab6197d',1,'surface_trace.h']]], + ['grpc_5ftcp_5fdefault_5fread_5fslice_5fsize',['GRPC_TCP_DEFAULT_READ_SLICE_SIZE',['../tcp__posix_8h.html#a1f91c3aec64a436d29051c8d415b1053',1,'tcp_posix.h']]], + ['grpc_5ftimer_5fbegin',['GRPC_TIMER_BEGIN',['../timers_8h.html#abf4cfef22d1c79525994ba224ac13dba',1,'timers.h']]], + ['grpc_5ftimer_5fend',['GRPC_TIMER_END',['../timers_8h.html#ada806da3afa32376e244dfeb65ec467b',1,'timers.h']]], + ['grpc_5ftimer_5fimportant_5fmark',['GRPC_TIMER_IMPORTANT_MARK',['../timers_8h.html#a4de2bf5918f608b72f3c426e4a43e7c8',1,'timers.h']]], + ['grpc_5ftimer_5fmark',['GRPC_TIMER_MARK',['../timers_8h.html#acafc06612d7b046547ed80c18d519608',1,'timers.h']]], + ['grpc_5ftransport_5fsecurity_5ftype_5fproperty_5fname',['GRPC_TRANSPORT_SECURITY_TYPE_PROPERTY_NAME',['../grpc__security_8h.html#aff82fdff9e7c40c4dd4bdc650e38e25a',1,'grpc_security.h']]], + ['grpc_5fwakeup_5ffd_5fget_5fread_5ffd',['GRPC_WAKEUP_FD_GET_READ_FD',['../wakeup__fd__posix_8h.html#aa2c03135ade856e0b50c123d60dc50ff',1,'wakeup_fd_posix.h']]], + ['grpc_5fwrite_5fbuffer_5fhint',['GRPC_WRITE_BUFFER_HINT',['../grpc_8h.html#adf29fd8b7df2ecc47d14a7f5a3a079c0',1,'grpc.h']]], + ['grpc_5fwrite_5finternal_5fcompress',['GRPC_WRITE_INTERNAL_COMPRESS',['../stream__op_8h.html#a9d51ace7a6bdbf212ee6843952977c35',1,'stream_op.h']]], + ['grpc_5fwrite_5finternal_5fused_5fmask',['GRPC_WRITE_INTERNAL_USED_MASK',['../stream__op_8h.html#a7acab698fedc01eca6138c3e30056ff1',1,'stream_op.h']]], + ['grpc_5fwrite_5fno_5fcompress',['GRPC_WRITE_NO_COMPRESS',['../grpc_8h.html#ae09000181671f031ed0e319ed557da4e',1,'grpc.h']]], + ['grpc_5fwrite_5fused_5fmask',['GRPC_WRITE_USED_MASK',['../grpc_8h.html#a3317259e1098b2b6f49982d6997bbf6a',1,'grpc.h']]], + ['grpc_5fx509_5fcn_5fproperty_5fname',['GRPC_X509_CN_PROPERTY_NAME',['../grpc__security_8h.html#afee5e0fade6e0af1954529f1f08afe0c',1,'grpc_security.h']]], + ['grpc_5fx509_5fsan_5fproperty_5fname',['GRPC_X509_SAN_PROPERTY_NAME',['../grpc__security_8h.html#a1412421653b7999544296f56025a0f36',1,'grpc_security.h']]] +]; diff --git a/doc/ref/core.internal/html/search/defines_7.html b/doc/ref/core.internal/html/search/defines_7.html new file mode 100644 index 0000000000..1a4527c67b --- /dev/null +++ b/doc/ref/core.internal/html/search/defines_7.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core.internal/html/search/defines_7.js b/doc/ref/core.internal/html/search/defines_7.js new file mode 100644 index 0000000000..5ec13c5096 --- /dev/null +++ b/doc/ref/core.internal/html/search/defines_7.js @@ -0,0 +1,7 @@ +var searchData= +[ + ['hash_5ffragment_5f1',['HASH_FRAGMENT_1',['../stream__encoder_8c.html#a0551b7ff01539c9139e682053301b58b',1,'stream_encoder.c']]], + ['hash_5ffragment_5f2',['HASH_FRAGMENT_2',['../stream__encoder_8c.html#a00bb8310d47f7c0b6d5b9e86fdfbc043',1,'stream_encoder.c']]], + ['hash_5ffragment_5f3',['HASH_FRAGMENT_3',['../stream__encoder_8c.html#ac6a3339f7cdc67827f51d6f7162271fa',1,'stream_encoder.c']]], + ['hash_5ffragment_5f4',['HASH_FRAGMENT_4',['../stream__encoder_8c.html#a1aa06e441caa39deff8ee0dddaa18916',1,'stream_encoder.c']]] +]; diff --git a/doc/ref/core.internal/html/search/defines_8.html b/doc/ref/core.internal/html/search/defines_8.html new file mode 100644 index 0000000000..66764b7c98 --- /dev/null +++ b/doc/ref/core.internal/html/search/defines_8.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core.internal/html/search/defines_8.js b/doc/ref/core.internal/html/search/defines_8.js new file mode 100644 index 0000000000..3f5643a32f --- /dev/null +++ b/doc/ref/core.internal/html/search/defines_8.js @@ -0,0 +1,9 @@ +var searchData= +[ + ['initial_5fmdtab_5fcapacity',['INITIAL_MDTAB_CAPACITY',['../metadata_8c.html#a79df755ba4db91d4b3ab5d375eb18364',1,'metadata.c']]], + ['initial_5fstrtab_5fcapacity',['INITIAL_STRTAB_CAPACITY',['../metadata_8c.html#a6e712d615b691c6a9f5daf410b8850ad',1,'metadata.c']]], + ['internal_5fstring_5fref',['INTERNAL_STRING_REF',['../metadata_8c.html#a83513324a061c9ec72f186425ccdb78b',1,'metadata.c']]], + ['internal_5fstring_5funref',['INTERNAL_STRING_UNREF',['../metadata_8c.html#a54692508d43c5445088e92d06a5665db',1,'metadata.c']]], + ['invalid_5fentry_5findex',['INVALID_ENTRY_INDEX',['../stack__lockfree_8c.html#a6c03a49143863f3e267ce5a21ac6121c',1,'stack_lockfree.c']]], + ['invalid_5fheap_5findex',['INVALID_HEAP_INDEX',['../alarm_8c.html#ab10c095adee8fff29f7d8e4209b70c66',1,'alarm.c']]] +]; diff --git a/doc/ref/core.internal/html/search/defines_9.html b/doc/ref/core.internal/html/search/defines_9.html new file mode 100644 index 0000000000..f6fd78321e --- /dev/null +++ b/doc/ref/core.internal/html/search/defines_9.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core.internal/html/search/defines_9.js b/doc/ref/core.internal/html/search/defines_9.js new file mode 100644 index 0000000000..30d4785dab --- /dev/null +++ b/doc/ref/core.internal/html/search/defines_9.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['log2_5fnum_5fshards',['LOG2_NUM_SHARDS',['../alarm_8c.html#ae48da0bb5039d191e6de667c888624c1',1,'alarm.c']]] +]; diff --git a/doc/ref/core.internal/html/search/defines_a.html b/doc/ref/core.internal/html/search/defines_a.html new file mode 100644 index 0000000000..c28019f568 --- /dev/null +++ b/doc/ref/core.internal/html/search/defines_a.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core.internal/html/search/defines_a.js b/doc/ref/core.internal/html/search/defines_a.js new file mode 100644 index 0000000000..c24550e6af --- /dev/null +++ b/doc/ref/core.internal/html/search/defines_a.js @@ -0,0 +1,15 @@ +var searchData= +[ + ['max_5falarms_5fper_5fcheck',['MAX_ALARMS_PER_CHECK',['../alarm_8c.html#a035d5ac078d2c49bd8bc08a56eaeb7bb',1,'alarm.c']]], + ['max_5fbuffer_5flength',['MAX_BUFFER_LENGTH',['../connected__channel_8c.html#aa8a8ed5c9e057542ff818fde39a94f07',1,'connected_channel.c']]], + ['max_5fclient_5fstream_5fid',['MAX_CLIENT_STREAM_ID',['../chttp2__transport_8c.html#afdde497df8d499ae838ff389ab262ab5',1,'chttp2_transport.c']]], + ['max_5fconcurrent_5fcompletions',['MAX_CONCURRENT_COMPLETIONS',['../call_8c.html#adc0473bd2ea598bc8b0d09c6f43b3a89',1,'call.c']]], + ['max_5fcredentials_5fmetadata_5fcount',['MAX_CREDENTIALS_METADATA_COUNT',['../client__auth__filter_8c.html#a0e5b323dfbc6ab0f070bf6c5a2a9be55',1,'client_auth_filter.c']]], + ['max_5fdecoder_5fspace_5fusage',['MAX_DECODER_SPACE_USAGE',['../stream__encoder_8c.html#a7216827b7f9b1ea6a0b108518cde0a7a',1,'stream_encoder.c']]], + ['max_5ffilters',['MAX_FILTERS',['../secure__channel__create_8c.html#a9b1446343e6c9b066f546fcb7b33fba2',1,'MAX_FILTERS(): secure_channel_create.c'],['../channel__create_8c.html#a9b1446343e6c9b066f546fcb7b33fba2',1,'MAX_FILTERS(): channel_create.c']]], + ['max_5fqueue_5fwindow_5fduration',['MAX_QUEUE_WINDOW_DURATION',['../alarm_8c.html#aa7820b33745be59861679298b76d9a95',1,'alarm.c']]], + ['max_5fresolvers',['MAX_RESOLVERS',['../resolver__registry_8c.html#af575a6a4adada94cfdb731c84e327ed2',1,'resolver_registry.c']]], + ['max_5fsend_5finitial_5fmetadata_5fcount',['MAX_SEND_INITIAL_METADATA_COUNT',['../call_8c.html#ab0c91da8d11c6964aded3fbecff4a15c',1,'call.c']]], + ['max_5fwindow',['MAX_WINDOW',['../chttp2__transport_8c.html#a33445af5cbee6560efd1a891e4c01067',1,'chttp2_transport.c']]], + ['min_5fqueue_5fwindow_5fduration',['MIN_QUEUE_WINDOW_DURATION',['../alarm_8c.html#a1998a9b10fbd17ad50ff85991aeaa645',1,'alarm.c']]] +]; diff --git a/doc/ref/core.internal/html/search/defines_b.html b/doc/ref/core.internal/html/search/defines_b.html new file mode 100644 index 0000000000..6e8f2d0650 --- /dev/null +++ b/doc/ref/core.internal/html/search/defines_b.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core.internal/html/search/defines_b.js b/doc/ref/core.internal/html/search/defines_b.js new file mode 100644 index 0000000000..7e0340e619 --- /dev/null +++ b/doc/ref/core.internal/html/search/defines_b.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['num_5fcached_5fstatus_5felems',['NUM_CACHED_STATUS_ELEMS',['../channel_8c.html#a30ddfda40b473a077ff7c70a7687ddb1',1,'channel.c']]], + ['num_5fshards',['NUM_SHARDS',['../alarm_8c.html#abc8b3b06fc834d57a69ca6ed5e3dfe3e',1,'alarm.c']]] +]; diff --git a/doc/ref/core.internal/html/search/defines_c.html b/doc/ref/core.internal/html/search/defines_c.html new file mode 100644 index 0000000000..52fbffae03 --- /dev/null +++ b/doc/ref/core.internal/html/search/defines_c.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core.internal/html/search/defines_c.js b/doc/ref/core.internal/html/search/defines_c.js new file mode 100644 index 0000000000..be05db0da6 --- /dev/null +++ b/doc/ref/core.internal/html/search/defines_c.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['one_5fon_5fadd_5fprobability',['ONE_ON_ADD_PROBABILITY',['../stream__encoder_8c.html#ad7f6bdf9db2a15a5e00cf3a6825d9957',1,'stream_encoder.c']]], + ['output_5fblock_5fsize',['OUTPUT_BLOCK_SIZE',['../message__compress_8c.html#a64fcbb2644c2b3d0dcdc23ac148dd553',1,'message_compress.c']]] +]; diff --git a/doc/ref/core.internal/html/search/defines_d.html b/doc/ref/core.internal/html/search/defines_d.html new file mode 100644 index 0000000000..434e87873f --- /dev/null +++ b/doc/ref/core.internal/html/search/defines_d.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core.internal/html/search/defines_d.js b/doc/ref/core.internal/html/search/defines_d.js new file mode 100644 index 0000000000..a36dcbcc49 --- /dev/null +++ b/doc/ref/core.internal/html/search/defines_d.js @@ -0,0 +1,11 @@ +var searchData= +[ + ['ref_5flog',['REF_LOG',['../subchannel_8c.html#a12a25b2a728caf10ef93487e8a41896c',1,'subchannel.c']]], + ['ref_5fmd_5flocked',['REF_MD_LOCKED',['../metadata_8c.html#a5456b7d52304a8749ca71440bc7c2a0f',1,'metadata.c']]], + ['ref_5fpass_5fargs',['REF_PASS_ARGS',['../subchannel_8c.html#a8b6e7b7a1e9f2434b354c7bae2760ab0',1,'subchannel.c']]], + ['ref_5ftransport',['REF_TRANSPORT',['../chttp2__transport_8c.html#a14b095839f9792316e7aea2ab7a68bdc',1,'chttp2_transport.c']]], + ['reqset_5fdone',['REQSET_DONE',['../call_8c.html#afa1b821bc0571d94c462688e3deeeafd',1,'call.c']]], + ['reqset_5fempty',['REQSET_EMPTY',['../call_8c.html#a7810380d8811f64f6167a7427f22beb4',1,'call.c']]], + ['rotl32',['ROTL32',['../murmur__hash_8c.html#aff6ce4cae0564b039bbb4ef0cbdc0032',1,'murmur_hash.c']]], + ['round_5fup_5fto_5falignment_5fsize',['ROUND_UP_TO_ALIGNMENT_SIZE',['../channel__stack_8c.html#ab55c837def86039053f144d9fd6151d1',1,'channel_stack.c']]] +]; diff --git a/doc/ref/core.internal/html/search/defines_e.html b/doc/ref/core.internal/html/search/defines_e.html new file mode 100644 index 0000000000..897e317654 --- /dev/null +++ b/doc/ref/core.internal/html/search/defines_e.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core.internal/html/search/defines_e.js b/doc/ref/core.internal/html/search/defines_e.js new file mode 100644 index 0000000000..8ba6263e16 --- /dev/null +++ b/doc/ref/core.internal/html/search/defines_e.js @@ -0,0 +1,15 @@ +var searchData= +[ + ['server_5ffrom_5fcall_5felem',['SERVER_FROM_CALL_ELEM',['../server_8c.html#ad74e7a97d516828e54c49eb3e4878da3',1,'server.c']]], + ['shrink_5ffullness_5ffactor',['SHRINK_FULLNESS_FACTOR',['../alarm__heap_8c.html#ac5064e56882ef0a36524cae10ac800ce',1,'alarm_heap.c']]], + ['shrink_5fmin_5felems',['SHRINK_MIN_ELEMS',['../alarm__heap_8c.html#acea3d7e412eaa9246638bc218372f55e',1,'alarm_heap.c']]], + ['staging_5fbuffer_5fsize',['STAGING_BUFFER_SIZE',['../secure__endpoint_8c.html#a323532623f3183502482bb853c503353',1,'secure_endpoint.c']]], + ['status_5foffset',['STATUS_OFFSET',['../call_8c.html#ac3959778b8b4ee593c16fa33a06d844c',1,'call.c']]], + ['stream_5ffrom_5fglobal',['STREAM_FROM_GLOBAL',['../stream__lists_8c.html#ad226604f0f25167ab63b83fb504925ed',1,'STREAM_FROM_GLOBAL(): stream_lists.c'],['../chttp2__transport_8c.html#ad226604f0f25167ab63b83fb504925ed',1,'STREAM_FROM_GLOBAL(): chttp2_transport.c']]], + ['stream_5ffrom_5fparsing',['STREAM_FROM_PARSING',['../stream__lists_8c.html#af36e6925c4b86e9bdea0abf8824d521e',1,'stream_lists.c']]], + ['stream_5ffrom_5fwriting',['STREAM_FROM_WRITING',['../stream__lists_8c.html#a168549253d875995f6454b6ac5f9250f',1,'stream_lists.c']]], + ['strlen_5flit',['STRLEN_LIT',['../stream__encoder_8c.html#a4adf5996646225c1109095f57e5054c1',1,'stream_encoder.c']]], + ['subchannel_5fcall_5fto_5fcall_5fstack',['SUBCHANNEL_CALL_TO_CALL_STACK',['../subchannel_8c.html#a6f8f2e93f13638c3344bed1c0a810a90',1,'subchannel.c']]], + ['subchannel_5fref_5flocked',['SUBCHANNEL_REF_LOCKED',['../subchannel_8c.html#ad1c3bb13282f81c8384752ae3e2d74ad',1,'subchannel.c']]], + ['subchannel_5funref_5flocked',['SUBCHANNEL_UNREF_LOCKED',['../subchannel_8c.html#ac827935703a637a3a74cb54936a49f25',1,'subchannel.c']]] +]; diff --git a/doc/ref/core.internal/html/search/defines_f.html b/doc/ref/core.internal/html/search/defines_f.html new file mode 100644 index 0000000000..d6b0b7b9ae --- /dev/null +++ b/doc/ref/core.internal/html/search/defines_f.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core.internal/html/search/defines_f.js b/doc/ref/core.internal/html/search/defines_f.js new file mode 100644 index 0000000000..ffb0ebdfb2 --- /dev/null +++ b/doc/ref/core.internal/html/search/defines_f.js @@ -0,0 +1,26 @@ +var searchData= +[ + ['timeout_5fkey',['TIMEOUT_KEY',['../stream__encoder_8c.html#a730f13257408fd7a5a3d734f5399cba7',1,'stream_encoder.c']]], + ['top_5fbit_5fof_5ftype',['TOP_BIT_OF_TYPE',['../time_8c.html#a1238d80d57e92de77f3ea0df0bfbf500',1,'time.c']]], + ['transport_5ffrom_5fglobal',['TRANSPORT_FROM_GLOBAL',['../stream__lists_8c.html#a029ef12f8edec2cce810fc244777f39e',1,'TRANSPORT_FROM_GLOBAL(): stream_lists.c'],['../chttp2__transport_8c.html#a029ef12f8edec2cce810fc244777f39e',1,'TRANSPORT_FROM_GLOBAL(): chttp2_transport.c']]], + ['transport_5ffrom_5fparsing',['TRANSPORT_FROM_PARSING',['../stream__lists_8c.html#a5d41409974a115e2721fe32cd1c1b8eb',1,'TRANSPORT_FROM_PARSING(): stream_lists.c'],['../chttp2__transport_8c.html#a720ba3d4f39bd3a50eef94f3af02df26',1,'TRANSPORT_FROM_PARSING(): chttp2_transport.c']]], + ['transport_5ffrom_5fwriting',['TRANSPORT_FROM_WRITING',['../stream__lists_8c.html#a0cbfd8ced9e04ddc423b7b87abb271ba',1,'TRANSPORT_FROM_WRITING(): stream_lists.c'],['../chttp2__transport_8c.html#a0cbfd8ced9e04ddc423b7b87abb271ba',1,'TRANSPORT_FROM_WRITING(): chttp2_transport.c']]], + ['transport_5fstream_5ffrom_5fcall_5fdata',['TRANSPORT_STREAM_FROM_CALL_DATA',['../connected__channel_8c.html#a20fccb78f707f86985ab8dccc8f9ff68',1,'connected_channel.c']]], + ['tsi_5fcertificate_5ftype_5fpeer_5fproperty',['TSI_CERTIFICATE_TYPE_PEER_PROPERTY',['../transport__security__interface_8h.html#ac1c4704b4f46d8db67be7d79cf9abee4',1,'transport_security_interface.h']]], + ['tsi_5ffake_5fcertificate_5ftype',['TSI_FAKE_CERTIFICATE_TYPE',['../fake__transport__security_8h.html#ae0392587ca3b2c370e2d0b23bd3567dc',1,'fake_transport_security.h']]], + ['tsi_5ffake_5fdefault_5fframe_5fsize',['TSI_FAKE_DEFAULT_FRAME_SIZE',['../fake__transport__security_8c.html#a5e80c442eaaca03f86cd1b2a1beea9f3',1,'fake_transport_security.c']]], + ['tsi_5ffake_5fframe_5fheader_5fsize',['TSI_FAKE_FRAME_HEADER_SIZE',['../fake__transport__security_8c.html#ad4e1e451d3d99c6805c489641d4934df',1,'fake_transport_security.c']]], + ['tsi_5ffake_5fframe_5finitial_5fallocated_5fsize',['TSI_FAKE_FRAME_INITIAL_ALLOCATED_SIZE',['../fake__transport__security_8c.html#a4faca44775d659e16993c11482a4a80e',1,'fake_transport_security.c']]], + ['tsi_5fhandshaker_5fis_5fin_5fprogress',['tsi_handshaker_is_in_progress',['../transport__security__interface_8h.html#a08a4eb400e7769528cf47bf38542010c',1,'transport_security_interface.h']]], + ['tsi_5fopenssl_5falpn_5fsupport',['TSI_OPENSSL_ALPN_SUPPORT',['../ssl__transport__security_8c.html#a6ddfac76c84308f6f7525adccea25b50',1,'ssl_transport_security.c']]], + ['tsi_5fssl_5falpn_5fselected_5fprotocol',['TSI_SSL_ALPN_SELECTED_PROTOCOL',['../ssl__transport__security_8h.html#a7772b205a40f5d0e6bf613f666df70fa',1,'ssl_transport_security.h']]], + ['tsi_5fssl_5fmax_5fprotected_5fframe_5fsize_5flower_5fbound',['TSI_SSL_MAX_PROTECTED_FRAME_SIZE_LOWER_BOUND',['../ssl__transport__security_8c.html#a57f67839c0d50a95afa6b14b8917b7ba',1,'ssl_transport_security.c']]], + ['tsi_5fssl_5fmax_5fprotected_5fframe_5fsize_5fupper_5fbound',['TSI_SSL_MAX_PROTECTED_FRAME_SIZE_UPPER_BOUND',['../ssl__transport__security_8c.html#afce1f5cc8a28bd1d4cea273bb2b5f5d8',1,'ssl_transport_security.c']]], + ['tsi_5fssl_5fmax_5fprotection_5foverhead',['TSI_SSL_MAX_PROTECTION_OVERHEAD',['../ssl__transport__security_8c.html#ac62522a33798b7b5bb434e1b8e49974f',1,'ssl_transport_security.c']]], + ['tsi_5fx509_5fcertificate_5ftype',['TSI_X509_CERTIFICATE_TYPE',['../ssl__transport__security_8h.html#a394dce2eccd1a35e54ea94ed19b95a7c',1,'ssl_transport_security.h']]], + ['tsi_5fx509_5fsubject_5falternative_5fname_5fpeer_5fproperty',['TSI_X509_SUBJECT_ALTERNATIVE_NAME_PEER_PROPERTY',['../ssl__transport__security_8h.html#a64e0648b7d1eec9671f01aa79f508c0f',1,'ssl_transport_security.h']]], + ['tsi_5fx509_5fsubject_5fcommon_5fname_5fpeer_5fproperty',['TSI_X509_SUBJECT_COMMON_NAME_PEER_PROPERTY',['../ssl__transport__security_8h.html#a3015d52d16728b0e28f354217fbb6296',1,'ssl_transport_security.h']]], + ['type_5fis_5fsigned',['TYPE_IS_SIGNED',['../time_8c.html#aee5df4784512f172739646babf8fa13d',1,'time.c']]], + ['type_5fmax',['TYPE_MAX',['../time_8c.html#a87353338032e1f56c958d981731f8378',1,'time.c']]], + ['type_5fmin',['TYPE_MIN',['../time_8c.html#ad5b4c36b3633abe2c68f8b4ab3c7de8c',1,'time.c']]] +]; diff --git a/doc/ref/core.internal/html/search/enums_0.html b/doc/ref/core.internal/html/search/enums_0.html new file mode 100644 index 0000000000..b4cbe1e3ca --- /dev/null +++ b/doc/ref/core.internal/html/search/enums_0.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core.internal/html/search/enums_0.js b/doc/ref/core.internal/html/search/enums_0.js new file mode 100644 index 0000000000..3ec083a98e --- /dev/null +++ b/doc/ref/core.internal/html/search/enums_0.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['argtype',['argtype',['../cmdline_8c.html#a55073e9737969efda87471594edd95d4',1,'cmdline.c']]] +]; diff --git a/doc/ref/core.internal/html/search/enums_1.html b/doc/ref/core.internal/html/search/enums_1.html new file mode 100644 index 0000000000..2af2a03ec9 --- /dev/null +++ b/doc/ref/core.internal/html/search/enums_1.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core.internal/html/search/enums_1.js b/doc/ref/core.internal/html/search/enums_1.js new file mode 100644 index 0000000000..7ed8e08a44 --- /dev/null +++ b/doc/ref/core.internal/html/search/enums_1.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['binary_5fstate',['binary_state',['../hpack__parser_8c.html#ad3a7b3c7f62a05667162fb28247a07c2',1,'hpack_parser.c']]] +]; diff --git a/doc/ref/core.internal/html/search/enums_2.html b/doc/ref/core.internal/html/search/enums_2.html new file mode 100644 index 0000000000..f96cf0a736 --- /dev/null +++ b/doc/ref/core.internal/html/search/enums_2.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core.internal/html/search/enums_2.js b/doc/ref/core.internal/html/search/enums_2.js new file mode 100644 index 0000000000..1baa79c220 --- /dev/null +++ b/doc/ref/core.internal/html/search/enums_2.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['call_5fstate',['call_state',['../client__channel_8c.html#a6ca2e6dbf0562417ab7c66e8907a56b1',1,'call_state(): client_channel.c'],['../server_8c.html#a6ca2e6dbf0562417ab7c66e8907a56b1',1,'call_state(): server.c']]], + ['callback_5fphase',['callback_phase',['../channel__connectivity_8c.html#a71937a2ee2a4befe88e84d4966f8845c',1,'channel_connectivity.c']]], + ['census_5ffeatures',['census_features',['../census_8h.html#abe92e59c22481b0de3742673cbbb1bf8',1,'census.h']]] +]; diff --git a/doc/ref/core.internal/html/search/enums_3.html b/doc/ref/core.internal/html/search/enums_3.html new file mode 100644 index 0000000000..77df324aff --- /dev/null +++ b/doc/ref/core.internal/html/search/enums_3.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core.internal/html/search/enums_3.js b/doc/ref/core.internal/html/search/enums_3.js new file mode 100644 index 0000000000..c57a29dcf5 --- /dev/null +++ b/doc/ref/core.internal/html/search/enums_3.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['first_5fbyte_5ftype',['first_byte_type',['../hpack__parser_8c.html#a82ea1fc72cfd46090df5eb5f87ba1918',1,'hpack_parser.c']]], + ['frame_5ftype',['frame_type',['../stream__encoder_8c.html#a3ca2c0bc7578bf3d337e34b2c08a6c5f',1,'stream_encoder.c']]] +]; diff --git a/doc/ref/core.internal/html/search/enums_4.html b/doc/ref/core.internal/html/search/enums_4.html new file mode 100644 index 0000000000..99379142e6 --- /dev/null +++ b/doc/ref/core.internal/html/search/enums_4.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core.internal/html/search/enums_4.js b/doc/ref/core.internal/html/search/enums_4.js new file mode 100644 index 0000000000..a9e8e4dffa --- /dev/null +++ b/doc/ref/core.internal/html/search/enums_4.js @@ -0,0 +1,41 @@ +var searchData= +[ + ['gpr_5fclock_5ftype',['gpr_clock_type',['../time_8h.html#a2441bd1fbe80e86ff741e0757725b281',1,'time.h']]], + ['gpr_5flog_5fseverity',['gpr_log_severity',['../log_8h.html#af10334b4085ac6985a2af9c08478ad48',1,'log.h']]], + ['grpc_5farg_5ftype',['grpc_arg_type',['../grpc_8h.html#a0b06eae05e70404aedbceaebce6de593',1,'grpc.h']]], + ['grpc_5fbyte_5fbuffer_5ftype',['grpc_byte_buffer_type',['../byte__buffer_8h.html#acdc94363b280bde9c82e3d9b5dc3b3e6',1,'byte_buffer.h']]], + ['grpc_5fcall_5ferror',['grpc_call_error',['../grpc_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785b',1,'grpc.h']]], + ['grpc_5fchttp2_5fdeframe_5ftransport_5fstate',['grpc_chttp2_deframe_transport_state',['../internal_8h.html#a6f98ba3b22480becf1bcc47253326a62',1,'internal.h']]], + ['grpc_5fchttp2_5ferror_5fcode',['grpc_chttp2_error_code',['../http2__errors_8h.html#a093974eee0aaf09397d243c7dcebd4da',1,'http2_errors.h']]], + ['grpc_5fchttp2_5fgoaway_5fparse_5fstate',['grpc_chttp2_goaway_parse_state',['../frame__goaway_8h.html#a14004d750241aad1932b7a6abdcd436a',1,'frame_goaway.h']]], + ['grpc_5fchttp2_5finvalid_5fvalue_5fbehavior',['grpc_chttp2_invalid_value_behavior',['../frame__settings_8h.html#a4df6da81a733ff99e174c9502a7e69df',1,'frame_settings.h']]], + ['grpc_5fchttp2_5fparse_5ferror',['grpc_chttp2_parse_error',['../frame_8h.html#ada474db64756bd411eeeaf3de4318e35',1,'frame.h']]], + ['grpc_5fchttp2_5fsend_5fclosed',['grpc_chttp2_send_closed',['../internal_8h.html#a9d3b30dd29e854143c461aa7e03cbfb9',1,'internal.h']]], + ['grpc_5fchttp2_5fsetting_5fid',['grpc_chttp2_setting_id',['../frame__settings_8h.html#a1579a1a90fe405ea3791529c14da11ef',1,'frame_settings.h']]], + ['grpc_5fchttp2_5fsetting_5fset',['grpc_chttp2_setting_set',['../internal_8h.html#a6c14b42c5aba744e7f99831e0b7901ad',1,'internal.h']]], + ['grpc_5fchttp2_5fsettings_5fparse_5fstate',['grpc_chttp2_settings_parse_state',['../frame__settings_8h.html#ae964433822fb14f6c7d72fc1f3420b8f',1,'frame_settings.h']]], + ['grpc_5fchttp2_5fstream_5flist_5fid',['grpc_chttp2_stream_list_id',['../internal_8h.html#abddcdf3ebb4034fd86a102d86aff5539',1,'internal.h']]], + ['grpc_5fchttp2_5fstream_5fstate',['grpc_chttp2_stream_state',['../frame__data_8h.html#a0217c22db3da53fe20f70cb48dd3a910',1,'frame_data.h']]], + ['grpc_5fchttp2_5fwrite_5fstate',['grpc_chttp2_write_state',['../internal_8h.html#a3b93cb6f95aff10ba74b6aa06d7e99cc',1,'internal.h']]], + ['grpc_5fcompletion_5ftype',['grpc_completion_type',['../grpc_8h.html#ab6454071421a36ebc25952ed448d5b87',1,'grpc.h']]], + ['grpc_5fcompression_5falgorithm',['grpc_compression_algorithm',['../compression_8h.html#ab9de0f68bfb1ef8ed09bd00643db14c9',1,'compression.h']]], + ['grpc_5fcompression_5flevel',['grpc_compression_level',['../compression_8h.html#a14a79ed6b5ebd7e1dda7c2684f499cc7',1,'compression.h']]], + ['grpc_5fconnectivity_5fstate',['grpc_connectivity_state',['../grpc_8h.html#a065b65f5cdd062a67d82e2b6bcf68cf2',1,'grpc.h']]], + ['grpc_5fcontext_5findex',['grpc_context_index',['../channel_2context_8h.html#ad9f29fba1468a9a1384b9104bf368dff',1,'context.h']]], + ['grpc_5fcredentials_5fstatus',['grpc_credentials_status',['../credentials_8h.html#a2f0ff51afd60f456086f0db9b67a13e4',1,'credentials.h']]], + ['grpc_5fdualstack_5fmode',['grpc_dualstack_mode',['../socket__utils__posix_8h.html#a00b8257ab3e474c4f3d666247d620264',1,'socket_utils_posix.h']]], + ['grpc_5fendpoint_5fcb_5fstatus',['grpc_endpoint_cb_status',['../endpoint_8h.html#abb88e72ffe7908c2def55fea24d321ae',1,'endpoint.h']]], + ['grpc_5fendpoint_5fwrite_5fstatus',['grpc_endpoint_write_status',['../endpoint_8h.html#abfb8e299371be52c109912cda9dbe902',1,'endpoint.h']]], + ['grpc_5fhttpcli_5fparser_5fstate',['grpc_httpcli_parser_state',['../parser_8h.html#a664db6149875c333b0a568ef8711e257',1,'parser.h']]], + ['grpc_5fioreq_5fop',['grpc_ioreq_op',['../call_8h.html#a6197b03dc8f1e7b26c62190faf505077',1,'call.h']]], + ['grpc_5fjson_5freader_5fstate',['grpc_json_reader_state',['../json__reader_8h.html#ab49e2221d9261d6dbeba7714f49998c3',1,'json_reader.h']]], + ['grpc_5fjson_5freader_5fstatus',['grpc_json_reader_status',['../json__reader_8h.html#ab958fafc9819a82736ac5f030feb8d24',1,'json_reader.h']]], + ['grpc_5fjson_5ftype',['grpc_json_type',['../json__common_8h.html#a3e82983bba0988c52251467566a07ce2',1,'json_common.h']]], + ['grpc_5fjwt_5fverifier_5fstatus',['grpc_jwt_verifier_status',['../jwt__verifier_8h.html#a04a38ad49ca184c3a075f927b7ed61b5',1,'jwt_verifier.h']]], + ['grpc_5fop_5ftype',['grpc_op_type',['../grpc_8h.html#a41dc9abf9678decbfcef1a037e35939a',1,'grpc.h']]], + ['grpc_5fprofiling_5ftags',['grpc_profiling_tags',['../timers_8h.html#a3924e8ccd8dd2091f770739703718fe3',1,'timers.h']]], + ['grpc_5fsecurity_5fstatus',['grpc_security_status',['../security__connector_8h.html#a7a71a61785f1c3b13704bb735d2645f9',1,'security_connector.h']]], + ['grpc_5fstatus_5fcode',['grpc_status_code',['../status_8h.html#a35ab2a68917eb836de84cb23253108eb',1,'status.h']]], + ['grpc_5fstream_5fop_5fcode',['grpc_stream_op_code',['../stream__op_8h.html#af16e06eb1edfe4d93509276f32ed3804',1,'stream_op.h']]], + ['grpc_5fstream_5fstate',['grpc_stream_state',['../transport_8h.html#a5988f9c4b3b23409cda5a38636d97f7b',1,'transport.h']]] +]; diff --git a/doc/ref/core.internal/html/search/enums_5.html b/doc/ref/core.internal/html/search/enums_5.html new file mode 100644 index 0000000000..e1e6d0e01c --- /dev/null +++ b/doc/ref/core.internal/html/search/enums_5.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core.internal/html/search/enums_5.js b/doc/ref/core.internal/html/search/enums_5.js new file mode 100644 index 0000000000..f3e5c607a6 --- /dev/null +++ b/doc/ref/core.internal/html/search/enums_5.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['is_5fbinary_5fheader',['is_binary_header',['../hpack__parser_8c.html#a71eda0fd38f30d8005251eb895de35ee',1,'hpack_parser.c']]] +]; diff --git a/doc/ref/core.internal/html/search/enums_6.html b/doc/ref/core.internal/html/search/enums_6.html new file mode 100644 index 0000000000..ac51361f2d --- /dev/null +++ b/doc/ref/core.internal/html/search/enums_6.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core.internal/html/search/enums_6.js b/doc/ref/core.internal/html/search/enums_6.js new file mode 100644 index 0000000000..c8b7620e6d --- /dev/null +++ b/doc/ref/core.internal/html/search/enums_6.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['read_5fstate',['read_state',['../call_8c.html#a67c68be8fc9fb0341b9c1c0881f19d17',1,'call.c']]], + ['req_5fstate',['req_state',['../call_8c.html#a54d1fff20be8e7414ba15f456824bb17',1,'call.c']]], + ['requested_5fcall_5ftype',['requested_call_type',['../server_8c.html#aca2d7591ebc428dc14cf07f72e88c38a',1,'server.c']]] +]; diff --git a/doc/ref/core.internal/html/search/enums_7.html b/doc/ref/core.internal/html/search/enums_7.html new file mode 100644 index 0000000000..b948bd5ad0 --- /dev/null +++ b/doc/ref/core.internal/html/search/enums_7.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core.internal/html/search/enums_7.js b/doc/ref/core.internal/html/search/enums_7.js new file mode 100644 index 0000000000..46aaa94ed4 --- /dev/null +++ b/doc/ref/core.internal/html/search/enums_7.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['send_5faction',['send_action',['../call_8c.html#a5c099cbc41809afd83d900cef74c2819',1,'call.c']]], + ['status_5fsource',['status_source',['../call_8c.html#a9291c3528e3f346e6ae8137ac9e76271',1,'call.c']]] +]; diff --git a/doc/ref/core.internal/html/search/enums_8.html b/doc/ref/core.internal/html/search/enums_8.html new file mode 100644 index 0000000000..1d9974af0d --- /dev/null +++ b/doc/ref/core.internal/html/search/enums_8.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core.internal/html/search/enums_8.js b/doc/ref/core.internal/html/search/enums_8.js new file mode 100644 index 0000000000..b1dc263143 --- /dev/null +++ b/doc/ref/core.internal/html/search/enums_8.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['tsi_5ffake_5fhandshake_5fmessage',['tsi_fake_handshake_message',['../fake__transport__security_8c.html#a0a27e83e048843db20bec3fbf4513d52',1,'fake_transport_security.c']]], + ['tsi_5fresult',['tsi_result',['../transport__security__interface_8h.html#a368f59529aaab1dab4d117adfabcb468',1,'transport_security_interface.h']]] +]; diff --git a/doc/ref/core.internal/html/search/enums_9.html b/doc/ref/core.internal/html/search/enums_9.html new file mode 100644 index 0000000000..0540fddbef --- /dev/null +++ b/doc/ref/core.internal/html/search/enums_9.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core.internal/html/search/enums_9.js b/doc/ref/core.internal/html/search/enums_9.js new file mode 100644 index 0000000000..ead4389d67 --- /dev/null +++ b/doc/ref/core.internal/html/search/enums_9.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['write_5fstate',['write_state',['../call_8c.html#a5ed0172019dfa72bf69d881d3f06688d',1,'call.c']]] +]; diff --git a/doc/ref/core.internal/html/search/enumvalues_0.html b/doc/ref/core.internal/html/search/enumvalues_0.html new file mode 100644 index 0000000000..3e00fcf61a --- /dev/null +++ b/doc/ref/core.internal/html/search/enumvalues_0.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core.internal/html/search/enumvalues_0.js b/doc/ref/core.internal/html/search/enumvalues_0.js new file mode 100644 index 0000000000..f44252736c --- /dev/null +++ b/doc/ref/core.internal/html/search/enumvalues_0.js @@ -0,0 +1,7 @@ +var searchData= +[ + ['activated',['ACTIVATED',['../server_8c.html#a6ca2e6dbf0562417ab7c66e8907a56b1a84b328a7ebdea4c8c4ed62e035ada28d',1,'server.c']]], + ['argtype_5fbool',['ARGTYPE_BOOL',['../cmdline_8c.html#a55073e9737969efda87471594edd95d4ad141b51bee7ccb14e0c83871f0e3ee0d',1,'cmdline.c']]], + ['argtype_5fint',['ARGTYPE_INT',['../cmdline_8c.html#a55073e9737969efda87471594edd95d4a620547b20bcf630ba7f4d727fdb22521',1,'cmdline.c']]], + ['argtype_5fstring',['ARGTYPE_STRING',['../cmdline_8c.html#a55073e9737969efda87471594edd95d4a50a996a2423b2fd5397a14b362fa23ab',1,'cmdline.c']]] +]; diff --git a/doc/ref/core.internal/html/search/enumvalues_1.html b/doc/ref/core.internal/html/search/enumvalues_1.html new file mode 100644 index 0000000000..0e575c969a --- /dev/null +++ b/doc/ref/core.internal/html/search/enumvalues_1.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core.internal/html/search/enumvalues_1.js b/doc/ref/core.internal/html/search/enumvalues_1.js new file mode 100644 index 0000000000..28d885fb3b --- /dev/null +++ b/doc/ref/core.internal/html/search/enumvalues_1.js @@ -0,0 +1,9 @@ +var searchData= +[ + ['b64_5fbyte0',['B64_BYTE0',['../hpack__parser_8c.html#ad3a7b3c7f62a05667162fb28247a07c2a500a293aa7eb4d4757a1f8c68e6130a2',1,'hpack_parser.c']]], + ['b64_5fbyte1',['B64_BYTE1',['../hpack__parser_8c.html#ad3a7b3c7f62a05667162fb28247a07c2a55a85d993feb4d0602aa7321264b6803',1,'hpack_parser.c']]], + ['b64_5fbyte2',['B64_BYTE2',['../hpack__parser_8c.html#ad3a7b3c7f62a05667162fb28247a07c2a67574c0700ab2dd5156af220443386d2',1,'hpack_parser.c']]], + ['b64_5fbyte3',['B64_BYTE3',['../hpack__parser_8c.html#ad3a7b3c7f62a05667162fb28247a07c2aabf8c05acae26139d5ba70316b749524',1,'hpack_parser.c']]], + ['batch_5fcall',['BATCH_CALL',['../server_8c.html#aca2d7591ebc428dc14cf07f72e88c38aa38d2782a64b3bf4a845e9795b295b685',1,'server.c']]], + ['binary_5fheader',['BINARY_HEADER',['../hpack__parser_8c.html#a71eda0fd38f30d8005251eb895de35eea4940041097c06eed1076f5dc2de17d9a',1,'hpack_parser.c']]] +]; diff --git a/doc/ref/core.internal/html/search/enumvalues_10.html b/doc/ref/core.internal/html/search/enumvalues_10.html new file mode 100644 index 0000000000..470791ec90 --- /dev/null +++ b/doc/ref/core.internal/html/search/enumvalues_10.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core.internal/html/search/enumvalues_10.js b/doc/ref/core.internal/html/search/enumvalues_10.js new file mode 100644 index 0000000000..b52b388472 --- /dev/null +++ b/doc/ref/core.internal/html/search/enumvalues_10.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['zombied',['ZOMBIED',['../server_8c.html#a6ca2e6dbf0562417ab7c66e8907a56b1acfa05d5a2f18cf6a5976178d9949c512',1,'server.c']]] +]; diff --git a/doc/ref/core.internal/html/search/enumvalues_2.html b/doc/ref/core.internal/html/search/enumvalues_2.html new file mode 100644 index 0000000000..e59f4acb75 --- /dev/null +++ b/doc/ref/core.internal/html/search/enumvalues_2.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core.internal/html/search/enumvalues_2.js b/doc/ref/core.internal/html/search/enumvalues_2.js new file mode 100644 index 0000000000..fca7f746f2 --- /dev/null +++ b/doc/ref/core.internal/html/search/enumvalues_2.js @@ -0,0 +1,18 @@ +var searchData= +[ + ['call_5factive',['CALL_ACTIVE',['../client__channel_8c.html#a6ca2e6dbf0562417ab7c66e8907a56b1a38c567ba414b95843eea67ead22156b9',1,'client_channel.c']]], + ['call_5fcancelled',['CALL_CANCELLED',['../client__channel_8c.html#a6ca2e6dbf0562417ab7c66e8907a56b1a64c64130e25c5cd2d884b8c16093a89d',1,'client_channel.c']]], + ['call_5fcreated',['CALL_CREATED',['../client__channel_8c.html#a6ca2e6dbf0562417ab7c66e8907a56b1a5dc41298c08d706c248c0aad80fdf2a8',1,'client_channel.c']]], + ['call_5fwaiting_5ffor_5fcall',['CALL_WAITING_FOR_CALL',['../client__channel_8c.html#a6ca2e6dbf0562417ab7c66e8907a56b1a7d4a5aee632f6e68b3aa63e7618dc5a2',1,'client_channel.c']]], + ['call_5fwaiting_5ffor_5fconfig',['CALL_WAITING_FOR_CONFIG',['../client__channel_8c.html#a6ca2e6dbf0562417ab7c66e8907a56b1acc5228e1cac647003266db9241876cd2',1,'client_channel.c']]], + ['call_5fwaiting_5ffor_5fpick',['CALL_WAITING_FOR_PICK',['../client__channel_8c.html#a6ca2e6dbf0562417ab7c66e8907a56b1a8f4f33fc632104e0ece9369cf5f236ad',1,'client_channel.c']]], + ['call_5fwaiting_5ffor_5fsend',['CALL_WAITING_FOR_SEND',['../client__channel_8c.html#a6ca2e6dbf0562417ab7c66e8907a56b1aa3615ca56e2de2713a3202ff99f15b1c',1,'client_channel.c']]], + ['called_5fback',['CALLED_BACK',['../channel__connectivity_8c.html#a71937a2ee2a4befe88e84d4966f8845ca7cf5434be93040e9946cc788465d3b3a',1,'channel_connectivity.c']]], + ['calling_5fback',['CALLING_BACK',['../channel__connectivity_8c.html#a71937a2ee2a4befe88e84d4966f8845cab5a94c295540046002de0f889519c275',1,'channel_connectivity.c']]], + ['calling_5fback_5fand_5ffinished',['CALLING_BACK_AND_FINISHED',['../channel__connectivity_8c.html#a71937a2ee2a4befe88e84d4966f8845ca4ed55db80fc1cf98cb8fc633fd59d68d',1,'channel_connectivity.c']]], + ['census_5ffeature_5fall',['CENSUS_FEATURE_ALL',['../census_8h.html#abe92e59c22481b0de3742673cbbb1bf8aba96a94fb7af8cf1144ca14edc0b1f0c',1,'census.h']]], + ['census_5ffeature_5fcpu',['CENSUS_FEATURE_CPU',['../census_8h.html#abe92e59c22481b0de3742673cbbb1bf8a4808bff624e2377596b86a6f58ab04b5',1,'census.h']]], + ['census_5ffeature_5fnone',['CENSUS_FEATURE_NONE',['../census_8h.html#abe92e59c22481b0de3742673cbbb1bf8aac1986834f37851b8d899c4a08c8e3ab',1,'census.h']]], + ['census_5ffeature_5fstats',['CENSUS_FEATURE_STATS',['../census_8h.html#abe92e59c22481b0de3742673cbbb1bf8a84c772b868e53ee3487c7bfc8e8b2f1a',1,'census.h']]], + ['census_5ffeature_5ftracing',['CENSUS_FEATURE_TRACING',['../census_8h.html#abe92e59c22481b0de3742673cbbb1bf8ab0722326e730113d5be97f643c3e6718',1,'census.h']]] +]; diff --git a/doc/ref/core.internal/html/search/enumvalues_3.html b/doc/ref/core.internal/html/search/enumvalues_3.html new file mode 100644 index 0000000000..0a2d754e4d --- /dev/null +++ b/doc/ref/core.internal/html/search/enumvalues_3.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core.internal/html/search/enumvalues_3.js b/doc/ref/core.internal/html/search/enumvalues_3.js new file mode 100644 index 0000000000..49fbe7735d --- /dev/null +++ b/doc/ref/core.internal/html/search/enumvalues_3.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['data',['DATA',['../stream__encoder_8c.html#a3ca2c0bc7578bf3d337e34b2c08a6c5fa9d7d6f31868d66330397c967c4afd2d2',1,'stream_encoder.c']]] +]; diff --git a/doc/ref/core.internal/html/search/enumvalues_4.html b/doc/ref/core.internal/html/search/enumvalues_4.html new file mode 100644 index 0000000000..1258082bbf --- /dev/null +++ b/doc/ref/core.internal/html/search/enumvalues_4.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core.internal/html/search/enumvalues_4.js b/doc/ref/core.internal/html/search/enumvalues_4.js new file mode 100644 index 0000000000..ec77c35b76 --- /dev/null +++ b/doc/ref/core.internal/html/search/enumvalues_4.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['error_5fheader',['ERROR_HEADER',['../hpack__parser_8c.html#a71eda0fd38f30d8005251eb895de35eea57e2b3994258d7216de08793daaa2b35',1,'hpack_parser.c']]], + ['event_5fsync_5fpartitions',['event_sync_partitions',['../sync_8c.html#a0ed680fdb405e7195d9f14032851eebba036372fdae4f52140a8f27482b729753',1,'sync.c']]] +]; diff --git a/doc/ref/core.internal/html/search/enumvalues_5.html b/doc/ref/core.internal/html/search/enumvalues_5.html new file mode 100644 index 0000000000..e42d495996 --- /dev/null +++ b/doc/ref/core.internal/html/search/enumvalues_5.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core.internal/html/search/enumvalues_5.js b/doc/ref/core.internal/html/search/enumvalues_5.js new file mode 100644 index 0000000000..048633e2a8 --- /dev/null +++ b/doc/ref/core.internal/html/search/enumvalues_5.js @@ -0,0 +1,279 @@ +var searchData= +[ + ['gpr_5fclock_5fmonotonic',['GPR_CLOCK_MONOTONIC',['../time_8h.html#a2441bd1fbe80e86ff741e0757725b281a6ddd11813c5172c7b3e0e46e5ce7f01c',1,'time.h']]], + ['gpr_5fclock_5frealtime',['GPR_CLOCK_REALTIME',['../time_8h.html#a2441bd1fbe80e86ff741e0757725b281a685c67eccb0b9e3de6311b1e1330a746',1,'time.h']]], + ['gpr_5flog_5fseverity_5fdebug',['GPR_LOG_SEVERITY_DEBUG',['../log_8h.html#af10334b4085ac6985a2af9c08478ad48af7d2a0ad91b0787398220ddcd91f06d6',1,'log.h']]], + ['gpr_5flog_5fseverity_5ferror',['GPR_LOG_SEVERITY_ERROR',['../log_8h.html#af10334b4085ac6985a2af9c08478ad48a52b957eb23ac2207b5e1dcf15c2b3dd4',1,'log.h']]], + ['gpr_5flog_5fseverity_5finfo',['GPR_LOG_SEVERITY_INFO',['../log_8h.html#af10334b4085ac6985a2af9c08478ad48af6c13c67f06821c1629b7e019af4aaf1',1,'log.h']]], + ['gpr_5fthd_5fjoinable',['GPR_THD_JOINABLE',['../thd_8c.html#a0944a4353780132eeab7b06e3e42291da228d343354c0f2bb16c0fb1f79e71dbc',1,'thd.c']]], + ['gpr_5ftimespan',['GPR_TIMESPAN',['../time_8h.html#a2441bd1fbe80e86ff741e0757725b281a52f75e587240b7b44d3b8bc7fb3d5741',1,'time.h']]], + ['grpc_5facked_5fsettings',['GRPC_ACKED_SETTINGS',['../internal_8h.html#a6c14b42c5aba744e7f99831e0b7901ada2ce0f9cd8c08c749b6471dda749d8b42',1,'internal.h']]], + ['grpc_5farg_5finteger',['GRPC_ARG_INTEGER',['../grpc_8h.html#a0b06eae05e70404aedbceaebce6de593a8d2f803b8aaf88f34dac1f887826c689',1,'grpc.h']]], + ['grpc_5farg_5fpointer',['GRPC_ARG_POINTER',['../grpc_8h.html#a0b06eae05e70404aedbceaebce6de593a02a823a7037e2a60b9d9a031fd42591b',1,'grpc.h']]], + ['grpc_5farg_5fstring',['GRPC_ARG_STRING',['../grpc_8h.html#a0b06eae05e70404aedbceaebce6de593a215b6b9143ba133ede0e29f79098239d',1,'grpc.h']]], + ['grpc_5fbb_5fraw',['GRPC_BB_RAW',['../byte__buffer_8h.html#acdc94363b280bde9c82e3d9b5dc3b3e6a1918bbb8502c74288793b58f1786f636',1,'byte_buffer.h']]], + ['grpc_5fcall_5ferror',['GRPC_CALL_ERROR',['../grpc_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785ba86e7b6bf1fe5dec17fc08ba2f77d1b41',1,'grpc.h']]], + ['grpc_5fcall_5ferror_5falready_5faccepted',['GRPC_CALL_ERROR_ALREADY_ACCEPTED',['../grpc_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785ba2f6f332e63eb94df8abedfddb96ae63a',1,'grpc.h']]], + ['grpc_5fcall_5ferror_5falready_5ffinished',['GRPC_CALL_ERROR_ALREADY_FINISHED',['../grpc_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785ba21256301a6038a6a03fc8444ddd08c63',1,'grpc.h']]], + ['grpc_5fcall_5ferror_5falready_5finvoked',['GRPC_CALL_ERROR_ALREADY_INVOKED',['../grpc_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785ba042165aa26653c844a846d188f722857',1,'grpc.h']]], + ['grpc_5fcall_5ferror_5finvalid_5fflags',['GRPC_CALL_ERROR_INVALID_FLAGS',['../grpc_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785bae915786320e24eff4f1e05852d40f861',1,'grpc.h']]], + ['grpc_5fcall_5ferror_5finvalid_5fmetadata',['GRPC_CALL_ERROR_INVALID_METADATA',['../grpc_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785ba13f469c7761a672240ddfe29f85729bd',1,'grpc.h']]], + ['grpc_5fcall_5ferror_5fnot_5finvoked',['GRPC_CALL_ERROR_NOT_INVOKED',['../grpc_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785ba6113860606450e3a3fa40ddf46749296',1,'grpc.h']]], + ['grpc_5fcall_5ferror_5fnot_5fon_5fclient',['GRPC_CALL_ERROR_NOT_ON_CLIENT',['../grpc_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785ba7ba38ea119e00e8b4d10211f4ced9ef6',1,'grpc.h']]], + ['grpc_5fcall_5ferror_5fnot_5fon_5fserver',['GRPC_CALL_ERROR_NOT_ON_SERVER',['../grpc_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785ba1a48e861db610ae8f0b0cba7749251d8',1,'grpc.h']]], + ['grpc_5fcall_5ferror_5fnot_5fserver_5fcompletion_5fqueue',['GRPC_CALL_ERROR_NOT_SERVER_COMPLETION_QUEUE',['../grpc_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785bade52e850722f80804d90881ac125706f',1,'grpc.h']]], + ['grpc_5fcall_5ferror_5ftoo_5fmany_5foperations',['GRPC_CALL_ERROR_TOO_MANY_OPERATIONS',['../grpc_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785ba7e09791915b841c30e9d79c26a5a6454',1,'grpc.h']]], + ['grpc_5fcall_5fok',['GRPC_CALL_OK',['../grpc_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785ba32f125b97007cbdb43534e9d6e0989f8',1,'grpc.h']]], + ['grpc_5fchannel_5fconnecting',['GRPC_CHANNEL_CONNECTING',['../grpc_8h.html#a065b65f5cdd062a67d82e2b6bcf68cf2a3ac13f6c7627f15186760bfd6b7d9299',1,'grpc.h']]], + ['grpc_5fchannel_5ffatal_5ffailure',['GRPC_CHANNEL_FATAL_FAILURE',['../grpc_8h.html#a065b65f5cdd062a67d82e2b6bcf68cf2a8f774ebe233ee26ebd546fe4b58060b6',1,'grpc.h']]], + ['grpc_5fchannel_5fidle',['GRPC_CHANNEL_IDLE',['../grpc_8h.html#a065b65f5cdd062a67d82e2b6bcf68cf2a304d1b81cec4357a9a6acbcb18248e77',1,'grpc.h']]], + ['grpc_5fchannel_5fready',['GRPC_CHANNEL_READY',['../grpc_8h.html#a065b65f5cdd062a67d82e2b6bcf68cf2aab01ef3f78d9236dfa3c751dc66aa7ea',1,'grpc.h']]], + ['grpc_5fchannel_5ftransient_5ffailure',['GRPC_CHANNEL_TRANSIENT_FAILURE',['../grpc_8h.html#a065b65f5cdd062a67d82e2b6bcf68cf2af5bffd3ffb03795f551b0fa78e44b9b6',1,'grpc.h']]], + ['grpc_5fchttp2_5f_5ferror_5fdo_5fnot_5fuse',['GRPC_CHTTP2__ERROR_DO_NOT_USE',['../http2__errors_8h.html#a093974eee0aaf09397d243c7dcebd4daa8e5f197695b6c1b6219c713f252cbe98',1,'http2_errors.h']]], + ['grpc_5fchttp2_5fcancel',['GRPC_CHTTP2_CANCEL',['../http2__errors_8h.html#a093974eee0aaf09397d243c7dcebd4daa9264c0548b0e8fc3e8925c97950a3ada',1,'http2_errors.h']]], + ['grpc_5fchttp2_5fclamp_5finvalid_5fvalue',['GRPC_CHTTP2_CLAMP_INVALID_VALUE',['../frame__settings_8h.html#a4df6da81a733ff99e174c9502a7e69dfabc4bdee640e0fd68941f5cef7d0d5c1d',1,'frame_settings.h']]], + ['grpc_5fchttp2_5fcompression_5ferror',['GRPC_CHTTP2_COMPRESSION_ERROR',['../http2__errors_8h.html#a093974eee0aaf09397d243c7dcebd4daa8aad7d6ac431ca99de5ff0fb216cbf14',1,'http2_errors.h']]], + ['grpc_5fchttp2_5fconnect_5ferror',['GRPC_CHTTP2_CONNECT_ERROR',['../http2__errors_8h.html#a093974eee0aaf09397d243c7dcebd4daaa7fa96238f0902347df0e4eebe25bf95',1,'http2_errors.h']]], + ['grpc_5fchttp2_5fconnection_5ferror',['GRPC_CHTTP2_CONNECTION_ERROR',['../frame_8h.html#ada474db64756bd411eeeaf3de4318e35a0bff666112f9afb13b93c48ed70c99c4',1,'frame.h']]], + ['grpc_5fchttp2_5fdata_5ffh_5f0',['GRPC_CHTTP2_DATA_FH_0',['../frame__data_8h.html#a0217c22db3da53fe20f70cb48dd3a910a8606bae7951c3a44f31201632d3358fc',1,'frame_data.h']]], + ['grpc_5fchttp2_5fdata_5ffh_5f1',['GRPC_CHTTP2_DATA_FH_1',['../frame__data_8h.html#a0217c22db3da53fe20f70cb48dd3a910ab2647959f772db94da5da74192754b6c',1,'frame_data.h']]], + ['grpc_5fchttp2_5fdata_5ffh_5f2',['GRPC_CHTTP2_DATA_FH_2',['../frame__data_8h.html#a0217c22db3da53fe20f70cb48dd3a910adf4a0199bbd7ecc325f84d2781290843',1,'frame_data.h']]], + ['grpc_5fchttp2_5fdata_5ffh_5f3',['GRPC_CHTTP2_DATA_FH_3',['../frame__data_8h.html#a0217c22db3da53fe20f70cb48dd3a910a1cf7aa5d2aa4fbe172e9356326228e91',1,'frame_data.h']]], + ['grpc_5fchttp2_5fdata_5ffh_5f4',['GRPC_CHTTP2_DATA_FH_4',['../frame__data_8h.html#a0217c22db3da53fe20f70cb48dd3a910a5d5cd606ac5966a5ad7deef8241ed288',1,'frame_data.h']]], + ['grpc_5fchttp2_5fdata_5fframe',['GRPC_CHTTP2_DATA_FRAME',['../frame__data_8h.html#a0217c22db3da53fe20f70cb48dd3a910aa95da05ccc06aa0c2196dcb54717b6de',1,'frame_data.h']]], + ['grpc_5fchttp2_5fdisconnect_5fon_5finvalid_5fvalue',['GRPC_CHTTP2_DISCONNECT_ON_INVALID_VALUE',['../frame__settings_8h.html#a4df6da81a733ff99e174c9502a7e69dfaaf75d3b2b0b3e9f19d2492734d0ab7ac',1,'frame_settings.h']]], + ['grpc_5fchttp2_5fenhance_5fyour_5fcalm',['GRPC_CHTTP2_ENHANCE_YOUR_CALM',['../http2__errors_8h.html#a093974eee0aaf09397d243c7dcebd4daa781f6e847c97a46478a27d4a9a08d602',1,'http2_errors.h']]], + ['grpc_5fchttp2_5fflow_5fcontrol_5ferror',['GRPC_CHTTP2_FLOW_CONTROL_ERROR',['../http2__errors_8h.html#a093974eee0aaf09397d243c7dcebd4daa233f21b2f8d7b783e17c62e130566ffc',1,'http2_errors.h']]], + ['grpc_5fchttp2_5fframe_5fsize_5ferror',['GRPC_CHTTP2_FRAME_SIZE_ERROR',['../http2__errors_8h.html#a093974eee0aaf09397d243c7dcebd4daa63771a624c3d25b6fac2eaab524eb8cf',1,'http2_errors.h']]], + ['grpc_5fchttp2_5fgoaway_5fdebug',['GRPC_CHTTP2_GOAWAY_DEBUG',['../frame__goaway_8h.html#a14004d750241aad1932b7a6abdcd436aa1ca1c1ca48d62838f5803452f7fc0619',1,'frame_goaway.h']]], + ['grpc_5fchttp2_5fgoaway_5ferr0',['GRPC_CHTTP2_GOAWAY_ERR0',['../frame__goaway_8h.html#a14004d750241aad1932b7a6abdcd436aa3980674942df0749ccce6bd0b8a1774a',1,'frame_goaway.h']]], + ['grpc_5fchttp2_5fgoaway_5ferr1',['GRPC_CHTTP2_GOAWAY_ERR1',['../frame__goaway_8h.html#a14004d750241aad1932b7a6abdcd436aa043c53d587fd0409363123590db80131',1,'frame_goaway.h']]], + ['grpc_5fchttp2_5fgoaway_5ferr2',['GRPC_CHTTP2_GOAWAY_ERR2',['../frame__goaway_8h.html#a14004d750241aad1932b7a6abdcd436aa65caf31f49f9cf98aa594be64659c18f',1,'frame_goaway.h']]], + ['grpc_5fchttp2_5fgoaway_5ferr3',['GRPC_CHTTP2_GOAWAY_ERR3',['../frame__goaway_8h.html#a14004d750241aad1932b7a6abdcd436aa5decad83e822e3504618079fe13e3998',1,'frame_goaway.h']]], + ['grpc_5fchttp2_5fgoaway_5flsi0',['GRPC_CHTTP2_GOAWAY_LSI0',['../frame__goaway_8h.html#a14004d750241aad1932b7a6abdcd436aa44acac95504eba73375c26bb469c0149',1,'frame_goaway.h']]], + ['grpc_5fchttp2_5fgoaway_5flsi1',['GRPC_CHTTP2_GOAWAY_LSI1',['../frame__goaway_8h.html#a14004d750241aad1932b7a6abdcd436aa6b7fb7a9b9a4c34ef4e3e12adf06a3e6',1,'frame_goaway.h']]], + ['grpc_5fchttp2_5fgoaway_5flsi2',['GRPC_CHTTP2_GOAWAY_LSI2',['../frame__goaway_8h.html#a14004d750241aad1932b7a6abdcd436aab1ff486da91ae87dfd94234508f6fbbe',1,'frame_goaway.h']]], + ['grpc_5fchttp2_5fgoaway_5flsi3',['GRPC_CHTTP2_GOAWAY_LSI3',['../frame__goaway_8h.html#a14004d750241aad1932b7a6abdcd436aa528143455d42821886ecaba0ec753a72',1,'frame_goaway.h']]], + ['grpc_5fchttp2_5finadequate_5fsecurity',['GRPC_CHTTP2_INADEQUATE_SECURITY',['../http2__errors_8h.html#a093974eee0aaf09397d243c7dcebd4daa333694384e3414c37dcc5f9856029d07',1,'http2_errors.h']]], + ['grpc_5fchttp2_5finternal_5ferror',['GRPC_CHTTP2_INTERNAL_ERROR',['../http2__errors_8h.html#a093974eee0aaf09397d243c7dcebd4daa93f66c3811f1a093c6db040a1d7a76bf',1,'http2_errors.h']]], + ['grpc_5fchttp2_5flist_5fall_5fstreams',['GRPC_CHTTP2_LIST_ALL_STREAMS',['../internal_8h.html#abddcdf3ebb4034fd86a102d86aff5539a55472097517b6e0ad54562494cadc6a4',1,'internal.h']]], + ['grpc_5fchttp2_5flist_5fcancelled_5fwaiting_5ffor_5fwriting',['GRPC_CHTTP2_LIST_CANCELLED_WAITING_FOR_WRITING',['../internal_8h.html#abddcdf3ebb4034fd86a102d86aff5539a8a9ab1244149b1d03b5107d51f872f21',1,'internal.h']]], + ['grpc_5fchttp2_5flist_5fclosed_5fwaiting_5ffor_5fparsing',['GRPC_CHTTP2_LIST_CLOSED_WAITING_FOR_PARSING',['../internal_8h.html#abddcdf3ebb4034fd86a102d86aff5539ab18632dd09ec47ec222a68fccfb5b56f',1,'internal.h']]], + ['grpc_5fchttp2_5flist_5fincoming_5fwindow_5fupdated',['GRPC_CHTTP2_LIST_INCOMING_WINDOW_UPDATED',['../internal_8h.html#abddcdf3ebb4034fd86a102d86aff5539a379d8479565bb2a2565e3bef983c3f09',1,'internal.h']]], + ['grpc_5fchttp2_5flist_5fparsing_5fseen',['GRPC_CHTTP2_LIST_PARSING_SEEN',['../internal_8h.html#abddcdf3ebb4034fd86a102d86aff5539ab16ac38146d8c206d971154d3e2e385e',1,'internal.h']]], + ['grpc_5fchttp2_5flist_5fread_5fwrite_5fstate_5fchanged',['GRPC_CHTTP2_LIST_READ_WRITE_STATE_CHANGED',['../internal_8h.html#abddcdf3ebb4034fd86a102d86aff5539aad8c067aea30c7e63f1f8f578ad091ec',1,'internal.h']]], + ['grpc_5fchttp2_5flist_5fwaiting_5ffor_5fconcurrency',['GRPC_CHTTP2_LIST_WAITING_FOR_CONCURRENCY',['../internal_8h.html#abddcdf3ebb4034fd86a102d86aff5539a038c19c7cb6246583e24eb4ffe74883a',1,'internal.h']]], + ['grpc_5fchttp2_5flist_5fwritable',['GRPC_CHTTP2_LIST_WRITABLE',['../internal_8h.html#abddcdf3ebb4034fd86a102d86aff5539a472c9817d59a165a3a8a7bd6065c8af0',1,'internal.h']]], + ['grpc_5fchttp2_5flist_5fwriting',['GRPC_CHTTP2_LIST_WRITING',['../internal_8h.html#abddcdf3ebb4034fd86a102d86aff5539a2d32b64c3350b55206ca435e489bf48a',1,'internal.h']]], + ['grpc_5fchttp2_5flist_5fwritten',['GRPC_CHTTP2_LIST_WRITTEN',['../internal_8h.html#abddcdf3ebb4034fd86a102d86aff5539a9028d8867d7d656543018fe4e4483673',1,'internal.h']]], + ['grpc_5fchttp2_5fno_5ferror',['GRPC_CHTTP2_NO_ERROR',['../http2__errors_8h.html#a093974eee0aaf09397d243c7dcebd4daa089995d883f21b3bc4f6094fab83f0a6',1,'http2_errors.h']]], + ['grpc_5fchttp2_5fnum_5fsettings',['GRPC_CHTTP2_NUM_SETTINGS',['../frame__settings_8h.html#a1579a1a90fe405ea3791529c14da11efa8e792bc580a916db8331dc80f6899205',1,'frame_settings.h']]], + ['grpc_5fchttp2_5fparse_5fok',['GRPC_CHTTP2_PARSE_OK',['../frame_8h.html#ada474db64756bd411eeeaf3de4318e35af86b67f5595348d506db6719011a2931',1,'frame.h']]], + ['grpc_5fchttp2_5fprotocol_5ferror',['GRPC_CHTTP2_PROTOCOL_ERROR',['../http2__errors_8h.html#a093974eee0aaf09397d243c7dcebd4daa0712f7732b32d9bf386f40b891543c4d',1,'http2_errors.h']]], + ['grpc_5fchttp2_5frefused_5fstream',['GRPC_CHTTP2_REFUSED_STREAM',['../http2__errors_8h.html#a093974eee0aaf09397d243c7dcebd4daa0939e69d27c0978982c3de5ef02b729b',1,'http2_errors.h']]], + ['grpc_5fchttp2_5fsettings_5fenable_5fpush',['GRPC_CHTTP2_SETTINGS_ENABLE_PUSH',['../frame__settings_8h.html#a1579a1a90fe405ea3791529c14da11efa7f070f14411298ea1311597311b41a1b',1,'frame_settings.h']]], + ['grpc_5fchttp2_5fsettings_5fheader_5ftable_5fsize',['GRPC_CHTTP2_SETTINGS_HEADER_TABLE_SIZE',['../frame__settings_8h.html#a1579a1a90fe405ea3791529c14da11efac610e43a0f572521b814f87f7e3c79a7',1,'frame_settings.h']]], + ['grpc_5fchttp2_5fsettings_5finitial_5fwindow_5fsize',['GRPC_CHTTP2_SETTINGS_INITIAL_WINDOW_SIZE',['../frame__settings_8h.html#a1579a1a90fe405ea3791529c14da11efa4220c4c98b8d1658f64cde93dfbc6c1c',1,'frame_settings.h']]], + ['grpc_5fchttp2_5fsettings_5fmax_5fconcurrent_5fstreams',['GRPC_CHTTP2_SETTINGS_MAX_CONCURRENT_STREAMS',['../frame__settings_8h.html#a1579a1a90fe405ea3791529c14da11efa41d47ec73fd1f060373bc6b229ce6924',1,'frame_settings.h']]], + ['grpc_5fchttp2_5fsettings_5fmax_5fframe_5fsize',['GRPC_CHTTP2_SETTINGS_MAX_FRAME_SIZE',['../frame__settings_8h.html#a1579a1a90fe405ea3791529c14da11efa9f44b823c96c40f04d156443621b04b7',1,'frame_settings.h']]], + ['grpc_5fchttp2_5fsettings_5fmax_5fheader_5flist_5fsize',['GRPC_CHTTP2_SETTINGS_MAX_HEADER_LIST_SIZE',['../frame__settings_8h.html#a1579a1a90fe405ea3791529c14da11efa4f082174b4938bd7bfb454ce86b57bd5',1,'frame_settings.h']]], + ['grpc_5fchttp2_5fsettings_5ftimeout',['GRPC_CHTTP2_SETTINGS_TIMEOUT',['../http2__errors_8h.html#a093974eee0aaf09397d243c7dcebd4daab8cd31d7a72d46adbfaadc17285f1b9f',1,'http2_errors.h']]], + ['grpc_5fchttp2_5fsps_5fid0',['GRPC_CHTTP2_SPS_ID0',['../frame__settings_8h.html#ae964433822fb14f6c7d72fc1f3420b8fa2e800b21243029fbcc09886a92a103e7',1,'frame_settings.h']]], + ['grpc_5fchttp2_5fsps_5fid1',['GRPC_CHTTP2_SPS_ID1',['../frame__settings_8h.html#ae964433822fb14f6c7d72fc1f3420b8fa72e3e47927539876c8174f778c01082a',1,'frame_settings.h']]], + ['grpc_5fchttp2_5fsps_5fval0',['GRPC_CHTTP2_SPS_VAL0',['../frame__settings_8h.html#ae964433822fb14f6c7d72fc1f3420b8fa025cf926edc443251e39469eae84eeee',1,'frame_settings.h']]], + ['grpc_5fchttp2_5fsps_5fval1',['GRPC_CHTTP2_SPS_VAL1',['../frame__settings_8h.html#ae964433822fb14f6c7d72fc1f3420b8fa2f522d046f4657fa3e5f40d78efa9a97',1,'frame_settings.h']]], + ['grpc_5fchttp2_5fsps_5fval2',['GRPC_CHTTP2_SPS_VAL2',['../frame__settings_8h.html#ae964433822fb14f6c7d72fc1f3420b8fa662e963afdd3bd9420a382124c7ee311',1,'frame_settings.h']]], + ['grpc_5fchttp2_5fsps_5fval3',['GRPC_CHTTP2_SPS_VAL3',['../frame__settings_8h.html#ae964433822fb14f6c7d72fc1f3420b8facebee53c2a5e1cc209590d1fa93880a0',1,'frame_settings.h']]], + ['grpc_5fchttp2_5fstream_5fclosed',['GRPC_CHTTP2_STREAM_CLOSED',['../http2__errors_8h.html#a093974eee0aaf09397d243c7dcebd4daa67e605a7272d6d956ccc616caf85d4c2',1,'http2_errors.h']]], + ['grpc_5fchttp2_5fstream_5ferror',['GRPC_CHTTP2_STREAM_ERROR',['../frame_8h.html#ada474db64756bd411eeeaf3de4318e35a785a08cbae32b1550c8b96da011fe9a4',1,'frame.h']]], + ['grpc_5fcompress_5falgorithms_5fcount',['GRPC_COMPRESS_ALGORITHMS_COUNT',['../compression_8h.html#ab9de0f68bfb1ef8ed09bd00643db14c9a94d7fc0a8e4a05546d462d53c2b53b8d',1,'compression.h']]], + ['grpc_5fcompress_5fdeflate',['GRPC_COMPRESS_DEFLATE',['../compression_8h.html#ab9de0f68bfb1ef8ed09bd00643db14c9a50de256d5abe80daff7e1372e29dd913',1,'compression.h']]], + ['grpc_5fcompress_5fgzip',['GRPC_COMPRESS_GZIP',['../compression_8h.html#ab9de0f68bfb1ef8ed09bd00643db14c9a5a134ced82d8682b55b99b8e9386555e',1,'compression.h']]], + ['grpc_5fcompress_5flevel_5fcount',['GRPC_COMPRESS_LEVEL_COUNT',['../compression_8h.html#a14a79ed6b5ebd7e1dda7c2684f499cc7a893b24fb0986e61ebda069c713b8bd43',1,'compression.h']]], + ['grpc_5fcompress_5flevel_5fhigh',['GRPC_COMPRESS_LEVEL_HIGH',['../compression_8h.html#a14a79ed6b5ebd7e1dda7c2684f499cc7a501a0cf15300a90c09a3d8b4f7f43d22',1,'compression.h']]], + ['grpc_5fcompress_5flevel_5flow',['GRPC_COMPRESS_LEVEL_LOW',['../compression_8h.html#a14a79ed6b5ebd7e1dda7c2684f499cc7afd436e21be4f897ca939b3b4d9a44673',1,'compression.h']]], + ['grpc_5fcompress_5flevel_5fmed',['GRPC_COMPRESS_LEVEL_MED',['../compression_8h.html#a14a79ed6b5ebd7e1dda7c2684f499cc7a4319a32cdd0b59a7ecc977f8612214ce',1,'compression.h']]], + ['grpc_5fcompress_5flevel_5fnone',['GRPC_COMPRESS_LEVEL_NONE',['../compression_8h.html#a14a79ed6b5ebd7e1dda7c2684f499cc7ab67efe04f58b0939b963e51a5b8f772c',1,'compression.h']]], + ['grpc_5fcompress_5fnone',['GRPC_COMPRESS_NONE',['../compression_8h.html#ab9de0f68bfb1ef8ed09bd00643db14c9a3135cac7e854adb16358c53e97df9cd8',1,'compression.h']]], + ['grpc_5fcontext_5fcount',['GRPC_CONTEXT_COUNT',['../channel_2context_8h.html#ad9f29fba1468a9a1384b9104bf368dffa7cc0d6f72e8a72421b89aa61683324a7',1,'context.h']]], + ['grpc_5fcontext_5fsecurity',['GRPC_CONTEXT_SECURITY',['../channel_2context_8h.html#ad9f29fba1468a9a1384b9104bf368dffad3eeb57d00fb37f4d2f39706942b4d1b',1,'context.h']]], + ['grpc_5fcontext_5ftracing',['GRPC_CONTEXT_TRACING',['../channel_2context_8h.html#ad9f29fba1468a9a1384b9104bf368dffa772d66a312d7bbe72aa6036832976b80',1,'context.h']]], + ['grpc_5fcredentials_5ferror',['GRPC_CREDENTIALS_ERROR',['../credentials_8h.html#a2f0ff51afd60f456086f0db9b67a13e4aa187148e06f47b75b8f89794a837fb6a',1,'credentials.h']]], + ['grpc_5fcredentials_5fok',['GRPC_CREDENTIALS_OK',['../credentials_8h.html#a2f0ff51afd60f456086f0db9b67a13e4a24b48b91238fd97a3f02b97886e93c15',1,'credentials.h']]], + ['grpc_5fdont_5fsend_5fclosed',['GRPC_DONT_SEND_CLOSED',['../internal_8h.html#a9d3b30dd29e854143c461aa7e03cbfb9ab7c3500e5584461922d410d38986335c',1,'internal.h']]], + ['grpc_5fdsmode_5fdualstack',['GRPC_DSMODE_DUALSTACK',['../socket__utils__posix_8h.html#a00b8257ab3e474c4f3d666247d620264a20fcdfb82918427f5e57b463db30c635',1,'socket_utils_posix.h']]], + ['grpc_5fdsmode_5fipv4',['GRPC_DSMODE_IPV4',['../socket__utils__posix_8h.html#a00b8257ab3e474c4f3d666247d620264a31d1572a5d2b690fe43d9a6fe31c43a8',1,'socket_utils_posix.h']]], + ['grpc_5fdsmode_5fipv6',['GRPC_DSMODE_IPV6',['../socket__utils__posix_8h.html#a00b8257ab3e474c4f3d666247d620264a036d6fe4d6f305566426a235921e56c3',1,'socket_utils_posix.h']]], + ['grpc_5fdsmode_5fnone',['GRPC_DSMODE_NONE',['../socket__utils__posix_8h.html#a00b8257ab3e474c4f3d666247d620264acd35a16d524d042d1d50f45a8efef858',1,'socket_utils_posix.h']]], + ['grpc_5fdts_5fclient_5fprefix_5f0',['GRPC_DTS_CLIENT_PREFIX_0',['../internal_8h.html#a6f98ba3b22480becf1bcc47253326a62a25d129ada2c0e8f26802bb1b490d0085',1,'internal.h']]], + ['grpc_5fdts_5fclient_5fprefix_5f1',['GRPC_DTS_CLIENT_PREFIX_1',['../internal_8h.html#a6f98ba3b22480becf1bcc47253326a62aa40d0131ceae834fc5333dd46fe43506',1,'internal.h']]], + ['grpc_5fdts_5fclient_5fprefix_5f10',['GRPC_DTS_CLIENT_PREFIX_10',['../internal_8h.html#a6f98ba3b22480becf1bcc47253326a62a9e8caab2da107d3b8e757c91717d47f3',1,'internal.h']]], + ['grpc_5fdts_5fclient_5fprefix_5f11',['GRPC_DTS_CLIENT_PREFIX_11',['../internal_8h.html#a6f98ba3b22480becf1bcc47253326a62af3615fc2a32d17ae1050e78bd89e43e1',1,'internal.h']]], + ['grpc_5fdts_5fclient_5fprefix_5f12',['GRPC_DTS_CLIENT_PREFIX_12',['../internal_8h.html#a6f98ba3b22480becf1bcc47253326a62aa452c6c245042fcc3a6b07b89bc0392a',1,'internal.h']]], + ['grpc_5fdts_5fclient_5fprefix_5f13',['GRPC_DTS_CLIENT_PREFIX_13',['../internal_8h.html#a6f98ba3b22480becf1bcc47253326a62a7f122c0c00df0bea810b2d4023b60a19',1,'internal.h']]], + ['grpc_5fdts_5fclient_5fprefix_5f14',['GRPC_DTS_CLIENT_PREFIX_14',['../internal_8h.html#a6f98ba3b22480becf1bcc47253326a62ae9e31a7c2928921ee0cb097fba7d03aa',1,'internal.h']]], + ['grpc_5fdts_5fclient_5fprefix_5f15',['GRPC_DTS_CLIENT_PREFIX_15',['../internal_8h.html#a6f98ba3b22480becf1bcc47253326a62a06c52283890571b31d6e04c1ffc7957d',1,'internal.h']]], + ['grpc_5fdts_5fclient_5fprefix_5f16',['GRPC_DTS_CLIENT_PREFIX_16',['../internal_8h.html#a6f98ba3b22480becf1bcc47253326a62ab6eb5b0e8a5237462ee96361b440796f',1,'internal.h']]], + ['grpc_5fdts_5fclient_5fprefix_5f17',['GRPC_DTS_CLIENT_PREFIX_17',['../internal_8h.html#a6f98ba3b22480becf1bcc47253326a62a82726c9cc14910572d203055432b6795',1,'internal.h']]], + ['grpc_5fdts_5fclient_5fprefix_5f18',['GRPC_DTS_CLIENT_PREFIX_18',['../internal_8h.html#a6f98ba3b22480becf1bcc47253326a62ad8642b29010211229e19de9c6e0fcbc8',1,'internal.h']]], + ['grpc_5fdts_5fclient_5fprefix_5f19',['GRPC_DTS_CLIENT_PREFIX_19',['../internal_8h.html#a6f98ba3b22480becf1bcc47253326a62ab986ee109b4635c4ccf94d7aab397257',1,'internal.h']]], + ['grpc_5fdts_5fclient_5fprefix_5f2',['GRPC_DTS_CLIENT_PREFIX_2',['../internal_8h.html#a6f98ba3b22480becf1bcc47253326a62a61ef7ffdaea8c2a8b0d4fb016c256ad0',1,'internal.h']]], + ['grpc_5fdts_5fclient_5fprefix_5f20',['GRPC_DTS_CLIENT_PREFIX_20',['../internal_8h.html#a6f98ba3b22480becf1bcc47253326a62a25a1989db73d7d542ec6fc0b10ccb1cc',1,'internal.h']]], + ['grpc_5fdts_5fclient_5fprefix_5f21',['GRPC_DTS_CLIENT_PREFIX_21',['../internal_8h.html#a6f98ba3b22480becf1bcc47253326a62a47d411086582ccce4e8d040eead17674',1,'internal.h']]], + ['grpc_5fdts_5fclient_5fprefix_5f22',['GRPC_DTS_CLIENT_PREFIX_22',['../internal_8h.html#a6f98ba3b22480becf1bcc47253326a62ac9321d51de32a9fd554196f6fe486e75',1,'internal.h']]], + ['grpc_5fdts_5fclient_5fprefix_5f23',['GRPC_DTS_CLIENT_PREFIX_23',['../internal_8h.html#a6f98ba3b22480becf1bcc47253326a62a19861af38f4fe10f7c40b6bf99bd275e',1,'internal.h']]], + ['grpc_5fdts_5fclient_5fprefix_5f3',['GRPC_DTS_CLIENT_PREFIX_3',['../internal_8h.html#a6f98ba3b22480becf1bcc47253326a62a4ebe79862d221aad04f0ccb8918f1912',1,'internal.h']]], + ['grpc_5fdts_5fclient_5fprefix_5f4',['GRPC_DTS_CLIENT_PREFIX_4',['../internal_8h.html#a6f98ba3b22480becf1bcc47253326a62ad033829aebd599a6ea3d94026d80a355',1,'internal.h']]], + ['grpc_5fdts_5fclient_5fprefix_5f5',['GRPC_DTS_CLIENT_PREFIX_5',['../internal_8h.html#a6f98ba3b22480becf1bcc47253326a62a66bdff40a54dc664cf72632276424b74',1,'internal.h']]], + ['grpc_5fdts_5fclient_5fprefix_5f6',['GRPC_DTS_CLIENT_PREFIX_6',['../internal_8h.html#a6f98ba3b22480becf1bcc47253326a62a3cc01f12b7b1f4cbcf2ed027af56f835',1,'internal.h']]], + ['grpc_5fdts_5fclient_5fprefix_5f7',['GRPC_DTS_CLIENT_PREFIX_7',['../internal_8h.html#a6f98ba3b22480becf1bcc47253326a62af04b36417fb0350bafc7c3054cfbad90',1,'internal.h']]], + ['grpc_5fdts_5fclient_5fprefix_5f8',['GRPC_DTS_CLIENT_PREFIX_8',['../internal_8h.html#a6f98ba3b22480becf1bcc47253326a62ac33407a02ca85302040eb22f1f639e0a',1,'internal.h']]], + ['grpc_5fdts_5fclient_5fprefix_5f9',['GRPC_DTS_CLIENT_PREFIX_9',['../internal_8h.html#a6f98ba3b22480becf1bcc47253326a62a64c70beae9714707e8750f863603cd2e',1,'internal.h']]], + ['grpc_5fdts_5ffh_5f0',['GRPC_DTS_FH_0',['../internal_8h.html#a6f98ba3b22480becf1bcc47253326a62adbe27b41d36d475e114fde2087aab8c1',1,'internal.h']]], + ['grpc_5fdts_5ffh_5f1',['GRPC_DTS_FH_1',['../internal_8h.html#a6f98ba3b22480becf1bcc47253326a62a6ef23c92e88b4226bcde3d1f44150ab1',1,'internal.h']]], + ['grpc_5fdts_5ffh_5f2',['GRPC_DTS_FH_2',['../internal_8h.html#a6f98ba3b22480becf1bcc47253326a62aaab31026fe27f752d727eedd9a41b5ab',1,'internal.h']]], + ['grpc_5fdts_5ffh_5f3',['GRPC_DTS_FH_3',['../internal_8h.html#a6f98ba3b22480becf1bcc47253326a62a1fa3cffd7776e95f961eef22681f1922',1,'internal.h']]], + ['grpc_5fdts_5ffh_5f4',['GRPC_DTS_FH_4',['../internal_8h.html#a6f98ba3b22480becf1bcc47253326a62a15bfd0d79ed1a62dbdc8f377f62cacbd',1,'internal.h']]], + ['grpc_5fdts_5ffh_5f5',['GRPC_DTS_FH_5',['../internal_8h.html#a6f98ba3b22480becf1bcc47253326a62a95f000174adbc3a27bc91b422520b6cc',1,'internal.h']]], + ['grpc_5fdts_5ffh_5f6',['GRPC_DTS_FH_6',['../internal_8h.html#a6f98ba3b22480becf1bcc47253326a62a7dfb17176bd8ea6005e8d27caa30e49c',1,'internal.h']]], + ['grpc_5fdts_5ffh_5f7',['GRPC_DTS_FH_7',['../internal_8h.html#a6f98ba3b22480becf1bcc47253326a62af80fa92c955868a75af026943b74f976',1,'internal.h']]], + ['grpc_5fdts_5ffh_5f8',['GRPC_DTS_FH_8',['../internal_8h.html#a6f98ba3b22480becf1bcc47253326a62a26ea9eff9ffdbd49b96f39f6d1d8320a',1,'internal.h']]], + ['grpc_5fdts_5fframe',['GRPC_DTS_FRAME',['../internal_8h.html#a6f98ba3b22480becf1bcc47253326a62a166f3cb24f0210d2a31e37863345b586',1,'internal.h']]], + ['grpc_5fendpoint_5fcb_5feof',['GRPC_ENDPOINT_CB_EOF',['../endpoint_8h.html#abb88e72ffe7908c2def55fea24d321aea2e899c2c1f439bcacb80d720bf16b28a',1,'endpoint.h']]], + ['grpc_5fendpoint_5fcb_5ferror',['GRPC_ENDPOINT_CB_ERROR',['../endpoint_8h.html#abb88e72ffe7908c2def55fea24d321aea56bdd1b428950ad6e54bf0ef4044ab8e',1,'endpoint.h']]], + ['grpc_5fendpoint_5fcb_5fok',['GRPC_ENDPOINT_CB_OK',['../endpoint_8h.html#abb88e72ffe7908c2def55fea24d321aea48c02072cce4fc7339c4236ea902407f',1,'endpoint.h']]], + ['grpc_5fendpoint_5fcb_5fshutdown',['GRPC_ENDPOINT_CB_SHUTDOWN',['../endpoint_8h.html#abb88e72ffe7908c2def55fea24d321aea077a9b05808b8e3b0e2cf6ab4fe0ee37',1,'endpoint.h']]], + ['grpc_5fendpoint_5fwrite_5fdone',['GRPC_ENDPOINT_WRITE_DONE',['../endpoint_8h.html#abfb8e299371be52c109912cda9dbe902a9b592c54f22e5b3d4692aedf57b0a254',1,'endpoint.h']]], + ['grpc_5fendpoint_5fwrite_5ferror',['GRPC_ENDPOINT_WRITE_ERROR',['../endpoint_8h.html#abfb8e299371be52c109912cda9dbe902ac6ee550584876eb6ecba8fa333133f8f',1,'endpoint.h']]], + ['grpc_5fendpoint_5fwrite_5fpending',['GRPC_ENDPOINT_WRITE_PENDING',['../endpoint_8h.html#abfb8e299371be52c109912cda9dbe902aa3fdd3c500d6ed9c4d33687a80d37f09',1,'endpoint.h']]], + ['grpc_5fhttpcli_5fbody',['GRPC_HTTPCLI_BODY',['../parser_8h.html#a664db6149875c333b0a568ef8711e257ab0d18f147817864752f04b87f1ab54d0',1,'parser.h']]], + ['grpc_5fhttpcli_5fheaders',['GRPC_HTTPCLI_HEADERS',['../parser_8h.html#a664db6149875c333b0a568ef8711e257a3bbe99163e8d405c22e405cd380c3ba8',1,'parser.h']]], + ['grpc_5fhttpcli_5finitial_5fresponse',['GRPC_HTTPCLI_INITIAL_RESPONSE',['../parser_8h.html#a664db6149875c333b0a568ef8711e257a63262fde49ebad4848be6038d6a6dc8a',1,'parser.h']]], + ['grpc_5fioreq_5fop_5fcount',['GRPC_IOREQ_OP_COUNT',['../call_8h.html#a6197b03dc8f1e7b26c62190faf505077a51d3cbf122a04eb94e88015228795660',1,'call.h']]], + ['grpc_5fioreq_5frecv_5fclose',['GRPC_IOREQ_RECV_CLOSE',['../call_8h.html#a6197b03dc8f1e7b26c62190faf505077a87859850a314f5275986aeb008e4f632',1,'call.h']]], + ['grpc_5fioreq_5frecv_5finitial_5fmetadata',['GRPC_IOREQ_RECV_INITIAL_METADATA',['../call_8h.html#a6197b03dc8f1e7b26c62190faf505077a1314ef20703755184ab04fbfb5387282',1,'call.h']]], + ['grpc_5fioreq_5frecv_5fmessage',['GRPC_IOREQ_RECV_MESSAGE',['../call_8h.html#a6197b03dc8f1e7b26c62190faf505077a9ab6565e74cfb818d27db7d532570cbb',1,'call.h']]], + ['grpc_5fioreq_5frecv_5fstatus',['GRPC_IOREQ_RECV_STATUS',['../call_8h.html#a6197b03dc8f1e7b26c62190faf505077a115f1520925971c6a06680669d76ea9a',1,'call.h']]], + ['grpc_5fioreq_5frecv_5fstatus_5fdetails',['GRPC_IOREQ_RECV_STATUS_DETAILS',['../call_8h.html#a6197b03dc8f1e7b26c62190faf505077adffaf692690d3ce8fb0b503574d17795',1,'call.h']]], + ['grpc_5fioreq_5frecv_5ftrailing_5fmetadata',['GRPC_IOREQ_RECV_TRAILING_METADATA',['../call_8h.html#a6197b03dc8f1e7b26c62190faf505077a8e812e910cf251cd7ea99e912eeb9bcf',1,'call.h']]], + ['grpc_5fioreq_5fsend_5fclose',['GRPC_IOREQ_SEND_CLOSE',['../call_8h.html#a6197b03dc8f1e7b26c62190faf505077ad303395faccf9db870bfb3017c3b994a',1,'call.h']]], + ['grpc_5fioreq_5fsend_5finitial_5fmetadata',['GRPC_IOREQ_SEND_INITIAL_METADATA',['../call_8h.html#a6197b03dc8f1e7b26c62190faf505077a7f2c7c1956f546a988d5071ec49187b7',1,'call.h']]], + ['grpc_5fioreq_5fsend_5fmessage',['GRPC_IOREQ_SEND_MESSAGE',['../call_8h.html#a6197b03dc8f1e7b26c62190faf505077ae1347e94cd8011a8bbbf73e916fb9246',1,'call.h']]], + ['grpc_5fioreq_5fsend_5fstatus',['GRPC_IOREQ_SEND_STATUS',['../call_8h.html#a6197b03dc8f1e7b26c62190faf505077ad8568457ecb464f48adf5d5f27828e3c',1,'call.h']]], + ['grpc_5fioreq_5fsend_5ftrailing_5fmetadata',['GRPC_IOREQ_SEND_TRAILING_METADATA',['../call_8h.html#a6197b03dc8f1e7b26c62190faf505077aaf233f9c12febc8d9b8cef46c856c522',1,'call.h']]], + ['grpc_5fjson_5farray',['GRPC_JSON_ARRAY',['../json__common_8h.html#a3e82983bba0988c52251467566a07ce2a12e5c49e8af63209e64af80f053a5877',1,'json_common.h']]], + ['grpc_5fjson_5fdone',['GRPC_JSON_DONE',['../json__reader_8h.html#ab958fafc9819a82736ac5f030feb8d24a3ec47e8c31d09cfc07b3b3459caf5ed7',1,'json_reader.h']]], + ['grpc_5fjson_5feagain',['GRPC_JSON_EAGAIN',['../json__reader_8h.html#ab958fafc9819a82736ac5f030feb8d24a28dcdba3bcbd64daf22c70df4d1bd3f0',1,'json_reader.h']]], + ['grpc_5fjson_5ffalse',['GRPC_JSON_FALSE',['../json__common_8h.html#a3e82983bba0988c52251467566a07ce2a4d78cd5a0d3737102d1786e6d2e756fe',1,'json_common.h']]], + ['grpc_5fjson_5finternal_5ferror',['GRPC_JSON_INTERNAL_ERROR',['../json__reader_8h.html#ab958fafc9819a82736ac5f030feb8d24ac3281037071f4e67aa01fb1f096bbfe8',1,'json_reader.h']]], + ['grpc_5fjson_5fnull',['GRPC_JSON_NULL',['../json__common_8h.html#a3e82983bba0988c52251467566a07ce2a2927d5e4f8c2ac7970465d848733d880',1,'json_common.h']]], + ['grpc_5fjson_5fnumber',['GRPC_JSON_NUMBER',['../json__common_8h.html#a3e82983bba0988c52251467566a07ce2a0e7572364b1b10b99d5b875329614b44',1,'json_common.h']]], + ['grpc_5fjson_5fobject',['GRPC_JSON_OBJECT',['../json__common_8h.html#a3e82983bba0988c52251467566a07ce2a5dee7d9f721c5f616cf7f6fabff912a1',1,'json_common.h']]], + ['grpc_5fjson_5fparse_5ferror',['GRPC_JSON_PARSE_ERROR',['../json__reader_8h.html#ab958fafc9819a82736ac5f030feb8d24a9e89bd16fe4ee12cff307413b6f28b6c',1,'json_reader.h']]], + ['grpc_5fjson_5fread_5fchar_5feagain',['GRPC_JSON_READ_CHAR_EAGAIN',['../json__reader_8h.html#a16af7b253440dadd46a80a4b9fddba4dab16e9d72bca58d8d43810ed53afb12c9',1,'json_reader.h']]], + ['grpc_5fjson_5fread_5fchar_5feof',['GRPC_JSON_READ_CHAR_EOF',['../json__reader_8h.html#a16af7b253440dadd46a80a4b9fddba4daf9fe6e98c983a5c439783f938b3c86d9',1,'json_reader.h']]], + ['grpc_5fjson_5fread_5fchar_5ferror',['GRPC_JSON_READ_CHAR_ERROR',['../json__reader_8h.html#a16af7b253440dadd46a80a4b9fddba4da8812b963d2fe1700bdcc1a8084cf86bc',1,'json_reader.h']]], + ['grpc_5fjson_5fread_5ferror',['GRPC_JSON_READ_ERROR',['../json__reader_8h.html#ab958fafc9819a82736ac5f030feb8d24af34c0d5ee249e46cca43ead968e07ebc',1,'json_reader.h']]], + ['grpc_5fjson_5fstate_5fend',['GRPC_JSON_STATE_END',['../json__reader_8h.html#ab49e2221d9261d6dbeba7714f49998c3abb3c4b5760662831b92f941695deb8ab',1,'json_reader.h']]], + ['grpc_5fjson_5fstate_5fobject_5fkey_5fbegin',['GRPC_JSON_STATE_OBJECT_KEY_BEGIN',['../json__reader_8h.html#ab49e2221d9261d6dbeba7714f49998c3ae3661c71859af165b76b78ce3d76b1dd',1,'json_reader.h']]], + ['grpc_5fjson_5fstate_5fobject_5fkey_5fend',['GRPC_JSON_STATE_OBJECT_KEY_END',['../json__reader_8h.html#ab49e2221d9261d6dbeba7714f49998c3a34fed96cb6df9620bf61b3d22615365f',1,'json_reader.h']]], + ['grpc_5fjson_5fstate_5fobject_5fkey_5fstring',['GRPC_JSON_STATE_OBJECT_KEY_STRING',['../json__reader_8h.html#ab49e2221d9261d6dbeba7714f49998c3a9780461c3c593717ca7d3c493c6dcfdf',1,'json_reader.h']]], + ['grpc_5fjson_5fstate_5fstring_5fescape',['GRPC_JSON_STATE_STRING_ESCAPE',['../json__reader_8h.html#ab49e2221d9261d6dbeba7714f49998c3ad5c59beddcd25dbdf44c3ad129e77fd3',1,'json_reader.h']]], + ['grpc_5fjson_5fstate_5fstring_5fescape_5fu1',['GRPC_JSON_STATE_STRING_ESCAPE_U1',['../json__reader_8h.html#ab49e2221d9261d6dbeba7714f49998c3a76dafae1aaab777fd9a6bbc26d10a71b',1,'json_reader.h']]], + ['grpc_5fjson_5fstate_5fstring_5fescape_5fu2',['GRPC_JSON_STATE_STRING_ESCAPE_U2',['../json__reader_8h.html#ab49e2221d9261d6dbeba7714f49998c3afa7e20c80c15f500c002a738a5d67829',1,'json_reader.h']]], + ['grpc_5fjson_5fstate_5fstring_5fescape_5fu3',['GRPC_JSON_STATE_STRING_ESCAPE_U3',['../json__reader_8h.html#ab49e2221d9261d6dbeba7714f49998c3ae314dc1624daa9ff6b0f63e4b9d03eca',1,'json_reader.h']]], + ['grpc_5fjson_5fstate_5fstring_5fescape_5fu4',['GRPC_JSON_STATE_STRING_ESCAPE_U4',['../json__reader_8h.html#ab49e2221d9261d6dbeba7714f49998c3a168ce3979bfa152546f8d9d55b70b28f',1,'json_reader.h']]], + ['grpc_5fjson_5fstate_5fvalue_5fbegin',['GRPC_JSON_STATE_VALUE_BEGIN',['../json__reader_8h.html#ab49e2221d9261d6dbeba7714f49998c3a670a159c43fdc6905bd8d52c26da1114',1,'json_reader.h']]], + ['grpc_5fjson_5fstate_5fvalue_5fend',['GRPC_JSON_STATE_VALUE_END',['../json__reader_8h.html#ab49e2221d9261d6dbeba7714f49998c3a98d936a3fe5cf280c1791d5b1892edc0',1,'json_reader.h']]], + ['grpc_5fjson_5fstate_5fvalue_5ffalse_5fa',['GRPC_JSON_STATE_VALUE_FALSE_A',['../json__reader_8h.html#ab49e2221d9261d6dbeba7714f49998c3aeab79537b4e6d7eeba5b80171da78c9c',1,'json_reader.h']]], + ['grpc_5fjson_5fstate_5fvalue_5ffalse_5fe',['GRPC_JSON_STATE_VALUE_FALSE_E',['../json__reader_8h.html#ab49e2221d9261d6dbeba7714f49998c3ad30ab18e89a56d134986d7583a364a94',1,'json_reader.h']]], + ['grpc_5fjson_5fstate_5fvalue_5ffalse_5fl',['GRPC_JSON_STATE_VALUE_FALSE_L',['../json__reader_8h.html#ab49e2221d9261d6dbeba7714f49998c3a50c6454c492bfb09e8fd0560b0c5a5a7',1,'json_reader.h']]], + ['grpc_5fjson_5fstate_5fvalue_5ffalse_5fs',['GRPC_JSON_STATE_VALUE_FALSE_S',['../json__reader_8h.html#ab49e2221d9261d6dbeba7714f49998c3ad0097ae5d9dd0bff25b148574c7085e9',1,'json_reader.h']]], + ['grpc_5fjson_5fstate_5fvalue_5fnull_5fl1',['GRPC_JSON_STATE_VALUE_NULL_L1',['../json__reader_8h.html#ab49e2221d9261d6dbeba7714f49998c3a8cc64baededcc064adfebf60232f7916',1,'json_reader.h']]], + ['grpc_5fjson_5fstate_5fvalue_5fnull_5fl2',['GRPC_JSON_STATE_VALUE_NULL_L2',['../json__reader_8h.html#ab49e2221d9261d6dbeba7714f49998c3a0b12f5d4a59fd680ef25c3b6f8047cc5',1,'json_reader.h']]], + ['grpc_5fjson_5fstate_5fvalue_5fnull_5fu',['GRPC_JSON_STATE_VALUE_NULL_U',['../json__reader_8h.html#ab49e2221d9261d6dbeba7714f49998c3a90b388ae65ad466503492cdc45b125e2',1,'json_reader.h']]], + ['grpc_5fjson_5fstate_5fvalue_5fnumber',['GRPC_JSON_STATE_VALUE_NUMBER',['../json__reader_8h.html#ab49e2221d9261d6dbeba7714f49998c3a06d56e2f12761077e8f1f99d79e1288a',1,'json_reader.h']]], + ['grpc_5fjson_5fstate_5fvalue_5fnumber_5fdot',['GRPC_JSON_STATE_VALUE_NUMBER_DOT',['../json__reader_8h.html#ab49e2221d9261d6dbeba7714f49998c3add9dc89ace1a49e762b0066b67337692',1,'json_reader.h']]], + ['grpc_5fjson_5fstate_5fvalue_5fnumber_5fe',['GRPC_JSON_STATE_VALUE_NUMBER_E',['../json__reader_8h.html#ab49e2221d9261d6dbeba7714f49998c3ab5fd99deecc891aa5d550c0a4e367cc9',1,'json_reader.h']]], + ['grpc_5fjson_5fstate_5fvalue_5fnumber_5fepm',['GRPC_JSON_STATE_VALUE_NUMBER_EPM',['../json__reader_8h.html#ab49e2221d9261d6dbeba7714f49998c3a078f4e5d5e3aed61060331892d076746',1,'json_reader.h']]], + ['grpc_5fjson_5fstate_5fvalue_5fnumber_5fwith_5fdecimal',['GRPC_JSON_STATE_VALUE_NUMBER_WITH_DECIMAL',['../json__reader_8h.html#ab49e2221d9261d6dbeba7714f49998c3a8b40b7890a6e13c179270475b19406b4',1,'json_reader.h']]], + ['grpc_5fjson_5fstate_5fvalue_5fnumber_5fzero',['GRPC_JSON_STATE_VALUE_NUMBER_ZERO',['../json__reader_8h.html#ab49e2221d9261d6dbeba7714f49998c3a4343815cd876adf206462c2d6b2928f1',1,'json_reader.h']]], + ['grpc_5fjson_5fstate_5fvalue_5fstring',['GRPC_JSON_STATE_VALUE_STRING',['../json__reader_8h.html#ab49e2221d9261d6dbeba7714f49998c3a35c7798e09ff2c349be10778d2a9003f',1,'json_reader.h']]], + ['grpc_5fjson_5fstate_5fvalue_5ftrue_5fe',['GRPC_JSON_STATE_VALUE_TRUE_E',['../json__reader_8h.html#ab49e2221d9261d6dbeba7714f49998c3a51f53cf8933bec52d5cfa2e60952e27c',1,'json_reader.h']]], + ['grpc_5fjson_5fstate_5fvalue_5ftrue_5fr',['GRPC_JSON_STATE_VALUE_TRUE_R',['../json__reader_8h.html#ab49e2221d9261d6dbeba7714f49998c3a83c0a8d29cef49ab924fd3c2a1ca5e0b',1,'json_reader.h']]], + ['grpc_5fjson_5fstate_5fvalue_5ftrue_5fu',['GRPC_JSON_STATE_VALUE_TRUE_U',['../json__reader_8h.html#ab49e2221d9261d6dbeba7714f49998c3a81ccf65c544696f17a35b6596b73e11b',1,'json_reader.h']]], + ['grpc_5fjson_5fstring',['GRPC_JSON_STRING',['../json__common_8h.html#a3e82983bba0988c52251467566a07ce2aaad8ddc7407e241b2c60d20c64d66d79',1,'json_common.h']]], + ['grpc_5fjson_5ftop_5flevel',['GRPC_JSON_TOP_LEVEL',['../json__common_8h.html#a3e82983bba0988c52251467566a07ce2a6cf6e3dbbe21345b1a3eb6e9d8becb63',1,'json_common.h']]], + ['grpc_5fjson_5ftrue',['GRPC_JSON_TRUE',['../json__common_8h.html#a3e82983bba0988c52251467566a07ce2addb2de1293e8e8c804847d54bbb7f53b',1,'json_common.h']]], + ['grpc_5fjwt_5fverifier_5fbad_5faudience',['GRPC_JWT_VERIFIER_BAD_AUDIENCE',['../jwt__verifier_8h.html#a04a38ad49ca184c3a075f927b7ed61b5ae350517932f24d7381da68eb82c32e08',1,'jwt_verifier.h']]], + ['grpc_5fjwt_5fverifier_5fbad_5fformat',['GRPC_JWT_VERIFIER_BAD_FORMAT',['../jwt__verifier_8h.html#a04a38ad49ca184c3a075f927b7ed61b5a093ce843a6f3bb30f7828dcdf179785c',1,'jwt_verifier.h']]], + ['grpc_5fjwt_5fverifier_5fbad_5fsignature',['GRPC_JWT_VERIFIER_BAD_SIGNATURE',['../jwt__verifier_8h.html#a04a38ad49ca184c3a075f927b7ed61b5aa940dd7ad73e12da6ad7c2c5ef4d3298',1,'jwt_verifier.h']]], + ['grpc_5fjwt_5fverifier_5fgeneric_5ferror',['GRPC_JWT_VERIFIER_GENERIC_ERROR',['../jwt__verifier_8h.html#a04a38ad49ca184c3a075f927b7ed61b5a8b1bd3670e04ba080882d18ad2156546',1,'jwt_verifier.h']]], + ['grpc_5fjwt_5fverifier_5fkey_5fretrieval_5ferror',['GRPC_JWT_VERIFIER_KEY_RETRIEVAL_ERROR',['../jwt__verifier_8h.html#a04a38ad49ca184c3a075f927b7ed61b5a939bc13cb2d1fe1529a29dfaca361194',1,'jwt_verifier.h']]], + ['grpc_5fjwt_5fverifier_5fok',['GRPC_JWT_VERIFIER_OK',['../jwt__verifier_8h.html#a04a38ad49ca184c3a075f927b7ed61b5a7e0b490fc1c6a843a9ed7266f5255f57',1,'jwt_verifier.h']]], + ['grpc_5fjwt_5fverifier_5ftime_5fconstraint_5ffailure',['GRPC_JWT_VERIFIER_TIME_CONSTRAINT_FAILURE',['../jwt__verifier_8h.html#a04a38ad49ca184c3a075f927b7ed61b5ab77a70669bbc2a0a6e69b95b9f8dd78f',1,'jwt_verifier.h']]], + ['grpc_5flocal_5fsettings',['GRPC_LOCAL_SETTINGS',['../internal_8h.html#a6c14b42c5aba744e7f99831e0b7901ada34fcc73078d41da89714d1735a6c34a0',1,'internal.h']]], + ['grpc_5fno_5fop',['GRPC_NO_OP',['../stream__op_8h.html#af16e06eb1edfe4d93509276f32ed3804a09d4ac20ba57d42ac1d0aea1fcfc2a7c',1,'stream_op.h']]], + ['grpc_5fnum_5fsetting_5fsets',['GRPC_NUM_SETTING_SETS',['../internal_8h.html#a6c14b42c5aba744e7f99831e0b7901adaa20accbdc29feba4c2f081ecc91e6641',1,'internal.h']]], + ['grpc_5fop_5fbegin_5fmessage',['GRPC_OP_BEGIN_MESSAGE',['../stream__op_8h.html#af16e06eb1edfe4d93509276f32ed3804a145ba48de2683f4943979f1184c17b31',1,'stream_op.h']]], + ['grpc_5fop_5fcomplete',['GRPC_OP_COMPLETE',['../grpc_8h.html#ab6454071421a36ebc25952ed448d5b87a00b42e3d4b6e6493c6e76f1adf07b297',1,'grpc.h']]], + ['grpc_5fop_5fmetadata',['GRPC_OP_METADATA',['../stream__op_8h.html#af16e06eb1edfe4d93509276f32ed3804a405236323f1ebdce743e0b045fda2317',1,'stream_op.h']]], + ['grpc_5fop_5frecv_5fclose_5fon_5fserver',['GRPC_OP_RECV_CLOSE_ON_SERVER',['../grpc_8h.html#a41dc9abf9678decbfcef1a037e35939aa8fb75ed79601a4845a39a74d7505cef6',1,'grpc.h']]], + ['grpc_5fop_5frecv_5finitial_5fmetadata',['GRPC_OP_RECV_INITIAL_METADATA',['../grpc_8h.html#a41dc9abf9678decbfcef1a037e35939aaabe080072d165d1e69459abd7c742078',1,'grpc.h']]], + ['grpc_5fop_5frecv_5fmessage',['GRPC_OP_RECV_MESSAGE',['../grpc_8h.html#a41dc9abf9678decbfcef1a037e35939aafe3da4c8865af4ef5258b3790d15afc5',1,'grpc.h']]], + ['grpc_5fop_5frecv_5fstatus_5fon_5fclient',['GRPC_OP_RECV_STATUS_ON_CLIENT',['../grpc_8h.html#a41dc9abf9678decbfcef1a037e35939aa4d43b168589407554a58e91fae80ba17',1,'grpc.h']]], + ['grpc_5fop_5fsend_5fclose_5ffrom_5fclient',['GRPC_OP_SEND_CLOSE_FROM_CLIENT',['../grpc_8h.html#a41dc9abf9678decbfcef1a037e35939aa6c66420562347ff4dcf35e4b32c0d486',1,'grpc.h']]], + ['grpc_5fop_5fsend_5finitial_5fmetadata',['GRPC_OP_SEND_INITIAL_METADATA',['../grpc_8h.html#a41dc9abf9678decbfcef1a037e35939aaf5bbedf13763c180b2f1ada62769d721',1,'grpc.h']]], + ['grpc_5fop_5fsend_5fmessage',['GRPC_OP_SEND_MESSAGE',['../grpc_8h.html#a41dc9abf9678decbfcef1a037e35939aaa6447181c20e4c6d64a54fae8082ef70',1,'grpc.h']]], + ['grpc_5fop_5fsend_5fstatus_5ffrom_5fserver',['GRPC_OP_SEND_STATUS_FROM_SERVER',['../grpc_8h.html#a41dc9abf9678decbfcef1a037e35939aa3a3659314e7495b1cabed0f3a6705f64',1,'grpc.h']]], + ['grpc_5fop_5fslice',['GRPC_OP_SLICE',['../stream__op_8h.html#af16e06eb1edfe4d93509276f32ed3804a515547554d32135caeef6aa6f28fe0c6',1,'stream_op.h']]], + ['grpc_5fpeer_5fsettings',['GRPC_PEER_SETTINGS',['../internal_8h.html#a6c14b42c5aba744e7f99831e0b7901ada1e2fba3c15bdcd6378ad03ed9a47a572',1,'internal.h']]], + ['grpc_5fptag_5fcall_5fon_5fdone_5frecv',['GRPC_PTAG_CALL_ON_DONE_RECV',['../timers_8h.html#a3924e8ccd8dd2091f770739703718fe3ad0521181369fe47d134a851aeb882e8a',1,'timers.h']]], + ['grpc_5fptag_5fcpp_5fcall_5fcreated',['GRPC_PTAG_CPP_CALL_CREATED',['../timers_8h.html#a3924e8ccd8dd2091f770739703718fe3a39ca9f08c4cc6da08ae53a9d66581f61',1,'timers.h']]], + ['grpc_5fptag_5fcpp_5fperform_5fops',['GRPC_PTAG_CPP_PERFORM_OPS',['../timers_8h.html#a3924e8ccd8dd2091f770739703718fe3a2bf041e644a7237941cf8fb3bd28833e',1,'timers.h']]], + ['grpc_5fptag_5fhandle_5fread',['GRPC_PTAG_HANDLE_READ',['../timers_8h.html#a3924e8ccd8dd2091f770739703718fe3a4979b4e88e202c76b258e4fae28f3129',1,'timers.h']]], + ['grpc_5fptag_5fhttp2_5funlock',['GRPC_PTAG_HTTP2_UNLOCK',['../timers_8h.html#a3924e8ccd8dd2091f770739703718fe3afdd4d7916a4a16fdbb47c3a6cb265e4d',1,'timers.h']]], + ['grpc_5fptag_5fhttp2_5funlock_5fcleanup',['GRPC_PTAG_HTTP2_UNLOCK_CLEANUP',['../timers_8h.html#a3924e8ccd8dd2091f770739703718fe3aa32b263c7af6b5be92daa442c772618a',1,'timers.h']]], + ['grpc_5fptag_5fignore_5fthreshold',['GRPC_PTAG_IGNORE_THRESHOLD',['../timers_8h.html#a3924e8ccd8dd2091f770739703718fe3a5fa98a7f52f47db42e01914db0b05392',1,'timers.h']]], + ['grpc_5fptag_5fother_5fbase',['GRPC_PTAG_OTHER_BASE',['../timers_8h.html#a3924e8ccd8dd2091f770739703718fe3a15afe239273be6ec485aea2aff25fb8b',1,'timers.h']]], + ['grpc_5fptag_5fpoll_5ffinished',['GRPC_PTAG_POLL_FINISHED',['../timers_8h.html#a3924e8ccd8dd2091f770739703718fe3a8564fee65389d96e4b5b4bedcedd2627',1,'timers.h']]], + ['grpc_5fptag_5fproto_5fdeserialize',['GRPC_PTAG_PROTO_DESERIALIZE',['../timers_8h.html#a3924e8ccd8dd2091f770739703718fe3aac2e05e178ae0a1dba7f00723355ba4b',1,'timers.h']]], + ['grpc_5fptag_5fproto_5fserialize',['GRPC_PTAG_PROTO_SERIALIZE',['../timers_8h.html#a3924e8ccd8dd2091f770739703718fe3a52fe62d30066246868ec8aee932c24e8',1,'timers.h']]], + ['grpc_5fptag_5frecvmsg',['GRPC_PTAG_RECVMSG',['../timers_8h.html#a3924e8ccd8dd2091f770739703718fe3a3b48f83e662bfe6d123d728874f4cc77',1,'timers.h']]], + ['grpc_5fptag_5fsendmsg',['GRPC_PTAG_SENDMSG',['../timers_8h.html#a3924e8ccd8dd2091f770739703718fe3a07f5a2d9703f71ede732477257854472',1,'timers.h']]], + ['grpc_5fptag_5ftcp_5fcb_5fwrite',['GRPC_PTAG_TCP_CB_WRITE',['../timers_8h.html#a3924e8ccd8dd2091f770739703718fe3ae3193d2165aaa3802bb3fca59e3ca8e1',1,'timers.h']]], + ['grpc_5fptag_5ftcp_5fwrite',['GRPC_PTAG_TCP_WRITE',['../timers_8h.html#a3924e8ccd8dd2091f770739703718fe3a1cf6704d24c17b339a283c1e1f86ae0f',1,'timers.h']]], + ['grpc_5fqueue_5fshutdown',['GRPC_QUEUE_SHUTDOWN',['../grpc_8h.html#ab6454071421a36ebc25952ed448d5b87a503dd1b2ec79457f0f810716016219d5',1,'grpc.h']]], + ['grpc_5fqueue_5ftimeout',['GRPC_QUEUE_TIMEOUT',['../grpc_8h.html#ab6454071421a36ebc25952ed448d5b87a4339ea61236e103b6555fdf9b6cffab6',1,'grpc.h']]], + ['grpc_5fsecurity_5ferror',['GRPC_SECURITY_ERROR',['../security__connector_8h.html#a7a71a61785f1c3b13704bb735d2645f9a0c645b0a4e922f4dbfbb08a7e1a0caba',1,'security_connector.h']]], + ['grpc_5fsecurity_5fok',['GRPC_SECURITY_OK',['../security__connector_8h.html#a7a71a61785f1c3b13704bb735d2645f9afbd22370d0c11fb36d465b65321a846b',1,'security_connector.h']]], + ['grpc_5fsecurity_5fpending',['GRPC_SECURITY_PENDING',['../security__connector_8h.html#a7a71a61785f1c3b13704bb735d2645f9aec1f6f449a3260705affe2f4496386e8',1,'security_connector.h']]], + ['grpc_5fsend_5fclosed',['GRPC_SEND_CLOSED',['../internal_8h.html#a9d3b30dd29e854143c461aa7e03cbfb9ab9d017cdb014717c5160971d45cc1c02',1,'internal.h']]], + ['grpc_5fsend_5fclosed_5fwith_5frst_5fstream',['GRPC_SEND_CLOSED_WITH_RST_STREAM',['../internal_8h.html#a9d3b30dd29e854143c461aa7e03cbfb9ab0dbda5711c4d3612d77337cbeb88508',1,'internal.h']]], + ['grpc_5fsent_5fsettings',['GRPC_SENT_SETTINGS',['../internal_8h.html#a6c14b42c5aba744e7f99831e0b7901ada984818e41863a597de9f9fb6162019f5',1,'internal.h']]], + ['grpc_5fstatus_5f_5fdo_5fnot_5fuse',['GRPC_STATUS__DO_NOT_USE',['../status_8h.html#a35ab2a68917eb836de84cb23253108ebab924d4c4c646bdb3130162b8e359dd96',1,'status.h']]], + ['grpc_5fstatus_5faborted',['GRPC_STATUS_ABORTED',['../status_8h.html#a35ab2a68917eb836de84cb23253108eba3570bc43d5eb08c95a7f4c24c13010d9',1,'status.h']]], + ['grpc_5fstatus_5falready_5fexists',['GRPC_STATUS_ALREADY_EXISTS',['../status_8h.html#a35ab2a68917eb836de84cb23253108ebad357565db8655b6635fae96a11c4009b',1,'status.h']]], + ['grpc_5fstatus_5fcancelled',['GRPC_STATUS_CANCELLED',['../status_8h.html#a35ab2a68917eb836de84cb23253108eba30e6e0c37df1389dd4c460a53f831038',1,'status.h']]], + ['grpc_5fstatus_5fdata_5floss',['GRPC_STATUS_DATA_LOSS',['../status_8h.html#a35ab2a68917eb836de84cb23253108eba275db05856f4af884c48e86440414db7',1,'status.h']]], + ['grpc_5fstatus_5fdeadline_5fexceeded',['GRPC_STATUS_DEADLINE_EXCEEDED',['../status_8h.html#a35ab2a68917eb836de84cb23253108eba5451711361db6b8d8e80be30cbb1a208',1,'status.h']]], + ['grpc_5fstatus_5ffailed_5fprecondition',['GRPC_STATUS_FAILED_PRECONDITION',['../status_8h.html#a35ab2a68917eb836de84cb23253108eba503abd183544b43a83bc01d999adda5f',1,'status.h']]], + ['grpc_5fstatus_5finternal',['GRPC_STATUS_INTERNAL',['../status_8h.html#a35ab2a68917eb836de84cb23253108ebae648dab84c58ef5b1cfeea35867c4520',1,'status.h']]], + ['grpc_5fstatus_5finvalid_5fargument',['GRPC_STATUS_INVALID_ARGUMENT',['../status_8h.html#a35ab2a68917eb836de84cb23253108eba3dd64296110db7e7fafb1062b5587731',1,'status.h']]], + ['grpc_5fstatus_5fnot_5ffound',['GRPC_STATUS_NOT_FOUND',['../status_8h.html#a35ab2a68917eb836de84cb23253108ebafdf14cb6f2da868d76b209ac490c14e2',1,'status.h']]], + ['grpc_5fstatus_5fok',['GRPC_STATUS_OK',['../status_8h.html#a35ab2a68917eb836de84cb23253108eba9da5601150b267ab5509d151fa7df201',1,'status.h']]], + ['grpc_5fstatus_5fout_5fof_5frange',['GRPC_STATUS_OUT_OF_RANGE',['../status_8h.html#a35ab2a68917eb836de84cb23253108ebacd0d05ab2f0af48b0f535c3dd0816d9b',1,'status.h']]], + ['grpc_5fstatus_5fpermission_5fdenied',['GRPC_STATUS_PERMISSION_DENIED',['../status_8h.html#a35ab2a68917eb836de84cb23253108eba4149925007957bf1a04184d88e8293f4',1,'status.h']]], + ['grpc_5fstatus_5fresource_5fexhausted',['GRPC_STATUS_RESOURCE_EXHAUSTED',['../status_8h.html#a35ab2a68917eb836de84cb23253108ebab1a76cb91e6992f6f7a31a7fe862e0e9',1,'status.h']]], + ['grpc_5fstatus_5funauthenticated',['GRPC_STATUS_UNAUTHENTICATED',['../status_8h.html#a35ab2a68917eb836de84cb23253108eba1a6fd47361ad9298879dd8760ca1a0cb',1,'status.h']]], + ['grpc_5fstatus_5funavailable',['GRPC_STATUS_UNAVAILABLE',['../status_8h.html#a35ab2a68917eb836de84cb23253108ebaad91b67998cb5df7bc6821e362189e79',1,'status.h']]], + ['grpc_5fstatus_5funimplemented',['GRPC_STATUS_UNIMPLEMENTED',['../status_8h.html#a35ab2a68917eb836de84cb23253108eba6912537b4dfd1030f50ff2f5448f1bc2',1,'status.h']]], + ['grpc_5fstatus_5funknown',['GRPC_STATUS_UNKNOWN',['../status_8h.html#a35ab2a68917eb836de84cb23253108eba5f02c0e431162618ab422d27fd39dd08',1,'status.h']]], + ['grpc_5fstream_5fclosed',['GRPC_STREAM_CLOSED',['../transport_8h.html#a5988f9c4b3b23409cda5a38636d97f7bab7718622aee58dee9b907c2fcddb6362',1,'transport.h']]], + ['grpc_5fstream_5fopen',['GRPC_STREAM_OPEN',['../transport_8h.html#a5988f9c4b3b23409cda5a38636d97f7bad87b11b225b4dca8033c118a6f702a76',1,'transport.h']]], + ['grpc_5fstream_5frecv_5fclosed',['GRPC_STREAM_RECV_CLOSED',['../transport_8h.html#a5988f9c4b3b23409cda5a38636d97f7ba2454a23efac387974577cd0010e34ec7',1,'transport.h']]], + ['grpc_5fstream_5fsend_5fclosed',['GRPC_STREAM_SEND_CLOSED',['../transport_8h.html#a5988f9c4b3b23409cda5a38636d97f7ba41615571ecc19b7f29d5108cb68bc10a',1,'transport.h']]], + ['grpc_5fwrite_5fstate_5fopen',['GRPC_WRITE_STATE_OPEN',['../internal_8h.html#a3b93cb6f95aff10ba74b6aa06d7e99cca0fe604e577783cbae2a2c88221278883',1,'internal.h']]], + ['grpc_5fwrite_5fstate_5fqueued_5fclose',['GRPC_WRITE_STATE_QUEUED_CLOSE',['../internal_8h.html#a3b93cb6f95aff10ba74b6aa06d7e99cca3919fcef92f060577ba356817423e633',1,'internal.h']]], + ['grpc_5fwrite_5fstate_5fsent_5fclose',['GRPC_WRITE_STATE_SENT_CLOSE',['../internal_8h.html#a3b93cb6f95aff10ba74b6aa06d7e99cca208ef886be22d63ae3cd3880cb6a3693',1,'internal.h']]] +]; diff --git a/doc/ref/core.internal/html/search/enumvalues_6.html b/doc/ref/core.internal/html/search/enumvalues_6.html new file mode 100644 index 0000000000..96249ec49e --- /dev/null +++ b/doc/ref/core.internal/html/search/enumvalues_6.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core.internal/html/search/enumvalues_6.js b/doc/ref/core.internal/html/search/enumvalues_6.js new file mode 100644 index 0000000000..8ccf8a07b6 --- /dev/null +++ b/doc/ref/core.internal/html/search/enumvalues_6.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['header',['HEADER',['../stream__encoder_8c.html#a3ca2c0bc7578bf3d337e34b2c08a6c5fa2e57918a09d25b07a664e505d50a97f6',1,'stream_encoder.c']]] +]; diff --git a/doc/ref/core.internal/html/search/enumvalues_7.html b/doc/ref/core.internal/html/search/enumvalues_7.html new file mode 100644 index 0000000000..d38c296a1c --- /dev/null +++ b/doc/ref/core.internal/html/search/enumvalues_7.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core.internal/html/search/enumvalues_7.js b/doc/ref/core.internal/html/search/enumvalues_7.js new file mode 100644 index 0000000000..ee41a798dd --- /dev/null +++ b/doc/ref/core.internal/html/search/enumvalues_7.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['illegal',['ILLEGAL',['../hpack__parser_8c.html#a82ea1fc72cfd46090df5eb5f87ba1918a64b291c78f4399005e7e6d35274ac792',1,'hpack_parser.c']]], + ['indexed_5ffield',['INDEXED_FIELD',['../hpack__parser_8c.html#a82ea1fc72cfd46090df5eb5f87ba1918acf55dbd5b43747a8de2b3475e776b2a9',1,'hpack_parser.c']]], + ['indexed_5ffield_5fx',['INDEXED_FIELD_X',['../hpack__parser_8c.html#a82ea1fc72cfd46090df5eb5f87ba1918ab2d9a731d5c6871093edecbab8ec1b8a',1,'hpack_parser.c']]] +]; diff --git a/doc/ref/core.internal/html/search/enumvalues_8.html b/doc/ref/core.internal/html/search/enumvalues_8.html new file mode 100644 index 0000000000..9966e4688c --- /dev/null +++ b/doc/ref/core.internal/html/search/enumvalues_8.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core.internal/html/search/enumvalues_8.js b/doc/ref/core.internal/html/search/enumvalues_8.js new file mode 100644 index 0000000000..16a30a12ad --- /dev/null +++ b/doc/ref/core.internal/html/search/enumvalues_8.js @@ -0,0 +1,12 @@ +var searchData= +[ + ['lithdr_5fincidx',['LITHDR_INCIDX',['../hpack__parser_8c.html#a82ea1fc72cfd46090df5eb5f87ba1918ad521ba7e26b2f29b70f24ebe99a7b6d4',1,'hpack_parser.c']]], + ['lithdr_5fincidx_5fv',['LITHDR_INCIDX_V',['../hpack__parser_8c.html#a82ea1fc72cfd46090df5eb5f87ba1918acc616dbc2d6e6d99eb2879bc55a85e8c',1,'hpack_parser.c']]], + ['lithdr_5fincidx_5fx',['LITHDR_INCIDX_X',['../hpack__parser_8c.html#a82ea1fc72cfd46090df5eb5f87ba1918abc7a5a868dc1b4304662225ded589449',1,'hpack_parser.c']]], + ['lithdr_5fnotidx',['LITHDR_NOTIDX',['../hpack__parser_8c.html#a82ea1fc72cfd46090df5eb5f87ba1918a21b8279ee1879c395b696774c516b925',1,'hpack_parser.c']]], + ['lithdr_5fnotidx_5fv',['LITHDR_NOTIDX_V',['../hpack__parser_8c.html#a82ea1fc72cfd46090df5eb5f87ba1918a9108c78104ce0a038a1ee76f9d56ebb4',1,'hpack_parser.c']]], + ['lithdr_5fnotidx_5fx',['LITHDR_NOTIDX_X',['../hpack__parser_8c.html#a82ea1fc72cfd46090df5eb5f87ba1918a17dbb369763076fa7714c613ca4778b4',1,'hpack_parser.c']]], + ['lithdr_5fnvridx',['LITHDR_NVRIDX',['../hpack__parser_8c.html#a82ea1fc72cfd46090df5eb5f87ba1918aa4c98da3a42fad37a7eaaa74e76590e2',1,'hpack_parser.c']]], + ['lithdr_5fnvridx_5fv',['LITHDR_NVRIDX_V',['../hpack__parser_8c.html#a82ea1fc72cfd46090df5eb5f87ba1918ab3fbe40c948e7abb4b587700f295c508',1,'hpack_parser.c']]], + ['lithdr_5fnvridx_5fx',['LITHDR_NVRIDX_X',['../hpack__parser_8c.html#a82ea1fc72cfd46090df5eb5f87ba1918a9e86cc54448658713f683983a377d364',1,'hpack_parser.c']]] +]; diff --git a/doc/ref/core.internal/html/search/enumvalues_9.html b/doc/ref/core.internal/html/search/enumvalues_9.html new file mode 100644 index 0000000000..926ed9f2ec --- /dev/null +++ b/doc/ref/core.internal/html/search/enumvalues_9.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core.internal/html/search/enumvalues_9.js b/doc/ref/core.internal/html/search/enumvalues_9.js new file mode 100644 index 0000000000..a76261e6b0 --- /dev/null +++ b/doc/ref/core.internal/html/search/enumvalues_9.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['max_5ftbl_5fsize',['MAX_TBL_SIZE',['../hpack__parser_8c.html#a82ea1fc72cfd46090df5eb5f87ba1918a01c9e4f4b7e8c618841fab7c6fab28d8',1,'hpack_parser.c']]], + ['max_5ftbl_5fsize_5fx',['MAX_TBL_SIZE_X',['../hpack__parser_8c.html#a82ea1fc72cfd46090df5eb5f87ba1918adb841f9eb9a97d6b2cbcdbc72ecceca4',1,'hpack_parser.c']]] +]; diff --git a/doc/ref/core.internal/html/search/enumvalues_a.html b/doc/ref/core.internal/html/search/enumvalues_a.html new file mode 100644 index 0000000000..fa2cf426b2 --- /dev/null +++ b/doc/ref/core.internal/html/search/enumvalues_a.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core.internal/html/search/enumvalues_a.js b/doc/ref/core.internal/html/search/enumvalues_a.js new file mode 100644 index 0000000000..8f7a6d17aa --- /dev/null +++ b/doc/ref/core.internal/html/search/enumvalues_a.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['none',['NONE',['../stream__encoder_8c.html#a3ca2c0bc7578bf3d337e34b2c08a6c5fac157bdf0b85a40d2619cbc8bc1ae5fe2',1,'stream_encoder.c']]], + ['not_5fbinary',['NOT_BINARY',['../hpack__parser_8c.html#ad3a7b3c7f62a05667162fb28247a07c2a36e0cd08af8b9cec8a5ae17c6a5c5124',1,'hpack_parser.c']]], + ['not_5fstarted',['NOT_STARTED',['../server_8c.html#a6ca2e6dbf0562417ab7c66e8907a56b1ae7d82dfe80ea0bd4feea8ee49ea2eab5',1,'server.c']]] +]; diff --git a/doc/ref/core.internal/html/search/enumvalues_b.html b/doc/ref/core.internal/html/search/enumvalues_b.html new file mode 100644 index 0000000000..f45e84c9bb --- /dev/null +++ b/doc/ref/core.internal/html/search/enumvalues_b.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core.internal/html/search/enumvalues_b.js b/doc/ref/core.internal/html/search/enumvalues_b.js new file mode 100644 index 0000000000..b7ab792a3b --- /dev/null +++ b/doc/ref/core.internal/html/search/enumvalues_b.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['pending',['PENDING',['../server_8c.html#a6ca2e6dbf0562417ab7c66e8907a56b1a1869818fd53ff519eb8e429301bdff73',1,'server.c']]], + ['plaintext_5fheader',['PLAINTEXT_HEADER',['../hpack__parser_8c.html#a71eda0fd38f30d8005251eb895de35eea6b3fea68a44cbdbcd96fbdcf35d98a4c',1,'hpack_parser.c']]] +]; diff --git a/doc/ref/core.internal/html/search/enumvalues_c.html b/doc/ref/core.internal/html/search/enumvalues_c.html new file mode 100644 index 0000000000..6ad81ca5dd --- /dev/null +++ b/doc/ref/core.internal/html/search/enumvalues_c.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core.internal/html/search/enumvalues_c.js b/doc/ref/core.internal/html/search/enumvalues_c.js new file mode 100644 index 0000000000..f15ec9781e --- /dev/null +++ b/doc/ref/core.internal/html/search/enumvalues_c.js @@ -0,0 +1,11 @@ +var searchData= +[ + ['read_5fstate_5fgot_5finitial_5fmetadata',['READ_STATE_GOT_INITIAL_METADATA',['../call_8c.html#a67c68be8fc9fb0341b9c1c0881f19d17a37370f960213dc0f115eb8495e038b2a',1,'call.c']]], + ['read_5fstate_5finitial',['READ_STATE_INITIAL',['../call_8c.html#a67c68be8fc9fb0341b9c1c0881f19d17ad2197f646af67a6d937754c3a1417439',1,'call.c']]], + ['read_5fstate_5fread_5fclosed',['READ_STATE_READ_CLOSED',['../call_8c.html#a67c68be8fc9fb0341b9c1c0881f19d17a9c7de87cb383873b75a6de98df2dc445',1,'call.c']]], + ['read_5fstate_5fstream_5fclosed',['READ_STATE_STREAM_CLOSED',['../call_8c.html#a67c68be8fc9fb0341b9c1c0881f19d17add056921b7a5dd24d85db716da87594a',1,'call.c']]], + ['registered_5fcall',['REGISTERED_CALL',['../server_8c.html#aca2d7591ebc428dc14cf07f72e88c38aa969f2119db66590473c2fa7f00e21c5a',1,'server.c']]], + ['req_5fdone',['REQ_DONE',['../call_8c.html#a54d1fff20be8e7414ba15f456824bb17a9156fc9ac04c64171f05a5692a1356a9',1,'call.c']]], + ['req_5finitial',['REQ_INITIAL',['../call_8c.html#a54d1fff20be8e7414ba15f456824bb17a6268d672744bde6005590a30c8189779',1,'call.c']]], + ['req_5fready',['REQ_READY',['../call_8c.html#a54d1fff20be8e7414ba15f456824bb17a99044b02beb639fe667b1a5fcae61a96',1,'call.c']]] +]; diff --git a/doc/ref/core.internal/html/search/enumvalues_d.html b/doc/ref/core.internal/html/search/enumvalues_d.html new file mode 100644 index 0000000000..526907ab4d --- /dev/null +++ b/doc/ref/core.internal/html/search/enumvalues_d.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core.internal/html/search/enumvalues_d.js b/doc/ref/core.internal/html/search/enumvalues_d.js new file mode 100644 index 0000000000..ad3f5757c6 --- /dev/null +++ b/doc/ref/core.internal/html/search/enumvalues_d.js @@ -0,0 +1,16 @@ +var searchData= +[ + ['send_5fbuffered_5finitial_5fmetadata',['SEND_BUFFERED_INITIAL_METADATA',['../call_8c.html#a5c099cbc41809afd83d900cef74c2819aa0eea39729a5b7c862262626fbe3d352',1,'call.c']]], + ['send_5fbuffered_5fmessage',['SEND_BUFFERED_MESSAGE',['../call_8c.html#a5c099cbc41809afd83d900cef74c2819ad0b19b54eb40a63af9f7d957ff717f6e',1,'call.c']]], + ['send_5ffinish',['SEND_FINISH',['../call_8c.html#a5c099cbc41809afd83d900cef74c2819addfb3ce4bfcd50ee7ec74608fb32f8ef',1,'call.c']]], + ['send_5finitial_5fmetadata',['SEND_INITIAL_METADATA',['../call_8c.html#a5c099cbc41809afd83d900cef74c2819a7045eff04495ab507242e5da11bcb4ff',1,'call.c']]], + ['send_5fmessage',['SEND_MESSAGE',['../call_8c.html#a5c099cbc41809afd83d900cef74c2819a5def54f3ec39f74661e1614669603d71',1,'call.c']]], + ['send_5fnothing',['SEND_NOTHING',['../call_8c.html#a5c099cbc41809afd83d900cef74c2819ad40596b21bcebc4654bb8da5c7469b01',1,'call.c']]], + ['send_5ftrailing_5fmetadata_5fand_5ffinish',['SEND_TRAILING_METADATA_AND_FINISH',['../call_8c.html#a5c099cbc41809afd83d900cef74c2819a69a25d71b99a99c66c39696b038aa486',1,'call.c']]], + ['status_5ffrom_5fapi_5foverride',['STATUS_FROM_API_OVERRIDE',['../call_8c.html#a9291c3528e3f346e6ae8137ac9e76271afd2f639169b914143f3b412ed1a2ef00',1,'call.c']]], + ['status_5ffrom_5fcore',['STATUS_FROM_CORE',['../call_8c.html#a9291c3528e3f346e6ae8137ac9e76271a48a145dfa9c97761d84d36131d27a72e',1,'call.c']]], + ['status_5ffrom_5fserver_5fstatus',['STATUS_FROM_SERVER_STATUS',['../call_8c.html#a9291c3528e3f346e6ae8137ac9e76271aad4663967ed2d5b74e875954573b5c64',1,'call.c']]], + ['status_5ffrom_5fwire',['STATUS_FROM_WIRE',['../call_8c.html#a9291c3528e3f346e6ae8137ac9e76271a825b6688b57f66bdb07fef664aa8d569',1,'call.c']]], + ['status_5fsource_5fcount',['STATUS_SOURCE_COUNT',['../call_8c.html#a9291c3528e3f346e6ae8137ac9e76271a429d7ee18b26738df32b9a74586afc22',1,'call.c']]], + ['stream_5flist_5fcount',['STREAM_LIST_COUNT',['../internal_8h.html#abddcdf3ebb4034fd86a102d86aff5539adbd786741979d2b2106768372bfd90a5',1,'internal.h']]] +]; diff --git a/doc/ref/core.internal/html/search/enumvalues_e.html b/doc/ref/core.internal/html/search/enumvalues_e.html new file mode 100644 index 0000000000..36af8c0054 --- /dev/null +++ b/doc/ref/core.internal/html/search/enumvalues_e.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core.internal/html/search/enumvalues_e.js b/doc/ref/core.internal/html/search/enumvalues_e.js new file mode 100644 index 0000000000..55d869fd43 --- /dev/null +++ b/doc/ref/core.internal/html/search/enumvalues_e.js @@ -0,0 +1,21 @@ +var searchData= +[ + ['tsi_5fdata_5fcorrupted',['TSI_DATA_CORRUPTED',['../transport__security__interface_8h.html#a368f59529aaab1dab4d117adfabcb468ae2d9416092ab23b45df65eaff3796e54',1,'transport_security_interface.h']]], + ['tsi_5ffailed_5fprecondition',['TSI_FAILED_PRECONDITION',['../transport__security__interface_8h.html#a368f59529aaab1dab4d117adfabcb468ae89ee0a742b8fad8c7cc232cc972babe',1,'transport_security_interface.h']]], + ['tsi_5ffake_5fclient_5ffinished',['TSI_FAKE_CLIENT_FINISHED',['../fake__transport__security_8c.html#a0a27e83e048843db20bec3fbf4513d52a8449ebdb0b21fe666efe134d8eb5af74',1,'fake_transport_security.c']]], + ['tsi_5ffake_5fclient_5finit',['TSI_FAKE_CLIENT_INIT',['../fake__transport__security_8c.html#a0a27e83e048843db20bec3fbf4513d52a3eef9f8827f4892e807c2b0e1a9187f3',1,'fake_transport_security.c']]], + ['tsi_5ffake_5fhandshake_5fmessage_5fmax',['TSI_FAKE_HANDSHAKE_MESSAGE_MAX',['../fake__transport__security_8c.html#a0a27e83e048843db20bec3fbf4513d52adf08f2bf334a78ccee66b203a08b6e7b',1,'fake_transport_security.c']]], + ['tsi_5ffake_5fserver_5ffinished',['TSI_FAKE_SERVER_FINISHED',['../fake__transport__security_8c.html#a0a27e83e048843db20bec3fbf4513d52abf558a770548cdab6e4716e7f30ac641',1,'fake_transport_security.c']]], + ['tsi_5ffake_5fserver_5finit',['TSI_FAKE_SERVER_INIT',['../fake__transport__security_8c.html#a0a27e83e048843db20bec3fbf4513d52a062ff4e0c7cb1b8894dbd5d633f4e5bb',1,'fake_transport_security.c']]], + ['tsi_5fhandshake_5fin_5fprogress',['TSI_HANDSHAKE_IN_PROGRESS',['../transport__security__interface_8h.html#a368f59529aaab1dab4d117adfabcb468acc523cfb3ee181516c4965a82e4d104c',1,'transport_security_interface.h']]], + ['tsi_5fincomplete_5fdata',['TSI_INCOMPLETE_DATA',['../transport__security__interface_8h.html#a368f59529aaab1dab4d117adfabcb468a0f30d7f34423297d90c245b1ac78fa8e',1,'transport_security_interface.h']]], + ['tsi_5finternal_5ferror',['TSI_INTERNAL_ERROR',['../transport__security__interface_8h.html#a368f59529aaab1dab4d117adfabcb468a46312280869305daacb5dd763b411b34',1,'transport_security_interface.h']]], + ['tsi_5finvalid_5fargument',['TSI_INVALID_ARGUMENT',['../transport__security__interface_8h.html#a368f59529aaab1dab4d117adfabcb468a32ddfc784c501ef0be0c435257de7ada',1,'transport_security_interface.h']]], + ['tsi_5fnot_5ffound',['TSI_NOT_FOUND',['../transport__security__interface_8h.html#a368f59529aaab1dab4d117adfabcb468a87e7f77215086f32ba4b8596343e99a6',1,'transport_security_interface.h']]], + ['tsi_5fok',['TSI_OK',['../transport__security__interface_8h.html#a368f59529aaab1dab4d117adfabcb468a6e4252da534256e77c5c5c1f37fd9d2d',1,'transport_security_interface.h']]], + ['tsi_5fout_5fof_5fresources',['TSI_OUT_OF_RESOURCES',['../transport__security__interface_8h.html#a368f59529aaab1dab4d117adfabcb468a7050473db6de8934403ec8edfdc28519',1,'transport_security_interface.h']]], + ['tsi_5fpermission_5fdenied',['TSI_PERMISSION_DENIED',['../transport__security__interface_8h.html#a368f59529aaab1dab4d117adfabcb468aeec912b94ea7402b8693166fa9101906',1,'transport_security_interface.h']]], + ['tsi_5fprotocol_5ffailure',['TSI_PROTOCOL_FAILURE',['../transport__security__interface_8h.html#a368f59529aaab1dab4d117adfabcb468a7c116598d89a88d8f85978c172371b7a',1,'transport_security_interface.h']]], + ['tsi_5funimplemented',['TSI_UNIMPLEMENTED',['../transport__security__interface_8h.html#a368f59529aaab1dab4d117adfabcb468a1dcbe7854fb1e3eb73024a6dd249989e',1,'transport_security_interface.h']]], + ['tsi_5funknown_5ferror',['TSI_UNKNOWN_ERROR',['../transport__security__interface_8h.html#a368f59529aaab1dab4d117adfabcb468a3f6f3bd9eaa4064ab2299479c95d6cfe',1,'transport_security_interface.h']]] +]; diff --git a/doc/ref/core.internal/html/search/enumvalues_f.html b/doc/ref/core.internal/html/search/enumvalues_f.html new file mode 100644 index 0000000000..f8ca1881dc --- /dev/null +++ b/doc/ref/core.internal/html/search/enumvalues_f.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core.internal/html/search/enumvalues_f.js b/doc/ref/core.internal/html/search/enumvalues_f.js new file mode 100644 index 0000000000..f3815806b9 --- /dev/null +++ b/doc/ref/core.internal/html/search/enumvalues_f.js @@ -0,0 +1,7 @@ +var searchData= +[ + ['waiting',['WAITING',['../channel__connectivity_8c.html#a71937a2ee2a4befe88e84d4966f8845ca757971c0bc5a1972d5f1b1be2c0e2087',1,'channel_connectivity.c']]], + ['write_5fstate_5finitial',['WRITE_STATE_INITIAL',['../call_8c.html#a5ed0172019dfa72bf69d881d3f06688da18e6209a49059c72ae1a0671fbe729f3',1,'call.c']]], + ['write_5fstate_5fstarted',['WRITE_STATE_STARTED',['../call_8c.html#a5ed0172019dfa72bf69d881d3f06688da26c7fbe66a37088b9bc8f34edd4e2634',1,'call.c']]], + ['write_5fstate_5fwrite_5fclosed',['WRITE_STATE_WRITE_CLOSED',['../call_8c.html#a5ed0172019dfa72bf69d881d3f06688daa6f0a8cbb946569f2f609e500abbbff4',1,'call.c']]] +]; diff --git a/doc/ref/core.internal/html/search/files_0.html b/doc/ref/core.internal/html/search/files_0.html new file mode 100644 index 0000000000..c7aa36c96f --- /dev/null +++ b/doc/ref/core.internal/html/search/files_0.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core.internal/html/search/files_0.js b/doc/ref/core.internal/html/search/files_0.js new file mode 100644 index 0000000000..89ccd98240 --- /dev/null +++ b/doc/ref/core.internal/html/search/files_0.js @@ -0,0 +1,20 @@ +var searchData= +[ + ['add_5fchannel_5farg_2ec',['add_channel_arg.c',['../add__channel__arg_8c.html',1,'']]], + ['add_5fchannel_5farg_2eh',['add_channel_arg.h',['../add__channel__arg_8h.html',1,'']]], + ['alarm_2ec',['alarm.c',['../alarm_8c.html',1,'']]], + ['alarm_2eh',['alarm.h',['../alarm_8h.html',1,'']]], + ['alarm_5fheap_2ec',['alarm_heap.c',['../alarm__heap_8c.html',1,'']]], + ['alarm_5fheap_2eh',['alarm_heap.h',['../alarm__heap_8h.html',1,'']]], + ['alarm_5finternal_2eh',['alarm_internal.h',['../alarm__internal_8h.html',1,'']]], + ['algorithm_2ec',['algorithm.c',['../algorithm_8c.html',1,'']]], + ['alloc_2ec',['alloc.c',['../alloc_8c.html',1,'']]], + ['alloc_2eh',['alloc.h',['../alloc_8h.html',1,'']]], + ['alpn_2ec',['alpn.c',['../alpn_8c.html',1,'']]], + ['alpn_2eh',['alpn.h',['../alpn_8h.html',1,'']]], + ['atm_2eh',['atm.h',['../atm_8h.html',1,'']]], + ['atm_5fgcc_5fatomic_2eh',['atm_gcc_atomic.h',['../atm__gcc__atomic_8h.html',1,'']]], + ['atm_5fgcc_5fsync_2eh',['atm_gcc_sync.h',['../atm__gcc__sync_8h.html',1,'']]], + ['atm_5fwin32_2eh',['atm_win32.h',['../atm__win32_8h.html',1,'']]], + ['auth_5ffilters_2eh',['auth_filters.h',['../auth__filters_8h.html',1,'']]] +]; diff --git a/doc/ref/core.internal/html/search/files_1.html b/doc/ref/core.internal/html/search/files_1.html new file mode 100644 index 0000000000..eca1c80542 --- /dev/null +++ b/doc/ref/core.internal/html/search/files_1.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core.internal/html/search/files_1.js b/doc/ref/core.internal/html/search/files_1.js new file mode 100644 index 0000000000..4765dca470 --- /dev/null +++ b/doc/ref/core.internal/html/search/files_1.js @@ -0,0 +1,14 @@ +var searchData= +[ + ['base64_2ec',['base64.c',['../base64_8c.html',1,'']]], + ['base64_2eh',['base64.h',['../base64_8h.html',1,'']]], + ['basic_5ftimers_2ec',['basic_timers.c',['../basic__timers_8c.html',1,'']]], + ['bin_5fencoder_2ec',['bin_encoder.c',['../bin__encoder_8c.html',1,'']]], + ['bin_5fencoder_2eh',['bin_encoder.h',['../bin__encoder_8h.html',1,'']]], + ['byte_5fbuffer_2ec',['byte_buffer.c',['../byte__buffer_8c.html',1,'']]], + ['byte_5fbuffer_2eh',['byte_buffer.h',['../byte__buffer_8h.html',1,'']]], + ['byte_5fbuffer_5fqueue_2ec',['byte_buffer_queue.c',['../byte__buffer__queue_8c.html',1,'']]], + ['byte_5fbuffer_5fqueue_2eh',['byte_buffer_queue.h',['../byte__buffer__queue_8h.html',1,'']]], + ['byte_5fbuffer_5freader_2ec',['byte_buffer_reader.c',['../byte__buffer__reader_8c.html',1,'']]], + ['byte_5fbuffer_5freader_2eh',['byte_buffer_reader.h',['../byte__buffer__reader_8h.html',1,'']]] +]; diff --git a/doc/ref/core.internal/html/search/files_10.html b/doc/ref/core.internal/html/search/files_10.html new file mode 100644 index 0000000000..4ac316cd82 --- /dev/null +++ b/doc/ref/core.internal/html/search/files_10.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core.internal/html/search/files_10.js b/doc/ref/core.internal/html/search/files_10.js new file mode 100644 index 0000000000..c32d53aa7c --- /dev/null +++ b/doc/ref/core.internal/html/search/files_10.js @@ -0,0 +1,42 @@ +var searchData= +[ + ['tcp_5fclient_2eh',['tcp_client.h',['../tcp__client_8h.html',1,'']]], + ['tcp_5fclient_5fposix_2ec',['tcp_client_posix.c',['../tcp__client__posix_8c.html',1,'']]], + ['tcp_5fclient_5fwindows_2ec',['tcp_client_windows.c',['../tcp__client__windows_8c.html',1,'']]], + ['tcp_5fposix_2ec',['tcp_posix.c',['../tcp__posix_8c.html',1,'']]], + ['tcp_5fposix_2eh',['tcp_posix.h',['../tcp__posix_8h.html',1,'']]], + ['tcp_5fserver_2eh',['tcp_server.h',['../tcp__server_8h.html',1,'']]], + ['tcp_5fserver_5fposix_2ec',['tcp_server_posix.c',['../tcp__server__posix_8c.html',1,'']]], + ['tcp_5fserver_5fwindows_2ec',['tcp_server_windows.c',['../tcp__server__windows_8c.html',1,'']]], + ['tcp_5fwindows_2ec',['tcp_windows.c',['../tcp__windows_8c.html',1,'']]], + ['tcp_5fwindows_2eh',['tcp_windows.h',['../tcp__windows_8h.html',1,'']]], + ['thd_2ec',['thd.c',['../thd_8c.html',1,'']]], + ['thd_2eh',['thd.h',['../thd_8h.html',1,'']]], + ['thd_5finternal_2eh',['thd_internal.h',['../thd__internal_8h.html',1,'']]], + ['thd_5fposix_2ec',['thd_posix.c',['../thd__posix_8c.html',1,'']]], + ['thd_5fwin32_2ec',['thd_win32.c',['../thd__win32_8c.html',1,'']]], + ['time_2ec',['time.c',['../time_8c.html',1,'']]], + ['time_2eh',['time.h',['../time_8h.html',1,'']]], + ['time_5faveraged_5fstats_2ec',['time_averaged_stats.c',['../time__averaged__stats_8c.html',1,'']]], + ['time_5faveraged_5fstats_2eh',['time_averaged_stats.h',['../time__averaged__stats_8h.html',1,'']]], + ['time_5fposix_2ec',['time_posix.c',['../time__posix_8c.html',1,'']]], + ['time_5fwin32_2ec',['time_win32.c',['../time__win32_8c.html',1,'']]], + ['timeout_5fencoding_2ec',['timeout_encoding.c',['../timeout__encoding_8c.html',1,'']]], + ['timeout_5fencoding_2eh',['timeout_encoding.h',['../timeout__encoding_8h.html',1,'']]], + ['timers_2eh',['timers.h',['../timers_8h.html',1,'']]], + ['timers_5fpreciseclock_2eh',['timers_preciseclock.h',['../timers__preciseclock_8h.html',1,'']]], + ['tls_2eh',['tls.h',['../tls_8h.html',1,'']]], + ['tls_5fgcc_2eh',['tls_gcc.h',['../tls__gcc_8h.html',1,'']]], + ['tls_5fmsvc_2eh',['tls_msvc.h',['../tls__msvc_8h.html',1,'']]], + ['tls_5fpthread_2ec',['tls_pthread.c',['../tls__pthread_8c.html',1,'']]], + ['tls_5fpthread_2eh',['tls_pthread.h',['../tls__pthread_8h.html',1,'']]], + ['trace_2ec',['trace.c',['../trace_8c.html',1,'']]], + ['trace_2eh',['trace.h',['../trace_8h.html',1,'']]], + ['transport_2ec',['transport.c',['../transport_8c.html',1,'']]], + ['transport_2eh',['transport.h',['../transport_8h.html',1,'']]], + ['transport_5fimpl_2eh',['transport_impl.h',['../transport__impl_8h.html',1,'']]], + ['transport_5fop_5fstring_2ec',['transport_op_string.c',['../transport__op__string_8c.html',1,'']]], + ['transport_5fsecurity_2ec',['transport_security.c',['../transport__security_8c.html',1,'']]], + ['transport_5fsecurity_2eh',['transport_security.h',['../transport__security_8h.html',1,'']]], + ['transport_5fsecurity_5finterface_2eh',['transport_security_interface.h',['../transport__security__interface_8h.html',1,'']]] +]; diff --git a/doc/ref/core.internal/html/search/files_11.html b/doc/ref/core.internal/html/search/files_11.html new file mode 100644 index 0000000000..afd2311585 --- /dev/null +++ b/doc/ref/core.internal/html/search/files_11.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core.internal/html/search/files_11.js b/doc/ref/core.internal/html/search/files_11.js new file mode 100644 index 0000000000..baf278952c --- /dev/null +++ b/doc/ref/core.internal/html/search/files_11.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['uri_5fparser_2ec',['uri_parser.c',['../uri__parser_8c.html',1,'']]], + ['uri_5fparser_2eh',['uri_parser.h',['../uri__parser_8h.html',1,'']]], + ['useful_2eh',['useful.h',['../useful_8h.html',1,'']]] +]; diff --git a/doc/ref/core.internal/html/search/files_12.html b/doc/ref/core.internal/html/search/files_12.html new file mode 100644 index 0000000000..247951b8db --- /dev/null +++ b/doc/ref/core.internal/html/search/files_12.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core.internal/html/search/files_12.js b/doc/ref/core.internal/html/search/files_12.js new file mode 100644 index 0000000000..100fe7eb2b --- /dev/null +++ b/doc/ref/core.internal/html/search/files_12.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['varint_2ec',['varint.c',['../varint_8c.html',1,'']]], + ['varint_2eh',['varint.h',['../varint_8h.html',1,'']]], + ['version_2ec',['version.c',['../version_8c.html',1,'']]] +]; diff --git a/doc/ref/core.internal/html/search/files_13.html b/doc/ref/core.internal/html/search/files_13.html new file mode 100644 index 0000000000..019294799b --- /dev/null +++ b/doc/ref/core.internal/html/search/files_13.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core.internal/html/search/files_13.js b/doc/ref/core.internal/html/search/files_13.js new file mode 100644 index 0000000000..0bf6f46a61 --- /dev/null +++ b/doc/ref/core.internal/html/search/files_13.js @@ -0,0 +1,10 @@ +var searchData= +[ + ['wakeup_5ffd_5feventfd_2ec',['wakeup_fd_eventfd.c',['../wakeup__fd__eventfd_8c.html',1,'']]], + ['wakeup_5ffd_5fnospecial_2ec',['wakeup_fd_nospecial.c',['../wakeup__fd__nospecial_8c.html',1,'']]], + ['wakeup_5ffd_5fpipe_2ec',['wakeup_fd_pipe.c',['../wakeup__fd__pipe_8c.html',1,'']]], + ['wakeup_5ffd_5fpipe_2eh',['wakeup_fd_pipe.h',['../wakeup__fd__pipe_8h.html',1,'']]], + ['wakeup_5ffd_5fposix_2ec',['wakeup_fd_posix.c',['../wakeup__fd__posix_8c.html',1,'']]], + ['wakeup_5ffd_5fposix_2eh',['wakeup_fd_posix.h',['../wakeup__fd__posix_8h.html',1,'']]], + ['writing_2ec',['writing.c',['../writing_8c.html',1,'']]] +]; diff --git a/doc/ref/core.internal/html/search/files_2.html b/doc/ref/core.internal/html/search/files_2.html new file mode 100644 index 0000000000..04a8a46342 --- /dev/null +++ b/doc/ref/core.internal/html/search/files_2.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core.internal/html/search/files_2.js b/doc/ref/core.internal/html/search/files_2.js new file mode 100644 index 0000000000..109c857b69 --- /dev/null +++ b/doc/ref/core.internal/html/search/files_2.js @@ -0,0 +1,52 @@ +var searchData= +[ + ['call_2ec',['call.c',['../call_8c.html',1,'']]], + ['call_2eh',['call.h',['../call_8h.html',1,'']]], + ['call_5fdetails_2ec',['call_details.c',['../call__details_8c.html',1,'']]], + ['call_5flog_5fbatch_2ec',['call_log_batch.c',['../call__log__batch_8c.html',1,'']]], + ['cancellable_2ec',['cancellable.c',['../cancellable_8c.html',1,'']]], + ['cancellable_5fplatform_2eh',['cancellable_platform.h',['../cancellable__platform_8h.html',1,'']]], + ['census_2eh',['census.h',['../census_8h.html',1,'']]], + ['census_5ffilter_2eh',['census_filter.h',['../census__filter_8h.html',1,'']]], + ['channel_2ec',['channel.c',['../channel_8c.html',1,'']]], + ['channel_2eh',['channel.h',['../channel_8h.html',1,'']]], + ['channel_5fargs_2ec',['channel_args.c',['../channel__args_8c.html',1,'']]], + ['channel_5fargs_2eh',['channel_args.h',['../channel__args_8h.html',1,'']]], + ['channel_5fconnectivity_2ec',['channel_connectivity.c',['../channel__connectivity_8c.html',1,'']]], + ['channel_5fcreate_2ec',['channel_create.c',['../channel__create_8c.html',1,'']]], + ['channel_5fstack_2ec',['channel_stack.c',['../channel__stack_8c.html',1,'']]], + ['channel_5fstack_2eh',['channel_stack.h',['../channel__stack_8h.html',1,'']]], + ['chttp2_5ftransport_2ec',['chttp2_transport.c',['../chttp2__transport_8c.html',1,'']]], + ['chttp2_5ftransport_2eh',['chttp2_transport.h',['../chttp2__transport_8h.html',1,'']]], + ['client_5fauth_5ffilter_2ec',['client_auth_filter.c',['../client__auth__filter_8c.html',1,'']]], + ['client_5fchannel_2ec',['client_channel.c',['../client__channel_8c.html',1,'']]], + ['client_5fchannel_2eh',['client_channel.h',['../client__channel_8h.html',1,'']]], + ['client_5fconfig_2ec',['client_config.c',['../client__config_8c.html',1,'']]], + ['client_5fconfig_2eh',['client_config.h',['../client__config_8h.html',1,'']]], + ['cmdline_2ec',['cmdline.c',['../cmdline_8c.html',1,'']]], + ['cmdline_2eh',['cmdline.h',['../cmdline_8h.html',1,'']]], + ['completion_5fqueue_2ec',['completion_queue.c',['../completion__queue_8c.html',1,'']]], + ['completion_5fqueue_2eh',['completion_queue.h',['../completion__queue_8h.html',1,'']]], + ['compress_5ffilter_2ec',['compress_filter.c',['../compress__filter_8c.html',1,'']]], + ['compress_5ffilter_2eh',['compress_filter.h',['../compress__filter_8h.html',1,'']]], + ['compression_2eh',['compression.h',['../compression_8h.html',1,'']]], + ['connected_5fchannel_2ec',['connected_channel.c',['../connected__channel_8c.html',1,'']]], + ['connected_5fchannel_2eh',['connected_channel.h',['../connected__channel_8h.html',1,'']]], + ['connectivity_5fstate_2ec',['connectivity_state.c',['../connectivity__state_8c.html',1,'']]], + ['connectivity_5fstate_2eh',['connectivity_state.h',['../connectivity__state_8h.html',1,'']]], + ['connector_2ec',['connector.c',['../connector_8c.html',1,'']]], + ['connector_2eh',['connector.h',['../connector_8h.html',1,'']]], + ['context_2ec',['context.c',['../context_8c.html',1,'']]], + ['context_2eh',['context.h',['../census_2context_8h.html',1,'']]], + ['context_2eh',['context.h',['../channel_2context_8h.html',1,'']]], + ['cpu_2eh',['cpu.h',['../cpu_8h.html',1,'']]], + ['cpu_5fiphone_2ec',['cpu_iphone.c',['../cpu__iphone_8c.html',1,'']]], + ['cpu_5flinux_2ec',['cpu_linux.c',['../cpu__linux_8c.html',1,'']]], + ['cpu_5fposix_2ec',['cpu_posix.c',['../cpu__posix_8c.html',1,'']]], + ['cpu_5fwindows_2ec',['cpu_windows.c',['../cpu__windows_8c.html',1,'']]], + ['credentials_2ec',['credentials.c',['../credentials_8c.html',1,'']]], + ['credentials_2eh',['credentials.h',['../credentials_8h.html',1,'']]], + ['credentials_5fmetadata_2ec',['credentials_metadata.c',['../credentials__metadata_8c.html',1,'']]], + ['credentials_5fposix_2ec',['credentials_posix.c',['../credentials__posix_8c.html',1,'']]], + ['credentials_5fwin32_2ec',['credentials_win32.c',['../credentials__win32_8c.html',1,'']]] +]; diff --git a/doc/ref/core.internal/html/search/files_3.html b/doc/ref/core.internal/html/search/files_3.html new file mode 100644 index 0000000000..0dc9a561e5 --- /dev/null +++ b/doc/ref/core.internal/html/search/files_3.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core.internal/html/search/files_3.js b/doc/ref/core.internal/html/search/files_3.js new file mode 100644 index 0000000000..5f4cc67786 --- /dev/null +++ b/doc/ref/core.internal/html/search/files_3.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['dns_5fresolver_2ec',['dns_resolver.c',['../dns__resolver_8c.html',1,'']]], + ['dns_5fresolver_2eh',['dns_resolver.h',['../dns__resolver_8h.html',1,'']]] +]; diff --git a/doc/ref/core.internal/html/search/files_4.html b/doc/ref/core.internal/html/search/files_4.html new file mode 100644 index 0000000000..891b5da340 --- /dev/null +++ b/doc/ref/core.internal/html/search/files_4.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core.internal/html/search/files_4.js b/doc/ref/core.internal/html/search/files_4.js new file mode 100644 index 0000000000..3476a04b2f --- /dev/null +++ b/doc/ref/core.internal/html/search/files_4.js @@ -0,0 +1,14 @@ +var searchData= +[ + ['endpoint_2ec',['endpoint.c',['../endpoint_8c.html',1,'']]], + ['endpoint_2eh',['endpoint.h',['../endpoint_8h.html',1,'']]], + ['endpoint_5fpair_2eh',['endpoint_pair.h',['../endpoint__pair_8h.html',1,'']]], + ['endpoint_5fpair_5fposix_2ec',['endpoint_pair_posix.c',['../endpoint__pair__posix_8c.html',1,'']]], + ['endpoint_5fpair_5fwindows_2ec',['endpoint_pair_windows.c',['../endpoint__pair__windows_8c.html',1,'']]], + ['env_2eh',['env.h',['../env_8h.html',1,'']]], + ['env_5flinux_2ec',['env_linux.c',['../env__linux_8c.html',1,'']]], + ['env_5fposix_2ec',['env_posix.c',['../env__posix_8c.html',1,'']]], + ['env_5fwin32_2ec',['env_win32.c',['../env__win32_8c.html',1,'']]], + ['event_5fstring_2ec',['event_string.c',['../event__string_8c.html',1,'']]], + ['event_5fstring_2eh',['event_string.h',['../event__string_8h.html',1,'']]] +]; diff --git a/doc/ref/core.internal/html/search/files_5.html b/doc/ref/core.internal/html/search/files_5.html new file mode 100644 index 0000000000..1741195c0f --- /dev/null +++ b/doc/ref/core.internal/html/search/files_5.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core.internal/html/search/files_5.js b/doc/ref/core.internal/html/search/files_5.js new file mode 100644 index 0000000000..b3a7d9b3c8 --- /dev/null +++ b/doc/ref/core.internal/html/search/files_5.js @@ -0,0 +1,26 @@ +var searchData= +[ + ['fake_5ftransport_5fsecurity_2ec',['fake_transport_security.c',['../fake__transport__security_8c.html',1,'']]], + ['fake_5ftransport_5fsecurity_2eh',['fake_transport_security.h',['../fake__transport__security_8h.html',1,'']]], + ['fd_5fposix_2ec',['fd_posix.c',['../fd__posix_8c.html',1,'']]], + ['fd_5fposix_2eh',['fd_posix.h',['../fd__posix_8h.html',1,'']]], + ['file_2ec',['file.c',['../file_8c.html',1,'']]], + ['file_2eh',['file.h',['../file_8h.html',1,'']]], + ['file_5fposix_2ec',['file_posix.c',['../file__posix_8c.html',1,'']]], + ['file_5fwin32_2ec',['file_win32.c',['../file__win32_8c.html',1,'']]], + ['format_5frequest_2ec',['format_request.c',['../format__request_8c.html',1,'']]], + ['format_5frequest_2eh',['format_request.h',['../format__request_8h.html',1,'']]], + ['frame_2eh',['frame.h',['../frame_8h.html',1,'']]], + ['frame_5fdata_2ec',['frame_data.c',['../frame__data_8c.html',1,'']]], + ['frame_5fdata_2eh',['frame_data.h',['../frame__data_8h.html',1,'']]], + ['frame_5fgoaway_2ec',['frame_goaway.c',['../frame__goaway_8c.html',1,'']]], + ['frame_5fgoaway_2eh',['frame_goaway.h',['../frame__goaway_8h.html',1,'']]], + ['frame_5fping_2ec',['frame_ping.c',['../frame__ping_8c.html',1,'']]], + ['frame_5fping_2eh',['frame_ping.h',['../frame__ping_8h.html',1,'']]], + ['frame_5frst_5fstream_2ec',['frame_rst_stream.c',['../frame__rst__stream_8c.html',1,'']]], + ['frame_5frst_5fstream_2eh',['frame_rst_stream.h',['../frame__rst__stream_8h.html',1,'']]], + ['frame_5fsettings_2ec',['frame_settings.c',['../frame__settings_8c.html',1,'']]], + ['frame_5fsettings_2eh',['frame_settings.h',['../frame__settings_8h.html',1,'']]], + ['frame_5fwindow_5fupdate_2ec',['frame_window_update.c',['../frame__window__update_8c.html',1,'']]], + ['frame_5fwindow_5fupdate_2eh',['frame_window_update.h',['../frame__window__update_8h.html',1,'']]] +]; diff --git a/doc/ref/core.internal/html/search/files_6.html b/doc/ref/core.internal/html/search/files_6.html new file mode 100644 index 0000000000..262d3da249 --- /dev/null +++ b/doc/ref/core.internal/html/search/files_6.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core.internal/html/search/files_6.js b/doc/ref/core.internal/html/search/files_6.js new file mode 100644 index 0000000000..214460ac06 --- /dev/null +++ b/doc/ref/core.internal/html/search/files_6.js @@ -0,0 +1,7 @@ +var searchData= +[ + ['google_5fdefault_5fcredentials_2ec',['google_default_credentials.c',['../google__default__credentials_8c.html',1,'']]], + ['grpc_2eh',['grpc.h',['../grpc_8h.html',1,'']]], + ['grpc_5fcontext_2ec',['grpc_context.c',['../grpc__context_8c.html',1,'']]], + ['grpc_5fsecurity_2eh',['grpc_security.h',['../grpc__security_8h.html',1,'']]] +]; diff --git a/doc/ref/core.internal/html/search/files_7.html b/doc/ref/core.internal/html/search/files_7.html new file mode 100644 index 0000000000..c5355726df --- /dev/null +++ b/doc/ref/core.internal/html/search/files_7.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core.internal/html/search/files_7.js b/doc/ref/core.internal/html/search/files_7.js new file mode 100644 index 0000000000..e7279661da --- /dev/null +++ b/doc/ref/core.internal/html/search/files_7.js @@ -0,0 +1,22 @@ +var searchData= +[ + ['histogram_2ec',['histogram.c',['../histogram_8c.html',1,'']]], + ['histogram_2eh',['histogram.h',['../histogram_8h.html',1,'']]], + ['host_5fport_2ec',['host_port.c',['../host__port_8c.html',1,'']]], + ['host_5fport_2eh',['host_port.h',['../host__port_8h.html',1,'']]], + ['hpack_5fparser_2ec',['hpack_parser.c',['../hpack__parser_8c.html',1,'']]], + ['hpack_5fparser_2eh',['hpack_parser.h',['../hpack__parser_8h.html',1,'']]], + ['hpack_5ftable_2ec',['hpack_table.c',['../hpack__table_8c.html',1,'']]], + ['hpack_5ftable_2eh',['hpack_table.h',['../hpack__table_8h.html',1,'']]], + ['http2_5ferrors_2eh',['http2_errors.h',['../http2__errors_8h.html',1,'']]], + ['http_5fclient_5ffilter_2ec',['http_client_filter.c',['../http__client__filter_8c.html',1,'']]], + ['http_5fclient_5ffilter_2eh',['http_client_filter.h',['../http__client__filter_8h.html',1,'']]], + ['http_5fserver_5ffilter_2ec',['http_server_filter.c',['../http__server__filter_8c.html',1,'']]], + ['http_5fserver_5ffilter_2eh',['http_server_filter.h',['../http__server__filter_8h.html',1,'']]], + ['httpcli_2ec',['httpcli.c',['../httpcli_8c.html',1,'']]], + ['httpcli_2eh',['httpcli.h',['../httpcli_8h.html',1,'']]], + ['httpcli_5fsecurity_5fconnector_2ec',['httpcli_security_connector.c',['../httpcli__security__connector_8c.html',1,'']]], + ['httpcli_5fsecurity_5fconnector_2eh',['httpcli_security_connector.h',['../httpcli__security__connector_8h.html',1,'']]], + ['huffsyms_2ec',['huffsyms.c',['../huffsyms_8c.html',1,'']]], + ['huffsyms_2eh',['huffsyms.h',['../huffsyms_8h.html',1,'']]] +]; diff --git a/doc/ref/core.internal/html/search/files_8.html b/doc/ref/core.internal/html/search/files_8.html new file mode 100644 index 0000000000..21c328afad --- /dev/null +++ b/doc/ref/core.internal/html/search/files_8.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core.internal/html/search/files_8.js b/doc/ref/core.internal/html/search/files_8.js new file mode 100644 index 0000000000..caf72f7c4b --- /dev/null +++ b/doc/ref/core.internal/html/search/files_8.js @@ -0,0 +1,18 @@ +var searchData= +[ + ['incoming_5fmetadata_2ec',['incoming_metadata.c',['../incoming__metadata_8c.html',1,'']]], + ['incoming_5fmetadata_2eh',['incoming_metadata.h',['../incoming__metadata_8h.html',1,'']]], + ['init_2ec',['init.c',['../init_8c.html',1,'']]], + ['init_2eh',['init.h',['../init_8h.html',1,'']]], + ['init_5fsecure_2ec',['init_secure.c',['../init__secure_8c.html',1,'']]], + ['initialize_2ec',['initialize.c',['../initialize_8c.html',1,'']]], + ['internal_2eh',['internal.h',['../internal_8h.html',1,'']]], + ['iocp_5fwindows_2ec',['iocp_windows.c',['../iocp__windows_8c.html',1,'']]], + ['iocp_5fwindows_2eh',['iocp_windows.h',['../iocp__windows_8h.html',1,'']]], + ['iomgr_2ec',['iomgr.c',['../iomgr_8c.html',1,'']]], + ['iomgr_2eh',['iomgr.h',['../iomgr_8h.html',1,'']]], + ['iomgr_5finternal_2eh',['iomgr_internal.h',['../iomgr__internal_8h.html',1,'']]], + ['iomgr_5fposix_2ec',['iomgr_posix.c',['../iomgr__posix_8c.html',1,'']]], + ['iomgr_5fposix_2eh',['iomgr_posix.h',['../iomgr__posix_8h.html',1,'']]], + ['iomgr_5fwindows_2ec',['iomgr_windows.c',['../iomgr__windows_8c.html',1,'']]] +]; diff --git a/doc/ref/core.internal/html/search/files_9.html b/doc/ref/core.internal/html/search/files_9.html new file mode 100644 index 0000000000..00a520120c --- /dev/null +++ b/doc/ref/core.internal/html/search/files_9.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core.internal/html/search/files_9.js b/doc/ref/core.internal/html/search/files_9.js new file mode 100644 index 0000000000..612634644e --- /dev/null +++ b/doc/ref/core.internal/html/search/files_9.js @@ -0,0 +1,15 @@ +var searchData= +[ + ['json_2ec',['json.c',['../json_8c.html',1,'']]], + ['json_2eh',['json.h',['../json_8h.html',1,'']]], + ['json_5fcommon_2eh',['json_common.h',['../json__common_8h.html',1,'']]], + ['json_5freader_2ec',['json_reader.c',['../json__reader_8c.html',1,'']]], + ['json_5freader_2eh',['json_reader.h',['../json__reader_8h.html',1,'']]], + ['json_5fstring_2ec',['json_string.c',['../json__string_8c.html',1,'']]], + ['json_5ftoken_2ec',['json_token.c',['../json__token_8c.html',1,'']]], + ['json_5ftoken_2eh',['json_token.h',['../json__token_8h.html',1,'']]], + ['json_5fwriter_2ec',['json_writer.c',['../json__writer_8c.html',1,'']]], + ['json_5fwriter_2eh',['json_writer.h',['../json__writer_8h.html',1,'']]], + ['jwt_5fverifier_2ec',['jwt_verifier.c',['../jwt__verifier_8c.html',1,'']]], + ['jwt_5fverifier_2eh',['jwt_verifier.h',['../jwt__verifier_8h.html',1,'']]] +]; diff --git a/doc/ref/core.internal/html/search/files_a.html b/doc/ref/core.internal/html/search/files_a.html new file mode 100644 index 0000000000..ab047558cc --- /dev/null +++ b/doc/ref/core.internal/html/search/files_a.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core.internal/html/search/files_a.js b/doc/ref/core.internal/html/search/files_a.js new file mode 100644 index 0000000000..971fe2e3aa --- /dev/null +++ b/doc/ref/core.internal/html/search/files_a.js @@ -0,0 +1,13 @@ +var searchData= +[ + ['lame_5fclient_2ec',['lame_client.c',['../lame__client_8c.html',1,'']]], + ['lb_5fpolicy_2ec',['lb_policy.c',['../lb__policy_8c.html',1,'']]], + ['lb_5fpolicy_2eh',['lb_policy.h',['../lb__policy_8h.html',1,'']]], + ['log_2ec',['log.c',['../log_8c.html',1,'']]], + ['log_2eh',['log.h',['../log_8h.html',1,'']]], + ['log_5fandroid_2ec',['log_android.c',['../log__android_8c.html',1,'']]], + ['log_5flinux_2ec',['log_linux.c',['../log__linux_8c.html',1,'']]], + ['log_5fposix_2ec',['log_posix.c',['../log__posix_8c.html',1,'']]], + ['log_5fwin32_2ec',['log_win32.c',['../log__win32_8c.html',1,'']]], + ['log_5fwin32_2eh',['log_win32.h',['../log__win32_8h.html',1,'']]] +]; diff --git a/doc/ref/core.internal/html/search/files_b.html b/doc/ref/core.internal/html/search/files_b.html new file mode 100644 index 0000000000..11010e1bf7 --- /dev/null +++ b/doc/ref/core.internal/html/search/files_b.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core.internal/html/search/files_b.js b/doc/ref/core.internal/html/search/files_b.js new file mode 100644 index 0000000000..f3cf2390a0 --- /dev/null +++ b/doc/ref/core.internal/html/search/files_b.js @@ -0,0 +1,12 @@ +var searchData= +[ + ['merge_5fchannel_5fargs_2ec',['merge_channel_args.c',['../merge__channel__args_8c.html',1,'']]], + ['merge_5fchannel_5fargs_2eh',['merge_channel_args.h',['../merge__channel__args_8h.html',1,'']]], + ['message_5fcompress_2ec',['message_compress.c',['../message__compress_8c.html',1,'']]], + ['message_5fcompress_2eh',['message_compress.h',['../message__compress_8h.html',1,'']]], + ['metadata_2ec',['metadata.c',['../metadata_8c.html',1,'']]], + ['metadata_2eh',['metadata.h',['../metadata_8h.html',1,'']]], + ['metadata_5farray_2ec',['metadata_array.c',['../metadata__array_8c.html',1,'']]], + ['murmur_5fhash_2ec',['murmur_hash.c',['../murmur__hash_8c.html',1,'']]], + ['murmur_5fhash_2eh',['murmur_hash.h',['../murmur__hash_8h.html',1,'']]] +]; diff --git a/doc/ref/core.internal/html/search/files_c.html b/doc/ref/core.internal/html/search/files_c.html new file mode 100644 index 0000000000..6fbd1357c0 --- /dev/null +++ b/doc/ref/core.internal/html/search/files_c.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core.internal/html/search/files_c.js b/doc/ref/core.internal/html/search/files_c.js new file mode 100644 index 0000000000..2794123d3f --- /dev/null +++ b/doc/ref/core.internal/html/search/files_c.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['noop_5ffilter_2ec',['noop_filter.c',['../noop__filter_8c.html',1,'']]], + ['noop_5ffilter_2eh',['noop_filter.h',['../noop__filter_8h.html',1,'']]] +]; diff --git a/doc/ref/core.internal/html/search/files_d.html b/doc/ref/core.internal/html/search/files_d.html new file mode 100644 index 0000000000..1201a33c10 --- /dev/null +++ b/doc/ref/core.internal/html/search/files_d.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core.internal/html/search/files_d.js b/doc/ref/core.internal/html/search/files_d.js new file mode 100644 index 0000000000..4b0180c643 --- /dev/null +++ b/doc/ref/core.internal/html/search/files_d.js @@ -0,0 +1,23 @@ +var searchData= +[ + ['parser_2ec',['parser.c',['../parser_8c.html',1,'']]], + ['parser_2eh',['parser.h',['../parser_8h.html',1,'']]], + ['parsing_2ec',['parsing.c',['../parsing_8c.html',1,'']]], + ['pick_5ffirst_2ec',['pick_first.c',['../pick__first_8c.html',1,'']]], + ['pick_5ffirst_2eh',['pick_first.h',['../pick__first_8h.html',1,'']]], + ['pollset_2eh',['pollset.h',['../pollset_8h.html',1,'']]], + ['pollset_5fkick_5fposix_2ec',['pollset_kick_posix.c',['../pollset__kick__posix_8c.html',1,'']]], + ['pollset_5fkick_5fposix_2eh',['pollset_kick_posix.h',['../pollset__kick__posix_8h.html',1,'']]], + ['pollset_5fmultipoller_5fwith_5fepoll_2ec',['pollset_multipoller_with_epoll.c',['../pollset__multipoller__with__epoll_8c.html',1,'']]], + ['pollset_5fmultipoller_5fwith_5fpoll_5fposix_2ec',['pollset_multipoller_with_poll_posix.c',['../pollset__multipoller__with__poll__posix_8c.html',1,'']]], + ['pollset_5fposix_2ec',['pollset_posix.c',['../pollset__posix_8c.html',1,'']]], + ['pollset_5fposix_2eh',['pollset_posix.h',['../pollset__posix_8h.html',1,'']]], + ['pollset_5fset_2eh',['pollset_set.h',['../pollset__set_8h.html',1,'']]], + ['pollset_5fset_5fposix_2ec',['pollset_set_posix.c',['../pollset__set__posix_8c.html',1,'']]], + ['pollset_5fset_5fposix_2eh',['pollset_set_posix.h',['../pollset__set__posix_8h.html',1,'']]], + ['pollset_5fset_5fwindows_2ec',['pollset_set_windows.c',['../pollset__set__windows_8c.html',1,'']]], + ['pollset_5fset_5fwindows_2eh',['pollset_set_windows.h',['../pollset__set__windows_8h.html',1,'']]], + ['pollset_5fwindows_2ec',['pollset_windows.c',['../pollset__windows_8c.html',1,'']]], + ['pollset_5fwindows_2eh',['pollset_windows.h',['../pollset__windows_8h.html',1,'']]], + ['port_5fplatform_2eh',['port_platform.h',['../port__platform_8h.html',1,'']]] +]; diff --git a/doc/ref/core.internal/html/search/files_e.html b/doc/ref/core.internal/html/search/files_e.html new file mode 100644 index 0000000000..2d919977de --- /dev/null +++ b/doc/ref/core.internal/html/search/files_e.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core.internal/html/search/files_e.js b/doc/ref/core.internal/html/search/files_e.js new file mode 100644 index 0000000000..a506275162 --- /dev/null +++ b/doc/ref/core.internal/html/search/files_e.js @@ -0,0 +1,14 @@ +var searchData= +[ + ['record_5fstat_2ec',['record_stat.c',['../record__stat_8c.html',1,'']]], + ['resolve_5faddress_2eh',['resolve_address.h',['../resolve__address_8h.html',1,'']]], + ['resolve_5faddress_5fposix_2ec',['resolve_address_posix.c',['../resolve__address__posix_8c.html',1,'']]], + ['resolve_5faddress_5fwindows_2ec',['resolve_address_windows.c',['../resolve__address__windows_8c.html',1,'']]], + ['resolver_2ec',['resolver.c',['../resolver_8c.html',1,'']]], + ['resolver_2eh',['resolver.h',['../resolver_8h.html',1,'']]], + ['resolver_5ffactory_2ec',['resolver_factory.c',['../resolver__factory_8c.html',1,'']]], + ['resolver_5ffactory_2eh',['resolver_factory.h',['../resolver__factory_8h.html',1,'']]], + ['resolver_5fregistry_2ec',['resolver_registry.c',['../resolver__registry_8c.html',1,'']]], + ['resolver_5fregistry_2eh',['resolver_registry.h',['../resolver__registry_8h.html',1,'']]], + ['rpc_5fstat_5fid_2eh',['rpc_stat_id.h',['../rpc__stat__id_8h.html',1,'']]] +]; diff --git a/doc/ref/core.internal/html/search/files_f.html b/doc/ref/core.internal/html/search/files_f.html new file mode 100644 index 0000000000..95985b3d18 --- /dev/null +++ b/doc/ref/core.internal/html/search/files_f.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core.internal/html/search/files_f.js b/doc/ref/core.internal/html/search/files_f.js new file mode 100644 index 0000000000..a5daf8221b --- /dev/null +++ b/doc/ref/core.internal/html/search/files_f.js @@ -0,0 +1,71 @@ +var searchData= +[ + ['secure_5fchannel_5fcreate_2ec',['secure_channel_create.c',['../secure__channel__create_8c.html',1,'']]], + ['secure_5fendpoint_2ec',['secure_endpoint.c',['../secure__endpoint_8c.html',1,'']]], + ['secure_5fendpoint_2eh',['secure_endpoint.h',['../secure__endpoint_8h.html',1,'']]], + ['secure_5ftransport_5fsetup_2ec',['secure_transport_setup.c',['../secure__transport__setup_8c.html',1,'']]], + ['secure_5ftransport_5fsetup_2eh',['secure_transport_setup.h',['../secure__transport__setup_8h.html',1,'']]], + ['security_5fconnector_2ec',['security_connector.c',['../security__connector_8c.html',1,'']]], + ['security_5fconnector_2eh',['security_connector.h',['../security__connector_8h.html',1,'']]], + ['security_5fcontext_2ec',['security_context.c',['../security__context_8c.html',1,'']]], + ['security_5fcontext_2eh',['security_context.h',['../security__context_8h.html',1,'']]], + ['server_2ec',['server.c',['../server_8c.html',1,'']]], + ['server_2eh',['server.h',['../server_8h.html',1,'']]], + ['server_5fauth_5ffilter_2ec',['server_auth_filter.c',['../server__auth__filter_8c.html',1,'']]], + ['server_5fchttp2_2ec',['server_chttp2.c',['../server__chttp2_8c.html',1,'']]], + ['server_5fcreate_2ec',['server_create.c',['../server__create_8c.html',1,'']]], + ['server_5fsecure_5fchttp2_2ec',['server_secure_chttp2.c',['../server__secure__chttp2_8c.html',1,'']]], + ['slice_2ec',['slice.c',['../slice_8c.html',1,'']]], + ['slice_2eh',['slice.h',['../slice_8h.html',1,'']]], + ['slice_5fbuffer_2ec',['slice_buffer.c',['../slice__buffer_8c.html',1,'']]], + ['slice_5fbuffer_2eh',['slice_buffer.h',['../slice__buffer_8h.html',1,'']]], + ['sockaddr_2eh',['sockaddr.h',['../sockaddr_8h.html',1,'']]], + ['sockaddr_5fposix_2eh',['sockaddr_posix.h',['../sockaddr__posix_8h.html',1,'']]], + ['sockaddr_5fresolver_2ec',['sockaddr_resolver.c',['../sockaddr__resolver_8c.html',1,'']]], + ['sockaddr_5fresolver_2eh',['sockaddr_resolver.h',['../sockaddr__resolver_8h.html',1,'']]], + ['sockaddr_5futils_2ec',['sockaddr_utils.c',['../sockaddr__utils_8c.html',1,'']]], + ['sockaddr_5futils_2eh',['sockaddr_utils.h',['../sockaddr__utils_8h.html',1,'']]], + ['sockaddr_5fwin32_2eh',['sockaddr_win32.h',['../sockaddr__win32_8h.html',1,'']]], + ['socket_5futils_5fcommon_5fposix_2ec',['socket_utils_common_posix.c',['../socket__utils__common__posix_8c.html',1,'']]], + ['socket_5futils_5flinux_2ec',['socket_utils_linux.c',['../socket__utils__linux_8c.html',1,'']]], + ['socket_5futils_5fposix_2ec',['socket_utils_posix.c',['../socket__utils__posix_8c.html',1,'']]], + ['socket_5futils_5fposix_2eh',['socket_utils_posix.h',['../socket__utils__posix_8h.html',1,'']]], + ['socket_5fwindows_2ec',['socket_windows.c',['../socket__windows_8c.html',1,'']]], + ['socket_5fwindows_2eh',['socket_windows.h',['../socket__windows_8h.html',1,'']]], + ['ssl_5ftransport_5fsecurity_2ec',['ssl_transport_security.c',['../ssl__transport__security_8c.html',1,'']]], + ['ssl_5ftransport_5fsecurity_2eh',['ssl_transport_security.h',['../ssl__transport__security_8h.html',1,'']]], + ['stack_5flockfree_2ec',['stack_lockfree.c',['../stack__lockfree_8c.html',1,'']]], + ['stack_5flockfree_2eh',['stack_lockfree.h',['../stack__lockfree_8h.html',1,'']]], + ['stap_5ftimers_2ec',['stap_timers.c',['../stap__timers_8c.html',1,'']]], + ['status_2eh',['status.h',['../status_8h.html',1,'']]], + ['status_5fconversion_2ec',['status_conversion.c',['../status__conversion_8c.html',1,'']]], + ['status_5fconversion_2eh',['status_conversion.h',['../status__conversion_8h.html',1,'']]], + ['stream_5fencoder_2ec',['stream_encoder.c',['../stream__encoder_8c.html',1,'']]], + ['stream_5fencoder_2eh',['stream_encoder.h',['../stream__encoder_8h.html',1,'']]], + ['stream_5flists_2ec',['stream_lists.c',['../stream__lists_8c.html',1,'']]], + ['stream_5fmap_2ec',['stream_map.c',['../stream__map_8c.html',1,'']]], + ['stream_5fmap_2eh',['stream_map.h',['../stream__map_8h.html',1,'']]], + ['stream_5fop_2ec',['stream_op.c',['../stream__op_8c.html',1,'']]], + ['stream_5fop_2eh',['stream_op.h',['../stream__op_8h.html',1,'']]], + ['string_2ec',['string.c',['../string_8c.html',1,'']]], + ['string_2eh',['string.h',['../string_8h.html',1,'']]], + ['string_5fposix_2ec',['string_posix.c',['../string__posix_8c.html',1,'']]], + ['string_5futil_2eh',['string_util.h',['../string__util_8h.html',1,'']]], + ['string_5fwin32_2ec',['string_win32.c',['../string__win32_8c.html',1,'']]], + ['string_5fwin32_2eh',['string_win32.h',['../string__win32_8h.html',1,'']]], + ['subchannel_2ec',['subchannel.c',['../subchannel_8c.html',1,'']]], + ['subchannel_2eh',['subchannel.h',['../subchannel_8h.html',1,'']]], + ['subchannel_5ffactory_2ec',['subchannel_factory.c',['../subchannel__factory_8c.html',1,'']]], + ['subchannel_5ffactory_2eh',['subchannel_factory.h',['../subchannel__factory_8h.html',1,'']]], + ['subprocess_2eh',['subprocess.h',['../subprocess_8h.html',1,'']]], + ['subprocess_5fposix_2ec',['subprocess_posix.c',['../subprocess__posix_8c.html',1,'']]], + ['surface_5ftrace_2ec',['surface_trace.c',['../surface__trace_8c.html',1,'']]], + ['surface_5ftrace_2eh',['surface_trace.h',['../surface__trace_8h.html',1,'']]], + ['sync_2ec',['sync.c',['../sync_8c.html',1,'']]], + ['sync_2eh',['sync.h',['../sync_8h.html',1,'']]], + ['sync_5fgeneric_2eh',['sync_generic.h',['../sync__generic_8h.html',1,'']]], + ['sync_5fposix_2ec',['sync_posix.c',['../sync__posix_8c.html',1,'']]], + ['sync_5fposix_2eh',['sync_posix.h',['../sync__posix_8h.html',1,'']]], + ['sync_5fwin32_2ec',['sync_win32.c',['../sync__win32_8c.html',1,'']]], + ['sync_5fwin32_2eh',['sync_win32.h',['../sync__win32_8h.html',1,'']]] +]; diff --git a/doc/ref/core.internal/html/search/functions_0.html b/doc/ref/core.internal/html/search/functions_0.html new file mode 100644 index 0000000000..16a5a527a8 --- /dev/null +++ b/doc/ref/core.internal/html/search/functions_0.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core.internal/html/search/functions_0.js b/doc/ref/core.internal/html/search/functions_0.js new file mode 100644 index 0000000000..6b9715441c --- /dev/null +++ b/doc/ref/core.internal/html/search/functions_0.js @@ -0,0 +1,13 @@ +var searchData= +[ + ['census_5fcontext_5fdeserialize',['census_context_deserialize',['../census_8h.html#ad9daab242b41571299ac5b3bca71fc0d',1,'census_context_deserialize(const char *buffer, census_context **context): context.c'],['../context_8c.html#ad9daab242b41571299ac5b3bca71fc0d',1,'census_context_deserialize(const char *buffer, census_context **context): context.c']]], + ['census_5fcontext_5fdestroy',['census_context_destroy',['../census_8h.html#a5bfcd1edc546eeacf111c3316ae7785d',1,'census_context_destroy(census_context *context): context.c'],['../context_8c.html#a5bfcd1edc546eeacf111c3316ae7785d',1,'census_context_destroy(census_context *context): context.c']]], + ['census_5fcontext_5fserialize',['census_context_serialize',['../census_8h.html#ad9a7d3170ecf720e1b22a4f255605748',1,'census_context_serialize(const census_context *context, char *buffer, size_t buf_size): context.c'],['../context_8c.html#ad9a7d3170ecf720e1b22a4f255605748',1,'census_context_serialize(const census_context *context, char *buffer, size_t buf_size): context.c']]], + ['census_5fenabled',['census_enabled',['../census_8h.html#a742616973e78aaf969389cea20feea9f',1,'census_enabled(void): initialize.c'],['../initialize_8c.html#a742616973e78aaf969389cea20feea9f',1,'census_enabled(void): initialize.c']]], + ['census_5finitialize',['census_initialize',['../census_8h.html#a4cea92157f3de215724f6bf4aeaee1b6',1,'census_initialize(int features): initialize.c'],['../initialize_8c.html#a4cea92157f3de215724f6bf4aeaee1b6',1,'census_initialize(int features): initialize.c']]], + ['census_5frecord_5fstat',['census_record_stat',['../census_8h.html#a0cdd5ba86b080e6b5a4b47cfaa5b51cb',1,'census_record_stat(census_context *context, census_stat *stats, size_t nstats): record_stat.c'],['../record__stat_8c.html#a0cdd5ba86b080e6b5a4b47cfaa5b51cb',1,'census_record_stat(census_context *context, census_stat *stats, size_t nstats): record_stat.c']]], + ['census_5fshutdown',['census_shutdown',['../census_8h.html#aa792b067548ecdd987d560b492c83d85',1,'census_shutdown(void): initialize.c'],['../initialize_8c.html#aa792b067548ecdd987d560b492c83d85',1,'census_shutdown(void): initialize.c']]], + ['census_5fsupported',['census_supported',['../census_8h.html#ad5f627a64ac4febbc61d2b89801d40e9',1,'census_supported(void): initialize.c'],['../initialize_8c.html#ad5f627a64ac4febbc61d2b89801d40e9',1,'census_supported(void): initialize.c']]], + ['compress_5finner',['compress_inner',['../message__compress_8c.html#a703e3d8f4ace9e8b102552c527b879d8',1,'message_compress.c']]], + ['compute_5fand_5fencode_5fsignature',['compute_and_encode_signature',['../json__token_8c.html#a08e7b0b2b3e6352e92cc7ae87328a480',1,'json_token.c']]] +]; diff --git a/doc/ref/core.internal/html/search/functions_1.html b/doc/ref/core.internal/html/search/functions_1.html new file mode 100644 index 0000000000..3b4eacfebf --- /dev/null +++ b/doc/ref/core.internal/html/search/functions_1.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core.internal/html/search/functions_1.js b/doc/ref/core.internal/html/search/functions_1.js new file mode 100644 index 0000000000..440edf821a --- /dev/null +++ b/doc/ref/core.internal/html/search/functions_1.js @@ -0,0 +1,777 @@ +var searchData= +[ + ['gpr_5fasprintf',['gpr_asprintf',['../string__util_8h.html#a0e5cc621bf7ca14112c72aa7a0ca73d0',1,'string_util.h']]], + ['gpr_5fcancellable_5fcancel',['gpr_cancellable_cancel',['../sync_8h.html#a895fb73161d2dd1fa19be10d5395001c',1,'gpr_cancellable_cancel(gpr_cancellable *c): cancellable.c'],['../cancellable_8c.html#a895fb73161d2dd1fa19be10d5395001c',1,'gpr_cancellable_cancel(gpr_cancellable *c): cancellable.c']]], + ['gpr_5fcancellable_5fdestroy',['gpr_cancellable_destroy',['../sync_8h.html#aa82b7172b992bd33bd6fd4b4dc89e338',1,'gpr_cancellable_destroy(gpr_cancellable *c): cancellable.c'],['../cancellable_8c.html#aa82b7172b992bd33bd6fd4b4dc89e338',1,'gpr_cancellable_destroy(gpr_cancellable *c): cancellable.c']]], + ['gpr_5fcancellable_5finit',['gpr_cancellable_init',['../sync_8h.html#aec0b0e9b9f084550cdec300da1f31add',1,'gpr_cancellable_init(gpr_cancellable *c): cancellable.c'],['../cancellable_8c.html#aec0b0e9b9f084550cdec300da1f31add',1,'gpr_cancellable_init(gpr_cancellable *c): cancellable.c']]], + ['gpr_5fcancellable_5fis_5fcancelled',['gpr_cancellable_is_cancelled',['../sync_8h.html#a1e53047443e5eb1f9895be0c90bc790b',1,'gpr_cancellable_is_cancelled(gpr_cancellable *c): cancellable.c'],['../cancellable_8c.html#a1e53047443e5eb1f9895be0c90bc790b',1,'gpr_cancellable_is_cancelled(gpr_cancellable *c): cancellable.c']]], + ['gpr_5fcmdline_5fadd_5fflag',['gpr_cmdline_add_flag',['../cmdline_8h.html#ac5ecfdfc605896c29df846b1e268045e',1,'gpr_cmdline_add_flag(gpr_cmdline *cl, const char *name, const char *help, int *value): cmdline.c'],['../cmdline_8c.html#ac5ecfdfc605896c29df846b1e268045e',1,'gpr_cmdline_add_flag(gpr_cmdline *cl, const char *name, const char *help, int *value): cmdline.c']]], + ['gpr_5fcmdline_5fadd_5fint',['gpr_cmdline_add_int',['../cmdline_8h.html#a0fc8cd330751e9876e8635189a1bc10f',1,'gpr_cmdline_add_int(gpr_cmdline *cl, const char *name, const char *help, int *value): cmdline.c'],['../cmdline_8c.html#a0fc8cd330751e9876e8635189a1bc10f',1,'gpr_cmdline_add_int(gpr_cmdline *cl, const char *name, const char *help, int *value): cmdline.c']]], + ['gpr_5fcmdline_5fadd_5fstring',['gpr_cmdline_add_string',['../cmdline_8h.html#a34568676c089f3284dc8f7d8d706b1d3',1,'gpr_cmdline_add_string(gpr_cmdline *cl, const char *name, const char *help, char **value): cmdline.c'],['../cmdline_8c.html#a34568676c089f3284dc8f7d8d706b1d3',1,'gpr_cmdline_add_string(gpr_cmdline *cl, const char *name, const char *help, char **value): cmdline.c']]], + ['gpr_5fcmdline_5fcreate',['gpr_cmdline_create',['../cmdline_8h.html#a608f6fbc4edfb4d2c18e3c0660fd8773',1,'gpr_cmdline_create(const char *description): cmdline.c'],['../cmdline_8c.html#a608f6fbc4edfb4d2c18e3c0660fd8773',1,'gpr_cmdline_create(const char *description): cmdline.c']]], + ['gpr_5fcmdline_5fdestroy',['gpr_cmdline_destroy',['../cmdline_8h.html#a018f826ce313b02d2773ef97b8df5f98',1,'gpr_cmdline_destroy(gpr_cmdline *cl): cmdline.c'],['../cmdline_8c.html#a018f826ce313b02d2773ef97b8df5f98',1,'gpr_cmdline_destroy(gpr_cmdline *cl): cmdline.c']]], + ['gpr_5fcmdline_5fon_5fextra_5farg',['gpr_cmdline_on_extra_arg',['../cmdline_8h.html#afcf023a5eb082034a650a0f0177d1fe9',1,'gpr_cmdline_on_extra_arg(gpr_cmdline *cl, const char *name, const char *help, void(*on_extra_arg)(void *user_data, const char *arg), void *user_data): cmdline.c'],['../cmdline_8c.html#afcf023a5eb082034a650a0f0177d1fe9',1,'gpr_cmdline_on_extra_arg(gpr_cmdline *cl, const char *name, const char *help, void(*on_extra_arg)(void *user_data, const char *arg), void *user_data): cmdline.c']]], + ['gpr_5fcmdline_5fparse',['gpr_cmdline_parse',['../cmdline_8h.html#a34b66021bbbb9f6a6e8a60c0ae34f8a4',1,'gpr_cmdline_parse(gpr_cmdline *cl, int argc, char **argv): cmdline.c'],['../cmdline_8c.html#a34b66021bbbb9f6a6e8a60c0ae34f8a4',1,'gpr_cmdline_parse(gpr_cmdline *cl, int argc, char **argv): cmdline.c']]], + ['gpr_5fcmdline_5fusage_5fstring',['gpr_cmdline_usage_string',['../cmdline_8h.html#a4eac81d047bdc6e679079309bf60f030',1,'gpr_cmdline_usage_string(gpr_cmdline *cl, const char *argv0): cmdline.c'],['../cmdline_8c.html#a4eac81d047bdc6e679079309bf60f030',1,'gpr_cmdline_usage_string(gpr_cmdline *cl, const char *argv0): cmdline.c']]], + ['gpr_5fconvert_5fclock_5ftype',['gpr_convert_clock_type',['../time_8h.html#a5da0bdd7a1b8735bf1594a2068b7ec74',1,'gpr_convert_clock_type(gpr_timespec t, gpr_clock_type target_clock): time.c'],['../time_8c.html#ab265219dd3038a1e89ded09033bada5e',1,'gpr_convert_clock_type(gpr_timespec t, gpr_clock_type clock_type): time.c']]], + ['gpr_5fcpu_5fcurrent_5fcpu',['gpr_cpu_current_cpu',['../cpu_8h.html#ad713326192eea685047b742f1da87c1d',1,'cpu.h']]], + ['gpr_5fcpu_5fnum_5fcores',['gpr_cpu_num_cores',['../cpu_8h.html#abfe660c6872b008de80de5b39ac2538d',1,'cpu.h']]], + ['gpr_5fcv_5fbroadcast',['gpr_cv_broadcast',['../sync_8h.html#ad5a4b4a5844668d188db89dda6ad205b',1,'sync.h']]], + ['gpr_5fcv_5fcancellable_5fwait',['gpr_cv_cancellable_wait',['../sync_8h.html#a5f1df649a9885ff2354dd4ce611017d9',1,'gpr_cv_cancellable_wait(gpr_cv *cv, gpr_mu *mu, gpr_timespec abs_deadline, gpr_cancellable *c): cancellable.c'],['../cancellable_8c.html#a5f1df649a9885ff2354dd4ce611017d9',1,'gpr_cv_cancellable_wait(gpr_cv *cv, gpr_mu *mu, gpr_timespec abs_deadline, gpr_cancellable *c): cancellable.c']]], + ['gpr_5fcv_5fdestroy',['gpr_cv_destroy',['../sync_8h.html#a652900a910676d5cae9ccba052adb6b0',1,'sync.h']]], + ['gpr_5fcv_5finit',['gpr_cv_init',['../sync_8h.html#ad24aac3d86113f0fcffc6c4595da9cb2',1,'sync.h']]], + ['gpr_5fcv_5fsignal',['gpr_cv_signal',['../sync_8h.html#aba119d0b92b0bd50e6efa9e2abe07a5f',1,'sync.h']]], + ['gpr_5fcv_5fwait',['gpr_cv_wait',['../sync_8h.html#ad5d8d01509b75addc44e5a43783a826e',1,'sync.h']]], + ['gpr_5fdefault_5flog',['gpr_default_log',['../log_8c.html#a620ef16728107bedfa4188786f901ff9',1,'log.c']]], + ['gpr_5fdump',['gpr_dump',['../string_8h.html#a5b9ee77c9f03764e72d7b91a64ef86f1',1,'gpr_dump(const char *buf, size_t len, gpr_uint32 flags): string.c'],['../string_8c.html#a5b9ee77c9f03764e72d7b91a64ef86f1',1,'gpr_dump(const char *buf, size_t len, gpr_uint32 flags): string.c']]], + ['gpr_5fdump_5fslice',['gpr_dump_slice',['../string_8h.html#a77bcdd897064702d16e7aaaea2e0e259',1,'gpr_dump_slice(gpr_slice slice, gpr_uint32 flags): string.c'],['../string_8c.html#a008e053cd53efcf2f606b7414c22ea95',1,'gpr_dump_slice(gpr_slice s, gpr_uint32 flags): string.c']]], + ['gpr_5fempty_5fslice',['gpr_empty_slice',['../slice_8h.html#a1a8906400c956fb8c508326a072b0662',1,'gpr_empty_slice(void): slice.c'],['../slice_8c.html#a1a8906400c956fb8c508326a072b0662',1,'gpr_empty_slice(void): slice.c']]], + ['gpr_5fevent_5fcancellable_5fwait',['gpr_event_cancellable_wait',['../sync_8h.html#ae048c7e762b723821e35a07fd0d85e22',1,'gpr_event_cancellable_wait(gpr_event *ev, gpr_timespec abs_deadline, gpr_cancellable *c): sync.c'],['../sync_8c.html#ae048c7e762b723821e35a07fd0d85e22',1,'gpr_event_cancellable_wait(gpr_event *ev, gpr_timespec abs_deadline, gpr_cancellable *c): sync.c']]], + ['gpr_5fevent_5fget',['gpr_event_get',['../sync_8h.html#ac0a2305d9e6575cc5a3d92bc3f12c161',1,'gpr_event_get(gpr_event *ev): sync.c'],['../sync_8c.html#ac0a2305d9e6575cc5a3d92bc3f12c161',1,'gpr_event_get(gpr_event *ev): sync.c']]], + ['gpr_5fevent_5finit',['gpr_event_init',['../sync_8h.html#a93f37cd27964fda51acd4cd8e6737922',1,'gpr_event_init(gpr_event *ev): sync.c'],['../sync_8c.html#a93f37cd27964fda51acd4cd8e6737922',1,'gpr_event_init(gpr_event *ev): sync.c']]], + ['gpr_5fevent_5fset',['gpr_event_set',['../sync_8h.html#a1b1d014640e00512f6789dacc4ff88bd',1,'gpr_event_set(gpr_event *ev, void *value): sync.c'],['../sync_8c.html#a1b1d014640e00512f6789dacc4ff88bd',1,'gpr_event_set(gpr_event *ev, void *value): sync.c']]], + ['gpr_5fevent_5fwait',['gpr_event_wait',['../sync_8h.html#a01d442a76ff77f64d9f898b22ea33db7',1,'gpr_event_wait(gpr_event *ev, gpr_timespec abs_deadline): sync.c'],['../sync_8c.html#a01d442a76ff77f64d9f898b22ea33db7',1,'gpr_event_wait(gpr_event *ev, gpr_timespec abs_deadline): sync.c']]], + ['gpr_5fformat_5fmessage',['gpr_format_message',['../log__win32_8h.html#ad8115cf8df2332d225d12cb87c21f536',1,'log_win32.h']]], + ['gpr_5ffree',['gpr_free',['../alloc_8h.html#ae0d621b472031a64c77bd2e9fea495e8',1,'gpr_free(void *ptr): alloc.c'],['../alloc_8c.html#abb8ce294adb033ac54e7a2e28b9bdac6',1,'gpr_free(void *p): alloc.c']]], + ['gpr_5ffree_5faligned',['gpr_free_aligned',['../alloc_8h.html#af9b603aefd33752e1b473856af77cbc9',1,'gpr_free_aligned(void *ptr): alloc.c'],['../alloc_8c.html#af9b603aefd33752e1b473856af77cbc9',1,'gpr_free_aligned(void *ptr): alloc.c']]], + ['gpr_5fgetenv',['gpr_getenv',['../env_8h.html#a56b20a68a421e585a14b92cb9999eafb',1,'env.h']]], + ['gpr_5fhistogram_5fadd',['gpr_histogram_add',['../histogram_8h.html#a63815a52b0236626a30480915ff51847',1,'gpr_histogram_add(gpr_histogram *h, double x): histogram.c'],['../histogram_8c.html#a63815a52b0236626a30480915ff51847',1,'gpr_histogram_add(gpr_histogram *h, double x): histogram.c']]], + ['gpr_5fhistogram_5fcount',['gpr_histogram_count',['../histogram_8h.html#a242b0541ee25271812d867d8f2734255',1,'gpr_histogram_count(gpr_histogram *histogram): histogram.c'],['../histogram_8c.html#a9789e9d2bfe80302771cb7037ff67109',1,'gpr_histogram_count(gpr_histogram *h): histogram.c']]], + ['gpr_5fhistogram_5fcreate',['gpr_histogram_create',['../histogram_8h.html#a5da9d3dac4262c5ae1e974a649edbd5c',1,'gpr_histogram_create(double resolution, double max_bucket_start): histogram.c'],['../histogram_8c.html#a5da9d3dac4262c5ae1e974a649edbd5c',1,'gpr_histogram_create(double resolution, double max_bucket_start): histogram.c']]], + ['gpr_5fhistogram_5fdestroy',['gpr_histogram_destroy',['../histogram_8h.html#a7411a760aa075c1c27eeb9249d951c6c',1,'gpr_histogram_destroy(gpr_histogram *h): histogram.c'],['../histogram_8c.html#a7411a760aa075c1c27eeb9249d951c6c',1,'gpr_histogram_destroy(gpr_histogram *h): histogram.c']]], + ['gpr_5fhistogram_5fget_5fcontents',['gpr_histogram_get_contents',['../histogram_8h.html#aa7807dc3f06172d1513498761c3ad8c4',1,'gpr_histogram_get_contents(gpr_histogram *histogram, size_t *count): histogram.c'],['../histogram_8c.html#adcd82f9ac3a24d76fa43d6ee38cd03d9',1,'gpr_histogram_get_contents(gpr_histogram *h, size_t *size): histogram.c']]], + ['gpr_5fhistogram_5fmaximum',['gpr_histogram_maximum',['../histogram_8h.html#a71e5aa88087c8595c7f5d01750f919cb',1,'gpr_histogram_maximum(gpr_histogram *histogram): histogram.c'],['../histogram_8c.html#aede32c052f8cfb6c645773dc02abb269',1,'gpr_histogram_maximum(gpr_histogram *h): histogram.c']]], + ['gpr_5fhistogram_5fmean',['gpr_histogram_mean',['../histogram_8h.html#a14d68ff71978bda93a07d019d993d83c',1,'gpr_histogram_mean(gpr_histogram *histogram): histogram.c'],['../histogram_8c.html#a5fe371014a644b04cb7a3cc10d0c4d54',1,'gpr_histogram_mean(gpr_histogram *h): histogram.c']]], + ['gpr_5fhistogram_5fmerge',['gpr_histogram_merge',['../histogram_8h.html#a41caac8747588e75cf5fed974fcd90f2',1,'gpr_histogram_merge(gpr_histogram *dst, gpr_histogram *src): histogram.c'],['../histogram_8c.html#a41caac8747588e75cf5fed974fcd90f2',1,'gpr_histogram_merge(gpr_histogram *dst, gpr_histogram *src): histogram.c']]], + ['gpr_5fhistogram_5fmerge_5fcontents',['gpr_histogram_merge_contents',['../histogram_8h.html#aa1acf09b75809398b4e45729e6a3ba30',1,'gpr_histogram_merge_contents(gpr_histogram *histogram, const gpr_uint32 *data, size_t data_count, double min_seen, double max_seen, double sum, double sum_of_squares, double count): histogram.c'],['../histogram_8c.html#a4092227c6ba42490fd0311f5f8223e73',1,'gpr_histogram_merge_contents(gpr_histogram *dst, const gpr_uint32 *data, size_t data_count, double min_seen, double max_seen, double sum, double sum_of_squares, double count): histogram.c']]], + ['gpr_5fhistogram_5fminimum',['gpr_histogram_minimum',['../histogram_8h.html#ab89af54f76a690d82d1f065ceeda6a76',1,'gpr_histogram_minimum(gpr_histogram *histogram): histogram.c'],['../histogram_8c.html#a02493e2e022e463dcaf0738cc2f57e9e',1,'gpr_histogram_minimum(gpr_histogram *h): histogram.c']]], + ['gpr_5fhistogram_5fpercentile',['gpr_histogram_percentile',['../histogram_8h.html#a1a0a1b854c2af4d29175872fe5bb4431',1,'gpr_histogram_percentile(gpr_histogram *histogram, double percentile): histogram.c'],['../histogram_8c.html#a29c6f43aed5d521d17bf7677b2fbee39',1,'gpr_histogram_percentile(gpr_histogram *h, double percentile): histogram.c']]], + ['gpr_5fhistogram_5fstddev',['gpr_histogram_stddev',['../histogram_8h.html#a0979c6470e9192e5f83bcab01542dd91',1,'gpr_histogram_stddev(gpr_histogram *histogram): histogram.c'],['../histogram_8c.html#a36846d8c0ae93fa49fb4a1d07d8a2872',1,'gpr_histogram_stddev(gpr_histogram *h): histogram.c']]], + ['gpr_5fhistogram_5fsum',['gpr_histogram_sum',['../histogram_8h.html#a0332c47f841d8b0607e3327d8bc9a933',1,'gpr_histogram_sum(gpr_histogram *histogram): histogram.c'],['../histogram_8c.html#a6f5945872847d0d3e460181bb11c8414',1,'gpr_histogram_sum(gpr_histogram *h): histogram.c']]], + ['gpr_5fhistogram_5fsum_5fof_5fsquares',['gpr_histogram_sum_of_squares',['../histogram_8h.html#a5788652eb5350afcc534f563fd0265d3',1,'gpr_histogram_sum_of_squares(gpr_histogram *histogram): histogram.c'],['../histogram_8c.html#a651cd46647b768e4c7ffceb20d4ac523',1,'gpr_histogram_sum_of_squares(gpr_histogram *h): histogram.c']]], + ['gpr_5fhistogram_5fvariance',['gpr_histogram_variance',['../histogram_8h.html#a4ef00ceaa619ca09da4de17fc5a5769b',1,'gpr_histogram_variance(gpr_histogram *histogram): histogram.c'],['../histogram_8c.html#a36df07c41d7d9e92e2b7cfce5cba2083',1,'gpr_histogram_variance(gpr_histogram *h): histogram.c']]], + ['gpr_5finf_5ffuture',['gpr_inf_future',['../time_8h.html#a9324a2b33d5d7686fb14714c59ff026d',1,'gpr_inf_future(gpr_clock_type type): time.c'],['../time_8c.html#a9324a2b33d5d7686fb14714c59ff026d',1,'gpr_inf_future(gpr_clock_type type): time.c']]], + ['gpr_5finf_5fpast',['gpr_inf_past',['../time_8h.html#abd2eba8066648fe0d94146d8310b4283',1,'gpr_inf_past(gpr_clock_type type): time.c'],['../time_8c.html#abd2eba8066648fe0d94146d8310b4283',1,'gpr_inf_past(gpr_clock_type type): time.c']]], + ['gpr_5fjoin_5fhost_5fport',['gpr_join_host_port',['../host__port_8h.html#a75d6ea0faeed039dc132873afce91508',1,'gpr_join_host_port(char **out, const char *host, int port): host_port.c'],['../host__port_8c.html#a75d6ea0faeed039dc132873afce91508',1,'gpr_join_host_port(char **out, const char *host, int port): host_port.c']]], + ['gpr_5fload_5ffile',['gpr_load_file',['../file_8h.html#aaad6ffe6949461096a99c7d2e8890c59',1,'gpr_load_file(const char *filename, int add_null_terminator, int *success): file.c'],['../file_8c.html#aaad6ffe6949461096a99c7d2e8890c59',1,'gpr_load_file(const char *filename, int add_null_terminator, int *success): file.c']]], + ['gpr_5flog',['gpr_log',['../log_8h.html#acf6f383ed91d9f4e2e6bd79c57539fd1',1,'log.h']]], + ['gpr_5flog_5fmessage',['gpr_log_message',['../log_8h.html#a7a3d59528754f8fbcfe54f6f8a72ec61',1,'gpr_log_message(const char *file, int line, gpr_log_severity severity, const char *message): log.c'],['../log_8c.html#a7a3d59528754f8fbcfe54f6f8a72ec61',1,'gpr_log_message(const char *file, int line, gpr_log_severity severity, const char *message): log.c']]], + ['gpr_5flog_5fseverity_5fstring',['gpr_log_severity_string',['../log_8h.html#a3badccbc5ec4c725eadbc07b8e5706eb',1,'gpr_log_severity_string(gpr_log_severity severity): log.c'],['../log_8c.html#a3badccbc5ec4c725eadbc07b8e5706eb',1,'gpr_log_severity_string(gpr_log_severity severity): log.c']]], + ['gpr_5fltoa',['gpr_ltoa',['../string_8h.html#abb9a8e65c26e1f49bc9247bd8a90aa24',1,'gpr_ltoa(long value, char *output): string.c'],['../string_8c.html#aa6aa8a10c07a02550542c920a6b1f5f6',1,'gpr_ltoa(long value, char *string): string.c']]], + ['gpr_5fmalloc',['gpr_malloc',['../alloc_8h.html#af5896bb446b6179f35651730357149bb',1,'gpr_malloc(size_t size): alloc.c'],['../alloc_8c.html#af5896bb446b6179f35651730357149bb',1,'gpr_malloc(size_t size): alloc.c']]], + ['gpr_5fmalloc_5faligned',['gpr_malloc_aligned',['../alloc_8h.html#a73551a6249ae9b0a73ad75733c67ead4',1,'gpr_malloc_aligned(size_t size, size_t alignment_log): alloc.c'],['../alloc_8c.html#a73551a6249ae9b0a73ad75733c67ead4',1,'gpr_malloc_aligned(size_t size, size_t alignment_log): alloc.c']]], + ['gpr_5fmu_5fdestroy',['gpr_mu_destroy',['../sync_8h.html#a52ae2524c7dade8cecb9f01ff4792c9e',1,'sync.h']]], + ['gpr_5fmu_5finit',['gpr_mu_init',['../sync_8h.html#a16694f755266c254390b041a0f069094',1,'sync.h']]], + ['gpr_5fmu_5flock',['gpr_mu_lock',['../sync_8h.html#a44b385455d169e6c84659adb222c1d42',1,'sync.h']]], + ['gpr_5fmu_5ftrylock',['gpr_mu_trylock',['../sync_8h.html#a65a42bb7ca9072b0e7b581d715a8e777',1,'sync.h']]], + ['gpr_5fmu_5funlock',['gpr_mu_unlock',['../sync_8h.html#a91370fd0eb76bc1323c80815ad6e9cff',1,'sync.h']]], + ['gpr_5fmurmur_5fhash3',['gpr_murmur_hash3',['../murmur__hash_8h.html#afd4a38ba55dc020a76c1ec09a4f626d0',1,'gpr_murmur_hash3(const void *key, size_t len, gpr_uint32 seed): murmur_hash.c'],['../murmur__hash_8c.html#afd4a38ba55dc020a76c1ec09a4f626d0',1,'gpr_murmur_hash3(const void *key, size_t len, gpr_uint32 seed): murmur_hash.c']]], + ['gpr_5fnow',['gpr_now',['../time_8h.html#adf5debcac2bc854e733ca2dec2a1ff19',1,'time.h']]], + ['gpr_5fonce_5finit',['gpr_once_init',['../sync_8h.html#ad5c88872723a129b09200b1892d2323f',1,'sync.h']]], + ['gpr_5fparse_5fbytes_5fto_5fuint32',['gpr_parse_bytes_to_uint32',['../string_8h.html#a753cd4bfe9add8476a2797904c4c68c7',1,'gpr_parse_bytes_to_uint32(const char *data, size_t length, gpr_uint32 *result): string.c'],['../string_8c.html#ad68355bffdcb8c7f69fc908e60ab9da6',1,'gpr_parse_bytes_to_uint32(const char *buf, size_t len, gpr_uint32 *result): string.c']]], + ['gpr_5frealloc',['gpr_realloc',['../alloc_8h.html#a25d9a067b093e9c76dbbd77995b1bc91',1,'gpr_realloc(void *p, size_t size): alloc.c'],['../alloc_8c.html#a25d9a067b093e9c76dbbd77995b1bc91',1,'gpr_realloc(void *p, size_t size): alloc.c']]], + ['gpr_5fref',['gpr_ref',['../sync_8h.html#ac0e52c6bfc7a04ba8a269f3227104571',1,'gpr_ref(gpr_refcount *r): sync.c'],['../sync_8c.html#ac0e52c6bfc7a04ba8a269f3227104571',1,'gpr_ref(gpr_refcount *r): sync.c']]], + ['gpr_5fref_5finit',['gpr_ref_init',['../sync_8h.html#a235584f36572b5410b042ee63cb0740b',1,'gpr_ref_init(gpr_refcount *r, int n): sync.c'],['../sync_8c.html#a235584f36572b5410b042ee63cb0740b',1,'gpr_ref_init(gpr_refcount *r, int n): sync.c']]], + ['gpr_5frefn',['gpr_refn',['../sync_8h.html#a516e26b66b1aa53fba8f5f52b249cb25',1,'gpr_refn(gpr_refcount *r, int n): sync.c'],['../sync_8c.html#a516e26b66b1aa53fba8f5f52b249cb25',1,'gpr_refn(gpr_refcount *r, int n): sync.c']]], + ['gpr_5freverse_5fbytes',['gpr_reverse_bytes',['../string_8h.html#ac61f7fa80be757db2d5457e3fe21ffe9',1,'gpr_reverse_bytes(char *str, int len): string.c'],['../string_8c.html#ac61f7fa80be757db2d5457e3fe21ffe9',1,'gpr_reverse_bytes(char *str, int len): string.c']]], + ['gpr_5fset_5flog_5ffunction',['gpr_set_log_function',['../log_8h.html#a75771a41e3bb2831df8043a57de05330',1,'gpr_set_log_function(gpr_log_func func): log.c'],['../log_8c.html#a4a4590f04f5e003b740b7688014b7be5',1,'gpr_set_log_function(gpr_log_func f): log.c']]], + ['gpr_5fsetenv',['gpr_setenv',['../env_8h.html#ab20b9f1c8dc1f142a17eaa4e18f37fa3',1,'env.h']]], + ['gpr_5fsleep_5funtil',['gpr_sleep_until',['../time_8h.html#ad037af8b7288a3f2e5ce46d3e3ca50d7',1,'time.h']]], + ['gpr_5fslice_5fbuffer_5fadd',['gpr_slice_buffer_add',['../slice__buffer_8h.html#a8fd6443c77c7602be19b9152355a8e12',1,'gpr_slice_buffer_add(gpr_slice_buffer *sb, gpr_slice slice): slice_buffer.c'],['../slice__buffer_8c.html#ae202c0235646241cf95ffbb2479bada9',1,'gpr_slice_buffer_add(gpr_slice_buffer *sb, gpr_slice s): slice_buffer.c']]], + ['gpr_5fslice_5fbuffer_5fadd_5findexed',['gpr_slice_buffer_add_indexed',['../slice__buffer_8h.html#acd745eec745573eeace3861da3e2c045',1,'gpr_slice_buffer_add_indexed(gpr_slice_buffer *sb, gpr_slice slice): slice_buffer.c'],['../slice__buffer_8c.html#a31bc820cee4aae1904d67a9d81fd83b3',1,'gpr_slice_buffer_add_indexed(gpr_slice_buffer *sb, gpr_slice s): slice_buffer.c']]], + ['gpr_5fslice_5fbuffer_5faddn',['gpr_slice_buffer_addn',['../slice__buffer_8h.html#a615be732e655de9980c321eb075e4a46',1,'gpr_slice_buffer_addn(gpr_slice_buffer *sb, gpr_slice *slices, size_t n): slice_buffer.c'],['../slice__buffer_8c.html#af58c3edcfaf90b364e3977e3bb423e3f',1,'gpr_slice_buffer_addn(gpr_slice_buffer *sb, gpr_slice *s, size_t n): slice_buffer.c']]], + ['gpr_5fslice_5fbuffer_5fdestroy',['gpr_slice_buffer_destroy',['../slice__buffer_8h.html#a60c8b437918c3a81651b5f9a892f6399',1,'gpr_slice_buffer_destroy(gpr_slice_buffer *sb): slice_buffer.c'],['../slice__buffer_8c.html#a60c8b437918c3a81651b5f9a892f6399',1,'gpr_slice_buffer_destroy(gpr_slice_buffer *sb): slice_buffer.c']]], + ['gpr_5fslice_5fbuffer_5finit',['gpr_slice_buffer_init',['../slice__buffer_8h.html#aab5ed508480703c7b856e92ef6d7e4c8',1,'gpr_slice_buffer_init(gpr_slice_buffer *sb): slice_buffer.c'],['../slice__buffer_8c.html#aab5ed508480703c7b856e92ef6d7e4c8',1,'gpr_slice_buffer_init(gpr_slice_buffer *sb): slice_buffer.c']]], + ['gpr_5fslice_5fbuffer_5fmove_5finto',['gpr_slice_buffer_move_into',['../slice__buffer_8h.html#a0289912040151750bbee19ba632a88f1',1,'gpr_slice_buffer_move_into(gpr_slice_buffer *src, gpr_slice_buffer *dst): slice_buffer.c'],['../slice__buffer_8c.html#a0289912040151750bbee19ba632a88f1',1,'gpr_slice_buffer_move_into(gpr_slice_buffer *src, gpr_slice_buffer *dst): slice_buffer.c']]], + ['gpr_5fslice_5fbuffer_5fpop',['gpr_slice_buffer_pop',['../slice__buffer_8h.html#ae3bd1bc560aad5b69a6ef0b09286cc79',1,'gpr_slice_buffer_pop(gpr_slice_buffer *sb): slice_buffer.c'],['../slice__buffer_8c.html#ae3bd1bc560aad5b69a6ef0b09286cc79',1,'gpr_slice_buffer_pop(gpr_slice_buffer *sb): slice_buffer.c']]], + ['gpr_5fslice_5fbuffer_5freset_5fand_5funref',['gpr_slice_buffer_reset_and_unref',['../slice__buffer_8h.html#aa2819a201e9dcf62e31a6dbfc6fe3010',1,'gpr_slice_buffer_reset_and_unref(gpr_slice_buffer *sb): slice_buffer.c'],['../slice__buffer_8c.html#aa2819a201e9dcf62e31a6dbfc6fe3010',1,'gpr_slice_buffer_reset_and_unref(gpr_slice_buffer *sb): slice_buffer.c']]], + ['gpr_5fslice_5fbuffer_5fswap',['gpr_slice_buffer_swap',['../slice__buffer_8h.html#a672b80e16cdabf26c7b558a54edfcd2d',1,'gpr_slice_buffer_swap(gpr_slice_buffer *a, gpr_slice_buffer *b): slice_buffer.c'],['../slice__buffer_8c.html#a672b80e16cdabf26c7b558a54edfcd2d',1,'gpr_slice_buffer_swap(gpr_slice_buffer *a, gpr_slice_buffer *b): slice_buffer.c']]], + ['gpr_5fslice_5fbuffer_5ftiny_5fadd',['gpr_slice_buffer_tiny_add',['../slice__buffer_8h.html#a223fc0bf1beb3866aee902dea0a599c0',1,'gpr_slice_buffer_tiny_add(gpr_slice_buffer *sb, unsigned len): slice_buffer.c'],['../slice__buffer_8c.html#ae5498f14d7b008d134a3ad32935df4ac',1,'gpr_slice_buffer_tiny_add(gpr_slice_buffer *sb, unsigned n): slice_buffer.c']]], + ['gpr_5fslice_5fcmp',['gpr_slice_cmp',['../slice_8h.html#add3c8736c46bea7517991f178c82ba3c',1,'gpr_slice_cmp(gpr_slice a, gpr_slice b): slice.c'],['../slice_8c.html#add3c8736c46bea7517991f178c82ba3c',1,'gpr_slice_cmp(gpr_slice a, gpr_slice b): slice.c']]], + ['gpr_5fslice_5ffrom_5fcopied_5fbuffer',['gpr_slice_from_copied_buffer',['../slice_8h.html#a83e8110a7a98132963f01eb9c7f7418e',1,'gpr_slice_from_copied_buffer(const char *source, size_t len): slice.c'],['../slice_8c.html#a54af06d0bea05fa416a85402e3f0d3b4',1,'gpr_slice_from_copied_buffer(const char *source, size_t length): slice.c']]], + ['gpr_5fslice_5ffrom_5fcopied_5fstring',['gpr_slice_from_copied_string',['../slice_8h.html#adf4df32e55b1b09d3f11c39447dcc68b',1,'gpr_slice_from_copied_string(const char *source): slice.c'],['../slice_8c.html#adf4df32e55b1b09d3f11c39447dcc68b',1,'gpr_slice_from_copied_string(const char *source): slice.c']]], + ['gpr_5fslice_5fmalloc',['gpr_slice_malloc',['../slice_8h.html#ab57463740ccedc00b50721dce66ebd7b',1,'gpr_slice_malloc(size_t length): slice.c'],['../slice_8c.html#ab57463740ccedc00b50721dce66ebd7b',1,'gpr_slice_malloc(size_t length): slice.c']]], + ['gpr_5fslice_5fnew',['gpr_slice_new',['../slice_8h.html#aea43587a11bfe2e06fb8532035229bb2',1,'gpr_slice_new(void *p, size_t len, void(*destroy)(void *)): slice.c'],['../slice_8c.html#aea43587a11bfe2e06fb8532035229bb2',1,'gpr_slice_new(void *p, size_t len, void(*destroy)(void *)): slice.c']]], + ['gpr_5fslice_5fnew_5fwith_5flen',['gpr_slice_new_with_len',['../slice_8h.html#affd1fef2ffaca67e0b2e7b60923da812',1,'gpr_slice_new_with_len(void *p, size_t len, void(*destroy)(void *, size_t)): slice.c'],['../slice_8c.html#affd1fef2ffaca67e0b2e7b60923da812',1,'gpr_slice_new_with_len(void *p, size_t len, void(*destroy)(void *, size_t)): slice.c']]], + ['gpr_5fslice_5fref',['gpr_slice_ref',['../slice_8h.html#ad28a2bcca348046cbe660a44180e75ca',1,'gpr_slice_ref(gpr_slice s): slice.c'],['../slice_8c.html#aa439f1ee94ab61e6ff17647940d29582',1,'gpr_slice_ref(gpr_slice slice): slice.c']]], + ['gpr_5fslice_5fsplit',['gpr_slice_split',['../string_8h.html#a3e64cb8d6ffd4e240302a2a8a66bb4c3',1,'gpr_slice_split(gpr_slice str, const char *sep, gpr_slice_buffer *dst): string.c'],['../string_8c.html#a3e64cb8d6ffd4e240302a2a8a66bb4c3',1,'gpr_slice_split(gpr_slice str, const char *sep, gpr_slice_buffer *dst): string.c']]], + ['gpr_5fslice_5fsplit_5fhead',['gpr_slice_split_head',['../slice_8h.html#a842ea6b4a9ab4d0d3becd6fda03bbc24',1,'gpr_slice_split_head(gpr_slice *s, size_t split): slice.c'],['../slice_8c.html#a15ea61593682d41ef435b9f7fa44a604',1,'gpr_slice_split_head(gpr_slice *source, size_t split): slice.c']]], + ['gpr_5fslice_5fsplit_5ftail',['gpr_slice_split_tail',['../slice_8h.html#a51315f2a9217a1d42711f48bfec9d39e',1,'gpr_slice_split_tail(gpr_slice *s, size_t split): slice.c'],['../slice_8c.html#af592ef63bc65829371d4dacaa4f5eef1',1,'gpr_slice_split_tail(gpr_slice *source, size_t split): slice.c']]], + ['gpr_5fslice_5fstr_5fcmp',['gpr_slice_str_cmp',['../slice_8h.html#aef752203db50c932010a74c6845872c2',1,'gpr_slice_str_cmp(gpr_slice a, const char *b): slice.c'],['../slice_8c.html#aef752203db50c932010a74c6845872c2',1,'gpr_slice_str_cmp(gpr_slice a, const char *b): slice.c']]], + ['gpr_5fslice_5fsub',['gpr_slice_sub',['../slice_8h.html#ac9d4e6e264e22c6c6d3748f522da91eb',1,'gpr_slice_sub(gpr_slice s, size_t begin, size_t end): slice.c'],['../slice_8c.html#a60d9c7c62fdbbd7d4be1ff0f8d357032',1,'gpr_slice_sub(gpr_slice source, size_t begin, size_t end): slice.c']]], + ['gpr_5fslice_5fsub_5fno_5fref',['gpr_slice_sub_no_ref',['../slice_8h.html#accf08ddad530a5f1cca82c834dc70965',1,'gpr_slice_sub_no_ref(gpr_slice s, size_t begin, size_t end): slice.c'],['../slice_8c.html#a03f66bb8343910499215c75f6ad69be4',1,'gpr_slice_sub_no_ref(gpr_slice source, size_t begin, size_t end): slice.c']]], + ['gpr_5fslice_5fto_5fcstring',['gpr_slice_to_cstring',['../slice_8c.html#a2e5f30a9a0750b8d38100dbfe647438e',1,'slice.c']]], + ['gpr_5fslice_5funref',['gpr_slice_unref',['../slice_8h.html#a024429b0dd15e43a09e48e35ca8810d7',1,'gpr_slice_unref(gpr_slice s): slice.c'],['../slice_8c.html#aaa595344a06d9a17f64f2774a42fe160',1,'gpr_slice_unref(gpr_slice slice): slice.c']]], + ['gpr_5fsplit_5fhost_5fport',['gpr_split_host_port',['../host__port_8h.html#aacb0efdff2bb1b15d5e7edeb62ae4aea',1,'gpr_split_host_port(const char *name, char **host, char **port): host_port.c'],['../host__port_8c.html#aacb0efdff2bb1b15d5e7edeb62ae4aea',1,'gpr_split_host_port(const char *name, char **host, char **port): host_port.c']]], + ['gpr_5fstack_5flockfree_5fcreate',['gpr_stack_lockfree_create',['../stack__lockfree_8h.html#a281add9a8c1bdc0a6715cc168c6f41a9',1,'gpr_stack_lockfree_create(int entries): stack_lockfree.c'],['../stack__lockfree_8c.html#a281add9a8c1bdc0a6715cc168c6f41a9',1,'gpr_stack_lockfree_create(int entries): stack_lockfree.c']]], + ['gpr_5fstack_5flockfree_5fdestroy',['gpr_stack_lockfree_destroy',['../stack__lockfree_8h.html#a0d082653d002f9849d89f1ac93f21554',1,'gpr_stack_lockfree_destroy(gpr_stack_lockfree *stack): stack_lockfree.c'],['../stack__lockfree_8c.html#a0d082653d002f9849d89f1ac93f21554',1,'gpr_stack_lockfree_destroy(gpr_stack_lockfree *stack): stack_lockfree.c']]], + ['gpr_5fstack_5flockfree_5fpop',['gpr_stack_lockfree_pop',['../stack__lockfree_8h.html#ae2548d065e76c3ece34984e43c599d14',1,'gpr_stack_lockfree_pop(gpr_stack_lockfree *stack): stack_lockfree.c'],['../stack__lockfree_8c.html#ae2548d065e76c3ece34984e43c599d14',1,'gpr_stack_lockfree_pop(gpr_stack_lockfree *stack): stack_lockfree.c']]], + ['gpr_5fstack_5flockfree_5fpush',['gpr_stack_lockfree_push',['../stack__lockfree_8h.html#a82627359dd8da1d1015ee7aa70eab6aa',1,'gpr_stack_lockfree_push(gpr_stack_lockfree *, int entry): stack_lockfree.c'],['../stack__lockfree_8c.html#a0c2fa41e3046d10a9e98416f4d809933',1,'gpr_stack_lockfree_push(gpr_stack_lockfree *stack, int entry): stack_lockfree.c']]], + ['gpr_5fstats_5finc',['gpr_stats_inc',['../sync_8h.html#a8e51ec3b46c7c03602e2279a802daa1c',1,'gpr_stats_inc(gpr_stats_counter *c, gpr_intptr inc): sync.c'],['../sync_8c.html#a8e51ec3b46c7c03602e2279a802daa1c',1,'gpr_stats_inc(gpr_stats_counter *c, gpr_intptr inc): sync.c']]], + ['gpr_5fstats_5finit',['gpr_stats_init',['../sync_8h.html#a76b8e5de6e1baa4fd66c014417dc0a30',1,'gpr_stats_init(gpr_stats_counter *c, gpr_intptr n): sync.c'],['../sync_8c.html#a76b8e5de6e1baa4fd66c014417dc0a30',1,'gpr_stats_init(gpr_stats_counter *c, gpr_intptr n): sync.c']]], + ['gpr_5fstats_5fread',['gpr_stats_read',['../sync_8h.html#abb2c58da7d0b785887266b3b1890764d',1,'gpr_stats_read(const gpr_stats_counter *c): sync.c'],['../sync_8c.html#abb2c58da7d0b785887266b3b1890764d',1,'gpr_stats_read(const gpr_stats_counter *c): sync.c']]], + ['gpr_5fstrdup',['gpr_strdup',['../string__util_8h.html#a7a021bce444344f0a96cb022038eed93',1,'gpr_strdup(const char *src): string.c'],['../string_8c.html#a7a021bce444344f0a96cb022038eed93',1,'gpr_strdup(const char *src): string.c']]], + ['gpr_5fstrjoin',['gpr_strjoin',['../string_8h.html#abf1d5b8181f43319a8d8c98950e69b4c',1,'gpr_strjoin(const char **strs, size_t nstrs, size_t *total_length): string.c'],['../string_8c.html#a5de29a3d1854cf2dfa54b501e2793e96',1,'gpr_strjoin(const char **strs, size_t nstrs, size_t *final_length): string.c']]], + ['gpr_5fstrjoin_5fsep',['gpr_strjoin_sep',['../string_8h.html#ac842445695baf5ff8e96a7bf12c6b176',1,'gpr_strjoin_sep(const char **strs, size_t nstrs, const char *sep, size_t *total_length): string.c'],['../string_8c.html#a5b9d1ee9cc94732b728b033649c2d00a',1,'gpr_strjoin_sep(const char **strs, size_t nstrs, const char *sep, size_t *final_length): string.c']]], + ['gpr_5fstrvec_5fadd',['gpr_strvec_add',['../string_8h.html#a4eaa61df749bed219a09e69837a69a50',1,'gpr_strvec_add(gpr_strvec *strs, char *add): string.c'],['../string_8c.html#a9d91f04f11bc82ed5a562e44878eafde',1,'gpr_strvec_add(gpr_strvec *sv, char *str): string.c']]], + ['gpr_5fstrvec_5fdestroy',['gpr_strvec_destroy',['../string_8h.html#af194bff1a43db7ed5be927264bce7f52',1,'gpr_strvec_destroy(gpr_strvec *strs): string.c'],['../string_8c.html#a0c7ab5a87b900005d826bdaa8e106b28',1,'gpr_strvec_destroy(gpr_strvec *sv): string.c']]], + ['gpr_5fstrvec_5fflatten',['gpr_strvec_flatten',['../string_8h.html#ac17f0ee05012c3256f5f1f77b5bec185',1,'gpr_strvec_flatten(gpr_strvec *strs, size_t *total_length): string.c'],['../string_8c.html#a0145a60ccd4d1e25389f8bad033f1ff5',1,'gpr_strvec_flatten(gpr_strvec *sv, size_t *final_length): string.c']]], + ['gpr_5fstrvec_5finit',['gpr_strvec_init',['../string_8h.html#a78cca9fe86b48cf442f80a666b73768f',1,'gpr_strvec_init(gpr_strvec *strs): string.c'],['../string_8c.html#a751f38e61272bd9626890fa54270b82f',1,'gpr_strvec_init(gpr_strvec *sv): string.c']]], + ['gpr_5fsubprocess_5fbinary_5fextension',['gpr_subprocess_binary_extension',['../subprocess_8h.html#a6d393aed4f99f9ba49286715c5da8fd3',1,'subprocess.h']]], + ['gpr_5fsubprocess_5fcreate',['gpr_subprocess_create',['../subprocess_8h.html#a761755433d8809a68024b03176341242',1,'subprocess.h']]], + ['gpr_5fsubprocess_5fdestroy',['gpr_subprocess_destroy',['../subprocess_8h.html#a880657b78894ae66b9c5d7416ee7839b',1,'subprocess.h']]], + ['gpr_5fsubprocess_5finterrupt',['gpr_subprocess_interrupt',['../subprocess_8h.html#aee2ddbe0e8a58271a6a9a3cf451dd67d',1,'subprocess.h']]], + ['gpr_5fsubprocess_5fjoin',['gpr_subprocess_join',['../subprocess_8h.html#ac5c4e7eccc737f473dd73a1fb502f0d5',1,'subprocess.h']]], + ['gpr_5fthd_5fcurrentid',['gpr_thd_currentid',['../thd_8h.html#a8c875ae5410d10d658cfb7b917909624',1,'thd.h']]], + ['gpr_5fthd_5fjoin',['gpr_thd_join',['../thd_8h.html#a73509f851051b4d5f02ca1982d216776',1,'thd.h']]], + ['gpr_5fthd_5fnew',['gpr_thd_new',['../thd_8h.html#a9184cf0e025d8a9b098af6c08755b8ea',1,'thd.h']]], + ['gpr_5fthd_5foptions_5fdefault',['gpr_thd_options_default',['../thd_8h.html#abf8bb34ba7d26ddab0696e24b1fcc862',1,'gpr_thd_options_default(void): thd.c'],['../thd_8c.html#abf8bb34ba7d26ddab0696e24b1fcc862',1,'gpr_thd_options_default(void): thd.c']]], + ['gpr_5fthd_5foptions_5fis_5fdetached',['gpr_thd_options_is_detached',['../thd_8h.html#a1647c2e991d269cdaf146dc33f61ce89',1,'gpr_thd_options_is_detached(const gpr_thd_options *options): thd.c'],['../thd_8c.html#a1647c2e991d269cdaf146dc33f61ce89',1,'gpr_thd_options_is_detached(const gpr_thd_options *options): thd.c']]], + ['gpr_5fthd_5foptions_5fis_5fjoinable',['gpr_thd_options_is_joinable',['../thd_8h.html#afb8d6ad4dcc8ebcdb6a786e8f4ef442b',1,'gpr_thd_options_is_joinable(const gpr_thd_options *options): thd.c'],['../thd_8c.html#afb8d6ad4dcc8ebcdb6a786e8f4ef442b',1,'gpr_thd_options_is_joinable(const gpr_thd_options *options): thd.c']]], + ['gpr_5fthd_5foptions_5fset_5fdetached',['gpr_thd_options_set_detached',['../thd_8h.html#a704882e5c65d29c817fae9173085e5ba',1,'gpr_thd_options_set_detached(gpr_thd_options *options): thd.c'],['../thd_8c.html#a704882e5c65d29c817fae9173085e5ba',1,'gpr_thd_options_set_detached(gpr_thd_options *options): thd.c']]], + ['gpr_5fthd_5foptions_5fset_5fjoinable',['gpr_thd_options_set_joinable',['../thd_8h.html#a87ad3ff4d439450ae1318151c1526745',1,'gpr_thd_options_set_joinable(gpr_thd_options *options): thd.c'],['../thd_8c.html#a87ad3ff4d439450ae1318151c1526745',1,'gpr_thd_options_set_joinable(gpr_thd_options *options): thd.c']]], + ['gpr_5ftime_5f0',['gpr_time_0',['../time_8h.html#a4f552f0628cc389dfbe3674a1a978108',1,'gpr_time_0(gpr_clock_type type): time.c'],['../time_8c.html#a4f552f0628cc389dfbe3674a1a978108',1,'gpr_time_0(gpr_clock_type type): time.c']]], + ['gpr_5ftime_5fadd',['gpr_time_add',['../time_8h.html#a6f2c6fbc9fef45d74670c446e2bad004',1,'gpr_time_add(gpr_timespec a, gpr_timespec b): time.c'],['../time_8c.html#a6f2c6fbc9fef45d74670c446e2bad004',1,'gpr_time_add(gpr_timespec a, gpr_timespec b): time.c']]], + ['gpr_5ftime_5fcmp',['gpr_time_cmp',['../time_8h.html#aeb10778e9b7c1dd7e6c47099d55f0fa0',1,'gpr_time_cmp(gpr_timespec a, gpr_timespec b): time.c'],['../time_8c.html#aeb10778e9b7c1dd7e6c47099d55f0fa0',1,'gpr_time_cmp(gpr_timespec a, gpr_timespec b): time.c']]], + ['gpr_5ftime_5ffrom_5fhours',['gpr_time_from_hours',['../time_8h.html#af7a9aca2af5348cbb8dc835853dc2756',1,'gpr_time_from_hours(long x, gpr_clock_type clock_type): time.c'],['../time_8c.html#ab8e7ff6a62bcd1fda7ea07ee67ffbacd',1,'gpr_time_from_hours(long h, gpr_clock_type type): time.c']]], + ['gpr_5ftime_5ffrom_5fmicros',['gpr_time_from_micros',['../time_8h.html#a79956c6fba5b660aeee24b09ae026d6c',1,'gpr_time_from_micros(long x, gpr_clock_type clock_type): time.c'],['../time_8c.html#a4c0445a26d72673e14ea4c403b69ee65',1,'gpr_time_from_micros(long us, gpr_clock_type type): time.c']]], + ['gpr_5ftime_5ffrom_5fmillis',['gpr_time_from_millis',['../time_8h.html#a491cdb7a2d2da81c337ed4c8c6a24946',1,'gpr_time_from_millis(long x, gpr_clock_type clock_type): time.c'],['../time_8c.html#a3b46878435c03a093b01f23b6a23631b',1,'gpr_time_from_millis(long ms, gpr_clock_type type): time.c']]], + ['gpr_5ftime_5ffrom_5fminutes',['gpr_time_from_minutes',['../time_8h.html#ad2ae89810eabe8c224b15a4ae0991eba',1,'gpr_time_from_minutes(long x, gpr_clock_type clock_type): time.c'],['../time_8c.html#afd411906dd4100d1a359177eaa8e6d5f',1,'gpr_time_from_minutes(long m, gpr_clock_type type): time.c']]], + ['gpr_5ftime_5ffrom_5fnanos',['gpr_time_from_nanos',['../time_8h.html#a16f57f7df5d09bfc38e8b8fcd323e50a',1,'gpr_time_from_nanos(long x, gpr_clock_type clock_type): time.c'],['../time_8c.html#a7b5437762ab2c7b7b31f7ab8e054eb04',1,'gpr_time_from_nanos(long ns, gpr_clock_type type): time.c']]], + ['gpr_5ftime_5ffrom_5fseconds',['gpr_time_from_seconds',['../time_8h.html#a4bc0bd3df3e9537035fc2b8675f01916',1,'gpr_time_from_seconds(long x, gpr_clock_type clock_type): time.c'],['../time_8c.html#ac43b8cfb4ba31a567eb77c2dacda57a7',1,'gpr_time_from_seconds(long s, gpr_clock_type type): time.c']]], + ['gpr_5ftime_5finit',['gpr_time_init',['../time_8h.html#a2a3da26a2eb15fcd312f1b8ef00cad56',1,'time.h']]], + ['gpr_5ftime_5fmax',['gpr_time_max',['../time_8h.html#a4e1c94c1e488381e9f01d4318c2a45d8',1,'gpr_time_max(gpr_timespec a, gpr_timespec b): time.c'],['../time_8c.html#a4e1c94c1e488381e9f01d4318c2a45d8',1,'gpr_time_max(gpr_timespec a, gpr_timespec b): time.c']]], + ['gpr_5ftime_5fmin',['gpr_time_min',['../time_8h.html#af15f574932e56662f57bd3573e3cc469',1,'gpr_time_min(gpr_timespec a, gpr_timespec b): time.c'],['../time_8c.html#af15f574932e56662f57bd3573e3cc469',1,'gpr_time_min(gpr_timespec a, gpr_timespec b): time.c']]], + ['gpr_5ftime_5fsimilar',['gpr_time_similar',['../time_8h.html#a914f666c6cfe709650d96c986600de15',1,'gpr_time_similar(gpr_timespec a, gpr_timespec b, gpr_timespec threshold): time.c'],['../time_8c.html#a914f666c6cfe709650d96c986600de15',1,'gpr_time_similar(gpr_timespec a, gpr_timespec b, gpr_timespec threshold): time.c']]], + ['gpr_5ftime_5fsub',['gpr_time_sub',['../time_8h.html#a1eaf8db9ee9e94bd4af005f1049f967a',1,'gpr_time_sub(gpr_timespec a, gpr_timespec b): time.c'],['../time_8c.html#a1eaf8db9ee9e94bd4af005f1049f967a',1,'gpr_time_sub(gpr_timespec a, gpr_timespec b): time.c']]], + ['gpr_5ftime_5fto_5fmillis',['gpr_time_to_millis',['../time_8h.html#aebea7c2faef2e16b802a5e9ae1f3b7df',1,'gpr_time_to_millis(gpr_timespec timespec): time.c'],['../time_8c.html#a0e913ddb6917c82510ff48d34672f6a1',1,'gpr_time_to_millis(gpr_timespec t): time.c']]], + ['gpr_5ftimespec_5fto_5fmicros',['gpr_timespec_to_micros',['../time_8h.html#a1704f2028070b3c92bd5420864458bac',1,'gpr_timespec_to_micros(gpr_timespec t): time.c'],['../time_8c.html#a1704f2028070b3c92bd5420864458bac',1,'gpr_timespec_to_micros(gpr_timespec t): time.c']]], + ['gpr_5ftls_5fset',['gpr_tls_set',['../tls__pthread_8h.html#a02e97731a7a6668a2cb73a7e791e93ea',1,'tls_pthread.h']]], + ['gpr_5ftmpfile',['gpr_tmpfile',['../file_8h.html#abdc37810133df55be624548f00fd177f',1,'file.h']]], + ['gpr_5funref',['gpr_unref',['../sync_8h.html#a76b570c831b14070c37e708dde91b795',1,'gpr_unref(gpr_refcount *r): sync.c'],['../sync_8c.html#a76b570c831b14070c37e708dde91b795',1,'gpr_unref(gpr_refcount *r): sync.c']]], + ['grpc_5faccept4',['grpc_accept4',['../socket__utils__posix_8h.html#a2f6d1c5f46dff8ac86a5e4df24641060',1,'socket_utils_posix.h']]], + ['grpc_5faccess_5ftoken_5fcredentials_5fcreate',['grpc_access_token_credentials_create',['../grpc__security_8h.html#a7ef8e179bb5d15c81dfd363924db0041',1,'grpc_access_token_credentials_create(const char *access_token): credentials.c'],['../credentials_8c.html#a7ef8e179bb5d15c81dfd363924db0041',1,'grpc_access_token_credentials_create(const char *access_token): credentials.c']]], + ['grpc_5falarm_5fcancel',['grpc_alarm_cancel',['../alarm_8h.html#a921e9a2f728d338f42ad586e6d4eaf60',1,'grpc_alarm_cancel(grpc_alarm *alarm): alarm.c'],['../alarm_8c.html#a921e9a2f728d338f42ad586e6d4eaf60',1,'grpc_alarm_cancel(grpc_alarm *alarm): alarm.c']]], + ['grpc_5falarm_5fcheck',['grpc_alarm_check',['../alarm__internal_8h.html#a28de65beea264f65e15824cbf866d863',1,'grpc_alarm_check(gpr_mu *drop_mu, gpr_timespec now, gpr_timespec *next): alarm.c'],['../alarm_8c.html#a28de65beea264f65e15824cbf866d863',1,'grpc_alarm_check(gpr_mu *drop_mu, gpr_timespec now, gpr_timespec *next): alarm.c']]], + ['grpc_5falarm_5fheap_5fadd',['grpc_alarm_heap_add',['../alarm__heap_8h.html#a96e6b49b0020da6f3163dfaeac36fed4',1,'grpc_alarm_heap_add(grpc_alarm_heap *heap, grpc_alarm *alarm): alarm_heap.c'],['../alarm__heap_8c.html#a96e6b49b0020da6f3163dfaeac36fed4',1,'grpc_alarm_heap_add(grpc_alarm_heap *heap, grpc_alarm *alarm): alarm_heap.c']]], + ['grpc_5falarm_5fheap_5fdestroy',['grpc_alarm_heap_destroy',['../alarm__heap_8h.html#a827cbed1eadd7b307da4f509bb0e4ff9',1,'grpc_alarm_heap_destroy(grpc_alarm_heap *heap): alarm_heap.c'],['../alarm__heap_8c.html#a827cbed1eadd7b307da4f509bb0e4ff9',1,'grpc_alarm_heap_destroy(grpc_alarm_heap *heap): alarm_heap.c']]], + ['grpc_5falarm_5fheap_5finit',['grpc_alarm_heap_init',['../alarm__heap_8h.html#a353a4a1809ac4546d62b3098dda8f674',1,'grpc_alarm_heap_init(grpc_alarm_heap *heap): alarm_heap.c'],['../alarm__heap_8c.html#a353a4a1809ac4546d62b3098dda8f674',1,'grpc_alarm_heap_init(grpc_alarm_heap *heap): alarm_heap.c']]], + ['grpc_5falarm_5fheap_5fis_5fempty',['grpc_alarm_heap_is_empty',['../alarm__heap_8h.html#a52d3c052d322cc97ced32a68bd9048cb',1,'grpc_alarm_heap_is_empty(grpc_alarm_heap *heap): alarm_heap.c'],['../alarm__heap_8c.html#a52d3c052d322cc97ced32a68bd9048cb',1,'grpc_alarm_heap_is_empty(grpc_alarm_heap *heap): alarm_heap.c']]], + ['grpc_5falarm_5fheap_5fpop',['grpc_alarm_heap_pop',['../alarm__heap_8h.html#a40cf7d2741c1640309682f14cafbb029',1,'grpc_alarm_heap_pop(grpc_alarm_heap *heap): alarm_heap.c'],['../alarm__heap_8c.html#a40cf7d2741c1640309682f14cafbb029',1,'grpc_alarm_heap_pop(grpc_alarm_heap *heap): alarm_heap.c']]], + ['grpc_5falarm_5fheap_5fremove',['grpc_alarm_heap_remove',['../alarm__heap_8h.html#a69c5b3ff692b6ca36c48d727acd45e9c',1,'grpc_alarm_heap_remove(grpc_alarm_heap *heap, grpc_alarm *alarm): alarm_heap.c'],['../alarm__heap_8c.html#a69c5b3ff692b6ca36c48d727acd45e9c',1,'grpc_alarm_heap_remove(grpc_alarm_heap *heap, grpc_alarm *alarm): alarm_heap.c']]], + ['grpc_5falarm_5fheap_5ftop',['grpc_alarm_heap_top',['../alarm__heap_8h.html#a1c81a64c942586da4313547cc8d259ea',1,'grpc_alarm_heap_top(grpc_alarm_heap *heap): alarm_heap.c'],['../alarm__heap_8c.html#a1c81a64c942586da4313547cc8d259ea',1,'grpc_alarm_heap_top(grpc_alarm_heap *heap): alarm_heap.c']]], + ['grpc_5falarm_5finit',['grpc_alarm_init',['../alarm_8h.html#a50483486a229b573a29ed9fa30807999',1,'grpc_alarm_init(grpc_alarm *alarm, gpr_timespec deadline, grpc_iomgr_cb_func alarm_cb, void *alarm_cb_arg, gpr_timespec now): alarm.c'],['../alarm_8c.html#a50483486a229b573a29ed9fa30807999',1,'grpc_alarm_init(grpc_alarm *alarm, gpr_timespec deadline, grpc_iomgr_cb_func alarm_cb, void *alarm_cb_arg, gpr_timespec now): alarm.c']]], + ['grpc_5falarm_5flist_5finit',['grpc_alarm_list_init',['../alarm__internal_8h.html#a7f76e290e84d187382a25d0d6999067e',1,'grpc_alarm_list_init(gpr_timespec now): alarm.c'],['../alarm_8c.html#a7f76e290e84d187382a25d0d6999067e',1,'grpc_alarm_list_init(gpr_timespec now): alarm.c']]], + ['grpc_5falarm_5flist_5fnext_5ftimeout',['grpc_alarm_list_next_timeout',['../alarm__internal_8h.html#a257c1eaf2f1c2f352893dcc0af034dfa',1,'grpc_alarm_list_next_timeout(void): alarm.c'],['../alarm_8c.html#a257c1eaf2f1c2f352893dcc0af034dfa',1,'grpc_alarm_list_next_timeout(void): alarm.c']]], + ['grpc_5falarm_5flist_5fshutdown',['grpc_alarm_list_shutdown',['../alarm__internal_8h.html#a768994cd3fff1f9b3ca7805dee7b3831',1,'grpc_alarm_list_shutdown(void): alarm.c'],['../alarm_8c.html#a768994cd3fff1f9b3ca7805dee7b3831',1,'grpc_alarm_list_shutdown(void): alarm.c']]], + ['grpc_5fauth_5fcontext_5fcreate',['grpc_auth_context_create',['../security__context_8h.html#ab81f0d925a8aefc04349a849e63d9d25',1,'grpc_auth_context_create(grpc_auth_context *chained, size_t property_count): security_context.c'],['../security__context_8c.html#ab81f0d925a8aefc04349a849e63d9d25',1,'grpc_auth_context_create(grpc_auth_context *chained, size_t property_count): security_context.c']]], + ['grpc_5fauth_5fcontext_5ffind_5fproperties_5fby_5fname',['grpc_auth_context_find_properties_by_name',['../grpc__security_8h.html#a5298ac64614986581fc314f63fa9afd7',1,'grpc_auth_context_find_properties_by_name(const grpc_auth_context *ctx, const char *name): security_context.c'],['../security__context_8c.html#a5298ac64614986581fc314f63fa9afd7',1,'grpc_auth_context_find_properties_by_name(const grpc_auth_context *ctx, const char *name): security_context.c']]], + ['grpc_5fauth_5fcontext_5fpeer_5fidentity',['grpc_auth_context_peer_identity',['../grpc__security_8h.html#a144c6f3a56c8592489b3978e0c5caced',1,'grpc_auth_context_peer_identity(const grpc_auth_context *ctx): security_context.c'],['../security__context_8c.html#a144c6f3a56c8592489b3978e0c5caced',1,'grpc_auth_context_peer_identity(const grpc_auth_context *ctx): security_context.c']]], + ['grpc_5fauth_5fcontext_5fpeer_5fidentity_5fproperty_5fname',['grpc_auth_context_peer_identity_property_name',['../grpc__security_8h.html#ac05022ccd5b972ba089950437727ff23',1,'grpc_auth_context_peer_identity_property_name(const grpc_auth_context *ctx): security_context.c'],['../security__context_8c.html#ac05022ccd5b972ba089950437727ff23',1,'grpc_auth_context_peer_identity_property_name(const grpc_auth_context *ctx): security_context.c']]], + ['grpc_5fauth_5fcontext_5fpeer_5fis_5fauthenticated',['grpc_auth_context_peer_is_authenticated',['../grpc__security_8h.html#af33fe6681dedb389edbf708020680093',1,'grpc_auth_context_peer_is_authenticated(const grpc_auth_context *ctx): security_context.c'],['../security__context_8c.html#af33fe6681dedb389edbf708020680093',1,'grpc_auth_context_peer_is_authenticated(const grpc_auth_context *ctx): security_context.c']]], + ['grpc_5fauth_5fcontext_5fproperty_5fiterator',['grpc_auth_context_property_iterator',['../grpc__security_8h.html#aaad9fed074f7aebed63ed075bb6ff780',1,'grpc_auth_context_property_iterator(const grpc_auth_context *ctx): security_context.c'],['../security__context_8c.html#aaad9fed074f7aebed63ed075bb6ff780',1,'grpc_auth_context_property_iterator(const grpc_auth_context *ctx): security_context.c']]], + ['grpc_5fauth_5fcontext_5fref',['grpc_auth_context_ref',['../security__context_8h.html#aafcd59997402fd705818b3ce8e374623',1,'grpc_auth_context_ref(grpc_auth_context *policy): security_context.c'],['../security__context_8c.html#a449824176a9f6c79ee461e476f409aec',1,'grpc_auth_context_ref(grpc_auth_context *ctx): security_context.c']]], + ['grpc_5fauth_5fcontext_5frelease',['grpc_auth_context_release',['../grpc__security_8h.html#a2eea99f76030b21ad58afdf615f4d2b9',1,'grpc_auth_context_release(grpc_auth_context *context): security_context.c'],['../security__context_8c.html#a2eea99f76030b21ad58afdf615f4d2b9',1,'grpc_auth_context_release(grpc_auth_context *context): security_context.c']]], + ['grpc_5fauth_5fcontext_5funref',['grpc_auth_context_unref',['../security__context_8h.html#a19e637927ac80502fe6093a2669674da',1,'grpc_auth_context_unref(grpc_auth_context *policy): security_context.c'],['../security__context_8c.html#a0a12ed60416acacf11756afc6b2bcf33',1,'grpc_auth_context_unref(grpc_auth_context *ctx): security_context.c']]], + ['grpc_5fauth_5fjson_5fkey_5fcreate_5ffrom_5fjson',['grpc_auth_json_key_create_from_json',['../json__token_8h.html#a99327b0fd2f13d8c98ebb68aecde0194',1,'grpc_auth_json_key_create_from_json(const grpc_json *json): json_token.c'],['../json__token_8c.html#a99327b0fd2f13d8c98ebb68aecde0194',1,'grpc_auth_json_key_create_from_json(const grpc_json *json): json_token.c']]], + ['grpc_5fauth_5fjson_5fkey_5fcreate_5ffrom_5fstring',['grpc_auth_json_key_create_from_string',['../json__token_8h.html#aed79d1eb6161019cd427d7dc4bdc8462',1,'grpc_auth_json_key_create_from_string(const char *json_string): json_token.c'],['../json__token_8c.html#aed79d1eb6161019cd427d7dc4bdc8462',1,'grpc_auth_json_key_create_from_string(const char *json_string): json_token.c']]], + ['grpc_5fauth_5fjson_5fkey_5fdestruct',['grpc_auth_json_key_destruct',['../json__token_8h.html#a0be195f2d8dad589b59befaaf379deb7',1,'grpc_auth_json_key_destruct(grpc_auth_json_key *json_key): json_token.c'],['../json__token_8c.html#a0be195f2d8dad589b59befaaf379deb7',1,'grpc_auth_json_key_destruct(grpc_auth_json_key *json_key): json_token.c']]], + ['grpc_5fauth_5fjson_5fkey_5fis_5fvalid',['grpc_auth_json_key_is_valid',['../json__token_8h.html#ac4a86a67c8b9cd4b8b142fe880099689',1,'grpc_auth_json_key_is_valid(const grpc_auth_json_key *json_key): json_token.c'],['../json__token_8c.html#ac4a86a67c8b9cd4b8b142fe880099689',1,'grpc_auth_json_key_is_valid(const grpc_auth_json_key *json_key): json_token.c']]], + ['grpc_5fauth_5fproperty_5finit',['grpc_auth_property_init',['../security__context_8h.html#a816adda9cd16c9f8087a1f11b1f7154a',1,'grpc_auth_property_init(const char *name, const char *value, size_t value_length): security_context.c'],['../security__context_8c.html#a816adda9cd16c9f8087a1f11b1f7154a',1,'grpc_auth_property_init(const char *name, const char *value, size_t value_length): security_context.c']]], + ['grpc_5fauth_5fproperty_5finit_5ffrom_5fcstring',['grpc_auth_property_init_from_cstring',['../security__context_8h.html#a9ffe10ffd7c0397eb9656a5017ba0e58',1,'grpc_auth_property_init_from_cstring(const char *name, const char *value): security_context.c'],['../security__context_8c.html#a9ffe10ffd7c0397eb9656a5017ba0e58',1,'grpc_auth_property_init_from_cstring(const char *name, const char *value): security_context.c']]], + ['grpc_5fauth_5fproperty_5fiterator_5fnext',['grpc_auth_property_iterator_next',['../grpc__security_8h.html#ac20e3890d5e5e0de6ae6b5cb57cae1ae',1,'grpc_auth_property_iterator_next(grpc_auth_property_iterator *it): security_context.c'],['../security__context_8c.html#ac20e3890d5e5e0de6ae6b5cb57cae1ae',1,'grpc_auth_property_iterator_next(grpc_auth_property_iterator *it): security_context.c']]], + ['grpc_5fauth_5fproperty_5freset',['grpc_auth_property_reset',['../security__context_8h.html#a9721c8f46ab15103ee4f69cf49c04195',1,'grpc_auth_property_reset(grpc_auth_property *property): security_context.c'],['../security__context_8c.html#a9721c8f46ab15103ee4f69cf49c04195',1,'grpc_auth_property_reset(grpc_auth_property *property): security_context.c']]], + ['grpc_5fauth_5frefresh_5ftoken_5fcreate_5ffrom_5fjson',['grpc_auth_refresh_token_create_from_json',['../json__token_8h.html#a31e46f408f67e61eb59471816d7394d9',1,'grpc_auth_refresh_token_create_from_json(const grpc_json *json): json_token.c'],['../json__token_8c.html#a31e46f408f67e61eb59471816d7394d9',1,'grpc_auth_refresh_token_create_from_json(const grpc_json *json): json_token.c']]], + ['grpc_5fauth_5frefresh_5ftoken_5fcreate_5ffrom_5fstring',['grpc_auth_refresh_token_create_from_string',['../json__token_8h.html#aa8602827c182047ae58ff6f8d55fcf06',1,'grpc_auth_refresh_token_create_from_string(const char *json_string): json_token.c'],['../json__token_8c.html#aa8602827c182047ae58ff6f8d55fcf06',1,'grpc_auth_refresh_token_create_from_string(const char *json_string): json_token.c']]], + ['grpc_5fauth_5frefresh_5ftoken_5fdestruct',['grpc_auth_refresh_token_destruct',['../json__token_8h.html#a14f7331e37fa96ee4652780610e1b773',1,'grpc_auth_refresh_token_destruct(grpc_auth_refresh_token *refresh_token): json_token.c'],['../json__token_8c.html#a14f7331e37fa96ee4652780610e1b773',1,'grpc_auth_refresh_token_destruct(grpc_auth_refresh_token *refresh_token): json_token.c']]], + ['grpc_5fauth_5frefresh_5ftoken_5fis_5fvalid',['grpc_auth_refresh_token_is_valid',['../json__token_8h.html#a9b1a8c0e0fda0b36dc2ad142f276002f',1,'grpc_auth_refresh_token_is_valid(const grpc_auth_refresh_token *refresh_token): json_token.c'],['../json__token_8c.html#a9b1a8c0e0fda0b36dc2ad142f276002f',1,'grpc_auth_refresh_token_is_valid(const grpc_auth_refresh_token *refresh_token): json_token.c']]], + ['grpc_5fbase64_5fdecode',['grpc_base64_decode',['../base64_8h.html#a81bf1bd8387f2d69d6fe48e463a40c96',1,'grpc_base64_decode(const char *b64, int url_safe): base64.c'],['../base64_8c.html#a81bf1bd8387f2d69d6fe48e463a40c96',1,'grpc_base64_decode(const char *b64, int url_safe): base64.c']]], + ['grpc_5fbase64_5fdecode_5fwith_5flen',['grpc_base64_decode_with_len',['../base64_8h.html#a2d9a616e303d93f4cb0733fe96a0f28f',1,'grpc_base64_decode_with_len(const char *b64, size_t b64_len, int url_safe): base64.c'],['../base64_8c.html#a2d9a616e303d93f4cb0733fe96a0f28f',1,'grpc_base64_decode_with_len(const char *b64, size_t b64_len, int url_safe): base64.c']]], + ['grpc_5fbase64_5fencode',['grpc_base64_encode',['../base64_8h.html#af3751ba76aa864e4983cea879fb437d8',1,'grpc_base64_encode(const void *data, size_t data_size, int url_safe, int multiline): base64.c'],['../base64_8c.html#a52b0da4b71404bafb66d7cd2d6bc898a',1,'grpc_base64_encode(const void *vdata, size_t data_size, int url_safe, int multiline): base64.c']]], + ['grpc_5fbbq_5fbytes',['grpc_bbq_bytes',['../byte__buffer__queue_8h.html#a86c63b57cc95e136b8de2592e4dedf28',1,'grpc_bbq_bytes(grpc_byte_buffer_queue *q): byte_buffer_queue.c'],['../byte__buffer__queue_8c.html#a86c63b57cc95e136b8de2592e4dedf28',1,'grpc_bbq_bytes(grpc_byte_buffer_queue *q): byte_buffer_queue.c']]], + ['grpc_5fbbq_5fdestroy',['grpc_bbq_destroy',['../byte__buffer__queue_8h.html#ae1f26933a5e6e643c3c31de676804edb',1,'grpc_bbq_destroy(grpc_byte_buffer_queue *q): byte_buffer_queue.c'],['../byte__buffer__queue_8c.html#ae1f26933a5e6e643c3c31de676804edb',1,'grpc_bbq_destroy(grpc_byte_buffer_queue *q): byte_buffer_queue.c']]], + ['grpc_5fbbq_5fempty',['grpc_bbq_empty',['../byte__buffer__queue_8h.html#aaa5f8cf8f94340a6e2f6c803a8001c15',1,'grpc_bbq_empty(grpc_byte_buffer_queue *q): byte_buffer_queue.c'],['../byte__buffer__queue_8c.html#aaa5f8cf8f94340a6e2f6c803a8001c15',1,'grpc_bbq_empty(grpc_byte_buffer_queue *q): byte_buffer_queue.c']]], + ['grpc_5fbbq_5fflush',['grpc_bbq_flush',['../byte__buffer__queue_8h.html#a8308c0116008c7abd4554a34a549e94a',1,'grpc_bbq_flush(grpc_byte_buffer_queue *q): byte_buffer_queue.c'],['../byte__buffer__queue_8c.html#a8308c0116008c7abd4554a34a549e94a',1,'grpc_bbq_flush(grpc_byte_buffer_queue *q): byte_buffer_queue.c']]], + ['grpc_5fbbq_5fpop',['grpc_bbq_pop',['../byte__buffer__queue_8h.html#a0539ad1d8c25d3060475370bcc9d37c5',1,'grpc_bbq_pop(grpc_byte_buffer_queue *q): byte_buffer_queue.c'],['../byte__buffer__queue_8c.html#a0539ad1d8c25d3060475370bcc9d37c5',1,'grpc_bbq_pop(grpc_byte_buffer_queue *q): byte_buffer_queue.c']]], + ['grpc_5fbbq_5fpush',['grpc_bbq_push',['../byte__buffer__queue_8h.html#a28f3a949b2a27c25929fdb86819e4dae',1,'grpc_bbq_push(grpc_byte_buffer_queue *q, grpc_byte_buffer *bb): byte_buffer_queue.c'],['../byte__buffer__queue_8c.html#a34702570a1438c8cf7a4dcdcc65a5891',1,'grpc_bbq_push(grpc_byte_buffer_queue *q, grpc_byte_buffer *buffer): byte_buffer_queue.c']]], + ['grpc_5fblocking_5fresolve_5faddress',['grpc_blocking_resolve_address',['../resolve__address_8h.html#a92567a2b60cddf219f240a07212fff7c',1,'resolve_address.h']]], + ['grpc_5fbyte_5fbuffer_5fcopy',['grpc_byte_buffer_copy',['../byte__buffer_8h.html#aac8a5605c5de93a78da7e8ca06a80efb',1,'grpc_byte_buffer_copy(grpc_byte_buffer *bb): byte_buffer.c'],['../byte__buffer_8c.html#aac8a5605c5de93a78da7e8ca06a80efb',1,'grpc_byte_buffer_copy(grpc_byte_buffer *bb): byte_buffer.c']]], + ['grpc_5fbyte_5fbuffer_5fdestroy',['grpc_byte_buffer_destroy',['../byte__buffer_8h.html#a5a9ccea69a6ba41d34a6985837fd88f5',1,'grpc_byte_buffer_destroy(grpc_byte_buffer *byte_buffer): byte_buffer.c'],['../byte__buffer_8c.html#a0099fc01264d8aeb7cd56dfb58652d22',1,'grpc_byte_buffer_destroy(grpc_byte_buffer *bb): byte_buffer.c']]], + ['grpc_5fbyte_5fbuffer_5flength',['grpc_byte_buffer_length',['../byte__buffer_8h.html#a61b6ac03d6a50664786e45d616ba435d',1,'grpc_byte_buffer_length(grpc_byte_buffer *bb): byte_buffer.c'],['../byte__buffer_8c.html#a61b6ac03d6a50664786e45d616ba435d',1,'grpc_byte_buffer_length(grpc_byte_buffer *bb): byte_buffer.c']]], + ['grpc_5fbyte_5fbuffer_5freader_5fdestroy',['grpc_byte_buffer_reader_destroy',['../byte__buffer_8h.html#aed5f40a76941741b7672c14f15be0778',1,'grpc_byte_buffer_reader_destroy(grpc_byte_buffer_reader *reader): byte_buffer_reader.c'],['../byte__buffer__reader_8c.html#aed5f40a76941741b7672c14f15be0778',1,'grpc_byte_buffer_reader_destroy(grpc_byte_buffer_reader *reader): byte_buffer_reader.c']]], + ['grpc_5fbyte_5fbuffer_5freader_5finit',['grpc_byte_buffer_reader_init',['../byte__buffer_8h.html#a71016674849f4f57c1a4319d7964d268',1,'grpc_byte_buffer_reader_init(grpc_byte_buffer_reader *reader, grpc_byte_buffer *buffer): byte_buffer_reader.c'],['../byte__buffer__reader_8c.html#a71016674849f4f57c1a4319d7964d268',1,'grpc_byte_buffer_reader_init(grpc_byte_buffer_reader *reader, grpc_byte_buffer *buffer): byte_buffer_reader.c']]], + ['grpc_5fbyte_5fbuffer_5freader_5fnext',['grpc_byte_buffer_reader_next',['../byte__buffer_8h.html#aff713900a0177997a0be49a40781bcc9',1,'grpc_byte_buffer_reader_next(grpc_byte_buffer_reader *reader, gpr_slice *slice): byte_buffer_reader.c'],['../byte__buffer__reader_8c.html#aff713900a0177997a0be49a40781bcc9',1,'grpc_byte_buffer_reader_next(grpc_byte_buffer_reader *reader, gpr_slice *slice): byte_buffer_reader.c']]], + ['grpc_5fcall_5fauth_5fcontext',['grpc_call_auth_context',['../grpc__security_8h.html#a0b439e6d2875c8b5e2e901a959f6a2fe',1,'grpc_call_auth_context(grpc_call *call): security_context.c'],['../security__context_8c.html#a0b439e6d2875c8b5e2e901a959f6a2fe',1,'grpc_call_auth_context(grpc_call *call): security_context.c']]], + ['grpc_5fcall_5fcancel',['grpc_call_cancel',['../grpc_8h.html#adce32a3168cfc0048423af94a3961878',1,'grpc_call_cancel(grpc_call *call): call.c'],['../call_8c.html#adce32a3168cfc0048423af94a3961878',1,'grpc_call_cancel(grpc_call *call): call.c']]], + ['grpc_5fcall_5fcancel_5fwith_5fstatus',['grpc_call_cancel_with_status',['../grpc_8h.html#a8332e3ac6611ae4012ed17707d7dbcf2',1,'grpc_call_cancel_with_status(grpc_call *call, grpc_status_code status, const char *description): call.c'],['../call_8c.html#a1adb0f85dd491cc47dd8da655c4e30a6',1,'grpc_call_cancel_with_status(grpc_call *c, grpc_status_code status, const char *description): call.c']]], + ['grpc_5fcall_5fcontext_5fget',['grpc_call_context_get',['../call_8h.html#a039322642b1682808002d1302c248c5f',1,'grpc_call_context_get(grpc_call *call, grpc_context_index elem): call.c'],['../call_8c.html#a039322642b1682808002d1302c248c5f',1,'grpc_call_context_get(grpc_call *call, grpc_context_index elem): call.c']]], + ['grpc_5fcall_5fcontext_5fset',['grpc_call_context_set',['../call_8h.html#adad531b2cfc5574dbc4bebaafe0db1e9',1,'grpc_call_context_set(grpc_call *call, grpc_context_index elem, void *value, void(*destroy)(void *value)): call.c'],['../call_8c.html#adad531b2cfc5574dbc4bebaafe0db1e9',1,'grpc_call_context_set(grpc_call *call, grpc_context_index elem, void *value, void(*destroy)(void *value)): call.c']]], + ['grpc_5fcall_5fcreate',['grpc_call_create',['../call_8h.html#a0199bd70012c6e2dfa8667dd1d280109',1,'grpc_call_create(grpc_channel *channel, grpc_completion_queue *cq, const void *server_transport_data, grpc_mdelem **add_initial_metadata, size_t add_initial_metadata_count, gpr_timespec send_deadline): call.c'],['../call_8c.html#a0199bd70012c6e2dfa8667dd1d280109',1,'grpc_call_create(grpc_channel *channel, grpc_completion_queue *cq, const void *server_transport_data, grpc_mdelem **add_initial_metadata, size_t add_initial_metadata_count, gpr_timespec send_deadline): call.c']]], + ['grpc_5fcall_5fdestroy',['grpc_call_destroy',['../grpc_8h.html#a3edbb9347e32fd0152c8ed4bbbaf5125',1,'grpc_call_destroy(grpc_call *call): call.c'],['../call_8c.html#a456f491fd120a1561aa8cd1178ddb4c7',1,'grpc_call_destroy(grpc_call *c): call.c']]], + ['grpc_5fcall_5fdetails_5fdestroy',['grpc_call_details_destroy',['../grpc_8h.html#a436819189c9155a0761db7667f9078f9',1,'grpc_call_details_destroy(grpc_call_details *details): call_details.c'],['../call__details_8c.html#a8ac75052ac470570689777a7a2684012',1,'grpc_call_details_destroy(grpc_call_details *cd): call_details.c']]], + ['grpc_5fcall_5fdetails_5finit',['grpc_call_details_init',['../grpc_8h.html#a29fa3bfb0a561ba465260154a4ef3bb5',1,'grpc_call_details_init(grpc_call_details *details): call_details.c'],['../call__details_8c.html#aec87c14a6d7452bfb029af6a317a6cff',1,'grpc_call_details_init(grpc_call_details *cd): call_details.c']]], + ['grpc_5fcall_5felement_5fsend_5fcancel',['grpc_call_element_send_cancel',['../channel__stack_8h.html#a7127b6c0b4d14c70e23e65875c7b6bc5',1,'grpc_call_element_send_cancel(grpc_call_element *cur_elem): channel_stack.c'],['../channel__stack_8c.html#a7127b6c0b4d14c70e23e65875c7b6bc5',1,'grpc_call_element_send_cancel(grpc_call_element *cur_elem): channel_stack.c']]], + ['grpc_5fcall_5ffrom_5ftop_5felement',['grpc_call_from_top_element',['../call_8h.html#a86f68a55fd9421d297c43cb4f0911d1e',1,'grpc_call_from_top_element(grpc_call_element *surface_element): call.c'],['../call_8c.html#a92d6bdbeddb5e6918e118bc0979a1a9b',1,'grpc_call_from_top_element(grpc_call_element *elem): call.c']]], + ['grpc_5fcall_5fget_5fcall_5fstack',['grpc_call_get_call_stack',['../call_8h.html#a089e0677c51d9a5d4a4a7e582f86b27f',1,'grpc_call_get_call_stack(grpc_call *call): call.c'],['../call_8c.html#a089e0677c51d9a5d4a4a7e582f86b27f',1,'grpc_call_get_call_stack(grpc_call *call): call.c']]], + ['grpc_5fcall_5fget_5fcompletion_5fqueue',['grpc_call_get_completion_queue',['../call_8h.html#a383950ef84646c0f3cb3cb38807503db',1,'grpc_call_get_completion_queue(grpc_call *call): call.c'],['../call_8c.html#a383950ef84646c0f3cb3cb38807503db',1,'grpc_call_get_completion_queue(grpc_call *call): call.c']]], + ['grpc_5fcall_5fget_5fcompression_5falgorithm',['grpc_call_get_compression_algorithm',['../call_8c.html#a5128cbee3e5ed3cd97b4043c0f6d7d04',1,'call.c']]], + ['grpc_5fcall_5fget_5fpeer',['grpc_call_get_peer',['../grpc_8h.html#adf4ac8b78da7b957ce05dc0f62719ada',1,'grpc_call_get_peer(grpc_call *call): call.c'],['../call_8c.html#adf4ac8b78da7b957ce05dc0f62719ada',1,'grpc_call_get_peer(grpc_call *call): call.c']]], + ['grpc_5fcall_5finternal_5fref',['grpc_call_internal_ref',['../call_8h.html#a6845825cac8a628227db13fef74ac84d',1,'grpc_call_internal_ref(grpc_call *call): call.c'],['../call_8c.html#afdbe0f591e358205051b2af04a8df4f8',1,'grpc_call_internal_ref(grpc_call *c): call.c']]], + ['grpc_5fcall_5finternal_5funref',['grpc_call_internal_unref',['../call_8h.html#a5f5aa8da7ebb5abc159c079891fbbe76',1,'grpc_call_internal_unref(grpc_call *call, int allow_immediate_deletion): call.c'],['../call_8c.html#afc70fe56761341f774d1b03a55a0e0e9',1,'grpc_call_internal_unref(grpc_call *c, int allow_immediate_deletion): call.c']]], + ['grpc_5fcall_5fis_5fclient',['grpc_call_is_client',['../call_8h.html#af101e4a67c8995de55cbd8b113e3b394',1,'grpc_call_is_client(grpc_call *call): call.c'],['../call_8c.html#af101e4a67c8995de55cbd8b113e3b394',1,'grpc_call_is_client(grpc_call *call): call.c']]], + ['grpc_5fcall_5flog_5fbatch',['grpc_call_log_batch',['../call_8h.html#a70fab32081ad1821de8bf3979cfa01d6',1,'grpc_call_log_batch(char *file, int line, gpr_log_severity severity, grpc_call *call, const grpc_op *ops, size_t nops, void *tag): call_log_batch.c'],['../call__log__batch_8c.html#a70fab32081ad1821de8bf3979cfa01d6',1,'grpc_call_log_batch(char *file, int line, gpr_log_severity severity, grpc_call *call, const grpc_op *ops, size_t nops, void *tag): call_log_batch.c']]], + ['grpc_5fcall_5flog_5fop',['grpc_call_log_op',['../channel__stack_8h.html#aa821d8d1e991cb36c971c6524d2ea5ee',1,'grpc_call_log_op(char *file, int line, gpr_log_severity severity, grpc_call_element *elem, grpc_transport_stream_op *op): transport_op_string.c'],['../transport__op__string_8c.html#aa821d8d1e991cb36c971c6524d2ea5ee',1,'grpc_call_log_op(char *file, int line, gpr_log_severity severity, grpc_call_element *elem, grpc_transport_stream_op *op): transport_op_string.c']]], + ['grpc_5fcall_5fnext_5fget_5fpeer',['grpc_call_next_get_peer',['../channel__stack_8h.html#a40c122e470335bb7a6edf1e0a31fc801',1,'grpc_call_next_get_peer(grpc_call_element *elem): channel_stack.c'],['../channel__stack_8c.html#a40c122e470335bb7a6edf1e0a31fc801',1,'grpc_call_next_get_peer(grpc_call_element *elem): channel_stack.c']]], + ['grpc_5fcall_5fnext_5fop',['grpc_call_next_op',['../channel__stack_8h.html#af52cb36e243fc3bfb81ebca882346ce9',1,'grpc_call_next_op(grpc_call_element *elem, grpc_transport_stream_op *op): channel_stack.c'],['../channel__stack_8c.html#af52cb36e243fc3bfb81ebca882346ce9',1,'grpc_call_next_op(grpc_call_element *elem, grpc_transport_stream_op *op): channel_stack.c']]], + ['grpc_5fcall_5fset_5fcompletion_5fqueue',['grpc_call_set_completion_queue',['../call_8h.html#a29e0a4ca5d3d86c071b41dcb30c117bd',1,'grpc_call_set_completion_queue(grpc_call *call, grpc_completion_queue *cq): call.c'],['../call_8c.html#a29e0a4ca5d3d86c071b41dcb30c117bd',1,'grpc_call_set_completion_queue(grpc_call *call, grpc_completion_queue *cq): call.c']]], + ['grpc_5fcall_5fset_5fcredentials',['grpc_call_set_credentials',['../grpc__security_8h.html#a56de54ae2563e67e236c10e8fa419f60',1,'grpc_call_set_credentials(grpc_call *call, grpc_credentials *creds): security_context.c'],['../security__context_8c.html#a56de54ae2563e67e236c10e8fa419f60',1,'grpc_call_set_credentials(grpc_call *call, grpc_credentials *creds): security_context.c']]], + ['grpc_5fcall_5fstack_5fdestroy',['grpc_call_stack_destroy',['../channel__stack_8h.html#a441c43095f765c200e679230a11c6116',1,'grpc_call_stack_destroy(grpc_call_stack *stack): channel_stack.c'],['../channel__stack_8c.html#a441c43095f765c200e679230a11c6116',1,'grpc_call_stack_destroy(grpc_call_stack *stack): channel_stack.c']]], + ['grpc_5fcall_5fstack_5felement',['grpc_call_stack_element',['../channel__stack_8h.html#adbba36449dd62d534cadc0de6c25bb17',1,'grpc_call_stack_element(grpc_call_stack *stack, size_t i): channel_stack.c'],['../channel__stack_8c.html#a32b8a3c21a1e805669af3569b6c4a333',1,'grpc_call_stack_element(grpc_call_stack *call_stack, size_t index): channel_stack.c']]], + ['grpc_5fcall_5fstack_5ffrom_5ftop_5felement',['grpc_call_stack_from_top_element',['../channel__stack_8h.html#a90d6131bc8142e1516618bd2e4daf58c',1,'grpc_call_stack_from_top_element(grpc_call_element *elem): channel_stack.c'],['../channel__stack_8c.html#a90d6131bc8142e1516618bd2e4daf58c',1,'grpc_call_stack_from_top_element(grpc_call_element *elem): channel_stack.c']]], + ['grpc_5fcall_5fstack_5finit',['grpc_call_stack_init',['../channel__stack_8h.html#ac7f3085338ed96593ca7c814cd6d705d',1,'grpc_call_stack_init(grpc_channel_stack *channel_stack, const void *transport_server_data, grpc_transport_stream_op *initial_op, grpc_call_stack *call_stack): channel_stack.c'],['../channel__stack_8c.html#ac7f3085338ed96593ca7c814cd6d705d',1,'grpc_call_stack_init(grpc_channel_stack *channel_stack, const void *transport_server_data, grpc_transport_stream_op *initial_op, grpc_call_stack *call_stack): channel_stack.c']]], + ['grpc_5fcall_5fstart_5fbatch',['grpc_call_start_batch',['../grpc_8h.html#ae0e60993c9d6e5ceccaf2e61f690b101',1,'grpc_call_start_batch(grpc_call *call, const grpc_op *ops, size_t nops, void *tag): call.c'],['../call_8c.html#ae0e60993c9d6e5ceccaf2e61f690b101',1,'grpc_call_start_batch(grpc_call *call, const grpc_op *ops, size_t nops, void *tag): call.c']]], + ['grpc_5fcall_5fstart_5fioreq_5fand_5fcall_5fback',['grpc_call_start_ioreq_and_call_back',['../call_8h.html#aef30c2ddcfea12c0df20548f32b4378d',1,'grpc_call_start_ioreq_and_call_back(grpc_call *call, const grpc_ioreq *reqs, size_t nreqs, grpc_ioreq_completion_func on_complete, void *user_data): call.c'],['../call_8c.html#aef30c2ddcfea12c0df20548f32b4378d',1,'grpc_call_start_ioreq_and_call_back(grpc_call *call, const grpc_ioreq *reqs, size_t nreqs, grpc_ioreq_completion_func on_complete, void *user_data): call.c']]], + ['grpc_5fcensus_5fcall_5fget_5fcontext',['grpc_census_call_get_context',['../grpc_8h.html#a0f2c6a97262a251d18b76ad470af0e66',1,'grpc_census_call_get_context(grpc_call *call): grpc_context.c'],['../grpc__context_8c.html#a333e4c9a18683ab7a0db218df7a5fc6e',1,'grpc_census_call_get_context(grpc_call *call): grpc_context.c']]], + ['grpc_5fcensus_5fcall_5fset_5fcontext',['grpc_census_call_set_context',['../grpc_8h.html#a9d5bbdac3a9068747ef3639c4e52af9a',1,'grpc_census_call_set_context(grpc_call *call, struct census_context *context): grpc_context.c'],['../grpc__context_8c.html#afe9f71e9469141cc38cf3ec1375830ce',1,'grpc_census_call_set_context(grpc_call *call, census_context *context): grpc_context.c']]], + ['grpc_5fchannel_5fargs_5fcopy',['grpc_channel_args_copy',['../channel__args_8h.html#aea7141804d69de11c1470197ad87b45d',1,'grpc_channel_args_copy(const grpc_channel_args *src): channel_args.c'],['../channel__args_8c.html#aea7141804d69de11c1470197ad87b45d',1,'grpc_channel_args_copy(const grpc_channel_args *src): channel_args.c']]], + ['grpc_5fchannel_5fargs_5fcopy_5fand_5fadd',['grpc_channel_args_copy_and_add',['../channel__args_8h.html#ace4130d42d359c697a99d4ed7a7e54c3',1,'grpc_channel_args_copy_and_add(const grpc_channel_args *src, const grpc_arg *to_add, size_t num_to_add): channel_args.c'],['../channel__args_8c.html#ace4130d42d359c697a99d4ed7a7e54c3',1,'grpc_channel_args_copy_and_add(const grpc_channel_args *src, const grpc_arg *to_add, size_t num_to_add): channel_args.c']]], + ['grpc_5fchannel_5fargs_5fdestroy',['grpc_channel_args_destroy',['../channel__args_8h.html#ad7467ddcad8160325b79b8d3a627c42e',1,'grpc_channel_args_destroy(grpc_channel_args *a): channel_args.c'],['../channel__args_8c.html#ad7467ddcad8160325b79b8d3a627c42e',1,'grpc_channel_args_destroy(grpc_channel_args *a): channel_args.c']]], + ['grpc_5fchannel_5fargs_5fget_5fcompression_5falgorithm',['grpc_channel_args_get_compression_algorithm',['../channel__args_8h.html#ab6073e21bee62a87f891a10d5bb4a3bb',1,'grpc_channel_args_get_compression_algorithm(const grpc_channel_args *a): channel_args.c'],['../channel__args_8c.html#ab6073e21bee62a87f891a10d5bb4a3bb',1,'grpc_channel_args_get_compression_algorithm(const grpc_channel_args *a): channel_args.c']]], + ['grpc_5fchannel_5fargs_5fis_5fcensus_5fenabled',['grpc_channel_args_is_census_enabled',['../channel__args_8h.html#a918e3c374d10937b1cf1a7bec45e96c0',1,'grpc_channel_args_is_census_enabled(const grpc_channel_args *a): channel_args.c'],['../channel__args_8c.html#a918e3c374d10937b1cf1a7bec45e96c0',1,'grpc_channel_args_is_census_enabled(const grpc_channel_args *a): channel_args.c']]], + ['grpc_5fchannel_5fargs_5fmerge',['grpc_channel_args_merge',['../channel__args_8h.html#aa098be5f086aefff83a52e202d11a39a',1,'grpc_channel_args_merge(const grpc_channel_args *a, const grpc_channel_args *b): channel_args.c'],['../channel__args_8c.html#aa098be5f086aefff83a52e202d11a39a',1,'grpc_channel_args_merge(const grpc_channel_args *a, const grpc_channel_args *b): channel_args.c']]], + ['grpc_5fchannel_5fargs_5fset_5fcompression_5falgorithm',['grpc_channel_args_set_compression_algorithm',['../channel__args_8h.html#a1666cde2d23a797e95cf09e3c26e7f70',1,'grpc_channel_args_set_compression_algorithm(grpc_channel_args *a, grpc_compression_algorithm algorithm): channel_args.c'],['../channel__args_8c.html#a1666cde2d23a797e95cf09e3c26e7f70',1,'grpc_channel_args_set_compression_algorithm(grpc_channel_args *a, grpc_compression_algorithm algorithm): channel_args.c']]], + ['grpc_5fchannel_5fcheck_5fconnectivity_5fstate',['grpc_channel_check_connectivity_state',['../grpc_8h.html#a9623d8e4df1d17eb26b67d905f1d7cb3',1,'grpc_channel_check_connectivity_state(grpc_channel *channel, int try_to_connect): channel_connectivity.c'],['../channel__connectivity_8c.html#a9623d8e4df1d17eb26b67d905f1d7cb3',1,'grpc_channel_check_connectivity_state(grpc_channel *channel, int try_to_connect): channel_connectivity.c']]], + ['grpc_5fchannel_5fcreate_5fcall',['grpc_channel_create_call',['../grpc_8h.html#a368ca2e4f76495c3c4bfbb27eb88936e',1,'grpc_channel_create_call(grpc_channel *channel, grpc_completion_queue *completion_queue, const char *method, const char *host, gpr_timespec deadline): channel.c'],['../channel_8c.html#aa6b80c5019007f758b1bf414e323db05',1,'grpc_channel_create_call(grpc_channel *channel, grpc_completion_queue *cq, const char *method, const char *host, gpr_timespec deadline): channel.c']]], + ['grpc_5fchannel_5fcreate_5ffrom_5ffilters',['grpc_channel_create_from_filters',['../channel_8h.html#a12b25d31348401c51adab93c4f461d58',1,'grpc_channel_create_from_filters(const char *target, const grpc_channel_filter **filters, size_t count, const grpc_channel_args *args, grpc_mdctx *mdctx, int is_client): channel.c'],['../channel_8c.html#a32e56f0a0ab55d90624b92cbbf7bd384',1,'grpc_channel_create_from_filters(const char *target, const grpc_channel_filter **filters, size_t num_filters, const grpc_channel_args *args, grpc_mdctx *mdctx, int is_client): channel.c']]], + ['grpc_5fchannel_5fcreate_5fregistered_5fcall',['grpc_channel_create_registered_call',['../grpc_8h.html#a38aa45cdbc3d9a9529bcb6ee8b2c68aa',1,'grpc_channel_create_registered_call(grpc_channel *channel, grpc_completion_queue *completion_queue, void *registered_call_handle, gpr_timespec deadline): channel.c'],['../channel_8c.html#a38aa45cdbc3d9a9529bcb6ee8b2c68aa',1,'grpc_channel_create_registered_call(grpc_channel *channel, grpc_completion_queue *completion_queue, void *registered_call_handle, gpr_timespec deadline): channel.c']]], + ['grpc_5fchannel_5fdestroy',['grpc_channel_destroy',['../grpc_8h.html#a16e4b95581ad12e8e0af2af8d41b71b3',1,'grpc_channel_destroy(grpc_channel *channel): channel.c'],['../channel_8c.html#a16e4b95581ad12e8e0af2af8d41b71b3',1,'grpc_channel_destroy(grpc_channel *channel): channel.c']]], + ['grpc_5fchannel_5fget_5fchannel_5fstack',['grpc_channel_get_channel_stack',['../channel_8h.html#a264b543c86559165c42b1c41cb4c9045',1,'grpc_channel_get_channel_stack(grpc_channel *channel): channel.c'],['../channel_8c.html#a264b543c86559165c42b1c41cb4c9045',1,'grpc_channel_get_channel_stack(grpc_channel *channel): channel.c']]], + ['grpc_5fchannel_5fget_5fcompression_5falgorithm_5fstring',['grpc_channel_get_compression_algorithm_string',['../channel_8h.html#aee69f0f30f9cdcdd3961b1d253fa29af',1,'grpc_channel_get_compression_algorithm_string(grpc_channel *channel): channel.c'],['../channel_8c.html#aee69f0f30f9cdcdd3961b1d253fa29af',1,'grpc_channel_get_compression_algorithm_string(grpc_channel *channel): channel.c']]], + ['grpc_5fchannel_5fget_5fmax_5fmessage_5flength',['grpc_channel_get_max_message_length',['../channel_8h.html#a1f91159c2a0d259aa7f854ba4204cafd',1,'grpc_channel_get_max_message_length(grpc_channel *channel): channel.c'],['../channel_8c.html#a1f91159c2a0d259aa7f854ba4204cafd',1,'grpc_channel_get_max_message_length(grpc_channel *channel): channel.c']]], + ['grpc_5fchannel_5fget_5fmessage_5fstring',['grpc_channel_get_message_string',['../channel_8h.html#a3008e3086b47f6170180c32ef88c83db',1,'grpc_channel_get_message_string(grpc_channel *channel): channel.c'],['../channel_8c.html#a3008e3086b47f6170180c32ef88c83db',1,'grpc_channel_get_message_string(grpc_channel *channel): channel.c']]], + ['grpc_5fchannel_5fget_5fmetadata_5fcontext',['grpc_channel_get_metadata_context',['../channel_8h.html#a6b9ee58f86b3e3026767b37bbc3efa80',1,'grpc_channel_get_metadata_context(grpc_channel *channel): channel.c'],['../channel_8c.html#a6b9ee58f86b3e3026767b37bbc3efa80',1,'grpc_channel_get_metadata_context(grpc_channel *channel): channel.c']]], + ['grpc_5fchannel_5fget_5freffed_5fstatus_5felem',['grpc_channel_get_reffed_status_elem',['../channel_8h.html#a0c93bb726613652c5a22d9f4fb6c2101',1,'grpc_channel_get_reffed_status_elem(grpc_channel *channel, int status_code): channel.c'],['../channel_8c.html#a49c14becac82008119b5e9fd9d554983',1,'grpc_channel_get_reffed_status_elem(grpc_channel *channel, int i): channel.c']]], + ['grpc_5fchannel_5fget_5fstatus_5fstring',['grpc_channel_get_status_string',['../channel_8h.html#a2192de2d31a54523311ce241f933e048',1,'grpc_channel_get_status_string(grpc_channel *channel): channel.c'],['../channel_8c.html#a2192de2d31a54523311ce241f933e048',1,'grpc_channel_get_status_string(grpc_channel *channel): channel.c']]], + ['grpc_5fchannel_5fget_5ftarget',['grpc_channel_get_target',['../grpc_8h.html#a108ef86bc0e5ebcb05f744315e2a6499',1,'grpc_channel_get_target(grpc_channel *channel): channel.c'],['../channel_8c.html#a108ef86bc0e5ebcb05f744315e2a6499',1,'grpc_channel_get_target(grpc_channel *channel): channel.c']]], + ['grpc_5fchannel_5finternal_5fref',['grpc_channel_internal_ref',['../channel_8h.html#a2e6da9e3b86935fa1ddd6d55bf6b1634',1,'grpc_channel_internal_ref(grpc_channel *channel): channel.c'],['../channel_8c.html#a7e9137c2c6f7cc3c1cdc27fbc5f23b41',1,'grpc_channel_internal_ref(grpc_channel *c): channel.c']]], + ['grpc_5fchannel_5finternal_5funref',['grpc_channel_internal_unref',['../channel_8h.html#a7fe6e3f3337487d8b584cb8d51bdfa6b',1,'grpc_channel_internal_unref(grpc_channel *channel): channel.c'],['../channel_8c.html#a7fe6e3f3337487d8b584cb8d51bdfa6b',1,'grpc_channel_internal_unref(grpc_channel *channel): channel.c']]], + ['grpc_5fchannel_5fnext_5fop',['grpc_channel_next_op',['../channel__stack_8h.html#aea7eceb60c0e94465c4baea314c0ebd9',1,'grpc_channel_next_op(grpc_channel_element *elem, grpc_transport_op *op): channel_stack.c'],['../channel__stack_8c.html#aea7eceb60c0e94465c4baea314c0ebd9',1,'grpc_channel_next_op(grpc_channel_element *elem, grpc_transport_op *op): channel_stack.c']]], + ['grpc_5fchannel_5fregister_5fcall',['grpc_channel_register_call',['../grpc_8h.html#af00855f27d8b7c6b232982446371c04d',1,'grpc_channel_register_call(grpc_channel *channel, const char *method, const char *host): channel.c'],['../channel_8c.html#af00855f27d8b7c6b232982446371c04d',1,'grpc_channel_register_call(grpc_channel *channel, const char *method, const char *host): channel.c']]], + ['grpc_5fchannel_5fsecurity_5fconnector_5fcheck_5fcall_5fhost',['grpc_channel_security_connector_check_call_host',['../security__connector_8h.html#a845341440590ee81647b56575eb60168',1,'grpc_channel_security_connector_check_call_host(grpc_channel_security_connector *sc, const char *host, grpc_security_check_cb cb, void *user_data): security_connector.c'],['../security__connector_8c.html#a845341440590ee81647b56575eb60168',1,'grpc_channel_security_connector_check_call_host(grpc_channel_security_connector *sc, const char *host, grpc_security_check_cb cb, void *user_data): security_connector.c']]], + ['grpc_5fchannel_5fstack_5fdestroy',['grpc_channel_stack_destroy',['../channel__stack_8h.html#ad06f3ee4d872888e99778e5faa610764',1,'grpc_channel_stack_destroy(grpc_channel_stack *stack): channel_stack.c'],['../channel__stack_8c.html#ad06f3ee4d872888e99778e5faa610764',1,'grpc_channel_stack_destroy(grpc_channel_stack *stack): channel_stack.c']]], + ['grpc_5fchannel_5fstack_5felement',['grpc_channel_stack_element',['../channel__stack_8h.html#a85cb9b511c9a4f222ec27d8459cb7c40',1,'grpc_channel_stack_element(grpc_channel_stack *stack, size_t i): channel_stack.c'],['../channel__stack_8c.html#a6fa445cf1f13f17095e14c0cc8801fb5',1,'grpc_channel_stack_element(grpc_channel_stack *channel_stack, size_t index): channel_stack.c']]], + ['grpc_5fchannel_5fstack_5ffrom_5ftop_5felement',['grpc_channel_stack_from_top_element',['../channel__stack_8h.html#a5fd8b3503ac2f8193509e2ce02ef9406',1,'grpc_channel_stack_from_top_element(grpc_channel_element *elem): channel_stack.c'],['../channel__stack_8c.html#a5fd8b3503ac2f8193509e2ce02ef9406',1,'grpc_channel_stack_from_top_element(grpc_channel_element *elem): channel_stack.c']]], + ['grpc_5fchannel_5fstack_5finit',['grpc_channel_stack_init',['../channel__stack_8h.html#a9dfbcf853676b70efa84cf8777a7b928',1,'grpc_channel_stack_init(const grpc_channel_filter **filters, size_t filter_count, grpc_channel *master, const grpc_channel_args *args, grpc_mdctx *metadata_context, grpc_channel_stack *stack): channel_stack.c'],['../channel__stack_8c.html#a9dfbcf853676b70efa84cf8777a7b928',1,'grpc_channel_stack_init(const grpc_channel_filter **filters, size_t filter_count, grpc_channel *master, const grpc_channel_args *args, grpc_mdctx *metadata_context, grpc_channel_stack *stack): channel_stack.c']]], + ['grpc_5fchannel_5fstack_5flast_5felement',['grpc_channel_stack_last_element',['../channel__stack_8h.html#a1245cdffecb56b7eb11d189327dc29b0',1,'grpc_channel_stack_last_element(grpc_channel_stack *stack): channel_stack.c'],['../channel__stack_8c.html#a663793c2627677279816d636bf310b50',1,'grpc_channel_stack_last_element(grpc_channel_stack *channel_stack): channel_stack.c']]], + ['grpc_5fchannel_5fstack_5fsize',['grpc_channel_stack_size',['../channel__stack_8h.html#a7593e5b07a422db70484cfb66264dd1b',1,'grpc_channel_stack_size(const grpc_channel_filter **filters, size_t filter_count): channel_stack.c'],['../channel__stack_8c.html#a7593e5b07a422db70484cfb66264dd1b',1,'grpc_channel_stack_size(const grpc_channel_filter **filters, size_t filter_count): channel_stack.c']]], + ['grpc_5fchannel_5fwatch_5fconnectivity_5fstate',['grpc_channel_watch_connectivity_state',['../grpc_8h.html#a29aa98ca6ce9f7e5116e43b0c414e96b',1,'grpc_channel_watch_connectivity_state(grpc_channel *channel, grpc_connectivity_state last_observed_state, gpr_timespec deadline, grpc_completion_queue *cq, void *tag): channel_connectivity.c'],['../channel__connectivity_8c.html#a29aa98ca6ce9f7e5116e43b0c414e96b',1,'grpc_channel_watch_connectivity_state(grpc_channel *channel, grpc_connectivity_state last_observed_state, gpr_timespec deadline, grpc_completion_queue *cq, void *tag): channel_connectivity.c']]], + ['grpc_5fchttp2_5fadd_5fincoming_5fgoaway',['grpc_chttp2_add_incoming_goaway',['../internal_8h.html#aeb6a160980622d4e5d1b8e9e608c6771',1,'grpc_chttp2_add_incoming_goaway(grpc_chttp2_transport_global *transport_global, gpr_uint32 goaway_error, gpr_slice goaway_text): chttp2_transport.c'],['../chttp2__transport_8c.html#aeb6a160980622d4e5d1b8e9e608c6771',1,'grpc_chttp2_add_incoming_goaway(grpc_chttp2_transport_global *transport_global, gpr_uint32 goaway_error, gpr_slice goaway_text): chttp2_transport.c']]], + ['grpc_5fchttp2_5fbase64_5fencode',['grpc_chttp2_base64_encode',['../bin__encoder_8h.html#a1435a6d866c6e7f7989ca786facc1fde',1,'grpc_chttp2_base64_encode(gpr_slice input): bin_encoder.c'],['../bin__encoder_8c.html#a1435a6d866c6e7f7989ca786facc1fde',1,'grpc_chttp2_base64_encode(gpr_slice input): bin_encoder.c']]], + ['grpc_5fchttp2_5fbase64_5fencode_5fand_5fhuffman_5fcompress',['grpc_chttp2_base64_encode_and_huffman_compress',['../bin__encoder_8h.html#a0d29385f837594681b517d91d5d578a7',1,'grpc_chttp2_base64_encode_and_huffman_compress(gpr_slice input): bin_encoder.c'],['../bin__encoder_8c.html#a0d29385f837594681b517d91d5d578a7',1,'grpc_chttp2_base64_encode_and_huffman_compress(gpr_slice input): bin_encoder.c']]], + ['grpc_5fchttp2_5fcleanup_5fwriting',['grpc_chttp2_cleanup_writing',['../internal_8h.html#a309e83a79f87a133dee17a1a7dd592b9',1,'grpc_chttp2_cleanup_writing(grpc_chttp2_transport_global *global, grpc_chttp2_transport_writing *writing): writing.c'],['../writing_8c.html#aec2dafff34e07d99d473de28a658614f',1,'grpc_chttp2_cleanup_writing(grpc_chttp2_transport_global *transport_global, grpc_chttp2_transport_writing *transport_writing): writing.c']]], + ['grpc_5fchttp2_5fdata_5fframe_5fcreate_5fempty_5fclose',['grpc_chttp2_data_frame_create_empty_close',['../frame__data_8h.html#aa79c486a29b6e104c57be53a20d91362',1,'grpc_chttp2_data_frame_create_empty_close(gpr_uint32 id): stream_encoder.c'],['../stream__encoder_8c.html#aa79c486a29b6e104c57be53a20d91362',1,'grpc_chttp2_data_frame_create_empty_close(gpr_uint32 id): stream_encoder.c']]], + ['grpc_5fchttp2_5fdata_5fparser_5fbegin_5fframe',['grpc_chttp2_data_parser_begin_frame',['../frame__data_8h.html#afab39491d68260dc81d1a57cac6f434a',1,'grpc_chttp2_data_parser_begin_frame(grpc_chttp2_data_parser *parser, gpr_uint8 flags): frame_data.c'],['../frame__data_8c.html#afab39491d68260dc81d1a57cac6f434a',1,'grpc_chttp2_data_parser_begin_frame(grpc_chttp2_data_parser *parser, gpr_uint8 flags): frame_data.c']]], + ['grpc_5fchttp2_5fdata_5fparser_5fdestroy',['grpc_chttp2_data_parser_destroy',['../frame__data_8h.html#a5927900bd0d0911de70cab715f4d4468',1,'grpc_chttp2_data_parser_destroy(grpc_chttp2_data_parser *parser): frame_data.c'],['../frame__data_8c.html#a5927900bd0d0911de70cab715f4d4468',1,'grpc_chttp2_data_parser_destroy(grpc_chttp2_data_parser *parser): frame_data.c']]], + ['grpc_5fchttp2_5fdata_5fparser_5finit',['grpc_chttp2_data_parser_init',['../frame__data_8h.html#a796d3b28bd11e75897705b4f92a5cae7',1,'grpc_chttp2_data_parser_init(grpc_chttp2_data_parser *parser): frame_data.c'],['../frame__data_8c.html#a796d3b28bd11e75897705b4f92a5cae7',1,'grpc_chttp2_data_parser_init(grpc_chttp2_data_parser *parser): frame_data.c']]], + ['grpc_5fchttp2_5fdata_5fparser_5fparse',['grpc_chttp2_data_parser_parse',['../frame__data_8h.html#abc519029db35772068e9a052076fcfa1',1,'grpc_chttp2_data_parser_parse(void *parser, grpc_chttp2_transport_parsing *transport_parsing, grpc_chttp2_stream_parsing *stream_parsing, gpr_slice slice, int is_last): frame_data.c'],['../frame__data_8c.html#abc519029db35772068e9a052076fcfa1',1,'grpc_chttp2_data_parser_parse(void *parser, grpc_chttp2_transport_parsing *transport_parsing, grpc_chttp2_stream_parsing *stream_parsing, gpr_slice slice, int is_last): frame_data.c']]], + ['grpc_5fchttp2_5fdecode_5ftimeout',['grpc_chttp2_decode_timeout',['../timeout__encoding_8h.html#ac96a9d21da277e6a790fa8ac5846b5d8',1,'grpc_chttp2_decode_timeout(const char *buffer, gpr_timespec *timeout): timeout_encoding.c'],['../timeout__encoding_8c.html#ac96a9d21da277e6a790fa8ac5846b5d8',1,'grpc_chttp2_decode_timeout(const char *buffer, gpr_timespec *timeout): timeout_encoding.c']]], + ['grpc_5fchttp2_5fencode',['grpc_chttp2_encode',['../stream__encoder_8h.html#a1fdaaa3443176e8815ffe75804b5efbd',1,'grpc_chttp2_encode(grpc_stream_op *ops, size_t ops_count, int eof, gpr_uint32 stream_id, grpc_chttp2_hpack_compressor *compressor, gpr_slice_buffer *output): stream_encoder.c'],['../stream__encoder_8c.html#a1fdaaa3443176e8815ffe75804b5efbd',1,'grpc_chttp2_encode(grpc_stream_op *ops, size_t ops_count, int eof, gpr_uint32 stream_id, grpc_chttp2_hpack_compressor *compressor, gpr_slice_buffer *output): stream_encoder.c']]], + ['grpc_5fchttp2_5fencode_5ftimeout',['grpc_chttp2_encode_timeout',['../timeout__encoding_8h.html#aa4128995f3b3d4fe068c1635a85f7bcc',1,'grpc_chttp2_encode_timeout(gpr_timespec timeout, char *buffer): timeout_encoding.c'],['../timeout__encoding_8c.html#aa4128995f3b3d4fe068c1635a85f7bcc',1,'grpc_chttp2_encode_timeout(gpr_timespec timeout, char *buffer): timeout_encoding.c']]], + ['grpc_5fchttp2_5fflowctl_5ftrace',['grpc_chttp2_flowctl_trace',['../internal_8h.html#ac054ecf6e743093e5527787063f3acaa',1,'grpc_chttp2_flowctl_trace(const char *file, int line, const char *reason, const char *context, const char *var, int is_client, gpr_uint32 stream_id, gpr_int64 current_value, gpr_int64 delta): chttp2_transport.c'],['../chttp2__transport_8c.html#ac054ecf6e743093e5527787063f3acaa',1,'grpc_chttp2_flowctl_trace(const char *file, int line, const char *reason, const char *context, const char *var, int is_client, gpr_uint32 stream_id, gpr_int64 current_value, gpr_int64 delta): chttp2_transport.c']]], + ['grpc_5fchttp2_5ffor_5fall_5fstreams',['grpc_chttp2_for_all_streams',['../internal_8h.html#a62031f6afc6643cc2f34b4af2d547576',1,'grpc_chttp2_for_all_streams(grpc_chttp2_transport_global *transport_global, void *user_data, void(*cb)(grpc_chttp2_transport_global *transport_global, void *user_data, grpc_chttp2_stream_global *stream_global)): stream_lists.c'],['../stream__lists_8c.html#a62031f6afc6643cc2f34b4af2d547576',1,'grpc_chttp2_for_all_streams(grpc_chttp2_transport_global *transport_global, void *user_data, void(*cb)(grpc_chttp2_transport_global *transport_global, void *user_data, grpc_chttp2_stream_global *stream_global)): stream_lists.c']]], + ['grpc_5fchttp2_5fget_5falpn_5fversion_5findex',['grpc_chttp2_get_alpn_version_index',['../alpn_8h.html#a3f09d970c73c43952620b5e983c77dc5',1,'grpc_chttp2_get_alpn_version_index(size_t i): alpn.c'],['../alpn_8c.html#a3f09d970c73c43952620b5e983c77dc5',1,'grpc_chttp2_get_alpn_version_index(size_t i): alpn.c']]], + ['grpc_5fchttp2_5fgoaway_5fappend',['grpc_chttp2_goaway_append',['../frame__goaway_8h.html#a71bd236ace0cb6b0f04ebb1049efc5bc',1,'grpc_chttp2_goaway_append(gpr_uint32 last_stream_id, gpr_uint32 error_code, gpr_slice debug_data, gpr_slice_buffer *slice_buffer): frame_goaway.c'],['../frame__goaway_8c.html#a71bd236ace0cb6b0f04ebb1049efc5bc',1,'grpc_chttp2_goaway_append(gpr_uint32 last_stream_id, gpr_uint32 error_code, gpr_slice debug_data, gpr_slice_buffer *slice_buffer): frame_goaway.c']]], + ['grpc_5fchttp2_5fgoaway_5fparser_5fbegin_5fframe',['grpc_chttp2_goaway_parser_begin_frame',['../frame__goaway_8h.html#a48814915966d3dd70b73d854629813b6',1,'grpc_chttp2_goaway_parser_begin_frame(grpc_chttp2_goaway_parser *parser, gpr_uint32 length, gpr_uint8 flags): frame_goaway.c'],['../frame__goaway_8c.html#a2dd5fba43ce1f26f220199c1c7db0f05',1,'grpc_chttp2_goaway_parser_begin_frame(grpc_chttp2_goaway_parser *p, gpr_uint32 length, gpr_uint8 flags): frame_goaway.c']]], + ['grpc_5fchttp2_5fgoaway_5fparser_5fdestroy',['grpc_chttp2_goaway_parser_destroy',['../frame__goaway_8h.html#a5cd3e388f5844ad2c4c7d1c9488436a8',1,'grpc_chttp2_goaway_parser_destroy(grpc_chttp2_goaway_parser *p): frame_goaway.c'],['../frame__goaway_8c.html#a5cd3e388f5844ad2c4c7d1c9488436a8',1,'grpc_chttp2_goaway_parser_destroy(grpc_chttp2_goaway_parser *p): frame_goaway.c']]], + ['grpc_5fchttp2_5fgoaway_5fparser_5finit',['grpc_chttp2_goaway_parser_init',['../frame__goaway_8h.html#a8df9b9a3fcd7bc6d679b47909c2c8f23',1,'grpc_chttp2_goaway_parser_init(grpc_chttp2_goaway_parser *p): frame_goaway.c'],['../frame__goaway_8c.html#a8df9b9a3fcd7bc6d679b47909c2c8f23',1,'grpc_chttp2_goaway_parser_init(grpc_chttp2_goaway_parser *p): frame_goaway.c']]], + ['grpc_5fchttp2_5fgoaway_5fparser_5fparse',['grpc_chttp2_goaway_parser_parse',['../frame__goaway_8h.html#a52a6863feebfb5a9962330d42b22be2d',1,'grpc_chttp2_goaway_parser_parse(void *parser, grpc_chttp2_transport_parsing *transport_parsing, grpc_chttp2_stream_parsing *stream_parsing, gpr_slice slice, int is_last): frame_goaway.c'],['../frame__goaway_8c.html#a52a6863feebfb5a9962330d42b22be2d',1,'grpc_chttp2_goaway_parser_parse(void *parser, grpc_chttp2_transport_parsing *transport_parsing, grpc_chttp2_stream_parsing *stream_parsing, gpr_slice slice, int is_last): frame_goaway.c']]], + ['grpc_5fchttp2_5fgrpc_5fstatus_5fto_5fhttp2_5ferror',['grpc_chttp2_grpc_status_to_http2_error',['../status__conversion_8h.html#a375c081b20a1ff583a12374db7cbb5d6',1,'grpc_chttp2_grpc_status_to_http2_error(grpc_status_code status): status_conversion.c'],['../status__conversion_8c.html#a8fc288b0c9b0f2333adb3c1de2559c1d',1,'grpc_chttp2_grpc_status_to_http2_error(grpc_status_code status): status_conversion.c']]], + ['grpc_5fchttp2_5fgrpc_5fstatus_5fto_5fhttp2_5fstatus',['grpc_chttp2_grpc_status_to_http2_status',['../status__conversion_8h.html#a30ec4cf33600ca53524bb3003c02b37a',1,'grpc_chttp2_grpc_status_to_http2_status(grpc_status_code status): status_conversion.c'],['../status__conversion_8c.html#a30ec4cf33600ca53524bb3003c02b37a',1,'grpc_chttp2_grpc_status_to_http2_status(grpc_status_code status): status_conversion.c']]], + ['grpc_5fchttp2_5fhas_5fstreams',['grpc_chttp2_has_streams',['../internal_8h.html#a19ad8f2b321787a1255a888d5d5923f1',1,'grpc_chttp2_has_streams(grpc_chttp2_transport *t): stream_lists.c'],['../stream__lists_8c.html#a19ad8f2b321787a1255a888d5d5923f1',1,'grpc_chttp2_has_streams(grpc_chttp2_transport *t): stream_lists.c']]], + ['grpc_5fchttp2_5fheader_5fparser_5fparse',['grpc_chttp2_header_parser_parse',['../hpack__parser_8h.html#a7a92d332cfe4cdd2fe066d8c187a19c3',1,'grpc_chttp2_header_parser_parse(void *hpack_parser, grpc_chttp2_transport_parsing *transport_parsing, grpc_chttp2_stream_parsing *stream_parsing, gpr_slice slice, int is_last): hpack_parser.c'],['../hpack__parser_8c.html#a7a92d332cfe4cdd2fe066d8c187a19c3',1,'grpc_chttp2_header_parser_parse(void *hpack_parser, grpc_chttp2_transport_parsing *transport_parsing, grpc_chttp2_stream_parsing *stream_parsing, gpr_slice slice, int is_last): hpack_parser.c']]], + ['grpc_5fchttp2_5fhpack_5fcompressor_5fdestroy',['grpc_chttp2_hpack_compressor_destroy',['../stream__encoder_8h.html#a03663bcc8cda8973711333e62e7aff66',1,'grpc_chttp2_hpack_compressor_destroy(grpc_chttp2_hpack_compressor *c): stream_encoder.c'],['../stream__encoder_8c.html#a03663bcc8cda8973711333e62e7aff66',1,'grpc_chttp2_hpack_compressor_destroy(grpc_chttp2_hpack_compressor *c): stream_encoder.c']]], + ['grpc_5fchttp2_5fhpack_5fcompressor_5finit',['grpc_chttp2_hpack_compressor_init',['../stream__encoder_8h.html#ad6a798a633ba7e2b452825cf904c3e89',1,'grpc_chttp2_hpack_compressor_init(grpc_chttp2_hpack_compressor *c, grpc_mdctx *mdctx): stream_encoder.c'],['../stream__encoder_8c.html#ad9ec21ece920fa6f844eeecf4b5c4149',1,'grpc_chttp2_hpack_compressor_init(grpc_chttp2_hpack_compressor *c, grpc_mdctx *ctx): stream_encoder.c']]], + ['grpc_5fchttp2_5fhpack_5fparser_5fdestroy',['grpc_chttp2_hpack_parser_destroy',['../hpack__parser_8h.html#ae43cb55b0e7102694c68c29d93cd3573',1,'grpc_chttp2_hpack_parser_destroy(grpc_chttp2_hpack_parser *p): hpack_parser.c'],['../hpack__parser_8c.html#ae43cb55b0e7102694c68c29d93cd3573',1,'grpc_chttp2_hpack_parser_destroy(grpc_chttp2_hpack_parser *p): hpack_parser.c']]], + ['grpc_5fchttp2_5fhpack_5fparser_5finit',['grpc_chttp2_hpack_parser_init',['../hpack__parser_8h.html#ae9f87d2fc6cdda2cfcedd228feff9a43',1,'grpc_chttp2_hpack_parser_init(grpc_chttp2_hpack_parser *p, grpc_mdctx *mdctx): hpack_parser.c'],['../hpack__parser_8c.html#ae9f87d2fc6cdda2cfcedd228feff9a43',1,'grpc_chttp2_hpack_parser_init(grpc_chttp2_hpack_parser *p, grpc_mdctx *mdctx): hpack_parser.c']]], + ['grpc_5fchttp2_5fhpack_5fparser_5fparse',['grpc_chttp2_hpack_parser_parse',['../hpack__parser_8h.html#a883d1c556ca6aaea2fbb04dda7928ebc',1,'grpc_chttp2_hpack_parser_parse(grpc_chttp2_hpack_parser *p, const gpr_uint8 *beg, const gpr_uint8 *end): hpack_parser.c'],['../hpack__parser_8c.html#a883d1c556ca6aaea2fbb04dda7928ebc',1,'grpc_chttp2_hpack_parser_parse(grpc_chttp2_hpack_parser *p, const gpr_uint8 *beg, const gpr_uint8 *end): hpack_parser.c']]], + ['grpc_5fchttp2_5fhpack_5fparser_5fset_5fhas_5fpriority',['grpc_chttp2_hpack_parser_set_has_priority',['../hpack__parser_8h.html#a9fc7e7f152280acc512689e138805eee',1,'grpc_chttp2_hpack_parser_set_has_priority(grpc_chttp2_hpack_parser *p): hpack_parser.c'],['../hpack__parser_8c.html#a9fc7e7f152280acc512689e138805eee',1,'grpc_chttp2_hpack_parser_set_has_priority(grpc_chttp2_hpack_parser *p): hpack_parser.c']]], + ['grpc_5fchttp2_5fhpack_5fvarint_5flength',['grpc_chttp2_hpack_varint_length',['../varint_8h.html#a2b4567fce80183246809231da7d798dc',1,'grpc_chttp2_hpack_varint_length(gpr_uint32 tail_value): varint.c'],['../varint_8c.html#a2b4567fce80183246809231da7d798dc',1,'grpc_chttp2_hpack_varint_length(gpr_uint32 tail_value): varint.c']]], + ['grpc_5fchttp2_5fhpack_5fwrite_5fvarint_5ftail',['grpc_chttp2_hpack_write_varint_tail',['../varint_8h.html#a7fcc1174a3686feebdb7085e30283a66',1,'grpc_chttp2_hpack_write_varint_tail(gpr_uint32 tail_value, gpr_uint8 *target, int tail_length): varint.c'],['../varint_8c.html#a7fcc1174a3686feebdb7085e30283a66',1,'grpc_chttp2_hpack_write_varint_tail(gpr_uint32 tail_value, gpr_uint8 *target, int tail_length): varint.c']]], + ['grpc_5fchttp2_5fhptbl_5fadd',['grpc_chttp2_hptbl_add',['../hpack__table_8h.html#a1ad3f82e2b6f66cf022f672861b65b84',1,'grpc_chttp2_hptbl_add(grpc_chttp2_hptbl *tbl, grpc_mdelem *md): hpack_table.c'],['../hpack__table_8c.html#a1ad3f82e2b6f66cf022f672861b65b84',1,'grpc_chttp2_hptbl_add(grpc_chttp2_hptbl *tbl, grpc_mdelem *md): hpack_table.c']]], + ['grpc_5fchttp2_5fhptbl_5fdestroy',['grpc_chttp2_hptbl_destroy',['../hpack__table_8h.html#aeef559491f324858e464dff14851d857',1,'grpc_chttp2_hptbl_destroy(grpc_chttp2_hptbl *tbl): hpack_table.c'],['../hpack__table_8c.html#aeef559491f324858e464dff14851d857',1,'grpc_chttp2_hptbl_destroy(grpc_chttp2_hptbl *tbl): hpack_table.c']]], + ['grpc_5fchttp2_5fhptbl_5ffind',['grpc_chttp2_hptbl_find',['../hpack__table_8h.html#aaa946e97b0f962e4d7e8fb8b4886f1ba',1,'grpc_chttp2_hptbl_find(const grpc_chttp2_hptbl *tbl, grpc_mdelem *md): hpack_table.c'],['../hpack__table_8c.html#aaa946e97b0f962e4d7e8fb8b4886f1ba',1,'grpc_chttp2_hptbl_find(const grpc_chttp2_hptbl *tbl, grpc_mdelem *md): hpack_table.c']]], + ['grpc_5fchttp2_5fhptbl_5finit',['grpc_chttp2_hptbl_init',['../hpack__table_8h.html#a17492a855a901fafa3086087e74a16f0',1,'grpc_chttp2_hptbl_init(grpc_chttp2_hptbl *tbl, grpc_mdctx *mdctx): hpack_table.c'],['../hpack__table_8c.html#a17492a855a901fafa3086087e74a16f0',1,'grpc_chttp2_hptbl_init(grpc_chttp2_hptbl *tbl, grpc_mdctx *mdctx): hpack_table.c']]], + ['grpc_5fchttp2_5fhptbl_5flookup',['grpc_chttp2_hptbl_lookup',['../hpack__table_8h.html#a3e857648df8d6b50e5faac502bd5fe5b',1,'grpc_chttp2_hptbl_lookup(const grpc_chttp2_hptbl *tbl, gpr_uint32 index): hpack_table.c'],['../hpack__table_8c.html#a3e857648df8d6b50e5faac502bd5fe5b',1,'grpc_chttp2_hptbl_lookup(const grpc_chttp2_hptbl *tbl, gpr_uint32 index): hpack_table.c']]], + ['grpc_5fchttp2_5fhttp2_5ferror_5fto_5fgrpc_5fstatus',['grpc_chttp2_http2_error_to_grpc_status',['../status__conversion_8h.html#ae4babdebe7ad9dc3b68b37b86d00f3e2',1,'grpc_chttp2_http2_error_to_grpc_status(grpc_chttp2_error_code error): status_conversion.c'],['../status__conversion_8c.html#ae4babdebe7ad9dc3b68b37b86d00f3e2',1,'grpc_chttp2_http2_error_to_grpc_status(grpc_chttp2_error_code error): status_conversion.c']]], + ['grpc_5fchttp2_5fhttp2_5fstatus_5fto_5fgrpc_5fstatus',['grpc_chttp2_http2_status_to_grpc_status',['../status__conversion_8h.html#a6e442a5cee1439a8cf37203b40956d12',1,'grpc_chttp2_http2_status_to_grpc_status(int status): status_conversion.c'],['../status__conversion_8c.html#a6e442a5cee1439a8cf37203b40956d12',1,'grpc_chttp2_http2_status_to_grpc_status(int status): status_conversion.c']]], + ['grpc_5fchttp2_5fhuffman_5fcompress',['grpc_chttp2_huffman_compress',['../bin__encoder_8h.html#a4445cb57a3331537c4d942764b555123',1,'grpc_chttp2_huffman_compress(gpr_slice input): bin_encoder.c'],['../bin__encoder_8c.html#a4445cb57a3331537c4d942764b555123',1,'grpc_chttp2_huffman_compress(gpr_slice input): bin_encoder.c']]], + ['grpc_5fchttp2_5fincoming_5fmetadata_5fbuffer_5fadd',['grpc_chttp2_incoming_metadata_buffer_add',['../incoming__metadata_8h.html#a0b7de798f56d0202db1102c2c87313d0',1,'grpc_chttp2_incoming_metadata_buffer_add(grpc_chttp2_incoming_metadata_buffer *buffer, grpc_mdelem *elem): incoming_metadata.c'],['../incoming__metadata_8c.html#a0b7de798f56d0202db1102c2c87313d0',1,'grpc_chttp2_incoming_metadata_buffer_add(grpc_chttp2_incoming_metadata_buffer *buffer, grpc_mdelem *elem): incoming_metadata.c']]], + ['grpc_5fchttp2_5fincoming_5fmetadata_5fbuffer_5fdestroy',['grpc_chttp2_incoming_metadata_buffer_destroy',['../incoming__metadata_8h.html#a640db57113d389432d42bda5e1169b31',1,'grpc_chttp2_incoming_metadata_buffer_destroy(grpc_chttp2_incoming_metadata_buffer *buffer): incoming_metadata.c'],['../incoming__metadata_8c.html#a640db57113d389432d42bda5e1169b31',1,'grpc_chttp2_incoming_metadata_buffer_destroy(grpc_chttp2_incoming_metadata_buffer *buffer): incoming_metadata.c']]], + ['grpc_5fchttp2_5fincoming_5fmetadata_5fbuffer_5finit',['grpc_chttp2_incoming_metadata_buffer_init',['../incoming__metadata_8h.html#acb327575a569f6d7fbb40c309119bc00',1,'grpc_chttp2_incoming_metadata_buffer_init(grpc_chttp2_incoming_metadata_buffer *buffer): incoming_metadata.c'],['../incoming__metadata_8c.html#acb327575a569f6d7fbb40c309119bc00',1,'grpc_chttp2_incoming_metadata_buffer_init(grpc_chttp2_incoming_metadata_buffer *buffer): incoming_metadata.c']]], + ['grpc_5fchttp2_5fincoming_5fmetadata_5fbuffer_5fplace_5fmetadata_5fbatch_5finto',['grpc_chttp2_incoming_metadata_buffer_place_metadata_batch_into',['../incoming__metadata_8h.html#a6b6375d9d949b70f2d38ceeb57437137',1,'grpc_chttp2_incoming_metadata_buffer_place_metadata_batch_into(grpc_chttp2_incoming_metadata_buffer *buffer, grpc_stream_op_buffer *sopb): incoming_metadata.c'],['../incoming__metadata_8c.html#a6b6375d9d949b70f2d38ceeb57437137',1,'grpc_chttp2_incoming_metadata_buffer_place_metadata_batch_into(grpc_chttp2_incoming_metadata_buffer *buffer, grpc_stream_op_buffer *sopb): incoming_metadata.c']]], + ['grpc_5fchttp2_5fincoming_5fmetadata_5fbuffer_5fpostprocess_5fsopb_5fand_5fbegin_5flive_5fop',['grpc_chttp2_incoming_metadata_buffer_postprocess_sopb_and_begin_live_op',['../incoming__metadata_8h.html#aafe1950af666833c29b8086f4931be4d',1,'grpc_chttp2_incoming_metadata_buffer_postprocess_sopb_and_begin_live_op(grpc_chttp2_incoming_metadata_buffer *buffer, grpc_stream_op_buffer *sopb, grpc_chttp2_incoming_metadata_live_op_buffer *live_op_buffer): incoming_metadata.c'],['../incoming__metadata_8c.html#aafe1950af666833c29b8086f4931be4d',1,'grpc_chttp2_incoming_metadata_buffer_postprocess_sopb_and_begin_live_op(grpc_chttp2_incoming_metadata_buffer *buffer, grpc_stream_op_buffer *sopb, grpc_chttp2_incoming_metadata_live_op_buffer *live_op_buffer): incoming_metadata.c']]], + ['grpc_5fchttp2_5fincoming_5fmetadata_5fbuffer_5freset',['grpc_chttp2_incoming_metadata_buffer_reset',['../incoming__metadata_8h.html#ad1f653fae150dc145f909b855a28e883',1,'incoming_metadata.h']]], + ['grpc_5fchttp2_5fincoming_5fmetadata_5fbuffer_5fset_5fdeadline',['grpc_chttp2_incoming_metadata_buffer_set_deadline',['../incoming__metadata_8h.html#aba03088316cada64053b68851b5a5603',1,'grpc_chttp2_incoming_metadata_buffer_set_deadline(grpc_chttp2_incoming_metadata_buffer *buffer, gpr_timespec deadline): incoming_metadata.c'],['../incoming__metadata_8c.html#aba03088316cada64053b68851b5a5603',1,'grpc_chttp2_incoming_metadata_buffer_set_deadline(grpc_chttp2_incoming_metadata_buffer *buffer, gpr_timespec deadline): incoming_metadata.c']]], + ['grpc_5fchttp2_5fincoming_5fmetadata_5fbuffer_5fswap',['grpc_chttp2_incoming_metadata_buffer_swap',['../incoming__metadata_8c.html#a3ae615483b18241fe3a8fe7c9897cee4',1,'incoming_metadata.c']]], + ['grpc_5fchttp2_5fincoming_5fmetadata_5flive_5fop_5fbuffer_5fend',['grpc_chttp2_incoming_metadata_live_op_buffer_end',['../incoming__metadata_8h.html#a84fcf79fb151ceab04531f8921ed51f2',1,'grpc_chttp2_incoming_metadata_live_op_buffer_end(grpc_chttp2_incoming_metadata_live_op_buffer *live_op_buffer): incoming_metadata.c'],['../incoming__metadata_8c.html#a5b987a9d3099c62ad4a6c198242b884e',1,'grpc_chttp2_incoming_metadata_live_op_buffer_end(grpc_chttp2_incoming_metadata_live_op_buffer *buffer): incoming_metadata.c']]], + ['grpc_5fchttp2_5fis_5falpn_5fversion_5fsupported',['grpc_chttp2_is_alpn_version_supported',['../alpn_8h.html#ad4d4c481dfaefe5690ccb83861466f6b',1,'grpc_chttp2_is_alpn_version_supported(const char *version, size_t size): alpn.c'],['../alpn_8c.html#ad4d4c481dfaefe5690ccb83861466f6b',1,'grpc_chttp2_is_alpn_version_supported(const char *version, size_t size): alpn.c']]], + ['grpc_5fchttp2_5flist_5fadd_5fcancelled_5fwaiting_5ffor_5fwriting',['grpc_chttp2_list_add_cancelled_waiting_for_writing',['../internal_8h.html#ad26dae5e10a026530f50b133359b3ee2',1,'grpc_chttp2_list_add_cancelled_waiting_for_writing(grpc_chttp2_transport_global *transport_global, grpc_chttp2_stream_global *stream_global): stream_lists.c'],['../stream__lists_8c.html#ad26dae5e10a026530f50b133359b3ee2',1,'grpc_chttp2_list_add_cancelled_waiting_for_writing(grpc_chttp2_transport_global *transport_global, grpc_chttp2_stream_global *stream_global): stream_lists.c']]], + ['grpc_5fchttp2_5flist_5fadd_5fclosed_5fwaiting_5ffor_5fparsing',['grpc_chttp2_list_add_closed_waiting_for_parsing',['../internal_8h.html#a1208f234dcb6b2a73be3c875b2b52907',1,'grpc_chttp2_list_add_closed_waiting_for_parsing(grpc_chttp2_transport_global *transport_global, grpc_chttp2_stream_global *stream_global): stream_lists.c'],['../stream__lists_8c.html#a1208f234dcb6b2a73be3c875b2b52907',1,'grpc_chttp2_list_add_closed_waiting_for_parsing(grpc_chttp2_transport_global *transport_global, grpc_chttp2_stream_global *stream_global): stream_lists.c']]], + ['grpc_5fchttp2_5flist_5fadd_5ffirst_5fwritable_5fstream',['grpc_chttp2_list_add_first_writable_stream',['../internal_8h.html#a8858ea6e4f6e7c363985793b403a0ac9',1,'grpc_chttp2_list_add_first_writable_stream(grpc_chttp2_transport_global *transport_global, grpc_chttp2_stream_global *stream_global): stream_lists.c'],['../stream__lists_8c.html#a8858ea6e4f6e7c363985793b403a0ac9',1,'grpc_chttp2_list_add_first_writable_stream(grpc_chttp2_transport_global *transport_global, grpc_chttp2_stream_global *stream_global): stream_lists.c']]], + ['grpc_5fchttp2_5flist_5fadd_5fincoming_5fwindow_5fupdated',['grpc_chttp2_list_add_incoming_window_updated',['../internal_8h.html#a1d99597284d4c0a0bd3cbf102ff415a2',1,'grpc_chttp2_list_add_incoming_window_updated(grpc_chttp2_transport_global *transport_global, grpc_chttp2_stream_global *stream_global): stream_lists.c'],['../stream__lists_8c.html#a1d99597284d4c0a0bd3cbf102ff415a2',1,'grpc_chttp2_list_add_incoming_window_updated(grpc_chttp2_transport_global *transport_global, grpc_chttp2_stream_global *stream_global): stream_lists.c']]], + ['grpc_5fchttp2_5flist_5fadd_5fparsing_5fseen_5fstream',['grpc_chttp2_list_add_parsing_seen_stream',['../internal_8h.html#a771e6e4a553060bfac71d00b5f866877',1,'grpc_chttp2_list_add_parsing_seen_stream(grpc_chttp2_transport_parsing *transport_parsing, grpc_chttp2_stream_parsing *stream_parsing): stream_lists.c'],['../stream__lists_8c.html#a771e6e4a553060bfac71d00b5f866877',1,'grpc_chttp2_list_add_parsing_seen_stream(grpc_chttp2_transport_parsing *transport_parsing, grpc_chttp2_stream_parsing *stream_parsing): stream_lists.c']]], + ['grpc_5fchttp2_5flist_5fadd_5fread_5fwrite_5fstate_5fchanged',['grpc_chttp2_list_add_read_write_state_changed',['../internal_8h.html#aa6b5168e8b96d0bc9f9d84a4cbef653a',1,'grpc_chttp2_list_add_read_write_state_changed(grpc_chttp2_transport_global *transport_global, grpc_chttp2_stream_global *stream_global): stream_lists.c'],['../stream__lists_8c.html#aa6b5168e8b96d0bc9f9d84a4cbef653a',1,'grpc_chttp2_list_add_read_write_state_changed(grpc_chttp2_transport_global *transport_global, grpc_chttp2_stream_global *stream_global): stream_lists.c']]], + ['grpc_5fchttp2_5flist_5fadd_5fwaiting_5ffor_5fconcurrency',['grpc_chttp2_list_add_waiting_for_concurrency',['../internal_8h.html#a71d9dea1ff323c374d7ea47818defc2e',1,'grpc_chttp2_list_add_waiting_for_concurrency(grpc_chttp2_transport_global *transport_global, grpc_chttp2_stream_global *stream_global): stream_lists.c'],['../stream__lists_8c.html#a71d9dea1ff323c374d7ea47818defc2e',1,'grpc_chttp2_list_add_waiting_for_concurrency(grpc_chttp2_transport_global *transport_global, grpc_chttp2_stream_global *stream_global): stream_lists.c']]], + ['grpc_5fchttp2_5flist_5fadd_5fwritable_5fstream',['grpc_chttp2_list_add_writable_stream',['../internal_8h.html#a117877f5202f072aa35e7ada0379d0db',1,'grpc_chttp2_list_add_writable_stream(grpc_chttp2_transport_global *transport_global, grpc_chttp2_stream_global *stream_global): stream_lists.c'],['../stream__lists_8c.html#a117877f5202f072aa35e7ada0379d0db',1,'grpc_chttp2_list_add_writable_stream(grpc_chttp2_transport_global *transport_global, grpc_chttp2_stream_global *stream_global): stream_lists.c']]], + ['grpc_5fchttp2_5flist_5fadd_5fwriting_5fstream',['grpc_chttp2_list_add_writing_stream',['../internal_8h.html#af5740bd38b626e875166e60e697e099e',1,'grpc_chttp2_list_add_writing_stream(grpc_chttp2_transport_writing *transport_writing, grpc_chttp2_stream_writing *stream_writing): stream_lists.c'],['../stream__lists_8c.html#af5740bd38b626e875166e60e697e099e',1,'grpc_chttp2_list_add_writing_stream(grpc_chttp2_transport_writing *transport_writing, grpc_chttp2_stream_writing *stream_writing): stream_lists.c']]], + ['grpc_5fchttp2_5flist_5fadd_5fwritten_5fstream',['grpc_chttp2_list_add_written_stream',['../internal_8h.html#ac6b7a089de78b67a9650e42b4a76ac69',1,'grpc_chttp2_list_add_written_stream(grpc_chttp2_transport_writing *transport_writing, grpc_chttp2_stream_writing *stream_writing): stream_lists.c'],['../stream__lists_8c.html#ac6b7a089de78b67a9650e42b4a76ac69',1,'grpc_chttp2_list_add_written_stream(grpc_chttp2_transport_writing *transport_writing, grpc_chttp2_stream_writing *stream_writing): stream_lists.c']]], + ['grpc_5fchttp2_5flist_5fhave_5fwriting_5fstreams',['grpc_chttp2_list_have_writing_streams',['../internal_8h.html#a2c7a37cef27c29528850701b9cf772d4',1,'grpc_chttp2_list_have_writing_streams(grpc_chttp2_transport_writing *transport_writing): stream_lists.c'],['../stream__lists_8c.html#a2c7a37cef27c29528850701b9cf772d4',1,'grpc_chttp2_list_have_writing_streams(grpc_chttp2_transport_writing *transport_writing): stream_lists.c']]], + ['grpc_5fchttp2_5flist_5fpop_5fcancelled_5fwaiting_5ffor_5fwriting',['grpc_chttp2_list_pop_cancelled_waiting_for_writing',['../internal_8h.html#ad2d2a802b9072505d1e6f8bb68727f44',1,'grpc_chttp2_list_pop_cancelled_waiting_for_writing(grpc_chttp2_transport_global *transport_global, grpc_chttp2_stream_global **stream_global): stream_lists.c'],['../stream__lists_8c.html#ad2d2a802b9072505d1e6f8bb68727f44',1,'grpc_chttp2_list_pop_cancelled_waiting_for_writing(grpc_chttp2_transport_global *transport_global, grpc_chttp2_stream_global **stream_global): stream_lists.c']]], + ['grpc_5fchttp2_5flist_5fpop_5fclosed_5fwaiting_5ffor_5fparsing',['grpc_chttp2_list_pop_closed_waiting_for_parsing',['../internal_8h.html#ad0434ee720b66a5ee51c9904548857af',1,'grpc_chttp2_list_pop_closed_waiting_for_parsing(grpc_chttp2_transport_global *transport_global, grpc_chttp2_stream_global **stream_global): stream_lists.c'],['../stream__lists_8c.html#ad0434ee720b66a5ee51c9904548857af',1,'grpc_chttp2_list_pop_closed_waiting_for_parsing(grpc_chttp2_transport_global *transport_global, grpc_chttp2_stream_global **stream_global): stream_lists.c']]], + ['grpc_5fchttp2_5flist_5fpop_5fincoming_5fwindow_5fupdated',['grpc_chttp2_list_pop_incoming_window_updated',['../internal_8h.html#a90a6cb6d111a750ab1f28bf4e438bb62',1,'grpc_chttp2_list_pop_incoming_window_updated(grpc_chttp2_transport_global *transport_global, grpc_chttp2_transport_parsing *transport_parsing, grpc_chttp2_stream_global **stream_global, grpc_chttp2_stream_parsing **stream_parsing): stream_lists.c'],['../stream__lists_8c.html#a90a6cb6d111a750ab1f28bf4e438bb62',1,'grpc_chttp2_list_pop_incoming_window_updated(grpc_chttp2_transport_global *transport_global, grpc_chttp2_transport_parsing *transport_parsing, grpc_chttp2_stream_global **stream_global, grpc_chttp2_stream_parsing **stream_parsing): stream_lists.c']]], + ['grpc_5fchttp2_5flist_5fpop_5fparsing_5fseen_5fstream',['grpc_chttp2_list_pop_parsing_seen_stream',['../internal_8h.html#a1d1ec9b2edce465d2fd18002a403878d',1,'grpc_chttp2_list_pop_parsing_seen_stream(grpc_chttp2_transport_global *transport_global, grpc_chttp2_transport_parsing *transport_parsing, grpc_chttp2_stream_global **stream_global, grpc_chttp2_stream_parsing **stream_parsing): stream_lists.c'],['../stream__lists_8c.html#a1d1ec9b2edce465d2fd18002a403878d',1,'grpc_chttp2_list_pop_parsing_seen_stream(grpc_chttp2_transport_global *transport_global, grpc_chttp2_transport_parsing *transport_parsing, grpc_chttp2_stream_global **stream_global, grpc_chttp2_stream_parsing **stream_parsing): stream_lists.c']]], + ['grpc_5fchttp2_5flist_5fpop_5fread_5fwrite_5fstate_5fchanged',['grpc_chttp2_list_pop_read_write_state_changed',['../internal_8h.html#ac9e8165e01d872ed42c0333aee9d31c4',1,'grpc_chttp2_list_pop_read_write_state_changed(grpc_chttp2_transport_global *transport_global, grpc_chttp2_stream_global **stream_global): stream_lists.c'],['../stream__lists_8c.html#ac9e8165e01d872ed42c0333aee9d31c4',1,'grpc_chttp2_list_pop_read_write_state_changed(grpc_chttp2_transport_global *transport_global, grpc_chttp2_stream_global **stream_global): stream_lists.c']]], + ['grpc_5fchttp2_5flist_5fpop_5fwaiting_5ffor_5fconcurrency',['grpc_chttp2_list_pop_waiting_for_concurrency',['../internal_8h.html#a6b62b98b415b3984616d4e851f0ff5c0',1,'grpc_chttp2_list_pop_waiting_for_concurrency(grpc_chttp2_transport_global *transport_global, grpc_chttp2_stream_global **stream_global): stream_lists.c'],['../stream__lists_8c.html#a6b62b98b415b3984616d4e851f0ff5c0',1,'grpc_chttp2_list_pop_waiting_for_concurrency(grpc_chttp2_transport_global *transport_global, grpc_chttp2_stream_global **stream_global): stream_lists.c']]], + ['grpc_5fchttp2_5flist_5fpop_5fwritable_5fstream',['grpc_chttp2_list_pop_writable_stream',['../internal_8h.html#aeac970afdd6294bac9d1dcb84b702167',1,'grpc_chttp2_list_pop_writable_stream(grpc_chttp2_transport_global *transport_global, grpc_chttp2_transport_writing *transport_writing, grpc_chttp2_stream_global **stream_global, grpc_chttp2_stream_writing **stream_writing): stream_lists.c'],['../stream__lists_8c.html#aeac970afdd6294bac9d1dcb84b702167',1,'grpc_chttp2_list_pop_writable_stream(grpc_chttp2_transport_global *transport_global, grpc_chttp2_transport_writing *transport_writing, grpc_chttp2_stream_global **stream_global, grpc_chttp2_stream_writing **stream_writing): stream_lists.c']]], + ['grpc_5fchttp2_5flist_5fpop_5fwriting_5fstream',['grpc_chttp2_list_pop_writing_stream',['../internal_8h.html#aba4771272cd49e3012d81c05fad1bdb7',1,'grpc_chttp2_list_pop_writing_stream(grpc_chttp2_transport_writing *transport_writing, grpc_chttp2_stream_writing **stream_writing): stream_lists.c'],['../stream__lists_8c.html#aba4771272cd49e3012d81c05fad1bdb7',1,'grpc_chttp2_list_pop_writing_stream(grpc_chttp2_transport_writing *transport_writing, grpc_chttp2_stream_writing **stream_writing): stream_lists.c']]], + ['grpc_5fchttp2_5flist_5fpop_5fwritten_5fstream',['grpc_chttp2_list_pop_written_stream',['../internal_8h.html#a3107afcec2694dd7c7855d540a560090',1,'grpc_chttp2_list_pop_written_stream(grpc_chttp2_transport_global *transport_global, grpc_chttp2_transport_writing *transport_writing, grpc_chttp2_stream_global **stream_global, grpc_chttp2_stream_writing **stream_writing): stream_lists.c'],['../stream__lists_8c.html#a3107afcec2694dd7c7855d540a560090',1,'grpc_chttp2_list_pop_written_stream(grpc_chttp2_transport_global *transport_global, grpc_chttp2_transport_writing *transport_writing, grpc_chttp2_stream_global **stream_global, grpc_chttp2_stream_writing **stream_writing): stream_lists.c']]], + ['grpc_5fchttp2_5flist_5fremove_5fincoming_5fwindow_5fupdated',['grpc_chttp2_list_remove_incoming_window_updated',['../internal_8h.html#a8a7f981b74e1e99b0a1afe0c45702d89',1,'grpc_chttp2_list_remove_incoming_window_updated(grpc_chttp2_transport_global *transport_global, grpc_chttp2_stream_global *stream_global): stream_lists.c'],['../stream__lists_8c.html#a8a7f981b74e1e99b0a1afe0c45702d89',1,'grpc_chttp2_list_remove_incoming_window_updated(grpc_chttp2_transport_global *transport_global, grpc_chttp2_stream_global *stream_global): stream_lists.c']]], + ['grpc_5fchttp2_5flist_5fremove_5fwritable_5fstream',['grpc_chttp2_list_remove_writable_stream',['../internal_8h.html#a789d5bcd10c0f1c7ad2fc32190fd87a0',1,'grpc_chttp2_list_remove_writable_stream(grpc_chttp2_transport_global *transport_global, grpc_chttp2_stream_global *stream_global): stream_lists.c'],['../stream__lists_8c.html#a789d5bcd10c0f1c7ad2fc32190fd87a0',1,'grpc_chttp2_list_remove_writable_stream(grpc_chttp2_transport_global *transport_global, grpc_chttp2_stream_global *stream_global): stream_lists.c']]], + ['grpc_5fchttp2_5fnum_5falpn_5fversions',['grpc_chttp2_num_alpn_versions',['../alpn_8h.html#aa7e91d317127b4a8a8a1cbb6acc942f5',1,'grpc_chttp2_num_alpn_versions(void): alpn.c'],['../alpn_8c.html#aa7e91d317127b4a8a8a1cbb6acc942f5',1,'grpc_chttp2_num_alpn_versions(void): alpn.c']]], + ['grpc_5fchttp2_5fparsing_5faccept_5fstream',['grpc_chttp2_parsing_accept_stream',['../internal_8h.html#a25a39d1d95e7140c1ae8f765ffd92847',1,'grpc_chttp2_parsing_accept_stream(grpc_chttp2_transport_parsing *transport_parsing, gpr_uint32 id): chttp2_transport.c'],['../chttp2__transport_8c.html#a25a39d1d95e7140c1ae8f765ffd92847',1,'grpc_chttp2_parsing_accept_stream(grpc_chttp2_transport_parsing *transport_parsing, gpr_uint32 id): chttp2_transport.c']]], + ['grpc_5fchttp2_5fparsing_5fbecome_5fskip_5fparser',['grpc_chttp2_parsing_become_skip_parser',['../internal_8h.html#ad6a13571d6666f45a64c8e0f6b234e60',1,'grpc_chttp2_parsing_become_skip_parser(grpc_chttp2_transport_parsing *transport_parsing): parsing.c'],['../parsing_8c.html#ad6a13571d6666f45a64c8e0f6b234e60',1,'grpc_chttp2_parsing_become_skip_parser(grpc_chttp2_transport_parsing *transport_parsing): parsing.c']]], + ['grpc_5fchttp2_5fparsing_5flookup_5fstream',['grpc_chttp2_parsing_lookup_stream',['../internal_8h.html#ae19b5968ebea2a077650652f1a3af46d',1,'grpc_chttp2_parsing_lookup_stream(grpc_chttp2_transport_parsing *transport_parsing, gpr_uint32 id): chttp2_transport.c'],['../chttp2__transport_8c.html#ae19b5968ebea2a077650652f1a3af46d',1,'grpc_chttp2_parsing_lookup_stream(grpc_chttp2_transport_parsing *transport_parsing, gpr_uint32 id): chttp2_transport.c']]], + ['grpc_5fchttp2_5fperform_5fread',['grpc_chttp2_perform_read',['../internal_8h.html#abeaab2fead1bddefe92af0bc61a3a33f',1,'grpc_chttp2_perform_read(grpc_chttp2_transport_parsing *transport_parsing, gpr_slice slice): parsing.c'],['../parsing_8c.html#abeaab2fead1bddefe92af0bc61a3a33f',1,'grpc_chttp2_perform_read(grpc_chttp2_transport_parsing *transport_parsing, gpr_slice slice): parsing.c']]], + ['grpc_5fchttp2_5fperform_5fwrites',['grpc_chttp2_perform_writes',['../internal_8h.html#a8fa6e3087336e9d487f3987148cc3930',1,'grpc_chttp2_perform_writes(grpc_chttp2_transport_writing *transport_writing, grpc_endpoint *endpoint): writing.c'],['../writing_8c.html#a8fa6e3087336e9d487f3987148cc3930',1,'grpc_chttp2_perform_writes(grpc_chttp2_transport_writing *transport_writing, grpc_endpoint *endpoint): writing.c']]], + ['grpc_5fchttp2_5fping_5fcreate',['grpc_chttp2_ping_create',['../frame__ping_8h.html#a80bb3f2ba166dcbd164aa04e680c58e3',1,'grpc_chttp2_ping_create(gpr_uint8 ack, gpr_uint8 *opaque_8bytes): frame_ping.c'],['../frame__ping_8c.html#a80bb3f2ba166dcbd164aa04e680c58e3',1,'grpc_chttp2_ping_create(gpr_uint8 ack, gpr_uint8 *opaque_8bytes): frame_ping.c']]], + ['grpc_5fchttp2_5fping_5fparser_5fbegin_5fframe',['grpc_chttp2_ping_parser_begin_frame',['../frame__ping_8h.html#a76f66f3bbe53a20610183253d30c57f7',1,'grpc_chttp2_ping_parser_begin_frame(grpc_chttp2_ping_parser *parser, gpr_uint32 length, gpr_uint8 flags): frame_ping.c'],['../frame__ping_8c.html#a76f66f3bbe53a20610183253d30c57f7',1,'grpc_chttp2_ping_parser_begin_frame(grpc_chttp2_ping_parser *parser, gpr_uint32 length, gpr_uint8 flags): frame_ping.c']]], + ['grpc_5fchttp2_5fping_5fparser_5fparse',['grpc_chttp2_ping_parser_parse',['../frame__ping_8h.html#ace393509f26406ff6bdc9e60e7534042',1,'grpc_chttp2_ping_parser_parse(void *parser, grpc_chttp2_transport_parsing *transport_parsing, grpc_chttp2_stream_parsing *stream_parsing, gpr_slice slice, int is_last): frame_ping.c'],['../frame__ping_8c.html#ace393509f26406ff6bdc9e60e7534042',1,'grpc_chttp2_ping_parser_parse(void *parser, grpc_chttp2_transport_parsing *transport_parsing, grpc_chttp2_stream_parsing *stream_parsing, gpr_slice slice, int is_last): frame_ping.c']]], + ['grpc_5fchttp2_5fpreencode',['grpc_chttp2_preencode',['../stream__encoder_8h.html#a3ee751a56974f45d33d89ce7f02cf022',1,'grpc_chttp2_preencode(grpc_stream_op *inops, size_t *inops_count, gpr_uint32 max_flow_controlled_bytes, grpc_stream_op_buffer *outops): stream_encoder.c'],['../stream__encoder_8c.html#a3ee751a56974f45d33d89ce7f02cf022',1,'grpc_chttp2_preencode(grpc_stream_op *inops, size_t *inops_count, gpr_uint32 max_flow_controlled_bytes, grpc_stream_op_buffer *outops): stream_encoder.c']]], + ['grpc_5fchttp2_5fprepare_5fto_5fread',['grpc_chttp2_prepare_to_read',['../internal_8h.html#ae444a83dc73e9a658e7df625a04b101a',1,'grpc_chttp2_prepare_to_read(grpc_chttp2_transport_global *global, grpc_chttp2_transport_parsing *parsing): parsing.c'],['../parsing_8c.html#ae010263eae7de4e41a74679b11579825',1,'grpc_chttp2_prepare_to_read(grpc_chttp2_transport_global *transport_global, grpc_chttp2_transport_parsing *transport_parsing): parsing.c']]], + ['grpc_5fchttp2_5fpublish_5freads',['grpc_chttp2_publish_reads',['../internal_8h.html#a4d137f455d722521fd7dab4fd13e1697',1,'grpc_chttp2_publish_reads(grpc_chttp2_transport_global *global, grpc_chttp2_transport_parsing *parsing): parsing.c'],['../parsing_8c.html#aba67e2ed1d9d5ac25c0d5b2ea31e8137',1,'grpc_chttp2_publish_reads(grpc_chttp2_transport_global *transport_global, grpc_chttp2_transport_parsing *transport_parsing): parsing.c']]], + ['grpc_5fchttp2_5fregister_5fstream',['grpc_chttp2_register_stream',['../internal_8h.html#accb6dbbacb57c3f9860e6ec6eca2390e',1,'grpc_chttp2_register_stream(grpc_chttp2_transport *t, grpc_chttp2_stream *s): stream_lists.c'],['../stream__lists_8c.html#accb6dbbacb57c3f9860e6ec6eca2390e',1,'grpc_chttp2_register_stream(grpc_chttp2_transport *t, grpc_chttp2_stream *s): stream_lists.c']]], + ['grpc_5fchttp2_5frst_5fstream_5fcreate',['grpc_chttp2_rst_stream_create',['../frame__rst__stream_8h.html#aecab04c529c662e1703ae01fb70d7687',1,'grpc_chttp2_rst_stream_create(gpr_uint32 stream_id, gpr_uint32 code): frame_rst_stream.c'],['../frame__rst__stream_8c.html#a6a627690f79faf403072532d19a08895',1,'grpc_chttp2_rst_stream_create(gpr_uint32 id, gpr_uint32 code): frame_rst_stream.c']]], + ['grpc_5fchttp2_5frst_5fstream_5fparser_5fbegin_5fframe',['grpc_chttp2_rst_stream_parser_begin_frame',['../frame__rst__stream_8h.html#a3138dce884dfcb8c9653de757261d16e',1,'grpc_chttp2_rst_stream_parser_begin_frame(grpc_chttp2_rst_stream_parser *parser, gpr_uint32 length, gpr_uint8 flags): frame_rst_stream.c'],['../frame__rst__stream_8c.html#a3138dce884dfcb8c9653de757261d16e',1,'grpc_chttp2_rst_stream_parser_begin_frame(grpc_chttp2_rst_stream_parser *parser, gpr_uint32 length, gpr_uint8 flags): frame_rst_stream.c']]], + ['grpc_5fchttp2_5frst_5fstream_5fparser_5fparse',['grpc_chttp2_rst_stream_parser_parse',['../frame__rst__stream_8h.html#ad89852ed41fa9b715fb86ab6193160fc',1,'grpc_chttp2_rst_stream_parser_parse(void *parser, grpc_chttp2_transport_parsing *transport_parsing, grpc_chttp2_stream_parsing *stream_parsing, gpr_slice slice, int is_last): frame_rst_stream.c'],['../frame__rst__stream_8c.html#ad89852ed41fa9b715fb86ab6193160fc',1,'grpc_chttp2_rst_stream_parser_parse(void *parser, grpc_chttp2_transport_parsing *transport_parsing, grpc_chttp2_stream_parsing *stream_parsing, gpr_slice slice, int is_last): frame_rst_stream.c']]], + ['grpc_5fchttp2_5fschedule_5fclosure',['grpc_chttp2_schedule_closure',['../internal_8h.html#a6f8b16bb6048f85107966a4be9ff4a4d',1,'grpc_chttp2_schedule_closure(grpc_chttp2_transport_global *transport_global, grpc_iomgr_closure *closure, int success): chttp2_transport.c'],['../chttp2__transport_8c.html#a6f8b16bb6048f85107966a4be9ff4a4d',1,'grpc_chttp2_schedule_closure(grpc_chttp2_transport_global *transport_global, grpc_iomgr_closure *closure, int success): chttp2_transport.c']]], + ['grpc_5fchttp2_5fsettings_5fack_5fcreate',['grpc_chttp2_settings_ack_create',['../frame__settings_8h.html#aa1382503cac023cb2cbf516427ec7954',1,'grpc_chttp2_settings_ack_create(void): frame_settings.c'],['../frame__settings_8c.html#aa1382503cac023cb2cbf516427ec7954',1,'grpc_chttp2_settings_ack_create(void): frame_settings.c']]], + ['grpc_5fchttp2_5fsettings_5fcreate',['grpc_chttp2_settings_create',['../frame__settings_8h.html#aa7db515ebcf9a8add8ade457502d065a',1,'grpc_chttp2_settings_create(gpr_uint32 *old, const gpr_uint32 *new, gpr_uint32 force_mask, size_t count): frame_settings.c'],['../frame__settings_8c.html#aa7db515ebcf9a8add8ade457502d065a',1,'grpc_chttp2_settings_create(gpr_uint32 *old, const gpr_uint32 *new, gpr_uint32 force_mask, size_t count): frame_settings.c']]], + ['grpc_5fchttp2_5fsettings_5fparser_5fbegin_5fframe',['grpc_chttp2_settings_parser_begin_frame',['../frame__settings_8h.html#a8ad385f78097ad98242ae5a8b4bc9ccf',1,'grpc_chttp2_settings_parser_begin_frame(grpc_chttp2_settings_parser *parser, gpr_uint32 length, gpr_uint8 flags, gpr_uint32 *settings): frame_settings.c'],['../frame__settings_8c.html#a8ad385f78097ad98242ae5a8b4bc9ccf',1,'grpc_chttp2_settings_parser_begin_frame(grpc_chttp2_settings_parser *parser, gpr_uint32 length, gpr_uint8 flags, gpr_uint32 *settings): frame_settings.c']]], + ['grpc_5fchttp2_5fsettings_5fparser_5fparse',['grpc_chttp2_settings_parser_parse',['../frame__settings_8h.html#a15ff513efa0a8683d5df89ee5b369544',1,'grpc_chttp2_settings_parser_parse(void *parser, grpc_chttp2_transport_parsing *transport_parsing, grpc_chttp2_stream_parsing *stream_parsing, gpr_slice slice, int is_last): frame_settings.c'],['../frame__settings_8c.html#a24ea784f4fb455974f9b4e5d66ee1416',1,'grpc_chttp2_settings_parser_parse(void *p, grpc_chttp2_transport_parsing *transport_parsing, grpc_chttp2_stream_parsing *stream_parsing, gpr_slice slice, int is_last): frame_settings.c']]], + ['grpc_5fchttp2_5fstream_5fmap_5fadd',['grpc_chttp2_stream_map_add',['../stream__map_8h.html#a45ba47442f3bc9d3b6c6841a6f855560',1,'grpc_chttp2_stream_map_add(grpc_chttp2_stream_map *map, gpr_uint32 key, void *value): stream_map.c'],['../stream__map_8c.html#a45ba47442f3bc9d3b6c6841a6f855560',1,'grpc_chttp2_stream_map_add(grpc_chttp2_stream_map *map, gpr_uint32 key, void *value): stream_map.c']]], + ['grpc_5fchttp2_5fstream_5fmap_5fdelete',['grpc_chttp2_stream_map_delete',['../stream__map_8h.html#ab2236a03f8efe26f8a1a3818bed7844e',1,'grpc_chttp2_stream_map_delete(grpc_chttp2_stream_map *map, gpr_uint32 key): stream_map.c'],['../stream__map_8c.html#ab2236a03f8efe26f8a1a3818bed7844e',1,'grpc_chttp2_stream_map_delete(grpc_chttp2_stream_map *map, gpr_uint32 key): stream_map.c']]], + ['grpc_5fchttp2_5fstream_5fmap_5fdestroy',['grpc_chttp2_stream_map_destroy',['../stream__map_8h.html#ad002379073f1a7c545a186fa0498f077',1,'grpc_chttp2_stream_map_destroy(grpc_chttp2_stream_map *map): stream_map.c'],['../stream__map_8c.html#ad002379073f1a7c545a186fa0498f077',1,'grpc_chttp2_stream_map_destroy(grpc_chttp2_stream_map *map): stream_map.c']]], + ['grpc_5fchttp2_5fstream_5fmap_5ffind',['grpc_chttp2_stream_map_find',['../stream__map_8h.html#abdc9ffa6b3f22fc039ab6457a18e3fd4',1,'grpc_chttp2_stream_map_find(grpc_chttp2_stream_map *map, gpr_uint32 key): stream_map.c'],['../stream__map_8c.html#abdc9ffa6b3f22fc039ab6457a18e3fd4',1,'grpc_chttp2_stream_map_find(grpc_chttp2_stream_map *map, gpr_uint32 key): stream_map.c']]], + ['grpc_5fchttp2_5fstream_5fmap_5ffor_5feach',['grpc_chttp2_stream_map_for_each',['../stream__map_8h.html#a113657d2ad2cdffe3d9d00fe30996aa3',1,'grpc_chttp2_stream_map_for_each(grpc_chttp2_stream_map *map, void(*f)(void *user_data, gpr_uint32 key, void *value), void *user_data): stream_map.c'],['../stream__map_8c.html#a113657d2ad2cdffe3d9d00fe30996aa3',1,'grpc_chttp2_stream_map_for_each(grpc_chttp2_stream_map *map, void(*f)(void *user_data, gpr_uint32 key, void *value), void *user_data): stream_map.c']]], + ['grpc_5fchttp2_5fstream_5fmap_5finit',['grpc_chttp2_stream_map_init',['../stream__map_8h.html#ae18ac039ec6e93e6aa93c3aa6a1b1e4d',1,'grpc_chttp2_stream_map_init(grpc_chttp2_stream_map *map, size_t initial_capacity): stream_map.c'],['../stream__map_8c.html#ae18ac039ec6e93e6aa93c3aa6a1b1e4d',1,'grpc_chttp2_stream_map_init(grpc_chttp2_stream_map *map, size_t initial_capacity): stream_map.c']]], + ['grpc_5fchttp2_5fstream_5fmap_5fmove_5finto',['grpc_chttp2_stream_map_move_into',['../stream__map_8h.html#ac8399a7345ae2a716a1eb7594d6d0aa9',1,'grpc_chttp2_stream_map_move_into(grpc_chttp2_stream_map *src, grpc_chttp2_stream_map *dst): stream_map.c'],['../stream__map_8c.html#ac8399a7345ae2a716a1eb7594d6d0aa9',1,'grpc_chttp2_stream_map_move_into(grpc_chttp2_stream_map *src, grpc_chttp2_stream_map *dst): stream_map.c']]], + ['grpc_5fchttp2_5fstream_5fmap_5fsize',['grpc_chttp2_stream_map_size',['../stream__map_8h.html#a9f3f7360b053c5507b8bd792ba7e9e85',1,'grpc_chttp2_stream_map_size(grpc_chttp2_stream_map *map): stream_map.c'],['../stream__map_8c.html#a9f3f7360b053c5507b8bd792ba7e9e85',1,'grpc_chttp2_stream_map_size(grpc_chttp2_stream_map *map): stream_map.c']]], + ['grpc_5fchttp2_5fterminate_5fwriting',['grpc_chttp2_terminate_writing',['../internal_8h.html#a83baade3ee315270b6d34fc6fbecb30c',1,'grpc_chttp2_terminate_writing(grpc_chttp2_transport_writing *transport_writing, int success): chttp2_transport.c'],['../chttp2__transport_8c.html#a83baade3ee315270b6d34fc6fbecb30c',1,'grpc_chttp2_terminate_writing(grpc_chttp2_transport_writing *transport_writing, int success): chttp2_transport.c']]], + ['grpc_5fchttp2_5ftransport_5fstart_5freading',['grpc_chttp2_transport_start_reading',['../chttp2__transport_8h.html#a73a9f03068253da126388dd890f1ee7d',1,'grpc_chttp2_transport_start_reading(grpc_transport *transport, gpr_slice *slices, size_t nslices): chttp2_transport.c'],['../chttp2__transport_8c.html#a73a9f03068253da126388dd890f1ee7d',1,'grpc_chttp2_transport_start_reading(grpc_transport *transport, gpr_slice *slices, size_t nslices): chttp2_transport.c']]], + ['grpc_5fchttp2_5funlocking_5fcheck_5fwrites',['grpc_chttp2_unlocking_check_writes',['../internal_8h.html#a154399c46a1f7b901491acb4c04d19d3',1,'grpc_chttp2_unlocking_check_writes(grpc_chttp2_transport_global *global, grpc_chttp2_transport_writing *writing): writing.c'],['../writing_8c.html#a309a5e92de22678f146956743d86f18a',1,'grpc_chttp2_unlocking_check_writes(grpc_chttp2_transport_global *transport_global, grpc_chttp2_transport_writing *transport_writing): writing.c']]], + ['grpc_5fchttp2_5funregister_5fstream',['grpc_chttp2_unregister_stream',['../internal_8h.html#a558d8331836125098834d28a94e39bcc',1,'grpc_chttp2_unregister_stream(grpc_chttp2_transport *t, grpc_chttp2_stream *s) GRPC_MUST_USE_RESULT: stream_lists.c'],['../stream__lists_8c.html#a9a096df2132a082f0fcd5b1f8010bf84',1,'grpc_chttp2_unregister_stream(grpc_chttp2_transport *t, grpc_chttp2_stream *s): stream_lists.c']]], + ['grpc_5fchttp2_5fwindow_5fupdate_5fcreate',['grpc_chttp2_window_update_create',['../frame__window__update_8h.html#a98b5291151f7f1b9ea69a988bbe66fe0',1,'grpc_chttp2_window_update_create(gpr_uint32 id, gpr_uint32 window_delta): frame_window_update.c'],['../frame__window__update_8c.html#a66b55a7299f42a5862cdd349afc6d6ac',1,'grpc_chttp2_window_update_create(gpr_uint32 id, gpr_uint32 window_update): frame_window_update.c']]], + ['grpc_5fchttp2_5fwindow_5fupdate_5fparser_5fbegin_5fframe',['grpc_chttp2_window_update_parser_begin_frame',['../frame__window__update_8h.html#ad675abd4715d42665d37f606447dcde8',1,'grpc_chttp2_window_update_parser_begin_frame(grpc_chttp2_window_update_parser *parser, gpr_uint32 length, gpr_uint8 flags): frame_window_update.c'],['../frame__window__update_8c.html#ad675abd4715d42665d37f606447dcde8',1,'grpc_chttp2_window_update_parser_begin_frame(grpc_chttp2_window_update_parser *parser, gpr_uint32 length, gpr_uint8 flags): frame_window_update.c']]], + ['grpc_5fchttp2_5fwindow_5fupdate_5fparser_5fparse',['grpc_chttp2_window_update_parser_parse',['../frame__window__update_8h.html#ab1c1b5d960c0ed5cfff799476b4e425a',1,'grpc_chttp2_window_update_parser_parse(void *parser, grpc_chttp2_transport_parsing *transport_parsing, grpc_chttp2_stream_parsing *stream_parsing, gpr_slice slice, int is_last): frame_window_update.c'],['../frame__window__update_8c.html#ab1c1b5d960c0ed5cfff799476b4e425a',1,'grpc_chttp2_window_update_parser_parse(void *parser, grpc_chttp2_transport_parsing *transport_parsing, grpc_chttp2_stream_parsing *stream_parsing, gpr_slice slice, int is_last): frame_window_update.c']]], + ['grpc_5fclient_5fchannel_5fadd_5finterested_5fparty',['grpc_client_channel_add_interested_party',['../client__channel_8h.html#ac31482c5bf741292f7598367655fd5ee',1,'grpc_client_channel_add_interested_party(grpc_channel_element *channel, grpc_pollset *pollset): client_channel.c'],['../client__channel_8c.html#a7b288cd209db3fac0c4cd5d4f8fbf3b3',1,'grpc_client_channel_add_interested_party(grpc_channel_element *elem, grpc_pollset *pollset): client_channel.c']]], + ['grpc_5fclient_5fchannel_5fcheck_5fconnectivity_5fstate',['grpc_client_channel_check_connectivity_state',['../client__channel_8h.html#ae257a5817fa8e50df430d4a2132deed6',1,'grpc_client_channel_check_connectivity_state(grpc_channel_element *elem, int try_to_connect): client_channel.c'],['../client__channel_8c.html#ae257a5817fa8e50df430d4a2132deed6',1,'grpc_client_channel_check_connectivity_state(grpc_channel_element *elem, int try_to_connect): client_channel.c']]], + ['grpc_5fclient_5fchannel_5fdel_5finterested_5fparty',['grpc_client_channel_del_interested_party',['../client__channel_8h.html#a495327ded305a2211cc39f7c5ecf5c8d',1,'grpc_client_channel_del_interested_party(grpc_channel_element *channel, grpc_pollset *pollset): client_channel.c'],['../client__channel_8c.html#a36a91904b5c5cce4a334a9e055b35f78',1,'grpc_client_channel_del_interested_party(grpc_channel_element *elem, grpc_pollset *pollset): client_channel.c']]], + ['grpc_5fclient_5fchannel_5fget_5fconnecting_5fpollset_5fset',['grpc_client_channel_get_connecting_pollset_set',['../client__channel_8h.html#ab6ddde66c53ca2fec899def7d72234ad',1,'grpc_client_channel_get_connecting_pollset_set(grpc_channel_element *elem): client_channel.c'],['../client__channel_8c.html#ab6ddde66c53ca2fec899def7d72234ad',1,'grpc_client_channel_get_connecting_pollset_set(grpc_channel_element *elem): client_channel.c']]], + ['grpc_5fclient_5fchannel_5fset_5fresolver',['grpc_client_channel_set_resolver',['../client__channel_8h.html#a86757e52c8e3f20d553f999c62589993',1,'grpc_client_channel_set_resolver(grpc_channel_stack *channel_stack, grpc_resolver *resolver): client_channel.c'],['../client__channel_8c.html#a86757e52c8e3f20d553f999c62589993',1,'grpc_client_channel_set_resolver(grpc_channel_stack *channel_stack, grpc_resolver *resolver): client_channel.c']]], + ['grpc_5fclient_5fchannel_5fwatch_5fconnectivity_5fstate',['grpc_client_channel_watch_connectivity_state',['../client__channel_8h.html#a037d0d7720ae9a68669ad9552f7ee69c',1,'grpc_client_channel_watch_connectivity_state(grpc_channel_element *elem, grpc_connectivity_state *state, grpc_iomgr_closure *on_complete): client_channel.c'],['../client__channel_8c.html#a037d0d7720ae9a68669ad9552f7ee69c',1,'grpc_client_channel_watch_connectivity_state(grpc_channel_element *elem, grpc_connectivity_state *state, grpc_iomgr_closure *on_complete): client_channel.c']]], + ['grpc_5fclient_5fconfig_5fcreate',['grpc_client_config_create',['../client__config_8h.html#a165901d77b066794c0822a683d167359',1,'grpc_client_config_create(): client_config.c'],['../client__config_8c.html#a165901d77b066794c0822a683d167359',1,'grpc_client_config_create(): client_config.c']]], + ['grpc_5fclient_5fconfig_5fget_5flb_5fpolicy',['grpc_client_config_get_lb_policy',['../client__config_8h.html#a34de5fdfe171d82064a2c568dc5f109e',1,'grpc_client_config_get_lb_policy(grpc_client_config *client_config): client_config.c'],['../client__config_8c.html#aa6642aab990240a61c9ecafa3dfb55e1',1,'grpc_client_config_get_lb_policy(grpc_client_config *c): client_config.c']]], + ['grpc_5fclient_5fconfig_5fref',['grpc_client_config_ref',['../client__config_8h.html#af036e0a9e83189f7d2c72afdeb6c6d86',1,'grpc_client_config_ref(grpc_client_config *client_config): client_config.c'],['../client__config_8c.html#aa0b099847f86ea9e0da873f49b92f554',1,'grpc_client_config_ref(grpc_client_config *c): client_config.c']]], + ['grpc_5fclient_5fconfig_5fset_5flb_5fpolicy',['grpc_client_config_set_lb_policy',['../client__config_8h.html#a01f90473256a8c714ba043c03ef2acac',1,'grpc_client_config_set_lb_policy(grpc_client_config *client_config, grpc_lb_policy *lb_policy): client_config.c'],['../client__config_8c.html#a807baa44b3464dc0c5870184619d6c35',1,'grpc_client_config_set_lb_policy(grpc_client_config *c, grpc_lb_policy *lb_policy): client_config.c']]], + ['grpc_5fclient_5fconfig_5funref',['grpc_client_config_unref',['../client__config_8h.html#a614ddbd34b8597f39bce9d8f4c6ca978',1,'grpc_client_config_unref(grpc_client_config *client_config): client_config.c'],['../client__config_8c.html#ad8d9107bdf0a780e914dccd4fd57cb35',1,'grpc_client_config_unref(grpc_client_config *c): client_config.c']]], + ['grpc_5fclient_5fsecurity_5fcontext_5fcreate',['grpc_client_security_context_create',['../security__context_8h.html#a7ca11372b407a42724f5d13e36409c03',1,'grpc_client_security_context_create(void): security_context.c'],['../security__context_8c.html#a7ca11372b407a42724f5d13e36409c03',1,'grpc_client_security_context_create(void): security_context.c']]], + ['grpc_5fclient_5fsecurity_5fcontext_5fdestroy',['grpc_client_security_context_destroy',['../security__context_8h.html#a794b8453091b440bafd21e00cf0f7236',1,'grpc_client_security_context_destroy(void *ctx): security_context.c'],['../security__context_8c.html#a794b8453091b440bafd21e00cf0f7236',1,'grpc_client_security_context_destroy(void *ctx): security_context.c']]], + ['grpc_5fcompletion_5fqueue_5fcreate',['grpc_completion_queue_create',['../grpc_8h.html#a9f69c76c26125e6581491864a06ea44a',1,'grpc_completion_queue_create(void): completion_queue.c'],['../completion__queue_8c.html#a9f69c76c26125e6581491864a06ea44a',1,'grpc_completion_queue_create(void): completion_queue.c']]], + ['grpc_5fcompletion_5fqueue_5fdestroy',['grpc_completion_queue_destroy',['../grpc_8h.html#a629a77a358721f1a3bbb8fef34c3996e',1,'grpc_completion_queue_destroy(grpc_completion_queue *cq): completion_queue.c'],['../completion__queue_8c.html#a1d73d7983af3030ee119b768095e9627',1,'grpc_completion_queue_destroy(grpc_completion_queue *cc): completion_queue.c']]], + ['grpc_5fcompletion_5fqueue_5fnext',['grpc_completion_queue_next',['../grpc_8h.html#a56a4ff1f046393205c3418c24f5d5587',1,'grpc_completion_queue_next(grpc_completion_queue *cq, gpr_timespec deadline): completion_queue.c'],['../completion__queue_8c.html#ac9b582acb0fc4994ccdbf39d40ee3766',1,'grpc_completion_queue_next(grpc_completion_queue *cc, gpr_timespec deadline): completion_queue.c']]], + ['grpc_5fcompletion_5fqueue_5fpluck',['grpc_completion_queue_pluck',['../grpc_8h.html#a21e38dd0146d244eb0e262fd1b6a50ee',1,'grpc_completion_queue_pluck(grpc_completion_queue *cq, void *tag, gpr_timespec deadline): completion_queue.c'],['../completion__queue_8c.html#ab63b4e63ae13faa3e6786f131a46b5dd',1,'grpc_completion_queue_pluck(grpc_completion_queue *cc, void *tag, gpr_timespec deadline): completion_queue.c']]], + ['grpc_5fcompletion_5fqueue_5fshutdown',['grpc_completion_queue_shutdown',['../grpc_8h.html#a4051b4036c5132f02064430f67420ecd',1,'grpc_completion_queue_shutdown(grpc_completion_queue *cq): completion_queue.c'],['../completion__queue_8c.html#a7a7c60f847e798025d83e2d8ff9b1778',1,'grpc_completion_queue_shutdown(grpc_completion_queue *cc): completion_queue.c']]], + ['grpc_5fcomposite_5fcredentials_5fcreate',['grpc_composite_credentials_create',['../grpc__security_8h.html#a4f65f01fb23e963cc88bcdfbede70da7',1,'grpc_composite_credentials_create(grpc_credentials *creds1, grpc_credentials *creds2): credentials.c'],['../credentials_8c.html#a4f65f01fb23e963cc88bcdfbede70da7',1,'grpc_composite_credentials_create(grpc_credentials *creds1, grpc_credentials *creds2): credentials.c']]], + ['grpc_5fcomposite_5fcredentials_5fget_5fcredentials',['grpc_composite_credentials_get_credentials',['../credentials_8h.html#ae0ed8f1e7494e839a3992c0a19fe0c67',1,'grpc_composite_credentials_get_credentials(grpc_credentials *composite_creds): credentials.c'],['../credentials_8c.html#ac3ea491e3e847e603c0da420375b6e60',1,'grpc_composite_credentials_get_credentials(grpc_credentials *creds): credentials.c']]], + ['grpc_5fcompression_5falgorithm_5ffor_5flevel',['grpc_compression_algorithm_for_level',['../compression_8h.html#a382cce802b53a6f85deb706caf1dccd6',1,'grpc_compression_algorithm_for_level(grpc_compression_level level): algorithm.c'],['../algorithm_8c.html#a382cce802b53a6f85deb706caf1dccd6',1,'grpc_compression_algorithm_for_level(grpc_compression_level level): algorithm.c']]], + ['grpc_5fcompression_5falgorithm_5fname',['grpc_compression_algorithm_name',['../compression_8h.html#adce0341ab8fd560dc39e9e96daf7cb14',1,'grpc_compression_algorithm_name(grpc_compression_algorithm algorithm, char **name): algorithm.c'],['../algorithm_8c.html#adce0341ab8fd560dc39e9e96daf7cb14',1,'grpc_compression_algorithm_name(grpc_compression_algorithm algorithm, char **name): algorithm.c']]], + ['grpc_5fcompression_5falgorithm_5fparse',['grpc_compression_algorithm_parse',['../compression_8h.html#a996f65ae42d05dd7ef9da9c6d6586397',1,'grpc_compression_algorithm_parse(const char *name, grpc_compression_algorithm *algorithm): algorithm.c'],['../algorithm_8c.html#a996f65ae42d05dd7ef9da9c6d6586397',1,'grpc_compression_algorithm_parse(const char *name, grpc_compression_algorithm *algorithm): algorithm.c']]], + ['grpc_5fcompression_5flevel_5ffor_5falgorithm',['grpc_compression_level_for_algorithm',['../compression_8h.html#ace80040d9c2a916ddd4d2f2d2ec44dba',1,'grpc_compression_level_for_algorithm(grpc_compression_algorithm algorithm): algorithm.c'],['../algorithm_8c.html#ace80040d9c2a916ddd4d2f2d2ec44dba',1,'grpc_compression_level_for_algorithm(grpc_compression_algorithm algorithm): algorithm.c']]], + ['grpc_5fcompute_5fengine_5fcredentials_5fcreate',['grpc_compute_engine_credentials_create',['../grpc__security_8h.html#a3beb3fe683139856e1a13c27d760eb95',1,'grpc_compute_engine_credentials_create(void): credentials.c'],['../credentials_8c.html#a3beb3fe683139856e1a13c27d760eb95',1,'grpc_compute_engine_credentials_create(void): credentials.c']]], + ['grpc_5fconnected_5fchannel_5fbind_5ftransport',['grpc_connected_channel_bind_transport',['../connected__channel_8h.html#a5be096b4cce2c5c6b51727866723e5b9',1,'grpc_connected_channel_bind_transport(grpc_channel_stack *channel_stack, grpc_transport *transport): connected_channel.c'],['../connected__channel_8c.html#a5be096b4cce2c5c6b51727866723e5b9',1,'grpc_connected_channel_bind_transport(grpc_channel_stack *channel_stack, grpc_transport *transport): connected_channel.c']]], + ['grpc_5fconnectivity_5fstate_5fcheck',['grpc_connectivity_state_check',['../connectivity__state_8h.html#a7de513064c1e6d041b5c03611a21784c',1,'grpc_connectivity_state_check(grpc_connectivity_state_tracker *tracker): connectivity_state.c'],['../connectivity__state_8c.html#a7de513064c1e6d041b5c03611a21784c',1,'grpc_connectivity_state_check(grpc_connectivity_state_tracker *tracker): connectivity_state.c']]], + ['grpc_5fconnectivity_5fstate_5fdestroy',['grpc_connectivity_state_destroy',['../connectivity__state_8h.html#aa8e03f103b290be8de8041a63e469591',1,'grpc_connectivity_state_destroy(grpc_connectivity_state_tracker *tracker): connectivity_state.c'],['../connectivity__state_8c.html#aa8e03f103b290be8de8041a63e469591',1,'grpc_connectivity_state_destroy(grpc_connectivity_state_tracker *tracker): connectivity_state.c']]], + ['grpc_5fconnectivity_5fstate_5finit',['grpc_connectivity_state_init',['../connectivity__state_8h.html#ab6dd4577019442e4d2bfab318d0a66a8',1,'grpc_connectivity_state_init(grpc_connectivity_state_tracker *tracker, grpc_connectivity_state init_state, const char *name): connectivity_state.c'],['../connectivity__state_8c.html#ab6dd4577019442e4d2bfab318d0a66a8',1,'grpc_connectivity_state_init(grpc_connectivity_state_tracker *tracker, grpc_connectivity_state init_state, const char *name): connectivity_state.c']]], + ['grpc_5fconnectivity_5fstate_5fname',['grpc_connectivity_state_name',['../connectivity__state_8c.html#a90cae61aab329c583da43141f8057b36',1,'connectivity_state.c']]], + ['grpc_5fconnectivity_5fstate_5fnotify_5fon_5fstate_5fchange',['grpc_connectivity_state_notify_on_state_change',['../connectivity__state_8h.html#aef05f23287d0e2ab2e469e7113d01827',1,'grpc_connectivity_state_notify_on_state_change(grpc_connectivity_state_tracker *tracker, grpc_connectivity_state *current, grpc_iomgr_closure *notify): connectivity_state.c'],['../connectivity__state_8c.html#aef05f23287d0e2ab2e469e7113d01827',1,'grpc_connectivity_state_notify_on_state_change(grpc_connectivity_state_tracker *tracker, grpc_connectivity_state *current, grpc_iomgr_closure *notify): connectivity_state.c']]], + ['grpc_5fconnectivity_5fstate_5fset',['grpc_connectivity_state_set',['../connectivity__state_8h.html#aafe2517530b344f8e062bbef25b8895c',1,'grpc_connectivity_state_set(grpc_connectivity_state_tracker *tracker, grpc_connectivity_state state, const char *reason): connectivity_state.c'],['../connectivity__state_8c.html#aafe2517530b344f8e062bbef25b8895c',1,'grpc_connectivity_state_set(grpc_connectivity_state_tracker *tracker, grpc_connectivity_state state, const char *reason): connectivity_state.c']]], + ['grpc_5fconnectivity_5fstate_5fset_5fwith_5fscheduler',['grpc_connectivity_state_set_with_scheduler',['../connectivity__state_8h.html#ae542578d2026b84ff6d0403809e67ad7',1,'grpc_connectivity_state_set_with_scheduler(grpc_connectivity_state_tracker *tracker, grpc_connectivity_state state, void(*scheduler)(void *arg, grpc_iomgr_closure *closure), void *arg, const char *reason): connectivity_state.c'],['../connectivity__state_8c.html#ae542578d2026b84ff6d0403809e67ad7',1,'grpc_connectivity_state_set_with_scheduler(grpc_connectivity_state_tracker *tracker, grpc_connectivity_state state, void(*scheduler)(void *arg, grpc_iomgr_closure *closure), void *arg, const char *reason): connectivity_state.c']]], + ['grpc_5fconnector_5fconnect',['grpc_connector_connect',['../connector_8h.html#ae43acb2d650fdc8023d69a4a39781d4e',1,'grpc_connector_connect(grpc_connector *connector, const grpc_connect_in_args *in_args, grpc_connect_out_args *out_args, grpc_iomgr_closure *notify): connector.c'],['../connector_8c.html#ae43acb2d650fdc8023d69a4a39781d4e',1,'grpc_connector_connect(grpc_connector *connector, const grpc_connect_in_args *in_args, grpc_connect_out_args *out_args, grpc_iomgr_closure *notify): connector.c']]], + ['grpc_5fconnector_5fref',['grpc_connector_ref',['../connector_8h.html#a32f21c6a46c13ba6cc697cf94c45ca46',1,'grpc_connector_ref(grpc_connector *connector): connector.c'],['../connector_8c.html#a32f21c6a46c13ba6cc697cf94c45ca46',1,'grpc_connector_ref(grpc_connector *connector): connector.c']]], + ['grpc_5fconnector_5funref',['grpc_connector_unref',['../connector_8h.html#ab65e217852a93e4a8281e7003d72bcf6',1,'grpc_connector_unref(grpc_connector *connector): connector.c'],['../connector_8c.html#ab65e217852a93e4a8281e7003d72bcf6',1,'grpc_connector_unref(grpc_connector *connector): connector.c']]], + ['grpc_5fcq_5fbegin_5fop',['grpc_cq_begin_op',['../completion__queue_8h.html#af0798635c22a4eaa66ed25c310b3a776',1,'grpc_cq_begin_op(grpc_completion_queue *cc): completion_queue.c'],['../completion__queue_8c.html#af0798635c22a4eaa66ed25c310b3a776',1,'grpc_cq_begin_op(grpc_completion_queue *cc): completion_queue.c']]], + ['grpc_5fcq_5fend_5fop',['grpc_cq_end_op',['../completion__queue_8h.html#a2752dafd9e9e02bbd253578fc58b0a7e',1,'grpc_cq_end_op(grpc_completion_queue *cc, void *tag, int success, void(*done)(void *done_arg, grpc_cq_completion *storage), void *done_arg, grpc_cq_completion *storage): completion_queue.c'],['../completion__queue_8c.html#a2752dafd9e9e02bbd253578fc58b0a7e',1,'grpc_cq_end_op(grpc_completion_queue *cc, void *tag, int success, void(*done)(void *done_arg, grpc_cq_completion *storage), void *done_arg, grpc_cq_completion *storage): completion_queue.c']]], + ['grpc_5fcq_5fhack_5fspin_5fpollset',['grpc_cq_hack_spin_pollset',['../completion__queue_8h.html#af56ef17bad0397c6f1305be433aeeb64',1,'grpc_cq_hack_spin_pollset(grpc_completion_queue *cc): completion_queue.c'],['../completion__queue_8c.html#af56ef17bad0397c6f1305be433aeeb64',1,'grpc_cq_hack_spin_pollset(grpc_completion_queue *cc): completion_queue.c']]], + ['grpc_5fcq_5finternal_5fref',['grpc_cq_internal_ref',['../completion__queue_8h.html#acec06afc3d55de1701d5831e979dad02',1,'grpc_cq_internal_ref(grpc_completion_queue *cc): completion_queue.c'],['../completion__queue_8c.html#acec06afc3d55de1701d5831e979dad02',1,'grpc_cq_internal_ref(grpc_completion_queue *cc): completion_queue.c']]], + ['grpc_5fcq_5finternal_5funref',['grpc_cq_internal_unref',['../completion__queue_8h.html#a0096a03d441f4b7cfbbe864eb122ed8e',1,'grpc_cq_internal_unref(grpc_completion_queue *cc): completion_queue.c'],['../completion__queue_8c.html#a0096a03d441f4b7cfbbe864eb122ed8e',1,'grpc_cq_internal_unref(grpc_completion_queue *cc): completion_queue.c']]], + ['grpc_5fcq_5fis_5fserver_5fcq',['grpc_cq_is_server_cq',['../completion__queue_8h.html#a02173d1bf8e55f6903d24c20107d8dbf',1,'grpc_cq_is_server_cq(grpc_completion_queue *cc): completion_queue.c'],['../completion__queue_8c.html#a02173d1bf8e55f6903d24c20107d8dbf',1,'grpc_cq_is_server_cq(grpc_completion_queue *cc): completion_queue.c']]], + ['grpc_5fcq_5fmark_5fserver_5fcq',['grpc_cq_mark_server_cq',['../completion__queue_8h.html#afbe8f768af201e16309e240ae155ee3d',1,'grpc_cq_mark_server_cq(grpc_completion_queue *cc): completion_queue.c'],['../completion__queue_8c.html#afbe8f768af201e16309e240ae155ee3d',1,'grpc_cq_mark_server_cq(grpc_completion_queue *cc): completion_queue.c']]], + ['grpc_5fcq_5fpollset',['grpc_cq_pollset',['../completion__queue_8h.html#a0ebca6cf60ce9cc92b9bfa9200fab813',1,'grpc_cq_pollset(grpc_completion_queue *cc): completion_queue.c'],['../completion__queue_8c.html#a0ebca6cf60ce9cc92b9bfa9200fab813',1,'grpc_cq_pollset(grpc_completion_queue *cc): completion_queue.c']]], + ['grpc_5fcreate_5fchttp2_5ftransport',['grpc_create_chttp2_transport',['../chttp2__transport_8h.html#a73982c96ccbaedc415c044d9d9b7bd01',1,'grpc_create_chttp2_transport(const grpc_channel_args *channel_args, grpc_endpoint *ep, grpc_mdctx *metadata_context, int is_client): chttp2_transport.c'],['../chttp2__transport_8c.html#a03cebc42bd75ab90ce0f9d3c8bc526a8',1,'grpc_create_chttp2_transport(const grpc_channel_args *channel_args, grpc_endpoint *ep, grpc_mdctx *mdctx, int is_client): chttp2_transport.c']]], + ['grpc_5fcreate_5fdualstack_5fsocket',['grpc_create_dualstack_socket',['../socket__utils__posix_8h.html#a76dcb8f351a790f2f3dc6f857f1df6f6',1,'socket_utils_posix.h']]], + ['grpc_5fcreate_5fpick_5ffirst_5flb_5fpolicy',['grpc_create_pick_first_lb_policy',['../pick__first_8h.html#a2ef6310260146caa4cf56acddbb4343e',1,'grpc_create_pick_first_lb_policy(grpc_subchannel **subchannels, size_t num_subchannels): pick_first.c'],['../pick__first_8c.html#a2ef6310260146caa4cf56acddbb4343e',1,'grpc_create_pick_first_lb_policy(grpc_subchannel **subchannels, size_t num_subchannels): pick_first.c']]], + ['grpc_5fcredentials_5fcontains_5ftype',['grpc_credentials_contains_type',['../credentials_8h.html#a4a6be957afa38741405a5a41cdd752e1',1,'grpc_credentials_contains_type(grpc_credentials *creds, const char *type, grpc_credentials **composite_creds): credentials.c'],['../credentials_8c.html#a4a6be957afa38741405a5a41cdd752e1',1,'grpc_credentials_contains_type(grpc_credentials *creds, const char *type, grpc_credentials **composite_creds): credentials.c']]], + ['grpc_5fcredentials_5fcreate_5fsecurity_5fconnector',['grpc_credentials_create_security_connector',['../credentials_8h.html#af26c4ee0ed97f2e88958c54ba22d5759',1,'grpc_credentials_create_security_connector(grpc_credentials *creds, const char *target, const grpc_channel_args *args, grpc_credentials *request_metadata_creds, grpc_channel_security_connector **sc, grpc_channel_args **new_args): credentials.c'],['../credentials_8c.html#af26c4ee0ed97f2e88958c54ba22d5759',1,'grpc_credentials_create_security_connector(grpc_credentials *creds, const char *target, const grpc_channel_args *args, grpc_credentials *request_metadata_creds, grpc_channel_security_connector **sc, grpc_channel_args **new_args): credentials.c']]], + ['grpc_5fcredentials_5fget_5frequest_5fmetadata',['grpc_credentials_get_request_metadata',['../credentials_8h.html#afe8d4191ee0f0f67684fd2575173cabc',1,'grpc_credentials_get_request_metadata(grpc_credentials *creds, grpc_pollset *pollset, const char *service_url, grpc_credentials_metadata_cb cb, void *user_data): credentials.c'],['../credentials_8c.html#afe8d4191ee0f0f67684fd2575173cabc',1,'grpc_credentials_get_request_metadata(grpc_credentials *creds, grpc_pollset *pollset, const char *service_url, grpc_credentials_metadata_cb cb, void *user_data): credentials.c']]], + ['grpc_5fcredentials_5fhas_5frequest_5fmetadata',['grpc_credentials_has_request_metadata',['../credentials_8h.html#ad44c9cce8c086f8c083e5d5006e3310a',1,'grpc_credentials_has_request_metadata(grpc_credentials *creds): credentials.c'],['../credentials_8c.html#ad44c9cce8c086f8c083e5d5006e3310a',1,'grpc_credentials_has_request_metadata(grpc_credentials *creds): credentials.c']]], + ['grpc_5fcredentials_5fhas_5frequest_5fmetadata_5fonly',['grpc_credentials_has_request_metadata_only',['../credentials_8h.html#a726f818ebdd9e781b090cf7d27347b7a',1,'grpc_credentials_has_request_metadata_only(grpc_credentials *creds): credentials.c'],['../credentials_8c.html#a726f818ebdd9e781b090cf7d27347b7a',1,'grpc_credentials_has_request_metadata_only(grpc_credentials *creds): credentials.c']]], + ['grpc_5fcredentials_5fmd_5fstore_5fadd',['grpc_credentials_md_store_add',['../credentials_8h.html#a3676b161f50d5b36989af2624565596b',1,'grpc_credentials_md_store_add(grpc_credentials_md_store *store, gpr_slice key, gpr_slice value): credentials_metadata.c'],['../credentials__metadata_8c.html#a3676b161f50d5b36989af2624565596b',1,'grpc_credentials_md_store_add(grpc_credentials_md_store *store, gpr_slice key, gpr_slice value): credentials_metadata.c']]], + ['grpc_5fcredentials_5fmd_5fstore_5fadd_5fcstrings',['grpc_credentials_md_store_add_cstrings',['../credentials_8h.html#a51ccf8c724a8477d5efcf0e3f73ef3a4',1,'grpc_credentials_md_store_add_cstrings(grpc_credentials_md_store *store, const char *key, const char *value): credentials_metadata.c'],['../credentials__metadata_8c.html#a51ccf8c724a8477d5efcf0e3f73ef3a4',1,'grpc_credentials_md_store_add_cstrings(grpc_credentials_md_store *store, const char *key, const char *value): credentials_metadata.c']]], + ['grpc_5fcredentials_5fmd_5fstore_5fcreate',['grpc_credentials_md_store_create',['../credentials_8h.html#aee28492ddb70e47b0778fc928be9159b',1,'grpc_credentials_md_store_create(size_t initial_capacity): credentials_metadata.c'],['../credentials__metadata_8c.html#aee28492ddb70e47b0778fc928be9159b',1,'grpc_credentials_md_store_create(size_t initial_capacity): credentials_metadata.c']]], + ['grpc_5fcredentials_5fmd_5fstore_5fref',['grpc_credentials_md_store_ref',['../credentials_8h.html#a5535f991ceb2b2160aee414cf013ed73',1,'grpc_credentials_md_store_ref(grpc_credentials_md_store *store): credentials_metadata.c'],['../credentials__metadata_8c.html#a5535f991ceb2b2160aee414cf013ed73',1,'grpc_credentials_md_store_ref(grpc_credentials_md_store *store): credentials_metadata.c']]], + ['grpc_5fcredentials_5fmd_5fstore_5funref',['grpc_credentials_md_store_unref',['../credentials_8h.html#afc507497ef8b5dda7074b63babaac366',1,'grpc_credentials_md_store_unref(grpc_credentials_md_store *store): credentials_metadata.c'],['../credentials__metadata_8c.html#afc507497ef8b5dda7074b63babaac366',1,'grpc_credentials_md_store_unref(grpc_credentials_md_store *store): credentials_metadata.c']]], + ['grpc_5fcredentials_5fref',['grpc_credentials_ref',['../credentials_8h.html#a62061acac11e854a58c5faca6956e609',1,'grpc_credentials_ref(grpc_credentials *creds): credentials.c'],['../credentials_8c.html#a62061acac11e854a58c5faca6956e609',1,'grpc_credentials_ref(grpc_credentials *creds): credentials.c']]], + ['grpc_5fcredentials_5frelease',['grpc_credentials_release',['../grpc__security_8h.html#a6c01e107d41e964458fdf701b8b81440',1,'grpc_credentials_release(grpc_credentials *creds): credentials.c'],['../credentials_8c.html#a6c01e107d41e964458fdf701b8b81440',1,'grpc_credentials_release(grpc_credentials *creds): credentials.c']]], + ['grpc_5fcredentials_5funref',['grpc_credentials_unref',['../credentials_8h.html#a63d4aa3f072736ba5eb168e12c306e56',1,'grpc_credentials_unref(grpc_credentials *creds): credentials.c'],['../credentials_8c.html#a63d4aa3f072736ba5eb168e12c306e56',1,'grpc_credentials_unref(grpc_credentials *creds): credentials.c']]], + ['grpc_5fdns_5fresolver_5ffactory_5fcreate',['grpc_dns_resolver_factory_create',['../dns__resolver_8h.html#af1a22a50d3130b565e8a00b95a805b8a',1,'grpc_dns_resolver_factory_create(void): dns_resolver.c'],['../dns__resolver_8c.html#a932c66ec39e987fb2cd076869334f871',1,'grpc_dns_resolver_factory_create(): dns_resolver.c']]], + ['grpc_5fendpoint_5fadd_5fto_5fpollset',['grpc_endpoint_add_to_pollset',['../endpoint_8h.html#afe30ad16c4df2a5c80b9e73d2bce80e6',1,'grpc_endpoint_add_to_pollset(grpc_endpoint *ep, grpc_pollset *pollset): endpoint.c'],['../endpoint_8c.html#afe30ad16c4df2a5c80b9e73d2bce80e6',1,'grpc_endpoint_add_to_pollset(grpc_endpoint *ep, grpc_pollset *pollset): endpoint.c']]], + ['grpc_5fendpoint_5fadd_5fto_5fpollset_5fset',['grpc_endpoint_add_to_pollset_set',['../endpoint_8h.html#a7da8b1657895a121a59458dbdeb0e900',1,'grpc_endpoint_add_to_pollset_set(grpc_endpoint *ep, grpc_pollset_set *pollset_set): endpoint.c'],['../endpoint_8c.html#a7da8b1657895a121a59458dbdeb0e900',1,'grpc_endpoint_add_to_pollset_set(grpc_endpoint *ep, grpc_pollset_set *pollset_set): endpoint.c']]], + ['grpc_5fendpoint_5fdestroy',['grpc_endpoint_destroy',['../endpoint_8h.html#a5b4b5f0b352955ec4f060c6b443408bd',1,'grpc_endpoint_destroy(grpc_endpoint *ep): endpoint.c'],['../endpoint_8c.html#a5b4b5f0b352955ec4f060c6b443408bd',1,'grpc_endpoint_destroy(grpc_endpoint *ep): endpoint.c']]], + ['grpc_5fendpoint_5fget_5fpeer',['grpc_endpoint_get_peer',['../endpoint_8h.html#a21e5c205829aaf48ae7d26b32fa00338',1,'grpc_endpoint_get_peer(grpc_endpoint *ep): endpoint.c'],['../endpoint_8c.html#a21e5c205829aaf48ae7d26b32fa00338',1,'grpc_endpoint_get_peer(grpc_endpoint *ep): endpoint.c']]], + ['grpc_5fendpoint_5fnotify_5fon_5fread',['grpc_endpoint_notify_on_read',['../endpoint_8h.html#abead7bb222b6e3f5a7004c8fb12821be',1,'grpc_endpoint_notify_on_read(grpc_endpoint *ep, grpc_endpoint_read_cb cb, void *user_data): endpoint.c'],['../endpoint_8c.html#abead7bb222b6e3f5a7004c8fb12821be',1,'grpc_endpoint_notify_on_read(grpc_endpoint *ep, grpc_endpoint_read_cb cb, void *user_data): endpoint.c']]], + ['grpc_5fendpoint_5fshutdown',['grpc_endpoint_shutdown',['../endpoint_8h.html#a7fca699259b75cf0f685227a363765fa',1,'grpc_endpoint_shutdown(grpc_endpoint *ep): endpoint.c'],['../endpoint_8c.html#a7fca699259b75cf0f685227a363765fa',1,'grpc_endpoint_shutdown(grpc_endpoint *ep): endpoint.c']]], + ['grpc_5fendpoint_5fwrite',['grpc_endpoint_write',['../endpoint_8h.html#a6cc5c4afb853d7204ad7b6bcbe8c95b0',1,'grpc_endpoint_write(grpc_endpoint *ep, gpr_slice *slices, size_t nslices, grpc_endpoint_write_cb cb, void *user_data): endpoint.c'],['../endpoint_8c.html#a6cc5c4afb853d7204ad7b6bcbe8c95b0',1,'grpc_endpoint_write(grpc_endpoint *ep, gpr_slice *slices, size_t nslices, grpc_endpoint_write_cb cb, void *user_data): endpoint.c']]], + ['grpc_5fevent_5fstring',['grpc_event_string',['../event__string_8h.html#a8dc67a225f744d4d0ee592faf2bd4313',1,'grpc_event_string(grpc_event *ev): event_string.c'],['../event__string_8c.html#a8dc67a225f744d4d0ee592faf2bd4313',1,'grpc_event_string(grpc_event *ev): event_string.c']]], + ['grpc_5ffake_5fchannel_5fsecurity_5fconnector_5fcreate',['grpc_fake_channel_security_connector_create',['../security__connector_8h.html#abe2c43cab618ad3b036645d9aa506f12',1,'grpc_fake_channel_security_connector_create(grpc_credentials *request_metadata_creds, int call_host_check_is_async): security_connector.c'],['../security__connector_8c.html#abe2c43cab618ad3b036645d9aa506f12',1,'grpc_fake_channel_security_connector_create(grpc_credentials *request_metadata_creds, int call_host_check_is_async): security_connector.c']]], + ['grpc_5ffake_5foauth2_5fcredentials_5fcreate',['grpc_fake_oauth2_credentials_create',['../credentials_8h.html#ac749a71cdf28ebdc69d25cde612b22cc',1,'grpc_fake_oauth2_credentials_create(const char *token_md_value, int is_async): credentials.c'],['../credentials_8c.html#ac749a71cdf28ebdc69d25cde612b22cc',1,'grpc_fake_oauth2_credentials_create(const char *token_md_value, int is_async): credentials.c']]], + ['grpc_5ffake_5fserver_5fsecurity_5fconnector_5fcreate',['grpc_fake_server_security_connector_create',['../security__connector_8h.html#a45a42c3c0b40593ac1b8025ba1875417',1,'grpc_fake_server_security_connector_create(void): security_connector.c'],['../security__connector_8c.html#a45a42c3c0b40593ac1b8025ba1875417',1,'grpc_fake_server_security_connector_create(void): security_connector.c']]], + ['grpc_5ffake_5ftransport_5fsecurity_5fcredentials_5fcreate',['grpc_fake_transport_security_credentials_create',['../credentials_8h.html#ab970b1925f494cb159a29a404f23d157',1,'grpc_fake_transport_security_credentials_create(void): credentials.c'],['../credentials_8c.html#ab970b1925f494cb159a29a404f23d157',1,'grpc_fake_transport_security_credentials_create(void): credentials.c']]], + ['grpc_5ffake_5ftransport_5fsecurity_5fserver_5fcredentials_5fcreate',['grpc_fake_transport_security_server_credentials_create',['../credentials_8h.html#a60f9433cc38460bb83da148eff9475ae',1,'grpc_fake_transport_security_server_credentials_create(void): credentials.c'],['../credentials_8c.html#a60f9433cc38460bb83da148eff9475ae',1,'grpc_fake_transport_security_server_credentials_create(void): credentials.c']]], + ['grpc_5ffd_5fbecome_5freadable',['grpc_fd_become_readable',['../fd__posix_8h.html#a5c2c13dc1a1eb20f9ce43d7625b59002',1,'fd_posix.h']]], + ['grpc_5ffd_5fbecome_5fwritable',['grpc_fd_become_writable',['../fd__posix_8h.html#a699c0434cce29ae12f9ca59fc73dff98',1,'fd_posix.h']]], + ['grpc_5ffd_5fbegin_5fpoll',['grpc_fd_begin_poll',['../fd__posix_8h.html#aabfaf5c3fc1b7d4306d8489cda8f09c5',1,'fd_posix.h']]], + ['grpc_5ffd_5fcreate',['grpc_fd_create',['../fd__posix_8h.html#a6752527e24586c370a8305916cb35dde',1,'fd_posix.h']]], + ['grpc_5ffd_5fend_5fpoll',['grpc_fd_end_poll',['../fd__posix_8h.html#aecd30af2ff851bee3264bc6548fb7ae5',1,'fd_posix.h']]], + ['grpc_5ffd_5fglobal_5finit',['grpc_fd_global_init',['../fd__posix_8h.html#a0fcf378b86c04bff95bffca0bfaf891a',1,'fd_posix.h']]], + ['grpc_5ffd_5fglobal_5fshutdown',['grpc_fd_global_shutdown',['../fd__posix_8h.html#a39d3a0f4eed1d4033b2e0db7145749c2',1,'fd_posix.h']]], + ['grpc_5ffd_5fis_5forphaned',['grpc_fd_is_orphaned',['../fd__posix_8h.html#adcd1fd3c640a72be6429fb60c3ddc258',1,'fd_posix.h']]], + ['grpc_5ffd_5fnotify_5fon_5fread',['grpc_fd_notify_on_read',['../fd__posix_8h.html#adc65edd83bbaab2044bb80e8f526aff0',1,'fd_posix.h']]], + ['grpc_5ffd_5fnotify_5fon_5fwrite',['grpc_fd_notify_on_write',['../fd__posix_8h.html#aaa2b28cae8176ef883c4dba5373152ac',1,'fd_posix.h']]], + ['grpc_5ffd_5forphan',['grpc_fd_orphan',['../fd__posix_8h.html#af78f10c0cb866d1981db0e4515dbfbb1',1,'fd_posix.h']]], + ['grpc_5ffd_5fref',['grpc_fd_ref',['../fd__posix_8h.html#a84623f0ef331d38c1b19d89f991dc0c3',1,'fd_posix.h']]], + ['grpc_5ffd_5fshutdown',['grpc_fd_shutdown',['../fd__posix_8h.html#a18ed4db2cb1970f0933f9f5a7a5ddbad',1,'fd_posix.h']]], + ['grpc_5ffd_5funref',['grpc_fd_unref',['../fd__posix_8h.html#af874d803d96b6cd126e53e64707c69e0',1,'fd_posix.h']]], + ['grpc_5ffind_5fsecurity_5fconnector_5fin_5fargs',['grpc_find_security_connector_in_args',['../security__connector_8h.html#a7db9da4604178cb7e640e744da4b733c',1,'grpc_find_security_connector_in_args(const grpc_channel_args *args): security_connector.c'],['../security__connector_8c.html#a7db9da4604178cb7e640e744da4b733c',1,'grpc_find_security_connector_in_args(const grpc_channel_args *args): security_connector.c']]], + ['grpc_5fflush_5fcached_5fgoogle_5fdefault_5fcredentials',['grpc_flush_cached_google_default_credentials',['../credentials_8h.html#a7e3aec152312d2b66ccd3b232317b10a',1,'grpc_flush_cached_google_default_credentials(void): google_default_credentials.c'],['../google__default__credentials_8c.html#a7e3aec152312d2b66ccd3b232317b10a',1,'grpc_flush_cached_google_default_credentials(void): google_default_credentials.c']]], + ['grpc_5fget_5fdefault_5fssl_5froots',['grpc_get_default_ssl_roots',['../security__connector_8h.html#a341f454443268ca27e5cc01219b93fef',1,'grpc_get_default_ssl_roots(const unsigned char **pem_root_certs): security_connector.c'],['../security__connector_8c.html#a341f454443268ca27e5cc01219b93fef',1,'grpc_get_default_ssl_roots(const unsigned char **pem_root_certs): security_connector.c']]], + ['grpc_5fget_5fwell_5fknown_5fgoogle_5fcredentials_5ffile_5fpath',['grpc_get_well_known_google_credentials_file_path',['../credentials_8h.html#a3c03f6a39aec4530a4a3024a8f9c2716',1,'credentials.h']]], + ['grpc_5fgoogle_5fdefault_5fcredentials_5fcreate',['grpc_google_default_credentials_create',['../grpc__security_8h.html#a5e3fb8f208c302245a1392c7ef16d170',1,'grpc_google_default_credentials_create(void): google_default_credentials.c'],['../google__default__credentials_8c.html#a5e3fb8f208c302245a1392c7ef16d170',1,'grpc_google_default_credentials_create(void): google_default_credentials.c']]], + ['grpc_5fhttpcli_5fcontext_5fdestroy',['grpc_httpcli_context_destroy',['../httpcli_8h.html#a6d47084af44bf387790281f288f78d7b',1,'grpc_httpcli_context_destroy(grpc_httpcli_context *context): httpcli.c'],['../httpcli_8c.html#a6d47084af44bf387790281f288f78d7b',1,'grpc_httpcli_context_destroy(grpc_httpcli_context *context): httpcli.c']]], + ['grpc_5fhttpcli_5fcontext_5finit',['grpc_httpcli_context_init',['../httpcli_8h.html#accc8da3837feac14f5f0b64e4cff8d1b',1,'grpc_httpcli_context_init(grpc_httpcli_context *context): httpcli.c'],['../httpcli_8c.html#accc8da3837feac14f5f0b64e4cff8d1b',1,'grpc_httpcli_context_init(grpc_httpcli_context *context): httpcli.c']]], + ['grpc_5fhttpcli_5fformat_5fget_5frequest',['grpc_httpcli_format_get_request',['../format__request_8h.html#a0fa0de242d866bb79b5ad39f3c46eae2',1,'grpc_httpcli_format_get_request(const grpc_httpcli_request *request): format_request.c'],['../format__request_8c.html#a0fa0de242d866bb79b5ad39f3c46eae2',1,'grpc_httpcli_format_get_request(const grpc_httpcli_request *request): format_request.c']]], + ['grpc_5fhttpcli_5fformat_5fpost_5frequest',['grpc_httpcli_format_post_request',['../format__request_8h.html#ae6a0298e2b174b65c5571622d3908501',1,'grpc_httpcli_format_post_request(const grpc_httpcli_request *request, const char *body_bytes, size_t body_size): format_request.c'],['../format__request_8c.html#ae6a0298e2b174b65c5571622d3908501',1,'grpc_httpcli_format_post_request(const grpc_httpcli_request *request, const char *body_bytes, size_t body_size): format_request.c']]], + ['grpc_5fhttpcli_5fget',['grpc_httpcli_get',['../httpcli_8h.html#a594371d2c96d499a5a3bcccb27ece0da',1,'grpc_httpcli_get(grpc_httpcli_context *context, grpc_pollset *pollset, const grpc_httpcli_request *request, gpr_timespec deadline, grpc_httpcli_response_cb on_response, void *user_data): httpcli.c'],['../httpcli_8c.html#a594371d2c96d499a5a3bcccb27ece0da',1,'grpc_httpcli_get(grpc_httpcli_context *context, grpc_pollset *pollset, const grpc_httpcli_request *request, gpr_timespec deadline, grpc_httpcli_response_cb on_response, void *user_data): httpcli.c']]], + ['grpc_5fhttpcli_5fparser_5fdestroy',['grpc_httpcli_parser_destroy',['../parser_8h.html#a947eefc20a5245e155e1bb55380c8344',1,'grpc_httpcli_parser_destroy(grpc_httpcli_parser *parser): parser.c'],['../parser_8c.html#a947eefc20a5245e155e1bb55380c8344',1,'grpc_httpcli_parser_destroy(grpc_httpcli_parser *parser): parser.c']]], + ['grpc_5fhttpcli_5fparser_5feof',['grpc_httpcli_parser_eof',['../parser_8h.html#a3ad859c8c3267265dba030d1d7597df8',1,'grpc_httpcli_parser_eof(grpc_httpcli_parser *parser): parser.c'],['../parser_8c.html#a3ad859c8c3267265dba030d1d7597df8',1,'grpc_httpcli_parser_eof(grpc_httpcli_parser *parser): parser.c']]], + ['grpc_5fhttpcli_5fparser_5finit',['grpc_httpcli_parser_init',['../parser_8h.html#a5801c0439a5dff17a1ddc7f22bdf7ec9',1,'grpc_httpcli_parser_init(grpc_httpcli_parser *parser): parser.c'],['../parser_8c.html#a5801c0439a5dff17a1ddc7f22bdf7ec9',1,'grpc_httpcli_parser_init(grpc_httpcli_parser *parser): parser.c']]], + ['grpc_5fhttpcli_5fparser_5fparse',['grpc_httpcli_parser_parse',['../parser_8h.html#a24a1909825c06938a465e40295464cd0',1,'grpc_httpcli_parser_parse(grpc_httpcli_parser *parser, gpr_slice slice): parser.c'],['../parser_8c.html#a24a1909825c06938a465e40295464cd0',1,'grpc_httpcli_parser_parse(grpc_httpcli_parser *parser, gpr_slice slice): parser.c']]], + ['grpc_5fhttpcli_5fpost',['grpc_httpcli_post',['../httpcli_8h.html#a96f034743193848e966d61192e406c70',1,'grpc_httpcli_post(grpc_httpcli_context *context, grpc_pollset *pollset, const grpc_httpcli_request *request, const char *body_bytes, size_t body_size, gpr_timespec deadline, grpc_httpcli_response_cb on_response, void *user_data): httpcli.c'],['../httpcli_8c.html#a96f034743193848e966d61192e406c70',1,'grpc_httpcli_post(grpc_httpcli_context *context, grpc_pollset *pollset, const grpc_httpcli_request *request, const char *body_bytes, size_t body_size, gpr_timespec deadline, grpc_httpcli_response_cb on_response, void *user_data): httpcli.c']]], + ['grpc_5fhttpcli_5fset_5foverride',['grpc_httpcli_set_override',['../httpcli_8h.html#a15ab7c87e0d5e42341c9652d5045d8ce',1,'grpc_httpcli_set_override(grpc_httpcli_get_override get, grpc_httpcli_post_override post): httpcli.c'],['../httpcli_8c.html#a15ab7c87e0d5e42341c9652d5045d8ce',1,'grpc_httpcli_set_override(grpc_httpcli_get_override get, grpc_httpcli_post_override post): httpcli.c']]], + ['grpc_5fhttpcli_5fssl_5fchannel_5fsecurity_5fconnector_5fcreate',['grpc_httpcli_ssl_channel_security_connector_create',['../httpcli__security__connector_8h.html#a2738fc49f8c3103a4e43ef68cd9b15de',1,'grpc_httpcli_ssl_channel_security_connector_create(const unsigned char *pem_root_certs, size_t pem_root_certs_size, const char *secure_peer_name, grpc_channel_security_connector **sc): httpcli_security_connector.c'],['../httpcli__security__connector_8c.html#a2738fc49f8c3103a4e43ef68cd9b15de',1,'grpc_httpcli_ssl_channel_security_connector_create(const unsigned char *pem_root_certs, size_t pem_root_certs_size, const char *secure_peer_name, grpc_channel_security_connector **sc): httpcli_security_connector.c']]], + ['grpc_5fiam_5fcredentials_5fcreate',['grpc_iam_credentials_create',['../grpc__security_8h.html#ae42c358e718847c988aa690cb0fccab3',1,'grpc_iam_credentials_create(const char *authorization_token, const char *authority_selector): credentials.c'],['../credentials_8c.html#ad16075798f906b98e0fb3e3018f22ae0',1,'grpc_iam_credentials_create(const char *token, const char *authority_selector): credentials.c']]], + ['grpc_5fincoming_5fmetadata_5fbuffer_5fmove_5fto_5freferencing_5fsopb',['grpc_incoming_metadata_buffer_move_to_referencing_sopb',['../incoming__metadata_8h.html#a0a6bd4407d08e21bc48a6f9cd7167cd0',1,'grpc_incoming_metadata_buffer_move_to_referencing_sopb(grpc_chttp2_incoming_metadata_buffer *src, grpc_chttp2_incoming_metadata_buffer *dst, grpc_stream_op_buffer *sopb): incoming_metadata.c'],['../incoming__metadata_8c.html#a0a6bd4407d08e21bc48a6f9cd7167cd0',1,'grpc_incoming_metadata_buffer_move_to_referencing_sopb(grpc_chttp2_incoming_metadata_buffer *src, grpc_chttp2_incoming_metadata_buffer *dst, grpc_stream_op_buffer *sopb): incoming_metadata.c']]], + ['grpc_5finit',['grpc_init',['../grpc_8h.html#aa78606c93951c49eadd8d83d739798d6',1,'grpc_init(void): init.c'],['../init_8c.html#aa78606c93951c49eadd8d83d739798d6',1,'grpc_init(void): init.c']]], + ['grpc_5finsecure_5fchannel_5fcreate',['grpc_insecure_channel_create',['../grpc_8h.html#aa710e7e68b23098900f924cf69797496',1,'grpc_insecure_channel_create(const char *target, const grpc_channel_args *args): channel_create.c'],['../channel__create_8c.html#aa710e7e68b23098900f924cf69797496',1,'grpc_insecure_channel_create(const char *target, const grpc_channel_args *args): channel_create.c']]], + ['grpc_5fiocp_5fadd_5fsocket',['grpc_iocp_add_socket',['../iocp__windows_8h.html#ad206d7bc3468ecc2fb6ab52d80c6e2dd',1,'iocp_windows.h']]], + ['grpc_5fiocp_5finit',['grpc_iocp_init',['../iocp__windows_8h.html#a74907d635ceee6adf285291336d18807',1,'iocp_windows.h']]], + ['grpc_5fiocp_5fkick',['grpc_iocp_kick',['../iocp__windows_8h.html#abd0c27d8288aa07c1b07d125cd0ad505',1,'iocp_windows.h']]], + ['grpc_5fiocp_5fshutdown',['grpc_iocp_shutdown',['../iocp__windows_8h.html#a7198ba025cf05ae1a67b6f493caf5b16',1,'iocp_windows.h']]], + ['grpc_5fiocp_5fsocket_5forphan',['grpc_iocp_socket_orphan',['../iocp__windows_8h.html#a720ee7b4b498b7d477efa4fc3ff55aac',1,'iocp_windows.h']]], + ['grpc_5fiomgr_5fadd_5fcallback',['grpc_iomgr_add_callback',['../iomgr_8h.html#a95b724dc6bbd9b75694251713db00619',1,'grpc_iomgr_add_callback(grpc_iomgr_closure *closure): iomgr.c'],['../iomgr_8c.html#a95b724dc6bbd9b75694251713db00619',1,'grpc_iomgr_add_callback(grpc_iomgr_closure *closure): iomgr.c']]], + ['grpc_5fiomgr_5fadd_5fdelayed_5fcallback',['grpc_iomgr_add_delayed_callback',['../iomgr_8h.html#a6a9f23f29a410d705af2c6b6d5c3917b',1,'grpc_iomgr_add_delayed_callback(grpc_iomgr_closure *iocb, int success): iomgr.c'],['../iomgr__internal_8h.html#a6a9f23f29a410d705af2c6b6d5c3917b',1,'grpc_iomgr_add_delayed_callback(grpc_iomgr_closure *iocb, int success): iomgr.c'],['../iomgr_8c.html#a4d3b9286cc4434fad35b6017f6222431',1,'grpc_iomgr_add_delayed_callback(grpc_iomgr_closure *closure, int success): iomgr.c']]], + ['grpc_5fiomgr_5fclosure_5finit',['grpc_iomgr_closure_init',['../iomgr_8h.html#ac8b4ae11b78ccbded903c14f69aa7a83',1,'grpc_iomgr_closure_init(grpc_iomgr_closure *closure, grpc_iomgr_cb_func cb, void *cb_arg): iomgr.c'],['../iomgr_8c.html#ac8b4ae11b78ccbded903c14f69aa7a83',1,'grpc_iomgr_closure_init(grpc_iomgr_closure *closure, grpc_iomgr_cb_func cb, void *cb_arg): iomgr.c']]], + ['grpc_5fiomgr_5fcreate_5fendpoint_5fpair',['grpc_iomgr_create_endpoint_pair',['../endpoint__pair_8h.html#a024d70a614077120d1a5ab8c612a469a',1,'endpoint_pair.h']]], + ['grpc_5fiomgr_5finit',['grpc_iomgr_init',['../iomgr_8h.html#a2e26e83c3a2591cbc127dbbc50f5c504',1,'grpc_iomgr_init(void): iomgr.c'],['../iomgr_8c.html#a2e26e83c3a2591cbc127dbbc50f5c504',1,'grpc_iomgr_init(void): iomgr.c']]], + ['grpc_5fiomgr_5fplatform_5finit',['grpc_iomgr_platform_init',['../iomgr__internal_8h.html#ae9d0385656f046d1c40023d1d9f5ec5e',1,'iomgr_internal.h']]], + ['grpc_5fiomgr_5fplatform_5fshutdown',['grpc_iomgr_platform_shutdown',['../iomgr__internal_8h.html#a87a1f7804687c5ca784a8d9842e83624',1,'iomgr_internal.h']]], + ['grpc_5fiomgr_5fregister_5fobject',['grpc_iomgr_register_object',['../iomgr__internal_8h.html#a19ac63e9dff7d1543b1a3e556525773e',1,'grpc_iomgr_register_object(grpc_iomgr_object *obj, const char *name): iomgr.c'],['../iomgr_8c.html#a19ac63e9dff7d1543b1a3e556525773e',1,'grpc_iomgr_register_object(grpc_iomgr_object *obj, const char *name): iomgr.c']]], + ['grpc_5fiomgr_5fshutdown',['grpc_iomgr_shutdown',['../iomgr_8h.html#a466909d4101b063c991bbb39ee38ae25',1,'grpc_iomgr_shutdown(void): iomgr.c'],['../iomgr_8c.html#a466909d4101b063c991bbb39ee38ae25',1,'grpc_iomgr_shutdown(void): iomgr.c']]], + ['grpc_5fiomgr_5funregister_5fobject',['grpc_iomgr_unregister_object',['../iomgr__internal_8h.html#a82cf3ac6566867546afabf5f08f4aa8a',1,'grpc_iomgr_unregister_object(grpc_iomgr_object *obj): iomgr.c'],['../iomgr_8c.html#a82cf3ac6566867546afabf5f08f4aa8a',1,'grpc_iomgr_unregister_object(grpc_iomgr_object *obj): iomgr.c']]], + ['grpc_5fipv4_5fresolver_5ffactory_5fcreate',['grpc_ipv4_resolver_factory_create',['../sockaddr__resolver_8h.html#a621b7e3868a79b41351f2204a4c5c1fa',1,'grpc_ipv4_resolver_factory_create(void): sockaddr_resolver.c'],['../sockaddr__resolver_8c.html#abc4c6c8581ef4f8dc5cf8ec5c79383a1',1,'grpc_ipv4_resolver_factory_create(): sockaddr_resolver.c']]], + ['grpc_5fipv6_5floopback_5favailable',['grpc_ipv6_loopback_available',['../socket__utils__posix_8h.html#ad76fb0120a38b881723d537d95a51563',1,'socket_utils_posix.h']]], + ['grpc_5fipv6_5fresolver_5ffactory_5fcreate',['grpc_ipv6_resolver_factory_create',['../sockaddr__resolver_8h.html#abe451b1e6a083dfcc0656fb77a9e42c2',1,'grpc_ipv6_resolver_factory_create(void): sockaddr_resolver.c'],['../sockaddr__resolver_8c.html#ad0f24d3cf0da9c53e628da5f60cab92d',1,'grpc_ipv6_resolver_factory_create(): sockaddr_resolver.c']]], + ['grpc_5fis_5fbinary_5fheader',['grpc_is_binary_header',['../bin__encoder_8h.html#a6ce0fde0cf6e820ca0c95dae4653039e',1,'grpc_is_binary_header(const char *key, size_t length): bin_encoder.c'],['../bin__encoder_8c.html#a6ce0fde0cf6e820ca0c95dae4653039e',1,'grpc_is_binary_header(const char *key, size_t length): bin_encoder.c']]], + ['grpc_5fis_5finitialized',['grpc_is_initialized',['../init_8h.html#a9e672384642d6dc0e98df16188beba55',1,'grpc_is_initialized(void): init.c'],['../init_8c.html#a9e672384642d6dc0e98df16188beba55',1,'grpc_is_initialized(void): init.c']]], + ['grpc_5fjson_5fcreate',['grpc_json_create',['../json_8h.html#a479fecc70a15ea64d52485891615669f',1,'grpc_json_create(grpc_json_type type): json.c'],['../json_8c.html#a479fecc70a15ea64d52485891615669f',1,'grpc_json_create(grpc_json_type type): json.c']]], + ['grpc_5fjson_5fdestroy',['grpc_json_destroy',['../json_8h.html#a93347bf054f40cd67dd9a1d46e830ed3',1,'grpc_json_destroy(grpc_json *json): json.c'],['../json_8c.html#a93347bf054f40cd67dd9a1d46e830ed3',1,'grpc_json_destroy(grpc_json *json): json.c']]], + ['grpc_5fjson_5fdump_5fto_5fstring',['grpc_json_dump_to_string',['../json_8h.html#a4d51e00e1deba5579a221647ced4cd71',1,'grpc_json_dump_to_string(grpc_json *json, int indent): json_string.c'],['../json__string_8c.html#a4d51e00e1deba5579a221647ced4cd71',1,'grpc_json_dump_to_string(grpc_json *json, int indent): json_string.c']]], + ['grpc_5fjson_5fparse_5fstring',['grpc_json_parse_string',['../json_8h.html#ad66397af23c3f5377035d9fc74e4f401',1,'grpc_json_parse_string(char *input): json_string.c'],['../json__string_8c.html#ad66397af23c3f5377035d9fc74e4f401',1,'grpc_json_parse_string(char *input): json_string.c']]], + ['grpc_5fjson_5fparse_5fstring_5fwith_5flen',['grpc_json_parse_string_with_len',['../json_8h.html#ac0d745ec903ab5f5759ebf3bc245b5c6',1,'grpc_json_parse_string_with_len(char *input, size_t size): json_string.c'],['../json__string_8c.html#ac0d745ec903ab5f5759ebf3bc245b5c6',1,'grpc_json_parse_string_with_len(char *input, size_t size): json_string.c']]], + ['grpc_5fjson_5freader_5finit',['grpc_json_reader_init',['../json__reader_8h.html#acb17637cdaf7d1bc6c5403eb2cdd2b1b',1,'grpc_json_reader_init(grpc_json_reader *reader, grpc_json_reader_vtable *vtable, void *userdata): json_reader.c'],['../json__reader_8c.html#acb17637cdaf7d1bc6c5403eb2cdd2b1b',1,'grpc_json_reader_init(grpc_json_reader *reader, grpc_json_reader_vtable *vtable, void *userdata): json_reader.c']]], + ['grpc_5fjson_5freader_5fis_5fcomplete',['grpc_json_reader_is_complete',['../json__reader_8h.html#aca35ff1405586201c145f8411ce4f611',1,'grpc_json_reader_is_complete(grpc_json_reader *reader): json_reader.c'],['../json__reader_8c.html#aca35ff1405586201c145f8411ce4f611',1,'grpc_json_reader_is_complete(grpc_json_reader *reader): json_reader.c']]], + ['grpc_5fjson_5freader_5frun',['grpc_json_reader_run',['../json__reader_8h.html#a369a903219dd343358dad9e4cc67cedb',1,'grpc_json_reader_run(grpc_json_reader *reader): json_reader.c'],['../json__reader_8c.html#a369a903219dd343358dad9e4cc67cedb',1,'grpc_json_reader_run(grpc_json_reader *reader): json_reader.c']]], + ['grpc_5fjson_5fwriter_5fcontainer_5fbegins',['grpc_json_writer_container_begins',['../json__writer_8h.html#ab4c1bf3c4ab69ae62cea7c4cc425cdae',1,'grpc_json_writer_container_begins(grpc_json_writer *writer, grpc_json_type type): json_writer.c'],['../json__writer_8c.html#ab4c1bf3c4ab69ae62cea7c4cc425cdae',1,'grpc_json_writer_container_begins(grpc_json_writer *writer, grpc_json_type type): json_writer.c']]], + ['grpc_5fjson_5fwriter_5fcontainer_5fends',['grpc_json_writer_container_ends',['../json__writer_8h.html#a8ec853f6ef8940debf36820f6329427e',1,'grpc_json_writer_container_ends(grpc_json_writer *writer, grpc_json_type type): json_writer.c'],['../json__writer_8c.html#a8ec853f6ef8940debf36820f6329427e',1,'grpc_json_writer_container_ends(grpc_json_writer *writer, grpc_json_type type): json_writer.c']]], + ['grpc_5fjson_5fwriter_5finit',['grpc_json_writer_init',['../json__writer_8h.html#a9c57757dbd540d5c31db7dbb35274637',1,'grpc_json_writer_init(grpc_json_writer *writer, int indent, grpc_json_writer_vtable *vtable, void *userdata): json_writer.c'],['../json__writer_8c.html#a9c57757dbd540d5c31db7dbb35274637',1,'grpc_json_writer_init(grpc_json_writer *writer, int indent, grpc_json_writer_vtable *vtable, void *userdata): json_writer.c']]], + ['grpc_5fjson_5fwriter_5fobject_5fkey',['grpc_json_writer_object_key',['../json__writer_8h.html#ae009eea3f345ef9ab454876f81f1ab47',1,'grpc_json_writer_object_key(grpc_json_writer *writer, const char *string): json_writer.c'],['../json__writer_8c.html#ae009eea3f345ef9ab454876f81f1ab47',1,'grpc_json_writer_object_key(grpc_json_writer *writer, const char *string): json_writer.c']]], + ['grpc_5fjson_5fwriter_5fvalue_5fraw',['grpc_json_writer_value_raw',['../json__writer_8h.html#afac9ce564b4c11e3ea35082de3bd1747',1,'grpc_json_writer_value_raw(grpc_json_writer *writer, const char *string): json_writer.c'],['../json__writer_8c.html#afac9ce564b4c11e3ea35082de3bd1747',1,'grpc_json_writer_value_raw(grpc_json_writer *writer, const char *string): json_writer.c']]], + ['grpc_5fjson_5fwriter_5fvalue_5fraw_5fwith_5flen',['grpc_json_writer_value_raw_with_len',['../json__writer_8h.html#a2b88eb7fd1bd939146e86c5b212d8cb5',1,'grpc_json_writer_value_raw_with_len(grpc_json_writer *writer, const char *string, size_t len): json_writer.c'],['../json__writer_8c.html#a2b88eb7fd1bd939146e86c5b212d8cb5',1,'grpc_json_writer_value_raw_with_len(grpc_json_writer *writer, const char *string, size_t len): json_writer.c']]], + ['grpc_5fjson_5fwriter_5fvalue_5fstring',['grpc_json_writer_value_string',['../json__writer_8h.html#aa7e5a12ffddc0cc95bff06c1879a64e0',1,'grpc_json_writer_value_string(grpc_json_writer *writer, const char *string): json_writer.c'],['../json__writer_8c.html#aa7e5a12ffddc0cc95bff06c1879a64e0',1,'grpc_json_writer_value_string(grpc_json_writer *writer, const char *string): json_writer.c']]], + ['grpc_5fjwt_5fclaims_5faudience',['grpc_jwt_claims_audience',['../jwt__verifier_8h.html#a19e8de86ed8bb8461969cd07624cb06f',1,'grpc_jwt_claims_audience(const grpc_jwt_claims *claims): jwt_verifier.c'],['../jwt__verifier_8c.html#a19e8de86ed8bb8461969cd07624cb06f',1,'grpc_jwt_claims_audience(const grpc_jwt_claims *claims): jwt_verifier.c']]], + ['grpc_5fjwt_5fclaims_5fcheck',['grpc_jwt_claims_check',['../jwt__verifier_8h.html#a956a1fe237276fbed03e5caee7360c6a',1,'grpc_jwt_claims_check(const grpc_jwt_claims *claims, const char *audience): jwt_verifier.c'],['../jwt__verifier_8c.html#a956a1fe237276fbed03e5caee7360c6a',1,'grpc_jwt_claims_check(const grpc_jwt_claims *claims, const char *audience): jwt_verifier.c']]], + ['grpc_5fjwt_5fclaims_5fdestroy',['grpc_jwt_claims_destroy',['../jwt__verifier_8h.html#aa69d0e75df7133ebfda05f50303f8316',1,'grpc_jwt_claims_destroy(grpc_jwt_claims *claims): jwt_verifier.c'],['../jwt__verifier_8c.html#aa69d0e75df7133ebfda05f50303f8316',1,'grpc_jwt_claims_destroy(grpc_jwt_claims *claims): jwt_verifier.c']]], + ['grpc_5fjwt_5fclaims_5fexpires_5fat',['grpc_jwt_claims_expires_at',['../jwt__verifier_8h.html#ab9759b63895dde79be0715b0369cd0c4',1,'grpc_jwt_claims_expires_at(const grpc_jwt_claims *claims): jwt_verifier.c'],['../jwt__verifier_8c.html#ab9759b63895dde79be0715b0369cd0c4',1,'grpc_jwt_claims_expires_at(const grpc_jwt_claims *claims): jwt_verifier.c']]], + ['grpc_5fjwt_5fclaims_5ffrom_5fjson',['grpc_jwt_claims_from_json',['../jwt__verifier_8h.html#ae3272e7b9f64bb7b36b4b7fbce9ae4f8',1,'grpc_jwt_claims_from_json(grpc_json *json, gpr_slice buffer): jwt_verifier.c'],['../jwt__verifier_8c.html#ae3272e7b9f64bb7b36b4b7fbce9ae4f8',1,'grpc_jwt_claims_from_json(grpc_json *json, gpr_slice buffer): jwt_verifier.c']]], + ['grpc_5fjwt_5fclaims_5fid',['grpc_jwt_claims_id',['../jwt__verifier_8h.html#a319d836355e40efba372f9baf09bbd54',1,'grpc_jwt_claims_id(const grpc_jwt_claims *claims): jwt_verifier.c'],['../jwt__verifier_8c.html#a319d836355e40efba372f9baf09bbd54',1,'grpc_jwt_claims_id(const grpc_jwt_claims *claims): jwt_verifier.c']]], + ['grpc_5fjwt_5fclaims_5fissued_5fat',['grpc_jwt_claims_issued_at',['../jwt__verifier_8h.html#a58838743f413ceebbf5b4afd77d7ab7f',1,'grpc_jwt_claims_issued_at(const grpc_jwt_claims *claims): jwt_verifier.c'],['../jwt__verifier_8c.html#a58838743f413ceebbf5b4afd77d7ab7f',1,'grpc_jwt_claims_issued_at(const grpc_jwt_claims *claims): jwt_verifier.c']]], + ['grpc_5fjwt_5fclaims_5fissuer',['grpc_jwt_claims_issuer',['../jwt__verifier_8h.html#a61a1d74e9b150c1a7dccf259d84e8da6',1,'grpc_jwt_claims_issuer(const grpc_jwt_claims *claims): jwt_verifier.c'],['../jwt__verifier_8c.html#a61a1d74e9b150c1a7dccf259d84e8da6',1,'grpc_jwt_claims_issuer(const grpc_jwt_claims *claims): jwt_verifier.c']]], + ['grpc_5fjwt_5fclaims_5fjson',['grpc_jwt_claims_json',['../jwt__verifier_8h.html#a4eb1db0055c2992691e1c3e92d65a656',1,'grpc_jwt_claims_json(const grpc_jwt_claims *claims): jwt_verifier.c'],['../jwt__verifier_8c.html#a4eb1db0055c2992691e1c3e92d65a656',1,'grpc_jwt_claims_json(const grpc_jwt_claims *claims): jwt_verifier.c']]], + ['grpc_5fjwt_5fclaims_5fnot_5fbefore',['grpc_jwt_claims_not_before',['../jwt__verifier_8h.html#a1904f0f6a28c8b14a486c932e5db1499',1,'grpc_jwt_claims_not_before(const grpc_jwt_claims *claims): jwt_verifier.c'],['../jwt__verifier_8c.html#a1904f0f6a28c8b14a486c932e5db1499',1,'grpc_jwt_claims_not_before(const grpc_jwt_claims *claims): jwt_verifier.c']]], + ['grpc_5fjwt_5fclaims_5fsubject',['grpc_jwt_claims_subject',['../jwt__verifier_8h.html#ac77af641794a3449e94d7d7cb48a50c6',1,'grpc_jwt_claims_subject(const grpc_jwt_claims *claims): jwt_verifier.c'],['../jwt__verifier_8c.html#ac77af641794a3449e94d7d7cb48a50c6',1,'grpc_jwt_claims_subject(const grpc_jwt_claims *claims): jwt_verifier.c']]], + ['grpc_5fjwt_5fencode_5fand_5fsign',['grpc_jwt_encode_and_sign',['../json__token_8h.html#af0b8abcdcb33f9d4ac1f15c5e2ef4b7f',1,'grpc_jwt_encode_and_sign(const grpc_auth_json_key *json_key, const char *audience, gpr_timespec token_lifetime, const char *scope): json_token.c'],['../json__token_8c.html#af0b8abcdcb33f9d4ac1f15c5e2ef4b7f',1,'grpc_jwt_encode_and_sign(const grpc_auth_json_key *json_key, const char *audience, gpr_timespec token_lifetime, const char *scope): json_token.c']]], + ['grpc_5fjwt_5fencode_5fand_5fsign_5fset_5foverride',['grpc_jwt_encode_and_sign_set_override',['../json__token_8h.html#a58f70df2a4a2e8c9bc4f91a85202ce9c',1,'grpc_jwt_encode_and_sign_set_override(grpc_jwt_encode_and_sign_override func): json_token.c'],['../json__token_8c.html#a58f70df2a4a2e8c9bc4f91a85202ce9c',1,'grpc_jwt_encode_and_sign_set_override(grpc_jwt_encode_and_sign_override func): json_token.c']]], + ['grpc_5fjwt_5fverifier_5fcreate',['grpc_jwt_verifier_create',['../jwt__verifier_8h.html#acf8e8c06616b9d3006333f63c708a811',1,'grpc_jwt_verifier_create(const grpc_jwt_verifier_email_domain_key_url_mapping *mappings, size_t num_mappings): jwt_verifier.c'],['../jwt__verifier_8c.html#acf8e8c06616b9d3006333f63c708a811',1,'grpc_jwt_verifier_create(const grpc_jwt_verifier_email_domain_key_url_mapping *mappings, size_t num_mappings): jwt_verifier.c']]], + ['grpc_5fjwt_5fverifier_5fdestroy',['grpc_jwt_verifier_destroy',['../jwt__verifier_8h.html#a7d033f01e4d9c4c3dfba2e2f4cf57398',1,'grpc_jwt_verifier_destroy(grpc_jwt_verifier *verifier): jwt_verifier.c'],['../jwt__verifier_8c.html#a44bac1b48da3adf4d7858f2b40121bab',1,'grpc_jwt_verifier_destroy(grpc_jwt_verifier *v): jwt_verifier.c']]], + ['grpc_5fjwt_5fverifier_5fstatus_5fto_5fstring',['grpc_jwt_verifier_status_to_string',['../jwt__verifier_8h.html#a2aad6c48023145f901a39b5b9ef6b6d3',1,'grpc_jwt_verifier_status_to_string(grpc_jwt_verifier_status status): jwt_verifier.c'],['../jwt__verifier_8c.html#a2aad6c48023145f901a39b5b9ef6b6d3',1,'grpc_jwt_verifier_status_to_string(grpc_jwt_verifier_status status): jwt_verifier.c']]], + ['grpc_5fjwt_5fverifier_5fverify',['grpc_jwt_verifier_verify',['../jwt__verifier_8h.html#ac9960f7842a141d85b0bb38dd231900d',1,'grpc_jwt_verifier_verify(grpc_jwt_verifier *verifier, grpc_pollset *pollset, const char *jwt, const char *audience, grpc_jwt_verification_done_cb cb, void *user_data): jwt_verifier.c'],['../jwt__verifier_8c.html#ac9960f7842a141d85b0bb38dd231900d',1,'grpc_jwt_verifier_verify(grpc_jwt_verifier *verifier, grpc_pollset *pollset, const char *jwt, const char *audience, grpc_jwt_verification_done_cb cb, void *user_data): jwt_verifier.c']]], + ['grpc_5fkick_5fdrain',['grpc_kick_drain',['../pollset__posix_8h.html#a36baf579c30c8dba9a6c68f1f9dd979c',1,'pollset_posix.h']]], + ['grpc_5fkick_5fpoller',['grpc_kick_poller',['../alarm__internal_8h.html#aac483dfd6e19fa9df68620e7f7a0697f',1,'grpc_kick_poller(void): iomgr.c'],['../iomgr_8c.html#aac483dfd6e19fa9df68620e7f7a0697f',1,'grpc_kick_poller(void): iomgr.c']]], + ['grpc_5fkick_5fread_5ffd',['grpc_kick_read_fd',['../pollset__posix_8h.html#af74c66d9afaf90a2134f209dfb41f91b',1,'pollset_posix.h']]], + ['grpc_5flame_5fclient_5fchannel_5fcreate',['grpc_lame_client_channel_create',['../grpc_8h.html#acd59697f4b8bedea662939da3668ab9b',1,'grpc_lame_client_channel_create(const char *target): lame_client.c'],['../lame__client_8c.html#acd59697f4b8bedea662939da3668ab9b',1,'grpc_lame_client_channel_create(const char *target): lame_client.c']]], + ['grpc_5flb_5fpolicy_5fbroadcast',['grpc_lb_policy_broadcast',['../lb__policy_8h.html#a1d03d2f71dda12c97863cf387559e47a',1,'grpc_lb_policy_broadcast(grpc_lb_policy *policy, grpc_transport_op *op): lb_policy.c'],['../lb__policy_8c.html#a1d03d2f71dda12c97863cf387559e47a',1,'grpc_lb_policy_broadcast(grpc_lb_policy *policy, grpc_transport_op *op): lb_policy.c']]], + ['grpc_5flb_5fpolicy_5fcheck_5fconnectivity',['grpc_lb_policy_check_connectivity',['../lb__policy_8h.html#a115550f997d572ed49c8906c2cb347b8',1,'grpc_lb_policy_check_connectivity(grpc_lb_policy *policy): lb_policy.c'],['../lb__policy_8c.html#a115550f997d572ed49c8906c2cb347b8',1,'grpc_lb_policy_check_connectivity(grpc_lb_policy *policy): lb_policy.c']]], + ['grpc_5flb_5fpolicy_5fexit_5fidle',['grpc_lb_policy_exit_idle',['../lb__policy_8h.html#a163a863a51690daa93984d7b7bd0ac88',1,'grpc_lb_policy_exit_idle(grpc_lb_policy *policy): lb_policy.c'],['../lb__policy_8c.html#a163a863a51690daa93984d7b7bd0ac88',1,'grpc_lb_policy_exit_idle(grpc_lb_policy *policy): lb_policy.c']]], + ['grpc_5flb_5fpolicy_5finit',['grpc_lb_policy_init',['../lb__policy_8h.html#aa20fbb7fdf68dadcae6aaba3e227ac50',1,'grpc_lb_policy_init(grpc_lb_policy *policy, const grpc_lb_policy_vtable *vtable): lb_policy.c'],['../lb__policy_8c.html#aa20fbb7fdf68dadcae6aaba3e227ac50',1,'grpc_lb_policy_init(grpc_lb_policy *policy, const grpc_lb_policy_vtable *vtable): lb_policy.c']]], + ['grpc_5flb_5fpolicy_5fnotify_5fon_5fstate_5fchange',['grpc_lb_policy_notify_on_state_change',['../lb__policy_8h.html#a246a7f5b971f672fa6a8dba8d7264790',1,'grpc_lb_policy_notify_on_state_change(grpc_lb_policy *policy, grpc_connectivity_state *state, grpc_iomgr_closure *closure): lb_policy.c'],['../lb__policy_8c.html#a246a7f5b971f672fa6a8dba8d7264790',1,'grpc_lb_policy_notify_on_state_change(grpc_lb_policy *policy, grpc_connectivity_state *state, grpc_iomgr_closure *closure): lb_policy.c']]], + ['grpc_5flb_5fpolicy_5fpick',['grpc_lb_policy_pick',['../lb__policy_8h.html#a31611c6d703434b360e90062a28e5140',1,'grpc_lb_policy_pick(grpc_lb_policy *policy, grpc_pollset *pollset, grpc_metadata_batch *initial_metadata, grpc_subchannel **target, grpc_iomgr_closure *on_complete): lb_policy.c'],['../lb__policy_8c.html#a31611c6d703434b360e90062a28e5140',1,'grpc_lb_policy_pick(grpc_lb_policy *policy, grpc_pollset *pollset, grpc_metadata_batch *initial_metadata, grpc_subchannel **target, grpc_iomgr_closure *on_complete): lb_policy.c']]], + ['grpc_5flb_5fpolicy_5fref',['grpc_lb_policy_ref',['../lb__policy_8h.html#af9780ed236a96c3f57d1965d3395132f',1,'grpc_lb_policy_ref(grpc_lb_policy *policy): lb_policy.c'],['../lb__policy_8c.html#af9780ed236a96c3f57d1965d3395132f',1,'grpc_lb_policy_ref(grpc_lb_policy *policy): lb_policy.c']]], + ['grpc_5flb_5fpolicy_5fshutdown',['grpc_lb_policy_shutdown',['../lb__policy_8h.html#a1eb8d912c3d82fa0f444fe9cf4bd6991',1,'grpc_lb_policy_shutdown(grpc_lb_policy *policy): lb_policy.c'],['../lb__policy_8c.html#a1eb8d912c3d82fa0f444fe9cf4bd6991',1,'grpc_lb_policy_shutdown(grpc_lb_policy *policy): lb_policy.c']]], + ['grpc_5flb_5fpolicy_5funref',['grpc_lb_policy_unref',['../lb__policy_8h.html#aed69acd0dd453033a1e1437920ba8942',1,'grpc_lb_policy_unref(grpc_lb_policy *policy): lb_policy.c'],['../lb__policy_8c.html#aed69acd0dd453033a1e1437920ba8942',1,'grpc_lb_policy_unref(grpc_lb_policy *policy): lb_policy.c']]], + ['grpc_5fmaybe_5fcall_5fdelayed_5fcallbacks',['grpc_maybe_call_delayed_callbacks',['../iomgr__internal_8h.html#ae4e69eb5e3c51e00c2983df24c3c8c9f',1,'grpc_maybe_call_delayed_callbacks(gpr_mu *drop_mu, int success): iomgr.c'],['../iomgr_8c.html#ae4e69eb5e3c51e00c2983df24c3c8c9f',1,'grpc_maybe_call_delayed_callbacks(gpr_mu *drop_mu, int success): iomgr.c']]], + ['grpc_5fmdctx_5fcreate',['grpc_mdctx_create',['../metadata_8h.html#a207b09a54f3c57a90b5b44868fbf5649',1,'grpc_mdctx_create(void): metadata.c'],['../metadata_8c.html#a207b09a54f3c57a90b5b44868fbf5649',1,'grpc_mdctx_create(void): metadata.c']]], + ['grpc_5fmdctx_5fcreate_5fwith_5fseed',['grpc_mdctx_create_with_seed',['../metadata_8h.html#a29700f3749eea2c96f7bae1d57f8f7e3',1,'grpc_mdctx_create_with_seed(gpr_uint32 seed): metadata.c'],['../metadata_8c.html#a29700f3749eea2c96f7bae1d57f8f7e3',1,'grpc_mdctx_create_with_seed(gpr_uint32 seed): metadata.c']]], + ['grpc_5fmdctx_5fget_5fmdtab_5fcapacity_5ftest_5fonly',['grpc_mdctx_get_mdtab_capacity_test_only',['../metadata_8h.html#ab56ce41a4a8c2d30fca3e32d4d7b5e36',1,'grpc_mdctx_get_mdtab_capacity_test_only(grpc_mdctx *mdctx): metadata.c'],['../metadata_8c.html#a655a0f22cc71643674124ced4ce5018d',1,'grpc_mdctx_get_mdtab_capacity_test_only(grpc_mdctx *ctx): metadata.c']]], + ['grpc_5fmdctx_5fget_5fmdtab_5fcount_5ftest_5fonly',['grpc_mdctx_get_mdtab_count_test_only',['../metadata_8h.html#ac3c26191d224ff5ac9f54713cfc90f92',1,'grpc_mdctx_get_mdtab_count_test_only(grpc_mdctx *mdctx): metadata.c'],['../metadata_8c.html#aba47aef8a83c845dd6ec3dc366fcfdab',1,'grpc_mdctx_get_mdtab_count_test_only(grpc_mdctx *ctx): metadata.c']]], + ['grpc_5fmdctx_5fget_5fmdtab_5ffree_5ftest_5fonly',['grpc_mdctx_get_mdtab_free_test_only',['../metadata_8h.html#ae467d8aaa91efb73610faca99c18ca17',1,'grpc_mdctx_get_mdtab_free_test_only(grpc_mdctx *mdctx): metadata.c'],['../metadata_8c.html#a8a7b1b8046529252525680692d7dd68a',1,'grpc_mdctx_get_mdtab_free_test_only(grpc_mdctx *ctx): metadata.c']]], + ['grpc_5fmdctx_5flock',['grpc_mdctx_lock',['../metadata_8h.html#a390eb255a6d72a8ea84ac8ad3cbeb331',1,'grpc_mdctx_lock(grpc_mdctx *ctx): metadata.c'],['../metadata_8c.html#a390eb255a6d72a8ea84ac8ad3cbeb331',1,'grpc_mdctx_lock(grpc_mdctx *ctx): metadata.c']]], + ['grpc_5fmdctx_5flocked_5fmdelem_5funref',['grpc_mdctx_locked_mdelem_unref',['../metadata_8h.html#a7b190b43b10959286e61719a9f9f0f01',1,'grpc_mdctx_locked_mdelem_unref(grpc_mdctx *ctx, grpc_mdelem *elem): metadata.c'],['../metadata_8c.html#a473a5ef9df4df3cca9865f07a9237739',1,'grpc_mdctx_locked_mdelem_unref(grpc_mdctx *ctx, grpc_mdelem *gmd): metadata.c']]], + ['grpc_5fmdctx_5fref',['grpc_mdctx_ref',['../metadata_8h.html#a0eee1214d287f4f14fa1363fdacff5da',1,'grpc_mdctx_ref(grpc_mdctx *mdctx): metadata.c'],['../metadata_8c.html#a0293b53029721bf7013af7466efbd324',1,'grpc_mdctx_ref(grpc_mdctx *ctx): metadata.c']]], + ['grpc_5fmdctx_5funlock',['grpc_mdctx_unlock',['../metadata_8h.html#a033690c1ac25d72fdc5e56e9f5d9e97b',1,'grpc_mdctx_unlock(grpc_mdctx *ctx): metadata.c'],['../metadata_8c.html#a033690c1ac25d72fdc5e56e9f5d9e97b',1,'grpc_mdctx_unlock(grpc_mdctx *ctx): metadata.c']]], + ['grpc_5fmdctx_5funref',['grpc_mdctx_unref',['../metadata_8h.html#a8ca25748d59d50f8641692bf3ae357d3',1,'grpc_mdctx_unref(grpc_mdctx *mdctx): metadata.c'],['../metadata_8c.html#ae80c7476ff57db4121dc9d8fef9e5670',1,'grpc_mdctx_unref(grpc_mdctx *ctx): metadata.c']]], + ['grpc_5fmdelem_5ffrom_5fmetadata_5fstrings',['grpc_mdelem_from_metadata_strings',['../metadata_8h.html#a969845603738428cf18a9a090896e152',1,'grpc_mdelem_from_metadata_strings(grpc_mdctx *ctx, grpc_mdstr *key, grpc_mdstr *value): metadata.c'],['../metadata_8c.html#afc5656c1cd10a6f2e7cebebff10c25a4',1,'grpc_mdelem_from_metadata_strings(grpc_mdctx *ctx, grpc_mdstr *mkey, grpc_mdstr *mvalue): metadata.c']]], + ['grpc_5fmdelem_5ffrom_5fslices',['grpc_mdelem_from_slices',['../metadata_8h.html#a5b5ad2d68dd8c76345170f5f732b8fa2',1,'grpc_mdelem_from_slices(grpc_mdctx *ctx, gpr_slice key, gpr_slice value): metadata.c'],['../metadata_8c.html#a5b5ad2d68dd8c76345170f5f732b8fa2',1,'grpc_mdelem_from_slices(grpc_mdctx *ctx, gpr_slice key, gpr_slice value): metadata.c']]], + ['grpc_5fmdelem_5ffrom_5fstring_5fand_5fbuffer',['grpc_mdelem_from_string_and_buffer',['../metadata_8h.html#a748c6028cdc4cd0fd8d98c3a7f79ed13',1,'grpc_mdelem_from_string_and_buffer(grpc_mdctx *ctx, const char *key, const gpr_uint8 *value, size_t value_length, int canonicalize_key): metadata.c'],['../metadata_8c.html#a748c6028cdc4cd0fd8d98c3a7f79ed13',1,'grpc_mdelem_from_string_and_buffer(grpc_mdctx *ctx, const char *key, const gpr_uint8 *value, size_t value_length, int canonicalize_key): metadata.c']]], + ['grpc_5fmdelem_5ffrom_5fstrings',['grpc_mdelem_from_strings',['../metadata_8h.html#a6535f623fc2bd818158d96f6a37f73c8',1,'grpc_mdelem_from_strings(grpc_mdctx *ctx, const char *key, const char *value): metadata.c'],['../metadata_8c.html#a6535f623fc2bd818158d96f6a37f73c8',1,'grpc_mdelem_from_strings(grpc_mdctx *ctx, const char *key, const char *value): metadata.c']]], + ['grpc_5fmdelem_5fget_5fuser_5fdata',['grpc_mdelem_get_user_data',['../metadata_8h.html#a1f7c3e28f1f851a5b50d274f3ad3ecc9',1,'grpc_mdelem_get_user_data(grpc_mdelem *md, void(*if_destroy_func)(void *)): metadata.c'],['../metadata_8c.html#a1f7c3e28f1f851a5b50d274f3ad3ecc9',1,'grpc_mdelem_get_user_data(grpc_mdelem *md, void(*if_destroy_func)(void *)): metadata.c']]], + ['grpc_5fmdelem_5fref',['grpc_mdelem_ref',['../metadata_8h.html#ae73ccb189245977bbddfa464bd3c6615',1,'grpc_mdelem_ref(grpc_mdelem *md): metadata.c'],['../metadata_8c.html#a5a85da96bfb21ef225169545913fbdc2',1,'grpc_mdelem_ref(grpc_mdelem *gmd): metadata.c']]], + ['grpc_5fmdelem_5fset_5fuser_5fdata',['grpc_mdelem_set_user_data',['../metadata_8h.html#a6d0f62841408f1a89773aa4ef54dcf0e',1,'grpc_mdelem_set_user_data(grpc_mdelem *md, void(*destroy_func)(void *), void *user_data): metadata.c'],['../metadata_8c.html#a6d0f62841408f1a89773aa4ef54dcf0e',1,'grpc_mdelem_set_user_data(grpc_mdelem *md, void(*destroy_func)(void *), void *user_data): metadata.c']]], + ['grpc_5fmdelem_5funref',['grpc_mdelem_unref',['../metadata_8h.html#aaf81c9b79ca751ffb4de33ea510d70cc',1,'grpc_mdelem_unref(grpc_mdelem *md): metadata.c'],['../metadata_8c.html#a51228fa7618a8f6503e605709d893a25',1,'grpc_mdelem_unref(grpc_mdelem *gmd): metadata.c']]], + ['grpc_5fmdstr_5fas_5fbase64_5fencoded_5fand_5fhuffman_5fcompressed',['grpc_mdstr_as_base64_encoded_and_huffman_compressed',['../metadata_8h.html#a314273fea07852ac80ea184100398c11',1,'grpc_mdstr_as_base64_encoded_and_huffman_compressed(grpc_mdstr *str): metadata.c'],['../metadata_8c.html#a0bc211dd30038c1366a614647abdcf08',1,'grpc_mdstr_as_base64_encoded_and_huffman_compressed(grpc_mdstr *gs): metadata.c']]], + ['grpc_5fmdstr_5fas_5fc_5fstring',['grpc_mdstr_as_c_string',['../metadata_8h.html#aacbae6a08b63835ec31fcddb556aa895',1,'grpc_mdstr_as_c_string(grpc_mdstr *s): metadata.c'],['../metadata_8c.html#aacbae6a08b63835ec31fcddb556aa895',1,'grpc_mdstr_as_c_string(grpc_mdstr *s): metadata.c']]], + ['grpc_5fmdstr_5ffrom_5fbuffer',['grpc_mdstr_from_buffer',['../metadata_8h.html#ac510347648778d23eaf6c8d9a4b664db',1,'grpc_mdstr_from_buffer(grpc_mdctx *ctx, const gpr_uint8 *str, size_t length): metadata.c'],['../metadata_8c.html#a357ead79c52ee284bb190bae970d8457',1,'grpc_mdstr_from_buffer(grpc_mdctx *ctx, const gpr_uint8 *buf, size_t length): metadata.c']]], + ['grpc_5fmdstr_5ffrom_5fslice',['grpc_mdstr_from_slice',['../metadata_8h.html#a4eccbbb62d87a131d2eb3367fd2c4c43',1,'grpc_mdstr_from_slice(grpc_mdctx *ctx, gpr_slice slice): metadata.c'],['../metadata_8c.html#a4eccbbb62d87a131d2eb3367fd2c4c43',1,'grpc_mdstr_from_slice(grpc_mdctx *ctx, gpr_slice slice): metadata.c']]], + ['grpc_5fmdstr_5ffrom_5fstring',['grpc_mdstr_from_string',['../metadata_8h.html#af961acf0149066abf14c01f56a3e2b55',1,'grpc_mdstr_from_string(grpc_mdctx *ctx, const char *str, int perform_key_canonicalization): metadata.c'],['../metadata_8c.html#a30a9ea36693c48da5072719f6ae7de6d',1,'grpc_mdstr_from_string(grpc_mdctx *ctx, const char *str, int canonicalize_key): metadata.c']]], + ['grpc_5fmdstr_5fis_5fbin_5fsuffixed',['grpc_mdstr_is_bin_suffixed',['../metadata_8h.html#ad34887fb9c6733916ac87b8fde793e74',1,'grpc_mdstr_is_bin_suffixed(grpc_mdstr *s): metadata.c'],['../metadata_8c.html#ad34887fb9c6733916ac87b8fde793e74',1,'grpc_mdstr_is_bin_suffixed(grpc_mdstr *s): metadata.c']]], + ['grpc_5fmdstr_5fis_5flegal_5fheader',['grpc_mdstr_is_legal_header',['../metadata_8h.html#a427ad60503ae8ce87bcfa0aa09fe99a5',1,'grpc_mdstr_is_legal_header(grpc_mdstr *s): metadata.c'],['../metadata_8c.html#a427ad60503ae8ce87bcfa0aa09fe99a5',1,'grpc_mdstr_is_legal_header(grpc_mdstr *s): metadata.c']]], + ['grpc_5fmdstr_5fref',['grpc_mdstr_ref',['../metadata_8h.html#abb0b4e65a5d630dfe5fe975cd7b578cf',1,'grpc_mdstr_ref(grpc_mdstr *s): metadata.c'],['../metadata_8c.html#a85a25deeeea31c616e326b765043b9c9',1,'grpc_mdstr_ref(grpc_mdstr *gs): metadata.c']]], + ['grpc_5fmdstr_5funref',['grpc_mdstr_unref',['../metadata_8h.html#a6ba2e968699daaddaad9b48b78779465',1,'grpc_mdstr_unref(grpc_mdstr *s): metadata.c'],['../metadata_8c.html#a6481b7703e964dc8306f3c243b2378f3',1,'grpc_mdstr_unref(grpc_mdstr *gs): metadata.c']]], + ['grpc_5fmetadata_5farray_5fdestroy',['grpc_metadata_array_destroy',['../grpc_8h.html#aad125726d8b689cc5fc1a0444c91ed44',1,'grpc_metadata_array_destroy(grpc_metadata_array *array): metadata_array.c'],['../metadata__array_8c.html#aad125726d8b689cc5fc1a0444c91ed44',1,'grpc_metadata_array_destroy(grpc_metadata_array *array): metadata_array.c']]], + ['grpc_5fmetadata_5farray_5finit',['grpc_metadata_array_init',['../grpc_8h.html#a52cfda44034115720a0e88037dedbfb5',1,'grpc_metadata_array_init(grpc_metadata_array *array): metadata_array.c'],['../metadata__array_8c.html#a52cfda44034115720a0e88037dedbfb5',1,'grpc_metadata_array_init(grpc_metadata_array *array): metadata_array.c']]], + ['grpc_5fmetadata_5fbatch_5fadd_5fhead',['grpc_metadata_batch_add_head',['../stream__op_8h.html#a845453663a8db6cd2624ed92d63b2003',1,'grpc_metadata_batch_add_head(grpc_metadata_batch *batch, grpc_linked_mdelem *storage, grpc_mdelem *elem_to_add): stream_op.c'],['../stream__op_8c.html#a845453663a8db6cd2624ed92d63b2003',1,'grpc_metadata_batch_add_head(grpc_metadata_batch *batch, grpc_linked_mdelem *storage, grpc_mdelem *elem_to_add): stream_op.c']]], + ['grpc_5fmetadata_5fbatch_5fadd_5ftail',['grpc_metadata_batch_add_tail',['../stream__op_8h.html#a31f318cbb2f1fdb6372fdc4891e74d01',1,'grpc_metadata_batch_add_tail(grpc_metadata_batch *batch, grpc_linked_mdelem *storage, grpc_mdelem *elem_to_add): stream_op.c'],['../stream__op_8c.html#a31f318cbb2f1fdb6372fdc4891e74d01',1,'grpc_metadata_batch_add_tail(grpc_metadata_batch *batch, grpc_linked_mdelem *storage, grpc_mdelem *elem_to_add): stream_op.c']]], + ['grpc_5fmetadata_5fbatch_5fassert_5fok',['grpc_metadata_batch_assert_ok',['../stream__op_8h.html#a3a64e7ada80969b3d280529a5362505a',1,'grpc_metadata_batch_assert_ok(grpc_metadata_batch *comd): stream_op.c'],['../stream__op_8c.html#a5107cb817e5019fc9f9e7fdd99e54c0e',1,'grpc_metadata_batch_assert_ok(grpc_metadata_batch *batch): stream_op.c']]], + ['grpc_5fmetadata_5fbatch_5fdestroy',['grpc_metadata_batch_destroy',['../stream__op_8h.html#afc4867b9d7a952f003c5494120b59c08',1,'grpc_metadata_batch_destroy(grpc_metadata_batch *batch): stream_op.c'],['../stream__op_8c.html#afc4867b9d7a952f003c5494120b59c08',1,'grpc_metadata_batch_destroy(grpc_metadata_batch *batch): stream_op.c']]], + ['grpc_5fmetadata_5fbatch_5ffilter',['grpc_metadata_batch_filter',['../stream__op_8h.html#a754411d9f54fc8762416abf0c148afcf',1,'grpc_metadata_batch_filter(grpc_metadata_batch *batch, grpc_mdelem *(*filter)(void *user_data, grpc_mdelem *elem), void *user_data): stream_op.c'],['../stream__op_8c.html#a754411d9f54fc8762416abf0c148afcf',1,'grpc_metadata_batch_filter(grpc_metadata_batch *batch, grpc_mdelem *(*filter)(void *user_data, grpc_mdelem *elem), void *user_data): stream_op.c']]], + ['grpc_5fmetadata_5fbatch_5finit',['grpc_metadata_batch_init',['../stream__op_8h.html#a56d5ee4a6e415827935accfe449dc770',1,'grpc_metadata_batch_init(grpc_metadata_batch *batch): stream_op.c'],['../stream__op_8c.html#a56d5ee4a6e415827935accfe449dc770',1,'grpc_metadata_batch_init(grpc_metadata_batch *batch): stream_op.c']]], + ['grpc_5fmetadata_5fbatch_5flink_5fhead',['grpc_metadata_batch_link_head',['../stream__op_8h.html#a8c6af9205b51577ab879b07d9954d32b',1,'grpc_metadata_batch_link_head(grpc_metadata_batch *batch, grpc_linked_mdelem *storage): stream_op.c'],['../stream__op_8c.html#a8c6af9205b51577ab879b07d9954d32b',1,'grpc_metadata_batch_link_head(grpc_metadata_batch *batch, grpc_linked_mdelem *storage): stream_op.c']]], + ['grpc_5fmetadata_5fbatch_5flink_5ftail',['grpc_metadata_batch_link_tail',['../stream__op_8h.html#a6a07ac989d86142e60bd17525f7f509e',1,'grpc_metadata_batch_link_tail(grpc_metadata_batch *batch, grpc_linked_mdelem *storage): stream_op.c'],['../stream__op_8c.html#a6a07ac989d86142e60bd17525f7f509e',1,'grpc_metadata_batch_link_tail(grpc_metadata_batch *batch, grpc_linked_mdelem *storage): stream_op.c']]], + ['grpc_5fmetadata_5fbatch_5fmerge',['grpc_metadata_batch_merge',['../stream__op_8h.html#adf6ee05d9443f295076015da3428f12a',1,'grpc_metadata_batch_merge(grpc_metadata_batch *target, grpc_metadata_batch *add): stream_op.c'],['../stream__op_8c.html#adf6ee05d9443f295076015da3428f12a',1,'grpc_metadata_batch_merge(grpc_metadata_batch *target, grpc_metadata_batch *add): stream_op.c']]], + ['grpc_5fmetadata_5fbatch_5fmove',['grpc_metadata_batch_move',['../stream__op_8h.html#a719845dfd6b62fb62a75d9776396154e',1,'grpc_metadata_batch_move(grpc_metadata_batch *dst, grpc_metadata_batch *src): stream_op.c'],['../stream__op_8c.html#a719845dfd6b62fb62a75d9776396154e',1,'grpc_metadata_batch_move(grpc_metadata_batch *dst, grpc_metadata_batch *src): stream_op.c']]], + ['grpc_5fmsg_5fcompress',['grpc_msg_compress',['../message__compress_8h.html#ad77078989bef6661528ca2e22223d8cd',1,'grpc_msg_compress(grpc_compression_algorithm algorithm, gpr_slice_buffer *input, gpr_slice_buffer *output): message_compress.c'],['../message__compress_8c.html#ad77078989bef6661528ca2e22223d8cd',1,'grpc_msg_compress(grpc_compression_algorithm algorithm, gpr_slice_buffer *input, gpr_slice_buffer *output): message_compress.c']]], + ['grpc_5fmsg_5fdecompress',['grpc_msg_decompress',['../message__compress_8h.html#a3453eb197bbea1ad5dbc57561d9352f0',1,'grpc_msg_decompress(grpc_compression_algorithm algorithm, gpr_slice_buffer *input, gpr_slice_buffer *output): message_compress.c'],['../message__compress_8c.html#a3453eb197bbea1ad5dbc57561d9352f0',1,'grpc_msg_decompress(grpc_compression_algorithm algorithm, gpr_slice_buffer *input, gpr_slice_buffer *output): message_compress.c']]], + ['grpc_5foauth2_5ftoken_5ffetcher_5fcredentials_5fparse_5fserver_5fresponse',['grpc_oauth2_token_fetcher_credentials_parse_server_response',['../credentials_8h.html#af0dac46697efd780811863ee13c73fbd',1,'grpc_oauth2_token_fetcher_credentials_parse_server_response(const struct grpc_httpcli_response *response, grpc_credentials_md_store **token_md, gpr_timespec *token_lifetime): credentials.h'],['../credentials_8c.html#a642f68664ea54ce67c7f752c33e01877',1,'grpc_oauth2_token_fetcher_credentials_parse_server_response(const grpc_httpcli_response *response, grpc_credentials_md_store **token_md, gpr_timespec *token_lifetime): credentials.c']]], + ['grpc_5fop_5fstring',['grpc_op_string',['../call__log__batch_8c.html#a20665cb5606e67c3748f0df7c3f93998',1,'call_log_batch.c']]], + ['grpc_5fpoll_5fbecome_5fmultipoller',['grpc_poll_become_multipoller',['../pollset__posix_8h.html#ae03dc91376fc7bfb279e74a955782102',1,'pollset_posix.h']]], + ['grpc_5fpoll_5fdeadline_5fto_5fmillis_5ftimeout',['grpc_poll_deadline_to_millis_timeout',['../pollset__posix_8h.html#ab8e35054e04edb42c1e665ef6a896fc0',1,'pollset_posix.h']]], + ['grpc_5fpollset_5fadd_5ffd',['grpc_pollset_add_fd',['../pollset__posix_8h.html#add4b6bbce2371decdb574d68b15a81e8',1,'pollset_posix.h']]], + ['grpc_5fpollset_5fdel_5ffd',['grpc_pollset_del_fd',['../pollset__posix_8h.html#a84e9698eaa1ae735fc13d9faf7e073ea',1,'pollset_posix.h']]], + ['grpc_5fpollset_5fdestroy',['grpc_pollset_destroy',['../pollset_8h.html#a66c5028ee13b23f2d3c4db177f5c7d0f',1,'pollset.h']]], + ['grpc_5fpollset_5fforce_5fkick',['grpc_pollset_force_kick',['../pollset__posix_8h.html#a1dcd57a12b81e4369bc4c6957ff3837e',1,'pollset_posix.h']]], + ['grpc_5fpollset_5fglobal_5finit',['grpc_pollset_global_init',['../iomgr__posix_8h.html#a4011ee1fbdad1603b7e55127594c200a',1,'iomgr_posix.h']]], + ['grpc_5fpollset_5fglobal_5fshutdown',['grpc_pollset_global_shutdown',['../iomgr__posix_8h.html#a8d671f6f374e2ed27c2d81c3400e5688',1,'iomgr_posix.h']]], + ['grpc_5fpollset_5finit',['grpc_pollset_init',['../pollset_8h.html#abea9f486d280910a6e6aecbe6ca5f40b',1,'pollset.h']]], + ['grpc_5fpollset_5fkick',['grpc_pollset_kick',['../pollset_8h.html#a395a3872723c67d877799cdc79ae7f48',1,'pollset.h']]], + ['grpc_5fpollset_5fkick_5fconsume',['grpc_pollset_kick_consume',['../pollset__kick__posix_8h.html#a99be47b9ffb41145d43f9c7ca90d4bc3',1,'pollset_kick_posix.h']]], + ['grpc_5fpollset_5fkick_5fdestroy',['grpc_pollset_kick_destroy',['../pollset__kick__posix_8h.html#adaa67c8f786eed2df0402c6b37f02936',1,'pollset_kick_posix.h']]], + ['grpc_5fpollset_5fkick_5fglobal_5fdestroy',['grpc_pollset_kick_global_destroy',['../pollset__kick__posix_8h.html#a59b8b056ec1ae7f0692bf26bf2a3d737',1,'pollset_kick_posix.h']]], + ['grpc_5fpollset_5fkick_5fglobal_5finit',['grpc_pollset_kick_global_init',['../pollset__kick__posix_8h.html#ac0d8bb7edaf2ad8346745db01206c5ed',1,'pollset_kick_posix.h']]], + ['grpc_5fpollset_5fkick_5fglobal_5finit_5ffallback_5ffd',['grpc_pollset_kick_global_init_fallback_fd',['../pollset__kick__posix_8h.html#a49bdece86b13c8d5785b32fae1609e08',1,'pollset_kick_posix.h']]], + ['grpc_5fpollset_5fkick_5finit',['grpc_pollset_kick_init',['../pollset__kick__posix_8h.html#a12982076ee83468851ab4a96502dd32c',1,'pollset_kick_posix.h']]], + ['grpc_5fpollset_5fkick_5fkick',['grpc_pollset_kick_kick',['../pollset__kick__posix_8h.html#a2eecbc8ba9bc911b87e4061c7786c849',1,'pollset_kick_posix.h']]], + ['grpc_5fpollset_5fkick_5fpost_5fpoll',['grpc_pollset_kick_post_poll',['../pollset__kick__posix_8h.html#a60bfabb6f5d6c3879607f5fc7634e037',1,'pollset_kick_posix.h']]], + ['grpc_5fpollset_5fkick_5fpre_5fpoll',['grpc_pollset_kick_pre_poll',['../pollset__kick__posix_8h.html#a6b29bc457705925de07822e6d6d1b91b',1,'pollset_kick_posix.h']]], + ['grpc_5fpollset_5fset_5fadd_5ffd',['grpc_pollset_set_add_fd',['../pollset__set__posix_8h.html#a4710efa6246cfb542fc4e6e19f6b480c',1,'pollset_set_posix.h']]], + ['grpc_5fpollset_5fset_5fadd_5fpollset',['grpc_pollset_set_add_pollset',['../pollset__set_8h.html#a32cce61c048d3f4ccd8a2f89ccc6bdd2',1,'pollset_set.h']]], + ['grpc_5fpollset_5fset_5fdel_5ffd',['grpc_pollset_set_del_fd',['../pollset__set__posix_8h.html#aea5df4b32ccbd0fc718384f7f71b9414',1,'pollset_set_posix.h']]], + ['grpc_5fpollset_5fset_5fdel_5fpollset',['grpc_pollset_set_del_pollset',['../pollset__set_8h.html#aa17d44c467a104db9bb5150d815212c0',1,'pollset_set.h']]], + ['grpc_5fpollset_5fset_5fdestroy',['grpc_pollset_set_destroy',['../pollset__set_8h.html#af4b47eef823139b714d759e49495fafd',1,'pollset_set.h']]], + ['grpc_5fpollset_5fset_5finit',['grpc_pollset_set_init',['../pollset__set_8h.html#a215962a68f3a3a344993f6da6a5f486c',1,'pollset_set.h']]], + ['grpc_5fpollset_5fshutdown',['grpc_pollset_shutdown',['../pollset_8h.html#a85616767facacdf95dfc4fe564352e87',1,'pollset.h']]], + ['grpc_5fpollset_5fwork',['grpc_pollset_work',['../pollset_8h.html#a8e69570c350199ba682b6f673a63e8dd',1,'pollset.h']]], + ['grpc_5fraw_5fbyte_5fbuffer_5fcreate',['grpc_raw_byte_buffer_create',['../byte__buffer_8h.html#a1aaaa0d8a1609166e0b0bb2b42332618',1,'grpc_raw_byte_buffer_create(gpr_slice *slices, size_t nslices): byte_buffer.c'],['../byte__buffer_8c.html#a1aaaa0d8a1609166e0b0bb2b42332618',1,'grpc_raw_byte_buffer_create(gpr_slice *slices, size_t nslices): byte_buffer.c']]], + ['grpc_5fraw_5fbyte_5fbuffer_5ffrom_5freader',['grpc_raw_byte_buffer_from_reader',['../byte__buffer_8h.html#a9b4f877e32f45e0e704970e89582e0df',1,'grpc_raw_byte_buffer_from_reader(grpc_byte_buffer_reader *reader): byte_buffer.c'],['../byte__buffer_8c.html#a9b4f877e32f45e0e704970e89582e0df',1,'grpc_raw_byte_buffer_from_reader(grpc_byte_buffer_reader *reader): byte_buffer.c']]], + ['grpc_5fraw_5fcompressed_5fbyte_5fbuffer_5fcreate',['grpc_raw_compressed_byte_buffer_create',['../byte__buffer_8h.html#af9801acc1dbfd02b2c51ed9d504cd12b',1,'grpc_raw_compressed_byte_buffer_create(gpr_slice *slices, size_t nslices, grpc_compression_algorithm compression): byte_buffer.c'],['../byte__buffer_8c.html#af9801acc1dbfd02b2c51ed9d504cd12b',1,'grpc_raw_compressed_byte_buffer_create(gpr_slice *slices, size_t nslices, grpc_compression_algorithm compression): byte_buffer.c']]], + ['grpc_5frefresh_5ftoken_5fcredentials_5fcreate',['grpc_refresh_token_credentials_create',['../grpc__security_8h.html#a7a2440ad02b6a96adbd2c6e5d66fd7d2',1,'grpc_refresh_token_credentials_create(const char *json_refresh_token): credentials.c'],['../credentials_8c.html#a7a2440ad02b6a96adbd2c6e5d66fd7d2',1,'grpc_refresh_token_credentials_create(const char *json_refresh_token): credentials.c']]], + ['grpc_5frefresh_5ftoken_5fcredentials_5fcreate_5ffrom_5fauth_5frefresh_5ftoken',['grpc_refresh_token_credentials_create_from_auth_refresh_token',['../credentials_8h.html#af364310c463f2ddc7d714f2dbbd57e0d',1,'grpc_refresh_token_credentials_create_from_auth_refresh_token(grpc_auth_refresh_token token): credentials.c'],['../credentials_8c.html#a0effe35d7112502e48014662eb7015cf',1,'grpc_refresh_token_credentials_create_from_auth_refresh_token(grpc_auth_refresh_token refresh_token): credentials.c']]], + ['grpc_5fregister_5fresolver_5ftype',['grpc_register_resolver_type',['../resolver__registry_8h.html#a563d9d398ed1757d9c5f78ae2ec7b9d7',1,'grpc_register_resolver_type(const char *scheme, grpc_resolver_factory *factory): resolver_registry.c'],['../resolver__registry_8c.html#a563d9d398ed1757d9c5f78ae2ec7b9d7',1,'grpc_register_resolver_type(const char *scheme, grpc_resolver_factory *factory): resolver_registry.c']]], + ['grpc_5fregister_5ftracer',['grpc_register_tracer',['../trace_8h.html#a082b7bb1ebe733f60bf2db0c7cd7b0db',1,'grpc_register_tracer(const char *name, int *flag): trace.c'],['../trace_8c.html#a082b7bb1ebe733f60bf2db0c7cd7b0db',1,'grpc_register_tracer(const char *name, int *flag): trace.c']]], + ['grpc_5fresolve_5faddress',['grpc_resolve_address',['../resolve__address_8h.html#ad97dcf547d9b690a9a7de340a84391ea',1,'resolve_address.h']]], + ['grpc_5fresolved_5faddresses_5fdestroy',['grpc_resolved_addresses_destroy',['../resolve__address_8h.html#affdc0f6f10389f1a19db7a5edb527b7c',1,'resolve_address.h']]], + ['grpc_5fresolver_5fchannel_5fsaw_5ferror',['grpc_resolver_channel_saw_error',['../resolver_8h.html#a118536c3b62613e957e10ce9cb602e6e',1,'grpc_resolver_channel_saw_error(grpc_resolver *resolver, struct sockaddr *failing_address, int failing_address_len): resolver.c'],['../resolver_8c.html#a118536c3b62613e957e10ce9cb602e6e',1,'grpc_resolver_channel_saw_error(grpc_resolver *resolver, struct sockaddr *failing_address, int failing_address_len): resolver.c']]], + ['grpc_5fresolver_5fcreate',['grpc_resolver_create',['../resolver__registry_8h.html#a42ba392534ac248b5a4ac1f87cd9b3b0',1,'grpc_resolver_create(const char *name, grpc_subchannel_factory *subchannel_factory): resolver_registry.c'],['../resolver__registry_8c.html#a42ba392534ac248b5a4ac1f87cd9b3b0',1,'grpc_resolver_create(const char *name, grpc_subchannel_factory *subchannel_factory): resolver_registry.c']]], + ['grpc_5fresolver_5ffactory_5fcreate_5fresolver',['grpc_resolver_factory_create_resolver',['../resolver__factory_8h.html#a27c578ca66348965f7d3810d0c6fc65d',1,'grpc_resolver_factory_create_resolver(grpc_resolver_factory *factory, grpc_uri *uri, grpc_subchannel_factory *subchannel_factory): resolver_factory.c'],['../resolver__factory_8c.html#a27c578ca66348965f7d3810d0c6fc65d',1,'grpc_resolver_factory_create_resolver(grpc_resolver_factory *factory, grpc_uri *uri, grpc_subchannel_factory *subchannel_factory): resolver_factory.c']]], + ['grpc_5fresolver_5ffactory_5fref',['grpc_resolver_factory_ref',['../resolver__factory_8h.html#ad772468e42a97021bb827beb5b2db3ba',1,'grpc_resolver_factory_ref(grpc_resolver_factory *resolver): resolver_factory.c'],['../resolver__factory_8c.html#ad5938bfb397011e5e7f4f8d048102e9c',1,'grpc_resolver_factory_ref(grpc_resolver_factory *factory): resolver_factory.c']]], + ['grpc_5fresolver_5ffactory_5funref',['grpc_resolver_factory_unref',['../resolver__factory_8h.html#a9a16ab9dc39e97fff0b95ef3fc76904f',1,'grpc_resolver_factory_unref(grpc_resolver_factory *resolver): resolver_factory.c'],['../resolver__factory_8c.html#aff39a6960a452dbc2537ad83b3cefe84',1,'grpc_resolver_factory_unref(grpc_resolver_factory *factory): resolver_factory.c']]], + ['grpc_5fresolver_5finit',['grpc_resolver_init',['../resolver_8h.html#ac806a2edf4f2073529eec1319db9fde4',1,'grpc_resolver_init(grpc_resolver *resolver, const grpc_resolver_vtable *vtable): resolver.c'],['../resolver_8c.html#ac806a2edf4f2073529eec1319db9fde4',1,'grpc_resolver_init(grpc_resolver *resolver, const grpc_resolver_vtable *vtable): resolver.c']]], + ['grpc_5fresolver_5fnext',['grpc_resolver_next',['../resolver_8h.html#ac5ef07f9efdd2a39f2239207cc060729',1,'grpc_resolver_next(grpc_resolver *resolver, grpc_client_config **target_config, grpc_iomgr_closure *on_complete): resolver.c'],['../resolver_8c.html#ac5ef07f9efdd2a39f2239207cc060729',1,'grpc_resolver_next(grpc_resolver *resolver, grpc_client_config **target_config, grpc_iomgr_closure *on_complete): resolver.c']]], + ['grpc_5fresolver_5fref',['grpc_resolver_ref',['../resolver_8h.html#aae02c9a384f3f2c2b598f56014caa211',1,'grpc_resolver_ref(grpc_resolver *policy): resolver.c'],['../resolver_8c.html#a364d687b496e862cd5830d3aed899f4f',1,'grpc_resolver_ref(grpc_resolver *resolver): resolver.c']]], + ['grpc_5fresolver_5fregistry_5finit',['grpc_resolver_registry_init',['../resolver__registry_8h.html#a10ad765940e4f2ebf9d6bdc6b97d0fb0',1,'grpc_resolver_registry_init(const char *default_prefix): resolver_registry.c'],['../resolver__registry_8c.html#ac7c093f883b89670df4f0e6a42a9a77c',1,'grpc_resolver_registry_init(const char *default_resolver_scheme): resolver_registry.c']]], + ['grpc_5fresolver_5fregistry_5fshutdown',['grpc_resolver_registry_shutdown',['../resolver__registry_8h.html#a7e9178815fe26123c9413514e1212ca6',1,'grpc_resolver_registry_shutdown(void): resolver_registry.c'],['../resolver__registry_8c.html#a7e9178815fe26123c9413514e1212ca6',1,'grpc_resolver_registry_shutdown(void): resolver_registry.c']]], + ['grpc_5fresolver_5fshutdown',['grpc_resolver_shutdown',['../resolver_8h.html#ae7b200016c3489c0bb3de525198b435b',1,'grpc_resolver_shutdown(grpc_resolver *resolver): resolver.c'],['../resolver_8c.html#ae7b200016c3489c0bb3de525198b435b',1,'grpc_resolver_shutdown(grpc_resolver *resolver): resolver.c']]], + ['grpc_5fresolver_5funref',['grpc_resolver_unref',['../resolver_8h.html#a198c3f1a1ef2d6f40680436a2fcaa11d',1,'grpc_resolver_unref(grpc_resolver *policy): resolver.c'],['../resolver_8c.html#a22b971b1770b476c3791f3f7bd370fd9',1,'grpc_resolver_unref(grpc_resolver *resolver): resolver.c']]], + ['grpc_5fsecure_5fchannel_5fcreate',['grpc_secure_channel_create',['../grpc__security_8h.html#a4d63d4cac74652ec3fac7782acb4a2d4',1,'grpc_secure_channel_create(grpc_credentials *creds, const char *target, const grpc_channel_args *args): secure_channel_create.c'],['../secure__channel__create_8c.html#a4d63d4cac74652ec3fac7782acb4a2d4',1,'grpc_secure_channel_create(grpc_credentials *creds, const char *target, const grpc_channel_args *args): secure_channel_create.c']]], + ['grpc_5fsecure_5fendpoint_5fcreate',['grpc_secure_endpoint_create',['../secure__endpoint_8h.html#ae8cdf93fdcca82849830e6f333807f66',1,'grpc_secure_endpoint_create(struct tsi_frame_protector *protector, grpc_endpoint *to_wrap, gpr_slice *leftover_slices, size_t leftover_nslices): secure_endpoint.c'],['../secure__endpoint_8c.html#a76ef547d32b0955572a841108518e611',1,'grpc_secure_endpoint_create(struct tsi_frame_protector *protector, grpc_endpoint *transport, gpr_slice *leftover_slices, size_t leftover_nslices): secure_endpoint.c']]], + ['grpc_5fsecurity_5fconnector_5fcheck_5fpeer',['grpc_security_connector_check_peer',['../security__connector_8h.html#aac9a5d6c38755b24c7170789056dec94',1,'grpc_security_connector_check_peer(grpc_security_connector *sc, tsi_peer peer, grpc_security_check_cb cb, void *user_data): security_connector.c'],['../security__connector_8c.html#aac9a5d6c38755b24c7170789056dec94',1,'grpc_security_connector_check_peer(grpc_security_connector *sc, tsi_peer peer, grpc_security_check_cb cb, void *user_data): security_connector.c']]], + ['grpc_5fsecurity_5fconnector_5fcreate_5fhandshaker',['grpc_security_connector_create_handshaker',['../security__connector_8h.html#af81a7b903de0636a73b0e852b36a7fde',1,'grpc_security_connector_create_handshaker(grpc_security_connector *sc, tsi_handshaker **handshaker): security_connector.c'],['../security__connector_8c.html#af81a7b903de0636a73b0e852b36a7fde',1,'grpc_security_connector_create_handshaker(grpc_security_connector *sc, tsi_handshaker **handshaker): security_connector.c']]], + ['grpc_5fsecurity_5fconnector_5ffrom_5farg',['grpc_security_connector_from_arg',['../security__connector_8h.html#aa427ef1fd3d8e58437215f4da2fd87ca',1,'grpc_security_connector_from_arg(const grpc_arg *arg): security_connector.c'],['../security__connector_8c.html#aa427ef1fd3d8e58437215f4da2fd87ca',1,'grpc_security_connector_from_arg(const grpc_arg *arg): security_connector.c']]], + ['grpc_5fsecurity_5fconnector_5fref',['grpc_security_connector_ref',['../security__connector_8h.html#a49e56e5d195b8935306b58dd80cf1ae4',1,'grpc_security_connector_ref(grpc_security_connector *policy): security_connector.c'],['../security__connector_8c.html#a04d7906ef7ce6c00705b20f19841c127',1,'grpc_security_connector_ref(grpc_security_connector *sc): security_connector.c']]], + ['grpc_5fsecurity_5fconnector_5fto_5farg',['grpc_security_connector_to_arg',['../security__connector_8h.html#ab609527dad74bcc51e4b8b17b8f47c8a',1,'grpc_security_connector_to_arg(grpc_security_connector *sc): security_connector.c'],['../security__connector_8c.html#ab609527dad74bcc51e4b8b17b8f47c8a',1,'grpc_security_connector_to_arg(grpc_security_connector *sc): security_connector.c']]], + ['grpc_5fsecurity_5fconnector_5funref',['grpc_security_connector_unref',['../security__connector_8h.html#a9b6de27f6cdaa1aefddca2679545ee5e',1,'grpc_security_connector_unref(grpc_security_connector *policy): security_connector.c'],['../security__connector_8c.html#a8a5781bf75358deab0cb2259c6be6359',1,'grpc_security_connector_unref(grpc_security_connector *sc): security_connector.c']]], + ['grpc_5fsecurity_5fpre_5finit',['grpc_security_pre_init',['../init_8h.html#a7cfa0e02a966bf937b5d69e10fad2ef7',1,'grpc_security_pre_init(void): init_secure.c'],['../init__secure_8c.html#a7cfa0e02a966bf937b5d69e10fad2ef7',1,'grpc_security_pre_init(void): init_secure.c']]], + ['grpc_5fserver_5fadd_5fhttp2_5fport',['grpc_server_add_http2_port',['../grpc_8h.html#a48cab64480658b97a775b2c7837456f9',1,'grpc_server_add_http2_port(grpc_server *server, const char *addr): server_chttp2.c'],['../server__chttp2_8c.html#a48cab64480658b97a775b2c7837456f9',1,'grpc_server_add_http2_port(grpc_server *server, const char *addr): server_chttp2.c']]], + ['grpc_5fserver_5fadd_5flistener',['grpc_server_add_listener',['../server_8h.html#afba4e38403fa34a317c44de9bae41105',1,'grpc_server_add_listener(grpc_server *server, void *listener, void(*start)(grpc_server *server, void *arg, grpc_pollset **pollsets, size_t npollsets), void(*destroy)(grpc_server *server, void *arg)): server.h'],['../server_8c.html#a777b461e0fd2a56acd35caf54f3d88e6',1,'grpc_server_add_listener(grpc_server *server, void *arg, void(*start)(grpc_server *server, void *arg, grpc_pollset **pollsets, size_t pollset_count), void(*destroy)(grpc_server *server, void *arg)): server.c']]], + ['grpc_5fserver_5fadd_5fsecure_5fhttp2_5fport',['grpc_server_add_secure_http2_port',['../grpc__security_8h.html#a5d0db200d00b62b79138472dc9b1fe59',1,'grpc_server_add_secure_http2_port(grpc_server *server, const char *addr, grpc_server_credentials *creds): server_secure_chttp2.c'],['../server__secure__chttp2_8c.html#a5d0db200d00b62b79138472dc9b1fe59',1,'grpc_server_add_secure_http2_port(grpc_server *server, const char *addr, grpc_server_credentials *creds): server_secure_chttp2.c']]], + ['grpc_5fserver_5fcancel_5fall_5fcalls',['grpc_server_cancel_all_calls',['../grpc_8h.html#ac5c1e4f3e270a7afbc39403fff0dc803',1,'grpc_server_cancel_all_calls(grpc_server *server): server.c'],['../server_8c.html#ac5c1e4f3e270a7afbc39403fff0dc803',1,'grpc_server_cancel_all_calls(grpc_server *server): server.c']]], + ['grpc_5fserver_5fcreate',['grpc_server_create',['../grpc_8h.html#a4036710ea12eccabbbbf050d6bad4cd4',1,'grpc_server_create(const grpc_channel_args *args): server_create.c'],['../server__create_8c.html#a4036710ea12eccabbbbf050d6bad4cd4',1,'grpc_server_create(const grpc_channel_args *args): server_create.c']]], + ['grpc_5fserver_5fcreate_5ffrom_5ffilters',['grpc_server_create_from_filters',['../server_8h.html#a870e9abac807e8ba2578df7d9526f8c0',1,'grpc_server_create_from_filters(const grpc_channel_filter **filters, size_t filter_count, const grpc_channel_args *args): server.c'],['../server_8c.html#a870e9abac807e8ba2578df7d9526f8c0',1,'grpc_server_create_from_filters(const grpc_channel_filter **filters, size_t filter_count, const grpc_channel_args *args): server.c']]], + ['grpc_5fserver_5fcredentials_5fcreate_5fsecurity_5fconnector',['grpc_server_credentials_create_security_connector',['../credentials_8h.html#acc8fc30e87ddec6ff87dd6676215755a',1,'grpc_server_credentials_create_security_connector(grpc_server_credentials *creds, grpc_security_connector **sc): credentials.c'],['../credentials_8c.html#acc8fc30e87ddec6ff87dd6676215755a',1,'grpc_server_credentials_create_security_connector(grpc_server_credentials *creds, grpc_security_connector **sc): credentials.c']]], + ['grpc_5fserver_5fcredentials_5frelease',['grpc_server_credentials_release',['../grpc__security_8h.html#a6e9f9320f4f8d2d534d04ed642f032ea',1,'grpc_server_credentials_release(grpc_server_credentials *creds): credentials.c'],['../credentials_8c.html#a6e9f9320f4f8d2d534d04ed642f032ea',1,'grpc_server_credentials_release(grpc_server_credentials *creds): credentials.c']]], + ['grpc_5fserver_5fdestroy',['grpc_server_destroy',['../grpc_8h.html#a34cba45da7c32a21ac82305d670e4620',1,'grpc_server_destroy(grpc_server *server): server.c'],['../server_8c.html#a34cba45da7c32a21ac82305d670e4620',1,'grpc_server_destroy(grpc_server *server): server.c']]], + ['grpc_5fserver_5fget_5fchannel_5fargs',['grpc_server_get_channel_args',['../server_8h.html#a263c42634aa706458d691565943c6cae',1,'grpc_server_get_channel_args(grpc_server *server): server.c'],['../server_8c.html#a263c42634aa706458d691565943c6cae',1,'grpc_server_get_channel_args(grpc_server *server): server.c']]], + ['grpc_5fserver_5fhas_5fopen_5fconnections',['grpc_server_has_open_connections',['../server_8h.html#a28a4697b500cd4867a9f6731c8e58a94',1,'grpc_server_has_open_connections(grpc_server *server): server.c'],['../server_8c.html#a28a4697b500cd4867a9f6731c8e58a94',1,'grpc_server_has_open_connections(grpc_server *server): server.c']]], + ['grpc_5fserver_5flistener_5fdestroy_5fdone',['grpc_server_listener_destroy_done',['../server_8h.html#a2260ab5adc7a935225c70f47fbb6a0a9',1,'grpc_server_listener_destroy_done(void *server): server.c'],['../server_8c.html#a57b25ccc5ec64affd1ade91554a81092',1,'grpc_server_listener_destroy_done(void *s): server.c']]], + ['grpc_5fserver_5flog_5frequest_5fcall',['grpc_server_log_request_call',['../call_8h.html#a731e08efd7f3cab089d2239f0ed931d5',1,'grpc_server_log_request_call(char *file, int line, gpr_log_severity severity, grpc_server *server, grpc_call **call, grpc_call_details *details, grpc_metadata_array *initial_metadata, grpc_completion_queue *cq_bound_to_call, grpc_completion_queue *cq_for_notification, void *tag): call_log_batch.c'],['../call__log__batch_8c.html#a731e08efd7f3cab089d2239f0ed931d5',1,'grpc_server_log_request_call(char *file, int line, gpr_log_severity severity, grpc_server *server, grpc_call **call, grpc_call_details *details, grpc_metadata_array *initial_metadata, grpc_completion_queue *cq_bound_to_call, grpc_completion_queue *cq_for_notification, void *tag): call_log_batch.c']]], + ['grpc_5fserver_5flog_5fshutdown',['grpc_server_log_shutdown',['../call_8h.html#a0e7c36965ffbb52c576b6b0bf819ab89',1,'grpc_server_log_shutdown(char *file, int line, gpr_log_severity severity, grpc_server *server, grpc_completion_queue *cq, void *tag): call_log_batch.c'],['../call__log__batch_8c.html#a0e7c36965ffbb52c576b6b0bf819ab89',1,'grpc_server_log_shutdown(char *file, int line, gpr_log_severity severity, grpc_server *server, grpc_completion_queue *cq, void *tag): call_log_batch.c']]], + ['grpc_5fserver_5fregister_5fcompletion_5fqueue',['grpc_server_register_completion_queue',['../grpc_8h.html#ac174712f87fdae4b5757a1370e2a31cb',1,'grpc_server_register_completion_queue(grpc_server *server, grpc_completion_queue *cq): server.c'],['../server_8c.html#ac174712f87fdae4b5757a1370e2a31cb',1,'grpc_server_register_completion_queue(grpc_server *server, grpc_completion_queue *cq): server.c']]], + ['grpc_5fserver_5fregister_5fmethod',['grpc_server_register_method',['../grpc_8h.html#a283062a2209f464f234b0e645c6fffb2',1,'grpc_server_register_method(grpc_server *server, const char *method, const char *host): server.c'],['../server_8c.html#a283062a2209f464f234b0e645c6fffb2',1,'grpc_server_register_method(grpc_server *server, const char *method, const char *host): server.c']]], + ['grpc_5fserver_5frequest_5fcall',['grpc_server_request_call',['../grpc_8h.html#a636d8fd8c888ba0a0fefacf8dcab7257',1,'grpc_server_request_call(grpc_server *server, grpc_call **call, grpc_call_details *details, grpc_metadata_array *request_metadata, grpc_completion_queue *cq_bound_to_call, grpc_completion_queue *cq_for_notification, void *tag_new): server.c'],['../server_8c.html#a419670c3509bc3c67c1344be3a1c4dbf',1,'grpc_server_request_call(grpc_server *server, grpc_call **call, grpc_call_details *details, grpc_metadata_array *initial_metadata, grpc_completion_queue *cq_bound_to_call, grpc_completion_queue *cq_for_notification, void *tag): server.c']]], + ['grpc_5fserver_5frequest_5fregistered_5fcall',['grpc_server_request_registered_call',['../grpc_8h.html#a7207900db3bba2f1ae2e3f2dfc2822de',1,'grpc_server_request_registered_call(grpc_server *server, void *registered_method, grpc_call **call, gpr_timespec *deadline, grpc_metadata_array *request_metadata, grpc_byte_buffer **optional_payload, grpc_completion_queue *cq_bound_to_call, grpc_completion_queue *cq_for_notification, void *tag_new): server.c'],['../server_8c.html#a82bc2345fb113c461e255364d8d192b5',1,'grpc_server_request_registered_call(grpc_server *server, void *rm, grpc_call **call, gpr_timespec *deadline, grpc_metadata_array *initial_metadata, grpc_byte_buffer **optional_payload, grpc_completion_queue *cq_bound_to_call, grpc_completion_queue *cq_for_notification, void *tag): server.c']]], + ['grpc_5fserver_5fsecurity_5fcontext_5fcreate',['grpc_server_security_context_create',['../security__context_8h.html#afa8c88dfb1be5add6af3143eeb76460a',1,'grpc_server_security_context_create(void): security_context.c'],['../security__context_8c.html#afa8c88dfb1be5add6af3143eeb76460a',1,'grpc_server_security_context_create(void): security_context.c']]], + ['grpc_5fserver_5fsecurity_5fcontext_5fdestroy',['grpc_server_security_context_destroy',['../security__context_8h.html#a86caf02cd607c3ff6f1e6657ffa5c17a',1,'grpc_server_security_context_destroy(void *ctx): security_context.c'],['../security__context_8c.html#a86caf02cd607c3ff6f1e6657ffa5c17a',1,'grpc_server_security_context_destroy(void *ctx): security_context.c']]], + ['grpc_5fserver_5fsetup_5ftransport',['grpc_server_setup_transport',['../server_8h.html#a5162441dfea5a2fa92bc38896bfb45fc',1,'grpc_server_setup_transport(grpc_server *server, grpc_transport *transport, grpc_channel_filter const **extra_filters, size_t num_extra_filters, grpc_mdctx *mdctx, const grpc_channel_args *args): server.c'],['../server_8c.html#a26fd88680fa7949f4af879acdc249d8d',1,'grpc_server_setup_transport(grpc_server *s, grpc_transport *transport, grpc_channel_filter const **extra_filters, size_t num_extra_filters, grpc_mdctx *mdctx, const grpc_channel_args *args): server.c']]], + ['grpc_5fserver_5fshutdown_5fand_5fnotify',['grpc_server_shutdown_and_notify',['../grpc_8h.html#a56fffa23c1c4bab9a469e2ac607b6db7',1,'grpc_server_shutdown_and_notify(grpc_server *server, grpc_completion_queue *cq, void *tag): server.c'],['../server_8c.html#a56fffa23c1c4bab9a469e2ac607b6db7',1,'grpc_server_shutdown_and_notify(grpc_server *server, grpc_completion_queue *cq, void *tag): server.c']]], + ['grpc_5fserver_5fstart',['grpc_server_start',['../grpc_8h.html#ac5010d26419e14f5a9ab2fa86a4f7d1e',1,'grpc_server_start(grpc_server *server): server.c'],['../server_8c.html#ac5010d26419e14f5a9ab2fa86a4f7d1e',1,'grpc_server_start(grpc_server *server): server.c']]], + ['grpc_5fservice_5faccount_5fcredentials_5fcreate',['grpc_service_account_credentials_create',['../grpc__security_8h.html#a15aa83608fad085b6244de659d322b27',1,'grpc_service_account_credentials_create(const char *json_key, const char *scope, gpr_timespec token_lifetime): credentials.c'],['../credentials_8c.html#a15aa83608fad085b6244de659d322b27',1,'grpc_service_account_credentials_create(const char *json_key, const char *scope, gpr_timespec token_lifetime): credentials.c']]], + ['grpc_5fservice_5faccount_5fjwt_5faccess_5fcredentials_5fcreate',['grpc_service_account_jwt_access_credentials_create',['../grpc__security_8h.html#af26993774cc991debd61e4a84ed49187',1,'grpc_service_account_jwt_access_credentials_create(const char *json_key, gpr_timespec token_lifetime): credentials.c'],['../credentials_8c.html#af26993774cc991debd61e4a84ed49187',1,'grpc_service_account_jwt_access_credentials_create(const char *json_key, gpr_timespec token_lifetime): credentials.c']]], + ['grpc_5fservice_5faccount_5fjwt_5faccess_5fcredentials_5fcreate_5ffrom_5fauth_5fjson_5fkey',['grpc_service_account_jwt_access_credentials_create_from_auth_json_key',['../credentials_8h.html#a26715660e319377bdfc4f2476ff35505',1,'grpc_service_account_jwt_access_credentials_create_from_auth_json_key(grpc_auth_json_key key, gpr_timespec token_lifetime): credentials.c'],['../credentials_8c.html#a26715660e319377bdfc4f2476ff35505',1,'grpc_service_account_jwt_access_credentials_create_from_auth_json_key(grpc_auth_json_key key, gpr_timespec token_lifetime): credentials.c']]], + ['grpc_5fset_5fsocket_5fcloexec',['grpc_set_socket_cloexec',['../socket__utils__posix_8h.html#af2c563af7608d53fa639f9ed9c5f1027',1,'socket_utils_posix.h']]], + ['grpc_5fset_5fsocket_5flow_5flatency',['grpc_set_socket_low_latency',['../socket__utils__posix_8h.html#a4a66ec0552261b5c623b2e7b718fba00',1,'socket_utils_posix.h']]], + ['grpc_5fset_5fsocket_5fno_5fsigpipe_5fif_5fpossible',['grpc_set_socket_no_sigpipe_if_possible',['../socket__utils__posix_8h.html#a520ffc5e1545446aea9653814d6c0581',1,'socket_utils_posix.h']]], + ['grpc_5fset_5fsocket_5fnonblocking',['grpc_set_socket_nonblocking',['../socket__utils__posix_8h.html#a8f191a668efd979070217eb455a399d5',1,'socket_utils_posix.h']]], + ['grpc_5fset_5fsocket_5freuse_5faddr',['grpc_set_socket_reuse_addr',['../socket__utils__posix_8h.html#afe2ba4baab80f7f0b1aea9bd8718ac79',1,'socket_utils_posix.h']]], + ['grpc_5fsetup_5fsecure_5ftransport',['grpc_setup_secure_transport',['../secure__transport__setup_8h.html#abf337cd72839248e089c1646f8fa7bc8',1,'grpc_setup_secure_transport(grpc_security_connector *connector, grpc_endpoint *nonsecure_endpoint, grpc_secure_transport_setup_done_cb cb, void *user_data): secure_transport_setup.c'],['../secure__transport__setup_8c.html#abf337cd72839248e089c1646f8fa7bc8',1,'grpc_setup_secure_transport(grpc_security_connector *connector, grpc_endpoint *nonsecure_endpoint, grpc_secure_transport_setup_done_cb cb, void *user_data): secure_transport_setup.c']]], + ['grpc_5fshutdown',['grpc_shutdown',['../grpc_8h.html#af1130720e50ffedd0bb065c84843b032',1,'grpc_shutdown(void): init.c'],['../init_8c.html#af1130720e50ffedd0bb065c84843b032',1,'grpc_shutdown(void): init.c']]], + ['grpc_5fsockaddr_5fget_5fport',['grpc_sockaddr_get_port',['../sockaddr__utils_8h.html#a9b9c605d240e9358a23f29c4cf07b1da',1,'grpc_sockaddr_get_port(const struct sockaddr *addr): sockaddr_utils.c'],['../sockaddr__utils_8c.html#a9b9c605d240e9358a23f29c4cf07b1da',1,'grpc_sockaddr_get_port(const struct sockaddr *addr): sockaddr_utils.c']]], + ['grpc_5fsockaddr_5fis_5fv4mapped',['grpc_sockaddr_is_v4mapped',['../sockaddr__utils_8h.html#a97d452690214de3809f667f95dda80ce',1,'grpc_sockaddr_is_v4mapped(const struct sockaddr *addr, struct sockaddr_in *addr4_out): sockaddr_utils.c'],['../sockaddr__utils_8c.html#a97d452690214de3809f667f95dda80ce',1,'grpc_sockaddr_is_v4mapped(const struct sockaddr *addr, struct sockaddr_in *addr4_out): sockaddr_utils.c']]], + ['grpc_5fsockaddr_5fis_5fwildcard',['grpc_sockaddr_is_wildcard',['../sockaddr__utils_8h.html#aed4ad468c36fc0a4531025c5fa2185a2',1,'grpc_sockaddr_is_wildcard(const struct sockaddr *addr, int *port_out): sockaddr_utils.c'],['../sockaddr__utils_8c.html#aed4ad468c36fc0a4531025c5fa2185a2',1,'grpc_sockaddr_is_wildcard(const struct sockaddr *addr, int *port_out): sockaddr_utils.c']]], + ['grpc_5fsockaddr_5fmake_5fwildcard4',['grpc_sockaddr_make_wildcard4',['../sockaddr__utils_8h.html#a89be072619a282936b8c1f99c5af254e',1,'grpc_sockaddr_make_wildcard4(int port, struct sockaddr_in *wild_out): sockaddr_utils.c'],['../sockaddr__utils_8c.html#a89be072619a282936b8c1f99c5af254e',1,'grpc_sockaddr_make_wildcard4(int port, struct sockaddr_in *wild_out): sockaddr_utils.c']]], + ['grpc_5fsockaddr_5fmake_5fwildcard6',['grpc_sockaddr_make_wildcard6',['../sockaddr__utils_8h.html#a1a8a1c666324ed6d23077a0dd77bd2b8',1,'grpc_sockaddr_make_wildcard6(int port, struct sockaddr_in6 *wild_out): sockaddr_utils.c'],['../sockaddr__utils_8c.html#a1a8a1c666324ed6d23077a0dd77bd2b8',1,'grpc_sockaddr_make_wildcard6(int port, struct sockaddr_in6 *wild_out): sockaddr_utils.c']]], + ['grpc_5fsockaddr_5fmake_5fwildcards',['grpc_sockaddr_make_wildcards',['../sockaddr__utils_8h.html#a3cb44f54c6743ff32dc31147ca6a6721',1,'grpc_sockaddr_make_wildcards(int port, struct sockaddr_in *wild4_out, struct sockaddr_in6 *wild6_out): sockaddr_utils.c'],['../sockaddr__utils_8c.html#a3cb44f54c6743ff32dc31147ca6a6721',1,'grpc_sockaddr_make_wildcards(int port, struct sockaddr_in *wild4_out, struct sockaddr_in6 *wild6_out): sockaddr_utils.c']]], + ['grpc_5fsockaddr_5fset_5fport',['grpc_sockaddr_set_port',['../sockaddr__utils_8h.html#ad73cd02c052e82778b7df5378ded462d',1,'grpc_sockaddr_set_port(const struct sockaddr *addr, int port): sockaddr_utils.c'],['../sockaddr__utils_8c.html#ad73cd02c052e82778b7df5378ded462d',1,'grpc_sockaddr_set_port(const struct sockaddr *addr, int port): sockaddr_utils.c']]], + ['grpc_5fsockaddr_5fto_5fstring',['grpc_sockaddr_to_string',['../sockaddr__utils_8h.html#a400a51bd46384a6e0b28136274765464',1,'grpc_sockaddr_to_string(char **out, const struct sockaddr *addr, int normalize): sockaddr_utils.c'],['../sockaddr__utils_8c.html#a400a51bd46384a6e0b28136274765464',1,'grpc_sockaddr_to_string(char **out, const struct sockaddr *addr, int normalize): sockaddr_utils.c']]], + ['grpc_5fsockaddr_5fto_5furi',['grpc_sockaddr_to_uri',['../sockaddr__utils_8h.html#a8545a440d2d91365d75ed87720891a91',1,'grpc_sockaddr_to_uri(const struct sockaddr *addr): sockaddr_utils.c'],['../sockaddr__utils_8c.html#a8545a440d2d91365d75ed87720891a91',1,'grpc_sockaddr_to_uri(const struct sockaddr *addr): sockaddr_utils.c']]], + ['grpc_5fsockaddr_5fto_5fv4mapped',['grpc_sockaddr_to_v4mapped',['../sockaddr__utils_8h.html#a606efe4550fb7947fb36ff6a0231ac79',1,'grpc_sockaddr_to_v4mapped(const struct sockaddr *addr, struct sockaddr_in6 *addr6_out): sockaddr_utils.c'],['../sockaddr__utils_8c.html#a606efe4550fb7947fb36ff6a0231ac79',1,'grpc_sockaddr_to_v4mapped(const struct sockaddr *addr, struct sockaddr_in6 *addr6_out): sockaddr_utils.c']]], + ['grpc_5fsocket_5fnotify_5fon_5fread',['grpc_socket_notify_on_read',['../iocp__windows_8h.html#a08d522cb6d04a6f5895fae78fd645e00',1,'iocp_windows.h']]], + ['grpc_5fsocket_5fnotify_5fon_5fwrite',['grpc_socket_notify_on_write',['../iocp__windows_8h.html#a4db8d3b4cc420a58c833e579a94bdd38',1,'iocp_windows.h']]], + ['grpc_5fsopb_5fadd_5fbegin_5fmessage',['grpc_sopb_add_begin_message',['../stream__op_8h.html#a6b1565cc1ec9aba1eef5c21318e088b9',1,'grpc_sopb_add_begin_message(grpc_stream_op_buffer *sopb, gpr_uint32 length, gpr_uint32 flags): stream_op.c'],['../stream__op_8c.html#a6b1565cc1ec9aba1eef5c21318e088b9',1,'grpc_sopb_add_begin_message(grpc_stream_op_buffer *sopb, gpr_uint32 length, gpr_uint32 flags): stream_op.c']]], + ['grpc_5fsopb_5fadd_5fmetadata',['grpc_sopb_add_metadata',['../stream__op_8h.html#a73441361d99158dbb24302cd0c8f4abb',1,'grpc_sopb_add_metadata(grpc_stream_op_buffer *sopb, grpc_metadata_batch metadata): stream_op.c'],['../stream__op_8c.html#aea2cbf38a752864f62dc8d2cdc58a50a',1,'grpc_sopb_add_metadata(grpc_stream_op_buffer *sopb, grpc_metadata_batch b): stream_op.c']]], + ['grpc_5fsopb_5fadd_5fno_5fop',['grpc_sopb_add_no_op',['../stream__op_8h.html#abe45d7a6778fc0e248e490dfb635d850',1,'grpc_sopb_add_no_op(grpc_stream_op_buffer *sopb): stream_op.c'],['../stream__op_8c.html#abe45d7a6778fc0e248e490dfb635d850',1,'grpc_sopb_add_no_op(grpc_stream_op_buffer *sopb): stream_op.c']]], + ['grpc_5fsopb_5fadd_5fslice',['grpc_sopb_add_slice',['../stream__op_8h.html#aa2a412545fb6bb4055f3437f1d261f69',1,'grpc_sopb_add_slice(grpc_stream_op_buffer *sopb, gpr_slice slice): stream_op.c'],['../stream__op_8c.html#aa2a412545fb6bb4055f3437f1d261f69',1,'grpc_sopb_add_slice(grpc_stream_op_buffer *sopb, gpr_slice slice): stream_op.c']]], + ['grpc_5fsopb_5fappend',['grpc_sopb_append',['../stream__op_8h.html#a55100e31b3cc23733ba42bb5e2f38818',1,'grpc_sopb_append(grpc_stream_op_buffer *sopb, grpc_stream_op *ops, size_t nops): stream_op.c'],['../stream__op_8c.html#a55100e31b3cc23733ba42bb5e2f38818',1,'grpc_sopb_append(grpc_stream_op_buffer *sopb, grpc_stream_op *ops, size_t nops): stream_op.c']]], + ['grpc_5fsopb_5fdestroy',['grpc_sopb_destroy',['../stream__op_8h.html#aef34bb8bc5d02c10304fa93de76604d1',1,'grpc_sopb_destroy(grpc_stream_op_buffer *sopb): stream_op.c'],['../stream__op_8c.html#aef34bb8bc5d02c10304fa93de76604d1',1,'grpc_sopb_destroy(grpc_stream_op_buffer *sopb): stream_op.c']]], + ['grpc_5fsopb_5finit',['grpc_sopb_init',['../stream__op_8h.html#ac06c5c016030ab760ce1c190ea9c0935',1,'grpc_sopb_init(grpc_stream_op_buffer *sopb): stream_op.c'],['../stream__op_8c.html#ac06c5c016030ab760ce1c190ea9c0935',1,'grpc_sopb_init(grpc_stream_op_buffer *sopb): stream_op.c']]], + ['grpc_5fsopb_5fmove_5fto',['grpc_sopb_move_to',['../stream__op_8h.html#abf812a361634fee304b636fccde7c934',1,'grpc_sopb_move_to(grpc_stream_op_buffer *src, grpc_stream_op_buffer *dst): stream_op.c'],['../stream__op_8c.html#abf812a361634fee304b636fccde7c934',1,'grpc_sopb_move_to(grpc_stream_op_buffer *src, grpc_stream_op_buffer *dst): stream_op.c']]], + ['grpc_5fsopb_5freset',['grpc_sopb_reset',['../stream__op_8h.html#a9ee9a1ac0aaa49250f4e6cbc78a88b8e',1,'grpc_sopb_reset(grpc_stream_op_buffer *sopb): stream_op.c'],['../stream__op_8c.html#a9ee9a1ac0aaa49250f4e6cbc78a88b8e',1,'grpc_sopb_reset(grpc_stream_op_buffer *sopb): stream_op.c']]], + ['grpc_5fsopb_5fstring',['grpc_sopb_string',['../stream__op_8h.html#a225a70176577da4097ecad0b8c647fee',1,'grpc_sopb_string(grpc_stream_op_buffer *sopb): transport_op_string.c'],['../transport__op__string_8c.html#a225a70176577da4097ecad0b8c647fee',1,'grpc_sopb_string(grpc_stream_op_buffer *sopb): transport_op_string.c']]], + ['grpc_5fsopb_5fswap',['grpc_sopb_swap',['../stream__op_8h.html#a2cb541de7ea2c0e11ab9bc199fd6eeeb',1,'grpc_sopb_swap(grpc_stream_op_buffer *a, grpc_stream_op_buffer *b): stream_op.c'],['../stream__op_8c.html#a2cb541de7ea2c0e11ab9bc199fd6eeeb',1,'grpc_sopb_swap(grpc_stream_op_buffer *a, grpc_stream_op_buffer *b): stream_op.c']]], + ['grpc_5fssl_5fchannel_5fsecurity_5fconnector_5fcreate',['grpc_ssl_channel_security_connector_create',['../security__connector_8h.html#a6db43510beb4d3953f572cbe203c164d',1,'grpc_ssl_channel_security_connector_create(grpc_credentials *request_metadata_creds, const grpc_ssl_config *config, const char *target_name, const char *overridden_target_name, grpc_channel_security_connector **sc): security_connector.c'],['../security__connector_8c.html#a6db43510beb4d3953f572cbe203c164d',1,'grpc_ssl_channel_security_connector_create(grpc_credentials *request_metadata_creds, const grpc_ssl_config *config, const char *target_name, const char *overridden_target_name, grpc_channel_security_connector **sc): security_connector.c']]], + ['grpc_5fssl_5fcredentials_5fcreate',['grpc_ssl_credentials_create',['../grpc__security_8h.html#a0d627ca897718091e4ceca5dce3ef10e',1,'grpc_ssl_credentials_create(const char *pem_root_certs, grpc_ssl_pem_key_cert_pair *pem_key_cert_pair): credentials.c'],['../credentials_8c.html#a0d627ca897718091e4ceca5dce3ef10e',1,'grpc_ssl_credentials_create(const char *pem_root_certs, grpc_ssl_pem_key_cert_pair *pem_key_cert_pair): credentials.c']]], + ['grpc_5fssl_5fserver_5fcredentials_5fcreate',['grpc_ssl_server_credentials_create',['../grpc__security_8h.html#a3382907a4689c034a6f55bab4d5135b9',1,'grpc_ssl_server_credentials_create(const char *pem_root_certs, grpc_ssl_pem_key_cert_pair *pem_key_cert_pairs, size_t num_key_cert_pairs, int force_client_auth): credentials.c'],['../credentials_8c.html#a3382907a4689c034a6f55bab4d5135b9',1,'grpc_ssl_server_credentials_create(const char *pem_root_certs, grpc_ssl_pem_key_cert_pair *pem_key_cert_pairs, size_t num_key_cert_pairs, int force_client_auth): credentials.c']]], + ['grpc_5fssl_5fserver_5fsecurity_5fconnector_5fcreate',['grpc_ssl_server_security_connector_create',['../security__connector_8h.html#af0fc288920d58432af4285ec56251248',1,'grpc_ssl_server_security_connector_create(const grpc_ssl_server_config *config, grpc_security_connector **sc): security_connector.c'],['../security__connector_8c.html#af0fc288920d58432af4285ec56251248',1,'grpc_ssl_server_security_connector_create(const grpc_ssl_server_config *config, grpc_security_connector **sc): security_connector.c']]], + ['grpc_5fstream_5fops_5funref_5fowned_5fobjects',['grpc_stream_ops_unref_owned_objects',['../stream__op_8h.html#af06b21376669ed6bf358f50a57e02d9d',1,'grpc_stream_ops_unref_owned_objects(grpc_stream_op *ops, size_t nops): stream_op.c'],['../stream__op_8c.html#af06b21376669ed6bf358f50a57e02d9d',1,'grpc_stream_ops_unref_owned_objects(grpc_stream_op *ops, size_t nops): stream_op.c']]], + ['grpc_5fsubchannel_5fadd_5finterested_5fparty',['grpc_subchannel_add_interested_party',['../subchannel_8h.html#aca094f578fdc81ffc9ec8ea80b9c5579',1,'grpc_subchannel_add_interested_party(grpc_subchannel *channel, grpc_pollset *pollset): subchannel.c'],['../subchannel_8c.html#ad64aa215ea81487204c6598b4f1572ae',1,'grpc_subchannel_add_interested_party(grpc_subchannel *c, grpc_pollset *pollset): subchannel.c']]], + ['grpc_5fsubchannel_5fcall_5fget_5fpeer',['grpc_subchannel_call_get_peer',['../subchannel_8h.html#ac07bb9b75d7587847d5792ed6ad7e616',1,'grpc_subchannel_call_get_peer(grpc_subchannel_call *subchannel_call): subchannel.c'],['../subchannel_8c.html#a552e894b75a9a67f00e4ae312a94cc00',1,'grpc_subchannel_call_get_peer(grpc_subchannel_call *call): subchannel.c']]], + ['grpc_5fsubchannel_5fcall_5fprocess_5fop',['grpc_subchannel_call_process_op',['../subchannel_8h.html#a30ba75352b07c1e77a4253585c03f1ad',1,'grpc_subchannel_call_process_op(grpc_subchannel_call *subchannel_call, grpc_transport_stream_op *op): subchannel.c'],['../subchannel_8c.html#a0128c4e7cd5939061ea02780e5fa33ae',1,'grpc_subchannel_call_process_op(grpc_subchannel_call *call, grpc_transport_stream_op *op): subchannel.c']]], + ['grpc_5fsubchannel_5fcall_5fref',['grpc_subchannel_call_ref',['../subchannel_8h.html#a1d1fd9b9b9d0759dec2c43b4d2697a93',1,'grpc_subchannel_call_ref(grpc_subchannel_call *call): subchannel.h'],['../subchannel_8c.html#abb8369d0ae5d3be4e25e9c300ef50067',1,'grpc_subchannel_call_ref(grpc_subchannel_call *c GRPC_SUBCHANNEL_REF_EXTRA_ARGS): subchannel.c']]], + ['grpc_5fsubchannel_5fcall_5funref',['grpc_subchannel_call_unref',['../subchannel_8h.html#a7eaea7934724bc8d7023eb3efe58fb53',1,'grpc_subchannel_call_unref(grpc_subchannel_call *call): subchannel.h'],['../subchannel_8c.html#a179d2915801ed037ca90a4de0f7ce060',1,'grpc_subchannel_call_unref(grpc_subchannel_call *c GRPC_SUBCHANNEL_REF_EXTRA_ARGS): subchannel.c']]], + ['grpc_5fsubchannel_5fcheck_5fconnectivity',['grpc_subchannel_check_connectivity',['../subchannel_8h.html#a4a2f6ba6b1204e3bf20af7fc5b68f709',1,'grpc_subchannel_check_connectivity(grpc_subchannel *channel): subchannel.c'],['../subchannel_8c.html#a92711f9b7c8df9415249685a9c91f2c9',1,'grpc_subchannel_check_connectivity(grpc_subchannel *c): subchannel.c']]], + ['grpc_5fsubchannel_5fcreate',['grpc_subchannel_create',['../subchannel_8h.html#a5220a721bb5ad91bffbddd12045efff8',1,'grpc_subchannel_create(grpc_connector *connector, grpc_subchannel_args *args): subchannel.c'],['../subchannel_8c.html#a5220a721bb5ad91bffbddd12045efff8',1,'grpc_subchannel_create(grpc_connector *connector, grpc_subchannel_args *args): subchannel.c']]], + ['grpc_5fsubchannel_5fcreate_5fcall',['grpc_subchannel_create_call',['../subchannel_8h.html#a54000749034854e53ac2b09ff563ea2d',1,'grpc_subchannel_create_call(grpc_subchannel *subchannel, grpc_pollset *pollset, grpc_subchannel_call **target, grpc_iomgr_closure *notify): subchannel.c'],['../subchannel_8c.html#aa6b5c676351c4f7f33b903549edab3b7',1,'grpc_subchannel_create_call(grpc_subchannel *c, grpc_pollset *pollset, grpc_subchannel_call **target, grpc_iomgr_closure *notify): subchannel.c']]], + ['grpc_5fsubchannel_5fdel_5finterested_5fparty',['grpc_subchannel_del_interested_party',['../subchannel_8h.html#aa8ea5c658e34de467db80c269231e676',1,'grpc_subchannel_del_interested_party(grpc_subchannel *channel, grpc_pollset *pollset): subchannel.c'],['../subchannel_8c.html#a72bfe59d8ad11465896034281729279b',1,'grpc_subchannel_del_interested_party(grpc_subchannel *c, grpc_pollset *pollset): subchannel.c']]], + ['grpc_5fsubchannel_5ffactory_5fadd_5fchannel_5farg',['grpc_subchannel_factory_add_channel_arg',['../add__channel__arg_8h.html#aec70a5daa15f33d18edc47ebc0270c34',1,'grpc_subchannel_factory_add_channel_arg(grpc_subchannel_factory *input, const grpc_arg *arg): add_channel_arg.c'],['../add__channel__arg_8c.html#aec70a5daa15f33d18edc47ebc0270c34',1,'grpc_subchannel_factory_add_channel_arg(grpc_subchannel_factory *input, const grpc_arg *arg): add_channel_arg.c']]], + ['grpc_5fsubchannel_5ffactory_5fcreate_5fsubchannel',['grpc_subchannel_factory_create_subchannel',['../subchannel__factory_8h.html#a50ecfa3c06af1f867684d3c238cedf20',1,'grpc_subchannel_factory_create_subchannel(grpc_subchannel_factory *factory, grpc_subchannel_args *args): subchannel_factory.c'],['../subchannel__factory_8c.html#a50ecfa3c06af1f867684d3c238cedf20',1,'grpc_subchannel_factory_create_subchannel(grpc_subchannel_factory *factory, grpc_subchannel_args *args): subchannel_factory.c']]], + ['grpc_5fsubchannel_5ffactory_5fmerge_5fchannel_5fargs',['grpc_subchannel_factory_merge_channel_args',['../merge__channel__args_8h.html#a4dc574355128feee36ad9500f9ae8cc0',1,'grpc_subchannel_factory_merge_channel_args(grpc_subchannel_factory *input, const grpc_channel_args *args): merge_channel_args.c'],['../merge__channel__args_8c.html#a4dc574355128feee36ad9500f9ae8cc0',1,'grpc_subchannel_factory_merge_channel_args(grpc_subchannel_factory *input, const grpc_channel_args *args): merge_channel_args.c']]], + ['grpc_5fsubchannel_5ffactory_5fref',['grpc_subchannel_factory_ref',['../subchannel__factory_8h.html#a6486ef54aa6fe37d4fe5b7c53aed9a84',1,'grpc_subchannel_factory_ref(grpc_subchannel_factory *factory): subchannel_factory.c'],['../subchannel__factory_8c.html#a6486ef54aa6fe37d4fe5b7c53aed9a84',1,'grpc_subchannel_factory_ref(grpc_subchannel_factory *factory): subchannel_factory.c']]], + ['grpc_5fsubchannel_5ffactory_5funref',['grpc_subchannel_factory_unref',['../subchannel__factory_8h.html#ac502341f23676007c8ccd5338f942e82',1,'grpc_subchannel_factory_unref(grpc_subchannel_factory *factory): subchannel_factory.c'],['../subchannel__factory_8c.html#ac502341f23676007c8ccd5338f942e82',1,'grpc_subchannel_factory_unref(grpc_subchannel_factory *factory): subchannel_factory.c']]], + ['grpc_5fsubchannel_5fnotify_5fon_5fstate_5fchange',['grpc_subchannel_notify_on_state_change',['../subchannel_8h.html#abb2ba4bcf7187525c26d3cc25a3a3776',1,'grpc_subchannel_notify_on_state_change(grpc_subchannel *channel, grpc_connectivity_state *state, grpc_iomgr_closure *notify): subchannel.c'],['../subchannel_8c.html#ac2e59a5c3a44ba0827b27ccba866389b',1,'grpc_subchannel_notify_on_state_change(grpc_subchannel *c, grpc_connectivity_state *state, grpc_iomgr_closure *notify): subchannel.c']]], + ['grpc_5fsubchannel_5fprocess_5ftransport_5fop',['grpc_subchannel_process_transport_op',['../subchannel_8h.html#ad24914ea93274b1494a42420e853e4e1',1,'grpc_subchannel_process_transport_op(grpc_subchannel *subchannel, grpc_transport_op *op): subchannel.c'],['../subchannel_8c.html#a9b95251da4779ae913c33f380a1c33c4',1,'grpc_subchannel_process_transport_op(grpc_subchannel *c, grpc_transport_op *op): subchannel.c']]], + ['grpc_5fsubchannel_5fref',['grpc_subchannel_ref',['../subchannel_8h.html#a3d6c37ca330ab08c065c1210b67f94e4',1,'grpc_subchannel_ref(grpc_subchannel *channel): subchannel.h'],['../subchannel_8c.html#a5c7cfbbc599fe46465b5f0c9952af323',1,'grpc_subchannel_ref(grpc_subchannel *c GRPC_SUBCHANNEL_REF_EXTRA_ARGS): subchannel.c']]], + ['grpc_5fsubchannel_5funref',['grpc_subchannel_unref',['../subchannel_8h.html#af61898f3a0ac79fa0c64d6dcbe32ff59',1,'grpc_subchannel_unref(grpc_subchannel *channel): subchannel.h'],['../subchannel_8c.html#a0afd3a137c42f46e285b7c7d0b7b657f',1,'grpc_subchannel_unref(grpc_subchannel *c GRPC_SUBCHANNEL_REF_EXTRA_ARGS): subchannel.c']]], + ['grpc_5ftcp_5fclient_5fconnect',['grpc_tcp_client_connect',['../tcp__client_8h.html#a086207583509b040c4fff779333468cd',1,'tcp_client.h']]], + ['grpc_5ftcp_5fcreate',['grpc_tcp_create',['../tcp__posix_8h.html#aeb6bcf2634d72073806a1e6ab12bbc05',1,'grpc_tcp_create(grpc_fd *fd, size_t read_slice_size, const char *peer_string): tcp_posix.h'],['../tcp__windows_8h.html#a206a5b2cbaacb2b87bdf38c709714483',1,'grpc_tcp_create(grpc_winsocket *socket, char *peer_string): tcp_windows.h']]], + ['grpc_5ftcp_5fprepare_5fsocket',['grpc_tcp_prepare_socket',['../tcp__windows_8h.html#a7b565022a9a4f019af40826e4937546c',1,'tcp_windows.h']]], + ['grpc_5ftcp_5fserver_5fadd_5fport',['grpc_tcp_server_add_port',['../tcp__server_8h.html#a59a2b20ad1fc958839512edd26a598ae',1,'tcp_server.h']]], + ['grpc_5ftcp_5fserver_5fcreate',['grpc_tcp_server_create',['../tcp__server_8h.html#a9acd9c36ef686dd76283b1a92954aff0',1,'tcp_server.h']]], + ['grpc_5ftcp_5fserver_5fdestroy',['grpc_tcp_server_destroy',['../tcp__server_8h.html#a4c674f461e0b92ebd6bb358eac04b772',1,'tcp_server.h']]], + ['grpc_5ftcp_5fserver_5fget_5ffd',['grpc_tcp_server_get_fd',['../tcp__server_8h.html#afd39e961ac244633e016980551ac7ed3',1,'tcp_server.h']]], + ['grpc_5ftcp_5fserver_5fstart',['grpc_tcp_server_start',['../tcp__server_8h.html#a552695c278adc52ba5433da5c57d5bd7',1,'tcp_server.h']]], + ['grpc_5ftime_5faveraged_5fstats_5fadd_5fsample',['grpc_time_averaged_stats_add_sample',['../time__averaged__stats_8h.html#a3fc252070ff8ec7010c74774a042e54d',1,'grpc_time_averaged_stats_add_sample(grpc_time_averaged_stats *stats, double value): time_averaged_stats.c'],['../time__averaged__stats_8c.html#a3fc252070ff8ec7010c74774a042e54d',1,'grpc_time_averaged_stats_add_sample(grpc_time_averaged_stats *stats, double value): time_averaged_stats.c']]], + ['grpc_5ftime_5faveraged_5fstats_5finit',['grpc_time_averaged_stats_init',['../time__averaged__stats_8h.html#a9b6a0cb59dc0a3c179ae425525dcb4eb',1,'grpc_time_averaged_stats_init(grpc_time_averaged_stats *stats, double init_avg, double regress_weight, double persistence_factor): time_averaged_stats.c'],['../time__averaged__stats_8c.html#a9b6a0cb59dc0a3c179ae425525dcb4eb',1,'grpc_time_averaged_stats_init(grpc_time_averaged_stats *stats, double init_avg, double regress_weight, double persistence_factor): time_averaged_stats.c']]], + ['grpc_5ftime_5faveraged_5fstats_5fupdate_5faverage',['grpc_time_averaged_stats_update_average',['../time__averaged__stats_8h.html#a811009e64ef5f5b88021d5aa08ceaf26',1,'grpc_time_averaged_stats_update_average(grpc_time_averaged_stats *stats): time_averaged_stats.c'],['../time__averaged__stats_8c.html#a811009e64ef5f5b88021d5aa08ceaf26',1,'grpc_time_averaged_stats_update_average(grpc_time_averaged_stats *stats): time_averaged_stats.c']]], + ['grpc_5ftimer_5fadd_5fimportant_5fmark',['grpc_timer_add_important_mark',['../timers_8h.html#a86328e7d7fe3e9b15f5c9c3103f6f744',1,'timers.h']]], + ['grpc_5ftimer_5fadd_5fmark',['grpc_timer_add_mark',['../timers_8h.html#aeb9267f15f0db10c892ff52f8a5af746',1,'timers.h']]], + ['grpc_5ftimer_5fbegin',['grpc_timer_begin',['../timers_8h.html#a9ad8a62da486b38462306e41127231ea',1,'timers.h']]], + ['grpc_5ftimer_5fend',['grpc_timer_end',['../timers_8h.html#a810b9be124a21ed5c4066f2e74112e74',1,'timers.h']]], + ['grpc_5ftimers_5fglobal_5fdestroy',['grpc_timers_global_destroy',['../timers_8h.html#a3464d3fdd0cc9ab2543195d5ee3fec13',1,'grpc_timers_global_destroy(void): basic_timers.c'],['../basic__timers_8c.html#a3464d3fdd0cc9ab2543195d5ee3fec13',1,'grpc_timers_global_destroy(void): basic_timers.c']]], + ['grpc_5ftimers_5fglobal_5finit',['grpc_timers_global_init',['../timers_8h.html#ac34b4d619b9ed067e02e037b21a6feac',1,'grpc_timers_global_init(void): basic_timers.c'],['../basic__timers_8c.html#ac34b4d619b9ed067e02e037b21a6feac',1,'grpc_timers_global_init(void): basic_timers.c']]], + ['grpc_5ftracer_5finit',['grpc_tracer_init',['../trace_8h.html#a8cd8af9cbe35acc74eac3a19db0ef2e2',1,'grpc_tracer_init(const char *env_var_name): trace.c'],['../trace_8c.html#a6875f9ce4490e731d36e872ab1b7d580',1,'grpc_tracer_init(const char *env_var): trace.c']]], + ['grpc_5ftracer_5fset_5fenabled',['grpc_tracer_set_enabled',['../grpc_8h.html#ae6984d3f0c3b9bc9a47859fd4dddc350',1,'grpc_tracer_set_enabled(const char *name, int enabled): trace.c'],['../trace_8c.html#ae6984d3f0c3b9bc9a47859fd4dddc350',1,'grpc_tracer_set_enabled(const char *name, int enabled): trace.c']]], + ['grpc_5ftracer_5fshutdown',['grpc_tracer_shutdown',['../trace_8h.html#ad5ced3b2457db3a480e13e6e268543d2',1,'grpc_tracer_shutdown(void): trace.c'],['../trace_8c.html#ad5ced3b2457db3a480e13e6e268543d2',1,'grpc_tracer_shutdown(void): trace.c']]], + ['grpc_5ftransport_5fclose',['grpc_transport_close',['../transport_8h.html#a55b3f0b2d31060a902aa7517cecc704e',1,'transport.h']]], + ['grpc_5ftransport_5fdestroy',['grpc_transport_destroy',['../transport_8h.html#adb3ef83552276a5161ff6733f8455ae1',1,'grpc_transport_destroy(grpc_transport *transport): transport.c'],['../transport_8c.html#adb3ef83552276a5161ff6733f8455ae1',1,'grpc_transport_destroy(grpc_transport *transport): transport.c']]], + ['grpc_5ftransport_5fdestroy_5fstream',['grpc_transport_destroy_stream',['../transport_8h.html#a21223037b0bc6a92a9e058e20be1b0af',1,'grpc_transport_destroy_stream(grpc_transport *transport, grpc_stream *stream): transport.c'],['../transport_8c.html#a21223037b0bc6a92a9e058e20be1b0af',1,'grpc_transport_destroy_stream(grpc_transport *transport, grpc_stream *stream): transport.c']]], + ['grpc_5ftransport_5fget_5fpeer',['grpc_transport_get_peer',['../transport_8h.html#ac32bf69379cb94e6f951a4ec45a6157e',1,'grpc_transport_get_peer(grpc_transport *transport): transport.c'],['../transport_8c.html#ac32bf69379cb94e6f951a4ec45a6157e',1,'grpc_transport_get_peer(grpc_transport *transport): transport.c']]], + ['grpc_5ftransport_5fgoaway',['grpc_transport_goaway',['../transport_8h.html#aea30a551f2d7a27edd9ddc9441523818',1,'transport.h']]], + ['grpc_5ftransport_5finit_5fstream',['grpc_transport_init_stream',['../transport_8h.html#aba013c9e53a24f223283fc78cb6ca6cc',1,'grpc_transport_init_stream(grpc_transport *transport, grpc_stream *stream, const void *server_data, grpc_transport_stream_op *initial_op): transport.c'],['../transport_8c.html#aba013c9e53a24f223283fc78cb6ca6cc',1,'grpc_transport_init_stream(grpc_transport *transport, grpc_stream *stream, const void *server_data, grpc_transport_stream_op *initial_op): transport.c']]], + ['grpc_5ftransport_5fperform_5fop',['grpc_transport_perform_op',['../transport_8h.html#ae52662de3568a1d961e60e83d28e2dc3',1,'grpc_transport_perform_op(grpc_transport *transport, grpc_transport_op *op): transport.c'],['../transport_8c.html#ae52662de3568a1d961e60e83d28e2dc3',1,'grpc_transport_perform_op(grpc_transport *transport, grpc_transport_op *op): transport.c']]], + ['grpc_5ftransport_5fperform_5fstream_5fop',['grpc_transport_perform_stream_op',['../transport_8h.html#a81c2ae26b7109481d4538b48c15d5b1b',1,'grpc_transport_perform_stream_op(grpc_transport *transport, grpc_stream *stream, grpc_transport_stream_op *op): transport.c'],['../transport_8c.html#a81c2ae26b7109481d4538b48c15d5b1b',1,'grpc_transport_perform_stream_op(grpc_transport *transport, grpc_stream *stream, grpc_transport_stream_op *op): transport.c']]], + ['grpc_5ftransport_5fping',['grpc_transport_ping',['../transport_8h.html#a0cd26899ca9b8bafd7a2ca6fe23e0bbc',1,'transport.h']]], + ['grpc_5ftransport_5fstream_5fop_5fadd_5fcancellation',['grpc_transport_stream_op_add_cancellation',['../transport_8h.html#ad1deb9664db9760e156951542378fe11',1,'grpc_transport_stream_op_add_cancellation(grpc_transport_stream_op *op, grpc_status_code status, grpc_mdstr *message): transport.c'],['../transport_8c.html#ad1deb9664db9760e156951542378fe11',1,'grpc_transport_stream_op_add_cancellation(grpc_transport_stream_op *op, grpc_status_code status, grpc_mdstr *message): transport.c']]], + ['grpc_5ftransport_5fstream_5fop_5ffinish_5fwith_5ffailure',['grpc_transport_stream_op_finish_with_failure',['../transport_8h.html#ac5aa9757a292d71026279316979b8e40',1,'grpc_transport_stream_op_finish_with_failure(grpc_transport_stream_op *op): transport.c'],['../transport_8c.html#ac5aa9757a292d71026279316979b8e40',1,'grpc_transport_stream_op_finish_with_failure(grpc_transport_stream_op *op): transport.c']]], + ['grpc_5ftransport_5fstream_5fop_5fstring',['grpc_transport_stream_op_string',['../transport_8h.html#a058362edba570c120d125091b3c006d2',1,'grpc_transport_stream_op_string(grpc_transport_stream_op *op): transport_op_string.c'],['../transport__op__string_8c.html#a058362edba570c120d125091b3c006d2',1,'grpc_transport_stream_op_string(grpc_transport_stream_op *op): transport_op_string.c']]], + ['grpc_5ftransport_5fstream_5fsize',['grpc_transport_stream_size',['../transport_8h.html#a37d45eb0a1f7e25b4bf339a4ec5bc13d',1,'grpc_transport_stream_size(grpc_transport *transport): transport.c'],['../transport_8c.html#a37d45eb0a1f7e25b4bf339a4ec5bc13d',1,'grpc_transport_stream_size(grpc_transport *transport): transport.c']]], + ['grpc_5furi_5fdestroy',['grpc_uri_destroy',['../uri__parser_8h.html#af4744a0a3c814548dbbecb79c4620ac1',1,'grpc_uri_destroy(grpc_uri *uri): uri_parser.c'],['../uri__parser_8c.html#af4744a0a3c814548dbbecb79c4620ac1',1,'grpc_uri_destroy(grpc_uri *uri): uri_parser.c']]], + ['grpc_5furi_5fparse',['grpc_uri_parse',['../uri__parser_8h.html#aef57f54325374603bb0510e8b8b5976d',1,'grpc_uri_parse(const char *uri_text, int suppress_errors): uri_parser.c'],['../uri__parser_8c.html#aef57f54325374603bb0510e8b8b5976d',1,'grpc_uri_parse(const char *uri_text, int suppress_errors): uri_parser.c']]], + ['grpc_5fversion_5fstring',['grpc_version_string',['../grpc_8h.html#a250ca547d790874bd7b5ceec25f18c51',1,'grpc_version_string(void): version.c'],['../version_8c.html#a250ca547d790874bd7b5ceec25f18c51',1,'grpc_version_string(void): version.c']]], + ['grpc_5fwakeup_5ffd_5fconsume_5fwakeup',['grpc_wakeup_fd_consume_wakeup',['../wakeup__fd__posix_8h.html#aeb453784dce582205f0f62ce2f812f6f',1,'wakeup_fd_posix.h']]], + ['grpc_5fwakeup_5ffd_5fcreate',['grpc_wakeup_fd_create',['../wakeup__fd__posix_8h.html#a1b37e7362bf286befb3c650fd305ce80',1,'wakeup_fd_posix.h']]], + ['grpc_5fwakeup_5ffd_5fdestroy',['grpc_wakeup_fd_destroy',['../wakeup__fd__posix_8h.html#ae388f6f609c1c335b43f4abaa589feef',1,'wakeup_fd_posix.h']]], + ['grpc_5fwakeup_5ffd_5fglobal_5fdestroy',['grpc_wakeup_fd_global_destroy',['../wakeup__fd__posix_8h.html#afe49a7b08cd7a2ab7c7b79e64dffbd7e',1,'wakeup_fd_posix.h']]], + ['grpc_5fwakeup_5ffd_5fglobal_5finit',['grpc_wakeup_fd_global_init',['../wakeup__fd__posix_8h.html#a8af9610dd3f2910fd4943f9d2719d8be',1,'wakeup_fd_posix.h']]], + ['grpc_5fwakeup_5ffd_5fglobal_5finit_5fforce_5ffallback',['grpc_wakeup_fd_global_init_force_fallback',['../wakeup__fd__posix_8h.html#af3bb107d5e350a9c0ea8f1bfaa281c55',1,'wakeup_fd_posix.h']]], + ['grpc_5fwakeup_5ffd_5fwakeup',['grpc_wakeup_fd_wakeup',['../wakeup__fd__posix_8h.html#aeff09cb231a31e1a4b900270a7c4cec8',1,'wakeup_fd_posix.h']]], + ['grpc_5fwinsocket_5fcreate',['grpc_winsocket_create',['../socket__windows_8h.html#acef52dee2469e1614f30d72e9e18086e',1,'socket_windows.h']]], + ['grpc_5fwinsocket_5fdestroy',['grpc_winsocket_destroy',['../socket__windows_8h.html#a6a25824d9aa9563aee6eabb13b8e8d70',1,'socket_windows.h']]], + ['grpc_5fwinsocket_5forphan',['grpc_winsocket_orphan',['../socket__windows_8h.html#a9430d55bc26c3eb353f62ee3e290fee1',1,'socket_windows.h']]], + ['grpc_5fwinsocket_5fshutdown',['grpc_winsocket_shutdown',['../socket__windows_8h.html#a5112cf5e8f22aa650f776748f9a34395',1,'socket_windows.h']]] +]; diff --git a/doc/ref/core.internal/html/search/functions_2.html b/doc/ref/core.internal/html/search/functions_2.html new file mode 100644 index 0000000000..78be8b4198 --- /dev/null +++ b/doc/ref/core.internal/html/search/functions_2.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core.internal/html/search/functions_2.js b/doc/ref/core.internal/html/search/functions_2.js new file mode 100644 index 0000000000..51d22b90c7 --- /dev/null +++ b/doc/ref/core.internal/html/search/functions_2.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['on_5fsimulated_5ftoken_5ffetch_5fdone',['on_simulated_token_fetch_done',['../credentials_8c.html#ac8aefd37c9b6f7639d730ea60960a9e7',1,'credentials.c']]], + ['openssl_5fdigest_5ffrom_5falgorithm',['openssl_digest_from_algorithm',['../json__token_8c.html#accf3a429c0f66a88d8df60b6dab3743f',1,'json_token.c']]] +]; diff --git a/doc/ref/core.internal/html/search/functions_3.html b/doc/ref/core.internal/html/search/functions_3.html new file mode 100644 index 0000000000..ebf2eebd0f --- /dev/null +++ b/doc/ref/core.internal/html/search/functions_3.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core.internal/html/search/functions_3.js b/doc/ref/core.internal/html/search/functions_3.js new file mode 100644 index 0000000000..392fb66361 --- /dev/null +++ b/doc/ref/core.internal/html/search/functions_3.js @@ -0,0 +1,7 @@ +var searchData= +[ + ['pf_5fdestroy',['pf_destroy',['../pick__first_8c.html#ab2197438a4e2ecaee6327c0a642c5bb9',1,'pick_first.c']]], + ['pf_5fexit_5fidle',['pf_exit_idle',['../pick__first_8c.html#a114522776c50c119fcb6eaa6241ee748',1,'pick_first.c']]], + ['pf_5fpick',['pf_pick',['../pick__first_8c.html#af15f282d4ed6e68ea1289e139c42db9a',1,'pick_first.c']]], + ['pf_5fshutdown',['pf_shutdown',['../pick__first_8c.html#a1592bd5626dae37b94c5a9d719beaf17',1,'pick_first.c']]] +]; diff --git a/doc/ref/core.internal/html/search/functions_4.html b/doc/ref/core.internal/html/search/functions_4.html new file mode 100644 index 0000000000..7317ea9163 --- /dev/null +++ b/doc/ref/core.internal/html/search/functions_4.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core.internal/html/search/functions_4.js b/doc/ref/core.internal/html/search/functions_4.js new file mode 100644 index 0000000000..d8d8f3dd27 --- /dev/null +++ b/doc/ref/core.internal/html/search/functions_4.js @@ -0,0 +1,31 @@ +var searchData= +[ + ['tsi_5fconstruct_5fallocated_5fstring_5fpeer_5fproperty',['tsi_construct_allocated_string_peer_property',['../transport__security_8h.html#a8a308346bff8f401be5fb4411995aafc',1,'tsi_construct_allocated_string_peer_property(const char *name, size_t value_length, tsi_peer_property *property): transport_security.c'],['../transport__security_8c.html#a8a308346bff8f401be5fb4411995aafc',1,'tsi_construct_allocated_string_peer_property(const char *name, size_t value_length, tsi_peer_property *property): transport_security.c']]], + ['tsi_5fconstruct_5fpeer',['tsi_construct_peer',['../transport__security_8h.html#a08ce831015f22dfc2b0c9c324f4d3f68',1,'tsi_construct_peer(size_t property_count, tsi_peer *peer): transport_security.c'],['../transport__security_8c.html#a08ce831015f22dfc2b0c9c324f4d3f68',1,'tsi_construct_peer(size_t property_count, tsi_peer *peer): transport_security.c']]], + ['tsi_5fconstruct_5fstring_5fpeer_5fproperty',['tsi_construct_string_peer_property',['../transport__security_8h.html#a77bdd8a1373d9badafe0f9628d613ccb',1,'tsi_construct_string_peer_property(const char *name, const char *value, size_t value_length, tsi_peer_property *property): transport_security.c'],['../transport__security_8c.html#a77bdd8a1373d9badafe0f9628d613ccb',1,'tsi_construct_string_peer_property(const char *name, const char *value, size_t value_length, tsi_peer_property *property): transport_security.c']]], + ['tsi_5fconstruct_5fstring_5fpeer_5fproperty_5ffrom_5fcstring',['tsi_construct_string_peer_property_from_cstring',['../transport__security_8h.html#a95d8643bd4378f9e648d5155a757ff3d',1,'tsi_construct_string_peer_property_from_cstring(const char *name, const char *value, tsi_peer_property *property): transport_security.c'],['../transport__security_8c.html#a95d8643bd4378f9e648d5155a757ff3d',1,'tsi_construct_string_peer_property_from_cstring(const char *name, const char *value, tsi_peer_property *property): transport_security.c']]], + ['tsi_5fcreate_5ffake_5fhandshaker',['tsi_create_fake_handshaker',['../fake__transport__security_8h.html#a7ce2a5356ae53a2f4686faa9f32910d3',1,'tsi_create_fake_handshaker(int is_client): fake_transport_security.c'],['../fake__transport__security_8c.html#a7ce2a5356ae53a2f4686faa9f32910d3',1,'tsi_create_fake_handshaker(int is_client): fake_transport_security.c']]], + ['tsi_5fcreate_5ffake_5fprotector',['tsi_create_fake_protector',['../fake__transport__security_8h.html#a6af0733aaa845a070d6d92e5d79e8932',1,'tsi_create_fake_protector(size_t *max_protected_frame_size): fake_transport_security.c'],['../fake__transport__security_8c.html#a6af0733aaa845a070d6d92e5d79e8932',1,'tsi_create_fake_protector(size_t *max_protected_frame_size): fake_transport_security.c']]], + ['tsi_5fcreate_5fssl_5fclient_5fhandshaker_5ffactory',['tsi_create_ssl_client_handshaker_factory',['../ssl__transport__security_8h.html#a24150414d752e0cf6a28ff47a7b1c954',1,'tsi_create_ssl_client_handshaker_factory(const unsigned char *pem_private_key, size_t pem_private_key_size, const unsigned char *pem_cert_chain, size_t pem_cert_chain_size, const unsigned char *pem_root_certs, size_t pem_root_certs_size, const char *cipher_suites, const unsigned char **alpn_protocols, const unsigned char *alpn_protocols_lengths, uint16_t num_alpn_protocols, tsi_ssl_handshaker_factory **factory): ssl_transport_security.c'],['../ssl__transport__security_8c.html#a74245460a2a17181e62578a3c9e3a566',1,'tsi_create_ssl_client_handshaker_factory(const unsigned char *pem_private_key, size_t pem_private_key_size, const unsigned char *pem_cert_chain, size_t pem_cert_chain_size, const unsigned char *pem_root_certs, size_t pem_root_certs_size, const char *cipher_list, const unsigned char **alpn_protocols, const unsigned char *alpn_protocols_lengths, uint16_t num_alpn_protocols, tsi_ssl_handshaker_factory **factory): ssl_transport_security.c']]], + ['tsi_5fcreate_5fssl_5fserver_5fhandshaker_5ffactory',['tsi_create_ssl_server_handshaker_factory',['../ssl__transport__security_8h.html#a07cacb661f68fba399bd2a8075246104',1,'tsi_create_ssl_server_handshaker_factory(const unsigned char **pem_private_keys, const size_t *pem_private_keys_sizes, const unsigned char **pem_cert_chains, const size_t *pem_cert_chains_sizes, size_t key_cert_pair_count, const unsigned char *pem_client_root_certs, size_t pem_client_root_certs_size, int force_client_auth, const char *cipher_suites, const unsigned char **alpn_protocols, const unsigned char *alpn_protocols_lengths, uint16_t num_alpn_protocols, tsi_ssl_handshaker_factory **factory): ssl_transport_security.c'],['../ssl__transport__security_8c.html#a90c268a36d1837b23c08ec862b810b4d',1,'tsi_create_ssl_server_handshaker_factory(const unsigned char **pem_private_keys, const size_t *pem_private_keys_sizes, const unsigned char **pem_cert_chains, const size_t *pem_cert_chains_sizes, size_t key_cert_pair_count, const unsigned char *pem_client_root_certs, size_t pem_client_root_certs_size, int force_client_auth, const char *cipher_list, const unsigned char **alpn_protocols, const unsigned char *alpn_protocols_lengths, uint16_t num_alpn_protocols, tsi_ssl_handshaker_factory **factory): ssl_transport_security.c']]], + ['tsi_5fframe_5fprotector_5fdestroy',['tsi_frame_protector_destroy',['../transport__security__interface_8h.html#adfd6e29ec9ee51f095a2fd73bbc222f9',1,'tsi_frame_protector_destroy(tsi_frame_protector *self): transport_security.c'],['../transport__security_8c.html#adfd6e29ec9ee51f095a2fd73bbc222f9',1,'tsi_frame_protector_destroy(tsi_frame_protector *self): transport_security.c']]], + ['tsi_5fframe_5fprotector_5fprotect',['tsi_frame_protector_protect',['../transport__security__interface_8h.html#a5ceba08b6b8e98bc296e3c168cfe7ff6',1,'tsi_frame_protector_protect(tsi_frame_protector *self, const unsigned char *unprotected_bytes, size_t *unprotected_bytes_size, unsigned char *protected_output_frames, size_t *protected_output_frames_size): transport_security.c'],['../transport__security_8c.html#a5ceba08b6b8e98bc296e3c168cfe7ff6',1,'tsi_frame_protector_protect(tsi_frame_protector *self, const unsigned char *unprotected_bytes, size_t *unprotected_bytes_size, unsigned char *protected_output_frames, size_t *protected_output_frames_size): transport_security.c']]], + ['tsi_5fframe_5fprotector_5fprotect_5fflush',['tsi_frame_protector_protect_flush',['../transport__security__interface_8h.html#a97f093ea9700617a4bd64846e1040e10',1,'tsi_frame_protector_protect_flush(tsi_frame_protector *self, unsigned char *protected_output_frames, size_t *protected_output_frames_size, size_t *still_pending_size): transport_security.c'],['../transport__security_8c.html#a97f093ea9700617a4bd64846e1040e10',1,'tsi_frame_protector_protect_flush(tsi_frame_protector *self, unsigned char *protected_output_frames, size_t *protected_output_frames_size, size_t *still_pending_size): transport_security.c']]], + ['tsi_5fframe_5fprotector_5funprotect',['tsi_frame_protector_unprotect',['../transport__security__interface_8h.html#af7379ce84c820020001fd1538135f45f',1,'tsi_frame_protector_unprotect(tsi_frame_protector *self, const unsigned char *protected_frames_bytes, size_t *protected_frames_bytes_size, unsigned char *unprotected_bytes, size_t *unprotected_bytes_size): transport_security.c'],['../transport__security_8c.html#af7379ce84c820020001fd1538135f45f',1,'tsi_frame_protector_unprotect(tsi_frame_protector *self, const unsigned char *protected_frames_bytes, size_t *protected_frames_bytes_size, unsigned char *unprotected_bytes, size_t *unprotected_bytes_size): transport_security.c']]], + ['tsi_5fhandshaker_5fcreate_5fframe_5fprotector',['tsi_handshaker_create_frame_protector',['../transport__security__interface_8h.html#a5c468d1a9eec6e30553a0f0b4a36cf51',1,'tsi_handshaker_create_frame_protector(tsi_handshaker *self, size_t *max_output_protected_frame_size, tsi_frame_protector **protector): transport_security.c'],['../transport__security_8c.html#a332227aadf03c58b8ee4089f6f87bde6',1,'tsi_handshaker_create_frame_protector(tsi_handshaker *self, size_t *max_protected_frame_size, tsi_frame_protector **protector): transport_security.c']]], + ['tsi_5fhandshaker_5fdestroy',['tsi_handshaker_destroy',['../transport__security__interface_8h.html#aa86ebc2ea2967a18ff5c6007bb80e28d',1,'tsi_handshaker_destroy(tsi_handshaker *self): transport_security.c'],['../transport__security_8c.html#aa86ebc2ea2967a18ff5c6007bb80e28d',1,'tsi_handshaker_destroy(tsi_handshaker *self): transport_security.c']]], + ['tsi_5fhandshaker_5fextract_5fpeer',['tsi_handshaker_extract_peer',['../transport__security__interface_8h.html#acf71ef6d2d7c6934ba7252195fb866be',1,'tsi_handshaker_extract_peer(tsi_handshaker *self, tsi_peer *peer): transport_security.c'],['../transport__security_8c.html#acf71ef6d2d7c6934ba7252195fb866be',1,'tsi_handshaker_extract_peer(tsi_handshaker *self, tsi_peer *peer): transport_security.c']]], + ['tsi_5fhandshaker_5fget_5fbytes_5fto_5fsend_5fto_5fpeer',['tsi_handshaker_get_bytes_to_send_to_peer',['../transport__security__interface_8h.html#a29d1896a9b936a8bd534902bfc074e35',1,'tsi_handshaker_get_bytes_to_send_to_peer(tsi_handshaker *self, unsigned char *bytes, size_t *bytes_size): transport_security.c'],['../transport__security_8c.html#a29d1896a9b936a8bd534902bfc074e35',1,'tsi_handshaker_get_bytes_to_send_to_peer(tsi_handshaker *self, unsigned char *bytes, size_t *bytes_size): transport_security.c']]], + ['tsi_5fhandshaker_5fget_5fresult',['tsi_handshaker_get_result',['../transport__security__interface_8h.html#ac41531015167b3ac51aa5e201189701e',1,'tsi_handshaker_get_result(tsi_handshaker *self): transport_security.c'],['../transport__security_8c.html#ac41531015167b3ac51aa5e201189701e',1,'tsi_handshaker_get_result(tsi_handshaker *self): transport_security.c']]], + ['tsi_5fhandshaker_5fprocess_5fbytes_5ffrom_5fpeer',['tsi_handshaker_process_bytes_from_peer',['../transport__security__interface_8h.html#add638c90585ef6e5e4418c35a7df9fa0',1,'tsi_handshaker_process_bytes_from_peer(tsi_handshaker *self, const unsigned char *bytes, size_t *bytes_size): transport_security.c'],['../transport__security_8c.html#add638c90585ef6e5e4418c35a7df9fa0',1,'tsi_handshaker_process_bytes_from_peer(tsi_handshaker *self, const unsigned char *bytes, size_t *bytes_size): transport_security.c']]], + ['tsi_5finit_5fpeer_5fproperty',['tsi_init_peer_property',['../transport__security_8h.html#ab5d4e3b2905ddbc6fb66be56bd6564b1',1,'tsi_init_peer_property(void): transport_security.c'],['../transport__security_8c.html#ab5d4e3b2905ddbc6fb66be56bd6564b1',1,'tsi_init_peer_property(void): transport_security.c']]], + ['tsi_5fpeer_5fdestruct',['tsi_peer_destruct',['../transport__security__interface_8h.html#a2c4bbdf32c13cf926aa28dc464a6f467',1,'tsi_peer_destruct(tsi_peer *self): transport_security.c'],['../transport__security_8c.html#a2c4bbdf32c13cf926aa28dc464a6f467',1,'tsi_peer_destruct(tsi_peer *self): transport_security.c']]], + ['tsi_5fpeer_5fget_5fproperty_5fby_5fname',['tsi_peer_get_property_by_name',['../security__connector_8h.html#a4e8c8c71595e5af0861880070356ce66',1,'tsi_peer_get_property_by_name(const tsi_peer *peer, const char *name): security_connector.c'],['../security__connector_8c.html#a4e8c8c71595e5af0861880070356ce66',1,'tsi_peer_get_property_by_name(const tsi_peer *peer, const char *name): security_connector.c']]], + ['tsi_5fpeer_5fproperty_5fdestruct',['tsi_peer_property_destruct',['../transport__security_8h.html#a83e56daafef9ce0d55873f2c63940819',1,'tsi_peer_property_destruct(tsi_peer_property *property): transport_security.c'],['../transport__security_8c.html#a83e56daafef9ce0d55873f2c63940819',1,'tsi_peer_property_destruct(tsi_peer_property *property): transport_security.c']]], + ['tsi_5fresult_5fto_5fstring',['tsi_result_to_string',['../transport__security__interface_8h.html#aaee2576c8d1108c2f28b78bcf5f85964',1,'tsi_result_to_string(tsi_result result): transport_security.c'],['../transport__security_8c.html#aaee2576c8d1108c2f28b78bcf5f85964',1,'tsi_result_to_string(tsi_result result): transport_security.c']]], + ['tsi_5fssl_5fhandshaker_5ffactory_5fcreate_5fhandshaker',['tsi_ssl_handshaker_factory_create_handshaker',['../ssl__transport__security_8h.html#a640862c021958b7cc4e841d5842b3142',1,'tsi_ssl_handshaker_factory_create_handshaker(tsi_ssl_handshaker_factory *self, const char *server_name_indication, tsi_handshaker **handshaker): ssl_transport_security.c'],['../ssl__transport__security_8c.html#a640862c021958b7cc4e841d5842b3142',1,'tsi_ssl_handshaker_factory_create_handshaker(tsi_ssl_handshaker_factory *self, const char *server_name_indication, tsi_handshaker **handshaker): ssl_transport_security.c']]], + ['tsi_5fssl_5fhandshaker_5ffactory_5fdestroy',['tsi_ssl_handshaker_factory_destroy',['../ssl__transport__security_8h.html#a55e5ff567c916f396a960d9ba259fd5b',1,'tsi_ssl_handshaker_factory_destroy(tsi_ssl_handshaker_factory *self): ssl_transport_security.c'],['../ssl__transport__security_8c.html#a55e5ff567c916f396a960d9ba259fd5b',1,'tsi_ssl_handshaker_factory_destroy(tsi_ssl_handshaker_factory *self): ssl_transport_security.c']]], + ['tsi_5fssl_5fpeer_5fmatches_5fname',['tsi_ssl_peer_matches_name',['../ssl__transport__security_8h.html#a22edee478b3473e184d77d74c13d9647',1,'tsi_ssl_peer_matches_name(const tsi_peer *peer, const char *name): ssl_transport_security.c'],['../ssl__transport__security_8c.html#a22edee478b3473e184d77d74c13d9647',1,'tsi_ssl_peer_matches_name(const tsi_peer *peer, const char *name): ssl_transport_security.c']]], + ['tsi_5fssl_5fpeer_5fto_5fauth_5fcontext',['tsi_ssl_peer_to_auth_context',['../security__connector_8h.html#a12dbc067a07c36d5219ba31f5dffc8c6',1,'tsi_ssl_peer_to_auth_context(const tsi_peer *peer): security_connector.c'],['../security__connector_8c.html#a12dbc067a07c36d5219ba31f5dffc8c6',1,'tsi_ssl_peer_to_auth_context(const tsi_peer *peer): security_connector.c']]], + ['tsi_5fstrdup',['tsi_strdup',['../transport__security_8h.html#a4db31a671b7e77b6ecd14af773154c72',1,'tsi_strdup(const char *src): transport_security.c'],['../transport__security_8c.html#a4db31a671b7e77b6ecd14af773154c72',1,'tsi_strdup(const char *src): transport_security.c']]] +]; diff --git a/doc/ref/core.internal/html/search/functions_5.html b/doc/ref/core.internal/html/search/functions_5.html new file mode 100644 index 0000000000..1f1d9ce1b7 --- /dev/null +++ b/doc/ref/core.internal/html/search/functions_5.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core.internal/html/search/functions_5.js b/doc/ref/core.internal/html/search/functions_5.js new file mode 100644 index 0000000000..bb4ad83614 --- /dev/null +++ b/doc/ref/core.internal/html/search/functions_5.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['verifier_5fcb_5fctx_5fdestroy',['verifier_cb_ctx_destroy',['../jwt__verifier_8c.html#a6abd17abf83cb50196792f26f82ddb47',1,'jwt_verifier.c']]] +]; diff --git a/doc/ref/core.internal/html/search/mag_sel.png b/doc/ref/core.internal/html/search/mag_sel.png new file mode 100644 index 0000000000..81f6040a20 Binary files /dev/null and b/doc/ref/core.internal/html/search/mag_sel.png differ diff --git a/doc/ref/core.internal/html/search/nomatches.html b/doc/ref/core.internal/html/search/nomatches.html new file mode 100644 index 0000000000..b1ded27e9a --- /dev/null +++ b/doc/ref/core.internal/html/search/nomatches.html @@ -0,0 +1,12 @@ + + + + + + + +
+
No Matches
+
+ + diff --git a/doc/ref/core.internal/html/search/pages_0.html b/doc/ref/core.internal/html/search/pages_0.html new file mode 100644 index 0000000000..c51c834506 --- /dev/null +++ b/doc/ref/core.internal/html/search/pages_0.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core.internal/html/search/pages_0.js b/doc/ref/core.internal/html/search/pages_0.js new file mode 100644 index 0000000000..19dbe67128 --- /dev/null +++ b/doc/ref/core.internal/html/search/pages_0.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['grpc_20core',['GRPC Core',['../index.html',1,'']]] +]; diff --git a/doc/ref/core.internal/html/search/search.css b/doc/ref/core.internal/html/search/search.css new file mode 100644 index 0000000000..4d7612ff63 --- /dev/null +++ b/doc/ref/core.internal/html/search/search.css @@ -0,0 +1,271 @@ +/*---------------- Search Box */ + +#FSearchBox { + float: left; +} + +#MSearchBox { + white-space : nowrap; + position: absolute; + float: none; + display: inline; + margin-top: 8px; + right: 0px; + width: 170px; + z-index: 102; + background-color: white; +} + +#MSearchBox .left +{ + display:block; + position:absolute; + left:10px; + width:20px; + height:19px; + background:url('search_l.png') no-repeat; + background-position:right; +} + +#MSearchSelect { + display:block; + position:absolute; + width:20px; + height:19px; +} + +.left #MSearchSelect { + left:4px; +} + +.right #MSearchSelect { + right:5px; +} + +#MSearchField { + display:block; + position:absolute; + height:19px; + background:url('search_m.png') repeat-x; + border:none; + width:111px; + margin-left:20px; + padding-left:4px; + color: #909090; + outline: none; + font: 9pt Arial, Verdana, sans-serif; +} + +#FSearchBox #MSearchField { + margin-left:15px; +} + +#MSearchBox .right { + display:block; + position:absolute; + right:10px; + top:0px; + width:20px; + height:19px; + background:url('search_r.png') no-repeat; + background-position:left; +} + +#MSearchClose { + display: none; + position: absolute; + top: 4px; + background : none; + border: none; + margin: 0px 4px 0px 0px; + padding: 0px 0px; + outline: none; +} + +.left #MSearchClose { + left: 6px; +} + +.right #MSearchClose { + right: 2px; +} + +.MSearchBoxActive #MSearchField { + color: #000000; +} + +/*---------------- Search filter selection */ + +#MSearchSelectWindow { + display: none; + position: absolute; + left: 0; top: 0; + border: 1px solid #90A5CE; + background-color: #F9FAFC; + z-index: 1; + padding-top: 4px; + padding-bottom: 4px; + -moz-border-radius: 4px; + -webkit-border-top-left-radius: 4px; + -webkit-border-top-right-radius: 4px; + -webkit-border-bottom-left-radius: 4px; + -webkit-border-bottom-right-radius: 4px; + -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); +} + +.SelectItem { + font: 8pt Arial, Verdana, sans-serif; + padding-left: 2px; + padding-right: 12px; + border: 0px; +} + +span.SelectionMark { + margin-right: 4px; + font-family: monospace; + outline-style: none; + text-decoration: none; +} + +a.SelectItem { + display: block; + outline-style: none; + color: #000000; + text-decoration: none; + padding-left: 6px; + padding-right: 12px; +} + +a.SelectItem:focus, +a.SelectItem:active { + color: #000000; + outline-style: none; + text-decoration: none; +} + +a.SelectItem:hover { + color: #FFFFFF; + background-color: #3D578C; + outline-style: none; + text-decoration: none; + cursor: pointer; + display: block; +} + +/*---------------- Search results window */ + +iframe#MSearchResults { + width: 60ex; + height: 15em; +} + +#MSearchResultsWindow { + display: none; + position: absolute; + left: 0; top: 0; + border: 1px solid #000; + background-color: #EEF1F7; +} + +/* ----------------------------------- */ + + +#SRIndex { + clear:both; + padding-bottom: 15px; +} + +.SREntry { + font-size: 10pt; + padding-left: 1ex; +} + +.SRPage .SREntry { + font-size: 8pt; + padding: 1px 5px; +} + +body.SRPage { + margin: 5px 2px; +} + +.SRChildren { + padding-left: 3ex; padding-bottom: .5em +} + +.SRPage .SRChildren { + display: none; +} + +.SRSymbol { + font-weight: bold; + color: #425E97; + font-family: Arial, Verdana, sans-serif; + text-decoration: none; + outline: none; +} + +a.SRScope { + display: block; + color: #425E97; + font-family: Arial, Verdana, sans-serif; + text-decoration: none; + outline: none; +} + +a.SRSymbol:focus, a.SRSymbol:active, +a.SRScope:focus, a.SRScope:active { + text-decoration: underline; +} + +span.SRScope { + padding-left: 4px; +} + +.SRPage .SRStatus { + padding: 2px 5px; + font-size: 8pt; + font-style: italic; +} + +.SRResult { + display: none; +} + +DIV.searchresults { + margin-left: 10px; + margin-right: 10px; +} + +/*---------------- External search page results */ + +.searchresult { + background-color: #F0F3F8; +} + +.pages b { + color: white; + padding: 5px 5px 3px 5px; + background-image: url("../tab_a.png"); + background-repeat: repeat-x; + text-shadow: 0 1px 1px #000000; +} + +.pages { + line-height: 17px; + margin-left: 4px; + text-decoration: none; +} + +.hl { + font-weight: bold; +} + +#searchresults { + margin-bottom: 20px; +} + +.searchpages { + margin-top: 10px; +} + diff --git a/doc/ref/core.internal/html/search/search.js b/doc/ref/core.internal/html/search/search.js new file mode 100644 index 0000000000..8863f99110 --- /dev/null +++ b/doc/ref/core.internal/html/search/search.js @@ -0,0 +1,811 @@ +// Search script generated by doxygen +// Copyright (C) 2009 by Dimitri van Heesch. + +// The code in this file is loosly based on main.js, part of Natural Docs, +// which is Copyright (C) 2003-2008 Greg Valure +// Natural Docs is licensed under the GPL. + +var indexSectionsWithContent = +{ + 0: "_abcdefghijklmnopqrstuvwz", + 1: "abcdefghijlmnprstvw", + 2: "abcdefghijlmnprstuvw", + 3: "cgoptv", + 4: "abcdefghijklmnopqrstuvw", + 5: "acgilnprstw", + 6: "abcfgirstw", + 7: "abcdeghilmnprstwz", + 8: "_acdefghilmnorstu", + 9: "g" +}; + +var indexSectionNames = +{ + 0: "all", + 1: "classes", + 2: "files", + 3: "functions", + 4: "variables", + 5: "typedefs", + 6: "enums", + 7: "enumvalues", + 8: "defines", + 9: "pages" +}; + +function convertToId(search) +{ + var result = ''; + for (i=0;i do a search + { + this.Search(); + } + } + + this.OnSearchSelectKey = function(evt) + { + var e = (evt) ? evt : window.event; // for IE + if (e.keyCode==40 && this.searchIndex0) // Up + { + this.searchIndex--; + this.OnSelectItem(this.searchIndex); + } + else if (e.keyCode==13 || e.keyCode==27) + { + this.OnSelectItem(this.searchIndex); + this.CloseSelectionWindow(); + this.DOMSearchField().focus(); + } + return false; + } + + // --------- Actions + + // Closes the results window. + this.CloseResultsWindow = function() + { + this.DOMPopupSearchResultsWindow().style.display = 'none'; + this.DOMSearchClose().style.display = 'none'; + this.Activate(false); + } + + this.CloseSelectionWindow = function() + { + this.DOMSearchSelectWindow().style.display = 'none'; + } + + // Performs a search. + this.Search = function() + { + this.keyTimeout = 0; + + // strip leading whitespace + var searchValue = this.DOMSearchField().value.replace(/^ +/, ""); + + var code = searchValue.toLowerCase().charCodeAt(0); + var idxChar = searchValue.substr(0, 1).toLowerCase(); + if ( 0xD800 <= code && code <= 0xDBFF && searchValue > 1) // surrogate pair + { + idxChar = searchValue.substr(0, 2); + } + + var resultsPage; + var resultsPageWithSearch; + var hasResultsPage; + + var idx = indexSectionsWithContent[this.searchIndex].indexOf(idxChar); + if (idx!=-1) + { + var hexCode=idx.toString(16); + resultsPage = this.resultsPath + '/' + indexSectionNames[this.searchIndex] + '_' + hexCode + '.html'; + resultsPageWithSearch = resultsPage+'?'+escape(searchValue); + hasResultsPage = true; + } + else // nothing available for this search term + { + resultsPage = this.resultsPath + '/nomatches.html'; + resultsPageWithSearch = resultsPage; + hasResultsPage = false; + } + + window.frames.MSearchResults.location = resultsPageWithSearch; + var domPopupSearchResultsWindow = this.DOMPopupSearchResultsWindow(); + + if (domPopupSearchResultsWindow.style.display!='block') + { + var domSearchBox = this.DOMSearchBox(); + this.DOMSearchClose().style.display = 'inline'; + if (this.insideFrame) + { + var domPopupSearchResults = this.DOMPopupSearchResults(); + domPopupSearchResultsWindow.style.position = 'relative'; + domPopupSearchResultsWindow.style.display = 'block'; + var width = document.body.clientWidth - 8; // the -8 is for IE :-( + domPopupSearchResultsWindow.style.width = width + 'px'; + domPopupSearchResults.style.width = width + 'px'; + } + else + { + var domPopupSearchResults = this.DOMPopupSearchResults(); + var left = getXPos(domSearchBox) + 150; // domSearchBox.offsetWidth; + var top = getYPos(domSearchBox) + 20; // domSearchBox.offsetHeight + 1; + domPopupSearchResultsWindow.style.display = 'block'; + left -= domPopupSearchResults.offsetWidth; + domPopupSearchResultsWindow.style.top = top + 'px'; + domPopupSearchResultsWindow.style.left = left + 'px'; + } + } + + this.lastSearchValue = searchValue; + this.lastResultsPage = resultsPage; + } + + // -------- Activation Functions + + // Activates or deactivates the search panel, resetting things to + // their default values if necessary. + this.Activate = function(isActive) + { + if (isActive || // open it + this.DOMPopupSearchResultsWindow().style.display == 'block' + ) + { + this.DOMSearchBox().className = 'MSearchBoxActive'; + + var searchField = this.DOMSearchField(); + + if (searchField.value == this.searchLabel) // clear "Search" term upon entry + { + searchField.value = ''; + this.searchActive = true; + } + } + else if (!isActive) // directly remove the panel + { + this.DOMSearchBox().className = 'MSearchBoxInactive'; + this.DOMSearchField().value = this.searchLabel; + this.searchActive = false; + this.lastSearchValue = '' + this.lastResultsPage = ''; + } + } +} + +// ----------------------------------------------------------------------- + +// The class that handles everything on the search results page. +function SearchResults(name) +{ + // The number of matches from the last run of . + this.lastMatchCount = 0; + this.lastKey = 0; + this.repeatOn = false; + + // Toggles the visibility of the passed element ID. + this.FindChildElement = function(id) + { + var parentElement = document.getElementById(id); + var element = parentElement.firstChild; + + while (element && element!=parentElement) + { + if (element.nodeName == 'DIV' && element.className == 'SRChildren') + { + return element; + } + + if (element.nodeName == 'DIV' && element.hasChildNodes()) + { + element = element.firstChild; + } + else if (element.nextSibling) + { + element = element.nextSibling; + } + else + { + do + { + element = element.parentNode; + } + while (element && element!=parentElement && !element.nextSibling); + + if (element && element!=parentElement) + { + element = element.nextSibling; + } + } + } + } + + this.Toggle = function(id) + { + var element = this.FindChildElement(id); + if (element) + { + if (element.style.display == 'block') + { + element.style.display = 'none'; + } + else + { + element.style.display = 'block'; + } + } + } + + // Searches for the passed string. If there is no parameter, + // it takes it from the URL query. + // + // Always returns true, since other documents may try to call it + // and that may or may not be possible. + this.Search = function(search) + { + if (!search) // get search word from URL + { + search = window.location.search; + search = search.substring(1); // Remove the leading '?' + search = unescape(search); + } + + search = search.replace(/^ +/, ""); // strip leading spaces + search = search.replace(/ +$/, ""); // strip trailing spaces + search = search.toLowerCase(); + search = convertToId(search); + + var resultRows = document.getElementsByTagName("div"); + var matches = 0; + + var i = 0; + while (i < resultRows.length) + { + var row = resultRows.item(i); + if (row.className == "SRResult") + { + var rowMatchName = row.id.toLowerCase(); + rowMatchName = rowMatchName.replace(/^sr\d*_/, ''); // strip 'sr123_' + + if (search.length<=rowMatchName.length && + rowMatchName.substr(0, search.length)==search) + { + row.style.display = 'block'; + matches++; + } + else + { + row.style.display = 'none'; + } + } + i++; + } + document.getElementById("Searching").style.display='none'; + if (matches == 0) // no results + { + document.getElementById("NoMatches").style.display='block'; + } + else // at least one result + { + document.getElementById("NoMatches").style.display='none'; + } + this.lastMatchCount = matches; + return true; + } + + // return the first item with index index or higher that is visible + this.NavNext = function(index) + { + var focusItem; + while (1) + { + var focusName = 'Item'+index; + focusItem = document.getElementById(focusName); + if (focusItem && focusItem.parentNode.parentNode.style.display=='block') + { + break; + } + else if (!focusItem) // last element + { + break; + } + focusItem=null; + index++; + } + return focusItem; + } + + this.NavPrev = function(index) + { + var focusItem; + while (1) + { + var focusName = 'Item'+index; + focusItem = document.getElementById(focusName); + if (focusItem && focusItem.parentNode.parentNode.style.display=='block') + { + break; + } + else if (!focusItem) // last element + { + break; + } + focusItem=null; + index--; + } + return focusItem; + } + + this.ProcessKeys = function(e) + { + if (e.type == "keydown") + { + this.repeatOn = false; + this.lastKey = e.keyCode; + } + else if (e.type == "keypress") + { + if (!this.repeatOn) + { + if (this.lastKey) this.repeatOn = true; + return false; // ignore first keypress after keydown + } + } + else if (e.type == "keyup") + { + this.lastKey = 0; + this.repeatOn = false; + } + return this.lastKey!=0; + } + + this.Nav = function(evt,itemIndex) + { + var e = (evt) ? evt : window.event; // for IE + if (e.keyCode==13) return true; + if (!this.ProcessKeys(e)) return false; + + if (this.lastKey==38) // Up + { + var newIndex = itemIndex-1; + var focusItem = this.NavPrev(newIndex); + if (focusItem) + { + var child = this.FindChildElement(focusItem.parentNode.parentNode.id); + if (child && child.style.display == 'block') // children visible + { + var n=0; + var tmpElem; + while (1) // search for last child + { + tmpElem = document.getElementById('Item'+newIndex+'_c'+n); + if (tmpElem) + { + focusItem = tmpElem; + } + else // found it! + { + break; + } + n++; + } + } + } + if (focusItem) + { + focusItem.focus(); + } + else // return focus to search field + { + parent.document.getElementById("MSearchField").focus(); + } + } + else if (this.lastKey==40) // Down + { + var newIndex = itemIndex+1; + var focusItem; + var item = document.getElementById('Item'+itemIndex); + var elem = this.FindChildElement(item.parentNode.parentNode.id); + if (elem && elem.style.display == 'block') // children visible + { + focusItem = document.getElementById('Item'+itemIndex+'_c0'); + } + if (!focusItem) focusItem = this.NavNext(newIndex); + if (focusItem) focusItem.focus(); + } + else if (this.lastKey==39) // Right + { + var item = document.getElementById('Item'+itemIndex); + var elem = this.FindChildElement(item.parentNode.parentNode.id); + if (elem) elem.style.display = 'block'; + } + else if (this.lastKey==37) // Left + { + var item = document.getElementById('Item'+itemIndex); + var elem = this.FindChildElement(item.parentNode.parentNode.id); + if (elem) elem.style.display = 'none'; + } + else if (this.lastKey==27) // Escape + { + parent.searchBox.CloseResultsWindow(); + parent.document.getElementById("MSearchField").focus(); + } + else if (this.lastKey==13) // Enter + { + return true; + } + return false; + } + + this.NavChild = function(evt,itemIndex,childIndex) + { + var e = (evt) ? evt : window.event; // for IE + if (e.keyCode==13) return true; + if (!this.ProcessKeys(e)) return false; + + if (this.lastKey==38) // Up + { + if (childIndex>0) + { + var newIndex = childIndex-1; + document.getElementById('Item'+itemIndex+'_c'+newIndex).focus(); + } + else // already at first child, jump to parent + { + document.getElementById('Item'+itemIndex).focus(); + } + } + else if (this.lastKey==40) // Down + { + var newIndex = childIndex+1; + var elem = document.getElementById('Item'+itemIndex+'_c'+newIndex); + if (!elem) // last child, jump to parent next parent + { + elem = this.NavNext(itemIndex+1); + } + if (elem) + { + elem.focus(); + } + } + else if (this.lastKey==27) // Escape + { + parent.searchBox.CloseResultsWindow(); + parent.document.getElementById("MSearchField").focus(); + } + else if (this.lastKey==13) // Enter + { + return true; + } + return false; + } +} + +function setKeyActions(elem,action) +{ + elem.setAttribute('onkeydown',action); + elem.setAttribute('onkeypress',action); + elem.setAttribute('onkeyup',action); +} + +function setClassAttr(elem,attr) +{ + elem.setAttribute('class',attr); + elem.setAttribute('className',attr); +} + +function createResults() +{ + var results = document.getElementById("SRResults"); + for (var e=0; e + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core.internal/html/search/typedefs_0.js b/doc/ref/core.internal/html/search/typedefs_0.js new file mode 100644 index 0000000000..7a58c48241 --- /dev/null +++ b/doc/ref/core.internal/html/search/typedefs_0.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['arg',['arg',['../cmdline_8c.html#af240efb36795b416de0779ad5d5159e4',1,'cmdline.c']]] +]; diff --git a/doc/ref/core.internal/html/search/typedefs_1.html b/doc/ref/core.internal/html/search/typedefs_1.html new file mode 100644 index 0000000000..455fe2b2b9 --- /dev/null +++ b/doc/ref/core.internal/html/search/typedefs_1.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core.internal/html/search/typedefs_1.js b/doc/ref/core.internal/html/search/typedefs_1.js new file mode 100644 index 0000000000..cd3deaf1de --- /dev/null +++ b/doc/ref/core.internal/html/search/typedefs_1.js @@ -0,0 +1,7 @@ +var searchData= +[ + ['call_5fdata',['call_data',['../server__auth__filter_8c.html#a7237e4a998a071b454b0d6b1bdfb42e1',1,'call_data(): server_auth_filter.c'],['../client__channel_8c.html#a9d8dd5943711393112c0fe83c02c0ca8',1,'call_data(): client_channel.c'],['../compress__filter_8c.html#a7237e4a998a071b454b0d6b1bdfb42e1',1,'call_data(): compress_filter.c'],['../connected__channel_8c.html#abf019c14ca61b45a660c2b86b0a0b889',1,'call_data(): connected_channel.c'],['../http__client__filter_8c.html#a7237e4a998a071b454b0d6b1bdfb42e1',1,'call_data(): http_client_filter.c'],['../http__server__filter_8c.html#a7237e4a998a071b454b0d6b1bdfb42e1',1,'call_data(): http_server_filter.c'],['../noop__filter_8c.html#a7237e4a998a071b454b0d6b1bdfb42e1',1,'call_data(): noop_filter.c'],['../server_8c.html#a9d8dd5943711393112c0fe83c02c0ca8',1,'call_data(): server.c']]], + ['census_5fcontext',['census_context',['../census_8h.html#a27fc8788690179599713226f1f054736',1,'census.h']]], + ['channel_5fdata',['channel_data',['../server__auth__filter_8c.html#a5e660c9a52a9795338faf0c2188cff84',1,'channel_data(): server_auth_filter.c'],['../compress__filter_8c.html#a5e660c9a52a9795338faf0c2188cff84',1,'channel_data(): compress_filter.c'],['../connected__channel_8c.html#a43362118345c9bbd8b75103f9854a69d',1,'channel_data(): connected_channel.c'],['../http__client__filter_8c.html#a5e660c9a52a9795338faf0c2188cff84',1,'channel_data(): http_client_filter.c'],['../http__server__filter_8c.html#a5e660c9a52a9795338faf0c2188cff84',1,'channel_data(): http_server_filter.c'],['../noop__filter_8c.html#a5e660c9a52a9795338faf0c2188cff84',1,'channel_data(): noop_filter.c'],['../server_8c.html#a663530098451ca6ac5dd8381e470b512',1,'channel_data(): server.c']]], + ['channel_5fregistered_5fmethod',['channel_registered_method',['../server_8c.html#a47b693eb517ae870b0243f6c7be3541f',1,'server.c']]] +]; diff --git a/doc/ref/core.internal/html/search/typedefs_2.html b/doc/ref/core.internal/html/search/typedefs_2.html new file mode 100644 index 0000000000..fac5dbac55 --- /dev/null +++ b/doc/ref/core.internal/html/search/typedefs_2.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core.internal/html/search/typedefs_2.js b/doc/ref/core.internal/html/search/typedefs_2.js new file mode 100644 index 0000000000..c5bfd9b2e0 --- /dev/null +++ b/doc/ref/core.internal/html/search/typedefs_2.js @@ -0,0 +1,138 @@ +var searchData= +[ + ['gpr_5fatm',['gpr_atm',['../atm__gcc__atomic_8h.html#aa9e4b16c09888debe306f14e8090b1cc',1,'gpr_atm(): atm_gcc_atomic.h'],['../atm__gcc__sync_8h.html#aa9e4b16c09888debe306f14e8090b1cc',1,'gpr_atm(): atm_gcc_sync.h'],['../atm__win32_8h.html#aa9e4b16c09888debe306f14e8090b1cc',1,'gpr_atm(): atm_win32.h']]], + ['gpr_5fcmdline',['gpr_cmdline',['../cmdline_8h.html#aaad93cd9bfc32c54fc89f7c2f3b74eb6',1,'cmdline.h']]], + ['gpr_5fcv',['gpr_cv',['../sync__posix_8h.html#a1ad613e07180c0459cda9f3f6d881885',1,'gpr_cv(): sync_posix.h'],['../sync__win32_8h.html#a81241bed6e85e9b106a1311060a04d9d',1,'gpr_cv(): sync_win32.h']]], + ['gpr_5fhistogram',['gpr_histogram',['../histogram_8h.html#a7125b0cef0e61a441a17f887dbc073fc',1,'histogram.h']]], + ['gpr_5fint16',['gpr_int16',['../port__platform_8h.html#a6c41ac43b02ec37b1e07967a8706e709',1,'port_platform.h']]], + ['gpr_5fint32',['gpr_int32',['../port__platform_8h.html#a7c9027ffa98b5efe1767efe79903c6b7',1,'port_platform.h']]], + ['gpr_5fint64',['gpr_int64',['../port__platform_8h.html#a71edab4bc3421f129764e5cb342f7181',1,'port_platform.h']]], + ['gpr_5fintmax',['gpr_intmax',['../port__platform_8h.html#a3ecb17ae580dbde63199ac206a732139',1,'port_platform.h']]], + ['gpr_5fintptr',['gpr_intptr',['../port__platform_8h.html#a72d9d0d00bd576cfc8eab61aaea76db2',1,'port_platform.h']]], + ['gpr_5flog_5ffunc',['gpr_log_func',['../log_8h.html#a23f29195676c33c61ff08a7f0a3e69b0',1,'log.h']]], + ['gpr_5flog_5fseverity',['gpr_log_severity',['../log_8h.html#ad49303346a78cf4881129958214fde8d',1,'log.h']]], + ['gpr_5fmu',['gpr_mu',['../sync__posix_8h.html#aa66fb6a11304ef6759d76f84a34ee28f',1,'sync_posix.h']]], + ['gpr_5fonce',['gpr_once',['../sync__posix_8h.html#a28731dc17a4158343f58f453a4d5e37f',1,'gpr_once(): sync_posix.h'],['../sync__win32_8h.html#a6a752a459fe345c616c26b5a556ccc13',1,'gpr_once(): sync_win32.h']]], + ['gpr_5fslice',['gpr_slice',['../slice_8h.html#a91fe16db371db7c53d6e3adc90a6678c',1,'slice.h']]], + ['gpr_5fslice_5frefcount',['gpr_slice_refcount',['../slice_8h.html#af8841873e741f6cf38b2192147ea4f3e',1,'slice.h']]], + ['gpr_5fstack_5flockfree',['gpr_stack_lockfree',['../stack__lockfree_8h.html#a66ea3d52c0bac00af25057468bbd8465',1,'stack_lockfree.h']]], + ['gpr_5fsubprocess',['gpr_subprocess',['../subprocess_8h.html#a1c3492c3aef738e6eef6b8cb1b435095',1,'subprocess.h']]], + ['gpr_5fthd_5fid',['gpr_thd_id',['../thd_8h.html#a04194350e2fb18edc439ab0a9d355a72',1,'thd.h']]], + ['gpr_5ftimespec',['gpr_timespec',['../time_8h.html#a7dd12c72fcf53ebecfdfc13632914c45',1,'time.h']]], + ['gpr_5fuint16',['gpr_uint16',['../port__platform_8h.html#abb7bceac4325643af77af51c7b6af371',1,'port_platform.h']]], + ['gpr_5fuint32',['gpr_uint32',['../port__platform_8h.html#aa6abd4df815a5498d1a04b5e691a74a9',1,'port_platform.h']]], + ['gpr_5fuint64',['gpr_uint64',['../port__platform_8h.html#a737bb95b7b58d90b4215602d36ed65b6',1,'port_platform.h']]], + ['gpr_5fuint8',['gpr_uint8',['../port__platform_8h.html#aeeb41e29e7c7a916a4e0fb6cfb9f92e0',1,'port_platform.h']]], + ['gpr_5fuintmax',['gpr_uintmax',['../port__platform_8h.html#abee5d576e1d284a7c8135df7d89af0f7',1,'port_platform.h']]], + ['gpr_5fuintptr',['gpr_uintptr',['../port__platform_8h.html#ab302f9bfe3be467072bd8c79847636d4',1,'port_platform.h']]], + ['grpc_5falarm',['grpc_alarm',['../alarm_8h.html#a2a31b5bd57cc9f6b862e9b8ef0ec2bea',1,'alarm.h']]], + ['grpc_5fauth_5fcontext',['grpc_auth_context',['../grpc__security_8h.html#aa13f0724cb7ff99995d7f0881c01d553',1,'grpc_security.h']]], + ['grpc_5fauth_5fproperty',['grpc_auth_property',['../grpc__security_8h.html#a010fe7d27deaa2ea50b765b48dbad429',1,'grpc_security.h']]], + ['grpc_5fauth_5fproperty_5fiterator',['grpc_auth_property_iterator',['../grpc__security_8h.html#a26981fdcb987d885b25d34c7dc66e4cf',1,'grpc_security.h']]], + ['grpc_5fbegin_5fmessage',['grpc_begin_message',['../stream__op_8h.html#a6d154e209d826dcf514850c6724d3596',1,'stream_op.h']]], + ['grpc_5fbyte_5fbuffer',['grpc_byte_buffer',['../byte__buffer_8h.html#a670951ae03b0a2dc4e50f4e25160fc2e',1,'byte_buffer.h']]], + ['grpc_5fbyte_5fbuffer_5freader',['grpc_byte_buffer_reader',['../byte__buffer_8h.html#a16143f22ea46cc7fa6b53e6cb30715f1',1,'byte_buffer.h']]], + ['grpc_5fcall',['grpc_call',['../grpc_8h.html#a122f8f4f0a585396d993d9b55848f222',1,'grpc.h']]], + ['grpc_5fcall_5felement',['grpc_call_element',['../channel__stack_8h.html#ad4b0603b98c350dc4bfdcc2ba95d5401',1,'channel_stack.h']]], + ['grpc_5fcall_5ferror',['grpc_call_error',['../grpc_8h.html#abb51216cb5ac1cfd8ca4d096e060adbb',1,'grpc.h']]], + ['grpc_5fchannel',['grpc_channel',['../grpc_8h.html#a432bfa6b9f6603643cdf9de8804c254e',1,'grpc.h']]], + ['grpc_5fchannel_5felement',['grpc_channel_element',['../channel__stack_8h.html#aea7892e6dfe1fbf098a7d6deea46d4ca',1,'channel_stack.h']]], + ['grpc_5fchannel_5fsecurity_5fconnector',['grpc_channel_security_connector',['../security__connector_8h.html#afbebb4c120eeea2ad96953aae5f656ec',1,'security_connector.h']]], + ['grpc_5fchttp2_5fhpack_5fparser',['grpc_chttp2_hpack_parser',['../hpack__parser_8h.html#ae66f95f470e6a67afa580dd7d1d3d39b',1,'hpack_parser.h']]], + ['grpc_5fchttp2_5fhpack_5fparser_5fstate',['grpc_chttp2_hpack_parser_state',['../hpack__parser_8h.html#a8d59a71bfcb4d8ae6c14950f0cb67507',1,'hpack_parser.h']]], + ['grpc_5fchttp2_5foutstanding_5fping',['grpc_chttp2_outstanding_ping',['../internal_8h.html#a4b8e11ec16028f6adaa9355602a9c591',1,'internal.h']]], + ['grpc_5fchttp2_5fstream',['grpc_chttp2_stream',['../internal_8h.html#a50089f57f93d9eb16569dd3b63f879d1',1,'internal.h']]], + ['grpc_5fchttp2_5fstream_5fparsing',['grpc_chttp2_stream_parsing',['../frame_8h.html#a67486ee57e3d27c619df98c80420f421',1,'frame.h']]], + ['grpc_5fchttp2_5ftransport',['grpc_chttp2_transport',['../internal_8h.html#a83a9a1c265dc0fede61598c7cd1aaec2',1,'internal.h']]], + ['grpc_5fchttp2_5ftransport_5fparsing',['grpc_chttp2_transport_parsing',['../frame_8h.html#a736ee44646a381e8119085a7803c20bc',1,'frame.h']]], + ['grpc_5fclient_5fconfig',['grpc_client_config',['../client__config_8h.html#a5c92ac9b2893cfe73b5be84ddc10367c',1,'client_config.h']]], + ['grpc_5fcompletion_5fqueue',['grpc_completion_queue',['../grpc_8h.html#a895faab0e6035445750e43482651ba2f',1,'grpc.h']]], + ['grpc_5fcompletion_5ftype',['grpc_completion_type',['../grpc_8h.html#a70454b2958c92c1cd8feeaa45f157b74',1,'grpc.h']]], + ['grpc_5fconnectivity_5fstate_5fwatcher',['grpc_connectivity_state_watcher',['../connectivity__state_8h.html#aeda9add40d75e8ee7249a208e38a065a',1,'connectivity_state.h']]], + ['grpc_5fconnector',['grpc_connector',['../connector_8h.html#aae174ab59659a89b5e73c565023961bb',1,'connector.h']]], + ['grpc_5fconnector_5fvtable',['grpc_connector_vtable',['../connector_8h.html#add8d7e9bf9a65c5580489f9af7951bec',1,'connector.h']]], + ['grpc_5fcq_5fcompletion',['grpc_cq_completion',['../completion__queue_8h.html#a3695e8858dba0cab40f3becbf822e014',1,'completion_queue.h']]], + ['grpc_5fcredentials',['grpc_credentials',['../grpc__security_8h.html#a17768c857575e4500cdd12bb94d3f33e',1,'grpc_security.h']]], + ['grpc_5fcredentials_5fmetadata_5fcb',['grpc_credentials_metadata_cb',['../credentials_8h.html#a3d93eb22b0fedde1b3f7b6b9ded3aaf2',1,'credentials.h']]], + ['grpc_5fcredentials_5fmetadata_5frequest',['grpc_credentials_metadata_request',['../credentials_8h.html#ad254566b74763fc0ae17e07b230c862b',1,'credentials.h']]], + ['grpc_5fdualstack_5fmode',['grpc_dualstack_mode',['../socket__utils__posix_8h.html#a0d07cbe9b082267d5436905dedf86b91',1,'socket_utils_posix.h']]], + ['grpc_5fendpoint',['grpc_endpoint',['../endpoint_8h.html#ab0f168d17277b4b5a4d7842eec6ea3ea',1,'endpoint.h']]], + ['grpc_5fendpoint_5fcb_5fstatus',['grpc_endpoint_cb_status',['../endpoint_8h.html#ae601d949fd51e619ee5312bc2d733236',1,'endpoint.h']]], + ['grpc_5fendpoint_5fread_5fcb',['grpc_endpoint_read_cb',['../endpoint_8h.html#adb689cc1f448569b81f46c8810b5a24c',1,'endpoint.h']]], + ['grpc_5fendpoint_5fvtable',['grpc_endpoint_vtable',['../endpoint_8h.html#accd077025fc138a98e048238d2efe1b9',1,'endpoint.h']]], + ['grpc_5fendpoint_5fwrite_5fcb',['grpc_endpoint_write_cb',['../endpoint_8h.html#af2ca6ea84b9d91d443ba9a8a53e55f2a',1,'endpoint.h']]], + ['grpc_5fendpoint_5fwrite_5fstatus',['grpc_endpoint_write_status',['../endpoint_8h.html#ae5e35fd14127beb3af459a22d81ac1fd',1,'endpoint.h']]], + ['grpc_5fevent',['grpc_event',['../grpc_8h.html#a07990645ca218f6965fd83edf3f421b7',1,'grpc.h']]], + ['grpc_5ffd',['grpc_fd',['../fd__posix_8h.html#a9f8a2791dbd9811a996395c3b466509d',1,'fd_posix.h']]], + ['grpc_5ffd_5fwatcher',['grpc_fd_watcher',['../fd__posix_8h.html#abfc4bcf6d9e283872acf08eab90f8233',1,'fd_posix.h']]], + ['grpc_5ffetch_5foauth2_5ffunc',['grpc_fetch_oauth2_func',['../credentials_8h.html#a6c5b440dff7801066f4afb03a60c249d',1,'credentials.h']]], + ['grpc_5fhttpcli_5fcontext',['grpc_httpcli_context',['../httpcli_8h.html#aacb6a69953113d6b548366871b884345',1,'httpcli.h']]], + ['grpc_5fhttpcli_5fget_5foverride',['grpc_httpcli_get_override',['../httpcli_8h.html#a789e91e8c276aedb1c32873c3d6fa217',1,'httpcli.h']]], + ['grpc_5fhttpcli_5fheader',['grpc_httpcli_header',['../httpcli_8h.html#a3b84c74398894ce993b1e32daf468575',1,'httpcli.h']]], + ['grpc_5fhttpcli_5fpost_5foverride',['grpc_httpcli_post_override',['../httpcli_8h.html#a0591ce896f1a3f9b1b86e4eb6e9ac225',1,'httpcli.h']]], + ['grpc_5fhttpcli_5frequest',['grpc_httpcli_request',['../httpcli_8h.html#a4e0f0352ec7906d948f9dc046f9b4e79',1,'httpcli.h']]], + ['grpc_5fhttpcli_5fresponse',['grpc_httpcli_response',['../httpcli_8h.html#a9b9787db48bc2c77f38575943dc8dad0',1,'httpcli.h']]], + ['grpc_5fhttpcli_5fresponse_5fcb',['grpc_httpcli_response_cb',['../httpcli_8h.html#a00129a2e0bb8e9d9a6632e88f7a8c887',1,'httpcli.h']]], + ['grpc_5fiomgr_5fcb_5ffunc',['grpc_iomgr_cb_func',['../iomgr_8h.html#ad4037ad983dff2d616a6fb90158baad3',1,'iomgr.h']]], + ['grpc_5fiomgr_5fclosure',['grpc_iomgr_closure',['../iomgr_8h.html#ab34430c3d713794f01b7d6114ad4db87',1,'iomgr.h']]], + ['grpc_5fiomgr_5fobject',['grpc_iomgr_object',['../iomgr__internal_8h.html#a67a15c8c93d8195f1a6036d26b871814',1,'iomgr_internal.h']]], + ['grpc_5fioreq_5fcompletion_5ffunc',['grpc_ioreq_completion_func',['../call_8h.html#ac4899ae8f97f4bc7e61ae178d853373b',1,'call.h']]], + ['grpc_5fjson',['grpc_json',['../json_8h.html#ae8825a1aedd3c601c1db76275b0091eb',1,'json.h']]], + ['grpc_5fjson_5freader',['grpc_json_reader',['../json__reader_8h.html#a2e4389a352e99df3e5d9cb59a6c14929',1,'json_reader.h']]], + ['grpc_5fjson_5freader_5fvtable',['grpc_json_reader_vtable',['../json__reader_8h.html#ad0e9eed0713ae7021f4b72a0d45784b2',1,'json_reader.h']]], + ['grpc_5fjson_5fwriter',['grpc_json_writer',['../json__writer_8h.html#aa24bdcefdd09a31b2fa23fbaf4060dc9',1,'json_writer.h']]], + ['grpc_5fjson_5fwriter_5fvtable',['grpc_json_writer_vtable',['../json__writer_8h.html#a96f60637ee2643ea745d9746065d2c51',1,'json_writer.h']]], + ['grpc_5fjwt_5fclaims',['grpc_jwt_claims',['../jwt__verifier_8h.html#a3998a024a5d44465e9f4f5e56666f1a4',1,'jwt_verifier.h']]], + ['grpc_5fjwt_5fencode_5fand_5fsign_5foverride',['grpc_jwt_encode_and_sign_override',['../json__token_8h.html#acf73be11be357bfd35a30b845e26118f',1,'json_token.h']]], + ['grpc_5fjwt_5fverification_5fdone_5fcb',['grpc_jwt_verification_done_cb',['../jwt__verifier_8h.html#ac893f9591e5e8eafd1a900d4bb3092f2',1,'jwt_verifier.h']]], + ['grpc_5fjwt_5fverifier',['grpc_jwt_verifier',['../jwt__verifier_8h.html#a1bd823cc55eb0ce26b62aa69ca916cc0',1,'jwt_verifier.h']]], + ['grpc_5fkick_5ffd_5finfo',['grpc_kick_fd_info',['../pollset__kick__posix_8h.html#ac232fa28f35b012cc710033c351ee3d5',1,'pollset_kick_posix.h']]], + ['grpc_5flb_5fcompletion',['grpc_lb_completion',['../lb__policy_8h.html#a82191ae9ee04740368256ebfe25ec9d5',1,'lb_policy.h']]], + ['grpc_5flb_5fpolicy',['grpc_lb_policy',['../lb__policy_8h.html#aa2bf7da355b0faa3fe532f83899e3e2c',1,'lb_policy.h']]], + ['grpc_5flb_5fpolicy_5fvtable',['grpc_lb_policy_vtable',['../lb__policy_8h.html#a3319e96c3d9a520883e74ddf112f7fd2',1,'lb_policy.h']]], + ['grpc_5flinked_5fmdelem',['grpc_linked_mdelem',['../stream__op_8h.html#abebf5d5730a7a3aeaf9d6ee5436ddfa2',1,'stream_op.h']]], + ['grpc_5fmdctx',['grpc_mdctx',['../metadata_8h.html#a3d670d2ea84f975e9ff4758ceaf0742d',1,'metadata.h']]], + ['grpc_5fmdelem',['grpc_mdelem',['../metadata_8h.html#a90dde22c13b91f78568735a7f666992e',1,'metadata.h']]], + ['grpc_5fmdelem_5flist',['grpc_mdelem_list',['../stream__op_8h.html#ae2b8aff92cbac9a99f3ad263613078e2',1,'stream_op.h']]], + ['grpc_5fmdstr',['grpc_mdstr',['../metadata_8h.html#a37a4eca36e6506776f4c60c598dd01f5',1,'metadata.h']]], + ['grpc_5fmetadata',['grpc_metadata',['../grpc_8h.html#a1da84eaead787d991c5a0c87aed7c30b',1,'grpc.h']]], + ['grpc_5fmetadata_5fbatch',['grpc_metadata_batch',['../stream__op_8h.html#a3025731d8e4db9ecd7eb46d10f613410',1,'stream_op.h']]], + ['grpc_5fop',['grpc_op',['../grpc_8h.html#a6556a58ca45ad5132b89c770cf875215',1,'grpc.h']]], + ['grpc_5fplatform_5fbecome_5fmultipoller_5ftype',['grpc_platform_become_multipoller_type',['../pollset__posix_8h.html#a9b5fd5fc969bf6e0c45e5f49b1827bbd',1,'pollset_posix.h']]], + ['grpc_5fpollset',['grpc_pollset',['../pollset__posix_8h.html#a3651117ed8881e20c179f0c677c622ad',1,'grpc_pollset(): pollset_posix.h'],['../pollset__windows_8h.html#a3651117ed8881e20c179f0c677c622ad',1,'grpc_pollset(): pollset_windows.h']]], + ['grpc_5fpollset_5fkick_5fstate',['grpc_pollset_kick_state',['../pollset__kick__posix_8h.html#a18aca8f917c9aae06f6f84b8700afca1',1,'pollset_kick_posix.h']]], + ['grpc_5fpollset_5fset',['grpc_pollset_set',['../pollset__set__posix_8h.html#a5ad060e47c139ab007fe34b33fdf27d7',1,'grpc_pollset_set(): pollset_set_posix.h'],['../pollset__set__windows_8h.html#a5ad060e47c139ab007fe34b33fdf27d7',1,'grpc_pollset_set(): pollset_set_windows.h']]], + ['grpc_5fpollset_5fvtable',['grpc_pollset_vtable',['../pollset__posix_8h.html#a93b9c2aef29b7ffe733779b8d4c32db1',1,'pollset_posix.h']]], + ['grpc_5fprecise_5fclock',['grpc_precise_clock',['../timers__preciseclock_8h.html#a4f27cae71a2187ed049a3905cae591e2',1,'timers_preciseclock.h']]], + ['grpc_5fresolve_5fcb',['grpc_resolve_cb',['../resolve__address_8h.html#acac9db416b80e9bc82bbd0e1408cc3e0',1,'resolve_address.h']]], + ['grpc_5fresolver',['grpc_resolver',['../resolver_8h.html#ab98013b9b8e8c28771dc39013667f2b3',1,'resolver.h']]], + ['grpc_5fresolver_5ffactory',['grpc_resolver_factory',['../resolver__factory_8h.html#a44d5c388fec49323981552a26c5835a2',1,'resolver_factory.h']]], + ['grpc_5fresolver_5ffactory_5fvtable',['grpc_resolver_factory_vtable',['../resolver__factory_8h.html#abf04e4004b01653a0274a3a0d175ab1b',1,'resolver_factory.h']]], + ['grpc_5fresolver_5fvtable',['grpc_resolver_vtable',['../resolver_8h.html#aa9af03422b3cea75b4dae7725beab911',1,'resolver.h']]], + ['grpc_5fsecure_5ftransport_5fsetup_5fdone_5fcb',['grpc_secure_transport_setup_done_cb',['../secure__transport__setup_8h.html#a87e784b2a78827a00d144f0fcd119ed8',1,'secure_transport_setup.h']]], + ['grpc_5fsecurity_5fcheck_5fcb',['grpc_security_check_cb',['../security__connector_8h.html#a2c65e5934491f893a10fb5062f0e08fa',1,'security_connector.h']]], + ['grpc_5fsecurity_5fconnector',['grpc_security_connector',['../security__connector_8h.html#a243897cc56b3cff21887ba4c53e52539',1,'security_connector.h']]], + ['grpc_5fserver',['grpc_server',['../grpc_8h.html#a2bbbaad8f7a806f6c834b68c5dd916d8',1,'grpc.h']]], + ['grpc_5fserver_5fcredentials',['grpc_server_credentials',['../grpc__security_8h.html#aa724192e56fdc03827846f16752deccc',1,'grpc_security.h']]], + ['grpc_5fserver_5fsecure_5fstate',['grpc_server_secure_state',['../server__secure__chttp2_8c.html#a5867481af652d517f32b61834205f2b0',1,'server_secure_chttp2.c']]], + ['grpc_5fstream',['grpc_stream',['../transport_8h.html#a76b37030fedc90baec5ff0f15c3e8449',1,'transport.h']]], + ['grpc_5fstream_5fop',['grpc_stream_op',['../stream__op_8h.html#aca8c5433826e85b51970530c1c8ce127',1,'stream_op.h']]], + ['grpc_5fstream_5fop_5fbuffer',['grpc_stream_op_buffer',['../stream__op_8h.html#a1adfdd2ef9e01a35217bb00ca27c48c5',1,'stream_op.h']]], + ['grpc_5fstream_5fop_5fcode',['grpc_stream_op_code',['../stream__op_8h.html#aae7f77961eb1741340666865ab0c5fc7',1,'stream_op.h']]], + ['grpc_5fstream_5fstate',['grpc_stream_state',['../transport_8h.html#ad2bffd8c4adc3f1131752a17710d8477',1,'transport.h']]], + ['grpc_5fsubchannel',['grpc_subchannel',['../subchannel_8h.html#a6d36bd247fd79f7c8a2788d04f622a06',1,'subchannel.h']]], + ['grpc_5fsubchannel_5fargs',['grpc_subchannel_args',['../subchannel_8h.html#a1ef8f51fcaea0bb29010f164b4429a55',1,'subchannel.h']]], + ['grpc_5fsubchannel_5fcall',['grpc_subchannel_call',['../subchannel_8h.html#a007a93252a4a76631336ab840c18ee7d',1,'subchannel.h']]], + ['grpc_5fsubchannel_5ffactory',['grpc_subchannel_factory',['../subchannel__factory_8h.html#a0881f059aa8f26e71eb479eed9d06785',1,'subchannel_factory.h']]], + ['grpc_5fsubchannel_5ffactory_5fvtable',['grpc_subchannel_factory_vtable',['../subchannel__factory_8h.html#a032cc20ff8747dbc985aa2b85b8f7abf',1,'subchannel_factory.h']]], + ['grpc_5ftcp_5fserver',['grpc_tcp_server',['../tcp__server_8h.html#a441eeedb58bf1fe1b656292b3c919e6d',1,'tcp_server.h']]], + ['grpc_5ftcp_5fserver_5fcb',['grpc_tcp_server_cb',['../tcp__server_8h.html#a78c33e7fded0e0a871be12e9f6c9a4c9',1,'tcp_server.h']]], + ['grpc_5ftransport',['grpc_transport',['../transport_8h.html#a7ba3f709ee3b451e434c67acf7fb7451',1,'transport.h']]], + ['grpc_5ftransport_5fop',['grpc_transport_op',['../transport_8h.html#aae32d98b458fa93adbe5959dbcd6a7bf',1,'transport.h']]], + ['grpc_5ftransport_5fstream_5fop',['grpc_transport_stream_op',['../transport_8h.html#a425321242c0f56ca08e74a4afcbdd017',1,'transport.h']]], + ['grpc_5ftransport_5fvtable',['grpc_transport_vtable',['../transport__impl_8h.html#a4b1efd30e926ac7b61690b3f5c085aed',1,'transport_impl.h']]], + ['grpc_5fwakeup_5ffd_5finfo',['grpc_wakeup_fd_info',['../wakeup__fd__posix_8h.html#a5b7e6c1bff52dd231ecb17a6716c3815',1,'wakeup_fd_posix.h']]], + ['grpc_5fwakeup_5ffd_5fvtable',['grpc_wakeup_fd_vtable',['../wakeup__fd__posix_8h.html#a6c0de4baf5c167e5e1b153bb89b77e3e',1,'wakeup_fd_posix.h']]], + ['grpc_5fwinsocket',['grpc_winsocket',['../socket__windows_8h.html#a9ad80b9793b77151a20061cc13e96f6a',1,'socket_windows.h']]], + ['grpc_5fwinsocket_5fcallback_5finfo',['grpc_winsocket_callback_info',['../socket__windows_8h.html#a672778b37972213ae3db8f3ba876cadc',1,'socket_windows.h']]] +]; diff --git a/doc/ref/core.internal/html/search/typedefs_3.html b/doc/ref/core.internal/html/search/typedefs_3.html new file mode 100644 index 0000000000..9cb52e4673 --- /dev/null +++ b/doc/ref/core.internal/html/search/typedefs_3.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core.internal/html/search/typedefs_3.js b/doc/ref/core.internal/html/search/typedefs_3.js new file mode 100644 index 0000000000..5d72983ad9 --- /dev/null +++ b/doc/ref/core.internal/html/search/typedefs_3.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['internal_5fmetadata',['internal_metadata',['../metadata_8c.html#a5de9c52bec44c8dd9a46d9575c4336ed',1,'metadata.c']]], + ['internal_5fstring',['internal_string',['../metadata_8c.html#ac4804488e22d084fbaf91101dab8c1ee',1,'metadata.c']]] +]; diff --git a/doc/ref/core.internal/html/search/typedefs_4.html b/doc/ref/core.internal/html/search/typedefs_4.html new file mode 100644 index 0000000000..64c6ccef13 --- /dev/null +++ b/doc/ref/core.internal/html/search/typedefs_4.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core.internal/html/search/typedefs_4.js b/doc/ref/core.internal/html/search/typedefs_4.js new file mode 100644 index 0000000000..a2d284f50e --- /dev/null +++ b/doc/ref/core.internal/html/search/typedefs_4.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['listener',['listener',['../server_8c.html#a0a81ac863a31441ba5e8e2fc6be04f2c',1,'server.c']]], + ['lockfree_5fnode',['lockfree_node',['../stack__lockfree_8c.html#a64e6ad783031985682ffda6b0c912bb6',1,'stack_lockfree.c']]] +]; diff --git a/doc/ref/core.internal/html/search/typedefs_5.html b/doc/ref/core.internal/html/search/typedefs_5.html new file mode 100644 index 0000000000..e014348b9a --- /dev/null +++ b/doc/ref/core.internal/html/search/typedefs_5.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core.internal/html/search/typedefs_5.js b/doc/ref/core.internal/html/search/typedefs_5.js new file mode 100644 index 0000000000..7dc52c0562 --- /dev/null +++ b/doc/ref/core.internal/html/search/typedefs_5.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['new_5fslice_5frefcount',['new_slice_refcount',['../slice_8c.html#a58022d982381d1f2d8125f9f24e2e1ae',1,'slice.c']]], + ['new_5fwith_5flen_5fslice_5frefcount',['new_with_len_slice_refcount',['../slice_8c.html#a07dd4d3601f8c54de26721289ba4d822',1,'slice.c']]] +]; diff --git a/doc/ref/core.internal/html/search/typedefs_6.html b/doc/ref/core.internal/html/search/typedefs_6.html new file mode 100644 index 0000000000..25d6aef5d4 --- /dev/null +++ b/doc/ref/core.internal/html/search/typedefs_6.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core.internal/html/search/typedefs_6.js b/doc/ref/core.internal/html/search/typedefs_6.js new file mode 100644 index 0000000000..fa79db55e4 --- /dev/null +++ b/doc/ref/core.internal/html/search/typedefs_6.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['pending_5fpick',['pending_pick',['../pick__first_8c.html#ad479509ed6c18dc54a54d231ec73a4e6',1,'pick_first.c']]] +]; diff --git a/doc/ref/core.internal/html/search/typedefs_7.html b/doc/ref/core.internal/html/search/typedefs_7.html new file mode 100644 index 0000000000..77c19301ea --- /dev/null +++ b/doc/ref/core.internal/html/search/typedefs_7.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core.internal/html/search/typedefs_7.js b/doc/ref/core.internal/html/search/typedefs_7.js new file mode 100644 index 0000000000..d28b7c9c22 --- /dev/null +++ b/doc/ref/core.internal/html/search/typedefs_7.js @@ -0,0 +1,7 @@ +var searchData= +[ + ['registered_5fcall',['registered_call',['../channel_8c.html#a52a88ba75481c926895932b8b05951c2',1,'channel.c']]], + ['registered_5fmethod',['registered_method',['../server_8c.html#a6f8273ccf99ef212028d3488d579cf3b',1,'server.c']]], + ['request_5fmatcher',['request_matcher',['../server_8c.html#a7c5e0489837d1efdf2f3fdb7087b59d4',1,'server.c']]], + ['requested_5fcall',['requested_call',['../server_8c.html#a9b3e4fcd769f2a62cbbbde867715ef2c',1,'server.c']]] +]; diff --git a/doc/ref/core.internal/html/search/typedefs_8.html b/doc/ref/core.internal/html/search/typedefs_8.html new file mode 100644 index 0000000000..9ed4ee3201 --- /dev/null +++ b/doc/ref/core.internal/html/search/typedefs_8.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core.internal/html/search/typedefs_8.js b/doc/ref/core.internal/html/search/typedefs_8.js new file mode 100644 index 0000000000..18a1bb686d --- /dev/null +++ b/doc/ref/core.internal/html/search/typedefs_8.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['shutdown_5ftag',['shutdown_tag',['../server_8c.html#a292b677b1a61ecd5c4608340fa647346',1,'server.c']]] +]; diff --git a/doc/ref/core.internal/html/search/typedefs_9.html b/doc/ref/core.internal/html/search/typedefs_9.html new file mode 100644 index 0000000000..83eeb277f0 --- /dev/null +++ b/doc/ref/core.internal/html/search/typedefs_9.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core.internal/html/search/typedefs_9.js b/doc/ref/core.internal/html/search/typedefs_9.js new file mode 100644 index 0000000000..df477182a3 --- /dev/null +++ b/doc/ref/core.internal/html/search/typedefs_9.js @@ -0,0 +1,9 @@ +var searchData= +[ + ['tcp_5fendpoint_5flist',['tcp_endpoint_list',['../server__secure__chttp2_8c.html#ac7944e456bcd1ed1ea7e112ee396e6aa',1,'server_secure_chttp2.c']]], + ['tracer',['tracer',['../trace_8c.html#aff327d037f1cb69bc5c5c25a73b63104',1,'trace.c']]], + ['tsi_5fframe_5fprotector',['tsi_frame_protector',['../transport__security__interface_8h.html#a39ae4fe62f4ebc278c7738d6eda50dc8',1,'transport_security_interface.h']]], + ['tsi_5fhandshaker',['tsi_handshaker',['../transport__security__interface_8h.html#a37dc2869b4b8fbc2347d4e37a7f7a971',1,'transport_security_interface.h']]], + ['tsi_5fpeer_5fproperty',['tsi_peer_property',['../transport__security__interface_8h.html#ac82910ae9258e25d7281f46a9ab9c4be',1,'transport_security_interface.h']]], + ['tsi_5fssl_5fhandshaker_5ffactory',['tsi_ssl_handshaker_factory',['../ssl__transport__security_8h.html#a33648ab82d52fddf97cd254ab14cad32',1,'ssl_transport_security.h']]] +]; diff --git a/doc/ref/core.internal/html/search/typedefs_a.html b/doc/ref/core.internal/html/search/typedefs_a.html new file mode 100644 index 0000000000..6e5cb06822 --- /dev/null +++ b/doc/ref/core.internal/html/search/typedefs_a.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core.internal/html/search/typedefs_a.js b/doc/ref/core.internal/html/search/typedefs_a.js new file mode 100644 index 0000000000..a9b7a8807b --- /dev/null +++ b/doc/ref/core.internal/html/search/typedefs_a.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['waiting_5ffor_5fconnect',['waiting_for_connect',['../subchannel_8c.html#a5c5a0a02a82c51b4df27922770a17516',1,'subchannel.c']]] +]; diff --git a/doc/ref/core.internal/html/search/variables_0.html b/doc/ref/core.internal/html/search/variables_0.html new file mode 100644 index 0000000000..1b8adc9b33 --- /dev/null +++ b/doc/ref/core.internal/html/search/variables_0.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core.internal/html/search/variables_0.js b/doc/ref/core.internal/html/search/variables_0.js new file mode 100644 index 0000000000..7f91ca2d0b --- /dev/null +++ b/doc/ref/core.internal/html/search/variables_0.js @@ -0,0 +1,44 @@ +var searchData= +[ + ['accept_5fstream',['accept_stream',['../structgrpc__chttp2__transport.html#a563b98e58df202ea2654dcada575ff2a',1,'grpc_chttp2_transport']]], + ['accept_5fstream_5fuser_5fdata',['accept_stream_user_data',['../structgrpc__chttp2__transport.html#a039e50d9c69f5c8ea2faa685f41d4c8f',1,'grpc_chttp2_transport']]], + ['accepting_5fstream',['accepting_stream',['../structgrpc__chttp2__transport.html#a480ae47b5ab8e7f2926cb83b79952c7e',1,'grpc_chttp2_transport']]], + ['access_5ftoken_5fmd',['access_token_md',['../structgrpc__oauth2__token__fetcher__credentials.html#abf3f319f98882bf7ae8fc81bd95076be',1,'grpc_oauth2_token_fetcher_credentials::access_token_md()'],['../structgrpc__access__token__credentials.html#a194d95853f9a3b3c8a4d9e421628ab09',1,'grpc_access_token_credentials::access_token_md()'],['../structgrpc__fake__oauth2__credentials.html#a497212470e93de0f855f946c4e38b693',1,'grpc_fake_oauth2_credentials::access_token_md()']]], + ['active',['active',['../structgrpc__subchannel.html#a9095183eaf77899e3b932d3445cfa45b',1,'grpc_subchannel']]], + ['active_5fversion',['active_version',['../structgrpc__subchannel.html#a6569eb7df7abc7fd022ff8c1a6ce2ae1',1,'grpc_subchannel']]], + ['add_5ffd',['add_fd',['../structgrpc__pollset__vtable.html#a72b5c1fe9036b0e1cec8df3696a7aed5',1,'grpc_pollset_vtable']]], + ['add_5fto_5fpollset',['add_to_pollset',['../structgrpc__endpoint__vtable.html#ae2d638d92a090e190a73ba01f2b29556',1,'grpc_endpoint_vtable']]], + ['add_5fto_5fpollset_5fset',['add_to_pollset_set',['../structgrpc__endpoint__vtable.html#ac276ecfd62bad184e1bed7eaa2674b3c',1,'grpc_endpoint_vtable']]], + ['added_5fto_5fiocp',['added_to_iocp',['../structgrpc__winsocket.html#ac79017879c86aece4c98a043c5093d47',1,'grpc_winsocket']]], + ['addr',['addr',['../structgrpc__connect__in__args.html#a01c5d04f3df0288acdd6e68e84ac1834',1,'grpc_connect_in_args::addr()'],['../structgrpc__subchannel__args.html#a70a5fadf5d3d346932fd6140c6bc7fcb',1,'grpc_subchannel_args::addr()'],['../structgrpc__resolved__address.html#a664035b0fc073c4a49f5e7c1cc765c9d',1,'grpc_resolved_address::addr()'],['../structsockaddr__resolver.html#a35fd9ba04c766da4556c76e6f32a6356',1,'sockaddr_resolver::addr()'],['../structgrpc__subchannel.html#a1133699340905f7c7f8c50fc97591647',1,'grpc_subchannel::addr()']]], + ['addr_5flen',['addr_len',['../structgrpc__connect__in__args.html#a258a95ae88f73e33680be007cf68521b',1,'grpc_connect_in_args::addr_len()'],['../structgrpc__subchannel__args.html#a971dc93e9701406ff4b38e62a6b93026',1,'grpc_subchannel_args::addr_len()'],['../structsockaddr__resolver.html#acad714ee68d2e23a4157f49f7fc35e91',1,'sockaddr_resolver::addr_len()'],['../structgrpc__subchannel.html#ab74ce5a1e1067a508e74048ec68aea10',1,'grpc_subchannel::addr_len()']]], + ['addresses',['addresses',['../structinternal__request.html#a0ab2a9ca4e299dc1f8fa41de2e3384b0',1,'internal_request']]], + ['addrs',['addrs',['../structgrpc__resolved__addresses.html#afdf4d95430fcf478a164c665d71e913c',1,'grpc_resolved_addresses']]], + ['after_5fprioritization',['after_prioritization',['../structgrpc__chttp2__hpack__parser.html#ace46342325728ee279253c5ee146d6d0',1,'grpc_chttp2_hpack_parser']]], + ['aggregate_5ftotal_5fweight',['aggregate_total_weight',['../structgrpc__time__averaged__stats.html#a85043e8ac6f293e2e74c8e93cf8660f1',1,'grpc_time_averaged_stats']]], + ['aggregate_5fweighted_5favg',['aggregate_weighted_avg',['../structgrpc__time__averaged__stats.html#a0ba895378c9c903375bbe3d153aae2ab',1,'grpc_time_averaged_stats']]], + ['alarm',['alarm',['../structgrpc__subchannel.html#af42dd9bca8055a7afb3415f857ca28fa',1,'grpc_subchannel::alarm()'],['../structgrpc__call.html#a673a0cdde6bc7ebe5ff66820b8bd0b91',1,'grpc_call::alarm()'],['../structstate__watcher.html#a550220a27c14e026329a260cd581ece2',1,'state_watcher::alarm()']]], + ['alarm_5fcapacity',['alarm_capacity',['../structgrpc__alarm__heap.html#a6f3027df3cbd0286bd72f5f569b6e7bd',1,'grpc_alarm_heap']]], + ['alarm_5fcount',['alarm_count',['../structgrpc__alarm__heap.html#a0d4ddd4a84b673b0bdf91eb5d219bfa5',1,'grpc_alarm_heap']]], + ['alarms',['alarms',['../structgrpc__alarm__heap.html#af2b6cbe9ec6e6c97a43d21f874264a82',1,'grpc_alarm_heap']]], + ['alg',['alg',['../structjose__header.html#a1f2a1e1efa6f64762c67f7c688790c0d',1,'jose_header']]], + ['allocated',['allocated',['../structgrpc__credentials__md__store.html#a6b9a6a36be981b53ce96afe727e8b95e',1,'grpc_credentials_md_store::allocated()'],['../structjson__writer__userdata.html#a6be58e44bfcd53828551b919df38489d',1,'json_writer_userdata::allocated()']]], + ['allocated_5fcompletions',['allocated_completions',['../structgrpc__call.html#a7fa8c9ad3543546625b2aaa7d2853c05',1,'grpc_call']]], + ['allocated_5fmappings',['allocated_mappings',['../structgrpc__jwt__verifier.html#adcf1fd004d97c7345bffbbfbb5983e3c',1,'grpc_jwt_verifier']]], + ['allocated_5fsize',['allocated_size',['../structtsi__fake__frame.html#ac48b3f97ad8df8b87cf38b75d843591b',1,'tsi_fake_frame']]], + ['alpn_5fprotocol_5flist',['alpn_protocol_list',['../structtsi__ssl__client__handshaker__factory.html#a92aea4cb778959043703fcc3623c68a9',1,'tsi_ssl_client_handshaker_factory::alpn_protocol_list()'],['../structtsi__ssl__server__handshaker__factory.html#a02579737ef9a57855da159c54c05955f',1,'tsi_ssl_server_handshaker_factory::alpn_protocol_list()']]], + ['alpn_5fprotocol_5flist_5flength',['alpn_protocol_list_length',['../structtsi__ssl__client__handshaker__factory.html#a63415a7f73f99c3ccee2addc915c9482',1,'tsi_ssl_client_handshaker_factory::alpn_protocol_list_length()'],['../structtsi__ssl__server__handshaker__factory.html#a1dd579a38c0ab5d7f1304b26a838954b',1,'tsi_ssl_server_handshaker_factory::alpn_protocol_list_length()']]], + ['amount',['amount',['../structgrpc__chttp2__window__update__parser.html#a6c822f3aa4adda962a78d20ae3ed0da2',1,'grpc_chttp2_window_update_parser']]], + ['announce_5fwindow',['announce_window',['../structgrpc__chttp2__stream__writing.html#a261161be44a3f481f38c7d498da4aa17',1,'grpc_chttp2_stream_writing']]], + ['arg',['arg',['../structlistener.html#a979a29a26af9ef7a83a22f0cdd7fe1a4',1,'listener']]], + ['args',['args',['../structgrpc__channel__args.html#a05aa7aeb14aa9ae5f4d6a34f5c222b76',1,'grpc_channel_args::args()'],['../structgrpc__subchannel__args.html#aef192a6424f47e0830b60102215ad081',1,'grpc_subchannel_args::args()'],['../structconnector.html#ad3d70fc61b888fcb246a4a307b16c4ec',1,'connector::args()'],['../structgrpc__subchannel.html#a9ffccab543a55f5ea53d9075f8d88079',1,'grpc_subchannel::args()'],['../structgpr__cmdline.html#a7966fa04e7e92065675c49535ea9c078',1,'gpr_cmdline::args()']]], + ['argv0',['argv0',['../structgpr__cmdline.html#ad262ed090b9dca4ea6d4bd7be222a40e',1,'gpr_cmdline']]], + ['async_5fsetup_5ftask',['async_setup_task',['../structcall__data.html#ab21ef8aafd3c095825805e29e69670ce',1,'call_data']]], + ['atm',['atm',['../unionlockfree__node.html#a8bac5e680ab1fce893f7727f7a0be892',1,'lockfree_node']]], + ['aud',['aud',['../structgrpc__jwt__claims.html#ab3aeb778bc0983824534ffa0c1e51f9c',1,'grpc_jwt_claims']]], + ['audience',['audience',['../structverifier__cb__ctx.html#afdbd6e54ed44e9938991b0ed1915ed2d',1,'verifier_cb_ctx']]], + ['auth_5fcontext',['auth_context',['../structgrpc__security__connector.html#a076a1d251960f6c9c3b173d1d8eb9a17',1,'grpc_security_connector::auth_context()'],['../structgrpc__client__security__context.html#add1cf1d4ba571e2a7de7bbe9bcdeda7c',1,'grpc_client_security_context::auth_context()'],['../structgrpc__server__security__context.html#a75d2dbb8f1f384376186fabb4df937e1',1,'grpc_server_security_context::auth_context()']]], + ['authority',['authority',['../structgrpc__uri.html#a45c46df3b35b7f1ce728ea22c9d5dde7',1,'grpc_uri::authority()'],['../structcall__data.html#a216c8a3e91a659b6ad5f3de09bbf8ff0',1,'call_data::authority()'],['../structregistered__call.html#aa41fdf7362b58db7148acb228df62408',1,'registered_call::authority()']]], + ['authority_5fkey',['authority_key',['../structchannel__data.html#abff9ead49754255e5fe5f5767634b553',1,'channel_data']]], + ['authority_5fstring',['authority_string',['../structchannel__data.html#a65b7bac5d0844808a6d6b399ca1d234f',1,'channel_data::authority_string()'],['../structgrpc__channel.html#a9ad924bb3cc339c10d106f48b9a4a959',1,'grpc_channel::authority_string()']]] +]; diff --git a/doc/ref/core.internal/html/search/variables_1.html b/doc/ref/core.internal/html/search/variables_1.html new file mode 100644 index 0000000000..78f63cd1eb --- /dev/null +++ b/doc/ref/core.internal/html/search/variables_1.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core.internal/html/search/variables_1.js b/doc/ref/core.internal/html/search/variables_1.js new file mode 100644 index 0000000000..6ed7b4a362 --- /dev/null +++ b/doc/ref/core.internal/html/search/variables_1.js @@ -0,0 +1,31 @@ +var searchData= +[ + ['backoff_5fdelta',['backoff_delta',['../structgrpc__subchannel.html#a337c8cb56f9a249ca181ddc1f5999af5',1,'grpc_subchannel']]], + ['base',['base',['../structgrpc__ssl__credentials.html#a2745d407b41a3278d6701b10dd94c6e4',1,'grpc_ssl_credentials::base()'],['../structgrpc__ssl__server__credentials.html#af476f00d0272add3ba170388460abc71',1,'grpc_ssl_server_credentials::base()'],['../structgrpc__service__account__jwt__access__credentials.html#a9da87dad6986e218d5246fc125db04f4',1,'grpc_service_account_jwt_access_credentials::base()'],['../structgrpc__oauth2__token__fetcher__credentials.html#acf21ce59c27d145279e5a26d561ea2d5',1,'grpc_oauth2_token_fetcher_credentials::base()'],['../structgrpc__service__account__credentials.html#acb97b3d4e8dd7783520e82d6416f25d0',1,'grpc_service_account_credentials::base()'],['../structgrpc__refresh__token__credentials.html#a2be1d1da67694fe3a5c496f832908b9e',1,'grpc_refresh_token_credentials::base()'],['../structgrpc__access__token__credentials.html#a594ae3c4f36d690eb29a8c0a1ec48d0b',1,'grpc_access_token_credentials::base()'],['../structgrpc__fake__oauth2__credentials.html#a706b02614122deadad3f0fa9713c9901',1,'grpc_fake_oauth2_credentials::base()'],['../structgrpc__iam__credentials.html#a0470518ebd35b41e23f35fb85080750d',1,'grpc_iam_credentials::base()'],['../structgrpc__composite__credentials.html#a96e8d7c765b0b1e37d025d8726fe57d2',1,'grpc_composite_credentials::base()'],['../structgrpc__channel__security__connector.html#ac8633820dab73e1d4a083010865ece08',1,'grpc_channel_security_connector::base()'],['../structgrpc__chttp2__transport.html#aafdcf31c8c77411e25dfa9b94eeb283f',1,'grpc_chttp2_transport::base()'],['../structgrpc__httpcli__ssl__channel__security__connector.html#a4da06be1278854b4447140407d81db25',1,'grpc_httpcli_ssl_channel_security_connector::base()'],['../structsecure__endpoint.html#ac85eec4e82c343cb9fd03c8dea0a08bb',1,'secure_endpoint::base()'],['../structgrpc__fake__channel__security__connector.html#a3a30ba1484411dcedb12607e1a523431',1,'grpc_fake_channel_security_connector::base()'],['../structgrpc__ssl__channel__security__connector.html#af7253d985a9b58d3f7a363d05fdb148c',1,'grpc_ssl_channel_security_connector::base()'],['../structgrpc__ssl__server__security__connector.html#a458d7df65c42b6df819570e79f750907',1,'grpc_ssl_server_security_connector::base()'],['../structconnector.html#a073303affdd652e8688303df9a126bd2',1,'connector::base()'],['../structsubchannel__factory.html#a58fdbc6cebefc2d0f5a75081bee7b676',1,'subchannel_factory::base()'],['../structtsi__fake__handshaker.html#ac20760acd01b20d55b2f92b6a8a139da',1,'tsi_fake_handshaker::base()'],['../structtsi__fake__frame__protector.html#a1f23e2443125ab322674638a71832620',1,'tsi_fake_frame_protector::base()'],['../structtsi__ssl__client__handshaker__factory.html#a66026b4b56a25d198d4aafa959da8413',1,'tsi_ssl_client_handshaker_factory::base()'],['../structtsi__ssl__server__handshaker__factory.html#a68655e93122b5b856ecb840526ff86d9',1,'tsi_ssl_server_handshaker_factory::base()'],['../structtsi__ssl__handshaker.html#a21ae1da6ec22caf8229b148e11aad657',1,'tsi_ssl_handshaker::base()'],['../structtsi__ssl__frame__protector.html#a7d015792be7227bfd44a6a17dc08aa72',1,'tsi_ssl_frame_protector::base()'],['../structpick__first__lb__policy.html#a3e8f7088400929001aa4b589a3f79f79',1,'pick_first_lb_policy::base()'],['../structdns__resolver.html#a135f51d63ab8d730d7ba491f0d94b6f6',1,'dns_resolver::base()'],['../structsockaddr__resolver.html#a92a0b91dca1a2ecdb5eea739a8038c82',1,'sockaddr_resolver::base()'],['../structmerge__args__factory.html#a10d01f7c94efbd37682c4c2af19a21e8',1,'merge_args_factory::base()'],['../structmalloc__refcount.html#a9443dc5946fa32f480286c87d5dc3686',1,'malloc_refcount::base()']]], + ['base64_5fand_5fhuffman',['base64_and_huffman',['../structinternal__string.html#abfafee0983fc1c6c1e38c8e539d41999',1,'internal_string']]], + ['base64_5fbuffer',['base64_buffer',['../structgrpc__chttp2__hpack__parser.html#af48331853250257b1640d07e06d6e47e',1,'grpc_chttp2_hpack_parser']]], + ['batch',['batch',['../structrequested__call.html#a664afa5ffde3750f0ff04f69813fbcd2',1,'requested_call']]], + ['batch_5fnum_5fsamples',['batch_num_samples',['../structgrpc__time__averaged__stats.html#a630c3447f5023f4ab790a311ec93f6fb',1,'grpc_time_averaged_stats']]], + ['batch_5ftotal_5fvalue',['batch_total_value',['../structgrpc__time__averaged__stats.html#a87b5877b79ff41a32b12065ce4e0273b',1,'grpc_time_averaged_stats']]], + ['begin_5fmessage',['begin_message',['../structgrpc__stream__op.html#af6c691f3348941eee97e54957222562f',1,'grpc_stream_op']]], + ['binary',['binary',['../structgrpc__chttp2__hpack__parser.html#ac7bd236697b3923633920b3dcc26079f',1,'grpc_chttp2_hpack_parser']]], + ['bind_5fpollset',['bind_pollset',['../structgrpc__transport__stream__op.html#a8d6fc4a4607cb5e19255328c69dbbbc4',1,'grpc_transport_stream_op::bind_pollset()'],['../structgrpc__transport__op.html#aeaed4d0f2349649d83e662cd69fbe9b2',1,'grpc_transport_op::bind_pollset()']]], + ['bind_5fpollset_5fset',['bind_pollset_set',['../structgrpc__transport__op.html#a4ab2143e7e598667e29f3366722c07a3',1,'grpc_transport_op']]], + ['bits',['bits',['../structgrpc__chttp2__huffsym.html#a90ee6b96d9c7946f78271d280f881b88',1,'grpc_chttp2_huffsym::bits()'],['../structb64__huff__sym.html#ab216d5e5b8fdb4ccfd9a4843aa389b81',1,'b64_huff_sym::bits()']]], + ['body',['body',['../structgrpc__httpcli__response.html#a8f37c239a412de970f3489c71ad08b90',1,'grpc_httpcli_response']]], + ['body_5fcapacity',['body_capacity',['../structgrpc__httpcli__parser.html#a4229204d0c6b48f33f9016d48b05b628',1,'grpc_httpcli_parser']]], + ['body_5flength',['body_length',['../structgrpc__httpcli__response.html#a26967529714ef3cba3a5ce5f6a34d9cb',1,'grpc_httpcli_response']]], + ['bound_5fpollset',['bound_pollset',['../structgrpc__call.html#a3cd66ac4c2f69f16f6037fc63f0d49db',1,'grpc_call']]], + ['broadcast',['broadcast',['../structgrpc__lb__policy__vtable.html#a0a12509ba4569fb4c87b4d325e0f89d3',1,'grpc_lb_policy_vtable']]], + ['bucket_5fnext',['bucket_next',['../structinternal__string.html#a821c2b13cb1eea1ed3e36e867b62f3ba',1,'internal_string::bucket_next()'],['../structinternal__metadata.html#aadcd0104b419227943fcd4a53920777e',1,'internal_metadata::bucket_next()']]], + ['buckets',['buckets',['../structgpr__histogram.html#abc707964e4925f4b7abf4c69daaaef73',1,'gpr_histogram']]], + ['buffer',['buffer',['../structjose__header.html#af14380ad49201179d4ad6e3fa7a0e58b',1,'jose_header::buffer()'],['../structgrpc__jwt__claims.html#a62be74275bf0b7d887d70229bb9e497b',1,'grpc_jwt_claims::buffer()'],['../structtsi__ssl__frame__protector.html#a3df125b5b712526ea26ba5dbaa8a71ee',1,'tsi_ssl_frame_protector::buffer()']]], + ['buffer_5fin',['buffer_in',['../structgrpc__byte__buffer__reader.html#a8856d955b045dab1a425fac372e0be22',1,'grpc_byte_buffer_reader']]], + ['buffer_5foffset',['buffer_offset',['../structtsi__ssl__frame__protector.html#a8d6f4e3e06cec85370146dae562a572f',1,'tsi_ssl_frame_protector']]], + ['buffer_5fout',['buffer_out',['../structgrpc__byte__buffer__reader.html#aa947e8d51e0b4333e2b68f0ac55f4e47',1,'grpc_byte_buffer_reader']]], + ['buffer_5fsize',['buffer_size',['../structtsi__ssl__frame__protector.html#a1a3705245461fa77c84d7cb3806b1840',1,'tsi_ssl_frame_protector']]], + ['buffered_5fmetadata',['buffered_metadata',['../structgrpc__call.html#ae501d7b947eb7a73170ccc5272e83c15',1,'grpc_call']]], + ['byte',['byte',['../structgrpc__chttp2__ping__parser.html#a210db2114f01c53a41e466da1cf1af33',1,'grpc_chttp2_ping_parser::byte()'],['../structgrpc__chttp2__rst__stream__parser.html#aee8f43a9cfb3468529d9bfa7ad30d665',1,'grpc_chttp2_rst_stream_parser::byte()'],['../structgrpc__chttp2__window__update__parser.html#a9e8db4c14f00aa3572c81566448cba79',1,'grpc_chttp2_window_update_parser::byte()']]], + ['bytes',['bytes',['../structgrpc__byte__buffer__queue.html#a16c6f1877a10ab226a2fd9988612ea59',1,'grpc_byte_buffer_queue::bytes()'],['../structgpr__slice.html#a16646e1a137851f2b031cf2c431b2864',1,'gpr_slice::bytes()'],['../structgpr__slice.html#a39592633c4ad594a15b3a52aadff398d',1,'gpr_slice::bytes()']]], + ['bytes_5ftransfered',['bytes_transfered',['../structgrpc__winsocket__callback__info.html#ae7d4cdac6983f1de38a239a3bb11021e',1,'grpc_winsocket_callback_info']]] +]; diff --git a/doc/ref/core.internal/html/search/variables_10.html b/doc/ref/core.internal/html/search/variables_10.html new file mode 100644 index 0000000000..c43ead3a78 --- /dev/null +++ b/doc/ref/core.internal/html/search/variables_10.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core.internal/html/search/variables_10.js b/doc/ref/core.internal/html/search/variables_10.js new file mode 100644 index 0000000000..f1c017a157 --- /dev/null +++ b/doc/ref/core.internal/html/search/variables_10.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['qbuf',['qbuf',['../structgrpc__chttp2__transport__global.html#abc8dc77619b0938e2ffa35bdf35bbae4',1,'grpc_chttp2_transport_global::qbuf()'],['../structgrpc__chttp2__transport__parsing.html#a187f56865b31b7a1a29a3d95e81ab308',1,'grpc_chttp2_transport_parsing::qbuf()']]], + ['queue_5fdeadline_5fcap',['queue_deadline_cap',['../structshard__type.html#a561cd2753aeec34ba62c823ca9471168',1,'shard_type']]] +]; diff --git a/doc/ref/core.internal/html/search/variables_11.html b/doc/ref/core.internal/html/search/variables_11.html new file mode 100644 index 0000000000..d9dbba9077 --- /dev/null +++ b/doc/ref/core.internal/html/search/variables_11.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core.internal/html/search/variables_11.js b/doc/ref/core.internal/html/search/variables_11.js new file mode 100644 index 0000000000..927e904532 --- /dev/null +++ b/doc/ref/core.internal/html/search/variables_11.js @@ -0,0 +1,66 @@ +var searchData= +[ + ['r',['r',['../structgrpc__httpcli__parser.html#ab46efe042fad6d5c2b22f51e06bf9d2a',1,'grpc_httpcli_parser']]], + ['random',['random',['../structgrpc__subchannel.html#aaf1f3f4c177860b9b000fea1c67e4af6',1,'grpc_subchannel']]], + ['raw',['raw',['../structgrpc__byte__buffer.html#ae8231d6e62b3d7f4cfbc6a564c84bae6',1,'grpc_byte_buffer']]], + ['rc',['rc',['../structnew__slice__refcount.html#ac72a90414d0021e8902d5cd9e5010f1b',1,'new_slice_refcount::rc()'],['../structnew__with__len__slice__refcount.html#a059da4cf3d67bbf0f8407872ee4c583b',1,'new_with_len_slice_refcount::rc()']]], + ['read_5fcb',['read_cb',['../structsecure__endpoint.html#a1abae10ca6f256c0ebc655e68f1d5a47',1,'secure_endpoint']]], + ['read_5fchar',['read_char',['../structgrpc__json__reader__vtable.html#ab5c62db09b25908b401cf00eb84861ca',1,'grpc_json_reader_vtable']]], + ['read_5fclosed',['read_closed',['../structgrpc__chttp2__stream__global.html#ab66f69dae83b6afaa33709e97b75243a',1,'grpc_chttp2_stream_global']]], + ['read_5ffd',['read_fd',['../structgrpc__wakeup__fd__info.html#ab7484c58e72718ae50ab1bb094fecf86',1,'grpc_wakeup_fd_info']]], + ['read_5finfo',['read_info',['../structgrpc__winsocket.html#ae268de02b0b0ca7a09944a50567620cb',1,'grpc_winsocket']]], + ['read_5fstaging_5fbuffer',['read_staging_buffer',['../structsecure__endpoint.html#acb9f223fa1653bb697b63e21226c2915',1,'secure_endpoint']]], + ['read_5fstate',['read_state',['../structgrpc__call.html#a9f26a9a6519f11d88d97cd0b1f92c440',1,'grpc_call']]], + ['read_5fuser_5fdata',['read_user_data',['../structsecure__endpoint.html#ae9adc2f043f1b89821897f926bd95ff5',1,'secure_endpoint']]], + ['read_5fwatcher',['read_watcher',['../structgrpc__fd.html#a6ade81ff0aec08731167a2a992ce6b27',1,'grpc_fd']]], + ['reading_5faction',['reading_action',['../structgrpc__chttp2__transport.html#ab53eb8ec23d323a389f1a5456d3f1885',1,'grpc_chttp2_transport']]], + ['reading_5fmessage',['reading_message',['../structgrpc__call.html#a9db5a5b3f304f49fef8c5ed3ce754761',1,'grpc_call']]], + ['readst',['readst',['../structgrpc__fd.html#a339e2dfc459ee7dbc066dc6f606a7cf0',1,'grpc_fd']]], + ['reason_5fbytes',['reason_bytes',['../structgrpc__chttp2__rst__stream__parser.html#a254db3891d5bf60dec2f27a5ee6ef496',1,'grpc_chttp2_rst_stream_parser']]], + ['received_5fclose',['received_close',['../structgrpc__chttp2__stream__parsing.html#a906592013b034420e0a9e8de6321322b',1,'grpc_chttp2_stream_parsing']]], + ['receiving',['receiving',['../structgrpc__call.html#a95e4aaa4d6cd6b6f1568282178ba3682',1,'grpc_call']]], + ['recv_5fclose_5fon_5fserver',['recv_close_on_server',['../structgrpc__op.html#af327bcd87b609572c39ca6bfe8dbd9f1',1,'grpc_op']]], + ['recv_5fdone_5fclosure',['recv_done_closure',['../structgrpc__chttp2__stream__global.html#a4a353666e2dbff4aaebc6744de4dd08c',1,'grpc_chttp2_stream_global']]], + ['recv_5finitial_5fmetadata',['recv_initial_metadata',['../structgrpc__op.html#a81ebfcab8db61dd485b88cafc51f2749',1,'grpc_op']]], + ['recv_5fmessage',['recv_message',['../structgrpc__op.html#afca6c4cc5b0c2629bb559d2037907ac1',1,'grpc_op::recv_message()'],['../uniongrpc__ioreq__data.html#a5ea7284dc03df43bf75f8111bd9339f0',1,'grpc_ioreq_data::recv_message()']]], + ['recv_5fmetadata',['recv_metadata',['../uniongrpc__ioreq__data.html#a4e3eb01d90e05b23a70c19ad92cdafc8',1,'grpc_ioreq_data']]], + ['recv_5fops',['recv_ops',['../structgrpc__transport__stream__op.html#abd84b0fc93fa58092d4803c4c46e5991',1,'grpc_transport_stream_op::recv_ops()'],['../structcall__data.html#a5a77f05f0ebe7e2fa851cb29f4175fd2',1,'call_data::recv_ops()'],['../structgrpc__call.html#a77c3749f20284b1a9a836286a470a08e',1,'grpc_call::recv_ops()']]], + ['recv_5fstate',['recv_state',['../structgrpc__transport__stream__op.html#ae4505fafa286964d362de807efddf0fc',1,'grpc_transport_stream_op::recv_state()'],['../structgrpc__call.html#a23a473fb241cc663a16873d18690535b',1,'grpc_call::recv_state()'],['../structcall__data.html#a58e1bd0d7508078f1e2ffae518f284c9',1,'call_data::recv_state()']]], + ['recv_5fstatus',['recv_status',['../uniongrpc__ioreq__data.html#ab9788c1a37dea6052f004111bc67d6e7',1,'grpc_ioreq_data']]], + ['recv_5fstatus_5fdetails',['recv_status_details',['../uniongrpc__ioreq__data.html#acddc8869b041b695c617cb46e941859e',1,'grpc_ioreq_data']]], + ['recv_5fstatus_5fon_5fclient',['recv_status_on_client',['../structgrpc__op.html#a42f88554cd082ce8c66560ea24d8a8e3',1,'grpc_op']]], + ['ref',['ref',['../structgrpc__connector__vtable.html#ad68d5f41a883e3bd7934771e59f26b15',1,'grpc_connector_vtable::ref()'],['../structgrpc__resolver__factory__vtable.html#a205881c42a64bda699ea7699e6fd3527',1,'grpc_resolver_factory_vtable::ref()'],['../structgrpc__subchannel__factory__vtable.html#a89c654ab7f05b8108977771ec6e7e3ed',1,'grpc_subchannel_factory_vtable::ref()'],['../structsecure__endpoint.html#a02863c0d02a5776bee65747c5553f517',1,'secure_endpoint::ref()'],['../structgpr__slice__refcount.html#abf3fba35fdc6a4cd2d47e5ca19107ed7',1,'gpr_slice_refcount::ref()']]], + ['refcnt',['refcnt',['../structinternal__metadata.html#af658b2849de44285d529f4aa4da956f4',1,'internal_metadata']]], + ['refcount',['refcount',['../structgrpc__credentials__md__store.html#adf0f64c7bbf264de9434ea9d656bf694',1,'grpc_credentials_md_store::refcount()'],['../structgrpc__credentials.html#a823ba4bf9cc44b1173f6b4889a3446d6',1,'grpc_credentials::refcount()'],['../structgrpc__security__connector.html#a6f687c76fd94573412f97c9f3f0abf19',1,'grpc_security_connector::refcount()'],['../structgrpc__auth__context.html#a1f00929fc059a0445eb61cbe73deaaae',1,'grpc_auth_context::refcount()'],['../structgrpc__server__secure__state.html#ae73c249bbe0e5c30a103fe4fa2ec1f13',1,'grpc_server_secure_state::refcount()'],['../structinternal__string.html#a9e0174af2b64a5b66e09080c92a0aec2',1,'internal_string::refcount()'],['../structgpr__slice.html#a04d0bcc8331409fa3b3af29ee0b86a24',1,'gpr_slice::refcount()']]], + ['refcounted',['refcounted',['../structgpr__slice.html#a50bbfa04c0c8f5db1190cbc86bdfd102',1,'gpr_slice']]], + ['refresh_5ftoken',['refresh_token',['../structgrpc__refresh__token__credentials.html#a5aafa55d9b706f325ba7801bc90f9cdb',1,'grpc_refresh_token_credentials::refresh_token()'],['../structgrpc__auth__refresh__token.html#a5dea27f01a2952d14e34ea89473d4a12',1,'grpc_auth_refresh_token::refresh_token()']]], + ['refs',['refs',['../structgrpc__lb__policy.html#a729d56e37097d14d3a84090aa85d4485',1,'grpc_lb_policy::refs()'],['../structgrpc__resolver.html#aabfb460da52c0386f40415bf4ae0d233',1,'grpc_resolver::refs()'],['../structgrpc__chttp2__transport.html#a90319aafb59fb5c00ee8ae113e9a3d69',1,'grpc_chttp2_transport::refs()'],['../structconnector.html#ab2f6962cb7eff201b6b79655d8bace00',1,'connector::refs()'],['../structsubchannel__factory.html#a32ce0e8c21b78563576c8a620251a3f5',1,'subchannel_factory::refs()'],['../structgrpc__client__config.html#a176869d426cb1799e6eeebeb9cefd7e2',1,'grpc_client_config::refs()'],['../structdns__resolver.html#ab33e01167cedc1126007318a3c71238e',1,'dns_resolver::refs()'],['../structsockaddr__resolver.html#ae6ff58914bcf9afa2399f39fdd27ad5f',1,'sockaddr_resolver::refs()'],['../structconnection.html#a4f45cf20601ceebe1381dc83f1dbf516',1,'connection::refs()'],['../structgrpc__subchannel.html#ab4a1c366594861d4aa0da8b4ec9a3475',1,'grpc_subchannel::refs()'],['../structgrpc__subchannel__call.html#a74891e108fd0a94a2915e828c2a172c5',1,'grpc_subchannel_call::refs()'],['../structmerge__args__factory.html#aae69ffa567a7a04cf4c0f9f8eba0b852',1,'merge_args_factory::refs()'],['../structgrpc__channel.html#acc936d967cd122b7b5300387e8ea0abe',1,'grpc_channel::refs()'],['../structinternal__string.html#a870bec6b963c65fedd1290747c207650',1,'internal_string::refs()'],['../structgrpc__mdctx.html#a2764b3ed2bf9e59845aa9e1f02857d25',1,'grpc_mdctx::refs()'],['../structnew__slice__refcount.html#a2baa2f77ff0fd04fe3aa6b80c573e8fe',1,'new_slice_refcount::refs()'],['../structnew__with__len__slice__refcount.html#ae68449b1a65da5e9561a4762f5601fa3',1,'new_with_len_slice_refcount::refs()'],['../structmalloc__refcount.html#adcdbbc75e835cbf6fc50025880f5e569',1,'malloc_refcount::refs()']]], + ['refst',['refst',['../structgrpc__fd.html#ac4769567bc6b9a0129269bc02dcce6f1',1,'grpc_fd']]], + ['registered',['registered',['../structrequested__call.html#a7ee06556aae0a6e22ca157a961c484ce',1,'requested_call']]], + ['registered_5fcall_5fmu',['registered_call_mu',['../structgrpc__channel.html#aa59a21ba43df1a848efbc177cd5725cd',1,'grpc_channel']]], + ['registered_5fcalls',['registered_calls',['../structgrpc__channel.html#ac92f7c7b4dd87743f30a16aaaf91f061',1,'grpc_channel']]], + ['registered_5fmethod',['registered_method',['../structrequested__call.html#ae210a8bd23019d2008f1eb9ab1320eae',1,'requested_call']]], + ['registered_5fmethod_5fmax_5fprobes',['registered_method_max_probes',['../structchannel__data.html#aa9b814136d8be896321481e78098008b',1,'channel_data']]], + ['registered_5fmethod_5fslots',['registered_method_slots',['../structchannel__data.html#a707bff2830ad502cdd36ec18235f12e1',1,'channel_data']]], + ['registered_5fmethods',['registered_methods',['../structchannel__data.html#a0c63e5d9500bc02961af18685479fc89',1,'channel_data::registered_methods()'],['../structgrpc__server.html#addf8e1f57942da0e5f7235668c0968bd',1,'grpc_server::registered_methods()']]], + ['regress_5fweight',['regress_weight',['../structgrpc__time__averaged__stats.html#a24abd6f81483e9b6cecfa39eefffd70d',1,'grpc_time_averaged_stats']]], + ['remaining_5finput',['remaining_input',['../structjson__reader__userdata.html#a3535b10b322fe1063463bbddadcbad61',1,'json_reader_userdata']]], + ['remaining_5fslice_5fbytes',['remaining_slice_bytes',['../structcall__data.html#a69fca2329317c8cf3d9c215334b2aa40',1,'call_data']]], + ['request_5fdata',['request_data',['../structgrpc__call.html#a7d8e4ea86a2539b59f762ba97652bd8d',1,'grpc_call']]], + ['request_5fflags',['request_flags',['../structgrpc__call.html#a43f9cd5720841b99ea69fd94aed0ee13',1,'grpc_call']]], + ['request_5ffreelist',['request_freelist',['../structgrpc__server.html#a70a23bf1b0e885d055f0c45382e7110a',1,'grpc_server']]], + ['request_5fmatcher',['request_matcher',['../structregistered__method.html#af4a01615a9970b99e38cacf58ed49da0',1,'registered_method']]], + ['request_5fmetadata_5fcreds',['request_metadata_creds',['../structgrpc__channel__security__connector.html#a56bc3c048e45431ae50bdfec49f22f3d',1,'grpc_channel_security_connector']]], + ['request_5fset',['request_set',['../structgrpc__call.html#adace21c70dcd672521c08f0465e33c95',1,'grpc_call']]], + ['request_5ftext',['request_text',['../structinternal__request.html#a17b242a8f7682f8438f357c5c7f05f67',1,'internal_request']]], + ['requested_5fcalls',['requested_calls',['../structgrpc__server.html#ac582d8e154ce4f8a326bcf3a76f235e6',1,'grpc_server']]], + ['requests',['requests',['../structrequest__matcher.html#a5f69adf001614b2fda3756100b3ba60d',1,'request_matcher::requests()'],['../structrequest__killer.html#ae9c50f145796c60343bdc4100a79c231',1,'request_killer::requests()']]], + ['resolved_5fconfig',['resolved_config',['../structdns__resolver.html#a368c90c0b364fd6b3459ca6ef25cfd6d',1,'dns_resolver']]], + ['resolved_5fversion',['resolved_version',['../structdns__resolver.html#aee7098ec311fd223ceb6e57e8bfdd2fc',1,'dns_resolver']]], + ['resolver',['resolver',['../structchannel__data.html#a8cf393ab5da1a500d6c6f8543c408682',1,'channel_data']]], + ['resolving',['resolving',['../structdns__resolver.html#abc4a241cfa112a6b430d39749a2f6faf',1,'dns_resolver']]], + ['result',['result',['../structconnector.html#a9b15773040e783143121ad19ad3582d8',1,'connector::result()'],['../structtsi__fake__handshaker.html#a7dc6f4f013c03d3aa669c3a2fb9a761c',1,'tsi_fake_handshaker::result()'],['../structtsi__ssl__handshaker.html#a12ec1007039ee18e12dee8b2fd2670b7',1,'tsi_ssl_handshaker::result()']]], + ['root_5fchannel_5fdata',['root_channel_data',['../structgrpc__server.html#ab9a64dbadf2655aa804caae0fbefe47d',1,'grpc_server']]], + ['rst_5fstream',['rst_stream',['../structgrpc__chttp2__transport__parsing.html#a3a0c36ded4c323b01b323643d9750c04',1,'grpc_chttp2_transport_parsing']]], + ['rst_5fstream_5freason',['rst_stream_reason',['../structgrpc__chttp2__stream__parsing.html#aa6226c0cb8e4d6bd5830cc36f1efd4d2',1,'grpc_chttp2_stream_parsing']]] +]; diff --git a/doc/ref/core.internal/html/search/variables_12.html b/doc/ref/core.internal/html/search/variables_12.html new file mode 100644 index 0000000000..faca26f37a --- /dev/null +++ b/doc/ref/core.internal/html/search/variables_12.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core.internal/html/search/variables_12.js b/doc/ref/core.internal/html/search/variables_12.js new file mode 100644 index 0000000000..0bb369589a --- /dev/null +++ b/doc/ref/core.internal/html/search/variables_12.js @@ -0,0 +1,121 @@ +var searchData= +[ + ['saw_5frst_5fstream',['saw_rst_stream',['../structgrpc__chttp2__stream__parsing.html#ad6a925394f238fec8e6089fa07aaa03b',1,'grpc_chttp2_stream_parsing']]], + ['sc',['sc',['../structgrpc__server__secure__state.html#ad912fd9fa1531a5f016f83e49c768512',1,'grpc_server_secure_state']]], + ['scheme',['scheme',['../structgrpc__uri.html#a6163de89ece765552254810174fdfc32',1,'grpc_uri::scheme()'],['../structcall__data.html#aa63048a662dd766734726542dba0f27a',1,'call_data::scheme()'],['../structchannel__data.html#ac7a621172aad5d1876691fb987a670e6',1,'channel_data::scheme()'],['../structregistered__resolver.html#a8b53ba24e4ee032d66224f3588bceaba',1,'registered_resolver::scheme()']]], + ['scope',['scope',['../structgrpc__service__account__credentials.html#a12e5661a8313375683678cde3fbe765f',1,'grpc_service_account_credentials']]], + ['secure_5fendpoint',['secure_endpoint',['../structgrpc__secure__transport__setup.html#ae7e2e65bef91a9804fe95a47c4bfb8cb',1,'grpc_secure_transport_setup']]], + ['secure_5fpeer_5fname',['secure_peer_name',['../structgrpc__httpcli__ssl__channel__security__connector.html#a12192010723cff00bb4e87c9704ad768',1,'grpc_httpcli_ssl_channel_security_connector']]], + ['security_5fconnector',['security_connector',['../structchannel__data.html#a78473c478d6fbbb716fb77864c94efd6',1,'channel_data::security_connector()'],['../structchannel__data.html#a524d21c79ca4cf1ff1833c50197a9f1b',1,'channel_data::security_connector()'],['../structconnector.html#a83d8a5c7e3b72cdee46c36cca81d5cb0',1,'connector::security_connector()'],['../structsubchannel__factory.html#a9b700fff25d9d9c6739dfbed18ce5e2b',1,'subchannel_factory::security_connector()']]], + ['security_5fcontext_5fset',['security_context_set',['../structcall__data.html#a74f306e56988bd7e20d0116829ce4128',1,'call_data']]], + ['seen_5fauthority',['seen_authority',['../structcall__data.html#a5f3505d88df4cba5a1ed776c46b88b7e',1,'call_data']]], + ['seen_5fgoaway',['seen_goaway',['../structgrpc__chttp2__transport__global.html#ac23343b063865623cab752f3882ef829',1,'grpc_chttp2_transport_global']]], + ['seen_5fpath',['seen_path',['../structcall__data.html#acb1130d03f1fd0db1cf0d8d1fc10866e',1,'call_data']]], + ['seen_5fpost',['seen_post',['../structcall__data.html#aea6244f4fd9d2e7ccb5615b9f5ea5fe0',1,'call_data']]], + ['seen_5fscheme',['seen_scheme',['../structcall__data.html#a502cf8ae568f38ae501877458e399796',1,'call_data']]], + ['seen_5fte_5ftrailers',['seen_te_trailers',['../structcall__data.html#a54d050afd0c9cc8d05a561034602f280',1,'call_data']]], + ['selected',['selected',['../structpick__first__lb__policy.html#ad4fd8d1ef626d9c42f631317921634ef',1,'pick_first_lb_policy']]], + ['send_5fclosed',['send_closed',['../structgrpc__chttp2__stream__writing.html#abbea2f6f529041a009046136dcff99f0',1,'grpc_chttp2_stream_writing']]], + ['send_5fdeadline',['send_deadline',['../structgrpc__call.html#a5de7c68ffa6939ff2e1c43c4cd418315',1,'grpc_call']]], + ['send_5fdone_5fclosure',['send_done_closure',['../structgrpc__chttp2__stream__global.html#a2f16eb7d0da87fe60a2fcc35536f3905',1,'grpc_chttp2_stream_global']]], + ['send_5fgoaway',['send_goaway',['../structgrpc__transport__op.html#aceb73c54b2b677eec23a2bb1507c4704',1,'grpc_transport_op']]], + ['send_5finitial_5fmetadata',['send_initial_metadata',['../structgrpc__op.html#a8e6202e19130ecb872de211a95dcee83',1,'grpc_op::send_initial_metadata()'],['../structgrpc__call.html#a96ac69dc425de5924edd871f93338112',1,'grpc_call::send_initial_metadata()']]], + ['send_5finitial_5fmetadata_5fcount',['send_initial_metadata_count',['../structgrpc__call.html#abb6adc9d5f666a056c89172f506fcc3d',1,'grpc_call']]], + ['send_5fmessage',['send_message',['../structgrpc__op.html#a3b6c1b3456306a802f6eb0e3e8d0e434',1,'grpc_op::send_message()'],['../uniongrpc__ioreq__data.html#abcf05c127005fb6267a4f1ef73daec45',1,'grpc_ioreq_data::send_message()']]], + ['send_5fmetadata',['send_metadata',['../uniongrpc__ioreq__data.html#a4b9337cc24e8b42caa5c1502be083952',1,'grpc_ioreq_data']]], + ['send_5fops',['send_ops',['../structgrpc__transport__stream__op.html#aa94e5103c8d9845533016b1dac0c1691',1,'grpc_transport_stream_op::send_ops()'],['../structgrpc__call.html#ab17467642afa4f6c1c27bb9013093592',1,'grpc_call::send_ops()']]], + ['send_5fping',['send_ping',['../structgrpc__transport__op.html#abebcf932a4fa8d14006230dee06e0286',1,'grpc_transport_op']]], + ['send_5fstatus',['send_status',['../uniongrpc__ioreq__data.html#a3711b0c39c293284a4e4897f74c974ab',1,'grpc_ioreq_data']]], + ['send_5fstatus_5ffrom_5fserver',['send_status_from_server',['../structgrpc__op.html#afe7b3ae8f4c495a187f155a5fd6956bb',1,'grpc_op']]], + ['sending',['sending',['../structgrpc__call.html#a7d64e836e0421c8129ac75e477271ef8',1,'grpc_call']]], + ['sent_5fauthority',['sent_authority',['../structcall__data.html#aab616ade799853e16e5e35ee3a16ffbc',1,'call_data']]], + ['sent_5fgoaway',['sent_goaway',['../structgrpc__chttp2__transport__global.html#ad06b0ee92495f66aa27bd606459fcaf8',1,'grpc_chttp2_transport_global']]], + ['sent_5finitial_5fmetadata',['sent_initial_metadata',['../structcall__data.html#aded44c7ecaa861e2a4a39380b172368a',1,'call_data']]], + ['sent_5flocal_5fsettings',['sent_local_settings',['../structgrpc__chttp2__transport__global.html#a1afb189034e53b6596d41698cd3ce34d',1,'grpc_chttp2_transport_global']]], + ['sent_5fstatus',['sent_status',['../structcall__data.html#a8b65de65391e41536ccf959f6b6a751d',1,'call_data']]], + ['server',['server',['../structgrpc__endpoint__pair.html#a64db1589d0b3b754b33deb4ed2bdabc2',1,'grpc_endpoint_pair::server()'],['../structgrpc__server__secure__state.html#a81df8ea928391a76a30197cce0235455',1,'grpc_server_secure_state::server()'],['../structrequested__call.html#ad3fbf352005312d002348e26038d8fb0',1,'requested_call::server()'],['../structchannel__data.html#a52e6bd3f94f7bc6b7a5696532f747d8c',1,'channel_data::server()']]], + ['server_5fon_5frecv',['server_on_recv',['../structcall__data.html#aa02e9d60f24965068bc073ec4870bcb4',1,'call_data']]], + ['server_5fregistered_5fmethod',['server_registered_method',['../structchannel__registered__method.html#a3d7e5ca9b211c76e489ddc6602da3509',1,'channel_registered_method']]], + ['service_5furl',['service_url',['../structgrpc__service__account__jwt__access__credentials.html#abc57d00b1bfd2b26f3b50feebccc84fb',1,'grpc_service_account_jwt_access_credentials::service_url()'],['../structgrpc__composite__credentials__metadata__context.html#a7041c3ef3e78168d24699294470422e4',1,'grpc_composite_credentials_metadata_context::service_url()']]], + ['set_5faccept_5fstream',['set_accept_stream',['../structgrpc__transport__op.html#aabc2f197291cd94543ea984eaf8a61f8',1,'grpc_transport_op']]], + ['set_5faccept_5fstream_5fuser_5fdata',['set_accept_stream_user_data',['../structgrpc__transport__op.html#a4591bfe47e9155982ad2d25a7750e17f',1,'grpc_transport_op']]], + ['set_5ffalse',['set_false',['../structgrpc__json__reader__vtable.html#a49fbb01d6b590b1c2e1fa52e6eb31ce6',1,'grpc_json_reader_vtable']]], + ['set_5fkey',['set_key',['../structgrpc__json__reader__vtable.html#a697d38cfb36a9cb41ace4170296f9cd7',1,'grpc_json_reader_vtable']]], + ['set_5fnull',['set_null',['../structgrpc__json__reader__vtable.html#ab66de246c1efaad68da9683f017966ff',1,'grpc_json_reader_vtable']]], + ['set_5fnumber',['set_number',['../structgrpc__json__reader__vtable.html#ab55442ecf7aed98d3b638f171faff596',1,'grpc_json_reader_vtable']]], + ['set_5fstate_5fmu',['set_state_mu',['../structgrpc__fd.html#a050fd8e53f18c024f04c60f27c274d30',1,'grpc_fd']]], + ['set_5fstring',['set_string',['../structgrpc__json__reader__vtable.html#a39f2535f918f767506b9665e36f97fb4',1,'grpc_json_reader_vtable']]], + ['set_5ftrue',['set_true',['../structgrpc__json__reader__vtable.html#a4f5529f47edb119c9ee8a36800cf436e',1,'grpc_json_reader_vtable']]], + ['set_5fvalue',['set_value',['../uniongrpc__ioreq__data.html#aedb6839ded1488cf3bd6905345fba0d2',1,'grpc_ioreq_data']]], + ['settings',['settings',['../structgrpc__chttp2__transport__global.html#ab25f0c4b45d1c12d29eaf856e7b1b4a7',1,'grpc_chttp2_transport_global::settings()'],['../structgrpc__chttp2__transport__parsing.html#add21a685d25468b7e778b0a88f961a31',1,'grpc_chttp2_transport_parsing::settings()'],['../structgrpc__chttp2__transport__parsing.html#a629d17756af481ff81ea339acb751751',1,'grpc_chttp2_transport_parsing::settings()']]], + ['settings_5fack_5freceived',['settings_ack_received',['../structgrpc__chttp2__transport__parsing.html#a163a1ce9c8ff2f73e58f2867fada9586',1,'grpc_chttp2_transport_parsing']]], + ['settings_5fupdated',['settings_updated',['../structgrpc__chttp2__transport__parsing.html#a1b0ab60da80d6ffacf7966db31ff7013',1,'grpc_chttp2_transport_parsing']]], + ['severity',['severity',['../structgpr__log__func__args.html#af0b4b9d8beace1cae0d1a24783d70ccc',1,'gpr_log_func_args']]], + ['shard_5fqueue_5findex',['shard_queue_index',['../structshard__type.html#a2024ca8c92ce9d378aa5aa551126a9c1',1,'shard_type']]], + ['shutdown',['shutdown',['../structgrpc__lb__policy__vtable.html#a51c5b68411493024b3ffde40681c79e6',1,'grpc_lb_policy_vtable::shutdown()'],['../structgrpc__resolver__vtable.html#a1a118587a757136331a17d12150b27ae',1,'grpc_resolver_vtable::shutdown()'],['../structgrpc__endpoint__vtable.html#a1c3b42c8a439d6e741a84627815982d6',1,'grpc_endpoint_vtable::shutdown()'],['../structgrpc__fd.html#af9735826c4a974623dad5e2ca9c2548a',1,'grpc_fd::shutdown()'],['../structpick__first__lb__policy.html#a2818821a8daa60e92637357811aea7d4',1,'pick_first_lb_policy::shutdown()'],['../structgrpc__completion__queue.html#a4d6f10502b79874124dc63169f4366d6',1,'grpc_completion_queue::shutdown()']]], + ['shutdown_5fcalled',['shutdown_called',['../structgrpc__completion__queue.html#a81ae0a3f77b40e2a21370e641e9f73e4',1,'grpc_completion_queue']]], + ['shutdown_5fclosure',['shutdown_closure',['../structgrpc__winsocket.html#aea4900f69135c3b5b3a820b0c37a6a7a',1,'grpc_winsocket']]], + ['shutdown_5fclosures',['shutdown_closures',['../structgrpc__fd.html#ad0158c3714462bacbfa90c57fcf476aa',1,'grpc_fd']]], + ['shutdown_5fdone_5farg',['shutdown_done_arg',['../structgrpc__pollset.html#a27a9797370fe938210d3943ab7c3863d',1,'grpc_pollset']]], + ['shutdown_5fdone_5fcb',['shutdown_done_cb',['../structgrpc__pollset.html#a08b13b08670fb33a139ff1d27ea115b7',1,'grpc_pollset']]], + ['shutdown_5fflag',['shutdown_flag',['../structgrpc__server.html#aac6a14f451724678ba63c9f9a153dc33',1,'grpc_server']]], + ['shutdown_5fpublished',['shutdown_published',['../structgrpc__server.html#a6d04ab898c0d58f111975211c8d202ba',1,'grpc_server']]], + ['shutdown_5ftags',['shutdown_tags',['../structgrpc__server.html#ab0ca72c038ccce56c33539dc5f321864',1,'grpc_server']]], + ['shutting_5fdown',['shutting_down',['../structgrpc__pollset.html#a890a0c1aa2061769dcd141cf97f83c1c',1,'grpc_pollset']]], + ['signature',['signature',['../structverifier__cb__ctx.html#a78cd1bf7eb4ac6484ceeaf778ad6e2df',1,'verifier_cb_ctx']]], + ['signed_5fdata',['signed_data',['../structverifier__cb__ctx.html#a65de5acf17b58f8a142466750e1b558b',1,'verifier_cb_ctx']]], + ['simple',['simple',['../structgrpc__chttp2__transport__parsing.html#adc911ee0c36b417e2da7a28a8d45675f',1,'grpc_chttp2_transport_parsing']]], + ['size',['size',['../structtsi__fake__frame.html#a59d8fa5e8e076fca91b8c1fa1572d9cf',1,'tsi_fake_frame']]], + ['sizeof_5fcall_5fdata',['sizeof_call_data',['../structgrpc__channel__filter.html#afcdf09a04565aee37bf4ddf4b7ed69cc',1,'grpc_channel_filter']]], + ['sizeof_5fchannel_5fdata',['sizeof_channel_data',['../structgrpc__channel__filter.html#ac63b36f8c895f18f68ee1d8a862f18a4',1,'grpc_channel_filter']]], + ['sizeof_5fstream',['sizeof_stream',['../structgrpc__transport__vtable.html#a1c229a26492c888075645a15f4f8182f',1,'grpc_transport_vtable']]], + ['slice',['slice',['../structgrpc__mdstr.html#a748902fde1a15c453757c2e45509941e',1,'grpc_mdstr::slice()'],['../structgrpc__stream__op.html#ad997783bc5e527f52ab4434ee5764aee',1,'grpc_stream_op::slice()'],['../structshutdown__cleanup__args.html#ac171669ceb843c70885925c549867e5c',1,'shutdown_cleanup_args::slice()'],['../structinternal__string.html#aafd8da96270b4377198d99bc51f2ac9b',1,'internal_string::slice()']]], + ['slice_5fbuffer',['slice_buffer',['../structgrpc__byte__buffer.html#ae93126777b4832bc327b7e10104f0eae',1,'grpc_byte_buffer']]], + ['slices',['slices',['../structcall__data.html#a765c539d2737d435cf434241edda82f9',1,'call_data::slices()'],['../structgpr__slice__buffer.html#a07c0e3196f5e197af878ee94fd5df3ba',1,'gpr_slice_buffer::slices()']]], + ['socket',['socket',['../structgrpc__winsocket.html#a8d07ea451fe145f30415952e4a78d03d',1,'grpc_winsocket']]], + ['sopb',['sopb',['../structgrpc__chttp2__stream__writing.html#a54f5afcc25f62a2e138a04c69f1be120',1,'grpc_chttp2_stream_writing']]], + ['ssl',['ssl',['../structtsi__ssl__handshaker.html#a1dbdafd7f92dad04fe09c4648e5ee952',1,'tsi_ssl_handshaker::ssl()'],['../structtsi__ssl__frame__protector.html#a64129d003fe330c56c39496361bd9e5f',1,'tsi_ssl_frame_protector::ssl()']]], + ['ssl_5fcontext',['ssl_context',['../structtsi__ssl__client__handshaker__factory.html#a455d6ff556cd36c93ab91a0ef013ed9a',1,'tsi_ssl_client_handshaker_factory']]], + ['ssl_5fcontext_5fcount',['ssl_context_count',['../structtsi__ssl__server__handshaker__factory.html#a6aa4d962f3466b7cb16abd04b0266c2c',1,'tsi_ssl_server_handshaker_factory']]], + ['ssl_5fcontext_5fx509_5fsubject_5fnames',['ssl_context_x509_subject_names',['../structtsi__ssl__server__handshaker__factory.html#a9877f06340c6acaa2db8deb38ac03209',1,'tsi_ssl_server_handshaker_factory']]], + ['ssl_5fcontexts',['ssl_contexts',['../structtsi__ssl__server__handshaker__factory.html#a31163c22828f9e7467a4cf8ec6e79244',1,'tsi_ssl_server_handshaker_factory']]], + ['start',['start',['../structlistener.html#a5fb6be7cbe102bcb09c1d26db4a26fb2',1,'listener']]], + ['start_5ftransport_5fop',['start_transport_op',['../structgrpc__channel__filter.html#aa3508daf2442c8bc11529d0295798819',1,'grpc_channel_filter']]], + ['start_5ftransport_5fstream_5fop',['start_transport_stream_op',['../structgrpc__channel__filter.html#a089c1e5997b329703ccaaf633722a6c5',1,'grpc_channel_filter']]], + ['started_5fpicking',['started_picking',['../structpick__first__lb__policy.html#a8eff3397ca43852b04a3be5b5e03a6ce',1,'pick_first_lb_policy']]], + ['state',['state',['../structgrpc__httpcli__parser.html#a0072db1169f6f1e993673a91593f1305',1,'grpc_httpcli_parser::state()'],['../structgrpc__json__reader.html#a572a9af46e885528855a86fca4535245',1,'grpc_json_reader::state()'],['../structgrpc__chttp2__data__parser.html#a4f5b790cb938400757b8f1fdbf6125ab',1,'grpc_chttp2_data_parser::state()'],['../structgrpc__chttp2__goaway__parser.html#afc5c60968d8b1b68e4c0705a66129589',1,'grpc_chttp2_goaway_parser::state()'],['../structgrpc__chttp2__settings__parser.html#ad7e412c7ebd8595533c129f0b5a571c4',1,'grpc_chttp2_settings_parser::state()'],['../structgrpc__chttp2__hpack__parser.html#a70ad6a4061f4f49362959615eb0c3ca4',1,'grpc_chttp2_hpack_parser::state()'],['../structlb__policy__connectivity__watcher.html#ac37e7a5f39e7f99381837601b8d0d7d5',1,'lb_policy_connectivity_watcher::state()'],['../structcall__data.html#a394da9a4876df32b91b8891303695a5d',1,'call_data::state()'],['../structstate__watcher.html#a3a1c09d1740e9cc49f81e4ac4f8bf4bd',1,'state_watcher::state()'],['../structgpr__event.html#a9eb43867719fcdf48f33df11cd138be9',1,'gpr_event::state()'],['../structgpr__cmdline.html#acb165b9b6f98c942dd65d66f1c95a806',1,'gpr_cmdline::state()']]], + ['state_5fmu',['state_mu',['../structgrpc__winsocket.html#abebd771d41b71cfbb457ee0e80c7b551',1,'grpc_winsocket']]], + ['state_5ftracker',['state_tracker',['../structgrpc__chttp2__transport.html#a1808fd9ed1150b5397b26461d4de7857',1,'grpc_chttp2_transport::state_tracker()'],['../structchannel__data.html#ab56a403060ce2596d204cc024baea99d',1,'channel_data::state_tracker()'],['../structpick__first__lb__policy.html#a4b686da7cdddd0893e3d36c213bd274a',1,'pick_first_lb_policy::state_tracker()'],['../structgrpc__subchannel.html#af9e337eebe13100918b0c1178233d64d',1,'grpc_subchannel::state_tracker()']]], + ['static_5fents',['static_ents',['../structgrpc__chttp2__hptbl.html#afe1cceb7c0988d6c29df983ad3764344',1,'grpc_chttp2_hptbl']]], + ['stats',['stats',['../structshard__type.html#a700e0afbcbed737607bac82970c61601',1,'shard_type']]], + ['status',['status',['../structgrpc__op.html#ae0d5a9db463391c0897914ef2d016b25',1,'grpc_op::status()'],['../structgrpc__op.html#a70d62415f6768533c2190e53f1c5baf4',1,'grpc_op::status()'],['../structgrpc__httpcli__response.html#ad43f89eff8a4ab84b0364eca501ad243',1,'grpc_httpcli_response::status()'],['../structcall__data.html#af1e73bf35274521a98f39316fddf3deb',1,'call_data::status()'],['../structchannel__data.html#aed19c41ead3b51daafdbf78a983c1877',1,'channel_data::status()'],['../structgrpc__call.html#ac4f49d27f54bd1436da3ad7cfe662639',1,'grpc_call::status()']]], + ['status_5fdetails',['status_details',['../structgrpc__op.html#ae460836040d79eb2bd0a6d581b36c461',1,'grpc_op::status_details()'],['../structgrpc__op.html#ab993dfc7b33c61f06f26a4efc0aefca6',1,'grpc_op::status_details()']]], + ['status_5fdetails_5fcapacity',['status_details_capacity',['../structgrpc__op.html#a6cacd1d5311683ee077931c94a9dd6e9',1,'grpc_op']]], + ['status_5fkey',['status_key',['../structchannel__data.html#aa193724e83bed60e8f8f1a7a1cb0ca0f',1,'channel_data']]], + ['status_5flink',['status_link',['../structgrpc__call.html#acb6f13c9a524b29da7f4a760332dea6d',1,'grpc_call']]], + ['status_5fnot_5ffound',['status_not_found',['../structchannel__data.html#aa61798f024b686a60598011b688a5302',1,'channel_data']]], + ['status_5fok',['status_ok',['../structchannel__data.html#a5d2922163981387d63fcc086acc40bc1',1,'channel_data']]], + ['str',['str',['../structgrpc__chttp2__hpack__parser__string.html#abf43da36039226667926801751825b3c',1,'grpc_chttp2_hpack_parser_string::str()'],['../structgrpc__chttp2__hpack__parser.html#a4dda24b6baf059519437033ace4239fe',1,'grpc_chttp2_hpack_parser::str()']]], + ['str_5fgrpc_5ftimeout',['str_grpc_timeout',['../structgrpc__chttp2__transport__parsing.html#ad78473e552fc03fcd84af1502bb6115c',1,'grpc_chttp2_transport_parsing']]], + ['stream_5fid',['stream_id',['../structframer__state.html#a568da28436bbdcbf1a1eb321cf064651',1,'framer_state']]], + ['strgot',['strgot',['../structgrpc__chttp2__hpack__parser.html#aa2150e272b5d12395b762aef039b58f6',1,'grpc_chttp2_hpack_parser']]], + ['string',['string',['../structgrpc__arg.html#a05bc3701718db73608ef3598480e8fa8',1,'grpc_arg::string()'],['../structjson__reader__userdata.html#aab7c5997934c699371c79b5a613a877e',1,'json_reader_userdata::string()']]], + ['string_5fadd_5fchar',['string_add_char',['../structgrpc__json__reader__vtable.html#a5779d4adf33c3b3364d82390e4c1ad19',1,'grpc_json_reader_vtable']]], + ['string_5fadd_5futf32',['string_add_utf32',['../structgrpc__json__reader__vtable.html#a4d52c7e18e2b74e0cdfe8f0640f79612',1,'grpc_json_reader_vtable']]], + ['string_5fclear',['string_clear',['../structgrpc__json__reader__vtable.html#a1a897f511ba9249e5ecc7317d9406303',1,'grpc_json_reader_vtable']]], + ['string_5flen',['string_len',['../structjson__writer__userdata.html#a321162f4c1f6c7cb60676fa6a1eb3c18',1,'json_writer_userdata']]], + ['string_5fptr',['string_ptr',['../structjson__reader__userdata.html#a6afccb66b4dac7cb2db6ef4c8d0e073b',1,'json_reader_userdata']]], + ['strlen',['strlen',['../structgrpc__chttp2__hpack__parser.html#a0fdab43244f12be74b24f284fa0df8ab',1,'grpc_chttp2_hpack_parser']]], + ['strs',['strs',['../structgpr__strvec.html#a6c928c402061e0a51346155669029795',1,'gpr_strvec']]], + ['strtab',['strtab',['../structgrpc__mdctx.html#ad2eeb34c05c392c75ca79c62e0a91644',1,'grpc_mdctx']]], + ['strtab_5fcapacity',['strtab_capacity',['../structgrpc__mdctx.html#a1ac53c8c3069ff245cd33243094b21af',1,'grpc_mdctx']]], + ['strtab_5fcount',['strtab_count',['../structgrpc__mdctx.html#a19a486374bb3cc0c61ad53868423bce5',1,'grpc_mdctx']]], + ['sub',['sub',['../structgrpc__jwt__claims.html#a298ff2d584fdee85bd9de0b52c72a1bd',1,'grpc_jwt_claims']]], + ['subchannel',['subchannel',['../structconnection.html#ac46b9b593d187793cf2685550b615dc7',1,'connection::subchannel()'],['../structstate__watcher.html#ab1de71efe9c462d4692acedd9da69db3',1,'state_watcher::subchannel()'],['../structwaiting__for__connect.html#a6992a59790cdc05659227b1ea7b8650d',1,'waiting_for_connect::subchannel()']]], + ['subchannel_5fcall',['subchannel_call',['../structcall__data.html#a68077448625c53fa5dab0a717c0a77b2',1,'call_data']]], + ['subchannel_5ffactory',['subchannel_factory',['../structdns__resolver.html#ad80a689714c3c2d68bba566d1c5ae236',1,'dns_resolver::subchannel_factory()'],['../structsockaddr__resolver.html#ae68e3b93926c4d132ca5c05a752b1e59',1,'sockaddr_resolver::subchannel_factory()']]], + ['subchannels',['subchannels',['../structpick__first__lb__policy.html#a359affbda6360c97745389a1c036afbf',1,'pick_first_lb_policy']]], + ['success',['success',['../structgrpc__event.html#a99d4215e5df50869af320b1cca5540db',1,'grpc_event::success()'],['../structgrpc__iomgr__closure.html#a5029b88d47dd4da2b01a8eb44342fcb0',1,'grpc_iomgr_closure::success()'],['../structcompute__engine__detector.html#a952441665ae667415c4eed612ec5f25b',1,'compute_engine_detector::success()'],['../structcompleted__request.html#a5512a2663c0d87f40b1e493b0bf9dd6b',1,'completed_request::success()'],['../structreqinfo__master.html#a638b15223a3d12acea6adf081d2a43a9',1,'reqinfo_master::success()'],['../structstate__watcher.html#a0e2c034f2582615aa9c6949879289cc2',1,'state_watcher::success()']]], + ['sum',['sum',['../structgpr__histogram.html#a1e154b0be9b7d5b4ee4ccbf955cd0b8a',1,'gpr_histogram']]], + ['sum_5fof_5fsquares',['sum_of_squares',['../structgpr__histogram.html#a4b675fe1da756eba043d76ead28089a1',1,'gpr_histogram']]] +]; diff --git a/doc/ref/core.internal/html/search/variables_13.html b/doc/ref/core.internal/html/search/variables_13.html new file mode 100644 index 0000000000..3e6377437e --- /dev/null +++ b/doc/ref/core.internal/html/search/variables_13.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core.internal/html/search/variables_13.js b/doc/ref/core.internal/html/search/variables_13.js new file mode 100644 index 0000000000..998d5a842f --- /dev/null +++ b/doc/ref/core.internal/html/search/variables_13.js @@ -0,0 +1,33 @@ +var searchData= +[ + ['table',['table',['../structgrpc__chttp2__hpack__parser.html#a8f94c4cc12d5f84f639914d59491ae17',1,'grpc_chttp2_hpack_parser']]], + ['table_5felem_5fsize',['table_elem_size',['../structgrpc__chttp2__hpack__compressor.html#a067f49c14e2c169678f44c10a7e4ee2e',1,'grpc_chttp2_hpack_compressor']]], + ['table_5felems',['table_elems',['../structgrpc__chttp2__hpack__compressor.html#ab2544f2f9897f1d74cc979eb8f91bfd6',1,'grpc_chttp2_hpack_compressor']]], + ['table_5fsize',['table_size',['../structgrpc__chttp2__hpack__compressor.html#a814ba9e8a221237a5bdca7fd0e3e0425',1,'grpc_chttp2_hpack_compressor']]], + ['tag',['tag',['../structgrpc__event.html#a883ab15e862db582116c72cdcdc4c201',1,'grpc_event::tag()'],['../structgrpc__cq__completion.html#acf21f4e0ec0adcd801bd9f34d80a7b7e',1,'grpc_cq_completion::tag()'],['../structstate__watcher.html#a67d44afd79ad20ec97e2e43f538f6d77',1,'state_watcher::tag()'],['../structrequested__call.html#abcebc67ebdd3f7230b72cbb324049ff4',1,'requested_call::tag()'],['../structshutdown__tag.html#a632bfe333648e7440bf13caa5eaa48c0',1,'shutdown_tag::tag()']]], + ['tail',['tail',['../structgrpc__chttp2__stream__list.html#ac8be7bdb2c4da40b8994790885ac7620',1,'grpc_chttp2_stream_list::tail()'],['../structgrpc__mdelem__list.html#a139994dda63b5f00686312d9d2456193',1,'grpc_mdelem_list::tail()']]], + ['tail_5fremote_5findex',['tail_remote_index',['../structgrpc__chttp2__hpack__compressor.html#a80e568a0851010b6ef859b7ee4235893',1,'grpc_chttp2_hpack_compressor']]], + ['target',['target',['../structpending__pick.html#aa395cbb07c193eaa41d0463f46067fec',1,'pending_pick::target()'],['../structwaiting__for__connect.html#afa5ba6604f746da394b505f116e764f6',1,'waiting_for_connect::target()'],['../structgrpc__channel.html#ac84ed7ccb6f221068ee55b5e6c073543',1,'grpc_channel::target()']]], + ['target_5fconfig',['target_config',['../structdns__resolver.html#a757b9b42d89d961103798397c2cddefb',1,'dns_resolver::target_config()'],['../structsockaddr__resolver.html#ad9d11ab81955963bff8db90903241efa',1,'sockaddr_resolver::target_config()']]], + ['target_5fname',['target_name',['../structgrpc__ssl__channel__security__connector.html#ac86e0e283bad7b35d30cec32ed042a5b',1,'grpc_ssl_channel_security_connector']]], + ['target_5fsettings',['target_settings',['../structgrpc__chttp2__settings__parser.html#ac8ede4f13bcb8e7146527ce98284d528',1,'grpc_chttp2_settings_parser']]], + ['tcp',['tcp',['../structgrpc__server__secure__state.html#a8c4788f633b14cc2d49c26d9172b0b69',1,'grpc_server_secure_state']]], + ['tcp_5fendpoint',['tcp_endpoint',['../structtcp__endpoint__list.html#a1de9aaa649c6d84c81c676171676b862',1,'tcp_endpoint_list']]], + ['te_5ftrailers',['te_trailers',['../structcall__data.html#a8cfc1a2d2dab43a5bddc26df4801721b',1,'call_data::te_trailers()'],['../structchannel__data.html#a141ad0e139c47b491a219ad68b263c2b',1,'channel_data::te_trailers()']]], + ['temp',['temp',['../structhuff__out.html#a29fa27e52be848917a68702c97e75d3b',1,'huff_out']]], + ['temp_5flength',['temp_length',['../structhuff__out.html#a47f24dd352a07a9a7124319d8222090e',1,'huff_out']]], + ['timeout_5fkey_5fstr',['timeout_key_str',['../structgrpc__chttp2__hpack__compressor.html#a5235d25f72e66a4e08e28577002047a1',1,'grpc_chttp2_hpack_compressor']]], + ['token_5fexpiration',['token_expiration',['../structgrpc__oauth2__token__fetcher__credentials.html#a293a6ed6c4f54ef2de4de3e071ae6e13',1,'grpc_oauth2_token_fetcher_credentials']]], + ['token_5flifetime',['token_lifetime',['../structgrpc__service__account__credentials.html#aab9b416748da95fdfc5483b5bb7933ae',1,'grpc_service_account_credentials']]], + ['top',['top',['../structjson__reader__userdata.html#ac4f75823aab9f46c2541424046742c13',1,'json_reader_userdata']]], + ['trace_5fid',['trace_id',['../structcensus__context.html#af2f543e5253035ca31b883c23453c918',1,'census_context']]], + ['trailing_5fmetadata',['trailing_metadata',['../structgrpc__op.html#a521b48faec3b3f7646a877055f118d47',1,'grpc_op::trailing_metadata()'],['../structgrpc__op.html#abb4d84434a0b74283c8b5d8d6501baf1',1,'grpc_op::trailing_metadata()']]], + ['trailing_5fmetadata_5fcount',['trailing_metadata_count',['../structgrpc__op.html#a4b9454278c105e08d54142adff37b5ab',1,'grpc_op']]], + ['transport',['transport',['../structgrpc__connect__out__args.html#abc6070bbb1030b29072cc242faf7f5b9',1,'grpc_connect_out_args::transport()'],['../structconnected__channel__channel__data.html#a7f95ecc760083ad9d72bada84f33ca6b',1,'connected_channel_channel_data::transport()']]], + ['triggered',['triggered',['../structgrpc__alarm.html#a75136c755eae954d2955f3519ea2919f',1,'grpc_alarm']]], + ['tsi_5ftracing_5fenabled',['tsi_tracing_enabled',['../transport__security_8h.html#a4e3d547c54325370492151543325e23c',1,'tsi_tracing_enabled(): transport_security.c'],['../transport__security__interface_8h.html#a4e3d547c54325370492151543325e23c',1,'tsi_tracing_enabled(): transport_security.c'],['../transport__security_8c.html#a4e3d547c54325370492151543325e23c',1,'tsi_tracing_enabled(): transport_security.c']]], + ['tv_5fnsec',['tv_nsec',['../structgpr__timespec.html#ac326c2133cd003cb206715cf5f500268',1,'gpr_timespec']]], + ['tv_5fsec',['tv_sec',['../structgpr__timespec.html#af9294cf0049fd33c76ad2da925d9051e',1,'gpr_timespec']]], + ['typ',['typ',['../structjose__header.html#a62661b991df1e33a832d0bf7449ab2d4',1,'jose_header']]], + ['type',['type',['../structgrpc__byte__buffer.html#aa7357d67e401d5bc9d10d8fed008dec8',1,'grpc_byte_buffer::type()'],['../structgrpc__arg.html#aa26f2d3c4b1649c9eb061d24a8c10fd4',1,'grpc_arg::type()'],['../structgrpc__event.html#a8e7f571b759f55db4f6bebc2a4f56ad7',1,'grpc_event::type()'],['../structgrpc__credentials.html#a40d9db6d1125238d7e1ceeeab886788b',1,'grpc_credentials::type()'],['../structgrpc__server__credentials.html#a96c8274aa0811620829537eb27bfcc1c',1,'grpc_server_credentials::type()'],['../structgrpc__auth__json__key.html#a08ca5a9beb5f0538d75d0ac580b83e52',1,'grpc_auth_json_key::type()'],['../structgrpc__auth__refresh__token.html#a8f88b86542543e97f441ea0080ab6c8e',1,'grpc_auth_refresh_token::type()'],['../structgrpc__json.html#a02364ac7e3f997c1cbab6ae4fca4415e',1,'grpc_json::type()'],['../structgrpc__stream__op.html#a26c057815c31f49b914bc28481cf9580',1,'grpc_stream_op::type()'],['../structrequested__call.html#a45da072fe9d7a970fe7880d9d2671e4c',1,'requested_call::type()'],['../structarg.html#ac42f6b11ab4ceee17be7871636e06dca',1,'arg::type()']]] +]; diff --git a/doc/ref/core.internal/html/search/variables_14.html b/doc/ref/core.internal/html/search/variables_14.html new file mode 100644 index 0000000000..4e0b24b3ad --- /dev/null +++ b/doc/ref/core.internal/html/search/variables_14.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core.internal/html/search/variables_14.js b/doc/ref/core.internal/html/search/variables_14.js new file mode 100644 index 0000000000..afff2c28d7 --- /dev/null +++ b/doc/ref/core.internal/html/search/variables_14.js @@ -0,0 +1,19 @@ +var searchData= +[ + ['unannounced_5fincoming_5fwindow',['unannounced_incoming_window',['../structgrpc__chttp2__stream__global.html#a23dec30ddec4c30cebc9e4110d1bb9f9',1,'grpc_chttp2_stream_global']]], + ['unicode_5fchar',['unicode_char',['../structgrpc__json__reader.html#a8643069f58019ea5ac61fd2fd1180562',1,'grpc_json_reader']]], + ['unicode_5fhigh_5fsurrogate',['unicode_high_surrogate',['../structgrpc__json__reader.html#a8e874c0879d449071610b7643fc7ffe1',1,'grpc_json_reader']]], + ['unprotect',['unprotect',['../structtsi__frame__protector__vtable.html#aa4c1c5ad2e0299585050a3d11247e91e',1,'tsi_frame_protector_vtable']]], + ['unprotect_5fframe',['unprotect_frame',['../structtsi__fake__frame__protector.html#ac3e7c2d5e9b3f81c75772f328243db00',1,'tsi_fake_frame_protector']]], + ['unref',['unref',['../structgrpc__connector__vtable.html#a0b03677e3ce015e7dc092cd33475c1f9',1,'grpc_connector_vtable::unref()'],['../structgrpc__resolver__factory__vtable.html#aa83017deb3ec0dce406071545f0b203e',1,'grpc_resolver_factory_vtable::unref()'],['../structgrpc__subchannel__factory__vtable.html#a5550b5e9f61e0ee34c9c0e782bab734a',1,'grpc_subchannel_factory_vtable::unref()'],['../structgpr__slice__refcount.html#ae31a3f84f0032dd388418eee26aa9c00',1,'gpr_slice_refcount::unref()']]], + ['unregistered_5frequest_5fmatcher',['unregistered_request_matcher',['../structgrpc__server.html#a8114e3dda6d6f5ec9257b5a5343b9821',1,'grpc_server']]], + ['unused',['unused',['../structgrpc__pollset__set.html#a8487ef4097fd3d48514105c757e1b69c',1,'grpc_pollset_set::unused()'],['../structcall__data.html#ab6ed893c5caa5b86338edf8b97bd77d8',1,'call_data::unused()'],['../structconnected__channel__call__data.html#ab7364ac5f5abf2c67075fd09e829cffd',1,'connected_channel_call_data::unused()'],['../structchannel__data.html#af5333a0c2b420d203cbe8a1a5e270efb',1,'channel_data::unused()']]], + ['url_5fscheme',['url_scheme',['../structgrpc__security__connector.html#a5e474c23ba9e2e50bd9f21f0b05d30ca',1,'grpc_security_connector']]], + ['use_5fssl',['use_ssl',['../structgrpc__httpcli__request.html#ab2502ce6e5c0362a8a0c0d02f571ceb3',1,'grpc_httpcli_request::use_ssl()'],['../structinternal__request.html#a0d17604038fc0b611296561b66cb46c5',1,'internal_request::use_ssl()']]], + ['user_5fagent',['user_agent',['../structcall__data.html#ab58bbaa2f8f054f606d919abce3f4716',1,'call_data::user_agent()'],['../structchannel__data.html#a9fd48ef186ac5f36381e9e873a1e2602',1,'channel_data::user_agent()']]], + ['user_5fcb',['user_cb',['../structverifier__cb__ctx.html#acb4e5c28f3b0d9270a28dc0c730123fa',1,'verifier_cb_ctx']]], + ['user_5fdata',['user_data',['../uniongrpc__ioreq__data.html#a442beede6948f0efc06a0a9404b49331',1,'grpc_ioreq_data::user_data()'],['../structinternal__request.html#aa47b4bb5697930b25831fbc2fc9ae16e',1,'internal_request::user_data()'],['../structgrpc__credentials__metadata__request.html#afba92ff6e76a2b87d1b4b6e0d8531b87',1,'grpc_credentials_metadata_request::user_data()'],['../structgrpc__composite__credentials__metadata__context.html#aa7ca5d9fca93b8a99acc2119f36b8ce6',1,'grpc_composite_credentials_metadata_context::user_data()'],['../structverifier__cb__ctx.html#a9ceed8c4de3dcf252fdaf7347c0b93a8',1,'verifier_cb_ctx::user_data()'],['../structgrpc__secure__transport__setup.html#a8c39ff96c74f4adc29fc0ba7e79f849c',1,'grpc_secure_transport_setup::user_data()'],['../structcompleted__request.html#a0f293e59a3e7c87f6cc59694a9b567ac',1,'completed_request::user_data()'],['../structreqinfo__master.html#aeaa50a715a0fc681a87daae3e3b72c9d',1,'reqinfo_master::user_data()'],['../structinternal__metadata.html#a69097159104a083a1a27fbbeb5fdd6ef',1,'internal_metadata::user_data()'],['../structnew__slice__refcount.html#a0476a0932ddf32f1cdd04cdd585fda68',1,'new_slice_refcount::user_data()'],['../structnew__with__len__slice__refcount.html#a47821f141ea3ddf0c13dd7d5bed35dda',1,'new_with_len_slice_refcount::user_data()']]], + ['user_5fdestroy',['user_destroy',['../structnew__slice__refcount.html#abe796cd680fb136eff9fa49f96bbd3e8',1,'new_slice_refcount::user_destroy()'],['../structnew__with__len__slice__refcount.html#ac8dc1c24ebd5fee4f034679b05177755',1,'new_with_len_slice_refcount::user_destroy()']]], + ['user_5flength',['user_length',['../structnew__with__len__slice__refcount.html#ab9f2fc163ee3e185eda913129ffb4546',1,'new_with_len_slice_refcount']]], + ['userdata',['userdata',['../structgrpc__json__reader.html#a914f3609f07d322bb7ce000dc95324fc',1,'grpc_json_reader::userdata()'],['../structgrpc__json__writer.html#a660101bdaf5e230700894b1f57134d31',1,'grpc_json_writer::userdata()']]] +]; diff --git a/doc/ref/core.internal/html/search/variables_15.html b/doc/ref/core.internal/html/search/variables_15.html new file mode 100644 index 0000000000..d0520f25dc --- /dev/null +++ b/doc/ref/core.internal/html/search/variables_15.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core.internal/html/search/variables_15.js b/doc/ref/core.internal/html/search/variables_15.js new file mode 100644 index 0000000000..83351bcc03 --- /dev/null +++ b/doc/ref/core.internal/html/search/variables_15.js @@ -0,0 +1,9 @@ +var searchData= +[ + ['value',['value',['../structgrpc__auth__property.html#af44f45ac4673a0298d00354c47d0907e',1,'grpc_auth_property::value()'],['../structgrpc__arg.html#ad2be4ee606c82fc084af1661d30f6f7f',1,'grpc_arg::value()'],['../structgrpc__metadata.html#a57b63d7b7a3e4720a0cc0d20bb2ecf36',1,'grpc_metadata::value()'],['../structcensus__stat.html#a3daa951eaf025870b0ab4b63343fe179',1,'census_stat::value()'],['../structgrpc__httpcli__header.html#af1d05b8dfdd2f2f433efc955116cb2aa',1,'grpc_httpcli_header::value()'],['../structgrpc__credentials__md.html#ae893ec4c5c65ffa395a5e12259089841',1,'grpc_credentials_md::value()'],['../structtsi__peer__property.html#a63f8f764dec5c40ffc3d7de0f83509d6',1,'tsi_peer_property::value()'],['../structgrpc__call__context__element.html#ad87c86a02e8563e6f99a4711737df3d4',1,'grpc_call_context_element::value()'],['../structgrpc__json.html#acfb3c395c22f57d7a07e7149bb16db44',1,'grpc_json::value()'],['../structgrpc__chttp2__settings__parser.html#a0aa608ce7e3352061233d6ffb3656327',1,'grpc_chttp2_settings_parser::value()'],['../structgrpc__chttp2__hpack__parser.html#a3098a6ec6adb9222dd0d64681eb9af6e',1,'grpc_chttp2_hpack_parser::value()'],['../structgrpc__chttp2__hpack__parser.html#a5291e99e19d95c5e130b62958750adef',1,'grpc_chttp2_hpack_parser::value()'],['../structgrpc__mdelem.html#ae98f0541c25f94c27c8a0e63741267e1',1,'grpc_mdelem::value()'],['../structinternal__metadata.html#abef02b106cd8bcee80c9d5ee375fe537',1,'internal_metadata::value()'],['../structgpr__stats__counter.html#ab9338ff7b5fd9f0c0830a8a788aab04a',1,'gpr_stats_counter::value()'],['../structgpr__gcc__thread__local.html#a057ec2885013c01ce37fffc6d9afece1',1,'gpr_gcc_thread_local::value()'],['../structgpr__msvc__thread__local.html#a0187c953da78c5a0620d75aaaaaa5798',1,'gpr_msvc_thread_local::value()'],['../structarg.html#a688d0385c96e5d5d7cb1a7342f9b4497',1,'arg::value()'],['../hpack__table_8c.html#a8556878012feffc9e0beb86cd78f424d',1,'value(): hpack_table.c']]], + ['value_5flength',['value_length',['../structgrpc__auth__property.html#a07359a178c29240cab42a89ef047b101',1,'grpc_auth_property::value_length()'],['../structgrpc__metadata.html#a2084add9ffe64cf337576114d189af3f',1,'grpc_metadata::value_length()']]], + ['values',['values',['../structgrpc__chttp2__stream__map.html#a3c6cf5f3722e7931c5b7ebe09a1ec824',1,'grpc_chttp2_stream_map']]], + ['verifier',['verifier',['../structverifier__cb__ctx.html#ac60d07b1cc9322f01f2f76f462188737',1,'verifier_cb_ctx']]], + ['version',['version',['../structstate__watcher.html#adb6d0b4ffa782421e6f0898f8b13d4e8',1,'state_watcher']]], + ['vtable',['vtable',['../structgrpc__credentials.html#a4842bd6607dba5b1045e4ad4e167d20e',1,'grpc_credentials::vtable()'],['../structgrpc__server__credentials.html#aa1514867a5ea460ca43d0afebea72b63',1,'grpc_server_credentials::vtable()'],['../structgrpc__security__connector.html#a72b9f6efab0a70571f579d129f2bffd1',1,'grpc_security_connector::vtable()'],['../structtsi__frame__protector.html#a71905393d848e4b2462f1ec9f6665619',1,'tsi_frame_protector::vtable()'],['../structtsi__handshaker.html#aad13ac357eb603138ec628ff05df2958',1,'tsi_handshaker::vtable()'],['../structgrpc__connector.html#ac4136d5397211527185fad5282ae01ec',1,'grpc_connector::vtable()'],['../structgrpc__lb__policy.html#a83d1624912fcce199cb291023abe453a',1,'grpc_lb_policy::vtable()'],['../structgrpc__resolver.html#a01324077acd85ac0ffb45d7967215386',1,'grpc_resolver::vtable()'],['../structgrpc__resolver__factory.html#ab063e0046b8db1db5469bf4b6f7cefc3',1,'grpc_resolver_factory::vtable()'],['../structgrpc__subchannel__factory.html#a41a36a12bfcc66b72cba6bda47f00b51',1,'grpc_subchannel_factory::vtable()'],['../structgrpc__endpoint.html#a3510963bb9fe2afd610189fa3a1f44c7',1,'grpc_endpoint::vtable()'],['../structgrpc__pollset.html#a0a3106a5e75b7079d89b8443ac8cb887',1,'grpc_pollset::vtable()'],['../structgrpc__json__reader.html#ac498ef0a1c3dc96126cd86f47f70afa5',1,'grpc_json_reader::vtable()'],['../structgrpc__json__writer.html#ad1b0dd7119dfd5ef95ca6972d0918e5b',1,'grpc_json_writer::vtable()'],['../structgrpc__transport.html#a8cb3afbd2614b5ffcda4adc56c8cb007',1,'grpc_transport::vtable()']]] +]; diff --git a/doc/ref/core.internal/html/search/variables_16.html b/doc/ref/core.internal/html/search/variables_16.html new file mode 100644 index 0000000000..2df8937cf1 --- /dev/null +++ b/doc/ref/core.internal/html/search/variables_16.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core.internal/html/search/variables_16.js b/doc/ref/core.internal/html/search/variables_16.js new file mode 100644 index 0000000000..70a11df302 --- /dev/null +++ b/doc/ref/core.internal/html/search/variables_16.js @@ -0,0 +1,30 @@ +var searchData= +[ + ['waiters',['waiters',['../structgpr__cancellable.html#a99dfebf899cae60307fb8b83e8cfdb43',1,'gpr_cancellable']]], + ['waiting',['waiting',['../structgrpc__subchannel.html#a86222e4f70c6a36a9345ce2388f94e22',1,'grpc_subchannel']]], + ['waiting_5ffor_5fconfig_5fclosures',['waiting_for_config_closures',['../structchannel__data.html#ac701a31115f0dcb435265a106baf619f',1,'channel_data']]], + ['waiting_5fop',['waiting_op',['../structcall__data.html#a95c7079af1a663431de6bfe8e919cff7',1,'call_data']]], + ['wakeup',['wakeup',['../structgrpc__wakeup__fd__vtable.html#a454fa9945c56e646245eb00b1f387a5f',1,'grpc_wakeup_fd_vtable']]], + ['wakeup_5ffd',['wakeup_fd',['../structgrpc__kick__fd__info.html#a1de795478812bbce339df7a84b315479',1,'grpc_kick_fd_info']]], + ['watcher_5fmu',['watcher_mu',['../structgrpc__fd.html#a7c93a423654bb4d3466593ef73b9f06b',1,'grpc_fd']]], + ['watchers',['watchers',['../structgrpc__connectivity__state__tracker.html#a0729ebf58543059330612f61c6519fdd',1,'grpc_connectivity_state_tracker']]], + ['window_5fupdate',['window_update',['../structgrpc__chttp2__transport__parsing.html#a6d6d8e67e0200e9cd62a76e2e3020d2d',1,'grpc_chttp2_transport_parsing']]], + ['wrapped',['wrapped',['../structmerge__args__factory.html#aecaa1e5ad4e5838355a2f1515943e378',1,'merge_args_factory']]], + ['wrapped_5fendpoint',['wrapped_endpoint',['../structgrpc__secure__transport__setup.html#a6718bd343a57770498f8bfcfeefbaf9a',1,'grpc_secure_transport_setup']]], + ['wrapped_5fep',['wrapped_ep',['../structsecure__endpoint.html#aee294803f06c5d38dac97d2933d52e94',1,'secure_endpoint']]], + ['write',['write',['../structgrpc__endpoint__vtable.html#a5fca837fe96a08bfc514eb7579e23739',1,'grpc_endpoint_vtable']]], + ['write_5fcb',['write_cb',['../structsecure__endpoint.html#a0d57c837c3b9281454f2629845162de0',1,'secure_endpoint']]], + ['write_5ffd',['write_fd',['../structgrpc__wakeup__fd__info.html#a7e8536d8e32a9c4e98294dfa2b98f28f',1,'grpc_wakeup_fd_info']]], + ['write_5finfo',['write_info',['../structgrpc__winsocket.html#a8c0eeccc3a3cbfbb28d172a7c42a0bd6',1,'grpc_winsocket']]], + ['write_5fstaging_5fbuffer',['write_staging_buffer',['../structsecure__endpoint.html#a9349d713abd0f17c41579a9c149629c2',1,'secure_endpoint']]], + ['write_5fstate',['write_state',['../structgrpc__chttp2__stream__global.html#aab4958ab848ae72e29c8161de9df1cf9',1,'grpc_chttp2_stream_global::write_state()'],['../structgrpc__call.html#a9a08d62d6d129d629c2cbe25511983ac',1,'grpc_call::write_state()']]], + ['write_5fuser_5fdata',['write_user_data',['../structsecure__endpoint.html#ae444fbf4226a8118b5cac6f71d043124',1,'secure_endpoint']]], + ['write_5fwatcher',['write_watcher',['../structgrpc__fd.html#ae2395965de88538f112be69c21307d01',1,'grpc_fd']]], + ['writest',['writest',['../structgrpc__fd.html#aedae81fadd133cc54ae92837ea7a2676',1,'grpc_fd']]], + ['writing',['writing',['../structgrpc__chttp2__transport.html#a42e022f4775a11184006e08ba9c1afbf',1,'grpc_chttp2_transport::writing()'],['../structgrpc__chttp2__stream.html#a56eaa3786a61b45591c0e3825ddd5e2e',1,'grpc_chttp2_stream::writing()']]], + ['writing_5faction',['writing_action',['../structgrpc__chttp2__transport.html#a18d7c2fe14df07bc43840698aa5a3224',1,'grpc_chttp2_transport']]], + ['writing_5factive',['writing_active',['../structgrpc__chttp2__transport.html#a2e550b67b429a603f37decfc8b29449b',1,'grpc_chttp2_transport']]], + ['writing_5fnow',['writing_now',['../structgrpc__chttp2__stream__global.html#a80827ad1a2e6f7ddce4f73c1b8964c2c',1,'grpc_chttp2_stream_global']]], + ['written_5finitial_5fmetadata',['written_initial_metadata',['../structcall__data.html#a5fccfa4c3448bcfd28f80b2caad5485b',1,'call_data']]], + ['wsa_5ferror',['wsa_error',['../structgrpc__winsocket__callback__info.html#adef17089b66a9180b92bcc9da0d4ae29',1,'grpc_winsocket_callback_info']]] +]; diff --git a/doc/ref/core.internal/html/search/variables_2.html b/doc/ref/core.internal/html/search/variables_2.html new file mode 100644 index 0000000000..ea80d20140 --- /dev/null +++ b/doc/ref/core.internal/html/search/variables_2.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core.internal/html/search/variables_2.js b/doc/ref/core.internal/html/search/variables_2.js new file mode 100644 index 0000000000..c68d322f3e --- /dev/null +++ b/doc/ref/core.internal/html/search/variables_2.js @@ -0,0 +1,109 @@ +var searchData= +[ + ['cache_5fmu',['cache_mu',['../structgrpc__service__account__jwt__access__credentials.html#a641b64d26a1c7bdc348e960ed5400b94',1,'grpc_service_account_jwt_access_credentials']]], + ['cached',['cached',['../structgrpc__service__account__jwt__access__credentials.html#a8c7e6a306aa24aaefa9f96982fdaafbd',1,'grpc_service_account_jwt_access_credentials']]], + ['call',['call',['../structfinished__loose__op__allocated__args.html#a39f5408992820aa61c3aa11e378612d3',1,'finished_loose_op_allocated_args::call()'],['../structrequested__call.html#a0995465df7da49fbbb591d8b03dd1de2',1,'requested_call::call()'],['../structcall__data.html#a5512e8a6ddade275bc9b64ef48de3036',1,'call_data::call()']]], + ['call_5fdata',['call_data',['../structgrpc__call__element.html#a30f78246a0caa0615e4b48d3091b8c04',1,'grpc_call_element']]], + ['call_5fhost_5fcheck_5fis_5fasync',['call_host_check_is_async',['../structgrpc__fake__channel__security__connector.html#af6c4c25382f598179b3b50d4a90a0584',1,'grpc_fake_channel_security_connector']]], + ['call_5fstack_5fsize',['call_stack_size',['../structgrpc__channel__stack.html#a1fc6184d7523f318b00ed1d5dd2562c2',1,'grpc_channel_stack']]], + ['called_5fshutdown',['called_shutdown',['../structgrpc__pollset.html#af0ba35d346bebf65837c9cc1980aab53',1,'grpc_pollset']]], + ['cancel_5falarm',['cancel_alarm',['../structgrpc__call.html#a8ecae45b11c6194a51ccd17b0ae1a724',1,'grpc_call']]], + ['cancel_5fwith_5fstatus',['cancel_with_status',['../structgrpc__transport__stream__op.html#aeb409a2d4224410aec876a3a7e5443bf',1,'grpc_transport_stream_op::cancel_with_status()'],['../structgrpc__call.html#a52b7e350723f5cd4a577a86a4b72f026',1,'grpc_call::cancel_with_status()']]], + ['cancelled',['cancelled',['../structgrpc__op.html#ae5a9717d4a69c46f343381596e223874',1,'grpc_op::cancelled()'],['../structgrpc__chttp2__stream__global.html#a230b4b34a38f62d1871ac3726c211312',1,'grpc_chttp2_stream_global::cancelled()'],['../structgpr__cancellable.html#a1729b5836bf4181d092f3636368d17b2',1,'gpr_cancellable::cancelled()']]], + ['cancelled_5fstatus',['cancelled_status',['../structgrpc__chttp2__stream__global.html#af27d45b43390f9dc4d1dc197d9864098',1,'grpc_chttp2_stream_global']]], + ['capacity',['capacity',['../structgrpc__metadata__array.html#a5b293b4f8e734b032b80741abf538a97',1,'grpc_metadata_array::capacity()'],['../structgrpc__bbq__array.html#aab53971ceac3b56cd690f24fe646bba9',1,'grpc_bbq_array::capacity()'],['../structgrpc__chttp2__hpack__parser__string.html#a21d97a477e18ea3973332a21fe664613',1,'grpc_chttp2_hpack_parser_string::capacity()'],['../structgrpc__chttp2__incoming__metadata__buffer.html#ae83511b7dc5b74ca64f15a23e552c0cd',1,'grpc_chttp2_incoming_metadata_buffer::capacity()'],['../structgrpc__chttp2__stream__map.html#a104df65d0beac0c3f27d8823b0ff59ef',1,'grpc_chttp2_stream_map::capacity()'],['../structgrpc__stream__op__buffer.html#aebf66bcafe3d457104a8812718b2d772',1,'grpc_stream_op_buffer::capacity()'],['../structrequest__killer.html#aef7c9b567894a3f6af2ebaed400fff42',1,'request_killer::capacity()'],['../structgpr__slice__buffer.html#a48b6efc57238e7abd0bcbb579219456e',1,'gpr_slice_buffer::capacity()'],['../structgpr__strvec.html#af2ee1037640e1a4e0b7e81d69eeaf2cd',1,'gpr_strvec::capacity()'],['../structdump__out.html#ad4ef0a9a3b2494b534b9fcba9d349f21',1,'dump_out::capacity()']]], + ['cb',['cb',['../structgrpc__alarm.html#a85a6797057eb75a49d63f4301b4b32dd',1,'grpc_alarm::cb()'],['../structgrpc__iomgr__closure.html#ad5f1e2b27a85c6df37c7cbe94b911ce1',1,'grpc_iomgr_closure::cb()'],['../structgrpc__winsocket__callback__info.html#aded44060a4f90bf48f452b4ac9e0f9f1',1,'grpc_winsocket_callback_info::cb()'],['../structgrpc__credentials__metadata__request.html#afd521fb44c2c0a7aaab92243f606c67e',1,'grpc_credentials_metadata_request::cb()'],['../structgrpc__composite__credentials__metadata__context.html#a14c42c56de0c02fcaca7103953411ce0',1,'grpc_composite_credentials_metadata_context::cb()'],['../structgrpc__secure__transport__setup.html#a1bf28f7192cd4fe30e4daaf306545e9c',1,'grpc_secure_transport_setup::cb()']]], + ['cb_5farg',['cb_arg',['../structgrpc__alarm.html#a0f9db224dc882f41a1d676115ede23c3',1,'grpc_alarm::cb_arg()'],['../structgrpc__iomgr__closure.html#a4b1d9ecdcc694af930895665b18f2293',1,'grpc_iomgr_closure::cb_arg()']]], + ['cert_5fchain',['cert_chain',['../structgrpc__ssl__pem__key__cert__pair.html#a483c3601705853f48dfbc8ee66d5e656',1,'grpc_ssl_pem_key_cert_pair']]], + ['chained',['chained',['../structgrpc__auth__context.html#aaf39bb67f8b5344fffac5595eee45fe6',1,'grpc_auth_context']]], + ['chand',['chand',['../structlb__policy__connectivity__watcher.html#a8c4c66e260e9c93b8ce9b4a129e581e5',1,'lb_policy_connectivity_watcher']]], + ['channel',['channel',['../structgrpc__call.html#aefaa9e839c97ca63876add3d3a04a94d',1,'grpc_call::channel()'],['../structstate__watcher.html#a0b0df5ad70d6a91a268452e03a885404',1,'state_watcher::channel()'],['../structchannel__data.html#aa44b8e02dfe6cd2b3823c51f9559dc29',1,'channel_data::channel()']]], + ['channel_5fargs',['channel_args',['../structgrpc__connect__in__args.html#a47bff8f21e77a47f1a3584e874006eab',1,'grpc_connect_in_args::channel_args()'],['../structgrpc__server.html#ab1ef57d52ade4e4f8eb0e26b42ea48a4',1,'grpc_server::channel_args()']]], + ['channel_5fcallback',['channel_callback',['../structgrpc__chttp2__transport.html#a8dc1af0f203166b32f22634edb3b47bb',1,'grpc_chttp2_transport']]], + ['channel_5fconnectivity_5fchanged',['channel_connectivity_changed',['../structchannel__data.html#a026ed08d4fb85fff5a0f332d3a35cf17',1,'channel_data']]], + ['channel_5fdata',['channel_data',['../structgrpc__channel__element.html#af498fd50d8b3667b3e20395e341a858d',1,'grpc_channel_element::channel_data()'],['../structgrpc__call__element.html#ad74abaaf7860b7dd8f2fef1e2141a27b',1,'grpc_call_element::channel_data()']]], + ['channel_5ffilter_5fcount',['channel_filter_count',['../structgrpc__server.html#a090ca3cc3f02e7b51d8c089f6c675ac2',1,'grpc_server']]], + ['channel_5ffilters',['channel_filters',['../structgrpc__server.html#a2da21f54a2ad688793d6c753ea74ec02',1,'grpc_server']]], + ['channel_5fsaw_5ferror',['channel_saw_error',['../structgrpc__resolver__vtable.html#a9104e21b3064f5f66dc29d80a098e19b',1,'grpc_resolver_vtable']]], + ['channels',['channels',['../structchannel__broadcaster.html#ad8aee8e6b39c0a74c47bc518fe60e0d7',1,'channel_broadcaster']]], + ['check_5favailability',['check_availability',['../structgrpc__wakeup__fd__vtable.html#ae86eb136235fd51cbf4d459880ea6d04',1,'grpc_wakeup_fd_vtable']]], + ['check_5fcall_5fhost',['check_call_host',['../structgrpc__channel__security__connector.html#a4b44a11ba7945991dce2a16a79a6735e',1,'grpc_channel_security_connector']]], + ['check_5fconnectivity',['check_connectivity',['../structgrpc__lb__policy__vtable.html#af1251501a613435c27688a15b1f76e25',1,'grpc_lb_policy_vtable']]], + ['check_5fpeer',['check_peer',['../structgrpc__security__connector__vtable.html#aee8169e56a02a5cb55d68bcc6d0d56de',1,'grpc_security_connector_vtable']]], + ['checking_5fconnectivity',['checking_connectivity',['../structpick__first__lb__policy.html#a27c07323206631d5b7b021bfc2fb13d8',1,'pick_first_lb_policy']]], + ['checking_5fsubchannel',['checking_subchannel',['../structpick__first__lb__policy.html#a71958e25ab870a0f4436c07fed4585da',1,'pick_first_lb_policy']]], + ['child',['child',['../structgrpc__json.html#aaa4adfbfe373e8980e898102c942cb71',1,'grpc_json']]], + ['claims',['claims',['../structverifier__cb__ctx.html#a47babe5494185ee4fd95e92a8309fa26',1,'verifier_cb_ctx']]], + ['client',['client',['../structgrpc__endpoint__pair.html#ac7016dfd6d23e04fe169ba3f8fd9238c',1,'grpc_endpoint_pair']]], + ['client_5femail',['client_email',['../structgrpc__auth__json__key.html#accb20647a4dc6280c30d40a78b35fb7b',1,'grpc_auth_json_key']]], + ['client_5fid',['client_id',['../structgrpc__auth__json__key.html#a925db734b8d7ad62646c260374fa0462',1,'grpc_auth_json_key::client_id()'],['../structgrpc__auth__refresh__token.html#a802a5c8f34166ec49b6345faea92d52c',1,'grpc_auth_refresh_token::client_id()']]], + ['client_5fsecret',['client_secret',['../structgrpc__auth__refresh__token.html#ad29ccc6f1c4c23bc05841efd3dd5bab4',1,'grpc_auth_refresh_token']]], + ['clock',['clock',['../structgrpc__precise__clock.html#a1200f8fec2cdf0a60e482b79b25adb75',1,'grpc_precise_clock']]], + ['clock_5ftype',['clock_type',['../structgpr__timespec.html#a6dd26976820fa71a7c5a710d4c1845ff',1,'gpr_timespec']]], + ['closed',['closed',['../structgrpc__fd.html#a30b76a034146e5d62190b133b008af6e',1,'grpc_fd::closed()'],['../structgrpc__chttp2__transport.html#a727a1168723b305b97a5dc2c25bd2405',1,'grpc_chttp2_transport::closed()']]], + ['closure',['closure',['../structwaiting__call.html#ad8d9537c7523e3c09e5fcd4cf0bb1124',1,'waiting_call::closure()'],['../structstate__watcher.html#ab806a249c408b4412fc03ed0a5ede4c9',1,'state_watcher::closure()'],['../structfinished__loose__op__allocated__args.html#a1bf518b8de4a386cbf55698134e8c485',1,'finished_loose_op_allocated_args::closure()'],['../structshutdown__cleanup__args.html#a42d1e24f7cc5d51db75df17263950c9a',1,'shutdown_cleanup_args::closure()']]], + ['code',['code',['../uniongrpc__ioreq__data.html#a77fea25992234ba3a0174207114ebbb1',1,'grpc_ioreq_data::code()'],['../structreceived__status.html#a5adb1c689f796d0055094addbc8b31c2',1,'received_status::code()']]], + ['complete_5fmask',['complete_mask',['../structreqinfo__master.html#a42a5da5664f298a2ff5c94760f69ffb3',1,'reqinfo_master']]], + ['completed_5fhead',['completed_head',['../structgrpc__completion__queue.html#a484ad9fad34b51c8ab2e0f6a144e6d5e',1,'grpc_completion_queue']]], + ['completed_5frequests',['completed_requests',['../structgrpc__call.html#af82a58a0e542b5acd8bc4b1e50842ddd',1,'grpc_call']]], + ['completed_5ftail',['completed_tail',['../structgrpc__completion__queue.html#a82c067060ebf5ff91bc9ec961b414fa2',1,'grpc_completion_queue']]], + ['completing',['completing',['../structgrpc__call.html#a0ad5b28a10c5453b5fcd3cbf5e9ec0cc',1,'grpc_call']]], + ['completion',['completion',['../structrequested__call.html#a4ab625b5e4dc9670ef586c4d245858f5',1,'requested_call::completion()'],['../structshutdown__tag.html#a659b6448a029795dd262462d5f679609',1,'shutdown_tag::completion()']]], + ['completion_5fmu',['completion_mu',['../structgrpc__call.html#aaf50407acc01602b67f4e442b3a3121d',1,'grpc_call']]], + ['completion_5fstorage',['completion_storage',['../structstate__watcher.html#a1d65436328c649d7f029b98e54d50588',1,'state_watcher']]], + ['completions',['completions',['../structgrpc__call.html#ad48e9f752753814bf9ee0233c392fccd',1,'grpc_call']]], + ['composite_5fcreds',['composite_creds',['../structgrpc__composite__credentials__metadata__context.html#aa01c70e7c7cd7ac2071c933c4ca4ed65',1,'grpc_composite_credentials_metadata_context']]], + ['compression',['compression',['../structgrpc__byte__buffer.html#a3663648016e1076b82c5e731dc5b2399',1,'grpc_byte_buffer']]], + ['compression_5falgorithm',['compression_algorithm',['../structcall__data.html#a9f593ec03211bdc3ede0b4da81d4354f',1,'call_data::compression_algorithm()'],['../structgrpc__call.html#afa14a32dc253da1909a2dd6e44304fdc',1,'grpc_call::compression_algorithm()']]], + ['compression_5falgorithm_5fstorage',['compression_algorithm_storage',['../structcall__data.html#ad33eb76b6d73d8a4475ff69ff4e8964c',1,'call_data']]], + ['concurrent_5fstream_5fcount',['concurrent_stream_count',['../structgrpc__chttp2__transport__global.html#a77c29c9318b9c732bb57bac183abc995',1,'grpc_chttp2_transport_global']]], + ['config',['config',['../structgrpc__ssl__credentials.html#a501050df420385527ac006a59e82dc06',1,'grpc_ssl_credentials::config()'],['../structgrpc__ssl__server__credentials.html#a00e6754957e007f8cc2926911c752fc3',1,'grpc_ssl_server_credentials::config()']]], + ['connect',['connect',['../structgrpc__connector__vtable.html#ae51b646aa858eeeb84a7a1abbebbf078',1,'grpc_connector_vtable']]], + ['connected',['connected',['../structgrpc__subchannel.html#a69b581893484f0f728b780c5a9152bf4',1,'grpc_subchannel']]], + ['connecting',['connecting',['../structgrpc__subchannel.html#a084840ded6075b823c3572c504694635',1,'grpc_subchannel']]], + ['connecting_5fresult',['connecting_result',['../structgrpc__subchannel.html#a71c47f21609f3dab29311d422360665f',1,'grpc_subchannel']]], + ['connection',['connection',['../structgrpc__subchannel__call.html#a1eb7f2be785456f81008f984d80f8ac6',1,'grpc_subchannel_call']]], + ['connection_5fwindow_5ftarget',['connection_window_target',['../structgrpc__chttp2__transport__global.html#a9eb0479db2dffbb2637e771adab2ef06',1,'grpc_chttp2_transport_global']]], + ['connectivity_5fchanged',['connectivity_changed',['../structpick__first__lb__policy.html#a54f466dc5e968d2b3a8f8fe6511d2c56',1,'pick_first_lb_policy']]], + ['connectivity_5fstate',['connectivity_state',['../structgrpc__transport__op.html#ae68e6030500899af6788152a0a567c9d',1,'grpc_transport_op::connectivity_state()'],['../structstate__watcher.html#a2777b6c363f7d4262252bc4aaf515d43',1,'state_watcher::connectivity_state()'],['../structchannel__data.html#ace61d17706353a536bd079f18d54564f',1,'channel_data::connectivity_state()']]], + ['connector',['connector',['../structgrpc__secure__transport__setup.html#a494b76f3257449ed5eb88e0a52194324',1,'grpc_secure_transport_setup::connector()'],['../structgrpc__subchannel.html#a9439dd93e3b5078fb1e2669c327ed984',1,'grpc_subchannel::connector()']]], + ['connector_5fcreds',['connector_creds',['../structgrpc__composite__credentials.html#a02f10b8620b768e3402da78e83fef637',1,'grpc_composite_credentials']]], + ['consume',['consume',['../structgrpc__wakeup__fd__vtable.html#a6d03e580e5ac38e408454678f0db7b5e',1,'grpc_wakeup_fd_vtable']]], + ['container_5fbegins',['container_begins',['../structgrpc__json__reader__vtable.html#a242f9eb6d061c65a99961437aff699d4',1,'grpc_json_reader_vtable']]], + ['container_5fempty',['container_empty',['../structgrpc__json__writer.html#a95c5e11a20879e8bd90962b043ca8381',1,'grpc_json_writer']]], + ['container_5fends',['container_ends',['../structgrpc__json__reader__vtable.html#a31c9c8c5f283107290d4a20bf25315ec',1,'grpc_json_reader_vtable']]], + ['container_5fjust_5fbegun',['container_just_begun',['../structgrpc__json__reader.html#a8c51726663241af3323dc11320d82ad3',1,'grpc_json_reader']]], + ['content_5ftype',['content_type',['../structcall__data.html#a4169f3d34c6e55c4bba43a86241bf1ea',1,'call_data::content_type()'],['../structchannel__data.html#a7d6e2d61b1f1dc47be825afbdb0b1176',1,'channel_data::content_type()']]], + ['contents',['contents',['../unionlockfree__node.html#a4cf276073deb1a941a409b19bb78f5c4',1,'lockfree_node']]], + ['context',['context',['../structgrpc__transport__stream__op.html#a0d81e12c698cc0a088a0b48eb2250cae',1,'grpc_transport_stream_op::context()'],['../structinternal__request.html#a0a0fbaaabcd158b4fb0ff6c8b2d4879f',1,'internal_request::context()'],['../structgrpc__call.html#a91cd558ccf432aa44bbe813c4acd022c',1,'grpc_call::context()'],['../structinternal__string.html#a1bfe57ac1191b1278d4a61d34edbf1d7',1,'internal_string::context()'],['../structinternal__metadata.html#a19b31328660cdb5c8a8bf821094871c5',1,'internal_metadata::context()']]], + ['continuation',['continuation',['../structwaiting__for__connect.html#a8289e332e8b65421a161e607bb637f51',1,'waiting_for_connect']]], + ['copy',['copy',['../structgrpc__arg.html#abef4f8be0109b19fcbe7f614f1243303',1,'grpc_arg']]], + ['count',['count',['../structgrpc__metadata__array.html#a314ce51b22a5934cc672f3736d44b9e4',1,'grpc_metadata_array::count()'],['../structgrpc__op.html#ac5983d0a5d60c26ca2d1b37d31ba2e2a',1,'grpc_op::count()'],['../structgrpc__channel__stack.html#ad15f03f108b390c70244d9d862011f67',1,'grpc_channel_stack::count()'],['../structgrpc__call__stack.html#a145db8509ca1a7e0da0d80e60ad0072a',1,'grpc_call_stack::count()'],['../structgrpc__bbq__array.html#a1b857914bbbac7d1713797819a597fb2',1,'grpc_bbq_array::count()'],['../uniongrpc__ioreq__data.html#a34eacee09dcb1156021aaeea8206a42a',1,'grpc_ioreq_data::count()'],['../structgrpc__chttp2__incoming__metadata__buffer.html#a82dc3f5a9b456b6fd15b5d559eb2c4bd',1,'grpc_chttp2_incoming_metadata_buffer::count()'],['../structgrpc__chttp2__stream__map.html#a30c8c72cf07b6c0c0970e8ecb54c1ac8',1,'grpc_chttp2_stream_map::count()'],['../structrequest__killer.html#ae3dd02f0f46905f3d7a7b88193ca0af6',1,'request_killer::count()'],['../structgpr__slice__buffer.html#a3adc77c3ef399ae0aa1ce1377e0e9fff',1,'gpr_slice_buffer::count()'],['../structgpr__refcount.html#ae1e2d58344b59ff6c0db0dc4f2953470',1,'gpr_refcount::count()'],['../structgpr__strvec.html#a3d62db9061e6c23fcac741812f9af387',1,'gpr_strvec::count()'],['../structgpr__histogram.html#a283be15ea1e5ba755f9b4b7d0d70402d',1,'gpr_histogram::count()']]], + ['counter',['counter',['../structgrpc__pollset.html#a319191f59788a09fddad222cd8e1d7b1',1,'grpc_pollset']]], + ['cq',['cq',['../structgrpc__call.html#ae24201f3b8347e790898e3bc2ae1ad09',1,'grpc_call::cq()'],['../structstate__watcher.html#ae85d1a92c4f1e6a4eff3bcb356ff8204',1,'state_watcher::cq()'],['../structshutdown__tag.html#afca3fb84e8cde4f0b5f3e18905f555e9',1,'shutdown_tag::cq()']]], + ['cq_5fbound_5fto_5fcall',['cq_bound_to_call',['../structrequested__call.html#a7294f3532a1f72151e0ef3634f518431',1,'requested_call']]], + ['cq_5fcount',['cq_count',['../structgrpc__server.html#a0a49b61d38a3aee3f080087cf4b1f92d',1,'grpc_server']]], + ['cq_5ffor_5fnotification',['cq_for_notification',['../structrequested__call.html#a3b4918a8f8c79ab768156dc658e21b83',1,'requested_call']]], + ['cq_5fnew',['cq_new',['../structcall__data.html#a253926f346f7783d43ad5791ac70bba2',1,'call_data']]], + ['cqs',['cqs',['../structgrpc__server.html#a87495e0b247e92860d6c2a6504cf5528',1,'grpc_server']]], + ['create',['create',['../structgrpc__wakeup__fd__vtable.html#aebd377bd042b46aa79be6fdeeb9e139e',1,'grpc_wakeup_fd_vtable']]], + ['create_5fframe_5fprotector',['create_frame_protector',['../structtsi__handshaker__vtable.html#a071e3b76f8ddec1c89f9131c923f3648',1,'tsi_handshaker_vtable']]], + ['create_5fhandshaker',['create_handshaker',['../structgrpc__security__connector__vtable.html#ae1202bdafbea18af0fe2b0e6c11ae636',1,'grpc_security_connector_vtable::create_handshaker()'],['../structtsi__ssl__handshaker__factory.html#a44a633a0520c8561b5c63f97742daaef',1,'tsi_ssl_handshaker_factory::create_handshaker()']]], + ['create_5fresolver',['create_resolver',['../structgrpc__resolver__factory__vtable.html#a59d7eb4c9cb95b6ba33628c30b948f10',1,'grpc_resolver_factory_vtable']]], + ['create_5fsecurity_5fconnector',['create_security_connector',['../structgrpc__credentials__vtable.html#a7bbb5a8658e7f2295ed816f7f60e6f00',1,'grpc_credentials_vtable::create_security_connector()'],['../structgrpc__server__credentials__vtable.html#af56836a7d92bb4475b92d5991eb9c30d',1,'grpc_server_credentials_vtable::create_security_connector()']]], + ['create_5fsubchannel',['create_subchannel',['../structgrpc__subchannel__factory__vtable.html#a25972ec53ef7aa219669847b7cbb515d',1,'grpc_subchannel_factory_vtable']]], + ['creds',['creds',['../structgrpc__client__security__context.html#ae5d745d248626f77d4cb57d351fc2edf',1,'grpc_client_security_context::creds()'],['../structcall__data.html#a163b0cfa0e971a064e4ad6f35001f8ed',1,'call_data::creds()'],['../structgrpc__credentials__metadata__request.html#a7cf76389aba6b2f8ae6fcb00f59bff98',1,'grpc_credentials_metadata_request::creds()']]], + ['creds_5farray',['creds_array',['../structgrpc__credentials__array.html#a72172f932751c5d9fc7670af1a1cd231',1,'grpc_credentials_array']]], + ['creds_5findex',['creds_index',['../structgrpc__composite__credentials__metadata__context.html#af3232f00703210b60772c4dd1c727a56',1,'grpc_composite_credentials_metadata_context']]], + ['cs',['cs',['../structgpr__mu.html#abab5a72a693be27488fb7a9b2cb23e5c',1,'gpr_mu']]], + ['ctx',['ctx',['../structgrpc__auth__property__iterator.html#a971904d29fa6f6ca6a853d078cae2f58',1,'grpc_auth_property_iterator']]], + ['cur_5farg',['cur_arg',['../structgpr__cmdline.html#aa4b1fcaf802c2ca83c9e2213b8283297',1,'gpr_cmdline']]], + ['cur_5fframe_5ftype',['cur_frame_type',['../structframer__state.html#ab6d529c8b0d12ca60075d0c9e29d037b',1,'framer_state']]], + ['cur_5fline',['cur_line',['../structgrpc__httpcli__parser.html#a8524fc39d4fa476bf3133e922edf092c',1,'grpc_httpcli_parser']]], + ['cur_5fline_5flength',['cur_line_length',['../structgrpc__httpcli__parser.html#a6ada31fac5b5a87c7405f70f63fc201e',1,'grpc_httpcli_parser']]], + ['current',['current',['../structgrpc__byte__buffer__reader.html#aaa53ee469c319cbdd72d44548d1f981f',1,'grpc_byte_buffer_reader::current()'],['../structgrpc__connectivity__state__watcher.html#a3989271095271ebcaea6616e6afeff4f',1,'grpc_connectivity_state_watcher::current()']]], + ['current_5fcontainer',['current_container',['../structjson__reader__userdata.html#a46c3b03cc1ca3fbeeb76f726ce844bf2',1,'json_reader_userdata']]], + ['current_5fstate',['current_state',['../structgrpc__connectivity__state__tracker.html#ab0095b36574489645353e10d707e629e',1,'grpc_connectivity_state_tracker']]], + ['current_5fvalue',['current_value',['../structjson__reader__userdata.html#ab1069140339bf83ea323ac0ac696cc8c',1,'json_reader_userdata']]], + ['cv',['cv',['../structgrpc__pollset.html#aa329ffda9a09596eeb29b228b66db844',1,'grpc_pollset::cv()'],['../structgpr__cancellable__list__.html#ae47b7ccae73001ae1539dfe3bcc8a459',1,'gpr_cancellable_list_::cv()']]] +]; diff --git a/doc/ref/core.internal/html/search/variables_3.html b/doc/ref/core.internal/html/search/variables_3.html new file mode 100644 index 0000000000..0dca26f47b --- /dev/null +++ b/doc/ref/core.internal/html/search/variables_3.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core.internal/html/search/variables_3.js b/doc/ref/core.internal/html/search/variables_3.js new file mode 100644 index 0000000000..3bf91ebf56 --- /dev/null +++ b/doc/ref/core.internal/html/search/variables_3.js @@ -0,0 +1,35 @@ +var searchData= +[ + ['data',['data',['../structgrpc__byte__buffer.html#a9bee8905a97b4972f9ec1d18e5fe513f',1,'grpc_byte_buffer::data()'],['../structgrpc__op.html#a39a29ba59e6482692adfcdef46ec66ad',1,'grpc_op::data()'],['../structtsi__peer__property.html#acb47876765d6b5202dad2215b493fa55',1,'tsi_peer_property::data()'],['../structgrpc__pollset.html#a1e1342a1a69d423b41d131276c782621',1,'grpc_pollset::data()'],['../structgrpc__bbq__array.html#afbcd5e2a41d2eb5d0ede543818c7cf51',1,'grpc_bbq_array::data()'],['../structgrpc__ioreq.html#a1d53ade2406d59d0d67729ecab438d61',1,'grpc_ioreq::data()'],['../structgrpc__stream__op.html#ac153f1a1234aaf27a21c6567b0b675b9',1,'grpc_stream_op::data()'],['../structtsi__fake__frame.html#a4c55725c3501776bccf3dc63dc3c0301',1,'tsi_fake_frame::data()'],['../structrequested__call.html#a1814382d48854b3ce31b0aef9c4b4c7e',1,'requested_call::data()'],['../structgpr__slice.html#a122218a8a00205225f56ee71ade6e8da',1,'gpr_slice::data()'],['../structdump__out.html#aaceca2e7d88a29bcd3593c5cba3e8a3a',1,'dump_out::data()']]], + ['data_5fparser',['data_parser',['../structgrpc__chttp2__stream__parsing.html#a944472500c9ce6b5f9b3c217c465cf54',1,'grpc_chttp2_stream_parsing']]], + ['deadline',['deadline',['../structgrpc__call__details.html#a6b72caadcf800d975987de18012f0f15',1,'grpc_call_details::deadline()'],['../structgrpc__connect__in__args.html#aded5d906335c1ccdb58b4e97581bdc6c',1,'grpc_connect_in_args::deadline()'],['../structgrpc__alarm.html#a8f3f1ae9b65a0cc76971ea7daed1b126',1,'grpc_alarm::deadline()'],['../structgrpc__chttp2__incoming__metadata__buffer.html#ab5170826c627b8191d4def6aa2959589',1,'grpc_chttp2_incoming_metadata_buffer::deadline()'],['../structgrpc__metadata__batch.html#ac2450cce88312b53182e0c7de9516d04',1,'grpc_metadata_batch::deadline()'],['../structinternal__request.html#a3b0a573ccd8ac3d01b0b3668e39a2e61',1,'internal_request::deadline()'],['../structcall__data.html#a9ca8837431c3942aa3b18092e314632c',1,'call_data::deadline()'],['../structrequested__call.html#a7b0834c5a24427fbe79fb77ffd103cc8',1,'requested_call::deadline()']]], + ['debug_5fdata',['debug_data',['../structgrpc__chttp2__goaway__parser.html#aacb3c390aaaf7d9bfd7a047a32cf6a0e',1,'grpc_chttp2_goaway_parser']]], + ['debug_5flength',['debug_length',['../structgrpc__chttp2__goaway__parser.html#aa3aaf26c909bb9bfae33386f1ececd23',1,'grpc_chttp2_goaway_parser']]], + ['debug_5fpos',['debug_pos',['../structgrpc__chttp2__goaway__parser.html#a13fecb34da53cca561d7b0e1db1484ce',1,'grpc_chttp2_goaway_parser']]], + ['default_5fauthority',['default_authority',['../structchannel__data.html#a51d18a12253f4520179c5f04cc9f4c48',1,'channel_data']]], + ['default_5fcompression_5falgorithm',['default_compression_algorithm',['../structchannel__data.html#acc452310378fb56c38c296cdfdde14e3',1,'channel_data']]], + ['default_5fport',['default_port',['../structdns__resolver.html#ad3a4ce330d39e62347c8d230dc0431f4',1,'dns_resolver']]], + ['default_5fvalue',['default_value',['../structgrpc__chttp2__setting__parameters.html#a47307bf712f4e37e397eb03c272bafdb',1,'grpc_chttp2_setting_parameters']]], + ['deframe_5fstate',['deframe_state',['../structgrpc__chttp2__transport__parsing.html#ad437f5d052e56cd4bcb46f26a7ab4250',1,'grpc_chttp2_transport_parsing']]], + ['del_5ffd',['del_fd',['../structgrpc__pollset__vtable.html#aaacc347c66e715b18b3c3b6f393e9b60',1,'grpc_pollset_vtable']]], + ['depth',['depth',['../structgrpc__json__reader.html#ae7b4f56a6f58059642e1eaaff14350c4',1,'grpc_json_reader::depth()'],['../structgrpc__json__writer.html#a85b6d4d170b0bd0df6d1084cc0d3f995',1,'grpc_json_writer::depth()']]], + ['description',['description',['../structgpr__cmdline.html#ad7ac4f9585e0c93920079bec3a258c5d',1,'gpr_cmdline']]], + ['destroy',['destroy',['../structgrpc__arg.html#a15c9a748974a6ac525074f3ed1e04eb4',1,'grpc_arg::destroy()'],['../structgrpc__credentials__vtable.html#a95766dfd1880536b6b891b18514b5720',1,'grpc_credentials_vtable::destroy()'],['../structgrpc__server__credentials__vtable.html#a78347ce536f6c1885d49a6cd5106eade',1,'grpc_server_credentials_vtable::destroy()'],['../structgrpc__security__connector__vtable.html#acd16feb960e41e1920c193017a135704',1,'grpc_security_connector_vtable::destroy()'],['../structtsi__frame__protector__vtable.html#ac47686a0367046026dc8b97050ec2cdf',1,'tsi_frame_protector_vtable::destroy()'],['../structtsi__handshaker__vtable.html#a6ddd06eccb4d0576a3daba0ee98f45d8',1,'tsi_handshaker_vtable::destroy()'],['../structgrpc__call__context__element.html#a896c4d5b89848f2f14678745b6162f94',1,'grpc_call_context_element::destroy()'],['../structgrpc__lb__policy__vtable.html#a239ed7b3beddcfa318cc402f6d9f977c',1,'grpc_lb_policy_vtable::destroy()'],['../structgrpc__resolver__vtable.html#a354107f009d8e0c814559a185b5ed3f7',1,'grpc_resolver_vtable::destroy()'],['../structgrpc__endpoint__vtable.html#af1c2694fdabae292bfef69c3adfd910c',1,'grpc_endpoint_vtable::destroy()'],['../structgrpc__pollset__vtable.html#a3f8fb0011ce6d296d0ee7e5c3e650815',1,'grpc_pollset_vtable::destroy()'],['../structgrpc__wakeup__fd__vtable.html#ac4c3b97bfad7575b7a98e07c6b10fbd2',1,'grpc_wakeup_fd_vtable::destroy()'],['../structgrpc__transport__vtable.html#a0d99f3901ef6e1cada6154b92ff5f3cf',1,'grpc_transport_vtable::destroy()'],['../structtsi__ssl__handshaker__factory.html#a2b5e1722accee31650b291839612bb6a',1,'tsi_ssl_handshaker_factory::destroy()'],['../structlistener.html#add425fdd17452e62c09d047e24a3034f',1,'listener::destroy()']]], + ['destroy_5fcall_5felem',['destroy_call_elem',['../structgrpc__channel__filter.html#a347e5451860788a084735e66b1684312',1,'grpc_channel_filter']]], + ['destroy_5fcalled',['destroy_called',['../structgrpc__call.html#af72cb94597b41817f2c12e8d4ac5ae95',1,'grpc_call']]], + ['destroy_5fchannel_5felem',['destroy_channel_elem',['../structgrpc__channel__filter.html#a7ab39b0d83fd44c9e3be4b930e6b60e2',1,'grpc_channel_filter']]], + ['destroy_5fclosure',['destroy_closure',['../structgrpc__call.html#a2cac7abed2fe85b3ddbdde40931ed793',1,'grpc_call::destroy_closure()'],['../structgrpc__channel.html#ae6dda10ffe354ceefda810573f5e80e9',1,'grpc_channel::destroy_closure()']]], + ['destroy_5fstream',['destroy_stream',['../structgrpc__transport__vtable.html#aef80dd063f930216ef6b34d7847bf34b',1,'grpc_transport_vtable']]], + ['destroy_5fuser_5fdata',['destroy_user_data',['../structinternal__metadata.html#a5377f467bb28c9b4774d896b44d8c6a2',1,'internal_metadata']]], + ['destroying',['destroying',['../structgrpc__chttp2__transport.html#ac604ea7777d5d1c6d1ca243bd4caef0f',1,'grpc_chttp2_transport']]], + ['details',['details',['../uniongrpc__ioreq__data.html#a6b5db9dd6e61e416c3514b787b25dcc6',1,'grpc_ioreq_data::details()'],['../uniongrpc__ioreq__data.html#aabf2513498a2eee60eec1d1d70968169',1,'grpc_ioreq_data::details()'],['../structcall__data.html#a178c22c4c266e3ffd0583f3ed9bc749f',1,'call_data::details()'],['../structreceived__status.html#a6b73f215e5290bb6660c25e34c07ca72',1,'received_status::details()'],['../structrequested__call.html#a65cfbe1bb43697b7cc762ca44fa94c1b',1,'requested_call::details()']]], + ['details_5fcapacity',['details_capacity',['../uniongrpc__ioreq__data.html#a42f927cee57659aa72d79546b897b468',1,'grpc_ioreq_data']]], + ['details_5flink',['details_link',['../structgrpc__call.html#a932212dbec6334868cf997dd275c2192',1,'grpc_call']]], + ['dirtied_5flocal_5fsettings',['dirtied_local_settings',['../structgrpc__chttp2__transport__global.html#abbbb9c2b1f0667f1dd203faf76f0ca5e',1,'grpc_chttp2_transport_global']]], + ['disconnect',['disconnect',['../structgrpc__transport__op.html#a280ecb11f206deb671cb0d9e8a20434b',1,'grpc_transport_op']]], + ['disconnected',['disconnected',['../structgrpc__subchannel.html#aeb64d3a8c4d1f0c3b75cda0f97d80c5c',1,'grpc_subchannel']]], + ['done',['done',['../structgrpc__cq__completion.html#a2e3c70bc2aa092495b6367ef8d41ba64',1,'grpc_cq_completion']]], + ['done_5farg',['done_arg',['../structgrpc__cq__completion.html#a533e98ae5b637059189ee4fb27ad484a',1,'grpc_cq_completion']]], + ['drain_5fpos',['drain_pos',['../structgrpc__byte__buffer__queue.html#a892ef76ec959884e1ac9bfa3bc71912b',1,'grpc_byte_buffer_queue']]], + ['draining',['draining',['../structgrpc__byte__buffer__queue.html#a4ada3647f6060be981ff3dbd1ed2f54b',1,'grpc_byte_buffer_queue']]] +]; diff --git a/doc/ref/core.internal/html/search/variables_4.html b/doc/ref/core.internal/html/search/variables_4.html new file mode 100644 index 0000000000..400e8e9b41 --- /dev/null +++ b/doc/ref/core.internal/html/search/variables_4.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core.internal/html/search/variables_4.js b/doc/ref/core.internal/html/search/variables_4.js new file mode 100644 index 0000000000..e0f3c73df3 --- /dev/null +++ b/doc/ref/core.internal/html/search/variables_4.js @@ -0,0 +1,25 @@ +var searchData= +[ + ['elem',['elem',['../structcall__data.html#a7042d8feb119d4fcce1258c5eddca8ff',1,'call_data::elem()'],['../structwaiting__call.html#af0c24ed1b79604b43d7a669331adcbc4',1,'waiting_call::elem()']]], + ['elems',['elems',['../structgrpc__chttp2__incoming__metadata__buffer.html#a899a942462aa9b89bec8e0589cde8a92',1,'grpc_chttp2_incoming_metadata_buffer::elems()'],['../structgrpc__chttp2__incoming__metadata__live__op__buffer.html#ae11e8fc642ff7d933c26992dee443b9d',1,'grpc_chttp2_incoming_metadata_live_op_buffer::elems()']]], + ['email_5fdomain',['email_domain',['../structgrpc__jwt__verifier__email__domain__key__url__mapping.html#a88231d204f177fb83c65c64c640ac7df',1,'grpc_jwt_verifier_email_domain_key_url_mapping::email_domain()'],['../structemail__key__mapping.html#a379069d9b6baffade9583b28046eab90',1,'email_key_mapping::email_domain()']]], + ['endpoint_5freading',['endpoint_reading',['../structgrpc__chttp2__transport.html#a2011b2483741ec634614fc4240b26905',1,'grpc_chttp2_transport']]], + ['entries',['entries',['../structgrpc__credentials__md__store.html#ab5f2f62b101f1d05a11340bc45eb71c5',1,'grpc_credentials_md_store::entries()'],['../structgpr__stack__lockfree.html#a68282ed7eeb9cb7ce537b15ed25e7eb1',1,'gpr_stack_lockfree::entries()']]], + ['entries_5felems',['entries_elems',['../structgrpc__chttp2__hpack__compressor.html#a028e3752a9b203d820e194029f6df186',1,'grpc_chttp2_hpack_compressor']]], + ['entries_5fkeys',['entries_keys',['../structgrpc__chttp2__hpack__compressor.html#a80cc9b5282b637b3facbb68cf1038125',1,'grpc_chttp2_hpack_compressor']]], + ['ents',['ents',['../structgrpc__chttp2__hptbl.html#af14d20a9a16ee86be7d9f18b2f5334eb',1,'grpc_chttp2_hptbl']]], + ['ep',['ep',['../structgrpc__chttp2__transport.html#aa15d7fee63a356880346a9f961b9bdff',1,'grpc_chttp2_transport::ep()'],['../structinternal__request.html#af6443badea586cce9b4e3112832760c7',1,'internal_request::ep()']]], + ['error_5fcode',['error_code',['../structgrpc__chttp2__goaway__parser.html#a7d67619fd763e569f825792784814aa5',1,'grpc_chttp2_goaway_parser']]], + ['error_5fmsg_5fkey',['error_msg_key',['../structchannel__data.html#a214f33e78aafbbac774ea95c2e9dc8b3',1,'channel_data']]], + ['error_5fstatus_5fset',['error_status_set',['../structgrpc__call.html#a5cb38ade0e31380920c4afe56eea7b85',1,'grpc_call']]], + ['escaped_5fstring_5fwas_5fkey',['escaped_string_was_key',['../structgrpc__json__reader.html#a485d8fd2e05cae9a2152bdbd34162107',1,'grpc_json_reader']]], + ['exit_5fidle',['exit_idle',['../structgrpc__lb__policy__vtable.html#a49613233281018e00cf8dcd060c9a301',1,'grpc_lb_policy_vtable']]], + ['exit_5fidle_5fwhen_5flb_5fpolicy_5farrives',['exit_idle_when_lb_policy_arrives',['../structchannel__data.html#a3fe0f0347e1953376cd84db85bba9917',1,'channel_data']]], + ['exp',['exp',['../structgrpc__jwt__claims.html#adb8933c8e007a5864aea01e258637594',1,'grpc_jwt_claims']]], + ['expect_5fcontinuation_5fstream_5fid',['expect_continuation_stream_id',['../structgrpc__chttp2__transport__parsing.html#acb9aee1746f86d0af230f41898c2e060',1,'grpc_chttp2_transport_parsing']]], + ['extra_5farg',['extra_arg',['../structgpr__cmdline.html#a1109c69ceb7d9c2ae8f374377690b4cb',1,'gpr_cmdline']]], + ['extra_5farg_5fhelp',['extra_arg_help',['../structgpr__cmdline.html#ab1e7d3da9d7dac50a04411059cf856fb',1,'gpr_cmdline']]], + ['extra_5farg_5fname',['extra_arg_name',['../structgpr__cmdline.html#abc1adda9fabb39a4cb8beba086aaa8b5',1,'gpr_cmdline']]], + ['extra_5farg_5fuser_5fdata',['extra_arg_user_data',['../structgpr__cmdline.html#afcf2c751450c2b09eea9ac769ddb2f11',1,'gpr_cmdline']]], + ['extract_5fpeer',['extract_peer',['../structtsi__handshaker__vtable.html#ab34c8028cf54bc2b0ee1e5ab95578541',1,'tsi_handshaker_vtable']]] +]; diff --git a/doc/ref/core.internal/html/search/variables_5.html b/doc/ref/core.internal/html/search/variables_5.html new file mode 100644 index 0000000000..7f1241f94b --- /dev/null +++ b/doc/ref/core.internal/html/search/variables_5.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core.internal/html/search/variables_5.js b/doc/ref/core.internal/html/search/variables_5.js new file mode 100644 index 0000000000..a2ae94a83c --- /dev/null +++ b/doc/ref/core.internal/html/search/variables_5.js @@ -0,0 +1,31 @@ +var searchData= +[ + ['factory',['factory',['../structregistered__resolver.html#a19447c6e94f1739efdfdf0928f62a1bb',1,'registered_resolver']]], + ['fd',['fd',['../structgrpc__fd__watcher.html#a9ce341a9fea46aa4ab62de1e232691bc',1,'grpc_fd_watcher::fd()'],['../structgrpc__fd.html#a876ab7207d777a4f8b436a3b5c80fd32',1,'grpc_fd::fd()'],['../structgrpc__pollset.html#a9166a13045968cd9d384d13dfca85afc',1,'grpc_pollset::fd()']]], + ['fd_5fcapacity',['fd_capacity',['../structgrpc__pollset__set.html#aef4e4899c16b05d8d636c40491ef83ec',1,'grpc_pollset_set']]], + ['fd_5fcount',['fd_count',['../structgrpc__pollset__set.html#a9bf34bd7e4b92ba41543e220248684a6',1,'grpc_pollset_set']]], + ['fd_5flist',['fd_list',['../structgrpc__pollset__kick__state.html#ac70b7fecfa3a7afa9f9df060ed1c7772',1,'grpc_pollset_kick_state']]], + ['fds',['fds',['../structgrpc__pollset__set.html#a8d9bebcd8ad102edde7c276a5bb36af6',1,'grpc_pollset_set']]], + ['fetch_5ffunc',['fetch_func',['../structgrpc__oauth2__token__fetcher__credentials.html#af761ff685ab5e0c5884770d5bb52db54',1,'grpc_oauth2_token_fetcher_credentials']]], + ['file',['file',['../structgpr__log__func__args.html#a7961b2303b10d4f66d1aee6b5857ef89',1,'gpr_log_func_args']]], + ['filling',['filling',['../structgrpc__byte__buffer__queue.html#a59362dc489f174084408061a3c86af7c',1,'grpc_byte_buffer_queue']]], + ['filter',['filter',['../structgrpc__channel__element.html#a3f80663d58f2e206836e18fa7ce5aec3',1,'grpc_channel_element::filter()'],['../structgrpc__call__element.html#aac551ff2d3e8df1b3d39495eb7f160a8',1,'grpc_call_element::filter()']]], + ['filter_5fcount',['filter_count',['../structgrpc__subchannel__args.html#a2a86f02c0c24e32a063be3532e7dd128',1,'grpc_subchannel_args']]], + ['filter_5felems',['filter_elems',['../structgrpc__chttp2__hpack__compressor.html#a387e0eb34c64c7faaf16e0f2f3ad4d0e',1,'grpc_chttp2_hpack_compressor']]], + ['filter_5felems_5fsum',['filter_elems_sum',['../structgrpc__chttp2__hpack__compressor.html#a0277765b866665337a7cd5f780e346a8',1,'grpc_chttp2_hpack_compressor']]], + ['filters',['filters',['../structgrpc__connect__out__args.html#a265b258502606ef7943a43591bbdc4b2',1,'grpc_connect_out_args::filters()'],['../structgrpc__subchannel__args.html#abdab22dc8a8437e6f4dda191b14130ab',1,'grpc_subchannel_args::filters()'],['../structgrpc__subchannel.html#a9de51c82bda25cff592acbe7b2866a32',1,'grpc_subchannel::filters()']]], + ['finish_5fdestroy_5fchannel_5fclosure',['finish_destroy_channel_closure',['../structchannel__data.html#acecc0d7f7ae20cc71b53692eb20a0a92',1,'channel_data']]], + ['finish_5fshutdown',['finish_shutdown',['../structgrpc__pollset__vtable.html#ae8ef1cb18ceb55b32b383c62c63929e8',1,'grpc_pollset_vtable']]], + ['first_5fent',['first_ent',['../structgrpc__chttp2__hptbl.html#a4b28482c4a9c59a1ce11cad63b2eeb77',1,'grpc_chttp2_hptbl']]], + ['flag',['flag',['../structtracer.html#a7cb129f30976377f84c881d419094573',1,'tracer']]], + ['flags',['flags',['../structgrpc__op.html#a9e6087665c90f146e5570f12c66d04fb',1,'grpc_op::flags()'],['../structgrpc__ioreq.html#a97a3d5c809f88a76f20727e2afa539d1',1,'grpc_ioreq::flags()'],['../structgrpc__begin__message.html#a32d937f7978a6fcf19e64ba71ef2dc7b',1,'grpc_begin_message::flags()'],['../structgpr__thd__options.html#aaa966777aca6604109eb4cd6cae7984c',1,'gpr_thd_options::flags()']]], + ['force_5fclient_5fauth',['force_client_auth',['../structgrpc__ssl__server__config.html#ab76e4dcbf44740943a062be40d253007',1,'grpc_ssl_server_config']]], + ['force_5fsend_5fsettings',['force_send_settings',['../structgrpc__chttp2__transport__global.html#a460e875d57d437e6489aef4b7473f027',1,'grpc_chttp2_transport_global']]], + ['frame_5fprotector_5fcreated',['frame_protector_created',['../structtsi__handshaker.html#a375eb09298453585bc64bd6f99fe14ec',1,'tsi_handshaker']]], + ['frame_5fsize',['frame_size',['../structgrpc__chttp2__data__parser.html#a82d208096ae99ff778356f549de2647a',1,'grpc_chttp2_data_parser']]], + ['frame_5ftype',['frame_type',['../structgrpc__chttp2__data__parser.html#a0a9b5ff25be677ae71473791fc201865',1,'grpc_chttp2_data_parser']]], + ['free',['free',['../structgrpc__chttp2__stream__map.html#a8e3dfe8b74da93be4d32197725bb4ece',1,'grpc_chttp2_stream_map']]], + ['free_5fspace',['free_space',['../structjson__writer__userdata.html#a7bb26b7e7b6783d61265705d79c87e03',1,'json_writer_userdata']]], + ['freelist_5fnext',['freelist_next',['../structgrpc__fd.html#a48d85d973fb9284e51cad0695e91379d',1,'grpc_fd']]], + ['from_5fssl',['from_ssl',['../structtsi__ssl__handshaker.html#a92fd97e3dc2041f61cf9e99b51f5a8e8',1,'tsi_ssl_handshaker::from_ssl()'],['../structtsi__ssl__frame__protector.html#a5d6ce8a49205271885618a79964a6b73',1,'tsi_ssl_frame_protector::from_ssl()']]] +]; diff --git a/doc/ref/core.internal/html/search/variables_6.html b/doc/ref/core.internal/html/search/variables_6.html new file mode 100644 index 0000000000..7536df8d5a --- /dev/null +++ b/doc/ref/core.internal/html/search/variables_6.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core.internal/html/search/variables_6.js b/doc/ref/core.internal/html/search/variables_6.js new file mode 100644 index 0000000000..93564ecb84 --- /dev/null +++ b/doc/ref/core.internal/html/search/variables_6.js @@ -0,0 +1,50 @@ +var searchData= +[ + ['garbage',['garbage',['../structgrpc__metadata__batch.html#a803e9f2eed721ec23504e872e14cbecc',1,'grpc_metadata_batch']]], + ['get_5fbytes_5fto_5fsend_5fto_5fpeer',['get_bytes_to_send_to_peer',['../structtsi__handshaker__vtable.html#a78c12cd8f2a53cc2bd32367a725f48ff',1,'tsi_handshaker_vtable']]], + ['get_5fpeer',['get_peer',['../structgrpc__channel__filter.html#a6ddcbc355118eca15b48ee15476d2ace',1,'grpc_channel_filter::get_peer()'],['../structgrpc__endpoint__vtable.html#a01e48582c45e2e7033e344d253316911',1,'grpc_endpoint_vtable::get_peer()'],['../structgrpc__transport__vtable.html#a763d8c95adc9c74dae02a58557e001ed',1,'grpc_transport_vtable::get_peer()']]], + ['get_5frequest_5fmetadata',['get_request_metadata',['../structgrpc__credentials__vtable.html#a14795750df563c75436add4e7c05603d',1,'grpc_credentials_vtable']]], + ['get_5fresult',['get_result',['../structtsi__handshaker__vtable.html#af65c4700c22e71ecb09a94ae951d2bf3',1,'tsi_handshaker_vtable']]], + ['global',['global',['../structgrpc__chttp2__transport.html#a9bd7506a4e310f2ebc1969250b3c7694',1,'grpc_chttp2_transport::global()'],['../structgrpc__chttp2__stream.html#ae6fe61537b60639a3d969eacde593be5',1,'grpc_chttp2_stream::global()']]], + ['goaway_5ferror',['goaway_error',['../structgrpc__chttp2__transport__parsing.html#a5fe6b71fbaa164a3a755e274e94d970d',1,'grpc_chttp2_transport_parsing']]], + ['goaway_5flast_5fstream_5findex',['goaway_last_stream_index',['../structgrpc__chttp2__transport__parsing.html#ae25fb486225d5197c4532c374c04c79f',1,'grpc_chttp2_transport_parsing']]], + ['goaway_5fmessage',['goaway_message',['../structgrpc__transport__op.html#ad4862d8029894b6640d2261694e21293',1,'grpc_transport_op']]], + ['goaway_5fparser',['goaway_parser',['../structgrpc__chttp2__transport__parsing.html#ab28b069fc6b870de365928004832729b',1,'grpc_chttp2_transport_parsing']]], + ['goaway_5freceived',['goaway_received',['../structgrpc__chttp2__transport__parsing.html#a82b81ecf5d12a2c75978a343bad9abf5',1,'grpc_chttp2_transport_parsing']]], + ['goaway_5fstatus',['goaway_status',['../structgrpc__transport__op.html#a2bc4c019576243679b671f5cebd6000f',1,'grpc_transport_op']]], + ['goaway_5ftext',['goaway_text',['../structgrpc__chttp2__transport__parsing.html#a2b872c8382bfd778b44a882fe10916d8',1,'grpc_chttp2_transport_parsing']]], + ['got_5finitial_5fmetadata',['got_initial_metadata',['../structcall__data.html#a7bda5a1466231baa3df0059573579b9b',1,'call_data::got_initial_metadata()'],['../structcall__data.html#a6bd5678f8f7fb5e1c91f0b98ced36147',1,'call_data::got_initial_metadata()']]], + ['got_5fkey',['got_key',['../structgrpc__json__writer.html#a5569d8c07eeee222a342551b92e0d9ed',1,'grpc_json_writer']]], + ['grpc_5fchttp2_5fhuffsyms',['grpc_chttp2_huffsyms',['../huffsyms_8h.html#a03277352c8049d68a2ab3e26086aa79c',1,'grpc_chttp2_huffsyms(): huffsyms.c'],['../huffsyms_8c.html#a8cbea7cb59b983d744943eab38e8d55f',1,'grpc_chttp2_huffsyms(): huffsyms.c']]], + ['grpc_5fchttp2_5fsettings_5fparameters',['grpc_chttp2_settings_parameters',['../frame__settings_8h.html#a61e84df9b71280ea1a733437d9de8f37',1,'grpc_chttp2_settings_parameters(): frame_settings.c'],['../frame__settings_8c.html#a61e84df9b71280ea1a733437d9de8f37',1,'grpc_chttp2_settings_parameters(): frame_settings.c']]], + ['grpc_5fclient_5fauth_5ffilter',['grpc_client_auth_filter',['../auth__filters_8h.html#ab5f3c640585f742a46197f407218c194',1,'grpc_client_auth_filter(): client_auth_filter.c'],['../client__auth__filter_8c.html#ab5f3c640585f742a46197f407218c194',1,'grpc_client_auth_filter(): client_auth_filter.c']]], + ['grpc_5fclient_5fcensus_5ffilter',['grpc_client_census_filter',['../census__filter_8h.html#a8b0a34120ce851f7a8f539c3a14eecb4',1,'census_filter.h']]], + ['grpc_5fclient_5fchannel_5ffilter',['grpc_client_channel_filter',['../client__channel_8h.html#a8c2292b3b1d26b9c4c296c106bfa96b1',1,'grpc_client_channel_filter(): client_channel.c'],['../client__channel_8c.html#a8c2292b3b1d26b9c4c296c106bfa96b1',1,'grpc_client_channel_filter(): client_channel.c']]], + ['grpc_5fcompress_5ffilter',['grpc_compress_filter',['../compress__filter_8h.html#a6e0ba3e22587af99125faa43ee943c88',1,'grpc_compress_filter(): compress_filter.c'],['../compress__filter_8c.html#a6e0ba3e22587af99125faa43ee943c88',1,'grpc_compress_filter(): compress_filter.c']]], + ['grpc_5fcompression_5falgorithm_5fstring',['grpc_compression_algorithm_string',['../structgrpc__channel.html#afd8f60fef22e201f1e1ba3b00f285602',1,'grpc_channel']]], + ['grpc_5fconnected_5fchannel_5ffilter',['grpc_connected_channel_filter',['../connected__channel_8h.html#a30c8116a24cf1e555af53c1296d10b39',1,'grpc_connected_channel_filter(): connected_channel.c'],['../connected__channel_8c.html#a30c8116a24cf1e555af53c1296d10b39',1,'grpc_connected_channel_filter(): connected_channel.c']]], + ['grpc_5fconnectivity_5fstate_5ftrace',['grpc_connectivity_state_trace',['../connectivity__state_8h.html#aae556e492df3eb9d23c5bc5728b6662c',1,'grpc_connectivity_state_trace(): connectivity_state.c'],['../connectivity__state_8c.html#aae556e492df3eb9d23c5bc5728b6662c',1,'grpc_connectivity_state_trace(): connectivity_state.c']]], + ['grpc_5fflowctl_5ftrace',['grpc_flowctl_trace',['../internal_8h.html#afd0f83d780e8ddeac885163c45aab0a8',1,'grpc_flowctl_trace(): chttp2_transport.c'],['../chttp2__transport_8h.html#afd0f83d780e8ddeac885163c45aab0a8',1,'grpc_flowctl_trace(): chttp2_transport.c'],['../chttp2__transport_8c.html#afd0f83d780e8ddeac885163c45aab0a8',1,'grpc_flowctl_trace(): chttp2_transport.c']]], + ['grpc_5fforbid_5fdualstack_5fsockets_5ffor_5ftesting',['grpc_forbid_dualstack_sockets_for_testing',['../socket__utils__posix_8h.html#a593bec0bced7e30f2c1ac059b5188757',1,'socket_utils_posix.h']]], + ['grpc_5fhttp_5fclient_5ffilter',['grpc_http_client_filter',['../http__client__filter_8h.html#a0c9d14fbc933d24f599b259ccfea9324',1,'grpc_http_client_filter(): http_client_filter.c'],['../http__client__filter_8c.html#a0c9d14fbc933d24f599b259ccfea9324',1,'grpc_http_client_filter(): http_client_filter.c']]], + ['grpc_5fhttp_5fserver_5ffilter',['grpc_http_server_filter',['../http__server__filter_8h.html#af08554bdf22a17e82db905b74a959503',1,'grpc_http_server_filter(): http_server_filter.c'],['../http__server__filter_8c.html#af08554bdf22a17e82db905b74a959503',1,'grpc_http_server_filter(): http_server_filter.c']]], + ['grpc_5fhttp_5ftrace',['grpc_http_trace',['../internal_8h.html#a6bb76c8188f883af2fb738233abdeea0',1,'grpc_http_trace(): chttp2_transport.c'],['../chttp2__transport_8h.html#a6bb76c8188f883af2fb738233abdeea0',1,'grpc_http_trace(): chttp2_transport.c'],['../chttp2__transport_8c.html#a6bb76c8188f883af2fb738233abdeea0',1,'grpc_http_trace(): chttp2_transport.c']]], + ['grpc_5fjwt_5fverifier_5fclock_5fskew',['grpc_jwt_verifier_clock_skew',['../jwt__verifier_8h.html#a7d1ae2ff5b43188c302d75bb3ed761f7',1,'grpc_jwt_verifier_clock_skew(): jwt_verifier.c'],['../jwt__verifier_8c.html#a7d1ae2ff5b43188c302d75bb3ed761f7',1,'grpc_jwt_verifier_clock_skew(): jwt_verifier.c']]], + ['grpc_5fjwt_5fverifier_5fmax_5fdelay',['grpc_jwt_verifier_max_delay',['../jwt__verifier_8h.html#ab4a9cfed667421b6a1393e52d073a282',1,'grpc_jwt_verifier_max_delay(): jwt_verifier.c'],['../jwt__verifier_8c.html#ab4a9cfed667421b6a1393e52d073a282',1,'grpc_jwt_verifier_max_delay(): jwt_verifier.c']]], + ['grpc_5fmax_5fauth_5ftoken_5flifetime',['grpc_max_auth_token_lifetime',['../grpc__security_8h.html#a6112c5b60b1c0197531f80fdc56f7772',1,'grpc_max_auth_token_lifetime(): json_token.c'],['../json__token_8c.html#a6112c5b60b1c0197531f80fdc56f7772',1,'grpc_max_auth_token_lifetime(): json_token.c']]], + ['grpc_5fmessage_5fstring',['grpc_message_string',['../structgrpc__channel.html#aa00f6e53c4b732654311f194aa2f3957',1,'grpc_channel']]], + ['grpc_5fno_5fop_5ffilter',['grpc_no_op_filter',['../noop__filter_8h.html#afe35aa05a877e7cbc5a42c9aa0574e87',1,'grpc_no_op_filter(): noop_filter.c'],['../noop__filter_8c.html#afe35aa05a877e7cbc5a42c9aa0574e87',1,'grpc_no_op_filter(): noop_filter.c']]], + ['grpc_5fpipe_5fwakeup_5ffd_5fvtable',['grpc_pipe_wakeup_fd_vtable',['../wakeup__fd__pipe_8h.html#acc18a91c417090e877808146cd85d882',1,'wakeup_fd_pipe.h']]], + ['grpc_5fplatform_5fbecome_5fmultipoller',['grpc_platform_become_multipoller',['../pollset__posix_8h.html#aabee8316b743b1cc1673093989a7104a',1,'pollset_posix.h']]], + ['grpc_5fscheme',['grpc_scheme',['../structchannel__data.html#a24aa2dd2d7925c382b290e2417efabc7',1,'channel_data']]], + ['grpc_5fserver_5fauth_5ffilter',['grpc_server_auth_filter',['../auth__filters_8h.html#a2041d6372525de50a18f156d1b94cfae',1,'grpc_server_auth_filter(): server_auth_filter.c'],['../server__auth__filter_8c.html#a2041d6372525de50a18f156d1b94cfae',1,'grpc_server_auth_filter(): server_auth_filter.c']]], + ['grpc_5fserver_5fcensus_5ffilter',['grpc_server_census_filter',['../census__filter_8h.html#a710f293782b7b759efd8bf5acd011963',1,'census_filter.h']]], + ['grpc_5fspecialized_5fwakeup_5ffd_5fvtable',['grpc_specialized_wakeup_fd_vtable',['../wakeup__fd__posix_8h.html#a5f252ab892107e6a1150ca77c1200e42',1,'wakeup_fd_posix.h']]], + ['grpc_5fstatus_5felem',['grpc_status_elem',['../structgrpc__channel.html#ad50abb90c5f7ef77e51f8387b06451f9',1,'grpc_channel']]], + ['grpc_5fstatus_5fstring',['grpc_status_string',['../structgrpc__channel.html#a4b3d99e4664ffe3399d29f61f7063600',1,'grpc_channel']]], + ['grpc_5fsurface_5ftrace',['grpc_surface_trace',['../surface__trace_8h.html#aa4f3485a1e8307d80c59a22e5b20f7a5',1,'grpc_surface_trace(): surface_trace.c'],['../surface__trace_8c.html#aa4f3485a1e8307d80c59a22e5b20f7a5',1,'grpc_surface_trace(): surface_trace.c']]], + ['grpc_5ftcp_5ftrace',['grpc_tcp_trace',['../tcp__posix_8h.html#a72c0faa3524bfe76522d6ada920707eb',1,'tcp_posix.h']]], + ['grpc_5ftrace_5fbatch',['grpc_trace_batch',['../call_8h.html#a9fa9c0e067be7cfea08021b019544382',1,'grpc_trace_batch(): call_log_batch.c'],['../call__log__batch_8c.html#a9fa9c0e067be7cfea08021b019544382',1,'grpc_trace_batch(): call_log_batch.c']]], + ['grpc_5ftrace_5fchannel',['grpc_trace_channel',['../channel__stack_8h.html#a7ee4da676e51ccc09f1e53fbf4d7e0d4',1,'grpc_trace_channel(): channel_stack.c'],['../channel__stack_8c.html#a7ee4da676e51ccc09f1e53fbf4d7e0d4',1,'grpc_trace_channel(): channel_stack.c']]], + ['grpc_5ftrace_5fsecure_5fendpoint',['grpc_trace_secure_endpoint',['../secure__endpoint_8h.html#a7778bdc8c40adac0dc536fe255b75fbd',1,'grpc_trace_secure_endpoint(): secure_endpoint.c'],['../secure__endpoint_8c.html#a7778bdc8c40adac0dc536fe255b75fbd',1,'grpc_trace_secure_endpoint(): secure_endpoint.c']]] +]; diff --git a/doc/ref/core.internal/html/search/variables_7.html b/doc/ref/core.internal/html/search/variables_7.html new file mode 100644 index 0000000000..66186a6994 --- /dev/null +++ b/doc/ref/core.internal/html/search/variables_7.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core.internal/html/search/variables_7.js b/doc/ref/core.internal/html/search/variables_7.js new file mode 100644 index 0000000000..938acae4e6 --- /dev/null +++ b/doc/ref/core.internal/html/search/variables_7.js @@ -0,0 +1,41 @@ +var searchData= +[ + ['handshake_5fbuffer',['handshake_buffer',['../structgrpc__secure__transport__setup.html#a4ac21c122779d771e91d59bc1c74a723',1,'grpc_secure_transport_setup']]], + ['handshake_5fbuffer_5fsize',['handshake_buffer_size',['../structgrpc__secure__transport__setup.html#a0edef695f006557a299ea4384f3a5438',1,'grpc_secure_transport_setup']]], + ['handshaker',['handshaker',['../structgrpc__secure__transport__setup.html#acb477ffb68f62bc22048abef085575c3',1,'grpc_secure_transport_setup']]], + ['handshaker_5ffactory',['handshaker_factory',['../structgrpc__httpcli__ssl__channel__security__connector.html#a4ec68b3563b321823c2386381727b9c6',1,'grpc_httpcli_ssl_channel_security_connector::handshaker_factory()'],['../structgrpc__ssl__channel__security__connector.html#aea121da234d473666c85221663f00241',1,'grpc_ssl_channel_security_connector::handshaker_factory()'],['../structgrpc__ssl__server__security__connector.html#aa18f372b18a7dc70e96cc6cf751d58e3',1,'grpc_ssl_server_security_connector::handshaker_factory()']]], + ['handshaking_5ftcp_5fendpoints',['handshaking_tcp_endpoints',['../structgrpc__server__secure__state.html#acba74fb1730945adb6b8d60421321b26',1,'grpc_server_secure_state']]], + ['has_5fbase64_5fand_5fhuffman_5fencoded',['has_base64_and_huffman_encoded',['../structinternal__string.html#ad30156b9bc8f7fc9c60b09e3dcaef00a',1,'internal_string']]], + ['has_5fcompression_5falgorithm',['has_compression_algorithm',['../structcall__data.html#a69baa5f9149f7edadc3c8e5fc2c82aa8',1,'call_data']]], + ['has_5fpending_5fiocp',['has_pending_iocp',['../structgrpc__winsocket__callback__info.html#af6288faf84cbd0d6706d6cc7cd04e294',1,'grpc_winsocket_callback_info']]], + ['has_5frequest_5fmetadata',['has_request_metadata',['../structgrpc__credentials__vtable.html#acd487d7cf9dab42866c366a212ef4b15',1,'grpc_credentials_vtable']]], + ['has_5frequest_5fmetadata_5fonly',['has_request_metadata_only',['../structgrpc__credentials__vtable.html#a2028660c297e6e08be99e09f068921e7',1,'grpc_credentials_vtable']]], + ['has_5fvalue',['has_value',['../structgrpc__chttp2__hptbl__find__result.html#ae93485f3e3efeb1b621e2307aa53c2b7',1,'grpc_chttp2_hptbl_find_result']]], + ['hash',['hash',['../structgrpc__mdstr.html#a293d438ac394265fb036e8dba0a3bc9d',1,'grpc_mdstr::hash()'],['../structinternal__string.html#abc9b5ed558b39ad7c3265964778b3b98',1,'internal_string::hash()']]], + ['hash_5fseed',['hash_seed',['../structgrpc__mdctx.html#a7ac9fbdc8d9e07461ae46e89de5dec68',1,'grpc_mdctx']]], + ['have_5falarm',['have_alarm',['../structgrpc__subchannel.html#a04c16f8c09717fcda07708f4d2924e30',1,'grpc_subchannel::have_alarm()'],['../structgrpc__call.html#a8ef6ebfaceedd93d50960c7e11a279b2',1,'grpc_call::have_alarm()']]], + ['have_5fread_5fbyte',['have_read_byte',['../structinternal__request.html#aff291a650e0020e9a09beb9cc64298f9',1,'internal_request']]], + ['hc_5fon_5frecv',['hc_on_recv',['../structcall__data.html#ab0f1ff70c9a8a72f5eb2e778fe709baf',1,'call_data']]], + ['hdr_5fcapacity',['hdr_capacity',['../structgrpc__httpcli__parser.html#af12e7be4d11735dce047a30c1915cc77',1,'grpc_httpcli_parser']]], + ['hdr_5fcount',['hdr_count',['../structgrpc__httpcli__request.html#a3f21a167ba2c1a4afcb00023a707cde0',1,'grpc_httpcli_request::hdr_count()'],['../structgrpc__httpcli__response.html#a5a190ad146f03dcf9c8db0031f3e592e',1,'grpc_httpcli_response::hdr_count()']]], + ['hdrs',['hdrs',['../structgrpc__httpcli__request.html#a00525596b5530699a64fa1baa90576c6',1,'grpc_httpcli_request::hdrs()'],['../structgrpc__httpcli__response.html#a8525db277ee594e9e806884aa3e4430d',1,'grpc_httpcli_response::hdrs()']]], + ['head',['head',['../structgrpc__chttp2__stream__list.html#af0f7bfa4b2e03157bd08f46091534e73',1,'grpc_chttp2_stream_list::head()'],['../structgrpc__mdelem__list.html#a01bd8da8ef529fa0c521354e6ab15d7a',1,'grpc_mdelem_list::head()'],['../structgpr__stack__lockfree.html#a63a10f40dc93803a1d97846f659860eb',1,'gpr_stack_lockfree::head()']]], + ['header',['header',['../structverifier__cb__ctx.html#a300805c3f085e1a830e26030a0c823ad',1,'verifier_cb_ctx']]], + ['header_5feof',['header_eof',['../structgrpc__chttp2__transport__parsing.html#a0c6bdb40aa08bf5930307f3997961e50',1,'grpc_chttp2_transport_parsing']]], + ['header_5fidx',['header_idx',['../structframer__state.html#a8f1aacf4453938a5e335e77c6d775dc1',1,'framer_state']]], + ['heap',['heap',['../structshard__type.html#ae212a2061cff7c73ff1c208174272070',1,'shard_type']]], + ['heap_5findex',['heap_index',['../structgrpc__alarm.html#adef760998486aa79b9637e95a83e061b',1,'grpc_alarm']]], + ['help',['help',['../structarg.html#a7c3bb14ce3710281f4f5c511961823df',1,'arg']]], + ['host',['host',['../structgrpc__call__details.html#a869b5db96e2e0fbd573381e77b859631',1,'grpc_call_details::host()'],['../structgrpc__httpcli__request.html#a907d00d1b3d1b8b0b8dddc0e7adbd48d',1,'grpc_httpcli_request::host()'],['../structinternal__request.html#ab545c1a0948fde5ebcf3a38e4bb2e976',1,'internal_request::host()'],['../structcall__data.html#a5b3ab9bd0e3c549bf9ad739f0011b995',1,'call_data::host()'],['../structchannel__registered__method.html#a6f9cc4376a5b8955a060f089720f2e9d',1,'channel_registered_method::host()'],['../structregistered__method.html#ac8947363747871cca9a921739b686545',1,'registered_method::host()']]], + ['host_5fcapacity',['host_capacity',['../structgrpc__call__details.html#aeab0d9e754bbb1aac1a21ad4ef63d8b1',1,'grpc_call_details']]], + ['host_5fkey',['host_key',['../structchannel__data.html#acf1f4e1f7664686d2c41072763080cf6',1,'channel_data']]], + ['hpack_5fcompressor',['hpack_compressor',['../structgrpc__chttp2__transport__writing.html#a99f5a7439100ab7bab790117458af460',1,'grpc_chttp2_transport_writing']]], + ['hpack_5fparser',['hpack_parser',['../structgrpc__chttp2__transport__parsing.html#a5c0031bc09c803f4b1440690a896812d',1,'grpc_chttp2_transport_parsing']]], + ['hs_5fon_5frecv',['hs_on_recv',['../structcall__data.html#a449389cf74cdadc8a00b52990c7052d5',1,'call_data']]], + ['http_5fctx',['http_ctx',['../structgrpc__jwt__verifier.html#a0dbb6661ebad9689425e9a3e24c67a3d',1,'grpc_jwt_verifier']]], + ['http_5fscheme',['http_scheme',['../structchannel__data.html#a76cf628a9f2165700655595e349dc71c',1,'channel_data']]], + ['httpcli_5fcontext',['httpcli_context',['../structgrpc__oauth2__token__fetcher__credentials.html#a6c54ee9f6021c950777c42a4e34b71c8',1,'grpc_oauth2_token_fetcher_credentials']]], + ['https_5fscheme',['https_scheme',['../structchannel__data.html#a64d3d8ab7ed7ca08eb8e1e1823051d97',1,'channel_data']]], + ['huff',['huff',['../structgrpc__chttp2__hpack__parser.html#a72b104abd60bed440243eab839b6d1e5',1,'grpc_chttp2_hpack_parser']]], + ['huff_5fstate',['huff_state',['../structgrpc__chttp2__hpack__parser.html#aefbc0edc85975abf14cd4f52ca1b823c',1,'grpc_chttp2_hpack_parser']]] +]; diff --git a/doc/ref/core.internal/html/search/variables_8.html b/doc/ref/core.internal/html/search/variables_8.html new file mode 100644 index 0000000000..aa13bf24a5 --- /dev/null +++ b/doc/ref/core.internal/html/search/variables_8.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core.internal/html/search/variables_8.js b/doc/ref/core.internal/html/search/variables_8.js new file mode 100644 index 0000000000..d0481036ad --- /dev/null +++ b/doc/ref/core.internal/html/search/variables_8.js @@ -0,0 +1,66 @@ +var searchData= +[ + ['iam_5fmd',['iam_md',['../structgrpc__iam__credentials.html#a4925aa708ad3e63dd99e3881d2f735b8',1,'grpc_iam_credentials']]], + ['iat',['iat',['../structgrpc__jwt__claims.html#a4f50dadfd0a2d3493065b5b4faf84fef',1,'grpc_jwt_claims']]], + ['id',['id',['../structcensus__stat.html#a1151cb5a250db9b70ba8fc13453abcf3',1,'census_stat::id()'],['../structgrpc__chttp2__settings__parser.html#a78292a3a593ad3806e8067b055687745',1,'grpc_chttp2_settings_parser::id()'],['../structgrpc__chttp2__outstanding__ping.html#a3cf40734ac72489211630654aaa02bd9',1,'grpc_chttp2_outstanding_ping::id()'],['../structgrpc__chttp2__stream__global.html#af978119004439db266373fc347d553d4',1,'grpc_chttp2_stream_global::id()'],['../structgrpc__chttp2__stream__writing.html#a294162cbd6c888161e51278dde204832',1,'grpc_chttp2_stream_writing::id()'],['../structgrpc__chttp2__stream__parsing.html#a177b90ba6af8f43e85ca7d96e6f3db83',1,'grpc_chttp2_stream_parsing::id()']]], + ['in_5farray',['in_array',['../structgrpc__json__reader.html#a0c2f2a43dcad121aa5ae4d579178c438',1,'grpc_json_reader']]], + ['in_5fflight_5fcbs',['in_flight_cbs',['../structgrpc__pollset.html#a835a6bc3ba9adc3076831877fc1e4ca2',1,'grpc_pollset']]], + ['in_5fobject',['in_object',['../structgrpc__json__reader.html#ab52b1665e66ad5e4d8aceaed833831e6',1,'grpc_json_reader']]], + ['in_5fstream_5fmap',['in_stream_map',['../structgrpc__chttp2__stream__global.html#a12c9f137d984cf478ab590b35e42f3c4',1,'grpc_chttp2_stream_global']]], + ['inactive_5fwatcher_5froot',['inactive_watcher_root',['../structgrpc__fd.html#a640195e98f3a3fcec45f2db5bff6dac8',1,'grpc_fd']]], + ['included',['included',['../structgrpc__chttp2__stream.html#ab8404714b48a6b7921040a154e4d0d95',1,'grpc_chttp2_stream']]], + ['incoming',['incoming',['../structtsi__fake__handshaker.html#a88e5531bc9e28f480211209fe0d68e14',1,'tsi_fake_handshaker']]], + ['incoming_5fconfiguration',['incoming_configuration',['../structchannel__data.html#a2b20db607d1a87fa17b260cac4a121f0',1,'channel_data']]], + ['incoming_5fframe_5fflags',['incoming_frame_flags',['../structgrpc__chttp2__transport__parsing.html#ad96b76072847c4d2824167bb3003798f',1,'grpc_chttp2_transport_parsing']]], + ['incoming_5fframe_5fsize',['incoming_frame_size',['../structgrpc__chttp2__transport__parsing.html#a1d4a217861aaa604dd9f5fc515afd0b0',1,'grpc_chttp2_transport_parsing']]], + ['incoming_5fframe_5ftype',['incoming_frame_type',['../structgrpc__chttp2__transport__parsing.html#a3cc62ba8bd5b95de8d083421cc6f5781',1,'grpc_chttp2_transport_parsing']]], + ['incoming_5fmessage',['incoming_message',['../structgrpc__call.html#a98eafd66de3d31324c7a9c113dfb9a56',1,'grpc_call']]], + ['incoming_5fmessage_5fflags',['incoming_message_flags',['../structgrpc__call.html#a4c3b082e465f93d090d6f523e197b43a',1,'grpc_call']]], + ['incoming_5fmessage_5flength',['incoming_message_length',['../structgrpc__call.html#a51fb682fa9024d09b2e137edb2fc13d0',1,'grpc_call']]], + ['incoming_5fmetadata',['incoming_metadata',['../structgrpc__chttp2__stream__global.html#aa5202346d6771ba38232b4d1fd290da5',1,'grpc_chttp2_stream_global::incoming_metadata()'],['../structgrpc__chttp2__stream__parsing.html#a5cdeb7e94802970d5748ec4c218003cc',1,'grpc_chttp2_stream_parsing::incoming_metadata()']]], + ['incoming_5fqueue',['incoming_queue',['../structgrpc__call.html#ae217707d3befc054ac994f12de9e10bb',1,'grpc_call']]], + ['incoming_5fsettings',['incoming_settings',['../structgrpc__chttp2__settings__parser.html#a4b6b73681cb815b663dda8008ff3d519',1,'grpc_chttp2_settings_parser']]], + ['incoming_5fsopb',['incoming_sopb',['../structgrpc__chttp2__data__parser.html#a6fd6d128f7954d9ece6b375d2699619c',1,'grpc_chttp2_data_parser::incoming_sopb()'],['../structgrpc__chttp2__stream__global.html#ad9b5d27432602aed7ad614427579643e',1,'grpc_chttp2_stream_global::incoming_sopb()']]], + ['incoming_5fstream',['incoming_stream',['../structgrpc__chttp2__transport__parsing.html#ab961441cc12e57a8721e7cd1b726e445',1,'grpc_chttp2_transport_parsing']]], + ['incoming_5fstream_5fid',['incoming_stream_id',['../structgrpc__chttp2__transport__parsing.html#a3e785cf84303e183da7de8fd1b534732',1,'grpc_chttp2_transport_parsing']]], + ['incoming_5fwindow',['incoming_window',['../structgrpc__chttp2__transport__global.html#a0d452aa09888c083335eedc6df456bd3',1,'grpc_chttp2_transport_global::incoming_window()'],['../structgrpc__chttp2__transport__parsing.html#af9b14729ff0c67e8b11f11bef74cc498',1,'grpc_chttp2_transport_parsing::incoming_window()'],['../structgrpc__chttp2__stream__global.html#a61488c0b537d712411fd90e1ea3bf363',1,'grpc_chttp2_stream_global::incoming_window()'],['../structgrpc__chttp2__stream__parsing.html#a6764e27bf94c79201b4408c7b2deb622',1,'grpc_chttp2_stream_parsing::incoming_window()']]], + ['incoming_5fwindow_5fdelta',['incoming_window_delta',['../structgrpc__chttp2__transport__parsing.html#a11bb4e6b13a37f1733f0348633e62ca9',1,'grpc_chttp2_transport_parsing::incoming_window_delta()'],['../structgrpc__chttp2__stream__parsing.html#a981536ef5bd42bfaf2940b005ae4d1ed',1,'grpc_chttp2_stream_parsing::incoming_window_delta()']]], + ['indent',['indent',['../structgrpc__json__writer.html#a79d6783ae5cd77f186571b46f63cc5de',1,'grpc_json_writer']]], + ['index',['index',['../structgrpc__auth__property__iterator.html#ac2b2a0501f097562a6d8856e3da5e7e6',1,'grpc_auth_property_iterator::index()'],['../structgrpc__byte__buffer__reader.html#a948b75a404899c348fc6a52e1a6e63cb',1,'grpc_byte_buffer_reader::index()'],['../structgrpc__chttp2__hpack__parser.html#a032576122c56272a9546fb4cb4628aef',1,'grpc_chttp2_hpack_parser::index()'],['../structgrpc__chttp2__hptbl__find__result.html#afde6a296e3d2b379395ccf89141e7aea',1,'grpc_chttp2_hptbl_find_result::index()'],['../structlockfree__node__contents.html#a928cde9bc69482abb79427725c16b8f7',1,'lockfree_node_contents::index()']]], + ['indices_5felems',['indices_elems',['../structgrpc__chttp2__hpack__compressor.html#ae15305b7ada7f6b084088b9ab64240a1',1,'grpc_chttp2_hpack_compressor']]], + ['indices_5fkeys',['indices_keys',['../structgrpc__chttp2__hpack__compressor.html#abd71f91eced6cc4bfdef970d00bbe808',1,'grpc_chttp2_hpack_compressor']]], + ['init_5favg',['init_avg',['../structgrpc__time__averaged__stats.html#aa1aedfcd876bdec50aab3e1da6bec224',1,'grpc_time_averaged_stats']]], + ['init_5fcall_5felem',['init_call_elem',['../structgrpc__channel__filter.html#aea34a13bc660ba869d4c18ed6cd21c2b',1,'grpc_channel_filter']]], + ['init_5fchannel_5felem',['init_channel_elem',['../structgrpc__channel__filter.html#a7171b1634e5a7d42880f68ae1a4f875a',1,'grpc_channel_filter']]], + ['init_5fstream',['init_stream',['../structgrpc__transport__vtable.html#a32caae908e80e87783bf55b80c81e13f',1,'grpc_transport_vtable']]], + ['initial_5fmetadata',['initial_metadata',['../structrequested__call.html#a813caeee0e35952179d319607847c7b7',1,'requested_call']]], + ['initial_5fwindow_5fupdate',['initial_window_update',['../structgrpc__chttp2__transport__parsing.html#a3e1fc90d6a29169c350866557ff5903c',1,'grpc_chttp2_transport_parsing']]], + ['inlined',['inlined',['../structgpr__slice.html#a1fd4cfd75079d6f30184f0340276eb28',1,'gpr_slice::inlined()'],['../structgpr__slice__buffer.html#adb678a23dc27e50c478bc48d365420e2',1,'gpr_slice_buffer::inlined()']]], + ['inlined_5fops',['inlined_ops',['../structgrpc__stream__op__buffer.html#addb643aa73745975aae590438b039301',1,'grpc_stream_op_buffer']]], + ['inner',['inner',['../structgrpc__composite__credentials.html#a94a828068bb8844a20c6677b239ae805',1,'grpc_composite_credentials']]], + ['input',['input',['../structjson__reader__userdata.html#abccbf0e7d9695f00948288df13ba4c7e',1,'json_reader_userdata']]], + ['input_5fbuffer',['input_buffer',['../structsecure__endpoint.html#abc32a14befcf93c3a16dcb9e8fa66ef4',1,'secure_endpoint']]], + ['integer',['integer',['../structgrpc__arg.html#a6871bfca9c52e7f56abbd71c81d97554',1,'grpc_arg']]], + ['interested_5fparties',['interested_parties',['../structgrpc__connect__in__args.html#aa7c2d0108c593d04eab1f02abdb835ac',1,'grpc_connect_in_args']]], + ['internal_5fdata',['internal_data',['../structgrpc__metadata.html#a342799d4f78fcc6dd29ee44f56a6d553',1,'grpc_metadata']]], + ['internal_5frefcount',['internal_refcount',['../structgrpc__call.html#a8aedf0fd044d8d985172fd02293ed55d',1,'grpc_call::internal_refcount()'],['../structgrpc__server.html#ab5c3bf8e55920a90654d31c6a0836e93',1,'grpc_server::internal_refcount()']]], + ['into_5fssl',['into_ssl',['../structtsi__ssl__handshaker.html#a6d79399d2bf72081032843d9800dcaa6',1,'tsi_ssl_handshaker::into_ssl()'],['../structtsi__ssl__frame__protector.html#ac1162fd08a5da7a1c5f142251beb9934',1,'tsi_ssl_frame_protector::into_ssl()']]], + ['invalid_5fvalue_5fbehavior',['invalid_value_behavior',['../structgrpc__chttp2__setting__parameters.html#a9b900f51c9a7756a67cbf502094d92df',1,'grpc_chttp2_setting_parameters']]], + ['iomgr_5fobj',['iomgr_obj',['../structinternal__request.html#a16edaecfecf5937255d86d07ab3be4d0',1,'internal_request']]], + ['iomgr_5fobject',['iomgr_object',['../structgrpc__fd.html#aaf6e293dd6b804a9783ef4ccf06710cc',1,'grpc_fd::iomgr_object()'],['../structgrpc__winsocket.html#a226dc7020d126be244c2c4d36907eae6',1,'grpc_winsocket::iomgr_object()']]], + ['is_5fack',['is_ack',['../structgrpc__chttp2__ping__parser.html#adbc3402e14a75f592502d3185165a59c',1,'grpc_chttp2_ping_parser::is_ack()'],['../structgrpc__chttp2__settings__parser.html#a3237e1bd69e648a47181625a1c310eec',1,'grpc_chttp2_settings_parser::is_ack()']]], + ['is_5fasync',['is_async',['../structgrpc__fake__oauth2__credentials.html#a929e924c4a75244f8e36e09ac1de6806',1,'grpc_fake_oauth2_credentials']]], + ['is_5fboundary',['is_boundary',['../structgrpc__chttp2__hpack__parser.html#adc642ac806512e13229d13c5d4a64aec',1,'grpc_chttp2_hpack_parser']]], + ['is_5fclient',['is_client',['../structgrpc__chttp2__transport__global.html#acb27a0ca3039e6e2713467e7dcef539e',1,'grpc_chttp2_transport_global::is_client()'],['../structgrpc__chttp2__transport__writing.html#a43f3459674012631937082d00d553f57',1,'grpc_chttp2_transport_writing::is_client()'],['../structgrpc__chttp2__transport__parsing.html#a1f45954c73c17a9a0cff3c0c7ac26d58',1,'grpc_chttp2_transport_parsing::is_client()'],['../structtsi__fake__handshaker.html#ab3817b146f5d0d09232581e33bfd50f0',1,'tsi_fake_handshaker::is_client()'],['../structgrpc__call.html#a5a4810b490545e9b18b488bef197314f',1,'grpc_call::is_client()'],['../structgrpc__channel.html#a4bfedb17fb28f088111e21abd9c2c4cc',1,'grpc_channel::is_client()']]], + ['is_5fclient_5fside',['is_client_side',['../structgrpc__security__connector.html#a233f3e3ad0edc94fa25b0b3c8bb839bd',1,'grpc_security_connector']]], + ['is_5fconnection_5fupdate',['is_connection_update',['../structgrpc__chttp2__window__update__parser.html#a59104211b0db6e55fe6ac2a1409f18ca',1,'grpc_chttp2_window_update_parser']]], + ['is_5fdone',['is_done',['../structcompute__engine__detector.html#a1b82128e01e4041639ff7e3f5286207d',1,'compute_engine_detector']]], + ['is_5feof',['is_eof',['../structgrpc__chttp2__hpack__parser.html#a0ced7637ac446a9c535391ffdeb7990b',1,'grpc_chttp2_hpack_parser']]], + ['is_5fframe_5fcompressed',['is_frame_compressed',['../structgrpc__chttp2__data__parser.html#a0b6ee9238d492fc7ed2a0e21fd483aa7',1,'grpc_chttp2_data_parser']]], + ['is_5flast_5fframe',['is_last_frame',['../structgrpc__chttp2__data__parser.html#ae3b9c3b2e6d778a42225361adbad882e',1,'grpc_chttp2_data_parser']]], + ['is_5flast_5fsend',['is_last_send',['../structgrpc__transport__stream__op.html#a43d850c3001e92b407b78866d615696f',1,'grpc_transport_stream_op']]], + ['is_5fserver_5fcq',['is_server_cq',['../structgrpc__completion__queue.html#a495f730490aa5625bb7ce2604ee8e6d7',1,'grpc_completion_queue']]], + ['is_5fset',['is_set',['../structreceived__status.html#a39555cb7bcc2ccf18854bd73136c9c03',1,'received_status']]], + ['is_5fshutdown',['is_shutdown',['../structgrpc__server__secure__state.html#aea11767a6c8e97a44574e8e3a368deec',1,'grpc_server_secure_state']]], + ['iss',['iss',['../structgrpc__jwt__claims.html#a69f31f01a0d1cac4f79f0a46ed4e6593',1,'grpc_jwt_claims']]] +]; diff --git a/doc/ref/core.internal/html/search/variables_9.html b/doc/ref/core.internal/html/search/variables_9.html new file mode 100644 index 0000000000..78cc249f7d --- /dev/null +++ b/doc/ref/core.internal/html/search/variables_9.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core.internal/html/search/variables_9.js b/doc/ref/core.internal/html/search/variables_9.js new file mode 100644 index 0000000000..f01bc408a2 --- /dev/null +++ b/doc/ref/core.internal/html/search/variables_9.js @@ -0,0 +1,8 @@ +var searchData= +[ + ['json',['json',['../structgrpc__jwt__claims.html#add6f381accf815cd0b7385fded17fae5',1,'grpc_jwt_claims']]], + ['jti',['jti',['../structgrpc__jwt__claims.html#abf5af69634298aaeeae5a0a2e6ef60f9',1,'grpc_jwt_claims']]], + ['jwt_5fexpiration',['jwt_expiration',['../structgrpc__service__account__jwt__access__credentials.html#a3adac3e5a237a509291047037a5a892a',1,'grpc_service_account_jwt_access_credentials']]], + ['jwt_5flifetime',['jwt_lifetime',['../structgrpc__service__account__jwt__access__credentials.html#a17f125b4f728143947f9917390316126',1,'grpc_service_account_jwt_access_credentials']]], + ['jwt_5fmd',['jwt_md',['../structgrpc__service__account__jwt__access__credentials.html#a1bdefcea33f490d5a40414fa10938533',1,'grpc_service_account_jwt_access_credentials']]] +]; diff --git a/doc/ref/core.internal/html/search/variables_a.html b/doc/ref/core.internal/html/search/variables_a.html new file mode 100644 index 0000000000..592abaa33c --- /dev/null +++ b/doc/ref/core.internal/html/search/variables_a.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core.internal/html/search/variables_a.js b/doc/ref/core.internal/html/search/variables_a.js new file mode 100644 index 0000000000..4db97b4ca6 --- /dev/null +++ b/doc/ref/core.internal/html/search/variables_a.js @@ -0,0 +1,11 @@ +var searchData= +[ + ['key',['key',['../structgrpc__arg.html#aeb230fbd50daacfe654abc3500a44968',1,'grpc_arg::key()'],['../structgrpc__metadata.html#abe93a3d24cd534d9387e05ad1f0b36f7',1,'grpc_metadata::key()'],['../structgrpc__httpcli__header.html#aa5504b4e9fba5978e4026dbeadb6619e',1,'grpc_httpcli_header::key()'],['../structgrpc__credentials__md.html#a8484aa32f640b1b127c1903e868a4a53',1,'grpc_credentials_md::key()'],['../structgrpc__service__account__jwt__access__credentials.html#abedd1fe434bdb017b566f5aa096d8f32',1,'grpc_service_account_jwt_access_credentials::key()'],['../structgrpc__service__account__credentials.html#a7bf8e279b0c67ed0f8d3a127dab0b0cd',1,'grpc_service_account_credentials::key()'],['../structgrpc__json.html#a37118fc8b75a363d1870b4555148b7b6',1,'grpc_json::key()'],['../structgrpc__chttp2__hpack__parser.html#a4d3edf20019517c6ba89d16183287f10',1,'grpc_chttp2_hpack_parser::key()'],['../structgrpc__mdelem.html#a8260c065e7658a1d2438c656bd8aae94',1,'grpc_mdelem::key()'],['../structjson__reader__userdata.html#ac7750253670b78b205a06c2e371ac418',1,'json_reader_userdata::key()'],['../structinternal__metadata.html#a1ef3f9e31e4380c0ec8fce01714c0fa3',1,'internal_metadata::key()'],['../structgpr__pthread__thread__local.html#a006cbb5f30eb7c7c53a99a19f242fece',1,'gpr_pthread_thread_local::key()'],['../hpack__table_8c.html#acd3d88da3c0e0313c3645ff34f62f542',1,'key(): hpack_table.c']]], + ['key_5furl_5fprefix',['key_url_prefix',['../structgrpc__jwt__verifier__email__domain__key__url__mapping.html#a6dea6ddab6cdfcf865c08047a0d4b3ec',1,'grpc_jwt_verifier_email_domain_key_url_mapping::key_url_prefix()'],['../structemail__key__mapping.html#a0c0fa6aa94861adf3c6a4f5f9579d37a',1,'email_key_mapping::key_url_prefix()']]], + ['keys',['keys',['../structgrpc__chttp2__stream__map.html#acf47fcc774eb5ea9c07f3c7b57179be6',1,'grpc_chttp2_stream_map']]], + ['kick',['kick',['../structgrpc__pollset__vtable.html#ae03e13800e000795a512fa4e308efdbc',1,'grpc_pollset_vtable']]], + ['kick_5fstate',['kick_state',['../structgrpc__pollset.html#ae7b8c9f2621b64a15b02d6beeb234a0f',1,'grpc_pollset']]], + ['kicked',['kicked',['../structgrpc__pollset__kick__state.html#a91f72c6a22381c48f6994830a460c7b8',1,'grpc_pollset_kick_state']]], + ['kid',['kid',['../structjose__header.html#ae38087aaf6d4e0670bb5deda4375f719',1,'jose_header']]], + ['kill_5fzombie_5fclosure',['kill_zombie_closure',['../structcall__data.html#a2a1ef01585059d467002ce70f6fa03d1',1,'call_data']]] +]; diff --git a/doc/ref/core.internal/html/search/variables_b.html b/doc/ref/core.internal/html/search/variables_b.html new file mode 100644 index 0000000000..78052a1e03 --- /dev/null +++ b/doc/ref/core.internal/html/search/variables_b.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core.internal/html/search/variables_b.js b/doc/ref/core.internal/html/search/variables_b.js new file mode 100644 index 0000000000..99b1bbdb6f --- /dev/null +++ b/doc/ref/core.internal/html/search/variables_b.js @@ -0,0 +1,22 @@ +var searchData= +[ + ['last_5fent',['last_ent',['../structgrpc__chttp2__hptbl.html#a396719b339f0d4d2d7425b5db960536b',1,'grpc_chttp2_hptbl']]], + ['last_5fincoming_5fstream_5fid',['last_incoming_stream_id',['../structgrpc__chttp2__transport__global.html#a4038fcd84b5ed8d5be85871bbd7bf362',1,'grpc_chttp2_transport_global::last_incoming_stream_id()'],['../structgrpc__chttp2__transport__parsing.html#aaaf91745383884fd3b3df92021c7b542',1,'grpc_chttp2_transport_parsing::last_incoming_stream_id()']]], + ['last_5fsend_5fcontains',['last_send_contains',['../structgrpc__call.html#a4428a5f3615eb7ed703cb5650c379225',1,'grpc_call']]], + ['last_5fshutdown_5fmessage_5ftime',['last_shutdown_message_time',['../structgrpc__server.html#aba4f032ca63d1a654bd2a7776dfb6b6f',1,'grpc_server']]], + ['last_5fstream_5fid',['last_stream_id',['../structgrpc__chttp2__goaway__parser.html#a0c4cd3884d0d1351a86466cbcd5f58be',1,'grpc_chttp2_goaway_parser']]], + ['last_5fwas_5fheader',['last_was_header',['../structframer__state.html#a81d1d4409a7212a9da08212e55772b20',1,'framer_state']]], + ['lb_5fpolicy',['lb_policy',['../structchannel__data.html#a3cbf28a9634e67af5aea0af6363e4d94',1,'channel_data::lb_policy()'],['../structlb__policy__connectivity__watcher.html#a2e56bc230933c8ee0f5dbacf58e1805c',1,'lb_policy_connectivity_watcher::lb_policy()'],['../structgrpc__client__config.html#a40e0301a0d5ac19d5c5c854703604cc9',1,'grpc_client_config::lb_policy()']]], + ['lb_5fpolicy_5ffactory',['lb_policy_factory',['../structdns__resolver.html#a9e7953dbbac44c59c5f8d2946e4295f7',1,'dns_resolver::lb_policy_factory()'],['../structsockaddr__resolver.html#a3d3d40590716456f336738170ad3f3e8',1,'sockaddr_resolver::lb_policy_factory()']]], + ['left_5fovers',['left_overs',['../structgrpc__secure__transport__setup.html#ac057ddae29de167423a28ff357acab20',1,'grpc_secure_transport_setup']]], + ['leftover_5fbytes',['leftover_bytes',['../structsecure__endpoint.html#a46eca04c2167e2d459c0a7aab630bf8a',1,'secure_endpoint']]], + ['len',['len',['../structgrpc__resolved__address.html#ad4f8c294fc0bf15ea680a153d100cc56',1,'grpc_resolved_address']]], + ['length',['length',['../structtsi__peer__property.html#a7b6a9186739228ff43c134f9fe6af9e7',1,'tsi_peer_property::length()'],['../structgrpc__chttp2__hpack__parser__string.html#a26e2d9594af6c89057408a16e1132fe5',1,'grpc_chttp2_hpack_parser_string::length()'],['../structgrpc__chttp2__huffsym.html#a11ba8572355dad4e35ac61f2289d1e88',1,'grpc_chttp2_huffsym::length()'],['../structgrpc__begin__message.html#a12d8a0f037d922d2a6aecd010d9af9b0',1,'grpc_begin_message::length()'],['../structb64__huff__sym.html#a32397c9284689efd11eb89236d8d69e2',1,'b64_huff_sym::length()'],['../structgpr__slice.html#a8867b2d660a87061534be9c8098d4fa5',1,'gpr_slice::length()'],['../structgpr__slice.html#acd3242f89b2999d12788e65337662cf3',1,'gpr_slice::length()'],['../structgpr__slice__buffer.html#a2150637602d9080cdb111d09c1d669c3',1,'gpr_slice_buffer::length()'],['../structdump__out.html#ae5a2d8bf503113afc8d2da2cb36d70ad',1,'dump_out::length()']]], + ['line',['line',['../structgpr__log__func__args.html#ae1a051bbc7e0ef6c58de0db3efda24bb',1,'gpr_log_func_args']]], + ['links',['links',['../structgrpc__chttp2__stream.html#a6ffcd70fca0b8574e024e572c3928624',1,'grpc_chttp2_stream']]], + ['list',['list',['../structgrpc__metadata__batch.html#a70a05bf082db5e80a822fbd91ac5805d',1,'grpc_metadata_batch::list()'],['../structshard__type.html#a9e5f5db6f2eb96346ad17f43f731b31f',1,'shard_type::list()']]], + ['listeners',['listeners',['../structgrpc__server.html#a8034614967f908b2de453975996bdb7f',1,'grpc_server']]], + ['listeners_5fdestroyed',['listeners_destroyed',['../structgrpc__server.html#aa36374d7075e4d6af2c2c2cb8dc26552',1,'grpc_server']]], + ['lists',['lists',['../structgrpc__chttp2__transport.html#a70d937138945c07b53f7be848fb1cc4a',1,'grpc_chttp2_transport']]], + ['locked',['locked',['../structgpr__mu.html#ac16a7b74cd7175a34b776215fd357342',1,'gpr_mu']]] +]; diff --git a/doc/ref/core.internal/html/search/variables_c.html b/doc/ref/core.internal/html/search/variables_c.html new file mode 100644 index 0000000000..b2260e465b --- /dev/null +++ b/doc/ref/core.internal/html/search/variables_c.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core.internal/html/search/variables_c.js b/doc/ref/core.internal/html/search/variables_c.js new file mode 100644 index 0000000000..ece87af05c --- /dev/null +++ b/doc/ref/core.internal/html/search/variables_c.js @@ -0,0 +1,45 @@ +var searchData= +[ + ['mappings',['mappings',['../structgrpc__jwt__verifier.html#a1d15c7406be10b7fc86775320b2afac4',1,'grpc_jwt_verifier']]], + ['master',['master',['../structgrpc__subchannel__args.html#a638843df1c8557f4218b05eabb9b3275',1,'grpc_subchannel_args::master()'],['../structsubchannel__factory.html#ab7945d086262563fdde51b250893e428',1,'subchannel_factory::master()'],['../structchannel__data.html#a185d2abf35cf1fbdaa13b4fb097bda5e',1,'channel_data::master()'],['../structgrpc__subchannel.html#a7662fa59b78e15ce10c272651e82b70d',1,'grpc_subchannel::master()']]], + ['masters',['masters',['../structgrpc__call.html#a6a0e7c0825db8dc7561af44663cbd75d',1,'grpc_call']]], + ['max_5fbytes',['max_bytes',['../structgrpc__chttp2__hptbl.html#a3cd55ea4e1f534ff161788d6609ff27b',1,'grpc_chttp2_hptbl']]], + ['max_5fframe_5fsize',['max_frame_size',['../structtsi__fake__frame__protector.html#a03f274c6362a35ad486d91fdac777816',1,'tsi_fake_frame_protector']]], + ['max_5fmessage_5flength',['max_message_length',['../structgrpc__channel.html#af25859261f7e57e5c5f2bbafda64dbf1',1,'grpc_channel']]], + ['max_5fpossible',['max_possible',['../structgpr__histogram.html#af94ad5cd243aff89bbe7b0a9918dab77',1,'gpr_histogram']]], + ['max_5frecv_5fbytes',['max_recv_bytes',['../structgrpc__chttp2__stream__global.html#a5cce3879b45e4a8553d25aba1fe85ed7',1,'grpc_chttp2_stream_global::max_recv_bytes()'],['../structgrpc__transport__stream__op.html#a5128bc8ec8613950cbb3037d56f8375b',1,'grpc_transport_stream_op::max_recv_bytes()']]], + ['max_5frequested_5fcalls',['max_requested_calls',['../structgrpc__server.html#aaaa9b2a91b6e3edd7ebb0b194110f403',1,'grpc_server']]], + ['max_5fseen',['max_seen',['../structgpr__histogram.html#ac2fa92c952ba4d7edccefd7702701ee1',1,'gpr_histogram']]], + ['max_5fvalue',['max_value',['../structgrpc__chttp2__setting__parameters.html#af8a60fd353bdb4a187535b0abd9ff001',1,'grpc_chttp2_setting_parameters']]], + ['maybe_5fwork',['maybe_work',['../structgrpc__pollset__vtable.html#a193dc080ef27a7ba5cef64f99f89cc3f',1,'grpc_pollset_vtable']]], + ['md',['md',['../structgrpc__linked__mdelem.html#a7d66fb9cbd88ee692cd76fda6ef6d715',1,'grpc_linked_mdelem']]], + ['md_5fctx',['md_ctx',['../structchannel__data.html#ad12b240dea3a1193fa08327ef1e4553e',1,'channel_data']]], + ['md_5felems',['md_elems',['../structgrpc__composite__credentials__metadata__context.html#a5102b59e552251b072c0ac96020b43ea',1,'grpc_composite_credentials_metadata_context']]], + ['md_5flinks',['md_links',['../structcall__data.html#a0cb931b8950cc5841edf1156ca861600',1,'call_data']]], + ['mdctx',['mdctx',['../structgrpc__subchannel__args.html#a7b12c4bb3d78ac8e92cfa31d23ac5477',1,'grpc_subchannel_args::mdctx()'],['../structgrpc__chttp2__hptbl.html#a6c63d76ec5273e0eb935906636d1325b',1,'grpc_chttp2_hptbl::mdctx()'],['../structgrpc__chttp2__hpack__compressor.html#a61abe6f1abcdf8aa50589996f524303c',1,'grpc_chttp2_hpack_compressor::mdctx()'],['../structsubchannel__factory.html#a920af9d40dedd8ba5eb2f64648eb5008',1,'subchannel_factory::mdctx()'],['../structchannel__data.html#a8ccd22d950d3fda54a0f338d55d1f813',1,'channel_data::mdctx()'],['../structgrpc__subchannel.html#a2e2040552b5320c9a91a6e080760f96a',1,'grpc_subchannel::mdctx()']]], + ['mdelem_5fcompression_5falgorithms',['mdelem_compression_algorithms',['../structchannel__data.html#a4af222359dc97dc96780402413bb015d',1,'channel_data']]], + ['mdstr_5foutgoing_5fcompression_5falgorithm_5fkey',['mdstr_outgoing_compression_algorithm_key',['../structchannel__data.html#aeb493774aec5abf500f8ef36b99553d6',1,'channel_data']]], + ['mdstr_5frequest_5fcompression_5falgorithm_5fkey',['mdstr_request_compression_algorithm_key',['../structchannel__data.html#a9c1ff3982fc4510f367df5a35960abcb',1,'channel_data']]], + ['mdtab',['mdtab',['../structgrpc__mdctx.html#adff99895d519ab72b9c66a23de57156c',1,'grpc_mdctx']]], + ['mdtab_5fcapacity',['mdtab_capacity',['../structgrpc__mdctx.html#ab79559486a14c29803dd0f6464afe2df',1,'grpc_mdctx']]], + ['mdtab_5fcount',['mdtab_count',['../structgrpc__mdctx.html#af513520e504950d327e9a41cb1781779',1,'grpc_mdctx']]], + ['mdtab_5ffree',['mdtab_free',['../structgrpc__mdctx.html#a42820dc23bdea76b0d2a7e7db3d64131',1,'grpc_mdctx']]], + ['mem_5fused',['mem_used',['../structgrpc__chttp2__hptbl.html#ab542479dd03d89957ea9920213371878',1,'grpc_chttp2_hptbl']]], + ['merge_5fargs',['merge_args',['../structsubchannel__factory.html#a0538fbb1dc64ec4ab487326b64792bde',1,'subchannel_factory::merge_args()'],['../structmerge__args__factory.html#a973c42ea64bda49e62c9648f1d9eb919',1,'merge_args_factory::merge_args()']]], + ['message',['message',['../structgpr__log__func__args.html#ad9ce882bef15e3127620a8ef47f2b74b',1,'gpr_log_func_args']]], + ['metadata',['metadata',['../structgrpc__metadata__array.html#ac930a0cc901913fafcd09ca9cca156fe',1,'grpc_metadata_array::metadata()'],['../structgrpc__op.html#a2e0f0c709658960593d5a36915c8d079',1,'grpc_op::metadata()'],['../uniongrpc__ioreq__data.html#a58b11308558f97bf335ce5575d951968',1,'grpc_ioreq_data::metadata()'],['../structgrpc__stream__op.html#a7ca4e5aaf48c9f11d70136448e40e464',1,'grpc_stream_op::metadata()']]], + ['metadata_5fcontext',['metadata_context',['../structgrpc__connect__in__args.html#a6055926502e3764bc0d49c10b945f47e',1,'grpc_connect_in_args::metadata_context()'],['../structgrpc__chttp2__transport.html#a6ef8d064cc295865edf61d27ea8b71a2',1,'grpc_chttp2_transport::metadata_context()'],['../structgrpc__call.html#a1fcf672edf744df8c192aba2da0da3f2',1,'grpc_call::metadata_context()'],['../structgrpc__channel.html#a715d3ad3606de80c57ea96570e364ec8',1,'grpc_channel::metadata_context()']]], + ['method',['method',['../structgrpc__call__details.html#a97c8019d8fa7cbe2014d97c91f9ed0a5',1,'grpc_call_details::method()'],['../structcall__data.html#a7d9cd71936be176040c5f69a78d695b0',1,'call_data::method()'],['../structcall__data.html#a296c3fce88125964cfc50c927249bc4a',1,'call_data::method()'],['../structchannel__data.html#a78079d15b762dcc791e6e996951d9f6a',1,'channel_data::method()'],['../structchannel__registered__method.html#a7d2b4e40ba59b8b98e1b06b94f7345f1',1,'channel_registered_method::method()'],['../structregistered__method.html#a84540106ff6f3763d9ada701667cf77d',1,'registered_method::method()']]], + ['method_5fcapacity',['method_capacity',['../structgrpc__call__details.html#a8a7da868f60a88f42918cc9bdd4d26c0',1,'grpc_call_details']]], + ['method_5fpost',['method_post',['../structchannel__data.html#a05461a751cad059d57ccd5ed3c698fd7',1,'channel_data']]], + ['min_5fdeadline',['min_deadline',['../structshard__type.html#a16cac3c86f6ac95b49f7a8b703dc4f07',1,'shard_type']]], + ['min_5fseen',['min_seen',['../structgpr__histogram.html#abbeba96ddecdda3b716922c510fc1cbf',1,'gpr_histogram']]], + ['min_5fvalue',['min_value',['../structgrpc__chttp2__setting__parameters.html#a53661f0f5873a104014c0f9603ebec82',1,'grpc_chttp2_setting_parameters']]], + ['mu',['mu',['../structgrpc__oauth2__token__fetcher__credentials.html#a1dec60523d8f3844032e213ea8766c45',1,'grpc_oauth2_token_fetcher_credentials::mu()'],['../structgrpc__pollset__kick__state.html#ad193718d72e6ad4fcc9887f0cbba848a',1,'grpc_pollset_kick_state::mu()'],['../structgrpc__pollset.html#ad0ca06526200d8e29888467458f4a924',1,'grpc_pollset::mu()'],['../structgrpc__pollset__set.html#a6e7926b30cf15773b300afb079474703',1,'grpc_pollset_set::mu()'],['../structgrpc__chttp2__transport.html#ab31ca67e25cd2f326a2e72cdfb67254e',1,'grpc_chttp2_transport::mu()'],['../structgrpc__server__secure__state.html#a6572a200d1489334fa4af215ccffa717',1,'grpc_server_secure_state::mu()'],['../structpick__first__lb__policy.html#a5bc2719af90ffde998983bdeeacfd764',1,'pick_first_lb_policy::mu()'],['../structdns__resolver.html#aa1661d76a33a19a305d5edb1b354ce8a',1,'dns_resolver::mu()'],['../structsockaddr__resolver.html#a9ac37ca23a45425c9af702236f53c81d',1,'sockaddr_resolver::mu()'],['../structgrpc__subchannel.html#a020e44ce2c4d73d26c63a4ec9f2f3e14',1,'grpc_subchannel::mu()'],['../structshard__type.html#ae0271c419d83a06ab69fe48ce3e3196b',1,'shard_type::mu()'],['../structgrpc__call.html#a0641698dba5cf939dbc61e2a6019199c',1,'grpc_call::mu()'],['../structstate__watcher.html#a39ac8f332dc6a1b6a9bf0815b6912327',1,'state_watcher::mu()'],['../structgrpc__mdctx.html#a3c1051440f8ce4c48c38a08f5a478c4e',1,'grpc_mdctx::mu()'],['../structgpr__cancellable__list__.html#abf62ecf7376ec1e9f708e2671e494282',1,'gpr_cancellable_list_::mu()'],['../structgpr__cancellable.html#a423e728b92c8890d63490cf4b1fdc30f',1,'gpr_cancellable::mu()']]], + ['mu_5fcall',['mu_call',['../structgrpc__server.html#a4d89504a094de15aa4a208c0159d904b',1,'grpc_server']]], + ['mu_5fconfig',['mu_config',['../structchannel__data.html#a925aa059f74c20ba06718d45b78382af',1,'channel_data']]], + ['mu_5fglobal',['mu_global',['../structgrpc__server.html#a2f291ce57ed6540efe5c99e607be3a27',1,'grpc_server']]], + ['mu_5fstate',['mu_state',['../structcall__data.html#aa671a127b29c32228f221a6121515a64',1,'call_data']]], + ['mu_5fuser_5fdata',['mu_user_data',['../structinternal__metadata.html#a04fa79f6da10ebdc3c337277b0997657',1,'internal_metadata']]], + ['multiplier',['multiplier',['../structgpr__histogram.html#aa3b6846c10a297bf1a9706ab348ffead',1,'gpr_histogram']]] +]; diff --git a/doc/ref/core.internal/html/search/variables_d.html b/doc/ref/core.internal/html/search/variables_d.html new file mode 100644 index 0000000000..f47799968f --- /dev/null +++ b/doc/ref/core.internal/html/search/variables_d.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core.internal/html/search/variables_d.js b/doc/ref/core.internal/html/search/variables_d.js new file mode 100644 index 0000000000..f90a0aadd1 --- /dev/null +++ b/doc/ref/core.internal/html/search/variables_d.js @@ -0,0 +1,33 @@ +var searchData= +[ + ['naddrs',['naddrs',['../structgrpc__resolved__addresses.html#a5bad86b3646502cd70807ff2000f6af8',1,'grpc_resolved_addresses']]], + ['name',['name',['../structgrpc__auth__property__iterator.html#a3838efa5eb622c7e2c071497132b1cc7',1,'grpc_auth_property_iterator::name()'],['../structgrpc__auth__property.html#a83fb830ffe7321265dc9b628e9246a27',1,'grpc_auth_property::name()'],['../structtsi__peer__property.html#a6e2341fa26194a045824caa9f9b0cd67',1,'tsi_peer_property::name()'],['../structgrpc__channel__filter.html#afbf60f6f8b73c26026f266f4fc32fda6',1,'grpc_channel_filter::name()'],['../structgrpc__iomgr__object.html#a13e16e45166eec077cacc883824d3cbf',1,'grpc_iomgr_object::name()'],['../structgrpc__chttp2__setting__parameters.html#a2a66171eecdc68ef2e5ec07cbfbbc21f',1,'grpc_chttp2_setting_parameters::name()'],['../structgrpc__connectivity__state__tracker.html#ae7f1a07e62d4fb307459586528f73cb8',1,'grpc_connectivity_state_tracker::name()'],['../structdns__resolver.html#a5670dbafe81b9e38af022bd5cf907fa3',1,'dns_resolver::name()'],['../structtracer.html#a08a3bb14c306ce7394df6a5bb56e6eb3',1,'tracer::name()'],['../structarg.html#a19d6eebdcc5e2c4679c5f77760adb5dc',1,'arg::name()']]], + ['nbf',['nbf',['../structgrpc__jwt__claims.html#a294f9a7e9e2cc0820c469b7b340c980a',1,'grpc_jwt_claims']]], + ['need_5fmask',['need_mask',['../structreqinfo__master.html#af1092f7b58950276ec6b35da0f7e1fd5',1,'reqinfo_master']]], + ['needs_5fdraining',['needs_draining',['../structtsi__fake__frame.html#a5c19114ec65853283cf5234b8bef611b',1,'tsi_fake_frame']]], + ['needs_5fincoming_5fmessage',['needs_incoming_message',['../structtsi__fake__handshaker.html#a5b5522b09970836d1867fc4c08411c91',1,'tsi_fake_handshaker']]], + ['new_5fstream_5fmap',['new_stream_map',['../structgrpc__chttp2__transport.html#a8f38d1bd29aad2855ebf9d15bdcaaeca',1,'grpc_chttp2_transport']]], + ['next',['next',['../structgrpc__resolver__vtable.html#acb5664454e15125b336b372239716cf0',1,'grpc_resolver_vtable::next()'],['../structgrpc__alarm.html#a2f83596c1a3e1337f333dcffebabb7ab',1,'grpc_alarm::next()'],['../structgrpc__fd__watcher.html#a0c4eac683d7d83c76e36cc3ffc4e91ae',1,'grpc_fd_watcher::next()'],['../structgrpc__iomgr__closure.html#a6c10e6b944c74f416a5ce5c1478f33ef',1,'grpc_iomgr_closure::next()'],['../structgrpc__iomgr__object.html#ab784d00749f3e4deff50218c67993e0c',1,'grpc_iomgr_object::next()'],['../structgrpc__kick__fd__info.html#a6612c537977b6a493b0605fd8e22f05f',1,'grpc_kick_fd_info::next()'],['../structgrpc__json.html#adeb16bd124a30378d80005a3c89d73e2',1,'grpc_json::next()'],['../structgrpc__cq__completion.html#ae7107ba3521b7cabde35c3334547a948',1,'grpc_cq_completion::next()'],['../structgrpc__chttp2__stream__link.html#a5797275d863aafdfa8342d0b73a890de',1,'grpc_chttp2_stream_link::next()'],['../structgrpc__chttp2__outstanding__ping.html#a5080d611692ac78edffef1ead748d34f',1,'grpc_chttp2_outstanding_ping::next()'],['../structgrpc__connectivity__state__watcher.html#af56652db73ffb05884d92d16713dc388',1,'grpc_connectivity_state_watcher::next()'],['../structgrpc__linked__mdelem.html#aed036e1e54603e73e4cc7cb28c652cef',1,'grpc_linked_mdelem::next()'],['../structtcp__endpoint__list.html#aaeb000e9fe236631fc1355b657a9e1fe',1,'tcp_endpoint_list::next()'],['../structpending__pick.html#abecbb432724c24c523d0cfda19f7b1c1',1,'pending_pick::next()'],['../structwaiting__for__connect.html#a62c2a3b3fa576054930f40d722716438',1,'waiting_for_connect::next()'],['../structtracer.html#aec6b92c7c58fec94b57b7a2385c3c3c1',1,'tracer::next()'],['../structregistered__call.html#a81f1e87dddb1f37ff09a9aaa56ca62cd',1,'registered_call::next()'],['../structlistener.html#afd926873c32f6f18eff932b871c7a9d7',1,'listener::next()'],['../structcall__link.html#a61d52b76dfba4d08d6c453392dea6947',1,'call_link::next()'],['../structchannel__data.html#a7cbc7853658b85e4f62f37a71189a3d7',1,'channel_data::next()'],['../structregistered__method.html#a662f0ff612e8211e1ac2ff2bc7350776',1,'registered_method::next()'],['../structgpr__cancellable__list__.html#a425195e5ab594a2cfdcc976e5167242a',1,'gpr_cancellable_list_::next()'],['../structarg.html#a5e585c92ebdfcf1c6d966d887d07f7ff',1,'arg::next()']]], + ['next_5faddress',['next_address',['../structinternal__request.html#a76357b043a6e64d3254650151c2795bb',1,'internal_request']]], + ['next_5fattempt',['next_attempt',['../structgrpc__subchannel.html#a6ee4fc265d48aad4c76411a80001ac5c',1,'grpc_subchannel']]], + ['next_5fcompletion',['next_completion',['../structdns__resolver.html#a6ed64036e71eb1ee7dc886adb51820d6',1,'dns_resolver::next_completion()'],['../structsockaddr__resolver.html#acd7a423835a4be78a041f895bba3b421',1,'sockaddr_resolver::next_completion()']]], + ['next_5fmessage_5fto_5fsend',['next_message_to_send',['../structtsi__fake__handshaker.html#ab343e56591aa9bae847d1af36534ecbe',1,'tsi_fake_handshaker']]], + ['next_5fstate',['next_state',['../structgrpc__chttp2__hpack__parser.html#a75cd26cf599e1a3762287726f8f9a7b1',1,'grpc_chttp2_hpack_parser']]], + ['next_5fstream_5fid',['next_stream_id',['../structgrpc__chttp2__transport__global.html#ab5d0acae1272818f552268b1ecb2900f',1,'grpc_chttp2_transport_global::next_stream_id()'],['../structgrpc__chttp2__transport__parsing.html#a760ff12814aea655f58e5ef78af31cc9',1,'grpc_chttp2_transport_parsing::next_stream_id()']]], + ['nops',['nops',['../structgrpc__stream__op__buffer.html#a7b6728e934dd616044c2a796d477551b',1,'grpc_stream_op_buffer']]], + ['notify',['notify',['../structgrpc__connectivity__state__watcher.html#a87d9e862c853d0880382af9104ee2e9f',1,'grpc_connectivity_state_watcher::notify()'],['../structconnector.html#ae73053d157c31e9015427d56228e7123',1,'connector::notify()'],['../structwaiting__for__connect.html#a8e497a44e87d2780b2f7dbd2dd006526',1,'waiting_for_connect::notify()']]], + ['notify_5fon_5fread',['notify_on_read',['../structgrpc__endpoint__vtable.html#a86466f2980bcc966d2aebdd5659570d2',1,'grpc_endpoint_vtable']]], + ['notify_5fon_5fstate_5fchange',['notify_on_state_change',['../structgrpc__lb__policy__vtable.html#a655f1dd76748cdfa93f911861c1ec0ed',1,'grpc_lb_policy_vtable']]], + ['num_5fargs',['num_args',['../structgrpc__channel__args.html#a41e5d0b22449f062b3a7798dd528afde',1,'grpc_channel_args']]], + ['num_5fbuckets',['num_buckets',['../structgpr__histogram.html#a039f2094c3aea146aaf6a9a75bc5ab12',1,'gpr_histogram']]], + ['num_5fchannels',['num_channels',['../structchannel__broadcaster.html#a0b95a339b9c30a54d2f33b336be1c0c9',1,'channel_broadcaster']]], + ['num_5fcompleted_5frequests',['num_completed_requests',['../structgrpc__call.html#ae92d9e5f96d5e80d9c480ab79e051ada',1,'grpc_call']]], + ['num_5fcreds',['num_creds',['../structgrpc__credentials__array.html#a1a4ba8ed410c26eaee6aa5a7d5b36d96',1,'grpc_credentials_array']]], + ['num_5fentries',['num_entries',['../structgrpc__credentials__md__store.html#adfddab340d1b7d7d51087b015f14b259',1,'grpc_credentials_md_store']]], + ['num_5fents',['num_ents',['../structgrpc__chttp2__hptbl.html#a3bd6b0eec3b771fb745295fe4ea57ff1',1,'grpc_chttp2_hptbl']]], + ['num_5ffilters',['num_filters',['../structgrpc__connect__out__args.html#a96fdf8ea43f6e4a2ac73d2f6e21401a3',1,'grpc_connect_out_args::num_filters()'],['../structgrpc__subchannel.html#a0d8559ba4069f1940a92d6d58d4f4009',1,'grpc_subchannel::num_filters()']]], + ['num_5fkey_5fcert_5fpairs',['num_key_cert_pairs',['../structgrpc__ssl__server__config.html#aa029cf135a1f9a4cb69644762e3ec65c',1,'grpc_ssl_server_config']]], + ['num_5fmappings',['num_mappings',['../structgrpc__jwt__verifier.html#a5c116d4a596479e9acb28be8c5adc3b5',1,'grpc_jwt_verifier']]], + ['num_5fshutdown_5ftags',['num_shutdown_tags',['../structgrpc__server.html#afd8d25139f82d26ce567e4a1a786b54b',1,'grpc_server']]], + ['num_5fsubchannels',['num_subchannels',['../structpick__first__lb__policy.html#a39415d22c1bb4ace43e7abc6331f08e1',1,'pick_first_lb_policy']]] +]; diff --git a/doc/ref/core.internal/html/search/variables_e.html b/doc/ref/core.internal/html/search/variables_e.html new file mode 100644 index 0000000000..1165006622 --- /dev/null +++ b/doc/ref/core.internal/html/search/variables_e.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core.internal/html/search/variables_e.js b/doc/ref/core.internal/html/search/variables_e.js new file mode 100644 index 0000000000..2fda9d24e3 --- /dev/null +++ b/doc/ref/core.internal/html/search/variables_e.js @@ -0,0 +1,48 @@ +var searchData= +[ + ['obfuscated',['obfuscated',['../structgrpc__metadata.html#ae7478a66f65862018cd89768a578ff4f',1,'grpc_metadata']]], + ['offset',['offset',['../structtsi__fake__frame.html#ab1fe06dcec5ebffc85112c9a726ed3f6',1,'tsi_fake_frame']]], + ['on_5fchanged',['on_changed',['../structlb__policy__connectivity__watcher.html#ab9bd1ed9605d5f575ea8e2ce51ed597c',1,'lb_policy_connectivity_watcher']]], + ['on_5fcomplete',['on_complete',['../structpending__pick.html#a754316904bce1aec5d5afcc61b2b5abe',1,'pending_pick::on_complete()'],['../structcompleted__request.html#a2abd9edaf87e7b33717d655f9651a26a',1,'completed_request::on_complete()'],['../structreqinfo__master.html#a77f3e6ff12d266f5e2d0b49ed590a344',1,'reqinfo_master::on_complete()'],['../structstate__watcher.html#a3bd085c4cbd7f167fa42b7191f502d39',1,'state_watcher::on_complete()']]], + ['on_5fconfig_5fchanged',['on_config_changed',['../structchannel__data.html#a5a8db474fbde3443ad862229ef3be367',1,'channel_data']]], + ['on_5fconnectivity_5fstate_5fchange',['on_connectivity_state_change',['../structgrpc__transport__op.html#adb87801e77b1728a01f374dcf78bb953',1,'grpc_transport_op']]], + ['on_5fconsumed',['on_consumed',['../structgrpc__transport__stream__op.html#a7cd4239411c42b2db4271bde0cbc5d93',1,'grpc_transport_stream_op::on_consumed()'],['../structgrpc__transport__op.html#a7a602604dff1707699650659639d3b8a',1,'grpc_transport_op::on_consumed()']]], + ['on_5fdone_5fbind',['on_done_bind',['../structgrpc__call.html#a14ae475238cf1ae8b2d022c7a6b755b7',1,'grpc_call']]], + ['on_5fdone_5fclosure',['on_done_closure',['../structgrpc__fd.html#a85cc2f9f7c86e447f62485f0c053e61f',1,'grpc_fd']]], + ['on_5fdone_5frecv',['on_done_recv',['../structgrpc__transport__stream__op.html#abc8ad987231498734088ce324651a479',1,'grpc_transport_stream_op::on_done_recv()'],['../structcall__data.html#a3c7f4d12b26ecd073c992c56fa9c098d',1,'call_data::on_done_recv()'],['../structgrpc__call.html#a7397b6f80ed39e5e5b3cf1c68e88e959',1,'grpc_call::on_done_recv()']]], + ['on_5fdone_5fsend',['on_done_send',['../structgrpc__transport__stream__op.html#a7c70f894512830f2c77280139a12da07',1,'grpc_transport_stream_op::on_done_send()'],['../structgrpc__call.html#a4cef85f8e845ae1f24f043e5d853a843',1,'grpc_call::on_done_send()']]], + ['on_5fheader',['on_header',['../structgrpc__chttp2__hpack__parser.html#aca1b62cf2179b2ce2c815f80434d408f',1,'grpc_chttp2_hpack_parser']]], + ['on_5fheader_5fuser_5fdata',['on_header_user_data',['../structgrpc__chttp2__hpack__parser.html#a8a8a711d5609cf6886cdddbe3c245d1b',1,'grpc_chttp2_hpack_parser']]], + ['on_5frecv',['on_recv',['../structgrpc__chttp2__outstanding__ping.html#a5e862f14887e10503dc72b98eb33e88c',1,'grpc_chttp2_outstanding_ping']]], + ['on_5fresponse',['on_response',['../structinternal__request.html#a4679ca2c4587920feca983ac852ef2b6',1,'internal_request']]], + ['on_5fsimulated_5ftoken_5ffetch_5fdone_5fclosure',['on_simulated_token_fetch_done_closure',['../structgrpc__credentials__metadata__request.html#a31c83ca54622158600b17ebcc6047af8',1,'grpc_credentials_metadata_request']]], + ['one_5fon_5flog_5fmultiplier',['one_on_log_multiplier',['../structgpr__histogram.html#a63929f09cc7a7feedf7b1f330b0458c3',1,'gpr_histogram']]], + ['op',['op',['../structgrpc__op.html#a702bcecc2462646b6740ed7c05f42115',1,'grpc_op::op()'],['../structgrpc__ioreq.html#a448abf6e8036e7d9ba0c554936e6f4d0',1,'grpc_ioreq::op()'],['../structcall__data.html#a0d259211de98a88e11c71fa93abd2877',1,'call_data::op()']]], + ['op_5fid',['op_id',['../structcensus__context.html#ab46ba00da079c14fed8259bae560fdac',1,'census_context']]], + ['op_5fmd_5fidx',['op_md_idx',['../structcall__data.html#aaa6841afd5ac22f2538e950688f8e67b',1,'call_data']]], + ['opaque',['opaque',['../structgrpc__winsocket__callback__info.html#a003b435519424aae5a48755358b32154',1,'grpc_winsocket_callback_info']]], + ['opaque_5f8bytes',['opaque_8bytes',['../structgrpc__chttp2__ping__parser.html#a338f5adfa9a1236094e16c36c5cd5b4e',1,'grpc_chttp2_ping_parser']]], + ['ops',['ops',['../structgrpc__stream__op__buffer.html#adf47a7eadfd9227f876d55a155324975',1,'grpc_stream_op_buffer']]], + ['optional_5fpayload',['optional_payload',['../structrequested__call.html#a5c928486fa8b32b8ff89a672de5b4e2c',1,'requested_call']]], + ['orphan',['orphan',['../structgrpc__winsocket.html#a653e7521937ebda6f6bc230ebae46f08',1,'grpc_winsocket']]], + ['out',['out',['../structhuff__out.html#a2d501bd162d6a335c51b2250e3f1bfef',1,'huff_out']]], + ['outbuf',['outbuf',['../structgrpc__chttp2__transport__writing.html#a8dbe82f6436d8ae4e3410d0ecb28dfc0',1,'grpc_chttp2_transport_writing']]], + ['outgoing',['outgoing',['../structtsi__fake__handshaker.html#aa25567cc12e88a59cbf9ba3b51d90223',1,'tsi_fake_handshaker']]], + ['outgoing_5fsopb',['outgoing_sopb',['../structgrpc__chttp2__stream__global.html#a70e7155660cf0d3bc3dde94b9093a08d',1,'grpc_chttp2_stream_global']]], + ['outgoing_5fwindow',['outgoing_window',['../structgrpc__chttp2__transport__global.html#af48fb355cfabb488dda83d994c1c04c7',1,'grpc_chttp2_transport_global::outgoing_window()'],['../structgrpc__chttp2__stream__global.html#aea8ef0f5795a15621ca9e5e4c7ca0aec',1,'grpc_chttp2_stream_global::outgoing_window()']]], + ['outgoing_5fwindow_5fupdate',['outgoing_window_update',['../structgrpc__chttp2__transport__parsing.html#a499f90a1aa3d67510b4f63191e04d08a',1,'grpc_chttp2_transport_parsing::outgoing_window_update()'],['../structgrpc__chttp2__stream__parsing.html#af9df25144aa81fccd8cb2fa0b30e9196',1,'grpc_chttp2_stream_parsing::outgoing_window_update()']]], + ['output',['output',['../structjson__writer__userdata.html#a1f55aaf048a0ff4414110e154133867d',1,'json_writer_userdata::output()'],['../structframer__state.html#ac6ebee785ebffe4a16a2ccd010ad08d6',1,'framer_state::output()']]], + ['output_5fbuffer',['output_buffer',['../structsecure__endpoint.html#a901c720fdbd311bbaea1e91b441a0d61',1,'secure_endpoint']]], + ['output_5fchar',['output_char',['../structgrpc__json__writer__vtable.html#a92334573a7aa813d3177129cecf747e2',1,'grpc_json_writer_vtable']]], + ['output_5flength_5fat_5fstart_5fof_5fframe',['output_length_at_start_of_frame',['../structframer__state.html#a268504b075ec06de3ff0abb7ee7e589b',1,'framer_state']]], + ['output_5fstring',['output_string',['../structgrpc__json__writer__vtable.html#a07ee0211c783c92e767a42c4629d184e',1,'grpc_json_writer_vtable']]], + ['output_5fstring_5fwith_5flen',['output_string_with_len',['../structgrpc__json__writer__vtable.html#aee2ab161f23b771d3723693cc0c7cafd',1,'grpc_json_writer_vtable']]], + ['outstanding',['outstanding',['../structgrpc__winsocket__callback__info.html#af611ff1de50e57d79e8ea33a220136bc',1,'grpc_winsocket_callback_info']]], + ['outstanding_5fmetadata',['outstanding_metadata',['../structgrpc__chttp2__stream__global.html#aca96799d31e4980af7c974d211534cc0',1,'grpc_chttp2_stream_global']]], + ['overlapped',['overlapped',['../structgrpc__winsocket__callback__info.html#a779ba38c4d952003a53cf6f415992e09',1,'grpc_winsocket_callback_info']]], + ['overridden_5ftarget_5fname',['overridden_target_name',['../structgrpc__ssl__channel__security__connector.html#aaa9e644fdf517be178f1543922ddbe9a',1,'grpc_ssl_channel_security_connector']]], + ['owned_5fmetadata',['owned_metadata',['../structgrpc__call.html#a3d2b2ada096589b52bfafa00be6e25b2',1,'grpc_call']]], + ['owned_5fmetadata_5fcapacity',['owned_metadata_capacity',['../structgrpc__call.html#a34cb5caca97e3b28ed0d321d9d38f6c8',1,'grpc_call']]], + ['owned_5fmetadata_5fcount',['owned_metadata_count',['../structgrpc__call.html#acc8804b9c6ee72c862e9eba7518a48ee',1,'grpc_call']]], + ['owning_5frefs',['owning_refs',['../structgrpc__completion__queue.html#aae47cbaaca85ca3f9e7cb2317709f8e6',1,'grpc_completion_queue']]] +]; diff --git a/doc/ref/core.internal/html/search/variables_f.html b/doc/ref/core.internal/html/search/variables_f.html new file mode 100644 index 0000000000..537dd7c28e --- /dev/null +++ b/doc/ref/core.internal/html/search/variables_f.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core.internal/html/search/variables_f.js b/doc/ref/core.internal/html/search/variables_f.js new file mode 100644 index 0000000000..12c6fcceca --- /dev/null +++ b/doc/ref/core.internal/html/search/variables_f.js @@ -0,0 +1,67 @@ +var searchData= +[ + ['p',['p',['../structgrpc__arg.html#aab5d11432a11b03a53e5d959d9a5328d',1,'grpc_arg']]], + ['parent',['parent',['../structgrpc__json.html#aad4e1114d877f30ca18de4748995d7ba',1,'grpc_json']]], + ['parser',['parser',['../structgrpc__chttp2__transport__parsing.html#ab12f37091dd64c63d7c175fc19410a61',1,'grpc_chttp2_transport_parsing::parser()'],['../structinternal__request.html#a2de0ab3497414fd48d1a180c4473cfab',1,'internal_request::parser()']]], + ['parser_5fdata',['parser_data',['../structgrpc__chttp2__transport__parsing.html#acc4557af66848465ca976ea792575442',1,'grpc_chttp2_transport_parsing']]], + ['parsing',['parsing',['../structgrpc__chttp2__hpack__parser.html#a98070825a1d0d4d2c3adabbe127d5eae',1,'grpc_chttp2_hpack_parser::parsing()'],['../structgrpc__chttp2__transport.html#ae8dc6706fb9f342cca10ee7625630b2c',1,'grpc_chttp2_transport::parsing()'],['../structgrpc__chttp2__stream.html#a738b484ef0e8926cdd88fd38cdb7e8f9',1,'grpc_chttp2_stream::parsing()']]], + ['parsing_5factive',['parsing_active',['../structgrpc__chttp2__transport.html#ab922e6a980797f432ade63042db8a1a3',1,'grpc_chttp2_transport']]], + ['parsing_5fstream_5fmap',['parsing_stream_map',['../structgrpc__chttp2__transport.html#af9836b789695d32031897da007fc3937',1,'grpc_chttp2_transport']]], + ['path',['path',['../structgrpc__httpcli__request.html#a5e51c4eefce49db4c5406e884ce8a4aa',1,'grpc_httpcli_request::path()'],['../structgrpc__uri.html#a9930f3989c76fd5b36dc63943190e40f',1,'grpc_uri::path()'],['../structregistered__call.html#a9abf9cadc3985fe0eacd827dcb857ea5',1,'registered_call::path()'],['../structcall__data.html#a6bcb3a806a24c9818f835251b97c01f8',1,'call_data::path()']]], + ['path_5fkey',['path_key',['../structchannel__data.html#ad664631571a7160913f62e95368bbb2d',1,'channel_data']]], + ['path_5fstring',['path_string',['../structchannel__data.html#a3b2675d97ec1d95dc4cde4db5b00e0e7',1,'channel_data::path_string()'],['../structgrpc__channel.html#ad55dee766f5bae6c7bc00ad07bcb4b04',1,'grpc_channel::path_string()']]], + ['peer',['peer',['../structgrpc__ssl__channel__security__connector.html#a8624078f54a0cf3dfdd47f4a0ac81042',1,'grpc_ssl_channel_security_connector']]], + ['peer_5fidentity_5fproperty_5fname',['peer_identity_property_name',['../structgrpc__auth__context.html#aab2b0fcdafe3cd96b1240ab5b48f1c33',1,'grpc_auth_context']]], + ['peer_5fstring',['peer_string',['../structgrpc__chttp2__transport.html#a05c91e8c28afe70631f28384957044d7',1,'grpc_chttp2_transport']]], + ['pem_5fcert_5fchain',['pem_cert_chain',['../structgrpc__ssl__config.html#a6b04c3f33486e242c3309904cd99b696',1,'grpc_ssl_config']]], + ['pem_5fcert_5fchain_5fsize',['pem_cert_chain_size',['../structgrpc__ssl__config.html#a926d124256bc0e43526d3d9d64069b03',1,'grpc_ssl_config']]], + ['pem_5fcert_5fchains',['pem_cert_chains',['../structgrpc__ssl__server__config.html#a14d965b9fbe9438e7342be1df0fe6270',1,'grpc_ssl_server_config']]], + ['pem_5fcert_5fchains_5fsizes',['pem_cert_chains_sizes',['../structgrpc__ssl__server__config.html#a57b9e21a656edb763257610059fb0ab0',1,'grpc_ssl_server_config']]], + ['pem_5fprivate_5fkey',['pem_private_key',['../structgrpc__ssl__config.html#ab4c3e2cdc5bd272e0ef18fed777b8c9a',1,'grpc_ssl_config']]], + ['pem_5fprivate_5fkey_5fsize',['pem_private_key_size',['../structgrpc__ssl__config.html#a4344083d7120a2d304fe83b390aff820',1,'grpc_ssl_config']]], + ['pem_5fprivate_5fkeys',['pem_private_keys',['../structgrpc__ssl__server__config.html#ace03c26aa233e1a8b96a064aac885f49',1,'grpc_ssl_server_config']]], + ['pem_5fprivate_5fkeys_5fsizes',['pem_private_keys_sizes',['../structgrpc__ssl__server__config.html#a7ff49477b3bd20af5d25fc436eaf599c',1,'grpc_ssl_server_config']]], + ['pem_5froot_5fcerts',['pem_root_certs',['../structgrpc__ssl__config.html#a1bcd383a60b8b391dddcb2ca592b0e41',1,'grpc_ssl_config::pem_root_certs()'],['../structgrpc__ssl__server__config.html#ae31aacae823523aef8549144b4b5db4d',1,'grpc_ssl_server_config::pem_root_certs()']]], + ['pem_5froot_5fcerts_5fsize',['pem_root_certs_size',['../structgrpc__ssl__config.html#a54b70603e0c6d26023796000ed33e561',1,'grpc_ssl_config::pem_root_certs_size()'],['../structgrpc__ssl__server__config.html#a1ff730874dd4a4833f84574490c0a121',1,'grpc_ssl_server_config::pem_root_certs_size()']]], + ['pending_5fclosures_5fhead',['pending_closures_head',['../structgrpc__chttp2__transport__global.html#ab2e898e62f398f90f830a543a4bb5b84',1,'grpc_chttp2_transport_global']]], + ['pending_5fclosures_5ftail',['pending_closures_tail',['../structgrpc__chttp2__transport__global.html#a725d69688880a644d58001be3526abaf',1,'grpc_chttp2_transport_global']]], + ['pending_5fevents',['pending_events',['../structgrpc__completion__queue.html#a613cc61628fa742f363fb3125e8550db',1,'grpc_completion_queue']]], + ['pending_5fhead',['pending_head',['../structrequest__matcher.html#aa302d9766527338ff4b416b59bbe1db2',1,'request_matcher']]], + ['pending_5fnext',['pending_next',['../structcall__data.html#ad76af7080f636ebaa53a1575af62094e',1,'call_data']]], + ['pending_5fpicks',['pending_picks',['../structpick__first__lb__policy.html#a017af289ea4d9b9b392eadec3356ff56',1,'pick_first_lb_policy']]], + ['pending_5ftail',['pending_tail',['../structrequest__matcher.html#a87b7e22827aea02c49a435f8aff3cdfe',1,'request_matcher']]], + ['perform_5fop',['perform_op',['../structgrpc__transport__vtable.html#acbb2ddc453b481e3b682f9dc5f612ac4',1,'grpc_transport_vtable']]], + ['perform_5fstream_5fop',['perform_stream_op',['../structgrpc__transport__vtable.html#a8da19f0fe97ddb546e1deafe65b6e4ab',1,'grpc_transport_vtable']]], + ['persistence_5ffactor',['persistence_factor',['../structgrpc__time__averaged__stats.html#adbadac315658d04556d28685266f1602',1,'grpc_time_averaged_stats']]], + ['phase',['phase',['../structstate__watcher.html#a02cd41caaad234931890c2f4740bf345',1,'state_watcher']]], + ['pick',['pick',['../structgrpc__lb__policy__vtable.html#abccc94e7f91ee59b360ee425493d9e6f',1,'grpc_lb_policy_vtable']]], + ['picked_5fchannel',['picked_channel',['../structcall__data.html#a96231ab5cca907d5638687fc2d64cccb',1,'call_data']]], + ['ping',['ping',['../structgrpc__chttp2__transport__parsing.html#ad6dbcdcca6123f0d8bea8061d6c01e30',1,'grpc_chttp2_transport_parsing']]], + ['ping_5fcounter',['ping_counter',['../structgrpc__chttp2__transport__global.html#a1e21a69530e1002dc3929ecd085aa2a7',1,'grpc_chttp2_transport_global']]], + ['pings',['pings',['../structgrpc__chttp2__transport__global.html#a845e72fcdab9af17a971d064ca0fcfad',1,'grpc_chttp2_transport_global::pings()'],['../structgrpc__chttp2__transport__parsing.html#a6b235f899262d6aec77cb9995fc8e57b',1,'grpc_chttp2_transport_parsing::pings()']]], + ['pointer',['pointer',['../structgrpc__arg.html#a85b5bbfbdec09ae46cff15628096137a',1,'grpc_arg']]], + ['pollset',['pollset',['../structgrpc__fd__watcher.html#a92942dd676216e46d8852baa5ad572b6',1,'grpc_fd_watcher::pollset()'],['../structinternal__request.html#aba6c008fc3a067827acf1dea8d88dec7',1,'internal_request::pollset()'],['../structcall__data.html#ab3a66a414a73ad49d82a87935ec0c08e',1,'call_data::pollset()'],['../structgrpc__composite__credentials__metadata__context.html#a826b0b290b5335867fb0299e75006083',1,'grpc_composite_credentials_metadata_context::pollset()'],['../structcompute__engine__detector.html#aadec91057716658d818c9dd3ead90ccd',1,'compute_engine_detector::pollset()'],['../structverifier__cb__ctx.html#a66c16d6c5a98e27b0bdc901f4f2f010a',1,'verifier_cb_ctx::pollset()'],['../structpending__pick.html#afcad270e19b4e1e0a709426ca42e01fe',1,'pending_pick::pollset()'],['../structwaiting__for__connect.html#a18622a8e1fc008c3c9e97d0ae72a4369',1,'waiting_for_connect::pollset()'],['../structgrpc__completion__queue.html#aea3ae4f771564833e6082e50c4ebbbdc',1,'grpc_completion_queue::pollset()']]], + ['pollset_5fcapacity',['pollset_capacity',['../structgrpc__pollset__set.html#a4b003019253d6308d16b17dfeed86ef7',1,'grpc_pollset_set']]], + ['pollset_5fcount',['pollset_count',['../structgrpc__pollset__set.html#ad6dbbb51fb8ed94dcd176ae4304e38c9',1,'grpc_pollset_set']]], + ['pollset_5fset',['pollset_set',['../structgrpc__httpcli__context.html#aafa3ada73c3704d7e5d2971266e499f2',1,'grpc_httpcli_context::pollset_set()'],['../structchannel__data.html#ac98d4251e7919399dc6504b3ac6d8977',1,'channel_data::pollset_set()'],['../structgrpc__subchannel.html#a5d4cf69a350aa223319ed1d916ae55d0',1,'grpc_subchannel::pollset_set()']]], + ['pollsets',['pollsets',['../structgrpc__pollset__set.html#a2bf7578ddd437f32e60a550a5bb9b5fb',1,'grpc_pollset_set::pollsets()'],['../structgrpc__server.html#a747c9f6abd58918d40735615ad95e434',1,'grpc_server::pollsets()']]], + ['prev',['prev',['../structgrpc__alarm.html#a806b141943b6b45f16cc7459ab035b97',1,'grpc_alarm::prev()'],['../structgrpc__fd__watcher.html#a1e78f9e51eb0fdb0972c87f5427bb465',1,'grpc_fd_watcher::prev()'],['../structgrpc__iomgr__object.html#a8de5f1d3fc1a38beeed3468afd0ae85d',1,'grpc_iomgr_object::prev()'],['../structgrpc__kick__fd__info.html#ad6a6395fcea0806c6b02846a2ec1ca44',1,'grpc_kick_fd_info::prev()'],['../structgrpc__json.html#a91f0018795a9937b32e3f1517e3646ee',1,'grpc_json::prev()'],['../structgrpc__chttp2__stream__link.html#a19808cff31bc258c69411406e3f65400',1,'grpc_chttp2_stream_link::prev()'],['../structgrpc__chttp2__outstanding__ping.html#aaad08393f94e4da9275e8c5c113b08a6',1,'grpc_chttp2_outstanding_ping::prev()'],['../structgrpc__linked__mdelem.html#ad862a99b02a07077dad3e56841287dc0',1,'grpc_linked_mdelem::prev()'],['../structcall__link.html#abbc2f63926a688bd3fc03f5df8705bc3',1,'call_link::prev()'],['../structchannel__data.html#afbde4416755c3c9a0b7d0021e8e290c5',1,'channel_data::prev()'],['../structgpr__cancellable__list__.html#a58fba7e59ac49bbb9468c2669e21b8b4',1,'gpr_cancellable_list_::prev()']]], + ['private_5fkey',['private_key',['../structgrpc__ssl__pem__key__cert__pair.html#a2d4e3bdbc59d906bc9ca8b873120fd72',1,'grpc_ssl_pem_key_cert_pair::private_key()'],['../structgrpc__auth__json__key.html#a1f2ce4e3cd708243003fc4201f4000b2',1,'grpc_auth_json_key::private_key()']]], + ['private_5fkey_5fid',['private_key_id',['../structgrpc__auth__json__key.html#a2e834734c85148fcfa8de3deff36dea4',1,'grpc_auth_json_key']]], + ['process_5fbytes_5ffrom_5fpeer',['process_bytes_from_peer',['../structtsi__handshaker__vtable.html#aefed0ec53fa68de5417c720357c50a38',1,'tsi_handshaker_vtable']]], + ['properties',['properties',['../structgrpc__auth__context.html#a7090965e44ac9d847543646be11f13c7',1,'grpc_auth_context::properties()'],['../structtsi__peer.html#a5656afb1f55b72e3174a2ed10b46f54a',1,'tsi_peer::properties()']]], + ['property_5fcount',['property_count',['../structgrpc__auth__context.html#aab537c748115de425b595d9efddc6f5b',1,'grpc_auth_context::property_count()'],['../structtsi__peer.html#a573f728d9b7804d06296cfdde3ac81c8',1,'tsi_peer::property_count()']]], + ['protect',['protect',['../structtsi__frame__protector__vtable.html#aa9c6a8a8c0154365f7a62924e1ad458f',1,'tsi_frame_protector_vtable']]], + ['protect_5fflush',['protect_flush',['../structtsi__frame__protector__vtable.html#a4dc40054ebcebc5d9bc87a63adce0614',1,'tsi_frame_protector_vtable']]], + ['protect_5fframe',['protect_frame',['../structtsi__fake__frame__protector.html#a279c6e7620230ba5c790f7063846dbce',1,'tsi_fake_frame_protector']]], + ['protector',['protector',['../structsecure__endpoint.html#a43b8ec6db9164ca64be2b1629822d5ec',1,'secure_endpoint']]], + ['protector_5fmu',['protector_mu',['../structsecure__endpoint.html#a4fa8c5008b701606701d1d93c989961e',1,'secure_endpoint']]], + ['ptr',['ptr',['../structgrpc__pollset.html#a80c508a4baf0ccb6e817801b0d981009',1,'grpc_pollset']]], + ['publish_5fsopb',['publish_sopb',['../structgrpc__chttp2__stream__global.html#a8fb7af1b8962b843978bd8f7fff400fe',1,'grpc_chttp2_stream_global']]], + ['publish_5fstate',['publish_state',['../structgrpc__chttp2__stream__global.html#a62637fc6cff3b84aabacc3e9d9bdd1e3',1,'grpc_chttp2_stream_global']]], + ['published',['published',['../structsockaddr__resolver.html#a38967133a685f7d20effceaaeec54e5e',1,'sockaddr_resolver']]], + ['published_5fcancelled',['published_cancelled',['../structgrpc__chttp2__stream__global.html#a7b7f83db6f582e75152fbf85aeedd6be',1,'grpc_chttp2_stream_global']]], + ['published_5fstate',['published_state',['../structgrpc__chttp2__stream__global.html#a9e33abb09685b8b27f46befe38c82665',1,'grpc_chttp2_stream_global']]], + ['published_5fversion',['published_version',['../structdns__resolver.html#aaf1729e3f0480a378eb4689e6105454b',1,'dns_resolver']]], + ['pushed',['pushed',['../structgpr__stack__lockfree.html#a2e9bcdf7ab0d5eba90feec6754a7884a',1,'gpr_stack_lockfree']]] +]; diff --git a/doc/ref/core.internal/html/secure__channel__create_8c.html b/doc/ref/core.internal/html/secure__channel__create_8c.html new file mode 100644 index 0000000000..c8bf00aa86 --- /dev/null +++ b/doc/ref/core.internal/html/secure__channel__create_8c.html @@ -0,0 +1,183 @@ + + + + + + +GRPC Core: src/core/surface/secure_channel_create.c File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
secure_channel_create.c File Reference
+
+
+ + + + + + +

+Data Structures

struct  connector
 
struct  subchannel_factory
 
+ + + +

+Macros

#define MAX_FILTERS   3
 
+ + + +

+Functions

grpc_channelgrpc_secure_channel_create (grpc_credentials *creds, const char *target, const grpc_channel_args *args)
 
+

Macro Definition Documentation

+ +
+
+ + + + +
#define MAX_FILTERS   3
+
+ +
+
+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
grpc_channel* grpc_secure_channel_create (grpc_credentialscreds,
const char * target,
const grpc_channel_argsargs 
)
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/secure__endpoint_8c.html b/doc/ref/core.internal/html/secure__endpoint_8c.html new file mode 100644 index 0000000000..2248796c04 --- /dev/null +++ b/doc/ref/core.internal/html/secure__endpoint_8c.html @@ -0,0 +1,199 @@ + + + + + + +GRPC Core: src/core/security/secure_endpoint.c File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
secure_endpoint.c File Reference
+
+
+ + + + +

+Data Structures

struct  secure_endpoint
 
+ + + +

+Macros

#define STAGING_BUFFER_SIZE   8192
 
+ + + +

+Functions

grpc_endpointgrpc_secure_endpoint_create (struct tsi_frame_protector *protector, grpc_endpoint *transport, gpr_slice *leftover_slices, size_t leftover_nslices)
 
+ + + +

+Variables

int grpc_trace_secure_endpoint = 0
 
+

Macro Definition Documentation

+ +
+
+ + + + +
#define STAGING_BUFFER_SIZE   8192
+
+ +
+
+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
grpc_endpoint* grpc_secure_endpoint_create (struct tsi_frame_protectorprotector,
grpc_endpointtransport,
gpr_sliceleftover_slices,
size_t leftover_nslices 
)
+
+ +
+
+

Variable Documentation

+ +
+
+ + + + +
int grpc_trace_secure_endpoint = 0
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/secure__endpoint_8h.html b/doc/ref/core.internal/html/secure__endpoint_8h.html new file mode 100644 index 0000000000..3d4fbbb2e6 --- /dev/null +++ b/doc/ref/core.internal/html/secure__endpoint_8h.html @@ -0,0 +1,169 @@ + + + + + + +GRPC Core: src/core/security/secure_endpoint.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
secure_endpoint.h File Reference
+
+
+ +

Go to the source code of this file.

+ + + + +

+Functions

grpc_endpointgrpc_secure_endpoint_create (struct tsi_frame_protector *protector, grpc_endpoint *to_wrap, gpr_slice *leftover_slices, size_t leftover_nslices)
 
+ + + +

+Variables

int grpc_trace_secure_endpoint
 
+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
grpc_endpoint* grpc_secure_endpoint_create (struct tsi_frame_protectorprotector,
grpc_endpointto_wrap,
gpr_sliceleftover_slices,
size_t leftover_nslices 
)
+
+ +
+
+

Variable Documentation

+ +
+
+ + + + +
int grpc_trace_secure_endpoint
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/secure__endpoint_8h_source.html b/doc/ref/core.internal/html/secure__endpoint_8h_source.html new file mode 100644 index 0000000000..955bff5141 --- /dev/null +++ b/doc/ref/core.internal/html/secure__endpoint_8h_source.html @@ -0,0 +1,155 @@ + + + + + + +GRPC Core: src/core/security/secure_endpoint.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
secure_endpoint.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPC_INTERNAL_CORE_SECURITY_SECURE_ENDPOINT_H
+
35 #define GRPC_INTERNAL_CORE_SECURITY_SECURE_ENDPOINT_H
+
36 
+ +
38 #include <grpc/support/slice.h>
+
39 
+
40 struct tsi_frame_protector;
+
41 
+ +
43 
+
44 /* Takes ownership of protector and to_wrap, and refs leftover_slices. */
+ +
46  struct tsi_frame_protector *protector, grpc_endpoint *to_wrap,
+
47  gpr_slice *leftover_slices, size_t leftover_nslices);
+
48 
+
49 #endif /* GRPC_INTERNAL_CORE_SECURITY_SECURE_ENDPOINT_H */
+
Definition: transport_security.h:65
+
int grpc_trace_secure_endpoint
Definition: secure_endpoint.c:68
+ +
Definition: endpoint.h:108
+ +
Definition: slice.h:79
+
grpc_endpoint * grpc_secure_endpoint_create(struct tsi_frame_protector *protector, grpc_endpoint *to_wrap, gpr_slice *leftover_slices, size_t leftover_nslices)
Definition: secure_endpoint.c:351
+
+ + + + diff --git a/doc/ref/core.internal/html/secure__transport__setup_8c.html b/doc/ref/core.internal/html/secure__transport__setup_8c.html new file mode 100644 index 0000000000..08b16c7cf5 --- /dev/null +++ b/doc/ref/core.internal/html/secure__transport__setup_8c.html @@ -0,0 +1,177 @@ + + + + + + +GRPC Core: src/core/security/secure_transport_setup.c File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
secure_transport_setup.c File Reference
+
+
+ + + + +

+Data Structures

struct  grpc_secure_transport_setup
 
+ + + +

+Macros

#define GRPC_INITIAL_HANDSHAKE_BUFFER_SIZE   256
 
+ + + +

+Functions

void grpc_setup_secure_transport (grpc_security_connector *connector, grpc_endpoint *nonsecure_endpoint, grpc_secure_transport_setup_done_cb cb, void *user_data)
 
+

Macro Definition Documentation

+ +
+
+ + + + +
#define GRPC_INITIAL_HANDSHAKE_BUFFER_SIZE   256
+
+ +
+
+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void grpc_setup_secure_transport (grpc_security_connectorconnector,
grpc_endpointnonsecure_endpoint,
grpc_secure_transport_setup_done_cb cb,
void * user_data 
)
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/secure__transport__setup_8h.html b/doc/ref/core.internal/html/secure__transport__setup_8h.html new file mode 100644 index 0000000000..bcb2e8f4cf --- /dev/null +++ b/doc/ref/core.internal/html/secure__transport__setup_8h.html @@ -0,0 +1,169 @@ + + + + + + +GRPC Core: src/core/security/secure_transport_setup.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
secure_transport_setup.h File Reference
+
+
+ +

Go to the source code of this file.

+ + + + +

+Typedefs

typedef void(* grpc_secure_transport_setup_done_cb )(void *user_data, grpc_security_status status, grpc_endpoint *wrapped_endpoint, grpc_endpoint *secure_endpoint)
 
+ + + +

+Functions

void grpc_setup_secure_transport (grpc_security_connector *connector, grpc_endpoint *nonsecure_endpoint, grpc_secure_transport_setup_done_cb cb, void *user_data)
 
+

Typedef Documentation

+ +
+
+ + + + +
typedef void(* grpc_secure_transport_setup_done_cb)(void *user_data, grpc_security_status status, grpc_endpoint *wrapped_endpoint, grpc_endpoint *secure_endpoint)
+
+ +
+
+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void grpc_setup_secure_transport (grpc_security_connectorconnector,
grpc_endpointnonsecure_endpoint,
grpc_secure_transport_setup_done_cb cb,
void * user_data 
)
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/secure__transport__setup_8h_source.html b/doc/ref/core.internal/html/secure__transport__setup_8h_source.html new file mode 100644 index 0000000000..e9030c4570 --- /dev/null +++ b/doc/ref/core.internal/html/secure__transport__setup_8h_source.html @@ -0,0 +1,161 @@ + + + + + + +GRPC Core: src/core/security/secure_transport_setup.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
secure_transport_setup.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPC_INTERNAL_CORE_SECURITY_SECURE_TRANSPORT_SETUP_H
+
35 #define GRPC_INTERNAL_CORE_SECURITY_SECURE_TRANSPORT_SETUP_H
+
36 
+ + +
39 
+
40 /* --- Secure transport setup --- */
+
41 
+
42 /* Ownership of the secure_endpoint is transfered. */
+ +
44  void *user_data, grpc_security_status status,
+
45  grpc_endpoint *wrapped_endpoint, grpc_endpoint *secure_endpoint);
+
46 
+
47 /* Calls the callback upon completion. */
+ +
49  grpc_endpoint *nonsecure_endpoint,
+ +
51  void *user_data);
+
52 
+
53 #endif /* GRPC_INTERNAL_CORE_SECURITY_SECURE_TRANSPORT_SETUP_H */
+
Definition: secure_endpoint.c:46
+
void grpc_setup_secure_transport(grpc_security_connector *connector, grpc_endpoint *nonsecure_endpoint, grpc_secure_transport_setup_done_cb cb, void *user_data)
Definition: secure_transport_setup.c:271
+
Definition: secure_channel_create.c:54
+
void(* grpc_secure_transport_setup_done_cb)(void *user_data, grpc_security_status status, grpc_endpoint *wrapped_endpoint, grpc_endpoint *secure_endpoint)
Definition: secure_transport_setup.h:43
+ +
Definition: security_connector.h:75
+
Definition: endpoint.h:108
+ +
grpc_security_status
Definition: security_connector.h:43
+
+ + + + diff --git a/doc/ref/core.internal/html/security__connector_8c.html b/doc/ref/core.internal/html/security__connector_8c.html new file mode 100644 index 0000000000..62cc8be080 --- /dev/null +++ b/doc/ref/core.internal/html/security__connector_8c.html @@ -0,0 +1,534 @@ + + + + + + +GRPC Core: src/core/security/security_connector.c File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
security_connector.c File Reference
+
+
+ + + + + + + + +

+Data Structures

struct  grpc_fake_channel_security_connector
 
struct  grpc_ssl_channel_security_connector
 
struct  grpc_ssl_server_security_connector
 
+ + + +

+Macros

#define GRPC_SSL_CIPHER_SUITES
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

const tsi_peer_propertytsi_peer_get_property_by_name (const tsi_peer *peer, const char *name)
 
grpc_security_status grpc_security_connector_create_handshaker (grpc_security_connector *sc, tsi_handshaker **handshaker)
 
grpc_security_status grpc_security_connector_check_peer (grpc_security_connector *sc, tsi_peer peer, grpc_security_check_cb cb, void *user_data)
 
grpc_security_status grpc_channel_security_connector_check_call_host (grpc_channel_security_connector *sc, const char *host, grpc_security_check_cb cb, void *user_data)
 
grpc_security_connectorgrpc_security_connector_ref (grpc_security_connector *sc)
 
void grpc_security_connector_unref (grpc_security_connector *sc)
 
grpc_arg grpc_security_connector_to_arg (grpc_security_connector *sc)
 
grpc_security_connectorgrpc_security_connector_from_arg (const grpc_arg *arg)
 
grpc_security_connectorgrpc_find_security_connector_in_args (const grpc_channel_args *args)
 
grpc_channel_security_connectorgrpc_fake_channel_security_connector_create (grpc_credentials *request_metadata_creds, int call_host_check_is_async)
 
grpc_security_connectorgrpc_fake_server_security_connector_create (void)
 
grpc_auth_contexttsi_ssl_peer_to_auth_context (const tsi_peer *peer)
 
size_t grpc_get_default_ssl_roots (const unsigned char **pem_root_certs)
 
grpc_security_status grpc_ssl_channel_security_connector_create (grpc_credentials *request_metadata_creds, const grpc_ssl_config *config, const char *target_name, const char *overridden_target_name, grpc_channel_security_connector **sc)
 
grpc_security_status grpc_ssl_server_security_connector_create (const grpc_ssl_server_config *config, grpc_security_connector **sc)
 
+

Macro Definition Documentation

+ +
+
+ + + + +
#define GRPC_SSL_CIPHER_SUITES
+
+Value:
"ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-" \
+
"SHA384:ECDHE-RSA-AES256-GCM-SHA384"
+
+
+
+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
grpc_security_status grpc_channel_security_connector_check_call_host (grpc_channel_security_connectorsc,
const char * host,
grpc_security_check_cb cb,
void * user_data 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
grpc_channel_security_connector* grpc_fake_channel_security_connector_create (grpc_credentialsrequest_metadata_creds,
int call_host_check_is_async 
)
+
+ +
+
+ +
+
+ + + + + + + + +
grpc_security_connector* grpc_fake_server_security_connector_create (void )
+
+ +
+
+ +
+
+ + + + + + + + +
grpc_security_connector* grpc_find_security_connector_in_args (const grpc_channel_argsargs)
+
+ +
+
+ +
+
+ + + + + + + + +
size_t grpc_get_default_ssl_roots (const unsigned char ** pem_root_certs)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
grpc_security_status grpc_security_connector_check_peer (grpc_security_connectorsc,
tsi_peer peer,
grpc_security_check_cb cb,
void * user_data 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
grpc_security_status grpc_security_connector_create_handshaker (grpc_security_connectorsc,
tsi_handshaker ** handshaker 
)
+
+ +
+
+ +
+
+ + + + + + + + +
grpc_security_connector* grpc_security_connector_from_arg (const grpc_argarg)
+
+ +
+
+ +
+
+ + + + + + + + +
grpc_security_connector* grpc_security_connector_ref (grpc_security_connectorsc)
+
+ +
+
+ +
+
+ + + + + + + + +
grpc_arg grpc_security_connector_to_arg (grpc_security_connectorsc)
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_security_connector_unref (grpc_security_connectorsc)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
grpc_security_status grpc_ssl_channel_security_connector_create (grpc_credentialsrequest_metadata_creds,
const grpc_ssl_configconfig,
const char * target_name,
const char * overridden_target_name,
grpc_channel_security_connector ** sc 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
grpc_security_status grpc_ssl_server_security_connector_create (const grpc_ssl_server_configconfig,
grpc_security_connector ** sc 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
const tsi_peer_property* tsi_peer_get_property_by_name (const tsi_peerpeer,
const char * name 
)
+
+ +
+
+ +
+
+ + + + + + + + +
grpc_auth_context* tsi_ssl_peer_to_auth_context (const tsi_peerpeer)
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/security__connector_8h.html b/doc/ref/core.internal/html/security__connector_8h.html new file mode 100644 index 0000000000..32267cafbc --- /dev/null +++ b/doc/ref/core.internal/html/security__connector_8h.html @@ -0,0 +1,689 @@ + + + + + + +GRPC Core: src/core/security/security_connector.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
security_connector.h File Reference
+
+
+ +

Go to the source code of this file.

+ + + + + + + + + + + + +

+Data Structures

struct  grpc_security_connector_vtable
 
struct  grpc_security_connector
 
struct  grpc_channel_security_connector
 
struct  grpc_ssl_config
 
struct  grpc_ssl_server_config
 
+ + + + + + + + + + + +

+Macros

#define GRPC_SSL_URL_SCHEME   "https"
 
#define GRPC_FAKE_SECURITY_URL_SCHEME   "http+fake_security"
 
#define GRPC_SECURITY_CONNECTOR_ARG   "grpc.security_connector"
 
#define GRPC_SECURITY_CONNECTOR_REF(p, r)   grpc_security_connector_ref((p))
 
#define GRPC_SECURITY_CONNECTOR_UNREF(p, r)   grpc_security_connector_unref((p))
 
+ + + + + + + +

+Typedefs

typedef struct
+grpc_security_connector 
grpc_security_connector
 
typedef void(* grpc_security_check_cb )(void *user_data, grpc_security_status status)
 
typedef struct
+grpc_channel_security_connector 
grpc_channel_security_connector
 
+ + + +

+Enumerations

enum  grpc_security_status { GRPC_SECURITY_OK = 0, +GRPC_SECURITY_PENDING, +GRPC_SECURITY_ERROR + }
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

grpc_security_connectorgrpc_security_connector_ref (grpc_security_connector *policy)
 
void grpc_security_connector_unref (grpc_security_connector *policy)
 
grpc_security_status grpc_security_connector_create_handshaker (grpc_security_connector *sc, tsi_handshaker **handshaker)
 
grpc_security_status grpc_security_connector_check_peer (grpc_security_connector *sc, tsi_peer peer, grpc_security_check_cb cb, void *user_data)
 
grpc_arg grpc_security_connector_to_arg (grpc_security_connector *sc)
 
grpc_security_connectorgrpc_security_connector_from_arg (const grpc_arg *arg)
 
grpc_security_connectorgrpc_find_security_connector_in_args (const grpc_channel_args *args)
 
grpc_security_status grpc_channel_security_connector_check_call_host (grpc_channel_security_connector *sc, const char *host, grpc_security_check_cb cb, void *user_data)
 
grpc_channel_security_connectorgrpc_fake_channel_security_connector_create (grpc_credentials *request_metadata_creds, int call_host_check_is_async)
 
grpc_security_connectorgrpc_fake_server_security_connector_create (void)
 
grpc_security_status grpc_ssl_channel_security_connector_create (grpc_credentials *request_metadata_creds, const grpc_ssl_config *config, const char *target_name, const char *overridden_target_name, grpc_channel_security_connector **sc)
 
size_t grpc_get_default_ssl_roots (const unsigned char **pem_root_certs)
 
grpc_security_status grpc_ssl_server_security_connector_create (const grpc_ssl_server_config *config, grpc_security_connector **sc)
 
const tsi_peer_propertytsi_peer_get_property_by_name (const tsi_peer *peer, const char *name)
 
grpc_auth_contexttsi_ssl_peer_to_auth_context (const tsi_peer *peer)
 
+

Macro Definition Documentation

+ +
+
+ + + + +
#define GRPC_FAKE_SECURITY_URL_SCHEME   "http+fake_security"
+
+ +
+
+ +
+
+ + + + +
#define GRPC_SECURITY_CONNECTOR_ARG   "grpc.security_connector"
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
#define GRPC_SECURITY_CONNECTOR_REF( p,
 
)   grpc_security_connector_ref((p))
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
#define GRPC_SECURITY_CONNECTOR_UNREF( p,
 
)   grpc_security_connector_unref((p))
+
+ +
+
+ +
+
+ + + + +
#define GRPC_SSL_URL_SCHEME   "https"
+
+ +
+
+

Typedef Documentation

+ + + +
+
+ + + + +
typedef void(* grpc_security_check_cb)(void *user_data, grpc_security_status status)
+
+ +
+
+ +
+
+ +
+
+

Enumeration Type Documentation

+ +
+
+ + + + +
enum grpc_security_status
+
+ + + + +
Enumerator
GRPC_SECURITY_OK  +
GRPC_SECURITY_PENDING  +
GRPC_SECURITY_ERROR  +
+ +
+
+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
grpc_security_status grpc_channel_security_connector_check_call_host (grpc_channel_security_connectorsc,
const char * host,
grpc_security_check_cb cb,
void * user_data 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
grpc_channel_security_connector* grpc_fake_channel_security_connector_create (grpc_credentialsrequest_metadata_creds,
int call_host_check_is_async 
)
+
+ +
+
+ +
+
+ + + + + + + + +
grpc_security_connector* grpc_fake_server_security_connector_create (void )
+
+ +
+
+ +
+
+ + + + + + + + +
grpc_security_connector* grpc_find_security_connector_in_args (const grpc_channel_argsargs)
+
+ +
+
+ +
+
+ + + + + + + + +
size_t grpc_get_default_ssl_roots (const unsigned char ** pem_root_certs)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
grpc_security_status grpc_security_connector_check_peer (grpc_security_connectorsc,
tsi_peer peer,
grpc_security_check_cb cb,
void * user_data 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
grpc_security_status grpc_security_connector_create_handshaker (grpc_security_connectorsc,
tsi_handshaker ** handshaker 
)
+
+ +
+
+ +
+
+ + + + + + + + +
grpc_security_connector* grpc_security_connector_from_arg (const grpc_argarg)
+
+ +
+
+ +
+
+ + + + + + + + +
grpc_security_connector* grpc_security_connector_ref (grpc_security_connectorpolicy)
+
+ +
+
+ +
+
+ + + + + + + + +
grpc_arg grpc_security_connector_to_arg (grpc_security_connectorsc)
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_security_connector_unref (grpc_security_connectorpolicy)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
grpc_security_status grpc_ssl_channel_security_connector_create (grpc_credentialsrequest_metadata_creds,
const grpc_ssl_configconfig,
const char * target_name,
const char * overridden_target_name,
grpc_channel_security_connector ** sc 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
grpc_security_status grpc_ssl_server_security_connector_create (const grpc_ssl_server_configconfig,
grpc_security_connector ** sc 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
const tsi_peer_property* tsi_peer_get_property_by_name (const tsi_peerpeer,
const char * name 
)
+
+ +
+
+ +
+
+ + + + + + + + +
grpc_auth_context* tsi_ssl_peer_to_auth_context (const tsi_peerpeer)
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/security__connector_8h_source.html b/doc/ref/core.internal/html/security__connector_8h_source.html new file mode 100644 index 0000000000..ca414d8d86 --- /dev/null +++ b/doc/ref/core.internal/html/security__connector_8h_source.html @@ -0,0 +1,381 @@ + + + + + + +GRPC Core: src/core/security/security_connector.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
security_connector.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPC_INTERNAL_CORE_SECURITY_SECURITY_CONNECTOR_H
+
35 #define GRPC_INTERNAL_CORE_SECURITY_SECURITY_CONNECTOR_H
+
36 
+
37 #include <grpc/grpc_security.h>
+ + +
40 
+
41 /* --- status enum. --- */
+
42 
+
43 typedef enum {
+ + + + +
48 
+
49 /* --- URL schemes. --- */
+
50 
+
51 #define GRPC_SSL_URL_SCHEME "https"
+
52 #define GRPC_FAKE_SECURITY_URL_SCHEME "http+fake_security"
+
53 
+
54 /* --- security_connector object. ---
+
55 
+
56  A security connector object represents away to configure the underlying
+
57  transport security mechanism and check the resulting trusted peer. */
+
58 
+ +
60 
+
61 #define GRPC_SECURITY_CONNECTOR_ARG "grpc.security_connector"
+
62 
+
63 typedef void (*grpc_security_check_cb)(void *user_data,
+
64  grpc_security_status status);
+
65 
+
66 typedef struct {
+
67  void (*destroy)(grpc_security_connector *sc);
+ +
69  tsi_handshaker **handshaker);
+ + +
72  void *user_data);
+ +
74 
+ + + + +
79  const char *url_scheme;
+
80  grpc_auth_context *auth_context; /* Populated after the peer is checked. */
+
81 };
+
82 
+
83 /* Refcounting. */
+
84 #ifdef GRPC_SECURITY_CONNECTOR_REFCOUNT_DEBUG
+
85 #define GRPC_SECURITY_CONNECTOR_REF(p, r) \
+
86  grpc_security_connector_ref((p), __FILE__, __LINE__, (r))
+
87 #define GRPC_SECURITY_CONNECTOR_UNREF(p, r) \
+
88  grpc_security_connector_unref((p), __FILE__, __LINE__, (r))
+ +
90  grpc_security_connector *policy, const char *file, int line,
+
91  const char *reason);
+ +
93  const char *file, int line,
+
94  const char *reason);
+
95 #else
+
96 #define GRPC_SECURITY_CONNECTOR_REF(p, r) grpc_security_connector_ref((p))
+
97 #define GRPC_SECURITY_CONNECTOR_UNREF(p, r) grpc_security_connector_unref((p))
+ +
99  grpc_security_connector *policy);
+ +
101 #endif
+
102 
+
103 /* Handshake creation. */
+ +
105  grpc_security_connector *sc, tsi_handshaker **handshaker);
+
106 
+
107 /* Check the peer.
+
108  Implementations can choose to check the peer either synchronously or
+
109  asynchronously. In the first case, a successful call will return
+
110  GRPC_SECURITY_OK. In the asynchronous case, the call will return
+
111  GRPC_SECURITY_PENDING unless an error is detected early on.
+
112  Ownership of the peer is transfered.
+
113 */
+ + +
116  void *user_data);
+
117 
+
118 /* Util to encapsulate the connector in a channel arg. */
+ +
120 
+
121 /* Util to get the connector from a channel arg. */
+ +
123 
+
124 /* Util to find the connector from channel args. */
+ +
126  const grpc_channel_args *args);
+
127 
+
128 /* --- channel_security_connector object. ---
+
129 
+
130  A channel security connector object represents away to configure the
+
131  underlying transport security mechanism on the client side. */
+
132 
+ +
134 
+ +
136  grpc_security_connector base; /* requires is_client_side to be non 0. */
+ + +
139  const char *host,
+ +
141  void *user_data);
+
142 };
+
143 
+
144 /* Checks that the host that will be set for a call is acceptable.
+
145  Implementations can choose do the check either synchronously or
+
146  asynchronously. In the first case, a successful call will return
+
147  GRPC_SECURITY_OK. In the asynchronous case, the call will return
+
148  GRPC_SECURITY_PENDING unless an error is detected early on. */
+ +
150  grpc_channel_security_connector *sc, const char *host,
+
151  grpc_security_check_cb cb, void *user_data);
+
152 
+
153 /* --- Creation security connectors. --- */
+
154 
+
155 /* For TESTING ONLY!
+
156  Creates a fake connector that emulates real channel security. */
+ +
158  grpc_credentials *request_metadata_creds, int call_host_check_is_async);
+
159 
+
160 /* For TESTING ONLY!
+
161  Creates a fake connector that emulates real server security. */
+ +
163 
+
164 /* Config for ssl clients. */
+
165 typedef struct {
+
166  unsigned char *pem_private_key;
+ +
168  unsigned char *pem_cert_chain;
+ +
170  unsigned char *pem_root_certs;
+ + +
173 
+
174 /* Creates an SSL channel_security_connector.
+
175  - request_metadata_creds is the credentials object which metadata
+
176  will be sent with each request. This parameter can be NULL.
+
177  - config is the SSL config to be used for the SSL channel establishment.
+
178  - is_client should be 0 for a server or a non-0 value for a client.
+
179  - secure_peer_name is the secure peer name that should be checked in
+
180  grpc_channel_security_connector_check_peer. This parameter may be NULL in
+
181  which case the peer name will not be checked. Note that if this parameter
+
182  is not NULL, then, pem_root_certs should not be NULL either.
+
183  - sc is a pointer on the connector to be created.
+
184  This function returns GRPC_SECURITY_OK in case of success or a
+
185  specific error code otherwise.
+
186 */
+ +
188  grpc_credentials *request_metadata_creds, const grpc_ssl_config *config,
+
189  const char *target_name, const char *overridden_target_name,
+ +
191 
+
192 /* Gets the default ssl roots. */
+
193 size_t grpc_get_default_ssl_roots(const unsigned char **pem_root_certs);
+
194 
+
195 /* Config for ssl servers. */
+
196 typedef struct {
+
197  unsigned char **pem_private_keys;
+ +
199  unsigned char **pem_cert_chains;
+ + +
202  unsigned char *pem_root_certs;
+ + + +
206 
+
207 /* Creates an SSL server_security_connector.
+
208  - config is the SSL config to be used for the SSL channel establishment.
+
209  - sc is a pointer on the connector to be created.
+
210  This function returns GRPC_SECURITY_OK in case of success or a
+
211  specific error code otherwise.
+
212 */
+ +
214  const grpc_ssl_server_config *config, grpc_security_connector **sc);
+
215 
+
216 /* Util. */
+ +
218  const char *name);
+
219 
+
220 /* Exposed for testing only. */
+ +
222 
+
223 #endif /* GRPC_INTERNAL_CORE_SECURITY_SECURITY_CONNECTOR_H */
+
Definition: security_context.h:49
+
Definition: security_connector.h:66
+
grpc_channel_security_connector * grpc_fake_channel_security_connector_create(grpc_credentials *request_metadata_creds, int call_host_check_is_async)
Definition: security_connector.c:295
+
int is_client_side
Definition: security_connector.h:78
+
unsigned char * pem_cert_chain
Definition: security_connector.h:168
+
size_t pem_private_key_size
Definition: security_connector.h:167
+
unsigned char * pem_private_key
Definition: security_connector.h:166
+
Definition: sync_generic.h:49
+
void(* grpc_security_check_cb)(void *user_data, grpc_security_status status)
Definition: security_connector.h:63
+
grpc_security_status grpc_ssl_server_security_connector_create(const grpc_ssl_server_config *config, grpc_security_connector **sc)
Definition: security_connector.c:623
+
An array of arguments that can be passed around.
Definition: grpc.h:113
+
gpr_refcount refcount
Definition: security_connector.h:77
+
grpc_security_connector base
Definition: security_connector.h:136
+
const char * url_scheme
Definition: security_connector.h:79
+
grpc_security_connector * grpc_security_connector_ref(grpc_security_connector *policy)
Definition: security_connector.c:136
+
const tsi_peer_property * tsi_peer_get_property_by_name(const tsi_peer *peer, const char *name)
Definition: security_connector.c:87
+
unsigned char ** pem_cert_chains
Definition: security_connector.h:199
+ +
grpc_security_status grpc_channel_security_connector_check_call_host(grpc_channel_security_connector *sc, const char *host, grpc_security_check_cb cb, void *user_data)
Definition: security_connector.c:120
+
size_t * pem_private_keys_sizes
Definition: security_connector.h:198
+
size_t * pem_cert_chains_sizes
Definition: security_connector.h:200
+
A single argument...
Definition: grpc.h:91
+
Definition: cmdline.c:47
+
grpc_security_status grpc_ssl_channel_security_connector_create(grpc_credentials *request_metadata_creds, const grpc_ssl_config *config, const char *target_name, const char *overridden_target_name, grpc_channel_security_connector **sc)
Definition: security_connector.c:544
+ +
unsigned char ** pem_private_keys
Definition: security_connector.h:197
+
void grpc_security_connector_unref(grpc_security_connector *policy)
Definition: security_connector.c:153
+
Definition: credentials.h:145
+
Definition: security_connector.h:46
+
Definition: transport_security_interface.h:192
+
grpc_credentials * request_metadata_creds
Definition: security_connector.h:137
+
size_t grpc_get_default_ssl_roots(const unsigned char **pem_root_certs)
Definition: security_connector.c:535
+
size_t pem_root_certs_size
Definition: security_connector.h:171
+
grpc_security_connector * grpc_security_connector_from_arg(const grpc_arg *arg)
Definition: security_connector.c:177
+
Definition: security_connector.h:196
+
grpc_arg grpc_security_connector_to_arg(grpc_security_connector *sc)
Definition: security_connector.c:167
+
Definition: security_connector.h:75
+
const grpc_security_connector_vtable * vtable
Definition: security_connector.h:76
+
Definition: security_connector.h:135
+
unsigned char * pem_root_certs
Definition: security_connector.h:170
+
grpc_security_status(* check_call_host)(grpc_channel_security_connector *sc, const char *host, grpc_security_check_cb cb, void *user_data)
Definition: security_connector.h:138
+
int force_client_auth
Definition: security_connector.h:204
+
Definition: security_connector.h:45
+
grpc_security_status grpc_security_connector_create_handshaker(grpc_security_connector *sc, tsi_handshaker **handshaker)
Definition: security_connector.c:104
+
Definition: security_connector.h:165
+
unsigned char * pem_root_certs
Definition: security_connector.h:202
+
grpc_security_status grpc_security_connector_check_peer(grpc_security_connector *sc, tsi_peer peer, grpc_security_check_cb cb, void *user_data)
Definition: security_connector.c:110
+ +
grpc_auth_context * tsi_ssl_peer_to_auth_context(const tsi_peer *peer)
Definition: security_connector.c:409
+
Definition: transport_security.h:86
+
size_t pem_root_certs_size
Definition: security_connector.h:203
+
grpc_auth_context * auth_context
Definition: security_connector.h:80
+
grpc_security_connector * grpc_fake_server_security_connector_create(void)
Definition: security_connector.c:311
+
grpc_security_status
Definition: security_connector.h:43
+
size_t num_key_cert_pairs
Definition: security_connector.h:201
+
size_t pem_cert_chain_size
Definition: security_connector.h:169
+
Definition: security_connector.h:44
+
Definition: transport_security_interface.h:184
+
grpc_security_connector * grpc_find_security_connector_in_args(const grpc_channel_args *args)
Definition: security_connector.c:187
+
+ + + + diff --git a/doc/ref/core.internal/html/security__context_8c.html b/doc/ref/core.internal/html/security__context_8c.html new file mode 100644 index 0000000000..78633f1877 --- /dev/null +++ b/doc/ref/core.internal/html/security__context_8c.html @@ -0,0 +1,511 @@ + + + + + + +GRPC Core: src/core/security/security_context.c File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
security_context.c File Reference
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

grpc_call_error grpc_call_set_credentials (grpc_call *call, grpc_credentials *creds)
 
grpc_auth_contextgrpc_call_auth_context (grpc_call *call)
 
void grpc_auth_context_release (grpc_auth_context *context)
 
grpc_client_security_contextgrpc_client_security_context_create (void)
 
void grpc_client_security_context_destroy (void *ctx)
 
grpc_server_security_contextgrpc_server_security_context_create (void)
 
void grpc_server_security_context_destroy (void *ctx)
 
grpc_auth_contextgrpc_auth_context_create (grpc_auth_context *chained, size_t property_count)
 
grpc_auth_contextgrpc_auth_context_ref (grpc_auth_context *ctx)
 
void grpc_auth_context_unref (grpc_auth_context *ctx)
 
const char * grpc_auth_context_peer_identity_property_name (const grpc_auth_context *ctx)
 
int grpc_auth_context_peer_is_authenticated (const grpc_auth_context *ctx)
 
grpc_auth_property_iterator grpc_auth_context_property_iterator (const grpc_auth_context *ctx)
 
const grpc_auth_propertygrpc_auth_property_iterator_next (grpc_auth_property_iterator *it)
 
grpc_auth_property_iterator grpc_auth_context_find_properties_by_name (const grpc_auth_context *ctx, const char *name)
 
grpc_auth_property_iterator grpc_auth_context_peer_identity (const grpc_auth_context *ctx)
 
grpc_auth_property grpc_auth_property_init_from_cstring (const char *name, const char *value)
 
grpc_auth_property grpc_auth_property_init (const char *name, const char *value, size_t value_length)
 
void grpc_auth_property_reset (grpc_auth_property *property)
 
+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
grpc_auth_context* grpc_auth_context_create (grpc_auth_contextchained,
size_t property_count 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
grpc_auth_property_iterator grpc_auth_context_find_properties_by_name (const grpc_auth_contextctx,
const char * name 
)
+
+ +
+
+ +
+
+ + + + + + + + +
grpc_auth_property_iterator grpc_auth_context_peer_identity (const grpc_auth_contextctx)
+
+ +
+
+ +
+
+ + + + + + + + +
const char* grpc_auth_context_peer_identity_property_name (const grpc_auth_contextctx)
+
+ +
+
+ +
+
+ + + + + + + + +
int grpc_auth_context_peer_is_authenticated (const grpc_auth_contextctx)
+
+ +
+
+ +
+
+ + + + + + + + +
grpc_auth_property_iterator grpc_auth_context_property_iterator (const grpc_auth_contextctx)
+
+ +
+
+ +
+
+ + + + + + + + +
grpc_auth_context* grpc_auth_context_ref (grpc_auth_contextctx)
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_auth_context_release (grpc_auth_contextcontext)
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_auth_context_unref (grpc_auth_contextctx)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
grpc_auth_property grpc_auth_property_init (const char * name,
const char * value,
size_t value_length 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
grpc_auth_property grpc_auth_property_init_from_cstring (const char * name,
const char * value 
)
+
+ +
+
+ +
+
+ + + + + + + + +
const grpc_auth_property* grpc_auth_property_iterator_next (grpc_auth_property_iteratorit)
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_auth_property_reset (grpc_auth_propertyproperty)
+
+ +
+
+ +
+
+ + + + + + + + +
grpc_auth_context* grpc_call_auth_context (grpc_callcall)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
grpc_call_error grpc_call_set_credentials (grpc_callcall,
grpc_credentialscreds 
)
+
+ +
+
+ +
+
+ + + + + + + + +
grpc_client_security_context* grpc_client_security_context_create (void )
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_client_security_context_destroy (void * ctx)
+
+ +
+
+ +
+
+ + + + + + + + +
grpc_server_security_context* grpc_server_security_context_create (void )
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_server_security_context_destroy (void * ctx)
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/security__context_8h.html b/doc/ref/core.internal/html/security__context_8h.html new file mode 100644 index 0000000000..162f227e11 --- /dev/null +++ b/doc/ref/core.internal/html/security__context_8h.html @@ -0,0 +1,396 @@ + + + + + + +GRPC Core: src/core/security/security_context.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
security_context.h File Reference
+
+
+ +

Go to the source code of this file.

+ + + + + + + + +

+Data Structures

struct  grpc_auth_context
 
struct  grpc_client_security_context
 
struct  grpc_server_security_context
 
+ + + + + +

+Macros

#define GRPC_AUTH_CONTEXT_REF(p, r)   grpc_auth_context_ref((p))
 
#define GRPC_AUTH_CONTEXT_UNREF(p, r)   grpc_auth_context_unref((p))
 
+ + + + + + + + + + + + + + + + + + + + + +

+Functions

grpc_auth_contextgrpc_auth_context_create (grpc_auth_context *chained, size_t property_count)
 
grpc_auth_contextgrpc_auth_context_ref (grpc_auth_context *policy)
 
void grpc_auth_context_unref (grpc_auth_context *policy)
 
grpc_auth_property grpc_auth_property_init_from_cstring (const char *name, const char *value)
 
grpc_auth_property grpc_auth_property_init (const char *name, const char *value, size_t value_length)
 
void grpc_auth_property_reset (grpc_auth_property *property)
 
grpc_client_security_contextgrpc_client_security_context_create (void)
 
void grpc_client_security_context_destroy (void *ctx)
 
grpc_server_security_contextgrpc_server_security_context_create (void)
 
void grpc_server_security_context_destroy (void *ctx)
 
+

Macro Definition Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
#define GRPC_AUTH_CONTEXT_REF( p,
 
)   grpc_auth_context_ref((p))
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
#define GRPC_AUTH_CONTEXT_UNREF( p,
 
)   grpc_auth_context_unref((p))
+
+ +
+
+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
grpc_auth_context* grpc_auth_context_create (grpc_auth_contextchained,
size_t property_count 
)
+
+ +
+
+ +
+
+ + + + + + + + +
grpc_auth_context* grpc_auth_context_ref (grpc_auth_contextpolicy)
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_auth_context_unref (grpc_auth_contextpolicy)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
grpc_auth_property grpc_auth_property_init (const char * name,
const char * value,
size_t value_length 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
grpc_auth_property grpc_auth_property_init_from_cstring (const char * name,
const char * value 
)
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_auth_property_reset (grpc_auth_propertyproperty)
+
+ +
+
+ +
+
+ + + + + + + + +
grpc_client_security_context* grpc_client_security_context_create (void )
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_client_security_context_destroy (void * ctx)
+
+ +
+
+ +
+
+ + + + + + + + +
grpc_server_security_context* grpc_server_security_context_create (void )
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_server_security_context_destroy (void * ctx)
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/security__context_8h_source.html b/doc/ref/core.internal/html/security__context_8h_source.html new file mode 100644 index 0000000000..5e62d29b8b --- /dev/null +++ b/doc/ref/core.internal/html/security__context_8h_source.html @@ -0,0 +1,240 @@ + + + + + + +GRPC Core: src/core/security/security_context.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
security_context.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPC_INTERNAL_CORE_SECURITY_SECURITY_CONTEXT_H
+
35 #define GRPC_INTERNAL_CORE_SECURITY_SECURITY_CONTEXT_H
+
36 
+ +
38 
+
39 #ifdef __cplusplus
+
40 extern "C" {
+
41 #endif
+
42 
+
43 /* --- grpc_auth_context ---
+
44 
+
45  High level authentication context object. Can optionally be chained. */
+
46 
+
47 /* Property names are always NULL terminated. */
+
48 
+ + + + + + +
55 };
+
56 
+
57 /* Constructor. */
+ +
59  size_t property_count);
+
60 
+
61 /* Refcounting. */
+
62 #ifdef GRPC_AUTH_CONTEXT_REFCOUNT_DEBUG
+
63 #define GRPC_AUTH_CONTEXT_REF(p, r) \
+
64  grpc_auth_context_ref((p), __FILE__, __LINE__, (r))
+
65 #define GRPC_AUTH_CONTEXT_UNREF(p, r) \
+
66  grpc_auth_context_unref((p), __FILE__, __LINE__, (r))
+ +
68  const char *file, int line,
+
69  const char *reason);
+
70 void grpc_auth_context_unref(grpc_auth_context *policy, const char *file,
+
71  int line, const char *reason);
+
72 #else
+
73 #define GRPC_AUTH_CONTEXT_REF(p, r) grpc_auth_context_ref((p))
+
74 #define GRPC_AUTH_CONTEXT_UNREF(p, r) grpc_auth_context_unref((p))
+ + +
77 #endif
+
78 
+ +
80  const char *value);
+
81 
+
82 grpc_auth_property grpc_auth_property_init(const char *name, const char *value,
+
83  size_t value_length);
+
84 
+ +
86 
+
87 /* --- grpc_client_security_context ---
+
88 
+
89  Internal client-side security context. */
+
90 
+
91 typedef struct {
+ + + +
95 
+ + +
98 
+
99 /* --- grpc_server_security_context ---
+
100 
+
101  Internal server-side security context. */
+
102 
+
103 typedef struct {
+ + +
106 
+ + +
109 
+
110 #ifdef __cplusplus
+
111 }
+
112 #endif
+
113 
+
114 #endif /* GRPC_INTERNAL_CORE_SECURITY_SECURITY_CONTEXT_H */
+
115 
+
Definition: security_context.h:49
+
const char * value
Definition: hpack_table.c:44
+
void grpc_server_security_context_destroy(void *ctx)
Definition: security_context.c:113
+
void grpc_auth_property_reset(grpc_auth_property *property)
Definition: security_context.c:252
+
grpc_auth_property grpc_auth_property_init(const char *name, const char *value, size_t value_length)
Definition: security_context.c:241
+
Definition: sync_generic.h:49
+
size_t property_count
Definition: security_context.h:52
+
gpr_refcount refcount
Definition: security_context.h:53
+
grpc_auth_context * grpc_auth_context_ref(grpc_auth_context *policy)
Definition: security_context.c:144
+
void grpc_client_security_context_destroy(void *ctx)
Definition: security_context.c:97
+
grpc_auth_context * auth_context
Definition: security_context.h:93
+
Definition: credentials.h:145
+
grpc_auth_property * properties
Definition: security_context.h:51
+
grpc_credentials * creds
Definition: security_context.h:92
+
grpc_auth_property grpc_auth_property_init_from_cstring(const char *name, const char *value)
Definition: security_context.c:232
+
struct grpc_auth_context * chained
Definition: security_context.h:50
+
Definition: security_context.h:103
+ +
grpc_auth_context * grpc_auth_context_create(grpc_auth_context *chained, size_t property_count)
Definition: security_context.c:123
+
Definition: grpc_security.h:219
+
grpc_auth_context * auth_context
Definition: security_context.h:104
+
const char * peer_identity_property_name
Definition: security_context.h:54
+
grpc_server_security_context * grpc_server_security_context_create(void)
Definition: security_context.c:106
+
void grpc_auth_context_unref(grpc_auth_context *policy)
Definition: security_context.c:159
+
Definition: security_context.h:91
+
grpc_client_security_context * grpc_client_security_context_create(void)
Definition: security_context.c:90
+
+ + + + diff --git a/doc/ref/core.internal/html/server_8c.html b/doc/ref/core.internal/html/server_8c.html new file mode 100644 index 0000000000..496371f9e6 --- /dev/null +++ b/doc/ref/core.internal/html/server_8c.html @@ -0,0 +1,863 @@ + + + + + + +GRPC Core: src/core/surface/server.c File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
server.c File Reference
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Data Structures

struct  listener
 
struct  call_link
 
struct  requested_call
 
struct  channel_registered_method
 
struct  channel_data
 
struct  shutdown_tag
 
struct  call_data
 
struct  request_matcher
 
struct  registered_method
 
struct  channel_broadcaster
 
struct  grpc_server
 
struct  shutdown_cleanup_args
 
struct  request_killer
 
+ + + +

+Macros

#define SERVER_FROM_CALL_ELEM(elem)   (((channel_data *)(elem)->channel_data)->server)
 
+ + + + + + + + + + + + + + + + + +

+Typedefs

typedef struct listener listener
 
typedef struct call_data call_data
 
typedef struct channel_data channel_data
 
typedef struct registered_method registered_method
 
typedef struct requested_call requested_call
 
typedef struct
+channel_registered_method 
channel_registered_method
 
typedef struct shutdown_tag shutdown_tag
 
typedef struct request_matcher request_matcher
 
+ + + + + +

+Enumerations

enum  requested_call_type { BATCH_CALL, +REGISTERED_CALL + }
 
enum  call_state {
+  CALL_CREATED, +CALL_WAITING_FOR_SEND, +CALL_WAITING_FOR_CONFIG, +CALL_WAITING_FOR_PICK, +
+  CALL_WAITING_FOR_CALL, +CALL_ACTIVE, +CALL_CANCELLED, +NOT_STARTED, +
+  PENDING, +ACTIVATED, +ZOMBIED +
+ }
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

void grpc_server_register_completion_queue (grpc_server *server, grpc_completion_queue *cq)
 Register a completion queue with the server. More...
 
grpc_servergrpc_server_create_from_filters (const grpc_channel_filter **filters, size_t filter_count, const grpc_channel_args *args)
 
void * grpc_server_register_method (grpc_server *server, const char *method, const char *host)
 Registers a method in the server. More...
 
void grpc_server_start (grpc_server *server)
 Start a server - tells all listeners to start listening. More...
 
void grpc_server_setup_transport (grpc_server *s, grpc_transport *transport, grpc_channel_filter const **extra_filters, size_t num_extra_filters, grpc_mdctx *mdctx, const grpc_channel_args *args)
 
void grpc_server_shutdown_and_notify (grpc_server *server, grpc_completion_queue *cq, void *tag)
 Begin shutting down a server. More...
 
void grpc_server_listener_destroy_done (void *s)
 
void grpc_server_cancel_all_calls (grpc_server *server)
 Cancel all in-progress calls. More...
 
void grpc_server_destroy (grpc_server *server)
 Destroy a server. More...
 
void grpc_server_add_listener (grpc_server *server, void *arg, void(*start)(grpc_server *server, void *arg, grpc_pollset **pollsets, size_t pollset_count), void(*destroy)(grpc_server *server, void *arg))
 
grpc_call_error grpc_server_request_call (grpc_server *server, grpc_call **call, grpc_call_details *details, grpc_metadata_array *initial_metadata, grpc_completion_queue *cq_bound_to_call, grpc_completion_queue *cq_for_notification, void *tag)
 Request notification of a new call. More...
 
grpc_call_error grpc_server_request_registered_call (grpc_server *server, void *rm, grpc_call **call, gpr_timespec *deadline, grpc_metadata_array *initial_metadata, grpc_byte_buffer **optional_payload, grpc_completion_queue *cq_bound_to_call, grpc_completion_queue *cq_for_notification, void *tag)
 Request notification of a new pre-registered call. More...
 
const grpc_channel_argsgrpc_server_get_channel_args (grpc_server *server)
 
int grpc_server_has_open_connections (grpc_server *server)
 
+

Macro Definition Documentation

+ +
+
+ + + + + + + + +
#define SERVER_FROM_CALL_ELEM( elem)   (((channel_data *)(elem)->channel_data)->server)
+
+ +
+
+

Typedef Documentation

+ +
+
+ + + + +
typedef struct call_data call_data
+
+ +
+
+ +
+
+ + + + +
typedef struct channel_data channel_data
+
+ +
+
+ +
+
+ +
+
+ +
+
+ + + + +
typedef struct listener listener
+
+ +
+
+ +
+
+ + + + +
typedef struct registered_method registered_method
+
+ +
+
+ +
+
+ + + + +
typedef struct request_matcher request_matcher
+
+ +
+
+ +
+
+ + + + +
typedef struct requested_call requested_call
+
+ +
+
+ +
+
+ + + + +
typedef struct shutdown_tag shutdown_tag
+
+ +
+
+

Enumeration Type Documentation

+ +
+
+ + + + +
enum call_state
+
+ + + + + + + + + + + + +
Enumerator
CALL_CREATED  +
CALL_WAITING_FOR_SEND  +
CALL_WAITING_FOR_CONFIG  +
CALL_WAITING_FOR_PICK  +
CALL_WAITING_FOR_CALL  +
CALL_ACTIVE  +
CALL_CANCELLED  +
NOT_STARTED  +
PENDING  +
ACTIVATED  +
ZOMBIED  +
+ +
+
+ +
+
+ + + + +
enum requested_call_type
+
+ + + +
Enumerator
BATCH_CALL  +
REGISTERED_CALL  +
+ +
+
+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void grpc_server_add_listener (grpc_serverserver,
void * arg,
void(*)(grpc_server *server, void *arg, grpc_pollset **pollsets, size_t pollset_count) start,
void(*)(grpc_server *server, void *argdestroy 
)
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_server_cancel_all_calls (grpc_serverserver)
+
+ +

Cancel all in-progress calls.

+

Only usable after shutdown.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
grpc_server* grpc_server_create_from_filters (const grpc_channel_filter ** filters,
size_t filter_count,
const grpc_channel_argsargs 
)
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_server_destroy (grpc_serverserver)
+
+ +

Destroy a server.

+

Shutdown must have completed beforehand (i.e. all tags generated by grpc_server_shutdown_and_notify must have been received, and at least one call to grpc_server_shutdown_and_notify must have been made).

+ +
+
+ +
+
+ + + + + + + + +
const grpc_channel_args* grpc_server_get_channel_args (grpc_serverserver)
+
+ +
+
+ +
+
+ + + + + + + + +
int grpc_server_has_open_connections (grpc_serverserver)
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_server_listener_destroy_done (void * s)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void grpc_server_register_completion_queue (grpc_serverserver,
grpc_completion_queuecq 
)
+
+ +

Register a completion queue with the server.

+

Must be done for any notification completion queue that is passed to grpc_server_request_*_call and to grpc_server_shutdown_and_notify. Must be performed prior to grpc_server_start.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void* grpc_server_register_method (grpc_serverserver,
const char * method,
const char * host 
)
+
+ +

Registers a method in the server.

+

Methods to this (host, method) pair will not be reported by grpc_server_request_call, but instead be reported by grpc_server_request_registered_call when passed the appropriate registered_method (as returned by this function). Must be called before grpc_server_start. Returns NULL on failure.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
grpc_call_error grpc_server_request_call (grpc_serverserver,
grpc_call ** call,
grpc_call_detailsdetails,
grpc_metadata_arrayrequest_metadata,
grpc_completion_queuecq_bound_to_call,
grpc_completion_queuecq_for_notification,
void * tag_new 
)
+
+ +

Request notification of a new call.

+

'cq_for_notification' must have been registered to the server via grpc_server_register_completion_queue.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
grpc_call_error grpc_server_request_registered_call (grpc_serverserver,
void * registered_method,
grpc_call ** call,
gpr_timespecdeadline,
grpc_metadata_arrayrequest_metadata,
grpc_byte_buffer ** optional_payload,
grpc_completion_queuecq_bound_to_call,
grpc_completion_queuecq_for_notification,
void * tag_new 
)
+
+ +

Request notification of a new pre-registered call.

+

'cq_for_notification' must have been registered to the server via grpc_server_register_completion_queue.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void grpc_server_setup_transport (grpc_servers,
grpc_transporttransport,
grpc_channel_filter const ** extra_filters,
size_t num_extra_filters,
grpc_mdctxmdctx,
const grpc_channel_argsargs 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void grpc_server_shutdown_and_notify (grpc_serverserver,
grpc_completion_queuecq,
void * tag 
)
+
+ +

Begin shutting down a server.

+

After completion, no new calls or connections will be admitted. Existing calls will be allowed to complete. Send a GRPC_OP_COMPLETE event when there are no more calls being serviced. Shutdown is idempotent, and all tags will be notified at once if multiple grpc_server_shutdown_and_notify calls are made. 'cq' must have been registered to this server via grpc_server_register_completion_queue.

+ +
+
+ +
+
+ + + + + + + + +
void grpc_server_start (grpc_serverserver)
+
+ +

Start a server - tells all listeners to start listening.

+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/server_8h.html b/doc/ref/core.internal/html/server_8h.html new file mode 100644 index 0000000000..3255060170 --- /dev/null +++ b/doc/ref/core.internal/html/server_8h.html @@ -0,0 +1,291 @@ + + + + + + +GRPC Core: src/core/surface/server.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
server.h File Reference
+
+
+ +

Go to the source code of this file.

+ + + + + + + + + + + + + + +

+Functions

grpc_servergrpc_server_create_from_filters (const grpc_channel_filter **filters, size_t filter_count, const grpc_channel_args *args)
 
void grpc_server_add_listener (grpc_server *server, void *listener, void(*start)(grpc_server *server, void *arg, grpc_pollset **pollsets, size_t npollsets), void(*destroy)(grpc_server *server, void *arg))
 
void grpc_server_listener_destroy_done (void *server)
 
void grpc_server_setup_transport (grpc_server *server, grpc_transport *transport, grpc_channel_filter const **extra_filters, size_t num_extra_filters, grpc_mdctx *mdctx, const grpc_channel_args *args)
 
const grpc_channel_argsgrpc_server_get_channel_args (grpc_server *server)
 
int grpc_server_has_open_connections (grpc_server *server)
 
+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void grpc_server_add_listener (grpc_serverserver,
void * listener,
void(*)(grpc_server *server, void *arg, grpc_pollset **pollsets, size_t npollsets) start,
void(*)(grpc_server *server, void *argdestroy 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
grpc_server* grpc_server_create_from_filters (const grpc_channel_filter ** filters,
size_t filter_count,
const grpc_channel_argsargs 
)
+
+ +
+
+ +
+
+ + + + + + + + +
const grpc_channel_args* grpc_server_get_channel_args (grpc_serverserver)
+
+ +
+
+ +
+
+ + + + + + + + +
int grpc_server_has_open_connections (grpc_serverserver)
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_server_listener_destroy_done (void * server)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void grpc_server_setup_transport (grpc_serverserver,
grpc_transporttransport,
grpc_channel_filter const ** extra_filters,
size_t num_extra_filters,
grpc_mdctxmdctx,
const grpc_channel_argsargs 
)
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/server_8h_source.html b/doc/ref/core.internal/html/server_8h_source.html new file mode 100644 index 0000000000..f0bcd7b4e1 --- /dev/null +++ b/doc/ref/core.internal/html/server_8h_source.html @@ -0,0 +1,183 @@ + + + + + + +GRPC Core: src/core/surface/server.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
server.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPC_INTERNAL_CORE_SURFACE_SERVER_H
+
35 #define GRPC_INTERNAL_CORE_SURFACE_SERVER_H
+
36 
+ +
38 #include <grpc/grpc.h>
+ +
40 
+
41 /* Create a server */
+ +
43  const grpc_channel_filter **filters, size_t filter_count,
+
44  const grpc_channel_args *args);
+
45 
+
46 /* Add a listener to the server: when the server starts, it will call start,
+
47  and when it shuts down, it will call destroy */
+ +
49  void (*start)(grpc_server *server, void *arg,
+
50  grpc_pollset **pollsets,
+
51  size_t npollsets),
+
52  void (*destroy)(grpc_server *server, void *arg));
+
53 
+
54 void grpc_server_listener_destroy_done(void *server);
+
55 
+
56 /* Setup a transport - creates a channel stack, binds the transport to the
+
57  server */
+ +
59  grpc_channel_filter const **extra_filters,
+
60  size_t num_extra_filters, grpc_mdctx *mdctx,
+
61  const grpc_channel_args *args);
+
62 
+ +
64 
+ +
66 
+
67 #endif /* GRPC_INTERNAL_CORE_SURFACE_SERVER_H */
+
Definition: channel_stack.h:64
+ +
An array of arguments that can be passed around.
Definition: grpc.h:113
+
int grpc_server_has_open_connections(grpc_server *server)
Definition: server.c:1312
+
Definition: server.c:56
+ +
Definition: cmdline.c:47
+
Definition: pollset_posix.h:48
+
Definition: metadata.c:98
+
const grpc_channel_args * grpc_server_get_channel_args(grpc_server *server)
Definition: server.c:1308
+
void grpc_server_setup_transport(grpc_server *server, grpc_transport *transport, grpc_channel_filter const **extra_filters, size_t num_extra_filters, grpc_mdctx *mdctx, const grpc_channel_args *args)
Definition: server.c:859
+
grpc_server * grpc_server_create_from_filters(const grpc_channel_filter **filters, size_t filter_count, const grpc_channel_args *args)
Definition: server.c:756
+
void grpc_server_listener_destroy_done(void *server)
Definition: server.c:1045
+
Definition: transport_impl.h:67
+ +
void grpc_server_add_listener(grpc_server *server, void *listener, void(*start)(grpc_server *server, void *arg, grpc_pollset **pollsets, size_t npollsets), void(*destroy)(grpc_server *server, void *arg))
+
Definition: server.c:181
+
+ + + + diff --git a/doc/ref/core.internal/html/server__auth__filter_8c.html b/doc/ref/core.internal/html/server__auth__filter_8c.html new file mode 100644 index 0000000000..f720b119a0 --- /dev/null +++ b/doc/ref/core.internal/html/server__auth__filter_8c.html @@ -0,0 +1,175 @@ + + + + + + +GRPC Core: src/core/security/server_auth_filter.c File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
server_auth_filter.c File Reference
+
+
+ + + + + + +

+Data Structures

struct  call_data
 
struct  channel_data
 
+ + + + + +

+Typedefs

typedef struct call_data call_data
 
typedef struct channel_data channel_data
 
+ + + +

+Variables

const grpc_channel_filter grpc_server_auth_filter
 
+

Typedef Documentation

+ +
+
+ + + + +
typedef struct call_data call_data
+
+ +
+
+ +
+
+ + + + +
typedef struct channel_data channel_data
+
+ +
+
+

Variable Documentation

+ +
+
+ + + + +
const grpc_channel_filter grpc_server_auth_filter
+
+Initial value:
= {
+
auth_start_transport_op, grpc_channel_next_op,
+
sizeof(call_data), init_call_elem,
+
destroy_call_elem, sizeof(channel_data),
+
init_channel_elem, destroy_channel_elem,
+
grpc_call_next_get_peer, "server-auth"}
+
char * grpc_call_next_get_peer(grpc_call_element *elem)
Definition: channel_stack.c:194
+
struct call_data call_data
+
Definition: client_auth_filter.c:69
+
void grpc_channel_next_op(grpc_channel_element *elem, grpc_transport_op *op)
Definition: channel_stack.c:199
+
+
+
+
+ + + + diff --git a/doc/ref/core.internal/html/server__chttp2_8c.html b/doc/ref/core.internal/html/server__chttp2_8c.html new file mode 100644 index 0000000000..665c36c76d --- /dev/null +++ b/doc/ref/core.internal/html/server__chttp2_8c.html @@ -0,0 +1,147 @@ + + + + + + +GRPC Core: src/core/surface/server_chttp2.c File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
server_chttp2.c File Reference
+
+
+ + + + + +

+Functions

int grpc_server_add_http2_port (grpc_server *server, const char *addr)
 Add a HTTP2 over plaintext over tcp listener. More...
 
+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
int grpc_server_add_http2_port (grpc_serverserver,
const char * addr 
)
+
+ +

Add a HTTP2 over plaintext over tcp listener.

+

Returns bound port number on success, 0 on failure. REQUIRES: server not started

+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/server__create_8c.html b/doc/ref/core.internal/html/server__create_8c.html new file mode 100644 index 0000000000..7134005416 --- /dev/null +++ b/doc/ref/core.internal/html/server__create_8c.html @@ -0,0 +1,132 @@ + + + + + + +GRPC Core: src/core/surface/server_create.c File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
server_create.c File Reference
+
+
+ + + + + +

+Functions

grpc_servergrpc_server_create (const grpc_channel_args *args)
 Create a server. More...
 
+

Function Documentation

+ +
+
+ + + + + + + + +
grpc_server* grpc_server_create (const grpc_channel_argsargs)
+
+ +

Create a server.

+

Additional configuration for each incoming channel can be specified with args. If no additional configuration is needed, args can be NULL. See grpc_channel_args for more. The data in 'args' need only live through the invocation of this function.

+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/server__secure__chttp2_8c.html b/doc/ref/core.internal/html/server__secure__chttp2_8c.html new file mode 100644 index 0000000000..4193ec6959 --- /dev/null +++ b/doc/ref/core.internal/html/server__secure__chttp2_8c.html @@ -0,0 +1,199 @@ + + + + + + +GRPC Core: src/core/security/server_secure_chttp2.c File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
server_secure_chttp2.c File Reference
+
+
+ + + + + + +

+Data Structures

struct  tcp_endpoint_list
 
struct  grpc_server_secure_state
 
+ + + + + +

+Typedefs

typedef struct tcp_endpoint_list tcp_endpoint_list
 
typedef struct
+grpc_server_secure_state 
grpc_server_secure_state
 
+ + + +

+Functions

int grpc_server_add_secure_http2_port (grpc_server *server, const char *addr, grpc_server_credentials *creds)
 
+

Typedef Documentation

+ +
+
+ +
+
+ +
+
+ + + + +
typedef struct tcp_endpoint_list tcp_endpoint_list
+
+ +
+
+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
int grpc_server_add_secure_http2_port (grpc_serverserver,
const char * addr,
grpc_server_credentialscreds 
)
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/slice_8c.html b/doc/ref/core.internal/html/slice_8c.html new file mode 100644 index 0000000000..c8eabf679a --- /dev/null +++ b/doc/ref/core.internal/html/slice_8c.html @@ -0,0 +1,538 @@ + + + + + + +GRPC Core: src/core/support/slice.c File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
slice.c File Reference
+
+
+
#include <grpc/support/alloc.h>
+#include <grpc/support/log.h>
+#include <grpc/support/slice.h>
+#include <string.h>
+
+ + + + + + + +

+Data Structures

struct  new_slice_refcount
 
struct  new_with_len_slice_refcount
 
struct  malloc_refcount
 
+ + + + + +

+Typedefs

typedef struct new_slice_refcount new_slice_refcount
 
typedef struct
+new_with_len_slice_refcount 
new_with_len_slice_refcount
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

gpr_slice gpr_empty_slice (void)
 
gpr_slice gpr_slice_ref (gpr_slice slice)
 
void gpr_slice_unref (gpr_slice slice)
 
gpr_slice gpr_slice_new (void *p, size_t len, void(*destroy)(void *))
 
gpr_slice gpr_slice_new_with_len (void *p, size_t len, void(*destroy)(void *, size_t))
 
gpr_slice gpr_slice_from_copied_buffer (const char *source, size_t length)
 
gpr_slice gpr_slice_from_copied_string (const char *source)
 
gpr_slice gpr_slice_malloc (size_t length)
 
gpr_slice gpr_slice_sub_no_ref (gpr_slice source, size_t begin, size_t end)
 
gpr_slice gpr_slice_sub (gpr_slice source, size_t begin, size_t end)
 
gpr_slice gpr_slice_split_tail (gpr_slice *source, size_t split)
 
gpr_slice gpr_slice_split_head (gpr_slice *source, size_t split)
 
int gpr_slice_cmp (gpr_slice a, gpr_slice b)
 
int gpr_slice_str_cmp (gpr_slice a, const char *b)
 
char * gpr_slice_to_cstring (gpr_slice slice)
 
+

Typedef Documentation

+ +
+
+ + + + +
typedef struct new_slice_refcount new_slice_refcount
+
+ +
+
+ +
+
+ +
+
+

Function Documentation

+ +
+
+ + + + + + + + +
gpr_slice gpr_empty_slice (void )
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
int gpr_slice_cmp (gpr_slice a,
gpr_slice b 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
gpr_slice gpr_slice_from_copied_buffer (const char * source,
size_t length 
)
+
+ +
+
+ +
+
+ + + + + + + + +
gpr_slice gpr_slice_from_copied_string (const char * source)
+
+ +
+
+ +
+
+ + + + + + + + +
gpr_slice gpr_slice_malloc (size_t length)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
gpr_slice gpr_slice_new (void * p,
size_t len,
void(*)(void *) destroy 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
gpr_slice gpr_slice_new_with_len (void * p,
size_t len,
void(*)(void *, size_t) destroy 
)
+
+ +
+
+ +
+
+ + + + + + + + +
gpr_slice gpr_slice_ref (gpr_slice slice)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
gpr_slice gpr_slice_split_head (gpr_slicesource,
size_t split 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
gpr_slice gpr_slice_split_tail (gpr_slicesource,
size_t split 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
int gpr_slice_str_cmp (gpr_slice a,
const char * b 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
gpr_slice gpr_slice_sub (gpr_slice source,
size_t begin,
size_t end 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
gpr_slice gpr_slice_sub_no_ref (gpr_slice source,
size_t begin,
size_t end 
)
+
+ +
+
+ +
+
+ + + + + + + + +
char* gpr_slice_to_cstring (gpr_slice slice)
+
+ +
+
+ +
+
+ + + + + + + + +
void gpr_slice_unref (gpr_slice slice)
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/slice_8h.html b/doc/ref/core.internal/html/slice_8h.html new file mode 100644 index 0000000000..cc4a227680 --- /dev/null +++ b/doc/ref/core.internal/html/slice_8h.html @@ -0,0 +1,643 @@ + + + + + + +GRPC Core: include/grpc/support/slice.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
slice.h File Reference
+
+
+
#include <grpc/support/sync.h>
+#include <stddef.h>
+
+

Go to the source code of this file.

+ + + + + + +

+Data Structures

struct  gpr_slice_refcount
 
struct  gpr_slice
 
+ + + + + + + + + + + + + +

+Macros

#define GPR_SLICE_INLINED_SIZE   (sizeof(size_t) + sizeof(gpr_uint8 *) - 1)
 
#define GPR_SLICE_START_PTR(slice)
 
#define GPR_SLICE_LENGTH(slice)
 
#define GPR_SLICE_SET_LENGTH(slice, newlen)
 
#define GPR_SLICE_END_PTR(slice)   GPR_SLICE_START_PTR(slice) + GPR_SLICE_LENGTH(slice)
 
#define GPR_SLICE_IS_EMPTY(slice)   (GPR_SLICE_LENGTH(slice) == 0)
 
+ + + + + +

+Typedefs

typedef struct gpr_slice_refcount gpr_slice_refcount
 
typedef struct gpr_slice gpr_slice
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

gpr_slice gpr_slice_ref (gpr_slice s)
 
void gpr_slice_unref (gpr_slice s)
 
gpr_slice gpr_slice_new (void *p, size_t len, void(*destroy)(void *))
 
gpr_slice gpr_slice_new_with_len (void *p, size_t len, void(*destroy)(void *, size_t))
 
gpr_slice gpr_slice_malloc (size_t length)
 
gpr_slice gpr_slice_from_copied_string (const char *source)
 
gpr_slice gpr_slice_from_copied_buffer (const char *source, size_t len)
 
gpr_slice gpr_slice_sub (gpr_slice s, size_t begin, size_t end)
 
gpr_slice gpr_slice_sub_no_ref (gpr_slice s, size_t begin, size_t end)
 
gpr_slice gpr_slice_split_tail (gpr_slice *s, size_t split)
 
gpr_slice gpr_slice_split_head (gpr_slice *s, size_t split)
 
gpr_slice gpr_empty_slice (void)
 
int gpr_slice_cmp (gpr_slice a, gpr_slice b)
 
int gpr_slice_str_cmp (gpr_slice a, const char *b)
 
+

Macro Definition Documentation

+ +
+
+ + + + + + + + +
#define GPR_SLICE_END_PTR( slice)   GPR_SLICE_START_PTR(slice) + GPR_SLICE_LENGTH(slice)
+
+ +
+
+ +
+
+ + + + +
#define GPR_SLICE_INLINED_SIZE   (sizeof(size_t) + sizeof(gpr_uint8 *) - 1)
+
+ +
+
+ +
+
+ + + + + + + + +
#define GPR_SLICE_IS_EMPTY( slice)   (GPR_SLICE_LENGTH(slice) == 0)
+
+ +
+
+ +
+
+ + + + + + + + +
#define GPR_SLICE_LENGTH( slice)
+
+Value:
((slice).refcount ? (slice).data.refcounted.length \
+
: (slice).data.inlined.length)
+
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
#define GPR_SLICE_SET_LENGTH( slice,
 newlen 
)
+
+Value:
((slice).refcount ? ((slice).data.refcounted.length = (size_t)(newlen)) \
+
: ((slice).data.inlined.length = (gpr_uint8)(newlen)))
+
uint8_t gpr_uint8
Definition: port_platform.h:307
+
+
+
+ +
+
+ + + + + + + + +
#define GPR_SLICE_START_PTR( slice)
+
+Value:
((slice).refcount ? (slice).data.refcounted.bytes \
+
: (slice).data.inlined.bytes)
+
+
+
+

Typedef Documentation

+ +
+
+ + + + +
typedef struct gpr_slice gpr_slice
+
+ +
+
+ +
+
+ + + + +
typedef struct gpr_slice_refcount gpr_slice_refcount
+
+ +
+
+

Function Documentation

+ +
+
+ + + + + + + + +
gpr_slice gpr_empty_slice (void )
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
int gpr_slice_cmp (gpr_slice a,
gpr_slice b 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
gpr_slice gpr_slice_from_copied_buffer (const char * source,
size_t len 
)
+
+ +
+
+ +
+
+ + + + + + + + +
gpr_slice gpr_slice_from_copied_string (const char * source)
+
+ +
+
+ +
+
+ + + + + + + + +
gpr_slice gpr_slice_malloc (size_t length)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
gpr_slice gpr_slice_new (void * p,
size_t len,
void(*)(void *) destroy 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
gpr_slice gpr_slice_new_with_len (void * p,
size_t len,
void(*)(void *, size_t) destroy 
)
+
+ +
+
+ +
+
+ + + + + + + + +
gpr_slice gpr_slice_ref (gpr_slice s)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
gpr_slice gpr_slice_split_head (gpr_slices,
size_t split 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
gpr_slice gpr_slice_split_tail (gpr_slices,
size_t split 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
int gpr_slice_str_cmp (gpr_slice a,
const char * b 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
gpr_slice gpr_slice_sub (gpr_slice s,
size_t begin,
size_t end 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
gpr_slice gpr_slice_sub_no_ref (gpr_slice s,
size_t begin,
size_t end 
)
+
+ +
+
+ +
+
+ + + + + + + + +
void gpr_slice_unref (gpr_slice s)
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/slice_8h_source.html b/doc/ref/core.internal/html/slice_8h_source.html new file mode 100644 index 0000000000..575232f1b6 --- /dev/null +++ b/doc/ref/core.internal/html/slice_8h_source.html @@ -0,0 +1,308 @@ + + + + + + +GRPC Core: include/grpc/support/slice.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
slice.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPC_SUPPORT_SLICE_H
+
35 #define GRPC_SUPPORT_SLICE_H
+
36 
+
37 #include <grpc/support/sync.h>
+
38 
+
39 #include <stddef.h>
+
40 
+
41 #ifdef __cplusplus
+
42 extern "C" {
+
43 #endif
+
44 
+
45 /* Slice API
+
46 
+
47  A slice represents a contiguous reference counted array of bytes.
+
48  It is cheap to take references to a slice, and it is cheap to create a
+
49  slice pointing to a subset of another slice.
+
50 
+
51  The data-structure for slices is exposed here to allow non-gpr code to
+
52  build slices from whatever data they have available.
+
53 
+
54  When defining interfaces that handle slices, care should be taken to define
+
55  reference ownership semantics (who should call unref?) and mutability
+
56  constraints (is the callee allowed to modify the slice?) */
+
57 
+
58 /* Reference count container for gpr_slice. Contains function pointers to
+
59  increment and decrement reference counts. Implementations should cleanup
+
60  when the reference count drops to zero.
+
61  Typically client code should not touch this, and use gpr_slice_malloc,
+
62  gpr_slice_new, or gpr_slice_new_with_len instead. */
+
63 typedef struct gpr_slice_refcount {
+
64  void (*ref)(void *);
+
65  void (*unref)(void *);
+ +
67 
+
68 #define GPR_SLICE_INLINED_SIZE (sizeof(size_t) + sizeof(gpr_uint8 *) - 1)
+
69 
+
70 /* A gpr_slice s, if initialized, represents the byte range
+
71  s.bytes[0..s.length-1].
+
72 
+
73  It can have an associated ref count which has a destruction routine to be run
+
74  when the ref count reaches zero (see gpr_slice_new() and grp_slice_unref()).
+
75  Multiple gpr_slice values may share a ref count.
+
76 
+
77  If the slice does not have a refcount, it represents an inlined small piece
+
78  of data that is copied by value. */
+
79 typedef struct gpr_slice {
+ +
81  union {
+
82  struct {
+ +
84  size_t length;
+
85  } refcounted;
+
86  struct {
+ + +
89  } inlined;
+
90  } data;
+
91 } gpr_slice;
+
92 
+
93 #define GPR_SLICE_START_PTR(slice) \
+
94  ((slice).refcount ? (slice).data.refcounted.bytes \
+
95  : (slice).data.inlined.bytes)
+
96 #define GPR_SLICE_LENGTH(slice) \
+
97  ((slice).refcount ? (slice).data.refcounted.length \
+
98  : (slice).data.inlined.length)
+
99 #define GPR_SLICE_SET_LENGTH(slice, newlen) \
+
100  ((slice).refcount ? ((slice).data.refcounted.length = (size_t)(newlen)) \
+
101  : ((slice).data.inlined.length = (gpr_uint8)(newlen)))
+
102 #define GPR_SLICE_END_PTR(slice) \
+
103  GPR_SLICE_START_PTR(slice) + GPR_SLICE_LENGTH(slice)
+
104 #define GPR_SLICE_IS_EMPTY(slice) (GPR_SLICE_LENGTH(slice) == 0)
+
105 
+
106 /* Increment the refcount of s. Requires slice is initialized.
+
107  Returns s. */
+ +
109 
+
110 /* Decrement the ref count of s. If the ref count of s reaches zero, all
+
111  slices sharing the ref count are destroyed, and considered no longer
+
112  initialized. If s is ultimately derived from a call to gpr_slice_new(start,
+
113  len, dest) where dest!=NULL , then (*dest)(start) is called, else if s is
+
114  ultimately derived from a call to gpr_slice_new_with_len(start, len, dest)
+
115  where dest!=NULL , then (*dest)(start, len). Requires s initialized. */
+
116 void gpr_slice_unref(gpr_slice s);
+
117 
+
118 /* Create a slice pointing at some data. Calls malloc to allocate a refcount
+
119  for the object, and arranges that destroy will be called with the pointer
+
120  passed in at destruction. */
+
121 gpr_slice gpr_slice_new(void *p, size_t len, void (*destroy)(void *));
+
122 
+
123 /* Equivalent to gpr_slice_new, but with a two argument destroy function that
+
124  also takes the slice length. */
+
125 gpr_slice gpr_slice_new_with_len(void *p, size_t len,
+
126  void (*destroy)(void *, size_t));
+
127 
+
128 /* Equivalent to gpr_slice_new(malloc(len), len, free), but saves one malloc()
+
129  call.
+
130  Aborts if malloc() fails. */
+
131 gpr_slice gpr_slice_malloc(size_t length);
+
132 
+
133 /* Create a slice by copying a string.
+
134  Does not preserve null terminators.
+
135  Equivalent to:
+
136  size_t len = strlen(source);
+
137  gpr_slice slice = gpr_slice_malloc(len);
+
138  memcpy(slice->data, source, len); */
+
139 gpr_slice gpr_slice_from_copied_string(const char *source);
+
140 
+
141 /* Create a slice by copying a buffer.
+
142  Equivalent to:
+
143  gpr_slice slice = gpr_slice_malloc(len);
+
144  memcpy(slice->data, source, len); */
+
145 gpr_slice gpr_slice_from_copied_buffer(const char *source, size_t len);
+
146 
+
147 /* Return a result slice derived from s, which shares a ref count with s, where
+
148  result.data==s.data+begin, and result.length==end-begin.
+
149  The ref count of s is increased by one.
+
150  Requires s initialized, begin <= end, begin <= s.length, and
+
151  end <= source->length. */
+
152 gpr_slice gpr_slice_sub(gpr_slice s, size_t begin, size_t end);
+
153 
+
154 /* The same as gpr_slice_sub, but without altering the ref count */
+
155 gpr_slice gpr_slice_sub_no_ref(gpr_slice s, size_t begin, size_t end);
+
156 
+
157 /* Splits s into two: modifies s to be s[0:split], and returns a new slice,
+
158  sharing a refcount with s, that contains s[split:s.length].
+
159  Requires s intialized, split <= s.length */
+
160 gpr_slice gpr_slice_split_tail(gpr_slice *s, size_t split);
+
161 
+
162 /* Splits s into two: modifies s to be s[split:s.length], and returns a new
+
163  slice, sharing a refcount with s, that contains s[0:split].
+
164  Requires s intialized, split <= s.length */
+
165 gpr_slice gpr_slice_split_head(gpr_slice *s, size_t split);
+
166 
+ +
168 
+
169 /* Returns <0 if a < b, ==0 if a == b, >0 if a > b
+
170  The order is arbitrary, and is not guaranteed to be stable across different
+
171  versions of the API. */
+ +
173 int gpr_slice_str_cmp(gpr_slice a, const char *b);
+
174 
+
175 #ifdef __cplusplus
+
176 }
+
177 #endif
+
178 
+
179 #endif /* GRPC_SUPPORT_SLICE_H */
+
gpr_slice gpr_slice_sub(gpr_slice s, size_t begin, size_t end)
Definition: slice.c:227
+
uint8_t gpr_uint8
Definition: port_platform.h:307
+
gpr_slice gpr_slice_new_with_len(void *p, size_t len, void(*destroy)(void *, size_t))
Definition: slice.c:120
+
gpr_slice gpr_slice_split_head(gpr_slice *s, size_t split)
Definition: slice.c:278
+
struct gpr_slice::@27::@28 refcounted
+
size_t length
Definition: slice.h:84
+
union gpr_slice::@27 data
+
gpr_uint8 * bytes
Definition: slice.h:83
+
gpr_slice gpr_slice_from_copied_string(const char *source)
Definition: slice.c:144
+
gpr_slice gpr_empty_slice(void)
Definition: slice.c:40
+
int gpr_slice_str_cmp(gpr_slice a, const char *b)
Definition: slice.c:322
+
struct gpr_slice::@27::@29 inlined
+
gpr_slice gpr_slice_from_copied_buffer(const char *source, size_t len)
Definition: slice.c:138
+
gpr_slice gpr_slice_ref(gpr_slice s)
Definition: slice.c:47
+
int gpr_slice_cmp(gpr_slice a, gpr_slice b)
Definition: slice.c:315
+
gpr_slice gpr_slice_new(void *p, size_t len, void(*destroy)(void *))
Definition: slice.c:82
+
void(* unref)(void *)
Definition: slice.h:65
+
void(* ref)(void *)
Definition: slice.h:64
+
struct gpr_slice_refcount * refcount
Definition: slice.h:80
+
gpr_slice gpr_slice_malloc(size_t length)
Definition: slice.c:165
+
gpr_slice gpr_slice_split_tail(gpr_slice *s, size_t split)
Definition: slice.c:243
+ +
#define GPR_SLICE_INLINED_SIZE
Definition: slice.h:68
+
void gpr_slice_unref(gpr_slice s)
Definition: slice.c:54
+
gpr_uint8 length
Definition: slice.h:87
+
Definition: slice.h:63
+
struct gpr_slice_refcount gpr_slice_refcount
+
struct gpr_slice gpr_slice
+
Definition: slice.h:79
+
gpr_slice gpr_slice_sub_no_ref(gpr_slice s, size_t begin, size_t end)
Definition: slice.c:202
+
+ + + + diff --git a/doc/ref/core.internal/html/slice__buffer_8c.html b/doc/ref/core.internal/html/slice__buffer_8c.html new file mode 100644 index 0000000000..06f13fd43f --- /dev/null +++ b/doc/ref/core.internal/html/slice__buffer_8c.html @@ -0,0 +1,380 @@ + + + + + + +GRPC Core: src/core/support/slice_buffer.c File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
slice_buffer.c File Reference
+
+
+
#include <grpc/support/slice_buffer.h>
+#include <string.h>
+#include <grpc/support/alloc.h>
+#include <grpc/support/log.h>
+#include <grpc/support/useful.h>
+
+ + + +

+Macros

#define GROW(x)   (3 * (x) / 2)
 
+ + + + + + + + + + + + + + + + + + + + + +

+Functions

void gpr_slice_buffer_init (gpr_slice_buffer *sb)
 
void gpr_slice_buffer_destroy (gpr_slice_buffer *sb)
 
gpr_uint8gpr_slice_buffer_tiny_add (gpr_slice_buffer *sb, unsigned n)
 
size_t gpr_slice_buffer_add_indexed (gpr_slice_buffer *sb, gpr_slice s)
 
void gpr_slice_buffer_add (gpr_slice_buffer *sb, gpr_slice s)
 
void gpr_slice_buffer_addn (gpr_slice_buffer *sb, gpr_slice *s, size_t n)
 
void gpr_slice_buffer_pop (gpr_slice_buffer *sb)
 
void gpr_slice_buffer_reset_and_unref (gpr_slice_buffer *sb)
 
void gpr_slice_buffer_swap (gpr_slice_buffer *a, gpr_slice_buffer *b)
 
void gpr_slice_buffer_move_into (gpr_slice_buffer *src, gpr_slice_buffer *dst)
 
+

Macro Definition Documentation

+ +
+
+ + + + + + + + +
#define GROW( x)   (3 * (x) / 2)
+
+ +
+
+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
void gpr_slice_buffer_add (gpr_slice_buffersb,
gpr_slice s 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
size_t gpr_slice_buffer_add_indexed (gpr_slice_buffersb,
gpr_slice s 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void gpr_slice_buffer_addn (gpr_slice_buffersb,
gpr_slices,
size_t n 
)
+
+ +
+
+ +
+
+ + + + + + + + +
void gpr_slice_buffer_destroy (gpr_slice_buffersb)
+
+ +
+
+ +
+
+ + + + + + + + +
void gpr_slice_buffer_init (gpr_slice_buffersb)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void gpr_slice_buffer_move_into (gpr_slice_buffersrc,
gpr_slice_bufferdst 
)
+
+ +
+
+ +
+
+ + + + + + + + +
void gpr_slice_buffer_pop (gpr_slice_buffersb)
+
+ +
+
+ +
+
+ + + + + + + + +
void gpr_slice_buffer_reset_and_unref (gpr_slice_buffersb)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void gpr_slice_buffer_swap (gpr_slice_buffera,
gpr_slice_bufferb 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
gpr_uint8* gpr_slice_buffer_tiny_add (gpr_slice_buffersb,
unsigned n 
)
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/slice__buffer_8h.html b/doc/ref/core.internal/html/slice__buffer_8h.html new file mode 100644 index 0000000000..bfb20d964a --- /dev/null +++ b/doc/ref/core.internal/html/slice__buffer_8h.html @@ -0,0 +1,380 @@ + + + + + + +GRPC Core: include/grpc/support/slice_buffer.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
slice_buffer.h File Reference
+
+
+ +

Go to the source code of this file.

+ + + + +

+Data Structures

struct  gpr_slice_buffer
 
+ + + +

+Macros

#define GRPC_SLICE_BUFFER_INLINE_ELEMENTS   8
 
+ + + + + + + + + + + + + + + + + + + + + +

+Functions

void gpr_slice_buffer_init (gpr_slice_buffer *sb)
 
void gpr_slice_buffer_destroy (gpr_slice_buffer *sb)
 
void gpr_slice_buffer_add (gpr_slice_buffer *sb, gpr_slice slice)
 
size_t gpr_slice_buffer_add_indexed (gpr_slice_buffer *sb, gpr_slice slice)
 
void gpr_slice_buffer_addn (gpr_slice_buffer *sb, gpr_slice *slices, size_t n)
 
gpr_uint8gpr_slice_buffer_tiny_add (gpr_slice_buffer *sb, unsigned len)
 
void gpr_slice_buffer_pop (gpr_slice_buffer *sb)
 
void gpr_slice_buffer_reset_and_unref (gpr_slice_buffer *sb)
 
void gpr_slice_buffer_swap (gpr_slice_buffer *a, gpr_slice_buffer *b)
 
void gpr_slice_buffer_move_into (gpr_slice_buffer *src, gpr_slice_buffer *dst)
 
+

Macro Definition Documentation

+ +
+
+ + + + +
#define GRPC_SLICE_BUFFER_INLINE_ELEMENTS   8
+
+ +
+
+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
void gpr_slice_buffer_add (gpr_slice_buffersb,
gpr_slice slice 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
size_t gpr_slice_buffer_add_indexed (gpr_slice_buffersb,
gpr_slice slice 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void gpr_slice_buffer_addn (gpr_slice_buffersb,
gpr_sliceslices,
size_t n 
)
+
+ +
+
+ +
+
+ + + + + + + + +
void gpr_slice_buffer_destroy (gpr_slice_buffersb)
+
+ +
+
+ +
+
+ + + + + + + + +
void gpr_slice_buffer_init (gpr_slice_buffersb)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void gpr_slice_buffer_move_into (gpr_slice_buffersrc,
gpr_slice_bufferdst 
)
+
+ +
+
+ +
+
+ + + + + + + + +
void gpr_slice_buffer_pop (gpr_slice_buffersb)
+
+ +
+
+ +
+
+ + + + + + + + +
void gpr_slice_buffer_reset_and_unref (gpr_slice_buffersb)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void gpr_slice_buffer_swap (gpr_slice_buffera,
gpr_slice_bufferb 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
gpr_uint8* gpr_slice_buffer_tiny_add (gpr_slice_buffersb,
unsigned len 
)
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/slice__buffer_8h_source.html b/doc/ref/core.internal/html/slice__buffer_8h_source.html new file mode 100644 index 0000000000..11ed8c84fd --- /dev/null +++ b/doc/ref/core.internal/html/slice__buffer_8h_source.html @@ -0,0 +1,212 @@ + + + + + + +GRPC Core: include/grpc/support/slice_buffer.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
slice_buffer.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPC_SUPPORT_SLICE_BUFFER_H
+
35 #define GRPC_SUPPORT_SLICE_BUFFER_H
+
36 
+
37 #include <grpc/support/slice.h>
+
38 
+
39 #ifdef __cplusplus
+
40 extern "C" {
+
41 #endif
+
42 
+
43 #define GRPC_SLICE_BUFFER_INLINE_ELEMENTS 8
+
44 
+
45 /* Represents an expandable array of slices, to be interpreted as a single item
+
46  TODO(ctiller): inline some small number of elements into the struct, to
+
47  avoid per-call allocations */
+
48 typedef struct {
+
49  /* slices in the array */
+ +
51  /* the number of slices in the array */
+
52  size_t count;
+
53  /* the number of slices allocated in the array */
+
54  size_t capacity;
+
55  /* the combined length of all slices in the array */
+
56  size_t length;
+
57  /* inlined elements to avoid allocations */
+ + +
60 
+
61 /* initialize a slice buffer */
+ +
63 /* destroy a slice buffer - unrefs any held elements */
+ +
65 /* Add an element to a slice buffer - takes ownership of the slice.
+
66  This function is allowed to concatenate the passed in slice to the end of
+
67  some other slice if desired by the slice buffer. */
+ +
69 /* add an element to a slice buffer - takes ownership of the slice and returns
+
70  the index of the slice.
+
71  Guarantees that the slice will not be concatenated at the end of another
+
72  slice (i.e. the data for this slice will begin at the first byte of the
+
73  slice at the returned index in sb->slices)
+
74  The implementation MAY decide to concatenate data at the end of a small
+
75  slice added in this fashion. */
+ +
77 void gpr_slice_buffer_addn(gpr_slice_buffer *sb, gpr_slice *slices, size_t n);
+
78 /* add a very small (less than 8 bytes) amount of data to the end of a slice
+
79  buffer: returns a pointer into which to add the data */
+ +
81 /* pop the last buffer, but don't unref it */
+ +
83 /* clear a slice buffer, unref all elements */
+ +
85 /* swap the contents of two slice buffers */
+ +
87 /* move all of the elements of src into dst */
+ +
89 
+
90 #ifdef __cplusplus
+
91 }
+
92 #endif
+
93 
+
94 #endif /* GRPC_SUPPORT_SLICE_BUFFER_H */
+
gpr_uint8 * gpr_slice_buffer_tiny_add(gpr_slice_buffer *sb, unsigned len)
Definition: slice_buffer.c:72
+
gpr_slice * slices
Definition: slice_buffer.h:50
+
uint8_t gpr_uint8
Definition: port_platform.h:307
+
size_t gpr_slice_buffer_add_indexed(gpr_slice_buffer *sb, gpr_slice slice)
Definition: slice_buffer.c:96
+
size_t length
Definition: slice_buffer.h:56
+
size_t capacity
Definition: slice_buffer.h:54
+
void gpr_slice_buffer_reset_and_unref(gpr_slice_buffer *sb)
Definition: slice_buffer.c:154
+
void gpr_slice_buffer_init(gpr_slice_buffer *sb)
Definition: slice_buffer.c:58
+
void gpr_slice_buffer_pop(gpr_slice_buffer *sb)
Definition: slice_buffer.c:147
+
void gpr_slice_buffer_add(gpr_slice_buffer *sb, gpr_slice slice)
Definition: slice_buffer.c:105
+
Definition: slice_buffer.h:48
+
size_t count
Definition: slice_buffer.h:52
+
void gpr_slice_buffer_destroy(gpr_slice_buffer *sb)
Definition: slice_buffer.c:65
+
void gpr_slice_buffer_swap(gpr_slice_buffer *a, gpr_slice_buffer *b)
Definition: slice_buffer.c:165
+
void gpr_slice_buffer_addn(gpr_slice_buffer *sb, gpr_slice *slices, size_t n)
Definition: slice_buffer.c:140
+
void gpr_slice_buffer_move_into(gpr_slice_buffer *src, gpr_slice_buffer *dst)
Definition: slice_buffer.c:194
+
#define GRPC_SLICE_BUFFER_INLINE_ELEMENTS
Definition: slice_buffer.h:43
+ +
Definition: slice.h:79
+
+ + + + diff --git a/doc/ref/core.internal/html/sockaddr_8h.html b/doc/ref/core.internal/html/sockaddr_8h.html new file mode 100644 index 0000000000..c1b5978048 --- /dev/null +++ b/doc/ref/core.internal/html/sockaddr_8h.html @@ -0,0 +1,102 @@ + + + + + + +GRPC Core: src/core/iomgr/sockaddr.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
sockaddr.h File Reference
+
+ + + + + diff --git a/doc/ref/core.internal/html/sockaddr_8h_source.html b/doc/ref/core.internal/html/sockaddr_8h_source.html new file mode 100644 index 0000000000..8cf5366998 --- /dev/null +++ b/doc/ref/core.internal/html/sockaddr_8h_source.html @@ -0,0 +1,149 @@ + + + + + + +GRPC Core: src/core/iomgr/sockaddr.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
sockaddr.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPC_INTERNAL_CORE_IOMGR_SOCKADDR_H
+
35 #define GRPC_INTERNAL_CORE_IOMGR_SOCKADDR_H
+
36 
+ +
38 
+
39 #ifdef GPR_WIN32
+ +
41 #endif
+
42 
+
43 #ifdef GPR_POSIX_SOCKETADDR
+ +
45 #endif
+
46 
+
47 #endif /* GRPC_INTERNAL_CORE_IOMGR_SOCKADDR_H */
+ + + +
+ + + + diff --git a/doc/ref/core.internal/html/sockaddr__posix_8h.html b/doc/ref/core.internal/html/sockaddr__posix_8h.html new file mode 100644 index 0000000000..e5373da98b --- /dev/null +++ b/doc/ref/core.internal/html/sockaddr__posix_8h.html @@ -0,0 +1,107 @@ + + + + + + +GRPC Core: src/core/iomgr/sockaddr_posix.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
sockaddr_posix.h File Reference
+
+
+
#include <arpa/inet.h>
+#include <sys/socket.h>
+#include <sys/types.h>
+#include <netinet/in.h>
+#include <netdb.h>
+#include <unistd.h>
+
+

Go to the source code of this file.

+
+ + + + diff --git a/doc/ref/core.internal/html/sockaddr__posix_8h_source.html b/doc/ref/core.internal/html/sockaddr__posix_8h_source.html new file mode 100644 index 0000000000..5963d6e009 --- /dev/null +++ b/doc/ref/core.internal/html/sockaddr__posix_8h_source.html @@ -0,0 +1,143 @@ + + + + + + +GRPC Core: src/core/iomgr/sockaddr_posix.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
sockaddr_posix.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPC_INTERNAL_CORE_IOMGR_SOCKADDR_POSIX_H
+
35 #define GRPC_INTERNAL_CORE_IOMGR_SOCKADDR_POSIX_H
+
36 
+
37 #include <arpa/inet.h>
+
38 #include <sys/socket.h>
+
39 #include <sys/types.h>
+
40 #include <netinet/in.h>
+
41 #include <netdb.h>
+
42 #include <unistd.h>
+
43 
+
44 #endif /* GRPC_INTERNAL_CORE_IOMGR_SOCKADDR_POSIX_H */
+
+ + + + diff --git a/doc/ref/core.internal/html/sockaddr__resolver_8c.html b/doc/ref/core.internal/html/sockaddr__resolver_8c.html new file mode 100644 index 0000000000..4970f23c34 --- /dev/null +++ b/doc/ref/core.internal/html/sockaddr__resolver_8c.html @@ -0,0 +1,202 @@ + + + + + + +GRPC Core: src/core/client_config/resolvers/sockaddr_resolver.c File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
sockaddr_resolver.c File Reference
+
+
+ + + + +

+Data Structures

struct  sockaddr_resolver
 
+ + + +

+Macros

#define DECL_FACTORY(name)
 
+ + + + + +

+Functions

grpc_resolver_factorygrpc_ipv4_resolver_factory_create ()
 
grpc_resolver_factorygrpc_ipv6_resolver_factory_create ()
 
+

Macro Definition Documentation

+ +
+
+ + + + + + + + +
#define DECL_FACTORY( name)
+
+Value:
static grpc_resolver *name##_factory_create_resolver( \
+
grpc_resolver_factory *factory, grpc_uri *uri, \
+ +
return sockaddr_create(uri, grpc_create_pick_first_lb_policy, \
+
subchannel_factory, parse_##name); \
+
} \
+
static const grpc_resolver_factory_vtable name##_factory_vtable = { \
+
sockaddr_factory_ref, sockaddr_factory_unref, \
+
name##_factory_create_resolver}; \
+
static grpc_resolver_factory name##_resolver_factory = { \
+
&name##_factory_vtable}; \
+
grpc_resolver_factory *grpc_##name##_resolver_factory_create() { \
+
return &name##_resolver_factory; \
+
}
+
Definition: resolver_factory.h:50
+
grpc_resolver provides grpc_client_config objects to grpc_channel objects
Definition: resolver.h:46
+
Definition: secure_channel_create.c:131
+
grpc_resolver provides grpc_client_config objects to grpc_channel objects
Definition: resolver_factory.h:46
+
grpc_lb_policy * grpc_create_pick_first_lb_policy(grpc_subchannel **subchannels, size_t num_subchannels)
Returns a load balancing policy instance that picks up the first subchannel from subchannels to succe...
Definition: pick_first.c:317
+
Definition: uri_parser.h:37
+
struct grpc_resolver_factory grpc_resolver_factory
Definition: resolver_factory.h:41
+
Constructor for new configured channels.
Definition: subchannel_factory.h:45
+
+
+
+

Function Documentation

+ +
+
+ + + + + + + + +
grpc_resolver_factory* grpc_ipv4_resolver_factory_create (void )
+
+ +
+
+ +
+
+ + + + + + + + +
grpc_resolver_factory* grpc_ipv6_resolver_factory_create (void )
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/sockaddr__resolver_8h.html b/doc/ref/core.internal/html/sockaddr__resolver_8h.html new file mode 100644 index 0000000000..06033340f8 --- /dev/null +++ b/doc/ref/core.internal/html/sockaddr__resolver_8h.html @@ -0,0 +1,146 @@ + + + + + + +GRPC Core: src/core/client_config/resolvers/sockaddr_resolver.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
sockaddr_resolver.h File Reference
+
+
+ +

Go to the source code of this file.

+ + + + + + +

+Functions

grpc_resolver_factorygrpc_ipv4_resolver_factory_create (void)
 
grpc_resolver_factorygrpc_ipv6_resolver_factory_create (void)
 
+

Function Documentation

+ +
+
+ + + + + + + + +
grpc_resolver_factory* grpc_ipv4_resolver_factory_create (void )
+
+ +
+
+ +
+
+ + + + + + + + +
grpc_resolver_factory* grpc_ipv6_resolver_factory_create (void )
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/sockaddr__resolver_8h_source.html b/doc/ref/core.internal/html/sockaddr__resolver_8h_source.html new file mode 100644 index 0000000000..114472f6c2 --- /dev/null +++ b/doc/ref/core.internal/html/sockaddr__resolver_8h_source.html @@ -0,0 +1,154 @@ + + + + + + +GRPC Core: src/core/client_config/resolvers/sockaddr_resolver.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
sockaddr_resolver.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPC_INTERNAL_CORE_CLIENT_CONFIG_RESOLVERS_UNIX_RESOLVER_H
+
35 #define GRPC_INTERNAL_CORE_CLIENT_CONFIG_RESOLVERS_UNIX_RESOLVER_H
+
36 
+ +
38 
+ +
40 
+ +
42 
+ +
44 
+
45 #ifdef GPR_POSIX_SOCKET
+
46 
+
47 grpc_resolver_factory *grpc_unix_resolver_factory_create(void);
+
48 #endif
+
49 
+
50 #endif /* GRPC_INTERNAL_CORE_CLIENT_CONFIG_RESOLVERS_UNIX_RESOLVER_H */
+
grpc_resolver_factory * grpc_ipv6_resolver_factory_create(void)
Definition: sockaddr_resolver.c:299
+ + +
grpc_resolver provides grpc_client_config objects to grpc_channel objects
Definition: resolver_factory.h:46
+
grpc_resolver_factory * grpc_ipv4_resolver_factory_create(void)
Definition: sockaddr_resolver.c:298
+
+ + + + diff --git a/doc/ref/core.internal/html/sockaddr__utils_8c.html b/doc/ref/core.internal/html/sockaddr__utils_8c.html new file mode 100644 index 0000000000..e251a199d7 --- /dev/null +++ b/doc/ref/core.internal/html/sockaddr__utils_8c.html @@ -0,0 +1,386 @@ + + + + + + +GRPC Core: src/core/iomgr/sockaddr_utils.c File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
sockaddr_utils.c File Reference
+
+
+
#include "src/core/iomgr/sockaddr_utils.h"
+#include <errno.h>
+#include <string.h>
+#include <grpc/support/alloc.h>
+#include <grpc/support/host_port.h>
+#include <grpc/support/log.h>
+#include <grpc/support/port_platform.h>
+#include <grpc/support/string_util.h>
+
+ + + + + + + + + + + + + + + + + + + + + +

+Functions

int grpc_sockaddr_is_v4mapped (const struct sockaddr *addr, struct sockaddr_in *addr4_out)
 
int grpc_sockaddr_to_v4mapped (const struct sockaddr *addr, struct sockaddr_in6 *addr6_out)
 
int grpc_sockaddr_is_wildcard (const struct sockaddr *addr, int *port_out)
 
void grpc_sockaddr_make_wildcards (int port, struct sockaddr_in *wild4_out, struct sockaddr_in6 *wild6_out)
 
void grpc_sockaddr_make_wildcard4 (int port, struct sockaddr_in *wild_out)
 
void grpc_sockaddr_make_wildcard6 (int port, struct sockaddr_in6 *wild_out)
 
int grpc_sockaddr_to_string (char **out, const struct sockaddr *addr, int normalize)
 
char * grpc_sockaddr_to_uri (const struct sockaddr *addr)
 
int grpc_sockaddr_get_port (const struct sockaddr *addr)
 
int grpc_sockaddr_set_port (const struct sockaddr *addr, int port)
 
+

Function Documentation

+ +
+
+ + + + + + + + +
int grpc_sockaddr_get_port (const struct sockaddr * addr)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
int grpc_sockaddr_is_v4mapped (const struct sockaddr * addr,
struct sockaddr_in * addr4_out 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
int grpc_sockaddr_is_wildcard (const struct sockaddr * addr,
int * port_out 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void grpc_sockaddr_make_wildcard4 (int port,
struct sockaddr_in * wild_out 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void grpc_sockaddr_make_wildcard6 (int port,
struct sockaddr_in6 * wild_out 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void grpc_sockaddr_make_wildcards (int port,
struct sockaddr_in * wild4_out,
struct sockaddr_in6 * wild6_out 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
int grpc_sockaddr_set_port (const struct sockaddr * addr,
int port 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
int grpc_sockaddr_to_string (char ** out,
const struct sockaddr * addr,
int normalize 
)
+
+ +
+
+ +
+
+ + + + + + + + +
char* grpc_sockaddr_to_uri (const struct sockaddr * addr)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
int grpc_sockaddr_to_v4mapped (const struct sockaddr * addr,
struct sockaddr_in6 * addr6_out 
)
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/sockaddr__utils_8h.html b/doc/ref/core.internal/html/sockaddr__utils_8h.html new file mode 100644 index 0000000000..f346dbde7a --- /dev/null +++ b/doc/ref/core.internal/html/sockaddr__utils_8h.html @@ -0,0 +1,381 @@ + + + + + + +GRPC Core: src/core/iomgr/sockaddr_utils.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
sockaddr_utils.h File Reference
+
+
+ +

Go to the source code of this file.

+ + + + + + + + + + + + + + + + + + + + + + +

+Functions

int grpc_sockaddr_is_v4mapped (const struct sockaddr *addr, struct sockaddr_in *addr4_out)
 
int grpc_sockaddr_to_v4mapped (const struct sockaddr *addr, struct sockaddr_in6 *addr6_out)
 
int grpc_sockaddr_is_wildcard (const struct sockaddr *addr, int *port_out)
 
void grpc_sockaddr_make_wildcards (int port, struct sockaddr_in *wild4_out, struct sockaddr_in6 *wild6_out)
 
void grpc_sockaddr_make_wildcard4 (int port, struct sockaddr_in *wild_out)
 
void grpc_sockaddr_make_wildcard6 (int port, struct sockaddr_in6 *wild_out)
 
int grpc_sockaddr_get_port (const struct sockaddr *addr)
 
int grpc_sockaddr_set_port (const struct sockaddr *addr, int port)
 
int grpc_sockaddr_to_string (char **out, const struct sockaddr *addr, int normalize)
 
char * grpc_sockaddr_to_uri (const struct sockaddr *addr)
 
+

Function Documentation

+ +
+
+ + + + + + + + +
int grpc_sockaddr_get_port (const struct sockaddr * addr)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
int grpc_sockaddr_is_v4mapped (const struct sockaddr * addr,
struct sockaddr_in * addr4_out 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
int grpc_sockaddr_is_wildcard (const struct sockaddr * addr,
int * port_out 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void grpc_sockaddr_make_wildcard4 (int port,
struct sockaddr_in * wild_out 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void grpc_sockaddr_make_wildcard6 (int port,
struct sockaddr_in6 * wild_out 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void grpc_sockaddr_make_wildcards (int port,
struct sockaddr_in * wild4_out,
struct sockaddr_in6 * wild6_out 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
int grpc_sockaddr_set_port (const struct sockaddr * addr,
int port 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
int grpc_sockaddr_to_string (char ** out,
const struct sockaddr * addr,
int normalize 
)
+
+ +
+
+ +
+
+ + + + + + + + +
char* grpc_sockaddr_to_uri (const struct sockaddr * addr)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
int grpc_sockaddr_to_v4mapped (const struct sockaddr * addr,
struct sockaddr_in6 * addr6_out 
)
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/sockaddr__utils_8h_source.html b/doc/ref/core.internal/html/sockaddr__utils_8h_source.html new file mode 100644 index 0000000000..ed7ed09b35 --- /dev/null +++ b/doc/ref/core.internal/html/sockaddr__utils_8h_source.html @@ -0,0 +1,199 @@ + + + + + + +GRPC Core: src/core/iomgr/sockaddr_utils.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
sockaddr_utils.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPC_INTERNAL_CORE_IOMGR_SOCKADDR_UTILS_H
+
35 #define GRPC_INTERNAL_CORE_IOMGR_SOCKADDR_UTILS_H
+
36 
+ +
38 
+
39 /* Returns true if addr is an IPv4-mapped IPv6 address within the
+
40  ::ffff:0.0.0.0/96 range, or false otherwise.
+
41 
+
42  If addr4_out is non-NULL, the inner IPv4 address will be copied here when
+
43  returning true. */
+
44 int grpc_sockaddr_is_v4mapped(const struct sockaddr *addr,
+
45  struct sockaddr_in *addr4_out);
+
46 
+
47 /* If addr is an AF_INET address, writes the corresponding ::ffff:0.0.0.0/96
+
48  address to addr6_out and returns true. Otherwise returns false. */
+
49 int grpc_sockaddr_to_v4mapped(const struct sockaddr *addr,
+
50  struct sockaddr_in6 *addr6_out);
+
51 
+
52 /* If addr is ::, 0.0.0.0, or ::ffff:0.0.0.0, writes the port number to
+
53  *port_out (if not NULL) and returns true, otherwise returns false. */
+
54 int grpc_sockaddr_is_wildcard(const struct sockaddr *addr, int *port_out);
+
55 
+
56 /* Writes 0.0.0.0:port and [::]:port to separate sockaddrs. */
+
57 void grpc_sockaddr_make_wildcards(int port, struct sockaddr_in *wild4_out,
+
58  struct sockaddr_in6 *wild6_out);
+
59 
+
60 /* Writes 0.0.0.0:port. */
+
61 void grpc_sockaddr_make_wildcard4(int port, struct sockaddr_in *wild_out);
+
62 
+
63 /* Writes [::]:port. */
+
64 void grpc_sockaddr_make_wildcard6(int port, struct sockaddr_in6 *wild_out);
+
65 
+
66 /* Return the IP port number of a sockaddr */
+
67 int grpc_sockaddr_get_port(const struct sockaddr *addr);
+
68 
+
69 /* Set IP port number of a sockaddr */
+
70 int grpc_sockaddr_set_port(const struct sockaddr *addr, int port);
+
71 
+
72 /* Converts a sockaddr into a newly-allocated human-readable string.
+
73 
+
74  Currently, only the AF_INET and AF_INET6 families are recognized.
+
75  If the normalize flag is enabled, ::ffff:0.0.0.0/96 IPv6 addresses are
+
76  displayed as plain IPv4.
+
77 
+
78  Usage is similar to gpr_asprintf: returns the number of bytes written
+
79  (excluding the final '\0'), and *out points to a string which must later be
+
80  destroyed using gpr_free().
+
81 
+
82  In the unlikely event of an error, returns -1 and sets *out to NULL.
+
83  The existing value of errno is always preserved. */
+
84 int grpc_sockaddr_to_string(char **out, const struct sockaddr *addr,
+
85  int normalize);
+
86 
+
87 char *grpc_sockaddr_to_uri(const struct sockaddr *addr);
+
88 
+
89 #endif /* GRPC_INTERNAL_CORE_IOMGR_SOCKADDR_UTILS_H */
+ +
void grpc_sockaddr_make_wildcards(int port, struct sockaddr_in *wild4_out, struct sockaddr_in6 *wild6_out)
Definition: sockaddr_utils.c:119
+
void grpc_sockaddr_make_wildcard6(int port, struct sockaddr_in6 *wild_out)
Definition: sockaddr_utils.c:131
+
int grpc_sockaddr_get_port(const struct sockaddr *addr)
Definition: sockaddr_utils.c:200
+
int grpc_sockaddr_is_wildcard(const struct sockaddr *addr, int *port_out)
Definition: sockaddr_utils.c:90
+
char * grpc_sockaddr_to_uri(const struct sockaddr *addr)
Definition: sockaddr_utils.c:170
+
int grpc_sockaddr_to_string(char **out, const struct sockaddr *addr, int normalize)
Definition: sockaddr_utils.c:137
+
int grpc_sockaddr_set_port(const struct sockaddr *addr, int port)
Definition: sockaddr_utils.c:214
+
int grpc_sockaddr_is_v4mapped(const struct sockaddr *addr, struct sockaddr_in *addr4_out)
Definition: sockaddr_utils.c:54
+
void grpc_sockaddr_make_wildcard4(int port, struct sockaddr_in *wild_out)
Definition: sockaddr_utils.c:125
+
int grpc_sockaddr_to_v4mapped(const struct sockaddr *addr, struct sockaddr_in6 *addr6_out)
Definition: sockaddr_utils.c:75
+
+ + + + diff --git a/doc/ref/core.internal/html/sockaddr__win32_8h.html b/doc/ref/core.internal/html/sockaddr__win32_8h.html new file mode 100644 index 0000000000..d20b1c7e01 --- /dev/null +++ b/doc/ref/core.internal/html/sockaddr__win32_8h.html @@ -0,0 +1,104 @@ + + + + + + +GRPC Core: src/core/iomgr/sockaddr_win32.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
sockaddr_win32.h File Reference
+
+
+
#include <winsock2.h>
+#include <ws2tcpip.h>
+#include <mswsock.h>
+
+

Go to the source code of this file.

+
+ + + + diff --git a/doc/ref/core.internal/html/sockaddr__win32_8h_source.html b/doc/ref/core.internal/html/sockaddr__win32_8h_source.html new file mode 100644 index 0000000000..6622b0e2ed --- /dev/null +++ b/doc/ref/core.internal/html/sockaddr__win32_8h_source.html @@ -0,0 +1,145 @@ + + + + + + +GRPC Core: src/core/iomgr/sockaddr_win32.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
sockaddr_win32.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPC_INTERNAL_CORE_IOMGR_SOCKADDR_WIN32_H
+
35 #define GRPC_INTERNAL_CORE_IOMGR_SOCKADDR_WIN32_H
+
36 
+
37 #include <winsock2.h>
+
38 #include <ws2tcpip.h>
+
39 #include <mswsock.h>
+
40 
+
41 #ifdef __MINGW32__
+
42 /* mingw seems to be missing that definition. */
+
43 const char *inet_ntop(int af, const void *src, char *dst, socklen_t size);
+
44 #endif
+
45 
+
46 #endif /* GRPC_INTERNAL_CORE_IOMGR_SOCKADDR_WIN32_H */
+
+ + + + diff --git a/doc/ref/core.internal/html/socket__utils__common__posix_8c.html b/doc/ref/core.internal/html/socket__utils__common__posix_8c.html new file mode 100644 index 0000000000..cbb1651662 --- /dev/null +++ b/doc/ref/core.internal/html/socket__utils__common__posix_8c.html @@ -0,0 +1,100 @@ + + + + + + +GRPC Core: src/core/iomgr/socket_utils_common_posix.c File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
socket_utils_common_posix.c File Reference
+
+ + + + + diff --git a/doc/ref/core.internal/html/socket__utils__linux_8c.html b/doc/ref/core.internal/html/socket__utils__linux_8c.html new file mode 100644 index 0000000000..6219fc69c4 --- /dev/null +++ b/doc/ref/core.internal/html/socket__utils__linux_8c.html @@ -0,0 +1,100 @@ + + + + + + +GRPC Core: src/core/iomgr/socket_utils_linux.c File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
socket_utils_linux.c File Reference
+
+ + + + + diff --git a/doc/ref/core.internal/html/socket__utils__posix_8c.html b/doc/ref/core.internal/html/socket__utils__posix_8c.html new file mode 100644 index 0000000000..b277e2da85 --- /dev/null +++ b/doc/ref/core.internal/html/socket__utils__posix_8c.html @@ -0,0 +1,100 @@ + + + + + + +GRPC Core: src/core/iomgr/socket_utils_posix.c File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
socket_utils_posix.c File Reference
+
+ + + + + diff --git a/doc/ref/core.internal/html/socket__utils__posix_8h.html b/doc/ref/core.internal/html/socket__utils__posix_8h.html new file mode 100644 index 0000000000..88e099bd7d --- /dev/null +++ b/doc/ref/core.internal/html/socket__utils__posix_8h.html @@ -0,0 +1,415 @@ + + + + + + +GRPC Core: src/core/iomgr/socket_utils_posix.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
socket_utils_posix.h File Reference
+
+
+
#include <unistd.h>
+#include <sys/socket.h>
+
+

Go to the source code of this file.

+ + + + +

+Typedefs

typedef enum grpc_dualstack_mode grpc_dualstack_mode
 
+ + + +

+Enumerations

enum  grpc_dualstack_mode { GRPC_DSMODE_NONE, +GRPC_DSMODE_IPV4, +GRPC_DSMODE_IPV6, +GRPC_DSMODE_DUALSTACK + }
 
+ + + + + + + + + + + + + + + + + +

+Functions

int grpc_accept4 (int sockfd, struct sockaddr *addr, socklen_t *addrlen, int nonblock, int cloexec)
 
int grpc_set_socket_nonblocking (int fd, int non_blocking)
 
int grpc_set_socket_cloexec (int fd, int close_on_exec)
 
int grpc_set_socket_reuse_addr (int fd, int reuse)
 
int grpc_set_socket_low_latency (int fd, int low_latency)
 
int grpc_ipv6_loopback_available (void)
 
int grpc_set_socket_no_sigpipe_if_possible (int fd)
 
int grpc_create_dualstack_socket (const struct sockaddr *addr, int type, int protocol, grpc_dualstack_mode *dsmode)
 
+ + + +

+Variables

int grpc_forbid_dualstack_sockets_for_testing
 
+

Typedef Documentation

+ +
+
+ + + + +
typedef enum grpc_dualstack_mode grpc_dualstack_mode
+
+ +
+
+

Enumeration Type Documentation

+ +
+
+ + + + +
enum grpc_dualstack_mode
+
+ + + + + +
Enumerator
GRPC_DSMODE_NONE  +
GRPC_DSMODE_IPV4  +
GRPC_DSMODE_IPV6  +
GRPC_DSMODE_DUALSTACK  +
+ +
+
+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
int grpc_accept4 (int sockfd,
struct sockaddr * addr,
socklen_t * addrlen,
int nonblock,
int cloexec 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
int grpc_create_dualstack_socket (const struct sockaddr * addr,
int type,
int protocol,
grpc_dualstack_modedsmode 
)
+
+ +
+
+ +
+
+ + + + + + + + +
int grpc_ipv6_loopback_available (void )
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
int grpc_set_socket_cloexec (int fd,
int close_on_exec 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
int grpc_set_socket_low_latency (int fd,
int low_latency 
)
+
+ +
+
+ +
+
+ + + + + + + + +
int grpc_set_socket_no_sigpipe_if_possible (int fd)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
int grpc_set_socket_nonblocking (int fd,
int non_blocking 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
int grpc_set_socket_reuse_addr (int fd,
int reuse 
)
+
+ +
+
+

Variable Documentation

+ +
+
+ + + + +
int grpc_forbid_dualstack_sockets_for_testing
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/socket__utils__posix_8h_source.html b/doc/ref/core.internal/html/socket__utils__posix_8h_source.html new file mode 100644 index 0000000000..262b19c24c --- /dev/null +++ b/doc/ref/core.internal/html/socket__utils__posix_8h_source.html @@ -0,0 +1,226 @@ + + + + + + +GRPC Core: src/core/iomgr/socket_utils_posix.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
socket_utils_posix.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPC_INTERNAL_CORE_IOMGR_SOCKET_UTILS_POSIX_H
+
35 #define GRPC_INTERNAL_CORE_IOMGR_SOCKET_UTILS_POSIX_H
+
36 
+
37 #include <unistd.h>
+
38 #include <sys/socket.h>
+
39 
+
40 /* a wrapper for accept or accept4 */
+
41 int grpc_accept4(int sockfd, struct sockaddr *addr, socklen_t *addrlen,
+
42  int nonblock, int cloexec);
+
43 
+
44 /* set a socket to non blocking mode */
+
45 int grpc_set_socket_nonblocking(int fd, int non_blocking);
+
46 
+
47 /* set a socket to close on exec */
+
48 int grpc_set_socket_cloexec(int fd, int close_on_exec);
+
49 
+
50 /* set a socket to reuse old addresses */
+
51 int grpc_set_socket_reuse_addr(int fd, int reuse);
+
52 
+
53 /* disable nagle */
+
54 int grpc_set_socket_low_latency(int fd, int low_latency);
+
55 
+
56 /* Returns true if this system can create AF_INET6 sockets bound to ::1.
+
57  The value is probed once, and cached for the life of the process.
+
58 
+
59  This is more restrictive than checking for socket(AF_INET6) to succeed,
+
60  because Linux with "net.ipv6.conf.all.disable_ipv6 = 1" is able to create
+
61  and bind IPv6 sockets, but cannot connect to a getsockname() of [::]:port
+
62  without a valid loopback interface. Rather than expose this half-broken
+
63  state to library users, we turn off IPv6 sockets. */
+ +
65 
+
66 /* Tries to set SO_NOSIGPIPE if available on this platform.
+
67  Returns 1 on success, 0 on failure.
+
68  If SO_NO_SIGPIPE is not available, returns 1. */
+ +
70 
+
71 /* An enum to keep track of IPv4/IPv6 socket modes.
+
72 
+
73  Currently, this information is only used when a socket is first created, but
+
74  in the future we may wish to store it alongside the fd. This would let calls
+
75  like sendto() know which family to use without asking the kernel first. */
+
76 typedef enum grpc_dualstack_mode {
+
77  /* Uninitialized, or a non-IP socket. */
+ +
79  /* AF_INET only. */
+ +
81  /* AF_INET6 only, because IPV6_V6ONLY could not be cleared. */
+ +
83  /* AF_INET6, which also supports ::ffff-mapped IPv4 addresses. */
+ + +
86 
+
87 /* Only tests should use this flag. */
+ +
89 
+
90 /* Creates a new socket for connecting to (or listening on) an address.
+
91 
+
92  If addr is AF_INET6, this creates an IPv6 socket first. If that fails,
+
93  and addr is within ::ffff:0.0.0.0/96, then it automatically falls back to
+
94  an IPv4 socket.
+
95 
+
96  If addr is AF_INET, AF_UNIX, or anything else, then this is similar to
+
97  calling socket() directly.
+
98 
+
99  Returns an fd on success, otherwise returns -1 with errno set to the result
+
100  of a failed socket() call.
+
101 
+
102  The *dsmode output indicates which address family was actually created.
+
103  The recommended way to use this is:
+
104  - First convert to IPv6 using grpc_sockaddr_to_v4mapped().
+
105  - Create the socket.
+
106  - If *dsmode is IPV4, use grpc_sockaddr_is_v4mapped() to convert back to
+
107  IPv4, so that bind() or connect() see the correct family.
+
108  Also, it's important to distinguish between DUALSTACK and IPV6 when
+
109  listening on the [::] wildcard address. */
+
110 int grpc_create_dualstack_socket(const struct sockaddr *addr, int type,
+
111  int protocol, grpc_dualstack_mode *dsmode);
+
112 
+
113 #endif /* GRPC_INTERNAL_CORE_IOMGR_SOCKET_UTILS_POSIX_H */
+
int grpc_accept4(int sockfd, struct sockaddr *addr, socklen_t *addrlen, int nonblock, int cloexec)
+
grpc_dualstack_mode
Definition: socket_utils_posix.h:76
+
int grpc_set_socket_reuse_addr(int fd, int reuse)
+
int grpc_ipv6_loopback_available(void)
+
Definition: socket_utils_posix.h:82
+
int grpc_set_socket_low_latency(int fd, int low_latency)
+
int grpc_set_socket_cloexec(int fd, int close_on_exec)
+
int grpc_forbid_dualstack_sockets_for_testing
+
Definition: socket_utils_posix.h:80
+
int grpc_set_socket_no_sigpipe_if_possible(int fd)
+
int grpc_set_socket_nonblocking(int fd, int non_blocking)
+
Definition: socket_utils_posix.h:84
+
Definition: socket_utils_posix.h:78
+
int grpc_create_dualstack_socket(const struct sockaddr *addr, int type, int protocol, grpc_dualstack_mode *dsmode)
+
+ + + + diff --git a/doc/ref/core.internal/html/socket__windows_8c.html b/doc/ref/core.internal/html/socket__windows_8c.html new file mode 100644 index 0000000000..586db57f89 --- /dev/null +++ b/doc/ref/core.internal/html/socket__windows_8c.html @@ -0,0 +1,100 @@ + + + + + + +GRPC Core: src/core/iomgr/socket_windows.c File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
socket_windows.c File Reference
+
+ + + + + diff --git a/doc/ref/core.internal/html/socket__windows_8h.html b/doc/ref/core.internal/html/socket__windows_8h.html new file mode 100644 index 0000000000..edc0d02701 --- /dev/null +++ b/doc/ref/core.internal/html/socket__windows_8h.html @@ -0,0 +1,237 @@ + + + + + + +GRPC Core: src/core/iomgr/socket_windows.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
socket_windows.h File Reference
+
+
+
#include <grpc/support/port_platform.h>
+#include <winsock2.h>
+#include <grpc/support/sync.h>
+#include <grpc/support/atm.h>
+#include "src/core/iomgr/iomgr_internal.h"
+
+

Go to the source code of this file.

+ + + + + + +

+Data Structures

struct  grpc_winsocket_callback_info
 
struct  grpc_winsocket
 
+ + + + + +

+Typedefs

typedef struct
+grpc_winsocket_callback_info 
grpc_winsocket_callback_info
 
typedef struct grpc_winsocket grpc_winsocket
 
+ + + + + + + + + +

+Functions

grpc_winsocketgrpc_winsocket_create (SOCKET socket, const char *name)
 
int grpc_winsocket_shutdown (grpc_winsocket *socket)
 
void grpc_winsocket_orphan (grpc_winsocket *socket)
 
void grpc_winsocket_destroy (grpc_winsocket *socket)
 
+

Typedef Documentation

+ +
+
+ + + + +
typedef struct grpc_winsocket grpc_winsocket
+
+ +
+
+ + +

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
grpc_winsocket* grpc_winsocket_create (SOCKET socket,
const char * name 
)
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_winsocket_destroy (grpc_winsocketsocket)
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_winsocket_orphan (grpc_winsocketsocket)
+
+ +
+
+ +
+
+ + + + + + + + +
int grpc_winsocket_shutdown (grpc_winsocketsocket)
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/socket__windows_8h_source.html b/doc/ref/core.internal/html/socket__windows_8h_source.html new file mode 100644 index 0000000000..904350c962 --- /dev/null +++ b/doc/ref/core.internal/html/socket__windows_8h_source.html @@ -0,0 +1,250 @@ + + + + + + +GRPC Core: src/core/iomgr/socket_windows.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
socket_windows.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPC_INTERNAL_CORE_IOMGR_SOCKET_WINDOWS_H
+
35 #define GRPC_INTERNAL_CORE_IOMGR_SOCKET_WINDOWS_H
+
36 
+ +
38 #include <winsock2.h>
+
39 
+
40 #include <grpc/support/sync.h>
+
41 #include <grpc/support/atm.h>
+
42 
+ +
44 
+
45 /* This holds the data for an outstanding read or write on a socket.
+
46  The mutex to protect the concurrent access to that data is the one
+
47  inside the winsocket wrapper. */
+ +
49  /* This is supposed to be a WSAOVERLAPPED, but in order to get that
+
50  definition, we need to include ws2tcpip.h, which needs to be included
+
51  from the top, otherwise it'll clash with a previous inclusion of
+
52  windows.h that in turns includes winsock.h. If anyone knows a way
+
53  to do it properly, feel free to send a patch. */
+
54  OVERLAPPED overlapped;
+
55  /* The callback information for the pending operation. May be empty if the
+
56  caller hasn't registered a callback yet. */
+
57  void(*cb)(void *opaque, int success);
+
58  void *opaque;
+
59  /* A boolean to describe if the IO Completion Port got a notification for
+
60  that operation. This will happen if the operation completed before the
+
61  called had time to register a callback. We could avoid that behavior
+
62  altogether by forcing the caller to always register its callback before
+
63  proceeding queue an operation, but it is frequent for an IO Completion
+
64  Port to trigger quickly. This way we avoid a context switch for calling
+
65  the callback. We also simplify the read / write operations to avoid having
+
66  to hold a mutex for a long amount of time. */
+ +
68  /* The results of the overlapped operation. */
+ +
70  int wsa_error;
+
71  /* A boolean indicating that we started an operation. */
+ + +
74 
+
75 /* This is a wrapper to a Windows socket. A socket can have one outstanding
+
76  read, and one outstanding write. Doing an asynchronous accept means waiting
+
77  for a read operation. Doing an asynchronous connect means waiting for a
+
78  write operation. These are completely arbitrary ties between the operation
+
79  and the kind of event, because we can have one overlapped per pending
+
80  operation, whichever its nature is. So we could have more dedicated pending
+
81  operation callbacks for connect and listen. But given the scope of listen
+
82  and accept, we don't need to go to that extent and waste memory. Also, this
+
83  is closer to what happens in posix world. */
+
84 typedef struct grpc_winsocket {
+
85  SOCKET socket;
+
86 
+ + +
89 
+ +
91 
+
92  /* You can't add the same socket twice to the same IO Completion Port.
+
93  This prevents that. */
+ +
95  /* A boolean to indicate that the caller has abandoned that socket, but
+
96  there is a pending operation that the IO Completion Port will have to
+
97  wait for. The socket will be collected at that time. */
+
98  int orphan;
+
99 
+ +
101 
+
102  /* A label for iomgr to track outstanding objects */
+ + +
105 
+
106 /* Create a wrapped windows handle. This takes ownership of it, meaning that
+
107  it will be responsible for closing it. */
+
108 grpc_winsocket *grpc_winsocket_create(SOCKET socket, const char *name);
+
109 
+
110 /* Initiate an asynchronous shutdown of the socket. Will call off any pending
+
111  operation to cancel them. Returns the number of callbacks that got setup. */
+ +
113 
+
114 /* Abandon a socket. */
+ +
116 
+
117 /* Destroy a socket. Should only be called by the IO Completion Port thread,
+
118  or by grpc_winsocket_orphan if there's no pending operation. */
+ +
120 
+
121 #endif /* GRPC_INTERNAL_CORE_IOMGR_SOCKET_WINDOWS_H */
+ +
grpc_winsocket * grpc_winsocket_create(SOCKET socket, const char *name)
+
int added_to_iocp
Definition: socket_windows.h:94
+
int orphan
Definition: socket_windows.h:98
+ +
SOCKET socket
Definition: socket_windows.h:85
+
DWORD bytes_transfered
Definition: socket_windows.h:69
+
gpr_mu state_mu
Definition: socket_windows.h:90
+
int outstanding
Definition: socket_windows.h:72
+
int wsa_error
Definition: socket_windows.h:70
+
grpc_winsocket_callback_info read_info
Definition: socket_windows.h:88
+
struct grpc_winsocket_callback_info grpc_winsocket_callback_info
+
Definition: iomgr_internal.h:40
+
Definition: socket_windows.h:48
+
grpc_iomgr_object iomgr_object
Definition: socket_windows.h:103
+
Definition: sync_win32.h:39
+
A closure over a grpc_iomgr_cb_func.
Definition: iomgr.h:45
+
Definition: socket_windows.h:84
+
void * opaque
Definition: socket_windows.h:58
+
grpc_winsocket_callback_info write_info
Definition: socket_windows.h:87
+
int grpc_winsocket_shutdown(grpc_winsocket *socket)
+
void grpc_winsocket_orphan(grpc_winsocket *socket)
+
void(* cb)(void *opaque, int success)
Definition: socket_windows.h:57
+
struct grpc_winsocket grpc_winsocket
+ +
grpc_iomgr_closure shutdown_closure
Definition: socket_windows.h:100
+
void grpc_winsocket_destroy(grpc_winsocket *socket)
+ +
int has_pending_iocp
Definition: socket_windows.h:67
+
OVERLAPPED overlapped
Definition: socket_windows.h:54
+
+ + + + diff --git a/doc/ref/core.internal/html/ssl__transport__security_8c.html b/doc/ref/core.internal/html/ssl__transport__security_8c.html new file mode 100644 index 0000000000..a95e058100 --- /dev/null +++ b/doc/ref/core.internal/html/ssl__transport__security_8c.html @@ -0,0 +1,451 @@ + + + + + + +GRPC Core: src/core/tsi/ssl_transport_security.c File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
ssl_transport_security.c File Reference
+
+
+
#include "src/core/tsi/ssl_transport_security.h"
+#include <limits.h>
+#include <string.h>
+#include <grpc/support/log.h>
+#include <grpc/support/sync.h>
+#include <grpc/support/thd.h>
+#include <grpc/support/useful.h>
+#include "src/core/tsi/transport_security.h"
+#include <openssl/bio.h>
+#include <openssl/crypto.h>
+#include <openssl/err.h>
+#include <openssl/ssl.h>
+#include <openssl/x509.h>
+#include <openssl/x509v3.h>
+
+ + + + + + + + + + + +

+Data Structures

struct  tsi_ssl_handshaker_factory
 
struct  tsi_ssl_client_handshaker_factory
 
struct  tsi_ssl_server_handshaker_factory
 
struct  tsi_ssl_handshaker
 
struct  tsi_ssl_frame_protector
 
+ + + + + + + + + +

+Macros

#define TSI_SSL_MAX_PROTECTED_FRAME_SIZE_UPPER_BOUND   16384
 
#define TSI_SSL_MAX_PROTECTED_FRAME_SIZE_LOWER_BOUND   1024
 
#define TSI_OPENSSL_ALPN_SUPPORT   1
 
#define TSI_SSL_MAX_PROTECTION_OVERHEAD   100
 
+ + + + + + + + + + + +

+Functions

tsi_result tsi_ssl_handshaker_factory_create_handshaker (tsi_ssl_handshaker_factory *self, const char *server_name_indication, tsi_handshaker **handshaker)
 
void tsi_ssl_handshaker_factory_destroy (tsi_ssl_handshaker_factory *self)
 
tsi_result tsi_create_ssl_client_handshaker_factory (const unsigned char *pem_private_key, size_t pem_private_key_size, const unsigned char *pem_cert_chain, size_t pem_cert_chain_size, const unsigned char *pem_root_certs, size_t pem_root_certs_size, const char *cipher_list, const unsigned char **alpn_protocols, const unsigned char *alpn_protocols_lengths, uint16_t num_alpn_protocols, tsi_ssl_handshaker_factory **factory)
 
tsi_result tsi_create_ssl_server_handshaker_factory (const unsigned char **pem_private_keys, const size_t *pem_private_keys_sizes, const unsigned char **pem_cert_chains, const size_t *pem_cert_chains_sizes, size_t key_cert_pair_count, const unsigned char *pem_client_root_certs, size_t pem_client_root_certs_size, int force_client_auth, const char *cipher_list, const unsigned char **alpn_protocols, const unsigned char *alpn_protocols_lengths, uint16_t num_alpn_protocols, tsi_ssl_handshaker_factory **factory)
 
int tsi_ssl_peer_matches_name (const tsi_peer *peer, const char *name)
 
+

Macro Definition Documentation

+ +
+
+ + + + +
#define TSI_OPENSSL_ALPN_SUPPORT   1
+
+ +
+
+ +
+
+ + + + +
#define TSI_SSL_MAX_PROTECTED_FRAME_SIZE_LOWER_BOUND   1024
+
+ +
+
+ +
+
+ + + + +
#define TSI_SSL_MAX_PROTECTED_FRAME_SIZE_UPPER_BOUND   16384
+
+ +
+
+ +
+
+ + + + +
#define TSI_SSL_MAX_PROTECTION_OVERHEAD   100
+
+ +
+
+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
tsi_result tsi_create_ssl_client_handshaker_factory (const unsigned char * pem_private_key,
size_t pem_private_key_size,
const unsigned char * pem_cert_chain,
size_t pem_cert_chain_size,
const unsigned char * pem_root_certs,
size_t pem_root_certs_size,
const char * cipher_list,
const unsigned char ** alpn_protocols,
const unsigned char * alpn_protocols_lengths,
uint16_t num_alpn_protocols,
tsi_ssl_handshaker_factory ** factory 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
tsi_result tsi_create_ssl_server_handshaker_factory (const unsigned char ** pem_private_keys,
const size_t * pem_private_keys_sizes,
const unsigned char ** pem_cert_chains,
const size_t * pem_cert_chains_sizes,
size_t key_cert_pair_count,
const unsigned char * pem_client_root_certs,
size_t pem_client_root_certs_size,
int force_client_auth,
const char * cipher_list,
const unsigned char ** alpn_protocols,
const unsigned char * alpn_protocols_lengths,
uint16_t num_alpn_protocols,
tsi_ssl_handshaker_factory ** factory 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
tsi_result tsi_ssl_handshaker_factory_create_handshaker (tsi_ssl_handshaker_factoryself,
const char * server_name_indication,
tsi_handshaker ** handshaker 
)
+
+ +
+
+ +
+
+ + + + + + + + +
void tsi_ssl_handshaker_factory_destroy (tsi_ssl_handshaker_factoryself)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
int tsi_ssl_peer_matches_name (const tsi_peerpeer,
const char * name 
)
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/ssl__transport__security_8h.html b/doc/ref/core.internal/html/ssl__transport__security_8h.html new file mode 100644 index 0000000000..7c7acf32e5 --- /dev/null +++ b/doc/ref/core.internal/html/ssl__transport__security_8h.html @@ -0,0 +1,446 @@ + + + + + + +GRPC Core: src/core/tsi/ssl_transport_security.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
ssl_transport_security.h File Reference
+
+
+ +

Go to the source code of this file.

+ + + + + + + + + + +

+Macros

#define TSI_X509_CERTIFICATE_TYPE   "X509"
 
#define TSI_X509_SUBJECT_COMMON_NAME_PEER_PROPERTY   "x509_subject_common_name"
 
#define TSI_X509_SUBJECT_ALTERNATIVE_NAME_PEER_PROPERTY   "x509_subject_alternative_name"
 
#define TSI_SSL_ALPN_SELECTED_PROTOCOL   "ssl_alpn_selected_protocol"
 
+ + + +

+Typedefs

typedef struct
+tsi_ssl_handshaker_factory 
tsi_ssl_handshaker_factory
 
+ + + + + + + + + + + +

+Functions

tsi_result tsi_create_ssl_client_handshaker_factory (const unsigned char *pem_private_key, size_t pem_private_key_size, const unsigned char *pem_cert_chain, size_t pem_cert_chain_size, const unsigned char *pem_root_certs, size_t pem_root_certs_size, const char *cipher_suites, const unsigned char **alpn_protocols, const unsigned char *alpn_protocols_lengths, uint16_t num_alpn_protocols, tsi_ssl_handshaker_factory **factory)
 
tsi_result tsi_create_ssl_server_handshaker_factory (const unsigned char **pem_private_keys, const size_t *pem_private_keys_sizes, const unsigned char **pem_cert_chains, const size_t *pem_cert_chains_sizes, size_t key_cert_pair_count, const unsigned char *pem_client_root_certs, size_t pem_client_root_certs_size, int force_client_auth, const char *cipher_suites, const unsigned char **alpn_protocols, const unsigned char *alpn_protocols_lengths, uint16_t num_alpn_protocols, tsi_ssl_handshaker_factory **factory)
 
tsi_result tsi_ssl_handshaker_factory_create_handshaker (tsi_ssl_handshaker_factory *self, const char *server_name_indication, tsi_handshaker **handshaker)
 
void tsi_ssl_handshaker_factory_destroy (tsi_ssl_handshaker_factory *self)
 
int tsi_ssl_peer_matches_name (const tsi_peer *peer, const char *name)
 
+

Macro Definition Documentation

+ +
+
+ + + + +
#define TSI_SSL_ALPN_SELECTED_PROTOCOL   "ssl_alpn_selected_protocol"
+
+ +
+
+ +
+
+ + + + +
#define TSI_X509_CERTIFICATE_TYPE   "X509"
+
+ +
+
+ +
+
+ + + + +
#define TSI_X509_SUBJECT_ALTERNATIVE_NAME_PEER_PROPERTY   "x509_subject_alternative_name"
+
+ +
+
+ +
+
+ + + + +
#define TSI_X509_SUBJECT_COMMON_NAME_PEER_PROPERTY   "x509_subject_common_name"
+
+ +
+
+

Typedef Documentation

+ +
+
+ +
+
+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
tsi_result tsi_create_ssl_client_handshaker_factory (const unsigned char * pem_private_key,
size_t pem_private_key_size,
const unsigned char * pem_cert_chain,
size_t pem_cert_chain_size,
const unsigned char * pem_root_certs,
size_t pem_root_certs_size,
const char * cipher_suites,
const unsigned char ** alpn_protocols,
const unsigned char * alpn_protocols_lengths,
uint16_t num_alpn_protocols,
tsi_ssl_handshaker_factory ** factory 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
tsi_result tsi_create_ssl_server_handshaker_factory (const unsigned char ** pem_private_keys,
const size_t * pem_private_keys_sizes,
const unsigned char ** pem_cert_chains,
const size_t * pem_cert_chains_sizes,
size_t key_cert_pair_count,
const unsigned char * pem_client_root_certs,
size_t pem_client_root_certs_size,
int force_client_auth,
const char * cipher_suites,
const unsigned char ** alpn_protocols,
const unsigned char * alpn_protocols_lengths,
uint16_t num_alpn_protocols,
tsi_ssl_handshaker_factory ** factory 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
tsi_result tsi_ssl_handshaker_factory_create_handshaker (tsi_ssl_handshaker_factoryself,
const char * server_name_indication,
tsi_handshaker ** handshaker 
)
+
+ +
+
+ +
+
+ + + + + + + + +
void tsi_ssl_handshaker_factory_destroy (tsi_ssl_handshaker_factoryself)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
int tsi_ssl_peer_matches_name (const tsi_peerpeer,
const char * name 
)
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/ssl__transport__security_8h_source.html b/doc/ref/core.internal/html/ssl__transport__security_8h_source.html new file mode 100644 index 0000000000..0c664646f2 --- /dev/null +++ b/doc/ref/core.internal/html/ssl__transport__security_8h_source.html @@ -0,0 +1,282 @@ + + + + + + +GRPC Core: src/core/tsi/ssl_transport_security.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
ssl_transport_security.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPC_INTERNAL_CORE_TSI_SSL_TRANSPORT_SECURITY_H
+
35 #define GRPC_INTERNAL_CORE_TSI_SSL_TRANSPORT_SECURITY_H
+
36 
+ +
38 
+
39 #ifdef __cplusplus
+
40 extern "C" {
+
41 #endif
+
42 
+
43 /* Value for the TSI_CERTIFICATE_TYPE_PEER_PROPERTY property for X509 certs. */
+
44 #define TSI_X509_CERTIFICATE_TYPE "X509"
+
45 
+
46 /* This property is of type TSI_PEER_PROPERTY_STRING. */
+
47 #define TSI_X509_SUBJECT_COMMON_NAME_PEER_PROPERTY "x509_subject_common_name"
+
48 #define TSI_X509_SUBJECT_ALTERNATIVE_NAME_PEER_PROPERTY \
+
49  "x509_subject_alternative_name"
+
50 
+
51 #define TSI_SSL_ALPN_SELECTED_PROTOCOL "ssl_alpn_selected_protocol"
+
52 
+
53 /* --- tsi_ssl_handshaker_factory object ---
+
54 
+
55  This object creates tsi_handshaker objects implemented in terms of the
+
56  TLS 1.2 specificiation. */
+
57 
+ +
59 
+
60 /* Creates a client handshaker factory.
+
61  - pem_private_key is the buffer containing the PEM encoding of the client's
+
62  private key. This parameter can be NULL if the client does not have a
+
63  private key.
+
64  - pem_private_key_size is the size of the associated buffer.
+
65  - pem_cert_chain is the buffer containing the PEM encoding of the client's
+
66  certificate chain. This parameter can be NULL if the client does not have
+
67  a certificate chain.
+
68  - pem_cert_chain_size is the size of the associated buffer.
+
69  - pem_roots_cert is the buffer containing the PEM encoding of the server
+
70  root certificates. This parameter cannot be NULL.
+
71  - pem_roots_cert_size is the size of the associated buffer.
+
72  - cipher_suites contains an optional list of the ciphers that the client
+
73  supports. The format of this string is described in:
+
74  https://www.openssl.org/docs/apps/ciphers.html.
+
75  This parameter can be set to NULL to use the default set of ciphers.
+
76  TODO(jboeuf): Revisit the format of this parameter.
+
77  - alpn_protocols is an array containing the protocol names that the
+
78  handshakers created with this factory support. This parameter can be NULL.
+
79  - alpn_protocols_lengths is an array containing the lengths of the alpn
+
80  protocols specified in alpn_protocols. This parameter can be NULL.
+
81  - num_alpn_protocols is the number of alpn protocols and associated lengths
+
82  specified. If this parameter is 0, the other alpn parameters must be NULL.
+
83  - factory is the address of the factory pointer to be created.
+
84 
+
85  - This method returns TSI_OK on success or TSI_INVALID_PARAMETER in the case
+
86  where a parameter is invalid. */
+ +
88  const unsigned char* pem_private_key, size_t pem_private_key_size,
+
89  const unsigned char* pem_cert_chain, size_t pem_cert_chain_size,
+
90  const unsigned char* pem_root_certs, size_t pem_root_certs_size,
+
91  const char* cipher_suites, const unsigned char** alpn_protocols,
+
92  const unsigned char* alpn_protocols_lengths, uint16_t num_alpn_protocols,
+
93  tsi_ssl_handshaker_factory** factory);
+
94 
+
95 /* Creates a server handshaker factory.
+
96  - version indicates which version of the specification to use.
+
97  - pem_private_keys is an array containing the PEM encoding of the server's
+
98  private keys. This parameter cannot be NULL. The size of the array is
+
99  given by the key_cert_pair_count parameter.
+
100  - pem_private_keys_sizes is the array containing the sizes of the associated
+
101  buffers.
+
102  - pem_cert_chains is an array containing the PEM encoding of the server's
+
103  cert chains. This parameter cannot be NULL. The size of the array is
+
104  given by the key_cert_pair_count parameter.
+
105  - pem_cert_chains_sizes is the array containing the sizes of the associated
+
106  buffers.
+
107  - key_cert_pair_count indicates the number of items in the private_key_files
+
108  and cert_chain_files parameters.
+
109  - pem_client_roots is the buffer containing the PEM encoding of the client
+
110  root certificates. This parameter may be NULL in which case the server will
+
111  not authenticate the client. If not NULL, the force_client_auth parameter
+
112  specifies if the server will accept only authenticated clients or both
+
113  authenticated and non-authenticated clients.
+
114  - pem_client_root_certs_size is the size of the associated buffer.
+
115  - force_client_auth, if set to non-zero will force the client to authenticate
+
116  with an SSL cert. Note that this option is ignored if pem_client_root_certs
+
117  is NULL or pem_client_roots_certs_size is 0
+
118  - cipher_suites contains an optional list of the ciphers that the server
+
119  supports. The format of this string is described in:
+
120  https://www.openssl.org/docs/apps/ciphers.html.
+
121  This parameter can be set to NULL to use the default set of ciphers.
+
122  TODO(jboeuf): Revisit the format of this parameter.
+
123  - alpn_protocols is an array containing the protocol names that the
+
124  handshakers created with this factory support. This parameter can be NULL.
+
125  - alpn_protocols_lengths is an array containing the lengths of the alpn
+
126  protocols specified in alpn_protocols. This parameter can be NULL.
+
127  - num_alpn_protocols is the number of alpn protocols and associated lengths
+
128  specified. If this parameter is 0, the other alpn parameters must be NULL.
+
129  - factory is the address of the factory pointer to be created.
+
130 
+
131  - This method returns TSI_OK on success or TSI_INVALID_PARAMETER in the case
+
132  where a parameter is invalid. */
+ +
134  const unsigned char** pem_private_keys,
+
135  const size_t* pem_private_keys_sizes, const unsigned char** pem_cert_chains,
+
136  const size_t* pem_cert_chains_sizes, size_t key_cert_pair_count,
+
137  const unsigned char* pem_client_root_certs,
+
138  size_t pem_client_root_certs_size, int force_client_auth,
+
139  const char* cipher_suites, const unsigned char** alpn_protocols,
+
140  const unsigned char* alpn_protocols_lengths, uint16_t num_alpn_protocols,
+
141  tsi_ssl_handshaker_factory** factory);
+
142 
+
143 /* Creates a handshaker.
+
144  - self is the factory from which the handshaker will be created.
+
145  - server_name_indication indicates the name of the server the client is
+
146  trying to connect to which will be relayed to the server using the SNI
+
147  extension.
+
148  This parameter must be NULL for a server handshaker factory.
+
149  - handhshaker is the address of the handshaker pointer to be created.
+
150 
+
151  - This method returns TSI_OK on success or TSI_INVALID_PARAMETER in the case
+
152  where a parameter is invalid. */
+ +
154  tsi_ssl_handshaker_factory* self, const char* server_name_indication,
+
155  tsi_handshaker** handshaker);
+
156 
+
157 /* Destroys the handshaker factory. WARNING: it is unsafe to destroy a factory
+
158  while handshakers created with this factory are still in use. */
+ +
160 
+
161 /* Util that checks that an ssl peer matches a specific name.
+
162  Still TODO(jboeuf):
+
163  - handle mixed case.
+
164  - handle %encoded chars.
+
165  - handle public suffix wildchar more strictly (e.g. *.co.uk)
+
166  - handle IP addresses in SAN. */
+
167 int tsi_ssl_peer_matches_name(const tsi_peer* peer, const char* name);
+
168 
+
169 #ifdef __cplusplus
+
170 }
+
171 #endif
+
172 
+
173 #endif /* GRPC_INTERNAL_CORE_TSI_SSL_TRANSPORT_SECURITY_H */
+
tsi_result tsi_create_ssl_client_handshaker_factory(const unsigned char *pem_private_key, size_t pem_private_key_size, const unsigned char *pem_cert_chain, size_t pem_cert_chain_size, const unsigned char *pem_root_certs, size_t pem_root_certs_size, const char *cipher_suites, const unsigned char **alpn_protocols, const unsigned char *alpn_protocols_lengths, uint16_t num_alpn_protocols, tsi_ssl_handshaker_factory **factory)
Definition: ssl_transport_security.c:1214
+ +
tsi_result tsi_create_ssl_server_handshaker_factory(const unsigned char **pem_private_keys, const size_t *pem_private_keys_sizes, const unsigned char **pem_cert_chains, const size_t *pem_cert_chains_sizes, size_t key_cert_pair_count, const unsigned char *pem_client_root_certs, size_t pem_client_root_certs_size, int force_client_auth, const char *cipher_suites, const unsigned char **alpn_protocols, const unsigned char *alpn_protocols_lengths, uint16_t num_alpn_protocols, tsi_ssl_handshaker_factory **factory)
Definition: ssl_transport_security.c:1291
+
Definition: ssl_transport_security.c:71
+
tsi_result tsi_ssl_handshaker_factory_create_handshaker(tsi_ssl_handshaker_factory *self, const char *server_name_indication, tsi_handshaker **handshaker)
Definition: ssl_transport_security.c:955
+
Definition: transport_security_interface.h:192
+
tsi_result
Definition: transport_security_interface.h:46
+
void tsi_ssl_handshaker_factory_destroy(tsi_ssl_handshaker_factory *self)
Definition: ssl_transport_security.c:962
+
int tsi_ssl_peer_matches_name(const tsi_peer *peer, const char *name)
Definition: ssl_transport_security.c:1396
+
Definition: transport_security.h:86
+
+ + + + diff --git a/doc/ref/core.internal/html/stack__lockfree_8c.html b/doc/ref/core.internal/html/stack__lockfree_8c.html new file mode 100644 index 0000000000..22f3105262 --- /dev/null +++ b/doc/ref/core.internal/html/stack__lockfree_8c.html @@ -0,0 +1,259 @@ + + + + + + +GRPC Core: src/core/support/stack_lockfree.c File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
stack_lockfree.c File Reference
+
+
+
#include "src/core/support/stack_lockfree.h"
+#include <stdlib.h>
+#include <string.h>
+#include <grpc/support/port_platform.h>
+#include <grpc/support/alloc.h>
+#include <grpc/support/atm.h>
+#include <grpc/support/log.h>
+
+ + + + + + + +

+Data Structures

struct  lockfree_node_contents
 
union  lockfree_node
 
struct  gpr_stack_lockfree
 
+ + + + + +

+Macros

#define ENTRY_ALIGNMENT_BITS   3 /* make sure that entries aligned to 8-bytes */
 
#define INVALID_ENTRY_INDEX
 
+ + + +

+Typedefs

typedef union lockfree_node lockfree_node
 
+ + + + + + + + + +

+Functions

gpr_stack_lockfreegpr_stack_lockfree_create (int entries)
 
void gpr_stack_lockfree_destroy (gpr_stack_lockfree *stack)
 
int gpr_stack_lockfree_push (gpr_stack_lockfree *stack, int entry)
 
int gpr_stack_lockfree_pop (gpr_stack_lockfree *stack)
 
+

Macro Definition Documentation

+ +
+
+ + + + +
#define ENTRY_ALIGNMENT_BITS   3 /* make sure that entries aligned to 8-bytes */
+
+ +
+
+ +
+
+ + + + +
#define INVALID_ENTRY_INDEX
+
+Value:
((1 << 16) - 1) /* reserve this entry as invalid \
+
*/
+
+
+
+

Typedef Documentation

+ +
+
+ + + + +
typedef union lockfree_node lockfree_node
+
+ +
+
+

Function Documentation

+ +
+
+ + + + + + + + +
gpr_stack_lockfree* gpr_stack_lockfree_create (int entries)
+
+ +
+
+ +
+
+ + + + + + + + +
void gpr_stack_lockfree_destroy (gpr_stack_lockfreestack)
+
+ +
+
+ +
+
+ + + + + + + + +
int gpr_stack_lockfree_pop (gpr_stack_lockfreestack)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
int gpr_stack_lockfree_push (gpr_stack_lockfreestack,
int entry 
)
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/stack__lockfree_8h.html b/doc/ref/core.internal/html/stack__lockfree_8h.html new file mode 100644 index 0000000000..7dea757bc5 --- /dev/null +++ b/doc/ref/core.internal/html/stack__lockfree_8h.html @@ -0,0 +1,209 @@ + + + + + + +GRPC Core: src/core/support/stack_lockfree.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
stack_lockfree.h File Reference
+
+
+ +

Go to the source code of this file.

+ + + + +

+Typedefs

typedef struct gpr_stack_lockfree gpr_stack_lockfree
 
+ + + + + + + + + +

+Functions

gpr_stack_lockfreegpr_stack_lockfree_create (int entries)
 
void gpr_stack_lockfree_destroy (gpr_stack_lockfree *stack)
 
int gpr_stack_lockfree_push (gpr_stack_lockfree *, int entry)
 
int gpr_stack_lockfree_pop (gpr_stack_lockfree *stack)
 
+

Typedef Documentation

+ +
+
+ + + + +
typedef struct gpr_stack_lockfree gpr_stack_lockfree
+
+ +
+
+

Function Documentation

+ +
+
+ + + + + + + + +
gpr_stack_lockfree* gpr_stack_lockfree_create (int entries)
+
+ +
+
+ +
+
+ + + + + + + + +
void gpr_stack_lockfree_destroy (gpr_stack_lockfreestack)
+
+ +
+
+ +
+
+ + + + + + + + +
int gpr_stack_lockfree_pop (gpr_stack_lockfreestack)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
int gpr_stack_lockfree_push (gpr_stack_lockfree,
int entry 
)
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/stack__lockfree_8h_source.html b/doc/ref/core.internal/html/stack__lockfree_8h_source.html new file mode 100644 index 0000000000..3cfbd7ce17 --- /dev/null +++ b/doc/ref/core.internal/html/stack__lockfree_8h_source.html @@ -0,0 +1,156 @@ + + + + + + +GRPC Core: src/core/support/stack_lockfree.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
stack_lockfree.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPC_INTERNAL_CORE_SUPPORT_STACK_LOCKFREE_H
+
35 #define GRPC_INTERNAL_CORE_SUPPORT_STACK_LOCKFREE_H
+
36 
+ +
38 
+
39 /* This stack must specify the maximum number of entries to track.
+
40  The current implementation only allows up to 65534 entries */
+ + +
43 
+
44 /* Pass in a valid entry number for the next stack entry */
+
45 /* Returns 1 if this is the first element on the stack, 0 otherwise */
+ +
47 
+
48 /* Returns -1 on empty or the actual entry number */
+ +
50 
+
51 #endif /* GRPC_INTERNAL_CORE_SUPPORT_STACK_LOCKFREE_H */
+
Definition: stack_lockfree.c:72
+
void gpr_stack_lockfree_destroy(gpr_stack_lockfree *stack)
Definition: stack_lockfree.c:105
+
gpr_stack_lockfree * gpr_stack_lockfree_create(int entries)
Definition: stack_lockfree.c:82
+
int gpr_stack_lockfree_push(gpr_stack_lockfree *, int entry)
Definition: stack_lockfree.c:110
+
lockfree_node * entries
Definition: stack_lockfree.c:73
+
int gpr_stack_lockfree_pop(gpr_stack_lockfree *stack)
Definition: stack_lockfree.c:148
+
+ + + + diff --git a/doc/ref/core.internal/html/stap__timers_8c.html b/doc/ref/core.internal/html/stap__timers_8c.html new file mode 100644 index 0000000000..5d124098c4 --- /dev/null +++ b/doc/ref/core.internal/html/stap__timers_8c.html @@ -0,0 +1,100 @@ + + + + + + +GRPC Core: src/core/profiling/stap_timers.c File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
stap_timers.c File Reference
+
+ + + + + diff --git a/doc/ref/core.internal/html/status_8h.html b/doc/ref/core.internal/html/status_8h.html new file mode 100644 index 0000000000..fe74407488 --- /dev/null +++ b/doc/ref/core.internal/html/status_8h.html @@ -0,0 +1,184 @@ + + + + + + +GRPC Core: include/grpc/status.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
status.h File Reference
+
+
+ +

Go to the source code of this file.

+ + + + +

+Enumerations

enum  grpc_status_code {
+  GRPC_STATUS_OK = 0, +GRPC_STATUS_CANCELLED = 1, +GRPC_STATUS_UNKNOWN = 2, +GRPC_STATUS_INVALID_ARGUMENT = 3, +
+  GRPC_STATUS_DEADLINE_EXCEEDED = 4, +GRPC_STATUS_NOT_FOUND = 5, +GRPC_STATUS_ALREADY_EXISTS = 6, +GRPC_STATUS_PERMISSION_DENIED = 7, +
+  GRPC_STATUS_UNAUTHENTICATED = 16, +GRPC_STATUS_RESOURCE_EXHAUSTED = 8, +GRPC_STATUS_FAILED_PRECONDITION = 9, +GRPC_STATUS_ABORTED = 10, +
+  GRPC_STATUS_OUT_OF_RANGE = 11, +GRPC_STATUS_UNIMPLEMENTED = 12, +GRPC_STATUS_INTERNAL = 13, +GRPC_STATUS_UNAVAILABLE = 14, +
+  GRPC_STATUS_DATA_LOSS = 15, +GRPC_STATUS__DO_NOT_USE = -1 +
+ }
 
+

Enumeration Type Documentation

+ +
+
+ + + + +
enum grpc_status_code
+
+ + + + + + + + + + + + + + + + + + + +
Enumerator
GRPC_STATUS_OK  +
GRPC_STATUS_CANCELLED  +
GRPC_STATUS_UNKNOWN  +
GRPC_STATUS_INVALID_ARGUMENT  +
GRPC_STATUS_DEADLINE_EXCEEDED  +
GRPC_STATUS_NOT_FOUND  +
GRPC_STATUS_ALREADY_EXISTS  +
GRPC_STATUS_PERMISSION_DENIED  +
GRPC_STATUS_UNAUTHENTICATED  +
GRPC_STATUS_RESOURCE_EXHAUSTED  +
GRPC_STATUS_FAILED_PRECONDITION  +
GRPC_STATUS_ABORTED  +
GRPC_STATUS_OUT_OF_RANGE  +
GRPC_STATUS_UNIMPLEMENTED  +
GRPC_STATUS_INTERNAL  +
GRPC_STATUS_UNAVAILABLE  +
GRPC_STATUS_DATA_LOSS  +
GRPC_STATUS__DO_NOT_USE  +
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/status_8h_source.html b/doc/ref/core.internal/html/status_8h_source.html new file mode 100644 index 0000000000..e8e33530f1 --- /dev/null +++ b/doc/ref/core.internal/html/status_8h_source.html @@ -0,0 +1,281 @@ + + + + + + +GRPC Core: include/grpc/status.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
status.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPC_STATUS_H
+
35 #define GRPC_STATUS_H
+
36 
+
37 #ifdef __cplusplus
+
38 extern "C" {
+
39 #endif
+
40 
+
41 typedef enum {
+
42  /* Not an error; returned on success */
+ +
44 
+
45  /* The operation was cancelled (typically by the caller). */
+ +
47 
+
48  /* Unknown error. An example of where this error may be returned is
+
49  if a Status value received from another address space belongs to
+
50  an error-space that is not known in this address space. Also
+
51  errors raised by APIs that do not return enough error information
+
52  may be converted to this error. */
+ +
54 
+
55  /* Client specified an invalid argument. Note that this differs
+
56  from FAILED_PRECONDITION. INVALID_ARGUMENT indicates arguments
+
57  that are problematic regardless of the state of the system
+
58  (e.g., a malformed file name). */
+ +
60 
+
61  /* Deadline expired before operation could complete. For operations
+
62  that change the state of the system, this error may be returned
+
63  even if the operation has completed successfully. For example, a
+
64  successful response from a server could have been delayed long
+
65  enough for the deadline to expire. */
+ +
67 
+
68  /* Some requested entity (e.g., file or directory) was not found. */
+ +
70 
+
71  /* Some entity that we attempted to create (e.g., file or directory)
+
72  already exists. */
+ +
74 
+
75  /* The caller does not have permission to execute the specified
+
76  operation. PERMISSION_DENIED must not be used for rejections
+
77  caused by exhausting some resource (use RESOURCE_EXHAUSTED
+
78  instead for those errors). PERMISSION_DENIED must not be
+
79  used if the caller can not be identified (use UNAUTHENTICATED
+
80  instead for those errors). */
+ +
82 
+
83  /* The request does not have valid authentication credentials for the
+
84  operation. */
+ +
86 
+
87  /* Some resource has been exhausted, perhaps a per-user quota, or
+
88  perhaps the entire file system is out of space. */
+ +
90 
+
91  /* Operation was rejected because the system is not in a state
+
92  required for the operation's execution. For example, directory
+
93  to be deleted may be non-empty, an rmdir operation is applied to
+
94  a non-directory, etc.
+
95 
+
96  A litmus test that may help a service implementor in deciding
+
97  between FAILED_PRECONDITION, ABORTED, and UNAVAILABLE:
+
98  (a) Use UNAVAILABLE if the client can retry just the failing call.
+
99  (b) Use ABORTED if the client should retry at a higher-level
+
100  (e.g., restarting a read-modify-write sequence).
+
101  (c) Use FAILED_PRECONDITION if the client should not retry until
+
102  the system state has been explicitly fixed. E.g., if an "rmdir"
+
103  fails because the directory is non-empty, FAILED_PRECONDITION
+
104  should be returned since the client should not retry unless
+
105  they have first fixed up the directory by deleting files from it.
+
106  (d) Use FAILED_PRECONDITION if the client performs conditional
+
107  REST Get/Update/Delete on a resource and the resource on the
+
108  server does not match the condition. E.g., conflicting
+
109  read-modify-write on the same resource. */
+ +
111 
+
112  /* The operation was aborted, typically due to a concurrency issue
+
113  like sequencer check failures, transaction aborts, etc.
+
114 
+
115  See litmus test above for deciding between FAILED_PRECONDITION,
+
116  ABORTED, and UNAVAILABLE. */
+ +
118 
+
119  /* Operation was attempted past the valid range. E.g., seeking or
+
120  reading past end of file.
+
121 
+
122  Unlike INVALID_ARGUMENT, this error indicates a problem that may
+
123  be fixed if the system state changes. For example, a 32-bit file
+
124  system will generate INVALID_ARGUMENT if asked to read at an
+
125  offset that is not in the range [0,2^32-1], but it will generate
+
126  OUT_OF_RANGE if asked to read from an offset past the current
+
127  file size.
+
128 
+
129  There is a fair bit of overlap between FAILED_PRECONDITION and
+
130  OUT_OF_RANGE. We recommend using OUT_OF_RANGE (the more specific
+
131  error) when it applies so that callers who are iterating through
+
132  a space can easily look for an OUT_OF_RANGE error to detect when
+
133  they are done. */
+ +
135 
+
136  /* Operation is not implemented or not supported/enabled in this service. */
+ +
138 
+
139  /* Internal errors. Means some invariants expected by underlying
+
140  system has been broken. If you see one of these errors,
+
141  something is very broken. */
+ +
143 
+
144  /* The service is currently unavailable. This is a most likely a
+
145  transient condition and may be corrected by retrying with
+
146  a backoff.
+
147 
+
148  See litmus test above for deciding between FAILED_PRECONDITION,
+
149  ABORTED, and UNAVAILABLE. */
+ +
151 
+
152  /* Unrecoverable data loss or corruption. */
+ +
154 
+
155  /* Force users to include a default branch: */
+ + +
158 
+
159 #ifdef __cplusplus
+
160 }
+
161 #endif
+
162 
+
163 #endif /* GRPC_STATUS_H */
+
Definition: status.h:73
+
Definition: status.h:81
+
Definition: status.h:46
+
Definition: status.h:69
+
Definition: status.h:117
+
Definition: status.h:53
+
Definition: status.h:66
+
Definition: status.h:153
+
Definition: status.h:137
+
Definition: status.h:156
+
Definition: status.h:110
+
Definition: status.h:85
+
Definition: status.h:134
+
Definition: status.h:142
+
Definition: status.h:150
+
Definition: status.h:89
+
grpc_status_code
Definition: status.h:41
+
Definition: status.h:59
+
Definition: status.h:43
+
+ + + + diff --git a/doc/ref/core.internal/html/status__conversion_8c.html b/doc/ref/core.internal/html/status__conversion_8c.html new file mode 100644 index 0000000000..fc733b78d1 --- /dev/null +++ b/doc/ref/core.internal/html/status__conversion_8c.html @@ -0,0 +1,179 @@ + + + + + + +GRPC Core: src/core/transport/chttp2/status_conversion.c File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
status_conversion.c File Reference
+
+
+ + + + + + + + + + +

+Functions

int grpc_chttp2_grpc_status_to_http2_error (grpc_status_code status)
 
grpc_status_code grpc_chttp2_http2_error_to_grpc_status (grpc_chttp2_error_code error)
 
grpc_status_code grpc_chttp2_http2_status_to_grpc_status (int status)
 
int grpc_chttp2_grpc_status_to_http2_status (grpc_status_code status)
 
+

Function Documentation

+ +
+
+ + + + + + + + +
int grpc_chttp2_grpc_status_to_http2_error (grpc_status_code status)
+
+ +
+
+ +
+
+ + + + + + + + +
int grpc_chttp2_grpc_status_to_http2_status (grpc_status_code status)
+
+ +
+
+ +
+
+ + + + + + + + +
grpc_status_code grpc_chttp2_http2_error_to_grpc_status (grpc_chttp2_error_code error)
+
+ +
+
+ +
+
+ + + + + + + + +
grpc_status_code grpc_chttp2_http2_status_to_grpc_status (int status)
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/status__conversion_8h.html b/doc/ref/core.internal/html/status__conversion_8h.html new file mode 100644 index 0000000000..5d666f725f --- /dev/null +++ b/doc/ref/core.internal/html/status__conversion_8h.html @@ -0,0 +1,182 @@ + + + + + + +GRPC Core: src/core/transport/chttp2/status_conversion.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
status_conversion.h File Reference
+
+
+ +

Go to the source code of this file.

+ + + + + + + + + + +

+Functions

grpc_chttp2_error_code grpc_chttp2_grpc_status_to_http2_error (grpc_status_code status)
 
grpc_status_code grpc_chttp2_http2_error_to_grpc_status (grpc_chttp2_error_code error)
 
grpc_status_code grpc_chttp2_http2_status_to_grpc_status (int status)
 
int grpc_chttp2_grpc_status_to_http2_status (grpc_status_code status)
 
+

Function Documentation

+ +
+
+ + + + + + + + +
grpc_chttp2_error_code grpc_chttp2_grpc_status_to_http2_error (grpc_status_code status)
+
+ +
+
+ +
+
+ + + + + + + + +
int grpc_chttp2_grpc_status_to_http2_status (grpc_status_code status)
+
+ +
+
+ +
+
+ + + + + + + + +
grpc_status_code grpc_chttp2_http2_error_to_grpc_status (grpc_chttp2_error_code error)
+
+ +
+
+ +
+
+ + + + + + + + +
grpc_status_code grpc_chttp2_http2_status_to_grpc_status (int status)
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/status__conversion_8h_source.html b/doc/ref/core.internal/html/status__conversion_8h_source.html new file mode 100644 index 0000000000..583959c2db --- /dev/null +++ b/doc/ref/core.internal/html/status__conversion_8h_source.html @@ -0,0 +1,157 @@ + + + + + + +GRPC Core: src/core/transport/chttp2/status_conversion.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
status_conversion.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPC_INTERNAL_CORE_TRANSPORT_CHTTP2_STATUS_CONVERSION_H
+
35 #define GRPC_INTERNAL_CORE_TRANSPORT_CHTTP2_STATUS_CONVERSION_H
+
36 
+
37 #include <grpc/grpc.h>
+ +
39 
+
40 /* Conversion of grpc status codes to http2 error codes (for RST_STREAM) */
+ +
42  grpc_status_code status);
+ + +
45 
+
46 /* Conversion of HTTP status codes (:status) to grpc status codes */
+ + +
49 
+
50 #endif /* GRPC_INTERNAL_CORE_TRANSPORT_CHTTP2_STATUS_CONVERSION_H */
+
int grpc_chttp2_grpc_status_to_http2_status(grpc_status_code status)
Definition: status_conversion.c:107
+
grpc_status_code grpc_chttp2_http2_status_to_grpc_status(int status)
Definition: status_conversion.c:72
+
grpc_status_code grpc_chttp2_http2_error_to_grpc_status(grpc_chttp2_error_code error)
Definition: status_conversion.c:53
+ +
grpc_chttp2_error_code grpc_chttp2_grpc_status_to_http2_error(grpc_status_code status)
Definition: status_conversion.c:36
+
grpc_status_code
Definition: status.h:41
+
grpc_chttp2_error_code
Definition: http2_errors.h:38
+ +
+ + + + diff --git a/doc/ref/core.internal/html/stream__encoder_8c.html b/doc/ref/core.internal/html/stream__encoder_8c.html new file mode 100644 index 0000000000..3206b9fa65 --- /dev/null +++ b/doc/ref/core.internal/html/stream__encoder_8c.html @@ -0,0 +1,444 @@ + + + + + + +GRPC Core: src/core/transport/chttp2/stream_encoder.c File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
stream_encoder.c File Reference
+
+
+ + + + +

+Data Structures

struct  framer_state
 
+ + + + + + + + + + + + + + + + + +

+Macros

#define HASH_FRAGMENT_1(x)   ((x)&255)
 
#define HASH_FRAGMENT_2(x)   ((x >> 8) & 255)
 
#define HASH_FRAGMENT_3(x)   ((x >> 16) & 255)
 
#define HASH_FRAGMENT_4(x)   ((x >> 24) & 255)
 
#define ONE_ON_ADD_PROBABILITY   128
 
#define MAX_DECODER_SPACE_USAGE   512
 
#define STRLEN_LIT(x)   (sizeof(x) - 1)
 
#define TIMEOUT_KEY   "grpc-timeout"
 
+ + + +

+Enumerations

enum  frame_type { HEADER, +DATA, +NONE + }
 
+ + + + + + + + + + + +

+Functions

gpr_slice grpc_chttp2_data_frame_create_empty_close (gpr_uint32 id)
 
void grpc_chttp2_hpack_compressor_init (grpc_chttp2_hpack_compressor *c, grpc_mdctx *ctx)
 
void grpc_chttp2_hpack_compressor_destroy (grpc_chttp2_hpack_compressor *c)
 
gpr_uint32 grpc_chttp2_preencode (grpc_stream_op *inops, size_t *inops_count, gpr_uint32 max_flow_controlled_bytes, grpc_stream_op_buffer *outops)
 
void grpc_chttp2_encode (grpc_stream_op *ops, size_t ops_count, int eof, gpr_uint32 stream_id, grpc_chttp2_hpack_compressor *compressor, gpr_slice_buffer *output)
 
+

Macro Definition Documentation

+ +
+
+ + + + + + + + +
#define HASH_FRAGMENT_1( x)   ((x)&255)
+
+ +
+
+ +
+
+ + + + + + + + +
#define HASH_FRAGMENT_2( x)   ((x >> 8) & 255)
+
+ +
+
+ +
+
+ + + + + + + + +
#define HASH_FRAGMENT_3( x)   ((x >> 16) & 255)
+
+ +
+
+ +
+
+ + + + + + + + +
#define HASH_FRAGMENT_4( x)   ((x >> 24) & 255)
+
+ +
+
+ +
+
+ + + + +
#define MAX_DECODER_SPACE_USAGE   512
+
+ +
+
+ +
+
+ + + + +
#define ONE_ON_ADD_PROBABILITY   128
+
+ +
+
+ +
+
+ + + + + + + + +
#define STRLEN_LIT( x)   (sizeof(x) - 1)
+
+ +
+
+ +
+
+ + + + +
#define TIMEOUT_KEY   "grpc-timeout"
+
+ +
+
+

Enumeration Type Documentation

+ +
+
+ + + + +
enum frame_type
+
+ + + + +
Enumerator
HEADER  +
DATA  +
NONE  +
+ +
+
+

Function Documentation

+ +
+
+ + + + + + + + +
gpr_slice grpc_chttp2_data_frame_create_empty_close (gpr_uint32 id)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void grpc_chttp2_encode (grpc_stream_opops,
size_t ops_count,
int eof,
gpr_uint32 stream_id,
grpc_chttp2_hpack_compressorcompressor,
gpr_slice_bufferoutput 
)
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_chttp2_hpack_compressor_destroy (grpc_chttp2_hpack_compressorc)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void grpc_chttp2_hpack_compressor_init (grpc_chttp2_hpack_compressorc,
grpc_mdctxctx 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
gpr_uint32 grpc_chttp2_preencode (grpc_stream_opinops,
size_t * inops_count,
gpr_uint32 max_flow_controlled_bytes,
grpc_stream_op_bufferoutops 
)
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/stream__encoder_8h.html b/doc/ref/core.internal/html/stream__encoder_8h.html new file mode 100644 index 0000000000..0d4f970c29 --- /dev/null +++ b/doc/ref/core.internal/html/stream__encoder_8h.html @@ -0,0 +1,305 @@ + + + + + + +GRPC Core: src/core/transport/chttp2/stream_encoder.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
stream_encoder.h File Reference
+
+
+ +

Go to the source code of this file.

+ + + + +

+Data Structures

struct  grpc_chttp2_hpack_compressor
 
+ + + + + + + +

+Macros

#define GRPC_CHTTP2_HPACKC_NUM_FILTERS   256
 
#define GRPC_CHTTP2_HPACKC_NUM_VALUES   256
 
#define GRPC_CHTTP2_HPACKC_MAX_TABLE_ELEMS   (4096 / 32)
 
+ + + + + + + + + +

+Functions

void grpc_chttp2_hpack_compressor_init (grpc_chttp2_hpack_compressor *c, grpc_mdctx *mdctx)
 
void grpc_chttp2_hpack_compressor_destroy (grpc_chttp2_hpack_compressor *c)
 
gpr_uint32 grpc_chttp2_preencode (grpc_stream_op *inops, size_t *inops_count, gpr_uint32 max_flow_controlled_bytes, grpc_stream_op_buffer *outops)
 
void grpc_chttp2_encode (grpc_stream_op *ops, size_t ops_count, int eof, gpr_uint32 stream_id, grpc_chttp2_hpack_compressor *compressor, gpr_slice_buffer *output)
 
+

Macro Definition Documentation

+ +
+
+ + + + +
#define GRPC_CHTTP2_HPACKC_MAX_TABLE_ELEMS   (4096 / 32)
+
+ +
+
+ +
+
+ + + + +
#define GRPC_CHTTP2_HPACKC_NUM_FILTERS   256
+
+ +
+
+ +
+
+ + + + +
#define GRPC_CHTTP2_HPACKC_NUM_VALUES   256
+
+ +
+
+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void grpc_chttp2_encode (grpc_stream_opops,
size_t ops_count,
int eof,
gpr_uint32 stream_id,
grpc_chttp2_hpack_compressorcompressor,
gpr_slice_bufferoutput 
)
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_chttp2_hpack_compressor_destroy (grpc_chttp2_hpack_compressorc)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void grpc_chttp2_hpack_compressor_init (grpc_chttp2_hpack_compressorc,
grpc_mdctxmdctx 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
gpr_uint32 grpc_chttp2_preencode (grpc_stream_opinops,
size_t * inops_count,
gpr_uint32 max_flow_controlled_bytes,
grpc_stream_op_bufferoutops 
)
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/stream__encoder_8h_source.html b/doc/ref/core.internal/html/stream__encoder_8h_source.html new file mode 100644 index 0000000000..12e20cb756 --- /dev/null +++ b/doc/ref/core.internal/html/stream__encoder_8h_source.html @@ -0,0 +1,221 @@ + + + + + + +GRPC Core: src/core/transport/chttp2/stream_encoder.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
stream_encoder.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPC_INTERNAL_CORE_TRANSPORT_CHTTP2_STREAM_ENCODER_H
+
35 #define GRPC_INTERNAL_CORE_TRANSPORT_CHTTP2_STREAM_ENCODER_H
+
36 
+ + + + +
41 #include <grpc/support/slice.h>
+ +
43 
+
44 #define GRPC_CHTTP2_HPACKC_NUM_FILTERS 256
+
45 #define GRPC_CHTTP2_HPACKC_NUM_VALUES 256
+
46 #define GRPC_CHTTP2_HPACKC_MAX_TABLE_ELEMS (4096 / 32)
+
47 
+
48 typedef struct {
+ +
50  /* one before the lowest usable table index */
+ + + +
54 
+
55  /* filter tables for elems: this tables provides an approximate
+
56  popularity count for particular hashes, and are used to determine whether
+
57  a new literal should be added to the compression table or not.
+
58  They track a single integer that counts how often a particular value has
+
59  been seen. When that count reaches max (255), all values are halved. */
+ +
61 
+
62  /* metadata context */
+ +
64  /* the string 'grpc-timeout' */
+ +
66 
+
67  /* entry tables for keys & elems: these tables track values that have been
+
68  seen and *may* be in the decompressor table */
+ + + + +
73 
+ + +
76 
+ +
78  grpc_mdctx *mdctx);
+ +
80 
+
81 /* select stream ops to be encoded, moving them from inops to outops, and
+
82  moving subsequent ops in inops forward in the queue */
+
83 gpr_uint32 grpc_chttp2_preencode(grpc_stream_op *inops, size_t *inops_count,
+
84  gpr_uint32 max_flow_controlled_bytes,
+
85  grpc_stream_op_buffer *outops);
+
86 
+
87 /* encode stream ops to output */
+
88 void grpc_chttp2_encode(grpc_stream_op *ops, size_t ops_count, int eof,
+
89  gpr_uint32 stream_id,
+
90  grpc_chttp2_hpack_compressor *compressor,
+
91  gpr_slice_buffer *output);
+
92 
+
93 #endif /* GRPC_INTERNAL_CORE_TRANSPORT_CHTTP2_STREAM_ENCODER_H */
+
grpc_mdctx * mdctx
Definition: stream_encoder.h:63
+
#define GRPC_CHTTP2_HPACKC_NUM_FILTERS
Definition: stream_encoder.h:44
+ +
uint8_t gpr_uint8
Definition: port_platform.h:307
+
gpr_uint16 table_size
Definition: stream_encoder.h:52
+
Definition: stream_encoder.h:48
+ +
#define GRPC_CHTTP2_HPACKC_MAX_TABLE_ELEMS
Definition: stream_encoder.h:46
+
Definition: metadata.h:70
+
void grpc_chttp2_encode(grpc_stream_op *ops, size_t ops_count, int eof, gpr_uint32 stream_id, grpc_chttp2_hpack_compressor *compressor, gpr_slice_buffer *output)
Definition: stream_encoder.c:550
+
uint32_t gpr_uint32
Definition: port_platform.h:309
+
Definition: slice_buffer.h:48
+
#define GRPC_CHTTP2_HPACKC_NUM_VALUES
Definition: stream_encoder.h:45
+ +
grpc_mdstr * timeout_key_str
Definition: stream_encoder.h:65
+
Definition: metadata.c:98
+
Definition: metadata.h:78
+
uint16_t gpr_uint16
Definition: port_platform.h:308
+ +
gpr_uint16 table_elems
Definition: stream_encoder.h:53
+
void grpc_chttp2_hpack_compressor_destroy(grpc_chttp2_hpack_compressor *c)
Definition: stream_encoder.c:462
+
gpr_uint32 filter_elems_sum
Definition: stream_encoder.h:49
+ +
gpr_uint32 tail_remote_index
Definition: stream_encoder.h:51
+ +
void grpc_chttp2_hpack_compressor_init(grpc_chttp2_hpack_compressor *c, grpc_mdctx *mdctx)
Definition: stream_encoder.c:455
+
Definition: stream_op.h:162
+
A stream op buffer is a wrapper around stream operations that is dynamically extendable.
Definition: stream_op.h:176
+
gpr_uint32 grpc_chttp2_preencode(grpc_stream_op *inops, size_t *inops_count, gpr_uint32 max_flow_controlled_bytes, grpc_stream_op_buffer *outops)
Definition: stream_encoder.c:471
+
+ + + + diff --git a/doc/ref/core.internal/html/stream__lists_8c.html b/doc/ref/core.internal/html/stream__lists_8c.html new file mode 100644 index 0000000000..9db47ea50a --- /dev/null +++ b/doc/ref/core.internal/html/stream__lists_8c.html @@ -0,0 +1,995 @@ + + + + + + +GRPC Core: src/core/transport/chttp2/stream_lists.c File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
stream_lists.c File Reference
+
+
+ + + + + + + + + + + + + + +

+Macros

#define TRANSPORT_FROM_GLOBAL(tg)
 
#define STREAM_FROM_GLOBAL(sg)   ((grpc_chttp2_stream *)((char *)(sg)-offsetof(grpc_chttp2_stream, global)))
 
#define TRANSPORT_FROM_WRITING(tw)
 
#define STREAM_FROM_WRITING(sw)   ((grpc_chttp2_stream *)((char *)(sw)-offsetof(grpc_chttp2_stream, writing)))
 
#define TRANSPORT_FROM_PARSING(tp)
 
#define STREAM_FROM_PARSING(sp)   ((grpc_chttp2_stream *)((char *)(sp)-offsetof(grpc_chttp2_stream, parsing)))
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

void grpc_chttp2_list_add_writable_stream (grpc_chttp2_transport_global *transport_global, grpc_chttp2_stream_global *stream_global)
 Get a writable stream returns non-zero if there was a stream available. More...
 
void grpc_chttp2_list_add_first_writable_stream (grpc_chttp2_transport_global *transport_global, grpc_chttp2_stream_global *stream_global)
 
int grpc_chttp2_list_pop_writable_stream (grpc_chttp2_transport_global *transport_global, grpc_chttp2_transport_writing *transport_writing, grpc_chttp2_stream_global **stream_global, grpc_chttp2_stream_writing **stream_writing)
 
void grpc_chttp2_list_remove_writable_stream (grpc_chttp2_transport_global *transport_global, grpc_chttp2_stream_global *stream_global)
 
void grpc_chttp2_list_add_writing_stream (grpc_chttp2_transport_writing *transport_writing, grpc_chttp2_stream_writing *stream_writing)
 
int grpc_chttp2_list_have_writing_streams (grpc_chttp2_transport_writing *transport_writing)
 
int grpc_chttp2_list_pop_writing_stream (grpc_chttp2_transport_writing *transport_writing, grpc_chttp2_stream_writing **stream_writing)
 
void grpc_chttp2_list_add_written_stream (grpc_chttp2_transport_writing *transport_writing, grpc_chttp2_stream_writing *stream_writing)
 
int grpc_chttp2_list_pop_written_stream (grpc_chttp2_transport_global *transport_global, grpc_chttp2_transport_writing *transport_writing, grpc_chttp2_stream_global **stream_global, grpc_chttp2_stream_writing **stream_writing)
 
void grpc_chttp2_list_add_parsing_seen_stream (grpc_chttp2_transport_parsing *transport_parsing, grpc_chttp2_stream_parsing *stream_parsing)
 
int grpc_chttp2_list_pop_parsing_seen_stream (grpc_chttp2_transport_global *transport_global, grpc_chttp2_transport_parsing *transport_parsing, grpc_chttp2_stream_global **stream_global, grpc_chttp2_stream_parsing **stream_parsing)
 
void grpc_chttp2_list_add_waiting_for_concurrency (grpc_chttp2_transport_global *transport_global, grpc_chttp2_stream_global *stream_global)
 
int grpc_chttp2_list_pop_waiting_for_concurrency (grpc_chttp2_transport_global *transport_global, grpc_chttp2_stream_global **stream_global)
 
void grpc_chttp2_list_add_closed_waiting_for_parsing (grpc_chttp2_transport_global *transport_global, grpc_chttp2_stream_global *stream_global)
 
int grpc_chttp2_list_pop_closed_waiting_for_parsing (grpc_chttp2_transport_global *transport_global, grpc_chttp2_stream_global **stream_global)
 
void grpc_chttp2_list_add_cancelled_waiting_for_writing (grpc_chttp2_transport_global *transport_global, grpc_chttp2_stream_global *stream_global)
 
int grpc_chttp2_list_pop_cancelled_waiting_for_writing (grpc_chttp2_transport_global *transport_global, grpc_chttp2_stream_global **stream_global)
 
void grpc_chttp2_list_add_incoming_window_updated (grpc_chttp2_transport_global *transport_global, grpc_chttp2_stream_global *stream_global)
 
int grpc_chttp2_list_pop_incoming_window_updated (grpc_chttp2_transport_global *transport_global, grpc_chttp2_transport_parsing *transport_parsing, grpc_chttp2_stream_global **stream_global, grpc_chttp2_stream_parsing **stream_parsing)
 
void grpc_chttp2_list_remove_incoming_window_updated (grpc_chttp2_transport_global *transport_global, grpc_chttp2_stream_global *stream_global)
 
void grpc_chttp2_list_add_read_write_state_changed (grpc_chttp2_transport_global *transport_global, grpc_chttp2_stream_global *stream_global)
 
int grpc_chttp2_list_pop_read_write_state_changed (grpc_chttp2_transport_global *transport_global, grpc_chttp2_stream_global **stream_global)
 
void grpc_chttp2_register_stream (grpc_chttp2_transport *t, grpc_chttp2_stream *s)
 
int grpc_chttp2_unregister_stream (grpc_chttp2_transport *t, grpc_chttp2_stream *s)
 
int grpc_chttp2_has_streams (grpc_chttp2_transport *t)
 
void grpc_chttp2_for_all_streams (grpc_chttp2_transport_global *transport_global, void *user_data, void(*cb)(grpc_chttp2_transport_global *transport_global, void *user_data, grpc_chttp2_stream_global *stream_global))
 
+

Macro Definition Documentation

+ +
+
+ + + + + + + + +
#define STREAM_FROM_GLOBAL( sg)   ((grpc_chttp2_stream *)((char *)(sg)-offsetof(grpc_chttp2_stream, global)))
+
+ +
+
+ +
+
+ + + + + + + + +
#define STREAM_FROM_PARSING( sp)   ((grpc_chttp2_stream *)((char *)(sp)-offsetof(grpc_chttp2_stream, parsing)))
+
+ +
+
+ +
+
+ + + + + + + + +
#define STREAM_FROM_WRITING( sw)   ((grpc_chttp2_stream *)((char *)(sw)-offsetof(grpc_chttp2_stream, writing)))
+
+ +
+
+ +
+
+ + + + + + + + +
#define TRANSPORT_FROM_GLOBAL( tg)
+
+Value:
((grpc_chttp2_transport *)((char *)(tg)-offsetof(grpc_chttp2_transport, \
+
global)))
+
Definition: internal.h:283
+
+
+
+ +
+
+ + + + + + + + +
#define TRANSPORT_FROM_PARSING( tp)
+
+Value:
((grpc_chttp2_transport *)((char *)(tp)-offsetof(grpc_chttp2_transport, \
+
parsing)))
+
Definition: internal.h:283
+
+
+
+ +
+
+ + + + + + + + +
#define TRANSPORT_FROM_WRITING( tw)
+
+Value:
((grpc_chttp2_transport *)((char *)(tw)-offsetof(grpc_chttp2_transport, \
+
writing)))
+
Definition: internal.h:283
+
+
+
+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void grpc_chttp2_for_all_streams (grpc_chttp2_transport_globaltransport_global,
void * user_data,
void(*)(grpc_chttp2_transport_global *transport_global, void *user_data, grpc_chttp2_stream_global *stream_global) cb 
)
+
+ +
+
+ +
+
+ + + + + + + + +
int grpc_chttp2_has_streams (grpc_chttp2_transportt)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void grpc_chttp2_list_add_cancelled_waiting_for_writing (grpc_chttp2_transport_globaltransport_global,
grpc_chttp2_stream_globalstream_global 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void grpc_chttp2_list_add_closed_waiting_for_parsing (grpc_chttp2_transport_globaltransport_global,
grpc_chttp2_stream_globalstream_global 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void grpc_chttp2_list_add_first_writable_stream (grpc_chttp2_transport_globaltransport_global,
grpc_chttp2_stream_globalstream_global 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void grpc_chttp2_list_add_incoming_window_updated (grpc_chttp2_transport_globaltransport_global,
grpc_chttp2_stream_globalstream_global 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void grpc_chttp2_list_add_parsing_seen_stream (grpc_chttp2_transport_parsingtransport_parsing,
grpc_chttp2_stream_parsingstream_parsing 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void grpc_chttp2_list_add_read_write_state_changed (grpc_chttp2_transport_globaltransport_global,
grpc_chttp2_stream_globalstream_global 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void grpc_chttp2_list_add_waiting_for_concurrency (grpc_chttp2_transport_globaltransport_global,
grpc_chttp2_stream_globalstream_global 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void grpc_chttp2_list_add_writable_stream (grpc_chttp2_transport_globaltransport_global,
grpc_chttp2_stream_globalstream_global 
)
+
+ +

Get a writable stream returns non-zero if there was a stream available.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void grpc_chttp2_list_add_writing_stream (grpc_chttp2_transport_writingtransport_writing,
grpc_chttp2_stream_writingstream_writing 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void grpc_chttp2_list_add_written_stream (grpc_chttp2_transport_writingtransport_writing,
grpc_chttp2_stream_writingstream_writing 
)
+
+ +
+
+ +
+
+ + + + + + + + +
int grpc_chttp2_list_have_writing_streams (grpc_chttp2_transport_writingtransport_writing)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
int grpc_chttp2_list_pop_cancelled_waiting_for_writing (grpc_chttp2_transport_globaltransport_global,
grpc_chttp2_stream_global ** stream_global 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
int grpc_chttp2_list_pop_closed_waiting_for_parsing (grpc_chttp2_transport_globaltransport_global,
grpc_chttp2_stream_global ** stream_global 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
int grpc_chttp2_list_pop_incoming_window_updated (grpc_chttp2_transport_globaltransport_global,
grpc_chttp2_transport_parsingtransport_parsing,
grpc_chttp2_stream_global ** stream_global,
grpc_chttp2_stream_parsing ** stream_parsing 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
int grpc_chttp2_list_pop_parsing_seen_stream (grpc_chttp2_transport_globaltransport_global,
grpc_chttp2_transport_parsingtransport_parsing,
grpc_chttp2_stream_global ** stream_global,
grpc_chttp2_stream_parsing ** stream_parsing 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
int grpc_chttp2_list_pop_read_write_state_changed (grpc_chttp2_transport_globaltransport_global,
grpc_chttp2_stream_global ** stream_global 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
int grpc_chttp2_list_pop_waiting_for_concurrency (grpc_chttp2_transport_globaltransport_global,
grpc_chttp2_stream_global ** stream_global 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
int grpc_chttp2_list_pop_writable_stream (grpc_chttp2_transport_globaltransport_global,
grpc_chttp2_transport_writingtransport_writing,
grpc_chttp2_stream_global ** stream_global,
grpc_chttp2_stream_writing ** stream_writing 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
int grpc_chttp2_list_pop_writing_stream (grpc_chttp2_transport_writingtransport_writing,
grpc_chttp2_stream_writing ** stream_writing 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
int grpc_chttp2_list_pop_written_stream (grpc_chttp2_transport_globaltransport_global,
grpc_chttp2_transport_writingtransport_writing,
grpc_chttp2_stream_global ** stream_global,
grpc_chttp2_stream_writing ** stream_writing 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void grpc_chttp2_list_remove_incoming_window_updated (grpc_chttp2_transport_globaltransport_global,
grpc_chttp2_stream_globalstream_global 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void grpc_chttp2_list_remove_writable_stream (grpc_chttp2_transport_globaltransport_global,
grpc_chttp2_stream_globalstream_global 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void grpc_chttp2_register_stream (grpc_chttp2_transportt,
grpc_chttp2_streams 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
int grpc_chttp2_unregister_stream (grpc_chttp2_transportt,
grpc_chttp2_streams 
)
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/stream__map_8c.html b/doc/ref/core.internal/html/stream__map_8c.html new file mode 100644 index 0000000000..dd245465dd --- /dev/null +++ b/doc/ref/core.internal/html/stream__map_8c.html @@ -0,0 +1,327 @@ + + + + + + +GRPC Core: src/core/transport/chttp2/stream_map.c File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
stream_map.c File Reference
+
+
+ + + + + + + + + + + + + + + + + + +

+Functions

void grpc_chttp2_stream_map_init (grpc_chttp2_stream_map *map, size_t initial_capacity)
 
void grpc_chttp2_stream_map_destroy (grpc_chttp2_stream_map *map)
 
void grpc_chttp2_stream_map_add (grpc_chttp2_stream_map *map, gpr_uint32 key, void *value)
 
void grpc_chttp2_stream_map_move_into (grpc_chttp2_stream_map *src, grpc_chttp2_stream_map *dst)
 
void * grpc_chttp2_stream_map_delete (grpc_chttp2_stream_map *map, gpr_uint32 key)
 
void * grpc_chttp2_stream_map_find (grpc_chttp2_stream_map *map, gpr_uint32 key)
 
size_t grpc_chttp2_stream_map_size (grpc_chttp2_stream_map *map)
 
void grpc_chttp2_stream_map_for_each (grpc_chttp2_stream_map *map, void(*f)(void *user_data, gpr_uint32 key, void *value), void *user_data)
 
+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void grpc_chttp2_stream_map_add (grpc_chttp2_stream_mapmap,
gpr_uint32 key,
void * value 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void* grpc_chttp2_stream_map_delete (grpc_chttp2_stream_mapmap,
gpr_uint32 key 
)
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_chttp2_stream_map_destroy (grpc_chttp2_stream_mapmap)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void* grpc_chttp2_stream_map_find (grpc_chttp2_stream_mapmap,
gpr_uint32 key 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void grpc_chttp2_stream_map_for_each (grpc_chttp2_stream_mapmap,
void(*)(void *user_data, gpr_uint32 key, void *valuef,
void * user_data 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void grpc_chttp2_stream_map_init (grpc_chttp2_stream_mapmap,
size_t initial_capacity 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void grpc_chttp2_stream_map_move_into (grpc_chttp2_stream_mapsrc,
grpc_chttp2_stream_mapdst 
)
+
+ +
+
+ +
+
+ + + + + + + + +
size_t grpc_chttp2_stream_map_size (grpc_chttp2_stream_mapmap)
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/stream__map_8h.html b/doc/ref/core.internal/html/stream__map_8h.html new file mode 100644 index 0000000000..f0ebeb4d60 --- /dev/null +++ b/doc/ref/core.internal/html/stream__map_8h.html @@ -0,0 +1,332 @@ + + + + + + +GRPC Core: src/core/transport/chttp2/stream_map.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
stream_map.h File Reference
+
+
+
#include <grpc/support/port_platform.h>
+#include <stddef.h>
+
+

Go to the source code of this file.

+ + + + +

+Data Structures

struct  grpc_chttp2_stream_map
 
+ + + + + + + + + + + + + + + + + +

+Functions

void grpc_chttp2_stream_map_init (grpc_chttp2_stream_map *map, size_t initial_capacity)
 
void grpc_chttp2_stream_map_destroy (grpc_chttp2_stream_map *map)
 
void grpc_chttp2_stream_map_add (grpc_chttp2_stream_map *map, gpr_uint32 key, void *value)
 
void * grpc_chttp2_stream_map_delete (grpc_chttp2_stream_map *map, gpr_uint32 key)
 
void grpc_chttp2_stream_map_move_into (grpc_chttp2_stream_map *src, grpc_chttp2_stream_map *dst)
 
void * grpc_chttp2_stream_map_find (grpc_chttp2_stream_map *map, gpr_uint32 key)
 
size_t grpc_chttp2_stream_map_size (grpc_chttp2_stream_map *map)
 
void grpc_chttp2_stream_map_for_each (grpc_chttp2_stream_map *map, void(*f)(void *user_data, gpr_uint32 key, void *value), void *user_data)
 
+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void grpc_chttp2_stream_map_add (grpc_chttp2_stream_mapmap,
gpr_uint32 key,
void * value 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void* grpc_chttp2_stream_map_delete (grpc_chttp2_stream_mapmap,
gpr_uint32 key 
)
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_chttp2_stream_map_destroy (grpc_chttp2_stream_mapmap)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void* grpc_chttp2_stream_map_find (grpc_chttp2_stream_mapmap,
gpr_uint32 key 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void grpc_chttp2_stream_map_for_each (grpc_chttp2_stream_mapmap,
void(*)(void *user_data, gpr_uint32 key, void *valuef,
void * user_data 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void grpc_chttp2_stream_map_init (grpc_chttp2_stream_mapmap,
size_t initial_capacity 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void grpc_chttp2_stream_map_move_into (grpc_chttp2_stream_mapsrc,
grpc_chttp2_stream_mapdst 
)
+
+ +
+
+ +
+
+ + + + + + + + +
size_t grpc_chttp2_stream_map_size (grpc_chttp2_stream_mapmap)
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/stream__map_8h_source.html b/doc/ref/core.internal/html/stream__map_8h_source.html new file mode 100644 index 0000000000..cdf42f48bd --- /dev/null +++ b/doc/ref/core.internal/html/stream__map_8h_source.html @@ -0,0 +1,202 @@ + + + + + + +GRPC Core: src/core/transport/chttp2/stream_map.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
stream_map.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPC_INTERNAL_CORE_TRANSPORT_CHTTP2_STREAM_MAP_H
+
35 #define GRPC_INTERNAL_CORE_TRANSPORT_CHTTP2_STREAM_MAP_H
+
36 
+ +
38 
+
39 #include <stddef.h>
+
40 
+
41 /* Data structure to map a gpr_uint32 to a data object (represented by a void*)
+
42 
+
43  Represented as a sorted array of keys, and a corresponding array of values.
+
44  Lookups are performed with binary search.
+
45  Adds are restricted to strictly higher keys than previously seen (this is
+
46  guaranteed by http2). */
+
47 typedef struct {
+ +
49  void **values;
+
50  size_t count;
+
51  size_t free;
+
52  size_t capacity;
+ +
54 
+ +
56  size_t initial_capacity);
+ +
58 
+
59 /* Add a new key: given http2 semantics, new keys must always be greater than
+
60  existing keys - this is asserted */
+ +
62  void *value);
+
63 
+
64 /* Delete an existing key - returns the previous value of the key if it existed,
+
65  or NULL otherwise */
+ +
67  gpr_uint32 key);
+
68 
+
69 /* Move all elements of src into dst */
+ + +
72 
+
73 /* Return an existing key, or NULL if it does not exist */
+ +
75 
+
76 /* How many (populated) entries are in the stream map? */
+ +
78 
+
79 /* Callback on each stream */
+ +
81  void (*f)(void *user_data, gpr_uint32 key,
+
82  void *value),
+
83  void *user_data);
+
84 
+
85 #endif /* GRPC_INTERNAL_CORE_TRANSPORT_CHTTP2_STREAM_MAP_H */
+
const char * value
Definition: hpack_table.c:44
+ +
Definition: stream_map.h:47
+
void grpc_chttp2_stream_map_move_into(grpc_chttp2_stream_map *src, grpc_chttp2_stream_map *dst)
Definition: stream_map.c:99
+
uint32_t gpr_uint32
Definition: port_platform.h:309
+
size_t count
Definition: stream_map.h:50
+
void grpc_chttp2_stream_map_init(grpc_chttp2_stream_map *map, size_t initial_capacity)
Definition: stream_map.c:42
+
void * grpc_chttp2_stream_map_find(grpc_chttp2_stream_map *map, gpr_uint32 key)
Definition: stream_map.c:178
+
void * grpc_chttp2_stream_map_delete(grpc_chttp2_stream_map *map, gpr_uint32 key)
Definition: stream_map.c:161
+
void grpc_chttp2_stream_map_add(grpc_chttp2_stream_map *map, gpr_uint32 key, void *value)
Definition: stream_map.c:71
+
void grpc_chttp2_stream_map_destroy(grpc_chttp2_stream_map *map)
Definition: stream_map.c:52
+
size_t free
Definition: stream_map.h:51
+
void ** values
Definition: stream_map.h:49
+
void grpc_chttp2_stream_map_for_each(grpc_chttp2_stream_map *map, void(*f)(void *user_data, gpr_uint32 key, void *value), void *user_data)
Definition: stream_map.c:187
+
gpr_uint32 * keys
Definition: stream_map.h:48
+
const char * key
Definition: hpack_table.c:43
+
size_t capacity
Definition: stream_map.h:52
+
size_t grpc_chttp2_stream_map_size(grpc_chttp2_stream_map *map)
Definition: stream_map.c:183
+
+ + + + diff --git a/doc/ref/core.internal/html/stream__op_8c.html b/doc/ref/core.internal/html/stream__op_8c.html new file mode 100644 index 0000000000..38245540a1 --- /dev/null +++ b/doc/ref/core.internal/html/stream__op_8c.html @@ -0,0 +1,705 @@ + + + + + + +GRPC Core: src/core/transport/stream_op.c File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
stream_op.c File Reference
+
+
+
#include "src/core/transport/stream_op.h"
+#include <string.h>
+#include <grpc/support/alloc.h>
+#include <grpc/support/log.h>
+
+ + + +

+Macros

#define GROW(x)   (3 * (x) / 2)
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

void grpc_sopb_init (grpc_stream_op_buffer *sopb)
 
void grpc_sopb_destroy (grpc_stream_op_buffer *sopb)
 
void grpc_sopb_reset (grpc_stream_op_buffer *sopb)
 
void grpc_sopb_swap (grpc_stream_op_buffer *a, grpc_stream_op_buffer *b)
 
void grpc_stream_ops_unref_owned_objects (grpc_stream_op *ops, size_t nops)
 
void grpc_sopb_add_no_op (grpc_stream_op_buffer *sopb)
 
void grpc_sopb_add_begin_message (grpc_stream_op_buffer *sopb, gpr_uint32 length, gpr_uint32 flags)
 
void grpc_sopb_add_metadata (grpc_stream_op_buffer *sopb, grpc_metadata_batch b)
 
void grpc_sopb_add_slice (grpc_stream_op_buffer *sopb, gpr_slice slice)
 
void grpc_sopb_append (grpc_stream_op_buffer *sopb, grpc_stream_op *ops, size_t nops)
 
void grpc_sopb_move_to (grpc_stream_op_buffer *src, grpc_stream_op_buffer *dst)
 
void grpc_metadata_batch_assert_ok (grpc_metadata_batch *batch)
 
void grpc_metadata_batch_init (grpc_metadata_batch *batch)
 
void grpc_metadata_batch_destroy (grpc_metadata_batch *batch)
 
void grpc_metadata_batch_add_head (grpc_metadata_batch *batch, grpc_linked_mdelem *storage, grpc_mdelem *elem_to_add)
 Add elem_to_add as the first element in batch, using storage as backing storage for the linked list element. More...
 
void grpc_metadata_batch_link_head (grpc_metadata_batch *batch, grpc_linked_mdelem *storage)
 Add storage to the beginning of batch. More...
 
void grpc_metadata_batch_add_tail (grpc_metadata_batch *batch, grpc_linked_mdelem *storage, grpc_mdelem *elem_to_add)
 Add elem_to_add as the last element in batch, using storage as backing storage for the linked list element. More...
 
void grpc_metadata_batch_link_tail (grpc_metadata_batch *batch, grpc_linked_mdelem *storage)
 Add storage to the end of batch. More...
 
void grpc_metadata_batch_merge (grpc_metadata_batch *target, grpc_metadata_batch *add)
 
void grpc_metadata_batch_move (grpc_metadata_batch *dst, grpc_metadata_batch *src)
 Moves the metadata information from src to dst. More...
 
void grpc_metadata_batch_filter (grpc_metadata_batch *batch, grpc_mdelem *(*filter)(void *user_data, grpc_mdelem *elem), void *user_data)
 For each element in batch, execute filter. More...
 
+

Macro Definition Documentation

+ +
+
+ + + + + + + + +
#define GROW( x)   (3 * (x) / 2)
+
+ +
+
+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void grpc_metadata_batch_add_head (grpc_metadata_batchbatch,
grpc_linked_mdelemstorage,
grpc_mdelemelem_to_add 
)
+
+ +

Add elem_to_add as the first element in batch, using storage as backing storage for the linked list element.

+

storage is owned by the caller and must survive for the lifetime of batch. This usually means it should be around for the lifetime of the call. Takes ownership of elem_to_add

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void grpc_metadata_batch_add_tail (grpc_metadata_batchbatch,
grpc_linked_mdelemstorage,
grpc_mdelemelem_to_add 
)
+
+ +

Add elem_to_add as the last element in batch, using storage as backing storage for the linked list element.

+

storage is owned by the caller and must survive for the lifetime of batch. This usually means it should be around for the lifetime of the call. Takes ownership of elem_to_add

+ +
+
+ +
+
+ + + + + + + + +
void grpc_metadata_batch_assert_ok (grpc_metadata_batchbatch)
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_metadata_batch_destroy (grpc_metadata_batchbatch)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void grpc_metadata_batch_filter (grpc_metadata_batchbatch,
grpc_mdelem *(*)(void *user_data, grpc_mdelem *elem) filter,
void * user_data 
)
+
+ +

For each element in batch, execute filter.

+

The return value from filter will be substituted for the grpc_mdelem passed to filter. If filter returns NULL, the element will be moved to the garbage list.

+ +
+
+ +
+
+ + + + + + + + +
void grpc_metadata_batch_init (grpc_metadata_batchbatch)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void grpc_metadata_batch_link_head (grpc_metadata_batchbatch,
grpc_linked_mdelemstorage 
)
+
+ +

Add storage to the beginning of batch.

+

storage->md is assumed to be valid. storage is owned by the caller and must survive for the lifetime of batch. This usually means it should be around for the lifetime of the call.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void grpc_metadata_batch_link_tail (grpc_metadata_batchbatch,
grpc_linked_mdelemstorage 
)
+
+ +

Add storage to the end of batch.

+

storage->md is assumed to be valid. storage is owned by the caller and must survive for the lifetime of batch. This usually means it should be around for the lifetime of the call.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void grpc_metadata_batch_merge (grpc_metadata_batchtarget,
grpc_metadata_batchadd 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void grpc_metadata_batch_move (grpc_metadata_batchdst,
grpc_metadata_batchsrc 
)
+
+ +

Moves the metadata information from src to dst.

+

Upon return, src is zeroed.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void grpc_sopb_add_begin_message (grpc_stream_op_buffersopb,
gpr_uint32 length,
gpr_uint32 flags 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void grpc_sopb_add_metadata (grpc_stream_op_buffersopb,
grpc_metadata_batch b 
)
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_sopb_add_no_op (grpc_stream_op_buffersopb)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void grpc_sopb_add_slice (grpc_stream_op_buffersopb,
gpr_slice slice 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void grpc_sopb_append (grpc_stream_op_buffersopb,
grpc_stream_opops,
size_t nops 
)
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_sopb_destroy (grpc_stream_op_buffersopb)
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_sopb_init (grpc_stream_op_buffersopb)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void grpc_sopb_move_to (grpc_stream_op_buffersrc,
grpc_stream_op_bufferdst 
)
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_sopb_reset (grpc_stream_op_buffersopb)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void grpc_sopb_swap (grpc_stream_op_buffera,
grpc_stream_op_bufferb 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void grpc_stream_ops_unref_owned_objects (grpc_stream_opops,
size_t nops 
)
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/stream__op_8h.html b/doc/ref/core.internal/html/stream__op_8h.html new file mode 100644 index 0000000000..322db2970f --- /dev/null +++ b/doc/ref/core.internal/html/stream__op_8h.html @@ -0,0 +1,913 @@ + + + + + + +GRPC Core: src/core/transport/stream_op.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
stream_op.h File Reference
+
+
+ +

Go to the source code of this file.

+ + + + + + + + + + + + + + + +

+Data Structures

struct  grpc_begin_message
 
struct  grpc_linked_mdelem
 
struct  grpc_mdelem_list
 
struct  grpc_metadata_batch
 
struct  grpc_stream_op
 
struct  grpc_stream_op_buffer
 A stream op buffer is a wrapper around stream operations that is dynamically extendable. More...
 
+ + + + + + + + + +

+Macros

#define GRPC_SOPB_INLINE_ELEMENTS   4
 
#define GRPC_WRITE_INTERNAL_COMPRESS   (0x80000000u)
 Internal bit flag for grpc_begin_message's flags signaling the use of compression for the message. More...
 
#define GRPC_WRITE_INTERNAL_USED_MASK   (GRPC_WRITE_INTERNAL_COMPRESS)
 Mask of all valid internal flags. More...
 
+ + + + + + + + + + + + + + + + +

+Typedefs

typedef enum grpc_stream_op_code grpc_stream_op_code
 
typedef struct grpc_begin_message grpc_begin_message
 
typedef struct grpc_linked_mdelem grpc_linked_mdelem
 
typedef struct grpc_mdelem_list grpc_mdelem_list
 
typedef struct grpc_metadata_batch grpc_metadata_batch
 
typedef struct grpc_stream_op grpc_stream_op
 
typedef struct
+grpc_stream_op_buffer 
grpc_stream_op_buffer
 A stream op buffer is a wrapper around stream operations that is dynamically extendable. More...
 
+ + + +

+Enumerations

enum  grpc_stream_op_code { GRPC_NO_OP, +GRPC_OP_METADATA, +GRPC_OP_BEGIN_MESSAGE, +GRPC_OP_SLICE + }
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

void grpc_metadata_batch_init (grpc_metadata_batch *batch)
 
void grpc_metadata_batch_destroy (grpc_metadata_batch *batch)
 
void grpc_metadata_batch_merge (grpc_metadata_batch *target, grpc_metadata_batch *add)
 
void grpc_metadata_batch_move (grpc_metadata_batch *dst, grpc_metadata_batch *src)
 Moves the metadata information from src to dst. More...
 
void grpc_metadata_batch_link_head (grpc_metadata_batch *batch, grpc_linked_mdelem *storage)
 Add storage to the beginning of batch. More...
 
void grpc_metadata_batch_link_tail (grpc_metadata_batch *batch, grpc_linked_mdelem *storage)
 Add storage to the end of batch. More...
 
void grpc_metadata_batch_add_head (grpc_metadata_batch *batch, grpc_linked_mdelem *storage, grpc_mdelem *elem_to_add)
 Add elem_to_add as the first element in batch, using storage as backing storage for the linked list element. More...
 
void grpc_metadata_batch_add_tail (grpc_metadata_batch *batch, grpc_linked_mdelem *storage, grpc_mdelem *elem_to_add)
 Add elem_to_add as the last element in batch, using storage as backing storage for the linked list element. More...
 
void grpc_metadata_batch_filter (grpc_metadata_batch *batch, grpc_mdelem *(*filter)(void *user_data, grpc_mdelem *elem), void *user_data)
 For each element in batch, execute filter. More...
 
void grpc_metadata_batch_assert_ok (grpc_metadata_batch *comd)
 
void grpc_sopb_init (grpc_stream_op_buffer *sopb)
 
void grpc_sopb_destroy (grpc_stream_op_buffer *sopb)
 
void grpc_sopb_reset (grpc_stream_op_buffer *sopb)
 
void grpc_sopb_swap (grpc_stream_op_buffer *a, grpc_stream_op_buffer *b)
 
void grpc_stream_ops_unref_owned_objects (grpc_stream_op *ops, size_t nops)
 
void grpc_sopb_add_no_op (grpc_stream_op_buffer *sopb)
 
void grpc_sopb_add_begin_message (grpc_stream_op_buffer *sopb, gpr_uint32 length, gpr_uint32 flags)
 
void grpc_sopb_add_metadata (grpc_stream_op_buffer *sopb, grpc_metadata_batch metadata)
 
void grpc_sopb_add_slice (grpc_stream_op_buffer *sopb, gpr_slice slice)
 
void grpc_sopb_append (grpc_stream_op_buffer *sopb, grpc_stream_op *ops, size_t nops)
 
void grpc_sopb_move_to (grpc_stream_op_buffer *src, grpc_stream_op_buffer *dst)
 
char * grpc_sopb_string (grpc_stream_op_buffer *sopb)
 
+

Macro Definition Documentation

+ +
+
+ + + + +
#define GRPC_SOPB_INLINE_ELEMENTS   4
+
+ +
+
+ +
+
+ + + + +
#define GRPC_WRITE_INTERNAL_COMPRESS   (0x80000000u)
+
+ +

Internal bit flag for grpc_begin_message's flags signaling the use of compression for the message.

+ +
+
+ +
+
+ + + + +
#define GRPC_WRITE_INTERNAL_USED_MASK   (GRPC_WRITE_INTERNAL_COMPRESS)
+
+ +

Mask of all valid internal flags.

+ +
+
+

Typedef Documentation

+ +
+
+ + + + +
typedef struct grpc_begin_message grpc_begin_message
+
+ +
+
+ +
+
+ + + + +
typedef struct grpc_linked_mdelem grpc_linked_mdelem
+
+ +
+
+ +
+
+ + + + +
typedef struct grpc_mdelem_list grpc_mdelem_list
+
+ +
+
+ +
+
+ + + + +
typedef struct grpc_metadata_batch grpc_metadata_batch
+
+ +
+
+ +
+
+ + + + +
typedef struct grpc_stream_op grpc_stream_op
+
+ +
+
+ +
+
+ + + + +
typedef struct grpc_stream_op_buffer grpc_stream_op_buffer
+
+ +

A stream op buffer is a wrapper around stream operations that is dynamically extendable.

+ +
+
+ +
+
+ + + + +
typedef enum grpc_stream_op_code grpc_stream_op_code
+
+ +
+
+

Enumeration Type Documentation

+ +
+
+ + + + +
enum grpc_stream_op_code
+
+ + + + + +
Enumerator
GRPC_NO_OP  +
GRPC_OP_METADATA  +
GRPC_OP_BEGIN_MESSAGE  +
GRPC_OP_SLICE  +
+ +
+
+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void grpc_metadata_batch_add_head (grpc_metadata_batchbatch,
grpc_linked_mdelemstorage,
grpc_mdelemelem_to_add 
)
+
+ +

Add elem_to_add as the first element in batch, using storage as backing storage for the linked list element.

+

storage is owned by the caller and must survive for the lifetime of batch. This usually means it should be around for the lifetime of the call. Takes ownership of elem_to_add

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void grpc_metadata_batch_add_tail (grpc_metadata_batchbatch,
grpc_linked_mdelemstorage,
grpc_mdelemelem_to_add 
)
+
+ +

Add elem_to_add as the last element in batch, using storage as backing storage for the linked list element.

+

storage is owned by the caller and must survive for the lifetime of batch. This usually means it should be around for the lifetime of the call. Takes ownership of elem_to_add

+ +
+
+ +
+
+ + + + + + + + +
void grpc_metadata_batch_assert_ok (grpc_metadata_batchcomd)
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_metadata_batch_destroy (grpc_metadata_batchbatch)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void grpc_metadata_batch_filter (grpc_metadata_batchbatch,
grpc_mdelem *(*)(void *user_data, grpc_mdelem *elem) filter,
void * user_data 
)
+
+ +

For each element in batch, execute filter.

+

The return value from filter will be substituted for the grpc_mdelem passed to filter. If filter returns NULL, the element will be moved to the garbage list.

+ +
+
+ +
+
+ + + + + + + + +
void grpc_metadata_batch_init (grpc_metadata_batchbatch)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void grpc_metadata_batch_link_head (grpc_metadata_batchbatch,
grpc_linked_mdelemstorage 
)
+
+ +

Add storage to the beginning of batch.

+

storage->md is assumed to be valid. storage is owned by the caller and must survive for the lifetime of batch. This usually means it should be around for the lifetime of the call.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void grpc_metadata_batch_link_tail (grpc_metadata_batchbatch,
grpc_linked_mdelemstorage 
)
+
+ +

Add storage to the end of batch.

+

storage->md is assumed to be valid. storage is owned by the caller and must survive for the lifetime of batch. This usually means it should be around for the lifetime of the call.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void grpc_metadata_batch_merge (grpc_metadata_batchtarget,
grpc_metadata_batchadd 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void grpc_metadata_batch_move (grpc_metadata_batchdst,
grpc_metadata_batchsrc 
)
+
+ +

Moves the metadata information from src to dst.

+

Upon return, src is zeroed.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void grpc_sopb_add_begin_message (grpc_stream_op_buffersopb,
gpr_uint32 length,
gpr_uint32 flags 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void grpc_sopb_add_metadata (grpc_stream_op_buffersopb,
grpc_metadata_batch metadata 
)
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_sopb_add_no_op (grpc_stream_op_buffersopb)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void grpc_sopb_add_slice (grpc_stream_op_buffersopb,
gpr_slice slice 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void grpc_sopb_append (grpc_stream_op_buffersopb,
grpc_stream_opops,
size_t nops 
)
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_sopb_destroy (grpc_stream_op_buffersopb)
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_sopb_init (grpc_stream_op_buffersopb)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void grpc_sopb_move_to (grpc_stream_op_buffersrc,
grpc_stream_op_bufferdst 
)
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_sopb_reset (grpc_stream_op_buffersopb)
+
+ +
+
+ +
+
+ + + + + + + + +
char* grpc_sopb_string (grpc_stream_op_buffersopb)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void grpc_sopb_swap (grpc_stream_op_buffera,
grpc_stream_op_bufferb 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void grpc_stream_ops_unref_owned_objects (grpc_stream_opops,
size_t nops 
)
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/stream__op_8h_source.html b/doc/ref/core.internal/html/stream__op_8h_source.html new file mode 100644 index 0000000000..08c2217bd1 --- /dev/null +++ b/doc/ref/core.internal/html/stream__op_8h_source.html @@ -0,0 +1,339 @@ + + + + + + +GRPC Core: src/core/transport/stream_op.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
stream_op.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPC_INTERNAL_CORE_TRANSPORT_STREAM_OP_H
+
35 #define GRPC_INTERNAL_CORE_TRANSPORT_STREAM_OP_H
+
36 
+
37 #include <grpc/grpc.h>
+ +
39 #include <grpc/support/slice.h>
+
40 #include <grpc/support/time.h>
+ +
42 
+
43 /* this many stream ops are inlined into a sopb before allocating */
+
44 #define GRPC_SOPB_INLINE_ELEMENTS 4
+
45 
+
46 /* Operations that can be performed on a stream.
+
47  Used by grpc_stream_op. */
+
48 typedef enum grpc_stream_op_code {
+
49  /* Do nothing code. Useful if rewriting a batch to exclude some operations.
+
50  Must be ignored by receivers */
+ + +
53  /* Begin a message/metadata element/status - as defined by
+
54  grpc_message_type. */
+ +
56  /* Add a slice of data to the current message/metadata element/status.
+
57  Must not overflow the forward declared length. */
+ + +
60 
+
63 #define GRPC_WRITE_INTERNAL_COMPRESS (0x80000000u)
+
64 
+
65 #define GRPC_WRITE_INTERNAL_USED_MASK (GRPC_WRITE_INTERNAL_COMPRESS)
+
66 
+
67 /* Arguments for GRPC_OP_BEGIN_MESSAGE */
+
68 typedef struct grpc_begin_message {
+
69  /* How many bytes of data will this message contain */
+ +
71  /* Write flags for the message: see grpc.h GRPC_WRITE_* for the public bits,
+
72  * GRPC_WRITE_INTERNAL_* for the internal ones. */
+ + +
75 
+
76 typedef struct grpc_linked_mdelem {
+ + + + +
81 
+
82 typedef struct grpc_mdelem_list {
+ + + +
86 
+
87 typedef struct grpc_metadata_batch {
+ + + + +
99 
+ + + +
103  grpc_metadata_batch *add);
+
104 
+ +
108  grpc_metadata_batch *src);
+
109 
+ +
116  grpc_linked_mdelem *storage);
+ +
123  grpc_linked_mdelem *storage);
+
124 
+ +
132  grpc_linked_mdelem *storage,
+
133  grpc_mdelem *elem_to_add);
+ +
141  grpc_linked_mdelem *storage,
+
142  grpc_mdelem *elem_to_add);
+
143 
+ +
149  grpc_mdelem *(*filter)(void *user_data,
+
150  grpc_mdelem *elem),
+
151  void *user_data);
+
152 
+
153 #ifndef NDEBUG
+ +
155 #else
+
156 #define grpc_metadata_batch_assert_ok(comd) \
+
157  do { \
+
158  } while (0)
+
159 #endif
+
160 
+
161 /* Represents a single operation performed on a stream/transport */
+
162 typedef struct grpc_stream_op {
+
163  /* the operation to be applied */
+ +
165  /* the arguments to this operation. union fields are named according to the
+
166  associated op-code */
+
167  union {
+ + + +
171  } data;
+ +
173 
+
176 typedef struct grpc_stream_op_buffer {
+ +
178  size_t nops;
+
179  size_t capacity;
+ + +
182 
+
183 /* Initialize a stream op buffer */
+ +
185 /* Destroy a stream op buffer */
+ +
187 /* Reset a sopb to no elements */
+ +
189 /* Swap two sopbs */
+ +
191 
+ +
193 
+
194 /* Append a GRPC_NO_OP to a buffer */
+ +
196 /* Append a GRPC_OP_BEGIN to a buffer */
+ +
198  gpr_uint32 flags);
+ +
200  grpc_metadata_batch metadata);
+
201 /* Append a GRPC_SLICE to a buffer - does not ref/unref the slice */
+ +
203 /* Append a buffer to a buffer - does not ref/unref any internal objects */
+ +
205  size_t nops);
+
206 
+ +
208 
+ +
210 
+
211 #endif /* GRPC_INTERNAL_CORE_TRANSPORT_STREAM_OP_H */
+
void grpc_metadata_batch_filter(grpc_metadata_batch *batch, grpc_mdelem *(*filter)(void *user_data, grpc_mdelem *elem), void *user_data)
For each element in batch, execute filter.
Definition: stream_op.c:295
+
grpc_metadata_batch metadata
Definition: stream_op.h:169
+
grpc_stream_op_code
Definition: stream_op.h:48
+
void grpc_sopb_add_metadata(grpc_stream_op_buffer *sopb, grpc_metadata_batch metadata)
Definition: stream_op.c:140
+ +
struct grpc_metadata_batch grpc_metadata_batch
+
union grpc_stream_op::@22 data
+
#define GRPC_SOPB_INLINE_ELEMENTS
Definition: stream_op.h:44
+
Definition: stream_op.h:87
+ +
char * grpc_sopb_string(grpc_stream_op_buffer *sopb)
Definition: transport_op_string.c:72
+
size_t capacity
Definition: stream_op.h:179
+
gpr_uint32 length
Definition: stream_op.h:70
+
struct grpc_stream_op grpc_stream_op
+
void grpc_sopb_swap(grpc_stream_op_buffer *a, grpc_stream_op_buffer *b)
Definition: stream_op.c:61
+
Definition: stream_op.h:51
+ +
void grpc_metadata_batch_assert_ok(grpc_metadata_batch *comd)
Definition: stream_op.c:199
+
void grpc_sopb_reset(grpc_stream_op_buffer *sopb)
Definition: stream_op.c:56
+
grpc_mdelem * md
Definition: stream_op.h:77
+
grpc_stream_op * ops
Definition: stream_op.h:177
+
gpr_uint32 flags
Definition: stream_op.h:73
+
uint32_t gpr_uint32
Definition: port_platform.h:309
+
void grpc_sopb_append(grpc_stream_op_buffer *sopb, grpc_stream_op *ops, size_t nops)
Definition: stream_op.c:153
+
struct grpc_mdelem_list grpc_mdelem_list
+
grpc_linked_mdelem * tail
Definition: stream_op.h:84
+
struct grpc_linked_mdelem * prev
Definition: stream_op.h:79
+
void grpc_metadata_batch_add_head(grpc_metadata_batch *batch, grpc_linked_mdelem *storage, grpc_mdelem *elem_to_add)
Add elem_to_add as the first element in batch, using storage as backing storage for the linked list e...
Definition: stream_op.c:221
+
void grpc_metadata_batch_init(grpc_metadata_batch *batch)
Definition: stream_op.c:205
+
Definition: stream_op.h:55
+
void grpc_metadata_batch_merge(grpc_metadata_batch *target, grpc_metadata_batch *add)
Definition: stream_op.c:275
+
grpc_linked_mdelem * head
Definition: stream_op.h:83
+
Definition: metadata.h:78
+
gpr_slice slice
Definition: stream_op.h:170
+
struct grpc_begin_message grpc_begin_message
+
struct grpc_stream_op_buffer grpc_stream_op_buffer
A stream op buffer is a wrapper around stream operations that is dynamically extendable.
+
void grpc_metadata_batch_link_head(grpc_metadata_batch *batch, grpc_linked_mdelem *storage)
Add storage to the beginning of batch.
Definition: stream_op.c:243
+
void grpc_sopb_destroy(grpc_stream_op_buffer *sopb)
Definition: stream_op.c:51
+
void grpc_metadata_batch_move(grpc_metadata_batch *dst, grpc_metadata_batch *src)
Moves the metadata information from src to dst.
Definition: stream_op.c:289
+
size_t nops
Definition: stream_op.h:178
+
void grpc_sopb_init(grpc_stream_op_buffer *sopb)
Definition: stream_op.c:45
+
Definition: stream_op.h:76
+
enum grpc_stream_op_code type
Definition: stream_op.h:164
+
void grpc_sopb_add_slice(grpc_stream_op_buffer *sopb, gpr_slice slice)
Definition: stream_op.c:147
+
void grpc_sopb_add_begin_message(grpc_stream_op_buffer *sopb, gpr_uint32 length, gpr_uint32 flags)
Definition: stream_op.c:132
+
Definition: stream_op.h:52
+
Definition: stream_op.h:68
+ +
void grpc_metadata_batch_add_tail(grpc_metadata_batch *batch, grpc_linked_mdelem *storage, grpc_mdelem *elem_to_add)
Add elem_to_add as the last element in batch, using storage as backing storage for the linked list el...
Definition: stream_op.c:248
+
void grpc_stream_ops_unref_owned_objects(grpc_stream_op *ops, size_t nops)
Definition: stream_op.c:89
+
void grpc_sopb_move_to(grpc_stream_op_buffer *src, grpc_stream_op_buffer *dst)
Definition: stream_op.c:166
+
grpc_mdelem_list list
Metadata elements in this batch.
Definition: stream_op.h:89
+
void grpc_metadata_batch_link_tail(grpc_metadata_batch *batch, grpc_linked_mdelem *storage)
Add storage to the end of batch.
Definition: stream_op.c:270
+
Definition: time.h:60
+
gpr_timespec deadline
Used to calculate grpc-timeout at the point of sending, or gpr_inf_future if this batch does not need...
Definition: stream_op.h:97
+
grpc_begin_message begin_message
Definition: stream_op.h:168
+
grpc_mdelem_list garbage
Elements that have been removed from the batch, but have not yet been unreffed - used to allow collec...
Definition: stream_op.h:93
+
Definition: stream_op.h:162
+
A stream op buffer is a wrapper around stream operations that is dynamically extendable.
Definition: stream_op.h:176
+ +
struct grpc_linked_mdelem * next
Definition: stream_op.h:78
+
Definition: stream_op.h:58
+
grpc_stream_op inlined_ops[4]
Definition: stream_op.h:180
+
Definition: slice.h:79
+
void grpc_metadata_batch_destroy(grpc_metadata_batch *batch)
Definition: stream_op.c:211
+
Definition: stream_op.h:82
+
void grpc_sopb_add_no_op(grpc_stream_op_buffer *sopb)
Definition: stream_op.c:128
+
struct grpc_linked_mdelem grpc_linked_mdelem
+
+ + + + diff --git a/doc/ref/core.internal/html/string_8c.html b/doc/ref/core.internal/html/string_8c.html new file mode 100644 index 0000000000..7a442b0a8c --- /dev/null +++ b/doc/ref/core.internal/html/string_8c.html @@ -0,0 +1,493 @@ + + + + + + +GRPC Core: src/core/support/string.c File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
string.c File Reference
+
+
+
#include "src/core/support/string.h"
+#include <ctype.h>
+#include <stddef.h>
+#include <grpc/support/alloc.h>
+#include <grpc/support/log.h>
+#include <grpc/support/port_platform.h>
+#include <grpc/support/useful.h>
+
+ + + +

+Data Structures

struct  dump_out
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

char * gpr_strdup (const char *src)
 
char * gpr_dump (const char *buf, size_t len, gpr_uint32 flags)
 
char * gpr_dump_slice (gpr_slice s, gpr_uint32 flags)
 
int gpr_parse_bytes_to_uint32 (const char *buf, size_t len, gpr_uint32 *result)
 
void gpr_reverse_bytes (char *str, int len)
 
int gpr_ltoa (long value, char *string)
 
char * gpr_strjoin (const char **strs, size_t nstrs, size_t *final_length)
 
char * gpr_strjoin_sep (const char **strs, size_t nstrs, const char *sep, size_t *final_length)
 
void gpr_slice_split (gpr_slice str, const char *sep, gpr_slice_buffer *dst)
 Split str by the separator sep. More...
 
void gpr_strvec_init (gpr_strvec *sv)
 
void gpr_strvec_destroy (gpr_strvec *sv)
 
void gpr_strvec_add (gpr_strvec *sv, char *str)
 
char * gpr_strvec_flatten (gpr_strvec *sv, size_t *final_length)
 
+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
char* gpr_dump (const char * buf,
size_t len,
gpr_uint32 flags 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
char* gpr_dump_slice (gpr_slice s,
gpr_uint32 flags 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
int gpr_ltoa (long value,
char * string 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
int gpr_parse_bytes_to_uint32 (const char * buf,
size_t len,
gpr_uint32result 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void gpr_reverse_bytes (char * str,
int len 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void gpr_slice_split (gpr_slice str,
const char * sep,
gpr_slice_bufferdst 
)
+
+ +

Split str by the separator sep.

+

Results are stored in dst, which should be a properly initialized instance.

+ +
+
+ +
+
+ + + + + + + + +
char* gpr_strdup (const char * src)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
char* gpr_strjoin (const char ** strs,
size_t nstrs,
size_t * final_length 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
char* gpr_strjoin_sep (const char ** strs,
size_t nstrs,
const char * sep,
size_t * final_length 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void gpr_strvec_add (gpr_strvecsv,
char * str 
)
+
+ +
+
+ +
+
+ + + + + + + + +
void gpr_strvec_destroy (gpr_strvecsv)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
char* gpr_strvec_flatten (gpr_strvecsv,
size_t * final_length 
)
+
+ +
+
+ +
+
+ + + + + + + + +
void gpr_strvec_init (gpr_strvecsv)
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/string_8h.html b/doc/ref/core.internal/html/string_8h.html new file mode 100644 index 0000000000..514e8263d8 --- /dev/null +++ b/doc/ref/core.internal/html/string_8h.html @@ -0,0 +1,521 @@ + + + + + + +GRPC Core: src/core/support/string.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
string.h File Reference
+
+
+
#include <stddef.h>
+#include <grpc/support/port_platform.h>
+#include <grpc/support/slice_buffer.h>
+#include <grpc/support/slice.h>
+
+

Go to the source code of this file.

+ + + + +

+Data Structures

struct  gpr_strvec
 
+ + + + + + + +

+Macros

#define GPR_DUMP_HEX   0x00000001
 
#define GPR_DUMP_ASCII   0x00000002
 
#define GPR_LTOA_MIN_BUFSIZE   (3 * sizeof(long))
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

char * gpr_dump (const char *buf, size_t len, gpr_uint32 flags)
 
char * gpr_dump_slice (gpr_slice slice, gpr_uint32 flags)
 
int gpr_parse_bytes_to_uint32 (const char *data, size_t length, gpr_uint32 *result)
 
int gpr_ltoa (long value, char *output)
 
void gpr_reverse_bytes (char *str, int len)
 
char * gpr_strjoin (const char **strs, size_t nstrs, size_t *total_length)
 
char * gpr_strjoin_sep (const char **strs, size_t nstrs, const char *sep, size_t *total_length)
 
void gpr_slice_split (gpr_slice str, const char *sep, gpr_slice_buffer *dst)
 Split str by the separator sep. More...
 
void gpr_strvec_init (gpr_strvec *strs)
 
void gpr_strvec_destroy (gpr_strvec *strs)
 
void gpr_strvec_add (gpr_strvec *strs, char *add)
 
char * gpr_strvec_flatten (gpr_strvec *strs, size_t *total_length)
 
+

Macro Definition Documentation

+ +
+
+ + + + +
#define GPR_DUMP_ASCII   0x00000002
+
+ +
+
+ +
+
+ + + + +
#define GPR_DUMP_HEX   0x00000001
+
+ +
+
+ +
+
+ + + + +
#define GPR_LTOA_MIN_BUFSIZE   (3 * sizeof(long))
+
+ +
+
+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
char* gpr_dump (const char * buf,
size_t len,
gpr_uint32 flags 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
char* gpr_dump_slice (gpr_slice slice,
gpr_uint32 flags 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
int gpr_ltoa (long value,
char * output 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
int gpr_parse_bytes_to_uint32 (const char * data,
size_t length,
gpr_uint32result 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void gpr_reverse_bytes (char * str,
int len 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void gpr_slice_split (gpr_slice str,
const char * sep,
gpr_slice_bufferdst 
)
+
+ +

Split str by the separator sep.

+

Results are stored in dst, which should be a properly initialized instance.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
char* gpr_strjoin (const char ** strs,
size_t nstrs,
size_t * total_length 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
char* gpr_strjoin_sep (const char ** strs,
size_t nstrs,
const char * sep,
size_t * total_length 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void gpr_strvec_add (gpr_strvecstrs,
char * add 
)
+
+ +
+
+ +
+
+ + + + + + + + +
void gpr_strvec_destroy (gpr_strvecstrs)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
char* gpr_strvec_flatten (gpr_strvecstrs,
size_t * total_length 
)
+
+ +
+
+ +
+
+ + + + + + + + +
void gpr_strvec_init (gpr_strvecstrs)
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/string_8h_source.html b/doc/ref/core.internal/html/string_8h_source.html new file mode 100644 index 0000000000..aac188a866 --- /dev/null +++ b/doc/ref/core.internal/html/string_8h_source.html @@ -0,0 +1,231 @@ + + + + + + +GRPC Core: src/core/support/string.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
string.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPC_INTERNAL_CORE_SUPPORT_STRING_H
+
35 #define GRPC_INTERNAL_CORE_SUPPORT_STRING_H
+
36 
+
37 #include <stddef.h>
+
38 
+ + +
41 #include <grpc/support/slice.h>
+
42 
+
43 #ifdef __cplusplus
+
44 extern "C" {
+
45 #endif
+
46 
+
47 /* String utility functions */
+
48 
+
49 /* Flags for gpr_dump function. */
+
50 #define GPR_DUMP_HEX 0x00000001
+
51 #define GPR_DUMP_ASCII 0x00000002
+
52 
+
53 /* Converts array buf, of length len, into a C string according to the flags.
+
54  Result should be freed with gpr_free() */
+
55 char *gpr_dump(const char *buf, size_t len, gpr_uint32 flags);
+
56 
+
57 /* Calls gpr_dump on a slice. */
+
58 char *gpr_dump_slice(gpr_slice slice, gpr_uint32 flags);
+
59 
+
60 /* Parses an array of bytes into an integer (base 10). Returns 1 on success,
+
61  0 on failure. */
+
62 int gpr_parse_bytes_to_uint32(const char *data, size_t length,
+
63  gpr_uint32 *result);
+
64 
+
65 /* Minimum buffer size for calling ltoa */
+
66 #define GPR_LTOA_MIN_BUFSIZE (3 * sizeof(long))
+
67 
+
68 /* Convert a long to a string in base 10; returns the length of the
+
69  output string (or 0 on failure).
+
70  output must be at least GPR_LTOA_MIN_BUFSIZE bytes long. */
+
71 int gpr_ltoa(long value, char *output);
+
72 
+
73 /* Reverse a run of bytes */
+
74 void gpr_reverse_bytes(char *str, int len);
+
75 
+
76 /* Join a set of strings, returning the resulting string.
+
77  Total combined length (excluding null terminator) is returned in total_length
+
78  if it is non-null. */
+
79 char *gpr_strjoin(const char **strs, size_t nstrs, size_t *total_length);
+
80 
+
81 /* Join a set of strings using a separator, returning the resulting string.
+
82  Total combined length (excluding null terminator) is returned in total_length
+
83  if it is non-null. */
+
84 char *gpr_strjoin_sep(const char **strs, size_t nstrs, const char *sep,
+
85  size_t *total_length);
+
86 
+
89 void gpr_slice_split(gpr_slice str, const char *sep, gpr_slice_buffer *dst);
+
90 
+
91 /* A vector of strings... for building up a final string one piece at a time */
+
92 typedef struct {
+
93  char **strs;
+
94  size_t count;
+
95  size_t capacity;
+
96 } gpr_strvec;
+
97 
+
98 /* Initialize/destroy */
+
99 void gpr_strvec_init(gpr_strvec *strs);
+
100 void gpr_strvec_destroy(gpr_strvec *strs);
+
101 /* Add a string to a strvec, takes ownership of the string */
+
102 void gpr_strvec_add(gpr_strvec *strs, char *add);
+
103 /* Return a joined string with all added substrings, optionally setting
+
104  total_length as per gpr_strjoin */
+
105 char *gpr_strvec_flatten(gpr_strvec *strs, size_t *total_length);
+
106 
+
107 #ifdef __cplusplus
+
108 }
+
109 #endif
+
110 
+
111 #endif /* GRPC_INTERNAL_CORE_SUPPORT_STRING_H */
+
const char * value
Definition: hpack_table.c:44
+ +
char * gpr_strvec_flatten(gpr_strvec *strs, size_t *total_length)
Definition: string.c:278
+
int gpr_parse_bytes_to_uint32(const char *data, size_t length, gpr_uint32 *result)
Definition: string.c:129
+
char * gpr_strjoin(const char **strs, size_t nstrs, size_t *total_length)
Definition: string.c:177
+
uint32_t gpr_uint32
Definition: port_platform.h:309
+
char * gpr_strjoin_sep(const char **strs, size_t nstrs, const char *sep, size_t *total_length)
Definition: string.c:181
+
char * gpr_dump_slice(gpr_slice slice, gpr_uint32 flags)
Definition: string.c:123
+
Definition: slice_buffer.h:48
+
char ** strs
Definition: string.h:93
+
Definition: string.h:92
+
void gpr_reverse_bytes(char *str, int len)
Definition: string.c:147
+
void gpr_strvec_add(gpr_strvec *strs, char *add)
Definition: string.c:270
+ +
void gpr_strvec_init(gpr_strvec *strs)
Definition: string.c:258
+
void gpr_strvec_destroy(gpr_strvec *strs)
Definition: string.c:262
+ +
void gpr_slice_split(gpr_slice str, const char *sep, gpr_slice_buffer *dst)
Split str by the separator sep.
Definition: string.c:240
+
int gpr_ltoa(long value, char *output)
Definition: string.c:156
+
size_t count
Definition: string.h:94
+
char * gpr_dump(const char *buf, size_t len, gpr_uint32 flags)
Definition: string.c:111
+
Definition: slice.h:79
+
size_t capacity
Definition: string.h:95
+
+ + + + diff --git a/doc/ref/core.internal/html/string__posix_8c.html b/doc/ref/core.internal/html/string__posix_8c.html new file mode 100644 index 0000000000..5f4a5b0c8c --- /dev/null +++ b/doc/ref/core.internal/html/string__posix_8c.html @@ -0,0 +1,100 @@ + + + + + + +GRPC Core: src/core/support/string_posix.c File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
string_posix.c File Reference
+
+ + + + + diff --git a/doc/ref/core.internal/html/string__util_8h.html b/doc/ref/core.internal/html/string__util_8h.html new file mode 100644 index 0000000000..00608a3e7b --- /dev/null +++ b/doc/ref/core.internal/html/string__util_8h.html @@ -0,0 +1,160 @@ + + + + + + +GRPC Core: include/grpc/support/string_util.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
string_util.h File Reference
+
+
+ +

Go to the source code of this file.

+ + + + + + +

+Functions

char * gpr_strdup (const char *src)
 
int gpr_asprintf (char **strp, const char *format,...)
 
+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
int gpr_asprintf (char ** strp,
const char * format,
 ... 
)
+
+ +
+
+ +
+
+ + + + + + + + +
char* gpr_strdup (const char * src)
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/string__util_8h_source.html b/doc/ref/core.internal/html/string__util_8h_source.html new file mode 100644 index 0000000000..0193f62c3b --- /dev/null +++ b/doc/ref/core.internal/html/string__util_8h_source.html @@ -0,0 +1,162 @@ + + + + + + +GRPC Core: include/grpc/support/string_util.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
string_util.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPC_SUPPORT_STRING_UTIL_H
+
35 #define GRPC_SUPPORT_STRING_UTIL_H
+
36 
+
37 #ifdef __cplusplus
+
38 extern "C" {
+
39 #endif
+
40 
+
41 /* String utility functions */
+
42 
+
43 /* Returns a copy of src that can be passed to gpr_free().
+
44  If allocation fails or if src is NULL, returns NULL. */
+
45 char *gpr_strdup(const char *src);
+
46 
+
47 /* printf to a newly-allocated string. The set of supported formats may vary
+
48  between platforms.
+
49 
+
50  On success, returns the number of bytes printed (excluding the final '\0'),
+
51  and *strp points to a string which must later be destroyed with gpr_free().
+
52 
+
53  On error, returns -1 and sets *strp to NULL. If the format string is bad,
+
54  the result is undefined. */
+
55 int gpr_asprintf(char **strp, const char *format, ...);
+
56 
+
57 #ifdef __cplusplus
+
58 }
+
59 #endif
+
60 
+
61 #endif /* GRPC_SUPPORT_STRING_UTIL_H */
+
char * gpr_strdup(const char *src)
Definition: string.c:45
+
int gpr_asprintf(char **strp, const char *format,...)
+
+ + + + diff --git a/doc/ref/core.internal/html/string__win32_8c.html b/doc/ref/core.internal/html/string__win32_8c.html new file mode 100644 index 0000000000..e74059a718 --- /dev/null +++ b/doc/ref/core.internal/html/string__win32_8c.html @@ -0,0 +1,100 @@ + + + + + + +GRPC Core: src/core/support/string_win32.c File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
string_win32.c File Reference
+
+ + + + + diff --git a/doc/ref/core.internal/html/string__win32_8h.html b/doc/ref/core.internal/html/string__win32_8h.html new file mode 100644 index 0000000000..ce89652a7c --- /dev/null +++ b/doc/ref/core.internal/html/string__win32_8h.html @@ -0,0 +1,102 @@ + + + + + + +GRPC Core: src/core/support/string_win32.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
string_win32.h File Reference
+
+ + + + + diff --git a/doc/ref/core.internal/html/string__win32_8h_source.html b/doc/ref/core.internal/html/string__win32_8h_source.html new file mode 100644 index 0000000000..ca51b84a2e --- /dev/null +++ b/doc/ref/core.internal/html/string__win32_8h_source.html @@ -0,0 +1,147 @@ + + + + + + +GRPC Core: src/core/support/string_win32.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
string_win32.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPC_INTERNAL_CORE_SUPPORT_STRING_WIN32_H
+
35 #define GRPC_INTERNAL_CORE_SUPPORT_STRING_WIN32_H
+
36 
+ +
38 
+
39 #ifdef GPR_WIN32
+
40 
+
41 /* These allocate new strings using gpr_malloc to convert from and to utf-8. */
+
42 LPTSTR gpr_char_to_tchar(LPCSTR input);
+
43 LPSTR gpr_tchar_to_char(LPCTSTR input);
+
44 
+
45 #endif /* GPR_WIN32 */
+
46 
+
47 #endif /* GRPC_INTERNAL_CORE_SUPPORT_STRING_WIN32_H */
+ +
+ + + + diff --git a/doc/ref/core.internal/html/structarg.html b/doc/ref/core.internal/html/structarg.html new file mode 100644 index 0000000000..75f99b50fe --- /dev/null +++ b/doc/ref/core.internal/html/structarg.html @@ -0,0 +1,176 @@ + + + + + + +GRPC Core: arg Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
arg Struct Reference
+
+
+ + + + + + + + + + + + +

+Data Fields

const char * name
 
const char * help
 
argtype type
 
void * value
 
struct argnext
 
+

Field Documentation

+ +
+
+ + + + +
const char* arg::help
+
+ +
+
+ +
+
+ + + + +
const char* arg::name
+
+ +
+
+ +
+
+ + + + +
struct arg* arg::next
+
+ +
+
+ +
+
+ + + + +
argtype arg::type
+
+ +
+
+ +
+
+ + + + +
void* arg::value
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structb64__huff__sym.html b/doc/ref/core.internal/html/structb64__huff__sym.html new file mode 100644 index 0000000000..6f26c92fba --- /dev/null +++ b/doc/ref/core.internal/html/structb64__huff__sym.html @@ -0,0 +1,134 @@ + + + + + + +GRPC Core: b64_huff_sym Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
b64_huff_sym Struct Reference
+
+
+ + + + + + +

+Data Fields

gpr_uint16 bits
 
gpr_uint8 length
 
+

Field Documentation

+ +
+
+ + + + +
gpr_uint16 b64_huff_sym::bits
+
+ +
+
+ +
+
+ + + + +
gpr_uint8 b64_huff_sym::length
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structcall__data.html b/doc/ref/core.internal/html/structcall__data.html new file mode 100644 index 0000000000..de04869636 --- /dev/null +++ b/doc/ref/core.internal/html/structcall__data.html @@ -0,0 +1,874 @@ + + + + + + +GRPC Core: call_data Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
call_data Struct Reference
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Data Fields

grpc_credentialscreds
 
grpc_mdstrhost
 
grpc_mdstrmethod
 
grpc_pollsetpollset
 
grpc_transport_stream_op op
 
size_t op_md_idx
 
int sent_initial_metadata
 
gpr_uint8 security_context_set
 
grpc_linked_mdelem md_links [4]
 
int unused
 
grpc_call_elementelem
 
gpr_mu mu_state
 protects state More...
 
call_state state
 the current state of a call - see call_state More...
 
gpr_timespec deadline
 
grpc_subchannelpicked_channel
 
grpc_iomgr_closure async_setup_task
 
grpc_transport_stream_op waiting_op
 
grpc_subchannel_callsubchannel_call
 
grpc_linked_mdelem status
 
grpc_linked_mdelem details
 
gpr_slice_buffer slices
 Buffers up input slices to be compressed. More...
 
grpc_linked_mdelem compression_algorithm_storage
 
int remaining_slice_bytes
 Input data to be read, as per BEGIN_MESSAGE. More...
 
int written_initial_metadata
 Already processed initial md? More...
 
grpc_compression_algorithm compression_algorithm
 Compression algorithm we'll try to use. More...
 
int has_compression_algorithm
 If true, contents of compression_algorithm are authoritative. More...
 
grpc_linked_mdelem method
 
grpc_linked_mdelem scheme
 
grpc_linked_mdelem authority
 
grpc_linked_mdelem te_trailers
 
grpc_linked_mdelem content_type
 
grpc_linked_mdelem user_agent
 
int sent_authority
 
int got_initial_metadata
 
grpc_stream_op_bufferrecv_ops
 
grpc_iomgr_closureon_done_recv
 Closure to call when finished with the hc_on_recv hook. More...
 
grpc_iomgr_closure hc_on_recv
 Receive closures are chained: we inject this closure as the on_done_recv up-call on transport_op, and remember to call our on_done_recv member after handling it. More...
 
gpr_uint8 got_initial_metadata
 
gpr_uint8 seen_path
 
gpr_uint8 seen_post
 
gpr_uint8 sent_status
 
gpr_uint8 seen_scheme
 
gpr_uint8 seen_te_trailers
 
gpr_uint8 seen_authority
 
grpc_iomgr_closure hs_on_recv
 Receive closures are chained: we inject this closure as the on_done_recv up-call on transport_op, and remember to call our on_done_recv member after handling it. More...
 
grpc_callcall
 
grpc_mdstrpath
 
grpc_completion_queuecq_new
 
grpc_stream_staterecv_state
 
grpc_iomgr_closure server_on_recv
 
grpc_iomgr_closure kill_zombie_closure
 
call_datapending_next
 
+

Field Documentation

+ +
+
+ + + + +
grpc_iomgr_closure call_data::async_setup_task
+
+ +
+
+ +
+
+ + + + +
grpc_linked_mdelem call_data::authority
+
+ +
+
+ +
+
+ + + + +
grpc_call* call_data::call
+
+ +
+
+ +
+
+ + + + +
grpc_compression_algorithm call_data::compression_algorithm
+
+ +

Compression algorithm we'll try to use.

+

It may be given by incoming metadata, or by the channel's default compression settings.

+ +
+
+ +
+
+ + + + +
grpc_linked_mdelem call_data::compression_algorithm_storage
+
+ +
+
+ +
+
+ + + + +
grpc_linked_mdelem call_data::content_type
+
+ +
+
+ +
+
+ + + + +
grpc_completion_queue* call_data::cq_new
+
+ +
+
+ +
+
+ + + + +
grpc_credentials* call_data::creds
+
+ +
+
+ +
+
+ + + + +
gpr_timespec call_data::deadline
+
+ +
+
+ +
+
+ + + + +
grpc_linked_mdelem call_data::details
+
+ +
+
+ +
+
+ + + + +
grpc_call_element* call_data::elem
+
+ +
+
+ +
+
+ + + + +
gpr_uint8 call_data::got_initial_metadata
+
+ +
+
+ +
+
+ + + + +
int call_data::got_initial_metadata
+
+ +
+
+ +
+
+ + + + +
int call_data::has_compression_algorithm
+
+ +

If true, contents of compression_algorithm are authoritative.

+ +
+
+ +
+
+ + + + +
grpc_iomgr_closure call_data::hc_on_recv
+
+ +

Receive closures are chained: we inject this closure as the on_done_recv up-call on transport_op, and remember to call our on_done_recv member after handling it.

+ +
+
+ +
+
+ + + + +
grpc_mdstr * call_data::host
+
+ +
+
+ +
+
+ + + + +
grpc_iomgr_closure call_data::hs_on_recv
+
+ +

Receive closures are chained: we inject this closure as the on_done_recv up-call on transport_op, and remember to call our on_done_recv member after handling it.

+ +
+
+ +
+
+ + + + +
grpc_iomgr_closure call_data::kill_zombie_closure
+
+ +
+
+ +
+
+ + + + +
grpc_linked_mdelem call_data::md_links[4]
+
+ +
+
+ +
+
+ + + + +
grpc_linked_mdelem call_data::method
+
+ +
+
+ +
+
+ + + + +
grpc_mdstr* call_data::method
+
+ +
+
+ +
+
+ + + + +
gpr_mu call_data::mu_state
+
+ +

protects state

+ +
+
+ +
+
+ + + + +
grpc_iomgr_closure * call_data::on_done_recv
+
+ +

Closure to call when finished with the hc_on_recv hook.

+

Closure to call when finished with the hs_on_recv hook.

+ +
+
+ +
+
+ + + + +
grpc_transport_stream_op call_data::op
+
+ +
+
+ +
+
+ + + + +
size_t call_data::op_md_idx
+
+ +
+
+ +
+
+ + + + +
grpc_mdstr* call_data::path
+
+ +
+
+ +
+
+ + + + +
call_data* call_data::pending_next
+
+ +
+
+ +
+
+ + + + +
grpc_subchannel* call_data::picked_channel
+
+ +
+
+ +
+
+ + + + +
grpc_pollset* call_data::pollset
+
+ +
+
+ +
+
+ + + + +
grpc_stream_op_buffer * call_data::recv_ops
+
+ +
+
+ +
+
+ + + + +
grpc_stream_state* call_data::recv_state
+
+ +
+
+ +
+
+ + + + +
int call_data::remaining_slice_bytes
+
+ +

Input data to be read, as per BEGIN_MESSAGE.

+ +
+
+ +
+
+ + + + +
grpc_linked_mdelem call_data::scheme
+
+ +
+
+ +
+
+ + + + +
gpr_uint8 call_data::security_context_set
+
+ +
+
+ +
+
+ + + + +
gpr_uint8 call_data::seen_authority
+
+ +
+
+ +
+
+ + + + +
gpr_uint8 call_data::seen_path
+
+ +
+
+ +
+
+ + + + +
gpr_uint8 call_data::seen_post
+
+ +
+
+ +
+
+ + + + +
gpr_uint8 call_data::seen_scheme
+
+ +
+
+ +
+
+ + + + +
gpr_uint8 call_data::seen_te_trailers
+
+ +
+
+ +
+
+ + + + +
int call_data::sent_authority
+
+ +
+
+ +
+
+ + + + +
int call_data::sent_initial_metadata
+
+ +
+
+ +
+
+ + + + +
gpr_uint8 call_data::sent_status
+
+ +
+
+ +
+
+ + + + +
grpc_iomgr_closure call_data::server_on_recv
+
+ +
+
+ +
+
+ + + + +
gpr_slice_buffer call_data::slices
+
+ +

Buffers up input slices to be compressed.

+ +
+
+ +
+
+ + + + +
call_state call_data::state
+
+ +

the current state of a call - see call_state

+ +
+
+ +
+
+ + + + +
grpc_linked_mdelem call_data::status
+
+ +
+
+ +
+
+ + + + +
grpc_subchannel_call* call_data::subchannel_call
+
+ +
+
+ +
+
+ + + + +
grpc_linked_mdelem call_data::te_trailers
+
+ +
+
+ +
+
+ + + + +
int call_data::unused
+
+ +
+
+ +
+
+ + + + +
grpc_linked_mdelem call_data::user_agent
+
+ +
+
+ +
+
+ + + + +
grpc_transport_stream_op call_data::waiting_op
+
+ +
+
+ +
+
+ + + + +
int call_data::written_initial_metadata
+
+ +

Already processed initial md?

+ +
+
+
The documentation for this struct was generated from the following files: +
+ + + + diff --git a/doc/ref/core.internal/html/structcall__link.html b/doc/ref/core.internal/html/structcall__link.html new file mode 100644 index 0000000000..a509c9e408 --- /dev/null +++ b/doc/ref/core.internal/html/structcall__link.html @@ -0,0 +1,134 @@ + + + + + + +GRPC Core: call_link Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
call_link Struct Reference
+
+
+ + + + + + +

+Data Fields

call_datanext
 
call_dataprev
 
+

Field Documentation

+ +
+
+ + + + +
call_data* call_link::next
+
+ +
+
+ +
+
+ + + + +
call_data* call_link::prev
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structcensus__context.html b/doc/ref/core.internal/html/structcensus__context.html new file mode 100644 index 0000000000..dcd1468228 --- /dev/null +++ b/doc/ref/core.internal/html/structcensus__context.html @@ -0,0 +1,136 @@ + + + + + + +GRPC Core: census_context Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
census_context Struct Reference
+
+
+ +

#include <context.h>

+ + + + + + +

+Data Fields

gpr_uint64 op_id
 
gpr_uint64 trace_id
 
+

Field Documentation

+ +
+
+ + + + +
gpr_uint64 census_context::op_id
+
+ +
+
+ +
+
+ + + + +
gpr_uint64 census_context::trace_id
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structcensus__stat.html b/doc/ref/core.internal/html/structcensus__stat.html new file mode 100644 index 0000000000..9153bd8c11 --- /dev/null +++ b/doc/ref/core.internal/html/structcensus__stat.html @@ -0,0 +1,136 @@ + + + + + + +GRPC Core: census_stat Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
census_stat Struct Reference
+
+
+ +

#include <census.h>

+ + + + + + +

+Data Fields

int id
 
double value
 
+

Field Documentation

+ +
+
+ + + + +
int census_stat::id
+
+ +
+
+ +
+
+ + + + +
double census_stat::value
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structchannel__broadcaster.html b/doc/ref/core.internal/html/structchannel__broadcaster.html new file mode 100644 index 0000000000..a33724e43d --- /dev/null +++ b/doc/ref/core.internal/html/structchannel__broadcaster.html @@ -0,0 +1,134 @@ + + + + + + +GRPC Core: channel_broadcaster Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
channel_broadcaster Struct Reference
+
+
+ + + + + + +

+Data Fields

grpc_channel ** channels
 
size_t num_channels
 
+

Field Documentation

+ +
+
+ + + + +
grpc_channel** channel_broadcaster::channels
+
+ +
+
+ +
+
+ + + + +
size_t channel_broadcaster::num_channels
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structchannel__data.html b/doc/ref/core.internal/html/structchannel__data.html new file mode 100644 index 0000000000..ff54b2c8e1 --- /dev/null +++ b/doc/ref/core.internal/html/structchannel__data.html @@ -0,0 +1,849 @@ + + + + + + +GRPC Core: channel_data Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
channel_data Struct Reference
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Data Fields

grpc_channel_security_connectorsecurity_connector
 
grpc_mdctxmd_ctx
 
grpc_mdstrauthority_string
 
grpc_mdstrpath_string
 
grpc_mdstrerror_msg_key
 
grpc_mdstrstatus_key
 
grpc_security_connectorsecurity_connector
 
grpc_mdctxmdctx
 metadata context for this channel More...
 
grpc_resolverresolver
 resolver for this channel More...
 
grpc_channelmaster
 master channel - the grpc_channel instance that ultimately owns this channel_data via its channel stack. More...
 
gpr_mu mu_config
 mutex protecting client configuration, including all variables below in this data structure More...
 
grpc_lb_policylb_policy
 currently active load balancer - guarded by mu_config More...
 
grpc_client_configincoming_configuration
 incoming configuration - set by resolver.next guarded by mu_config More...
 
grpc_iomgr_closurewaiting_for_config_closures
 a list of closures that are all waiting for config to come in More...
 
grpc_iomgr_closure on_config_changed
 resolver callback More...
 
grpc_connectivity_state_tracker state_tracker
 connectivity state being tracked More...
 
int exit_idle_when_lb_policy_arrives
 when an lb_policy arrives, should we try to exit idle More...
 
grpc_pollset_set pollset_set
 pollset_set of interested parties in a new connection More...
 
grpc_mdstrmdstr_request_compression_algorithm_key
 Metadata key for the incoming (requested) compression algorithm. More...
 
grpc_mdstrmdstr_outgoing_compression_algorithm_key
 Metadata key for the outgoing (used) compression algorithm. More...
 
grpc_mdelemmdelem_compression_algorithms [GRPC_COMPRESS_ALGORITHMS_COUNT]
 Precomputed metadata elements for all available compression algorithms. More...
 
grpc_compression_algorithm default_compression_algorithm
 The default, channel-level, compression algorithm. More...
 
grpc_mdelemte_trailers
 
grpc_mdelemmethod
 
grpc_mdelemscheme
 
grpc_mdelemcontent_type
 
grpc_mdelemstatus
 
grpc_mdelemdefault_authority
 
grpc_mdelemuser_agent
 complete user agent mdelem More...
 
grpc_mdelemmethod_post
 
grpc_mdelemhttp_scheme
 
grpc_mdelemhttps_scheme
 
grpc_mdelemgrpc_scheme
 
grpc_mdelemstatus_ok
 
grpc_mdelemstatus_not_found
 
grpc_mdstrpath_key
 
grpc_mdstrauthority_key
 
grpc_mdstrhost_key
 
int unused
 
grpc_serverserver
 
grpc_connectivity_state connectivity_state
 
grpc_channelchannel
 
channel_datanext
 
channel_dataprev
 
channel_registered_methodregistered_methods
 
gpr_uint32 registered_method_slots
 
gpr_uint32 registered_method_max_probes
 
grpc_iomgr_closure finish_destroy_channel_closure
 
grpc_iomgr_closure channel_connectivity_changed
 
+

Field Documentation

+ +
+
+ + + + +
grpc_mdstr * channel_data::authority_key
+
+ +
+
+ +
+
+ + + + +
grpc_mdstr* channel_data::authority_string
+
+ +
+
+ +
+
+ + + + +
grpc_channel* channel_data::channel
+
+ +
+
+ +
+
+ + + + +
grpc_iomgr_closure channel_data::channel_connectivity_changed
+
+ +
+
+ +
+
+ + + + +
grpc_connectivity_state channel_data::connectivity_state
+
+ +
+
+ +
+
+ + + + +
grpc_mdelem * channel_data::content_type
+
+ +
+
+ +
+
+ + + + +
grpc_mdelem* channel_data::default_authority
+
+ +
+
+ +
+
+ + + + +
grpc_compression_algorithm channel_data::default_compression_algorithm
+
+ +

The default, channel-level, compression algorithm.

+ +
+
+ +
+
+ + + + +
grpc_mdstr* channel_data::error_msg_key
+
+ +
+
+ +
+
+ + + + +
int channel_data::exit_idle_when_lb_policy_arrives
+
+ +

when an lb_policy arrives, should we try to exit idle

+ +
+
+ +
+
+ + + + +
grpc_iomgr_closure channel_data::finish_destroy_channel_closure
+
+ +
+
+ +
+
+ + + + +
grpc_mdelem* channel_data::grpc_scheme
+
+ +
+
+ +
+
+ + + + +
grpc_mdstr* channel_data::host_key
+
+ +
+
+ +
+
+ + + + +
grpc_mdelem* channel_data::http_scheme
+
+ +
+
+ +
+
+ + + + +
grpc_mdelem* channel_data::https_scheme
+
+ +
+
+ +
+
+ + + + +
grpc_client_config* channel_data::incoming_configuration
+
+ +

incoming configuration - set by resolver.next guarded by mu_config

+ +
+
+ +
+
+ + + + +
grpc_lb_policy* channel_data::lb_policy
+
+ +

currently active load balancer - guarded by mu_config

+ +
+
+ +
+
+ + + + +
grpc_channel * channel_data::master
+
+ +

master channel - the grpc_channel instance that ultimately owns this channel_data via its channel stack.

+

We occasionally use this to bump the refcount on the master channel to keep ourselves alive through an asynchronous operation.

+ +
+
+ +
+
+ + + + +
grpc_mdctx* channel_data::md_ctx
+
+ +
+
+ +
+
+ + + + +
grpc_mdctx * channel_data::mdctx
+
+ +

metadata context for this channel

+ +
+
+ +
+
+ + + + +
grpc_mdelem* channel_data::mdelem_compression_algorithms[GRPC_COMPRESS_ALGORITHMS_COUNT]
+
+ +

Precomputed metadata elements for all available compression algorithms.

+ +
+
+ +
+
+ + + + +
grpc_mdstr* channel_data::mdstr_outgoing_compression_algorithm_key
+
+ +

Metadata key for the outgoing (used) compression algorithm.

+ +
+
+ +
+
+ + + + +
grpc_mdstr* channel_data::mdstr_request_compression_algorithm_key
+
+ +

Metadata key for the incoming (requested) compression algorithm.

+ +
+
+ +
+
+ + + + +
grpc_mdelem* channel_data::method
+
+ +
+
+ +
+
+ + + + +
grpc_mdelem* channel_data::method_post
+
+ +
+
+ +
+
+ + + + +
gpr_mu channel_data::mu_config
+
+ +

mutex protecting client configuration, including all variables below in this data structure

+ +
+
+ +
+
+ + + + +
channel_data* channel_data::next
+
+ +
+
+ +
+
+ + + + +
grpc_iomgr_closure channel_data::on_config_changed
+
+ +

resolver callback

+ +
+
+ +
+
+ + + + +
grpc_mdstr * channel_data::path_key
+
+ +
+
+ +
+
+ + + + +
grpc_mdstr* channel_data::path_string
+
+ +
+
+ +
+
+ + + + +
grpc_pollset_set channel_data::pollset_set
+
+ +

pollset_set of interested parties in a new connection

+ +
+
+ +
+
+ + + + +
channel_data* channel_data::prev
+
+ +
+
+ +
+
+ + + + +
gpr_uint32 channel_data::registered_method_max_probes
+
+ +
+
+ +
+
+ + + + +
gpr_uint32 channel_data::registered_method_slots
+
+ +
+
+ +
+
+ + + + +
channel_registered_method* channel_data::registered_methods
+
+ +
+
+ +
+
+ + + + +
grpc_resolver* channel_data::resolver
+
+ +

resolver for this channel

+ +
+
+ +
+
+ + + + +
grpc_mdelem* channel_data::scheme
+
+ +
+
+ +
+
+ + + + +
grpc_security_connector* channel_data::security_connector
+
+ +
+
+ +
+
+ + + + +
grpc_channel_security_connector* channel_data::security_connector
+
+ +
+
+ +
+
+ + + + +
grpc_server* channel_data::server
+
+ +
+
+ +
+
+ + + + +
grpc_connectivity_state_tracker channel_data::state_tracker
+
+ +

connectivity state being tracked

+ +
+
+ +
+
+ + + + +
grpc_mdelem* channel_data::status
+
+ +
+
+ +
+
+ + + + +
grpc_mdstr* channel_data::status_key
+
+ +
+
+ +
+
+ + + + +
grpc_mdelem* channel_data::status_not_found
+
+ +
+
+ +
+
+ + + + +
grpc_mdelem* channel_data::status_ok
+
+ +
+
+ +
+
+ + + + +
grpc_mdelem * channel_data::te_trailers
+
+ +
+
+ +
+
+ + + + +
int channel_data::unused
+
+ +
+
+ +
+
+ + + + +
grpc_mdelem* channel_data::user_agent
+
+ +

complete user agent mdelem

+ +
+
+ +
+
+ + + + +
grpc_iomgr_closure* channel_data::waiting_for_config_closures
+
+ +

a list of closures that are all waiting for config to come in

+ +
+
+
The documentation for this struct was generated from the following files: +
+ + + + diff --git a/doc/ref/core.internal/html/structchannel__registered__method.html b/doc/ref/core.internal/html/structchannel__registered__method.html new file mode 100644 index 0000000000..8dc0635202 --- /dev/null +++ b/doc/ref/core.internal/html/structchannel__registered__method.html @@ -0,0 +1,148 @@ + + + + + + +GRPC Core: channel_registered_method Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
channel_registered_method Struct Reference
+
+
+ + + + + + + + +

+Data Fields

registered_methodserver_registered_method
 
grpc_mdstrmethod
 
grpc_mdstrhost
 
+

Field Documentation

+ +
+
+ + + + +
grpc_mdstr* channel_registered_method::host
+
+ +
+
+ +
+
+ + + + +
grpc_mdstr* channel_registered_method::method
+
+ +
+
+ +
+
+ + + + +
registered_method* channel_registered_method::server_registered_method
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structcompleted__request.html b/doc/ref/core.internal/html/structcompleted__request.html new file mode 100644 index 0000000000..e139a61348 --- /dev/null +++ b/doc/ref/core.internal/html/structcompleted__request.html @@ -0,0 +1,148 @@ + + + + + + +GRPC Core: completed_request Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
completed_request Struct Reference
+
+
+ + + + + + + + +

+Data Fields

grpc_ioreq_completion_func on_complete
 
void * user_data
 
int success
 
+

Field Documentation

+ +
+
+ + + + +
grpc_ioreq_completion_func completed_request::on_complete
+
+ +
+
+ +
+
+ + + + +
int completed_request::success
+
+ +
+
+ +
+
+ + + + +
void* completed_request::user_data
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structcompute__engine__detector.html b/doc/ref/core.internal/html/structcompute__engine__detector.html new file mode 100644 index 0000000000..bf794e3356 --- /dev/null +++ b/doc/ref/core.internal/html/structcompute__engine__detector.html @@ -0,0 +1,148 @@ + + + + + + +GRPC Core: compute_engine_detector Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
compute_engine_detector Struct Reference
+
+
+ + + + + + + + +

+Data Fields

grpc_pollset pollset
 
int is_done
 
int success
 
+

Field Documentation

+ +
+
+ + + + +
int compute_engine_detector::is_done
+
+ +
+
+ +
+
+ + + + +
grpc_pollset compute_engine_detector::pollset
+
+ +
+
+ +
+
+ + + + +
int compute_engine_detector::success
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structconnected__channel__call__data.html b/doc/ref/core.internal/html/structconnected__channel__call__data.html new file mode 100644 index 0000000000..95d6b7a214 --- /dev/null +++ b/doc/ref/core.internal/html/structconnected__channel__call__data.html @@ -0,0 +1,120 @@ + + + + + + +GRPC Core: connected_channel_call_data Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
connected_channel_call_data Struct Reference
+
+
+ + + + +

+Data Fields

void * unused
 
+

Field Documentation

+ +
+
+ + + + +
void* connected_channel_call_data::unused
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structconnected__channel__channel__data.html b/doc/ref/core.internal/html/structconnected__channel__channel__data.html new file mode 100644 index 0000000000..b16d63dc8e --- /dev/null +++ b/doc/ref/core.internal/html/structconnected__channel__channel__data.html @@ -0,0 +1,120 @@ + + + + + + +GRPC Core: connected_channel_channel_data Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
connected_channel_channel_data Struct Reference
+
+
+ + + + +

+Data Fields

grpc_transporttransport
 
+

Field Documentation

+ +
+
+ + + + +
grpc_transport* connected_channel_channel_data::transport
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structconnection.html b/doc/ref/core.internal/html/structconnection.html new file mode 100644 index 0000000000..54ec0732f6 --- /dev/null +++ b/doc/ref/core.internal/html/structconnection.html @@ -0,0 +1,140 @@ + + + + + + +GRPC Core: connection Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
connection Struct Reference
+
+
+ + + + + + + + +

+Data Fields

int refs
 refcount More...
 
grpc_subchannelsubchannel
 parent subchannel More...
 
+

Field Documentation

+ +
+
+ + + + +
int connection::refs
+
+ +

refcount

+ +
+
+ +
+
+ + + + +
grpc_subchannel* connection::subchannel
+
+ +

parent subchannel

+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structconnector.html b/doc/ref/core.internal/html/structconnector.html new file mode 100644 index 0000000000..5571c5195e --- /dev/null +++ b/doc/ref/core.internal/html/structconnector.html @@ -0,0 +1,191 @@ + + + + + + +GRPC Core: connector Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
connector Struct Reference
+
+
+ + + + + + + + + + + + + + +

+Data Fields

grpc_connector base
 
gpr_refcount refs
 
grpc_channel_security_connectorsecurity_connector
 
grpc_iomgr_closurenotify
 
grpc_connect_in_args args
 
grpc_connect_out_argsresult
 
+

Field Documentation

+ +
+
+ + + + +
grpc_connect_in_args connector::args
+
+ +
+
+ +
+
+ + + + +
grpc_connector connector::base
+
+ +
+
+ +
+
+ + + + +
grpc_iomgr_closure * connector::notify
+
+ +
+
+ +
+
+ + + + +
gpr_refcount connector::refs
+
+ +
+
+ +
+
+ + + + +
grpc_connect_out_args * connector::result
+
+ +
+
+ +
+
+ + + + +
grpc_channel_security_connector* connector::security_connector
+
+ +
+
+
The documentation for this struct was generated from the following files: +
+ + + + diff --git a/doc/ref/core.internal/html/structdns__resolver.html b/doc/ref/core.internal/html/structdns__resolver.html new file mode 100644 index 0000000000..55ce6557b1 --- /dev/null +++ b/doc/ref/core.internal/html/structdns__resolver.html @@ -0,0 +1,327 @@ + + + + + + +GRPC Core: dns_resolver Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
dns_resolver Struct Reference
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Data Fields

grpc_resolver base
 base class: must be first More...
 
gpr_refcount refs
 refcount More...
 
char * name
 name to resolve More...
 
char * default_port
 default port to use More...
 
grpc_subchannel_factorysubchannel_factory
 subchannel factory More...
 
grpc_lb_policy *(* lb_policy_factory )(grpc_subchannel **subchannels, size_t num_subchannels)
 load balancing policy factory More...
 
gpr_mu mu
 mutex guarding the rest of the state More...
 
int resolving
 are we currently resolving? More...
 
int published_version
 which version of resolved_config have we published? More...
 
int resolved_version
 which version of resolved_config is current? More...
 
grpc_iomgr_closurenext_completion
 pending next completion, or NULL More...
 
grpc_client_config ** target_config
 target config address for next completion More...
 
grpc_client_configresolved_config
 current (fully resolved) config More...
 
+

Field Documentation

+ +
+
+ + + + +
grpc_resolver dns_resolver::base
+
+ +

base class: must be first

+ +
+
+ +
+
+ + + + +
char* dns_resolver::default_port
+
+ +

default port to use

+ +
+
+ +
+
+ + + + +
grpc_lb_policy*(* dns_resolver::lb_policy_factory)(grpc_subchannel **subchannels, size_t num_subchannels)
+
+ +

load balancing policy factory

+ +
+
+ +
+
+ + + + +
gpr_mu dns_resolver::mu
+
+ +

mutex guarding the rest of the state

+ +
+
+ +
+
+ + + + +
char* dns_resolver::name
+
+ +

name to resolve

+ +
+
+ +
+
+ + + + +
grpc_iomgr_closure* dns_resolver::next_completion
+
+ +

pending next completion, or NULL

+ +
+
+ +
+
+ + + + +
int dns_resolver::published_version
+
+ +

which version of resolved_config have we published?

+ +
+
+ +
+
+ + + + +
gpr_refcount dns_resolver::refs
+
+ +

refcount

+ +
+
+ +
+
+ + + + +
grpc_client_config* dns_resolver::resolved_config
+
+ +

current (fully resolved) config

+ +
+
+ +
+
+ + + + +
int dns_resolver::resolved_version
+
+ +

which version of resolved_config is current?

+ +
+
+ +
+
+ + + + +
int dns_resolver::resolving
+
+ +

are we currently resolving?

+ +
+
+ +
+
+ + + + +
grpc_subchannel_factory* dns_resolver::subchannel_factory
+
+ +

subchannel factory

+ +
+
+ +
+
+ + + + +
grpc_client_config** dns_resolver::target_config
+
+ +

target config address for next completion

+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structdump__out.html b/doc/ref/core.internal/html/structdump__out.html new file mode 100644 index 0000000000..b3d643fddf --- /dev/null +++ b/doc/ref/core.internal/html/structdump__out.html @@ -0,0 +1,148 @@ + + + + + + +GRPC Core: dump_out Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
dump_out Struct Reference
+
+
+ + + + + + + + +

+Data Fields

size_t capacity
 
size_t length
 
char * data
 
+

Field Documentation

+ +
+
+ + + + +
size_t dump_out::capacity
+
+ +
+
+ +
+
+ + + + +
char* dump_out::data
+
+ +
+
+ +
+
+ + + + +
size_t dump_out::length
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structemail__key__mapping.html b/doc/ref/core.internal/html/structemail__key__mapping.html new file mode 100644 index 0000000000..56002d32fc --- /dev/null +++ b/doc/ref/core.internal/html/structemail__key__mapping.html @@ -0,0 +1,134 @@ + + + + + + +GRPC Core: email_key_mapping Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
email_key_mapping Struct Reference
+
+
+ + + + + + +

+Data Fields

char * email_domain
 
char * key_url_prefix
 
+

Field Documentation

+ +
+
+ + + + +
char* email_key_mapping::email_domain
+
+ +
+
+ +
+
+ + + + +
char* email_key_mapping::key_url_prefix
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structfinished__loose__op__allocated__args.html b/doc/ref/core.internal/html/structfinished__loose__op__allocated__args.html new file mode 100644 index 0000000000..fa9a5374f5 --- /dev/null +++ b/doc/ref/core.internal/html/structfinished__loose__op__allocated__args.html @@ -0,0 +1,134 @@ + + + + + + +GRPC Core: finished_loose_op_allocated_args Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
finished_loose_op_allocated_args Struct Reference
+
+
+ + + + + + +

+Data Fields

grpc_callcall
 
grpc_iomgr_closure closure
 
+

Field Documentation

+ +
+
+ + + + +
grpc_call* finished_loose_op_allocated_args::call
+
+ +
+
+ +
+
+ + + + +
grpc_iomgr_closure finished_loose_op_allocated_args::closure
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structframer__state.html b/doc/ref/core.internal/html/structframer__state.html new file mode 100644 index 0000000000..bedc2a403f --- /dev/null +++ b/doc/ref/core.internal/html/structframer__state.html @@ -0,0 +1,190 @@ + + + + + + +GRPC Core: framer_state Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
framer_state Struct Reference
+
+
+ + + + + + + + + + + + + + +

+Data Fields

frame_type cur_frame_type
 
size_t output_length_at_start_of_frame
 
size_t header_idx
 
gpr_uint8 last_was_header
 
gpr_uint32 stream_id
 
gpr_slice_bufferoutput
 
+

Field Documentation

+ +
+
+ + + + +
frame_type framer_state::cur_frame_type
+
+ +
+
+ +
+
+ + + + +
size_t framer_state::header_idx
+
+ +
+
+ +
+
+ + + + +
gpr_uint8 framer_state::last_was_header
+
+ +
+
+ +
+
+ + + + +
gpr_slice_buffer* framer_state::output
+
+ +
+
+ +
+
+ + + + +
size_t framer_state::output_length_at_start_of_frame
+
+ +
+
+ +
+
+ + + + +
gpr_uint32 framer_state::stream_id
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structgpr__cancellable.html b/doc/ref/core.internal/html/structgpr__cancellable.html new file mode 100644 index 0000000000..6c705f5446 --- /dev/null +++ b/doc/ref/core.internal/html/structgpr__cancellable.html @@ -0,0 +1,150 @@ + + + + + + +GRPC Core: gpr_cancellable Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
gpr_cancellable Struct Reference
+
+
+ +

#include <cancellable_platform.h>

+ + + + + + + + +

+Data Fields

gpr_mu mu
 
gpr_atm cancelled
 
struct gpr_cancellable_list_ waiters
 
+

Field Documentation

+ +
+
+ + + + +
gpr_atm gpr_cancellable::cancelled
+
+ +
+
+ +
+
+ + + + +
gpr_mu gpr_cancellable::mu
+
+ +
+
+ +
+
+ + + + +
struct gpr_cancellable_list_ gpr_cancellable::waiters
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structgpr__cancellable__list__.html b/doc/ref/core.internal/html/structgpr__cancellable__list__.html new file mode 100644 index 0000000000..e908d254e6 --- /dev/null +++ b/doc/ref/core.internal/html/structgpr__cancellable__list__.html @@ -0,0 +1,164 @@ + + + + + + +GRPC Core: gpr_cancellable_list_ Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
gpr_cancellable_list_ Struct Reference
+
+
+ +

#include <cancellable_platform.h>

+ + + + + + + + + + +

+Data Fields

struct gpr_cancellable_list_next
 
struct gpr_cancellable_list_prev
 
gpr_mumu
 
gpr_cvcv
 
+

Field Documentation

+ +
+
+ + + + +
gpr_cv* gpr_cancellable_list_::cv
+
+ +
+
+ +
+
+ + + + +
gpr_mu* gpr_cancellable_list_::mu
+
+ +
+
+ +
+
+ + + + +
struct gpr_cancellable_list_* gpr_cancellable_list_::next
+
+ +
+
+ +
+
+ + + + +
struct gpr_cancellable_list_* gpr_cancellable_list_::prev
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structgpr__cmdline.html b/doc/ref/core.internal/html/structgpr__cmdline.html new file mode 100644 index 0000000000..c14f14ddc1 --- /dev/null +++ b/doc/ref/core.internal/html/structgpr__cmdline.html @@ -0,0 +1,232 @@ + + + + + + +GRPC Core: gpr_cmdline Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
gpr_cmdline Struct Reference
+
+
+ + + + + + + + + + + + + + + + + + + + +

+Data Fields

const char * description
 
argargs
 
const char * argv0
 
const char * extra_arg_name
 
const char * extra_arg_help
 
void(* extra_arg )(void *user_data, const char *arg)
 
void * extra_arg_user_data
 
void(* state )(gpr_cmdline *cl, char *arg)
 
argcur_arg
 
+

Field Documentation

+ +
+
+ + + + +
arg* gpr_cmdline::args
+
+ +
+
+ +
+
+ + + + +
const char* gpr_cmdline::argv0
+
+ +
+
+ +
+
+ + + + +
arg* gpr_cmdline::cur_arg
+
+ +
+
+ +
+
+ + + + +
const char* gpr_cmdline::description
+
+ +
+
+ +
+
+ + + + +
void(* gpr_cmdline::extra_arg)(void *user_data, const char *arg)
+
+ +
+
+ +
+
+ + + + +
const char* gpr_cmdline::extra_arg_help
+
+ +
+
+ +
+
+ + + + +
const char* gpr_cmdline::extra_arg_name
+
+ +
+
+ +
+
+ + + + +
void* gpr_cmdline::extra_arg_user_data
+
+ +
+
+ +
+
+ + + + +
void(* gpr_cmdline::state)(gpr_cmdline *cl, char *arg)
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structgpr__event.html b/doc/ref/core.internal/html/structgpr__event.html new file mode 100644 index 0000000000..540a63192b --- /dev/null +++ b/doc/ref/core.internal/html/structgpr__event.html @@ -0,0 +1,122 @@ + + + + + + +GRPC Core: gpr_event Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
gpr_event Struct Reference
+
+
+ +

#include <sync_generic.h>

+ + + + +

+Data Fields

gpr_atm state
 
+

Field Documentation

+ +
+
+ + + + +
gpr_atm gpr_event::state
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structgpr__gcc__thread__local.html b/doc/ref/core.internal/html/structgpr__gcc__thread__local.html new file mode 100644 index 0000000000..a5442500a3 --- /dev/null +++ b/doc/ref/core.internal/html/structgpr__gcc__thread__local.html @@ -0,0 +1,122 @@ + + + + + + +GRPC Core: gpr_gcc_thread_local Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
gpr_gcc_thread_local Struct Reference
+
+
+ +

#include <tls_gcc.h>

+ + + + +

+Data Fields

gpr_intptr value
 
+

Field Documentation

+ +
+
+ + + + +
gpr_intptr gpr_gcc_thread_local::value
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structgpr__histogram.html b/doc/ref/core.internal/html/structgpr__histogram.html new file mode 100644 index 0000000000..4b522a56a2 --- /dev/null +++ b/doc/ref/core.internal/html/structgpr__histogram.html @@ -0,0 +1,246 @@ + + + + + + +GRPC Core: gpr_histogram Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
gpr_histogram Struct Reference
+
+
+ + + + + + + + + + + + + + + + + + + + + + +

+Data Fields

double sum
 
double sum_of_squares
 
double count
 
double multiplier
 
double one_on_log_multiplier
 
double min_seen
 
double max_seen
 
double max_possible
 
size_t num_buckets
 
gpr_uint32buckets
 
+

Field Documentation

+ +
+
+ + + + +
gpr_uint32* gpr_histogram::buckets
+
+ +
+
+ +
+
+ + + + +
double gpr_histogram::count
+
+ +
+
+ +
+
+ + + + +
double gpr_histogram::max_possible
+
+ +
+
+ +
+
+ + + + +
double gpr_histogram::max_seen
+
+ +
+
+ +
+
+ + + + +
double gpr_histogram::min_seen
+
+ +
+
+ +
+
+ + + + +
double gpr_histogram::multiplier
+
+ +
+
+ +
+
+ + + + +
size_t gpr_histogram::num_buckets
+
+ +
+
+ +
+
+ + + + +
double gpr_histogram::one_on_log_multiplier
+
+ +
+
+ +
+
+ + + + +
double gpr_histogram::sum
+
+ +
+
+ +
+
+ + + + +
double gpr_histogram::sum_of_squares
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structgpr__log__func__args.html b/doc/ref/core.internal/html/structgpr__log__func__args.html new file mode 100644 index 0000000000..5a3253483d --- /dev/null +++ b/doc/ref/core.internal/html/structgpr__log__func__args.html @@ -0,0 +1,164 @@ + + + + + + +GRPC Core: gpr_log_func_args Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
gpr_log_func_args Struct Reference
+
+
+ +

#include <log.h>

+ + + + + + + + + + +

+Data Fields

const char * file
 
int line
 
gpr_log_severity severity
 
const char * message
 
+

Field Documentation

+ +
+
+ + + + +
const char* gpr_log_func_args::file
+
+ +
+
+ +
+
+ + + + +
int gpr_log_func_args::line
+
+ +
+
+ +
+
+ + + + +
const char* gpr_log_func_args::message
+
+ +
+
+ +
+
+ + + + +
gpr_log_severity gpr_log_func_args::severity
+
+ +
+
+
The documentation for this struct was generated from the following file:
    +
  • include/grpc/support/log.h
  • +
+
+ + + + diff --git a/doc/ref/core.internal/html/structgpr__msvc__thread__local.html b/doc/ref/core.internal/html/structgpr__msvc__thread__local.html new file mode 100644 index 0000000000..927262fda2 --- /dev/null +++ b/doc/ref/core.internal/html/structgpr__msvc__thread__local.html @@ -0,0 +1,122 @@ + + + + + + +GRPC Core: gpr_msvc_thread_local Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
gpr_msvc_thread_local Struct Reference
+
+
+ +

#include <tls_msvc.h>

+ + + + +

+Data Fields

gpr_intptr value
 
+

Field Documentation

+ +
+
+ + + + +
gpr_intptr gpr_msvc_thread_local::value
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structgpr__mu.html b/doc/ref/core.internal/html/structgpr__mu.html new file mode 100644 index 0000000000..de8696f0ac --- /dev/null +++ b/doc/ref/core.internal/html/structgpr__mu.html @@ -0,0 +1,136 @@ + + + + + + +GRPC Core: gpr_mu Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
gpr_mu Struct Reference
+
+
+ +

#include <sync_win32.h>

+ + + + + + +

+Data Fields

CRITICAL_SECTION cs
 
int locked
 
+

Field Documentation

+ +
+
+ + + + +
CRITICAL_SECTION gpr_mu::cs
+
+ +
+
+ +
+
+ + + + +
int gpr_mu::locked
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structgpr__pthread__thread__local.html b/doc/ref/core.internal/html/structgpr__pthread__thread__local.html new file mode 100644 index 0000000000..78d58bcdbf --- /dev/null +++ b/doc/ref/core.internal/html/structgpr__pthread__thread__local.html @@ -0,0 +1,122 @@ + + + + + + +GRPC Core: gpr_pthread_thread_local Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
gpr_pthread_thread_local Struct Reference
+
+
+ +

#include <tls_pthread.h>

+ + + + +

+Data Fields

pthread_key_t key
 
+

Field Documentation

+ +
+
+ + + + +
pthread_key_t gpr_pthread_thread_local::key
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structgpr__refcount.html b/doc/ref/core.internal/html/structgpr__refcount.html new file mode 100644 index 0000000000..db5168f46d --- /dev/null +++ b/doc/ref/core.internal/html/structgpr__refcount.html @@ -0,0 +1,122 @@ + + + + + + +GRPC Core: gpr_refcount Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
gpr_refcount Struct Reference
+
+
+ +

#include <sync_generic.h>

+ + + + +

+Data Fields

gpr_atm count
 
+

Field Documentation

+ +
+
+ + + + +
gpr_atm gpr_refcount::count
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structgpr__slice.html b/doc/ref/core.internal/html/structgpr__slice.html new file mode 100644 index 0000000000..fc5fe7b945 --- /dev/null +++ b/doc/ref/core.internal/html/structgpr__slice.html @@ -0,0 +1,223 @@ + + + + + + +GRPC Core: gpr_slice Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
gpr_slice Struct Reference
+
+
+ +

#include <slice.h>

+ + + + + + + + + + + + + + + + + + + + + +

+Data Fields

struct gpr_slice_refcountrefcount
 
union {
   struct {
      gpr_uint8 *   bytes
 
      size_t   length
 
   }   refcounted
 
   struct {
      gpr_uint8   length
 
      gpr_uint8   bytes [(sizeof(size_t)+sizeof(gpr_uint8 *)-1)]
 
   }   inlined
 
data
 
+

Field Documentation

+ +
+
+ + + + +
gpr_uint8* gpr_slice::bytes
+
+ +
+
+ +
+
+ + + + +
gpr_uint8 gpr_slice::bytes[(sizeof(size_t)+sizeof(gpr_uint8 *)-1)]
+
+ +
+
+ +
+
+ + + + +
union { ... } gpr_slice::data
+
+ +
+
+ +
+
+ + + + +
struct { ... } gpr_slice::inlined
+
+ +
+
+ +
+
+ + + + +
size_t gpr_slice::length
+
+ +
+
+ +
+
+ + + + +
gpr_uint8 gpr_slice::length
+
+ +
+
+ +
+
+ + + + +
struct gpr_slice_refcount* gpr_slice::refcount
+
+ +
+
+ +
+
+ + + + +
struct { ... } gpr_slice::refcounted
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structgpr__slice__buffer.html b/doc/ref/core.internal/html/structgpr__slice__buffer.html new file mode 100644 index 0000000000..fc818120b6 --- /dev/null +++ b/doc/ref/core.internal/html/structgpr__slice__buffer.html @@ -0,0 +1,178 @@ + + + + + + +GRPC Core: gpr_slice_buffer Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
gpr_slice_buffer Struct Reference
+
+
+ +

#include <slice_buffer.h>

+ + + + + + + + + + + + +

+Data Fields

gpr_sliceslices
 
size_t count
 
size_t capacity
 
size_t length
 
gpr_slice inlined [8]
 
+

Field Documentation

+ +
+
+ + + + +
size_t gpr_slice_buffer::capacity
+
+ +
+
+ +
+
+ + + + +
size_t gpr_slice_buffer::count
+
+ +
+
+ +
+
+ + + + +
gpr_slice gpr_slice_buffer::inlined[8]
+
+ +
+
+ +
+
+ + + + +
size_t gpr_slice_buffer::length
+
+ +
+
+ +
+
+ + + + +
gpr_slice* gpr_slice_buffer::slices
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structgpr__slice__refcount.html b/doc/ref/core.internal/html/structgpr__slice__refcount.html new file mode 100644 index 0000000000..ce8f45abd8 --- /dev/null +++ b/doc/ref/core.internal/html/structgpr__slice__refcount.html @@ -0,0 +1,136 @@ + + + + + + +GRPC Core: gpr_slice_refcount Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
gpr_slice_refcount Struct Reference
+
+
+ +

#include <slice.h>

+ + + + + + +

+Data Fields

void(* ref )(void *)
 
void(* unref )(void *)
 
+

Field Documentation

+ +
+
+ + + + +
void(* gpr_slice_refcount::ref)(void *)
+
+ +
+
+ +
+
+ + + + +
void(* gpr_slice_refcount::unref)(void *)
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structgpr__stack__lockfree.html b/doc/ref/core.internal/html/structgpr__stack__lockfree.html new file mode 100644 index 0000000000..1b0449484a --- /dev/null +++ b/doc/ref/core.internal/html/structgpr__stack__lockfree.html @@ -0,0 +1,148 @@ + + + + + + +GRPC Core: gpr_stack_lockfree Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
gpr_stack_lockfree Struct Reference
+
+
+ + + + + + + + +

+Data Fields

lockfree_nodeentries
 
lockfree_node head
 
gpr_atm pushed [(((1<< 16)-1)+1)/(8 *sizeof(gpr_atm))]
 
+

Field Documentation

+ +
+
+ + + + +
lockfree_node* gpr_stack_lockfree::entries
+
+ +
+
+ +
+
+ + + + +
lockfree_node gpr_stack_lockfree::head
+
+ +
+
+ +
+
+ + + + +
gpr_atm gpr_stack_lockfree::pushed[(((1<< 16)-1)+1)/(8 *sizeof(gpr_atm))]
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structgpr__stats__counter.html b/doc/ref/core.internal/html/structgpr__stats__counter.html new file mode 100644 index 0000000000..40170c1f07 --- /dev/null +++ b/doc/ref/core.internal/html/structgpr__stats__counter.html @@ -0,0 +1,122 @@ + + + + + + +GRPC Core: gpr_stats_counter Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
gpr_stats_counter Struct Reference
+
+
+ +

#include <sync_generic.h>

+ + + + +

+Data Fields

gpr_atm value
 
+

Field Documentation

+ +
+
+ + + + +
gpr_atm gpr_stats_counter::value
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structgpr__strvec.html b/doc/ref/core.internal/html/structgpr__strvec.html new file mode 100644 index 0000000000..8b9db8b51f --- /dev/null +++ b/doc/ref/core.internal/html/structgpr__strvec.html @@ -0,0 +1,150 @@ + + + + + + +GRPC Core: gpr_strvec Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
gpr_strvec Struct Reference
+
+
+ +

#include <string.h>

+ + + + + + + + +

+Data Fields

char ** strs
 
size_t count
 
size_t capacity
 
+

Field Documentation

+ +
+
+ + + + +
size_t gpr_strvec::capacity
+
+ +
+
+ +
+
+ + + + +
size_t gpr_strvec::count
+
+ +
+
+ +
+
+ + + + +
char** gpr_strvec::strs
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structgpr__thd__options.html b/doc/ref/core.internal/html/structgpr__thd__options.html new file mode 100644 index 0000000000..c20bbdad76 --- /dev/null +++ b/doc/ref/core.internal/html/structgpr__thd__options.html @@ -0,0 +1,122 @@ + + + + + + +GRPC Core: gpr_thd_options Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
gpr_thd_options Struct Reference
+
+
+ +

#include <thd.h>

+ + + + +

+Data Fields

int flags
 
+

Field Documentation

+ +
+
+ + + + +
int gpr_thd_options::flags
+
+ +
+
+
The documentation for this struct was generated from the following file:
    +
  • include/grpc/support/thd.h
  • +
+
+ + + + diff --git a/doc/ref/core.internal/html/structgpr__timespec.html b/doc/ref/core.internal/html/structgpr__timespec.html new file mode 100644 index 0000000000..25da184114 --- /dev/null +++ b/doc/ref/core.internal/html/structgpr__timespec.html @@ -0,0 +1,153 @@ + + + + + + +GRPC Core: gpr_timespec Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
gpr_timespec Struct Reference
+
+
+ +

#include <time.h>

+ + + + + + + + + +

+Data Fields

time_t tv_sec
 
int tv_nsec
 
gpr_clock_type clock_type
 Against which clock was this time measured? (or GPR_TIMESPAN if this is a relative time meaure) More...
 
+

Field Documentation

+ +
+
+ + + + +
gpr_clock_type gpr_timespec::clock_type
+
+ +

Against which clock was this time measured? (or GPR_TIMESPAN if this is a relative time meaure)

+ +
+
+ +
+
+ + + + +
int gpr_timespec::tv_nsec
+
+ +
+
+ +
+
+ + + + +
time_t gpr_timespec::tv_sec
+
+ +
+
+
The documentation for this struct was generated from the following file:
    +
  • include/grpc/support/time.h
  • +
+
+ + + + diff --git a/doc/ref/core.internal/html/structgrpc__access__token__credentials.html b/doc/ref/core.internal/html/structgrpc__access__token__credentials.html new file mode 100644 index 0000000000..f3c027c2ed --- /dev/null +++ b/doc/ref/core.internal/html/structgrpc__access__token__credentials.html @@ -0,0 +1,136 @@ + + + + + + +GRPC Core: grpc_access_token_credentials Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
grpc_access_token_credentials Struct Reference
+
+
+ +

#include <credentials.h>

+ + + + + + +

+Data Fields

grpc_credentials base
 
grpc_credentials_md_storeaccess_token_md
 
+

Field Documentation

+ +
+
+ + + + +
grpc_credentials_md_store* grpc_access_token_credentials::access_token_md
+
+ +
+
+ +
+
+ + + + +
grpc_credentials grpc_access_token_credentials::base
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structgrpc__alarm.html b/doc/ref/core.internal/html/structgrpc__alarm.html new file mode 100644 index 0000000000..6a0b46e85c --- /dev/null +++ b/doc/ref/core.internal/html/structgrpc__alarm.html @@ -0,0 +1,206 @@ + + + + + + +GRPC Core: grpc_alarm Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
grpc_alarm Struct Reference
+
+
+ +

#include <alarm.h>

+ + + + + + + + + + + + + + + + +

+Data Fields

gpr_timespec deadline
 
gpr_uint32 heap_index
 
int triggered
 
struct grpc_alarmnext
 
struct grpc_alarmprev
 
grpc_iomgr_cb_func cb
 
void * cb_arg
 
+

Field Documentation

+ +
+
+ + + + +
grpc_iomgr_cb_func grpc_alarm::cb
+
+ +
+
+ +
+
+ + + + +
void* grpc_alarm::cb_arg
+
+ +
+
+ +
+
+ + + + +
gpr_timespec grpc_alarm::deadline
+
+ +
+
+ +
+
+ + + + +
gpr_uint32 grpc_alarm::heap_index
+
+ +
+
+ +
+
+ + + + +
struct grpc_alarm* grpc_alarm::next
+
+ +
+
+ +
+
+ + + + +
struct grpc_alarm* grpc_alarm::prev
+
+ +
+
+ +
+
+ + + + +
int grpc_alarm::triggered
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structgrpc__alarm__heap.html b/doc/ref/core.internal/html/structgrpc__alarm__heap.html new file mode 100644 index 0000000000..297b14864a --- /dev/null +++ b/doc/ref/core.internal/html/structgrpc__alarm__heap.html @@ -0,0 +1,150 @@ + + + + + + +GRPC Core: grpc_alarm_heap Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
grpc_alarm_heap Struct Reference
+
+
+ +

#include <alarm_heap.h>

+ + + + + + + + +

+Data Fields

grpc_alarm ** alarms
 
int alarm_count
 
int alarm_capacity
 
+

Field Documentation

+ +
+
+ + + + +
int grpc_alarm_heap::alarm_capacity
+
+ +
+
+ +
+
+ + + + +
int grpc_alarm_heap::alarm_count
+
+ +
+
+ +
+
+ + + + +
grpc_alarm** grpc_alarm_heap::alarms
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structgrpc__arg.html b/doc/ref/core.internal/html/structgrpc__arg.html new file mode 100644 index 0000000000..76b6ddd254 --- /dev/null +++ b/doc/ref/core.internal/html/structgrpc__arg.html @@ -0,0 +1,245 @@ + + + + + + +GRPC Core: grpc_arg Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
grpc_arg Struct Reference
+
+
+ +

A single argument... + More...

+ +

#include <grpc.h>

+ + + + + + + + + + + + + + + + + + + + + + +

+Data Fields

grpc_arg_type type
 
char * key
 
union {
   char *   string
 
   int   integer
 
   struct {
      void *   p
 
      void *(*   copy )(void *p)
 
      void(*   destroy )(void *p)
 
   }   pointer
 
value
 
+

Detailed Description

+

A single argument...

+

each argument has a key and a value

+

A note on naming keys: Keys are namespaced into groups, usually grouped by library, and are keys for module XYZ are named XYZ.key1, XYZ.key2, etc. Module names must be restricted to the regex [A-Za-z][_A-Za-z0-9]{,15}. Key names must be restricted to the regex [A-Za-z][_A-Za-z0-9]{,47}.

+

GRPC core library keys are prefixed by grpc.

+

Library authors are strongly encouraged to #define symbolic constants for their keys so that it's possible to change them in the future.

+

Field Documentation

+ +
+
+ + + + +
void*(* grpc_arg::copy)(void *p)
+
+ +
+
+ +
+
+ + + + +
void(* grpc_arg::destroy)(void *p)
+
+ +
+
+ +
+
+ + + + +
int grpc_arg::integer
+
+ +
+
+ +
+
+ + + + +
char* grpc_arg::key
+
+ +
+
+ +
+
+ + + + +
void* grpc_arg::p
+
+ +
+
+ +
+
+ + + + +
struct { ... } grpc_arg::pointer
+
+ +
+
+ +
+
+ + + + +
char* grpc_arg::string
+
+ +
+
+ +
+
+ + + + +
grpc_arg_type grpc_arg::type
+
+ +
+
+ +
+
+ + + + +
union { ... } grpc_arg::value
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structgrpc__auth__context.html b/doc/ref/core.internal/html/structgrpc__auth__context.html new file mode 100644 index 0000000000..d70a5e959d --- /dev/null +++ b/doc/ref/core.internal/html/structgrpc__auth__context.html @@ -0,0 +1,178 @@ + + + + + + +GRPC Core: grpc_auth_context Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
grpc_auth_context Struct Reference
+
+
+ +

#include <security_context.h>

+ + + + + + + + + + + + +

+Data Fields

struct grpc_auth_contextchained
 
grpc_auth_propertyproperties
 
size_t property_count
 
gpr_refcount refcount
 
const char * peer_identity_property_name
 
+

Field Documentation

+ +
+
+ + + + +
struct grpc_auth_context* grpc_auth_context::chained
+
+ +
+
+ +
+
+ + + + +
const char* grpc_auth_context::peer_identity_property_name
+
+ +
+
+ +
+
+ + + + +
grpc_auth_property* grpc_auth_context::properties
+
+ +
+
+ +
+
+ + + + +
size_t grpc_auth_context::property_count
+
+ +
+
+ +
+
+ + + + +
gpr_refcount grpc_auth_context::refcount
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structgrpc__auth__json__key.html b/doc/ref/core.internal/html/structgrpc__auth__json__key.html new file mode 100644 index 0000000000..56f38f895d --- /dev/null +++ b/doc/ref/core.internal/html/structgrpc__auth__json__key.html @@ -0,0 +1,178 @@ + + + + + + +GRPC Core: grpc_auth_json_key Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
grpc_auth_json_key Struct Reference
+
+
+ +

#include <json_token.h>

+ + + + + + + + + + + + +

+Data Fields

const char * type
 
char * private_key_id
 
char * client_id
 
char * client_email
 
RSA * private_key
 
+

Field Documentation

+ +
+
+ + + + +
char* grpc_auth_json_key::client_email
+
+ +
+
+ +
+
+ + + + +
char* grpc_auth_json_key::client_id
+
+ +
+
+ +
+
+ + + + +
RSA* grpc_auth_json_key::private_key
+
+ +
+
+ +
+
+ + + + +
char* grpc_auth_json_key::private_key_id
+
+ +
+
+ +
+
+ + + + +
const char* grpc_auth_json_key::type
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structgrpc__auth__property.html b/doc/ref/core.internal/html/structgrpc__auth__property.html new file mode 100644 index 0000000000..aa3e76cf19 --- /dev/null +++ b/doc/ref/core.internal/html/structgrpc__auth__property.html @@ -0,0 +1,150 @@ + + + + + + +GRPC Core: grpc_auth_property Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
grpc_auth_property Struct Reference
+
+
+ +

#include <grpc_security.h>

+ + + + + + + + +

+Data Fields

char * name
 
char * value
 
size_t value_length
 
+

Field Documentation

+ +
+
+ + + + +
char* grpc_auth_property::name
+
+ +
+
+ +
+
+ + + + +
char* grpc_auth_property::value
+
+ +
+
+ +
+
+ + + + +
size_t grpc_auth_property::value_length
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structgrpc__auth__property__iterator.html b/doc/ref/core.internal/html/structgrpc__auth__property__iterator.html new file mode 100644 index 0000000000..1f7a958072 --- /dev/null +++ b/doc/ref/core.internal/html/structgrpc__auth__property__iterator.html @@ -0,0 +1,150 @@ + + + + + + +GRPC Core: grpc_auth_property_iterator Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
grpc_auth_property_iterator Struct Reference
+
+
+ +

#include <grpc_security.h>

+ + + + + + + + +

+Data Fields

const grpc_auth_contextctx
 
size_t index
 
const char * name
 
+

Field Documentation

+ +
+
+ + + + +
const grpc_auth_context* grpc_auth_property_iterator::ctx
+
+ +
+
+ +
+
+ + + + +
size_t grpc_auth_property_iterator::index
+
+ +
+
+ +
+
+ + + + +
const char* grpc_auth_property_iterator::name
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structgrpc__auth__refresh__token.html b/doc/ref/core.internal/html/structgrpc__auth__refresh__token.html new file mode 100644 index 0000000000..e29500003c --- /dev/null +++ b/doc/ref/core.internal/html/structgrpc__auth__refresh__token.html @@ -0,0 +1,164 @@ + + + + + + +GRPC Core: grpc_auth_refresh_token Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
grpc_auth_refresh_token Struct Reference
+
+
+ +

#include <json_token.h>

+ + + + + + + + + + +

+Data Fields

const char * type
 
char * client_id
 
char * client_secret
 
char * refresh_token
 
+

Field Documentation

+ +
+
+ + + + +
char* grpc_auth_refresh_token::client_id
+
+ +
+
+ +
+
+ + + + +
char* grpc_auth_refresh_token::client_secret
+
+ +
+
+ +
+
+ + + + +
char* grpc_auth_refresh_token::refresh_token
+
+ +
+
+ +
+
+ + + + +
const char* grpc_auth_refresh_token::type
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structgrpc__bbq__array.html b/doc/ref/core.internal/html/structgrpc__bbq__array.html new file mode 100644 index 0000000000..00d30662c8 --- /dev/null +++ b/doc/ref/core.internal/html/structgrpc__bbq__array.html @@ -0,0 +1,150 @@ + + + + + + +GRPC Core: grpc_bbq_array Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
grpc_bbq_array Struct Reference
+
+
+ +

#include <byte_buffer_queue.h>

+ + + + + + + + +

+Data Fields

grpc_byte_buffer ** data
 
size_t count
 
size_t capacity
 
+

Field Documentation

+ +
+
+ + + + +
size_t grpc_bbq_array::capacity
+
+ +
+
+ +
+
+ + + + +
size_t grpc_bbq_array::count
+
+ +
+
+ +
+
+ + + + +
grpc_byte_buffer** grpc_bbq_array::data
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structgrpc__begin__message.html b/doc/ref/core.internal/html/structgrpc__begin__message.html new file mode 100644 index 0000000000..57878f745d --- /dev/null +++ b/doc/ref/core.internal/html/structgrpc__begin__message.html @@ -0,0 +1,136 @@ + + + + + + +GRPC Core: grpc_begin_message Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
grpc_begin_message Struct Reference
+
+
+ +

#include <stream_op.h>

+ + + + + + +

+Data Fields

gpr_uint32 length
 
gpr_uint32 flags
 
+

Field Documentation

+ +
+
+ + + + +
gpr_uint32 grpc_begin_message::flags
+
+ +
+
+ +
+
+ + + + +
gpr_uint32 grpc_begin_message::length
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structgrpc__byte__buffer.html b/doc/ref/core.internal/html/structgrpc__byte__buffer.html new file mode 100644 index 0000000000..f13d1fec60 --- /dev/null +++ b/doc/ref/core.internal/html/structgrpc__byte__buffer.html @@ -0,0 +1,180 @@ + + + + + + +GRPC Core: grpc_byte_buffer Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
grpc_byte_buffer Struct Reference
+
+
+ +

#include <byte_buffer.h>

+ + + + + + + + + + + + + + +

+Data Fields

grpc_byte_buffer_type type
 
union {
   struct {
      grpc_compression_algorithm   compression
 
      gpr_slice_buffer   slice_buffer
 
   }   raw
 
data
 
+

Field Documentation

+ +
+
+ + + + +
grpc_compression_algorithm grpc_byte_buffer::compression
+
+ +
+
+ +
+
+ + + + +
union { ... } grpc_byte_buffer::data
+
+ +
+
+ +
+
+ + + + +
struct { ... } grpc_byte_buffer::raw
+
+ +
+
+ +
+
+ + + + +
gpr_slice_buffer grpc_byte_buffer::slice_buffer
+
+ +
+
+ +
+
+ + + + +
grpc_byte_buffer_type grpc_byte_buffer::type
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structgrpc__byte__buffer__queue.html b/doc/ref/core.internal/html/structgrpc__byte__buffer__queue.html new file mode 100644 index 0000000000..efcec0e696 --- /dev/null +++ b/doc/ref/core.internal/html/structgrpc__byte__buffer__queue.html @@ -0,0 +1,164 @@ + + + + + + +GRPC Core: grpc_byte_buffer_queue Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
grpc_byte_buffer_queue Struct Reference
+
+
+ +

#include <byte_buffer_queue.h>

+ + + + + + + + + + +

+Data Fields

size_t drain_pos
 
grpc_bbq_array filling
 
grpc_bbq_array draining
 
size_t bytes
 
+

Field Documentation

+ +
+
+ + + + +
size_t grpc_byte_buffer_queue::bytes
+
+ +
+
+ +
+
+ + + + +
size_t grpc_byte_buffer_queue::drain_pos
+
+ +
+
+ +
+
+ + + + +
grpc_bbq_array grpc_byte_buffer_queue::draining
+
+ +
+
+ +
+
+ + + + +
grpc_bbq_array grpc_byte_buffer_queue::filling
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structgrpc__byte__buffer__reader.html b/doc/ref/core.internal/html/structgrpc__byte__buffer__reader.html new file mode 100644 index 0000000000..46febb820f --- /dev/null +++ b/doc/ref/core.internal/html/structgrpc__byte__buffer__reader.html @@ -0,0 +1,165 @@ + + + + + + +GRPC Core: grpc_byte_buffer_reader Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
grpc_byte_buffer_reader Struct Reference
+
+
+ +

#include <byte_buffer_reader.h>

+ + + + + + + + + + + +

+Data Fields

grpc_byte_bufferbuffer_in
 
grpc_byte_bufferbuffer_out
 
union {
   unsigned   index
 
current
 
+

Field Documentation

+ +
+
+ + + + +
grpc_byte_buffer* grpc_byte_buffer_reader::buffer_in
+
+ +
+
+ +
+
+ + + + +
grpc_byte_buffer* grpc_byte_buffer_reader::buffer_out
+
+ +
+
+ +
+
+ + + + +
union { ... } grpc_byte_buffer_reader::current
+
+ +
+
+ +
+
+ + + + +
unsigned grpc_byte_buffer_reader::index
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structgrpc__call.html b/doc/ref/core.internal/html/structgrpc__call.html new file mode 100644 index 0000000000..3e1d0a47cf --- /dev/null +++ b/doc/ref/core.internal/html/structgrpc__call.html @@ -0,0 +1,846 @@ + + + + + + +GRPC Core: grpc_call Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
grpc_call Struct Reference
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Data Fields

grpc_completion_queuecq
 
grpc_channelchannel
 
grpc_mdctxmetadata_context
 
gpr_mu mu
 
gpr_mu completion_mu
 
read_state read_state
 
write_state write_state
 
gpr_uint8 is_client
 
gpr_uint8 have_alarm
 
gpr_uint8 sending
 
gpr_uint8 receiving
 
gpr_uint8 completing
 
gpr_uint8 destroy_called
 has grpc_call_destroy been called More...
 
gpr_uint8 num_completed_requests
 
gpr_uint8 reading_message
 
gpr_uint8 bound_pollset
 
gpr_uint8 error_status_set
 
gpr_uint8 cancel_alarm
 should the alarm be cancelled More...
 
gpr_uint8 allocated_completions
 bitmask of allocated completion events in completions More...
 
gpr_uint16 last_send_contains
 
grpc_status_code cancel_with_status
 
gpr_uint8 request_set [GRPC_IOREQ_OP_COUNT]
 
grpc_ioreq_data request_data [GRPC_IOREQ_OP_COUNT]
 
gpr_uint32 request_flags [GRPC_IOREQ_OP_COUNT]
 
reqinfo_master masters [GRPC_IOREQ_OP_COUNT]
 
completed_request completed_requests [GRPC_IOREQ_OP_COUNT]
 
grpc_byte_buffer_queue incoming_queue
 
grpc_metadata_array buffered_metadata [2]
 
grpc_mdelem ** owned_metadata
 
size_t owned_metadata_count
 
size_t owned_metadata_capacity
 
received_status status [STATUS_SOURCE_COUNT]
 
grpc_compression_algorithm compression_algorithm
 
grpc_call_context_element context [GRPC_CONTEXT_COUNT]
 
grpc_alarm alarm
 
gpr_refcount internal_refcount
 
grpc_linked_mdelem send_initial_metadata [3]
 
grpc_linked_mdelem status_link
 
grpc_linked_mdelem details_link
 
size_t send_initial_metadata_count
 
gpr_timespec send_deadline
 
grpc_stream_op_buffer send_ops
 
grpc_stream_op_buffer recv_ops
 
grpc_stream_state recv_state
 
gpr_slice_buffer incoming_message
 
gpr_uint32 incoming_message_length
 
gpr_uint32 incoming_message_flags
 
grpc_iomgr_closure destroy_closure
 
grpc_iomgr_closure on_done_recv
 
grpc_iomgr_closure on_done_send
 
grpc_iomgr_closure on_done_bind
 
grpc_cq_completion completions [6]
 completion events - for completion queue use More...
 
+

Field Documentation

+ +
+
+ + + + +
grpc_alarm grpc_call::alarm
+
+ +
+
+ +
+
+ + + + +
gpr_uint8 grpc_call::allocated_completions
+
+ +

bitmask of allocated completion events in completions

+ +
+
+ +
+
+ + + + +
gpr_uint8 grpc_call::bound_pollset
+
+ +
+
+ +
+
+ + + + +
grpc_metadata_array grpc_call::buffered_metadata[2]
+
+ +
+
+ +
+
+ + + + +
gpr_uint8 grpc_call::cancel_alarm
+
+ +

should the alarm be cancelled

+ +
+
+ +
+
+ + + + +
grpc_status_code grpc_call::cancel_with_status
+
+ +
+
+ +
+
+ + + + +
grpc_channel* grpc_call::channel
+
+ +
+
+ +
+
+ + + + +
completed_request grpc_call::completed_requests[GRPC_IOREQ_OP_COUNT]
+
+ +
+
+ +
+
+ + + + +
gpr_uint8 grpc_call::completing
+
+ +
+
+ +
+
+ + + + +
gpr_mu grpc_call::completion_mu
+
+ +
+
+ +
+
+ + + + +
grpc_cq_completion grpc_call::completions[6]
+
+ +

completion events - for completion queue use

+ +
+
+ +
+
+ + + + +
grpc_compression_algorithm grpc_call::compression_algorithm
+
+ +
+
+ +
+
+ + + + +
grpc_call_context_element grpc_call::context[GRPC_CONTEXT_COUNT]
+
+ +
+
+ +
+
+ + + + +
grpc_completion_queue* grpc_call::cq
+
+ +
+
+ +
+
+ + + + +
gpr_uint8 grpc_call::destroy_called
+
+ +

has grpc_call_destroy been called

+ +
+
+ +
+
+ + + + +
grpc_iomgr_closure grpc_call::destroy_closure
+
+ +
+
+ +
+
+ + + + +
grpc_linked_mdelem grpc_call::details_link
+
+ +
+
+ +
+
+ + + + +
gpr_uint8 grpc_call::error_status_set
+
+ +
+
+ +
+
+ + + + +
gpr_uint8 grpc_call::have_alarm
+
+ +
+
+ +
+
+ + + + +
gpr_slice_buffer grpc_call::incoming_message
+
+ +
+
+ +
+
+ + + + +
gpr_uint32 grpc_call::incoming_message_flags
+
+ +
+
+ +
+
+ + + + +
gpr_uint32 grpc_call::incoming_message_length
+
+ +
+
+ +
+
+ + + + +
grpc_byte_buffer_queue grpc_call::incoming_queue
+
+ +
+
+ +
+
+ + + + +
gpr_refcount grpc_call::internal_refcount
+
+ +
+
+ +
+
+ + + + +
gpr_uint8 grpc_call::is_client
+
+ +
+
+ +
+
+ + + + +
gpr_uint16 grpc_call::last_send_contains
+
+ +
+
+ +
+
+ + + + +
reqinfo_master grpc_call::masters[GRPC_IOREQ_OP_COUNT]
+
+ +
+
+ +
+
+ + + + +
grpc_mdctx* grpc_call::metadata_context
+
+ +
+
+ +
+
+ + + + +
gpr_mu grpc_call::mu
+
+ +
+
+ +
+
+ + + + +
gpr_uint8 grpc_call::num_completed_requests
+
+ +
+
+ +
+
+ + + + +
grpc_iomgr_closure grpc_call::on_done_bind
+
+ +
+
+ +
+
+ + + + +
grpc_iomgr_closure grpc_call::on_done_recv
+
+ +
+
+ +
+
+ + + + +
grpc_iomgr_closure grpc_call::on_done_send
+
+ +
+
+ +
+
+ + + + +
grpc_mdelem** grpc_call::owned_metadata
+
+ +
+
+ +
+
+ + + + +
size_t grpc_call::owned_metadata_capacity
+
+ +
+
+ +
+
+ + + + +
size_t grpc_call::owned_metadata_count
+
+ +
+
+ +
+
+ + + + +
read_state grpc_call::read_state
+
+ +
+
+ +
+
+ + + + +
gpr_uint8 grpc_call::reading_message
+
+ +
+
+ +
+
+ + + + +
gpr_uint8 grpc_call::receiving
+
+ +
+
+ +
+
+ + + + +
grpc_stream_op_buffer grpc_call::recv_ops
+
+ +
+
+ +
+
+ + + + +
grpc_stream_state grpc_call::recv_state
+
+ +
+
+ +
+
+ + + + +
grpc_ioreq_data grpc_call::request_data[GRPC_IOREQ_OP_COUNT]
+
+ +
+
+ +
+
+ + + + +
gpr_uint32 grpc_call::request_flags[GRPC_IOREQ_OP_COUNT]
+
+ +
+
+ +
+
+ + + + +
gpr_uint8 grpc_call::request_set[GRPC_IOREQ_OP_COUNT]
+
+ +
+
+ +
+
+ + + + +
gpr_timespec grpc_call::send_deadline
+
+ +
+
+ +
+
+ + + + +
grpc_linked_mdelem grpc_call::send_initial_metadata[3]
+
+ +
+
+ +
+
+ + + + +
size_t grpc_call::send_initial_metadata_count
+
+ +
+
+ +
+
+ + + + +
grpc_stream_op_buffer grpc_call::send_ops
+
+ +
+
+ +
+
+ + + + +
gpr_uint8 grpc_call::sending
+
+ +
+
+ +
+
+ + + + +
received_status grpc_call::status[STATUS_SOURCE_COUNT]
+
+ +
+
+ +
+
+ + + + +
grpc_linked_mdelem grpc_call::status_link
+
+ +
+
+ +
+
+ + + + +
write_state grpc_call::write_state
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structgrpc__call__context__element.html b/doc/ref/core.internal/html/structgrpc__call__context__element.html new file mode 100644 index 0000000000..57f3fa4918 --- /dev/null +++ b/doc/ref/core.internal/html/structgrpc__call__context__element.html @@ -0,0 +1,136 @@ + + + + + + +GRPC Core: grpc_call_context_element Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
grpc_call_context_element Struct Reference
+
+
+ +

#include <context.h>

+ + + + + + +

+Data Fields

void * value
 
void(* destroy )(void *)
 
+

Field Documentation

+ +
+
+ + + + +
void(* grpc_call_context_element::destroy)(void *)
+
+ +
+
+ +
+
+ + + + +
void* grpc_call_context_element::value
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structgrpc__call__details.html b/doc/ref/core.internal/html/structgrpc__call__details.html new file mode 100644 index 0000000000..3845a31af7 --- /dev/null +++ b/doc/ref/core.internal/html/structgrpc__call__details.html @@ -0,0 +1,178 @@ + + + + + + +GRPC Core: grpc_call_details Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
grpc_call_details Struct Reference
+
+
+ +

#include <grpc.h>

+ + + + + + + + + + + + +

+Data Fields

char * method
 
size_t method_capacity
 
char * host
 
size_t host_capacity
 
gpr_timespec deadline
 
+

Field Documentation

+ +
+
+ + + + +
gpr_timespec grpc_call_details::deadline
+
+ +
+
+ +
+
+ + + + +
char* grpc_call_details::host
+
+ +
+
+ +
+
+ + + + +
size_t grpc_call_details::host_capacity
+
+ +
+
+ +
+
+ + + + +
char* grpc_call_details::method
+
+ +
+
+ +
+
+ + + + +
size_t grpc_call_details::method_capacity
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structgrpc__call__element.html b/doc/ref/core.internal/html/structgrpc__call__element.html new file mode 100644 index 0000000000..ef129ca778 --- /dev/null +++ b/doc/ref/core.internal/html/structgrpc__call__element.html @@ -0,0 +1,150 @@ + + + + + + +GRPC Core: grpc_call_element Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
grpc_call_element Struct Reference
+
+
+ +

#include <channel_stack.h>

+ + + + + + + + +

+Data Fields

const grpc_channel_filterfilter
 
void * channel_data
 
void * call_data
 
+

Field Documentation

+ +
+
+ + + + +
void* grpc_call_element::call_data
+
+ +
+
+ +
+
+ + + + +
void* grpc_call_element::channel_data
+
+ +
+
+ +
+
+ + + + +
const grpc_channel_filter* grpc_call_element::filter
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structgrpc__call__stack.html b/doc/ref/core.internal/html/structgrpc__call__stack.html new file mode 100644 index 0000000000..060fc67c2e --- /dev/null +++ b/doc/ref/core.internal/html/structgrpc__call__stack.html @@ -0,0 +1,122 @@ + + + + + + +GRPC Core: grpc_call_stack Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
grpc_call_stack Struct Reference
+
+
+ +

#include <channel_stack.h>

+ + + + +

+Data Fields

size_t count
 
+

Field Documentation

+ +
+
+ + + + +
size_t grpc_call_stack::count
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structgrpc__channel.html b/doc/ref/core.internal/html/structgrpc__channel.html new file mode 100644 index 0000000000..85031e142a --- /dev/null +++ b/doc/ref/core.internal/html/structgrpc__channel.html @@ -0,0 +1,308 @@ + + + + + + +GRPC Core: grpc_channel Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
grpc_channel Struct Reference
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Data Fields

int is_client
 
gpr_refcount refs
 
gpr_uint32 max_message_length
 
grpc_mdctxmetadata_context
 
grpc_mdstrgrpc_status_string
 mdstr for the grpc-status key More...
 
grpc_mdstrgrpc_compression_algorithm_string
 
grpc_mdstrgrpc_message_string
 
grpc_mdstrpath_string
 
grpc_mdstrauthority_string
 
grpc_mdelemgrpc_status_elem [3]
 mdelem for grpc-status: 0 thru grpc-status: 2 More...
 
gpr_mu registered_call_mu
 
registered_callregistered_calls
 
grpc_iomgr_closure destroy_closure
 
char * target
 
+

Field Documentation

+ +
+
+ + + + +
grpc_mdstr* grpc_channel::authority_string
+
+ +
+
+ +
+
+ + + + +
grpc_iomgr_closure grpc_channel::destroy_closure
+
+ +
+
+ +
+
+ + + + +
grpc_mdstr* grpc_channel::grpc_compression_algorithm_string
+
+ +
+
+ +
+
+ + + + +
grpc_mdstr* grpc_channel::grpc_message_string
+
+ +
+
+ +
+
+ + + + +
grpc_mdelem* grpc_channel::grpc_status_elem[3]
+
+ +

mdelem for grpc-status: 0 thru grpc-status: 2

+ +
+
+ +
+
+ + + + +
grpc_mdstr* grpc_channel::grpc_status_string
+
+ +

mdstr for the grpc-status key

+ +
+
+ +
+
+ + + + +
int grpc_channel::is_client
+
+ +
+
+ +
+
+ + + + +
gpr_uint32 grpc_channel::max_message_length
+
+ +
+
+ +
+
+ + + + +
grpc_mdctx* grpc_channel::metadata_context
+
+ +
+
+ +
+
+ + + + +
grpc_mdstr* grpc_channel::path_string
+
+ +
+
+ +
+
+ + + + +
gpr_refcount grpc_channel::refs
+
+ +
+
+ +
+
+ + + + +
gpr_mu grpc_channel::registered_call_mu
+
+ +
+
+ +
+
+ + + + +
registered_call* grpc_channel::registered_calls
+
+ +
+
+ +
+
+ + + + +
char* grpc_channel::target
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structgrpc__channel__args.html b/doc/ref/core.internal/html/structgrpc__channel__args.html new file mode 100644 index 0000000000..b7b10927fd --- /dev/null +++ b/doc/ref/core.internal/html/structgrpc__channel__args.html @@ -0,0 +1,142 @@ + + + + + + +GRPC Core: grpc_channel_args Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
grpc_channel_args Struct Reference
+
+
+ +

An array of arguments that can be passed around. + More...

+ +

#include <grpc.h>

+ + + + + + +

+Data Fields

size_t num_args
 
grpc_argargs
 
+

Detailed Description

+

An array of arguments that can be passed around.

+

Used to set optional channel-level configuration. These configuration options are modelled as key-value pairs as defined by grpc_arg; keys are strings to allow easy backwards-compatible extension by arbitrary parties. All evaluation is performed at channel creation time (i.e. the values in this structure need only live through the creation invocation).

+

Field Documentation

+ +
+
+ + + + +
grpc_arg* grpc_channel_args::args
+
+ +
+
+ +
+
+ + + + +
size_t grpc_channel_args::num_args
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structgrpc__channel__element.html b/doc/ref/core.internal/html/structgrpc__channel__element.html new file mode 100644 index 0000000000..d8fd507fd5 --- /dev/null +++ b/doc/ref/core.internal/html/structgrpc__channel__element.html @@ -0,0 +1,136 @@ + + + + + + +GRPC Core: grpc_channel_element Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
grpc_channel_element Struct Reference
+
+
+ +

#include <channel_stack.h>

+ + + + + + +

+Data Fields

const grpc_channel_filterfilter
 
void * channel_data
 
+

Field Documentation

+ +
+
+ + + + +
void* grpc_channel_element::channel_data
+
+ +
+
+ +
+
+ + + + +
const grpc_channel_filter* grpc_channel_element::filter
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structgrpc__channel__filter.html b/doc/ref/core.internal/html/structgrpc__channel__filter.html new file mode 100644 index 0000000000..3c6a2d125a --- /dev/null +++ b/doc/ref/core.internal/html/structgrpc__channel__filter.html @@ -0,0 +1,248 @@ + + + + + + +GRPC Core: grpc_channel_filter Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
grpc_channel_filter Struct Reference
+
+
+ +

#include <channel_stack.h>

+ + + + + + + + + + + + + + + + + + + + + + +

+Data Fields

void(* start_transport_stream_op )(grpc_call_element *elem, grpc_transport_stream_op *op)
 
void(* start_transport_op )(grpc_channel_element *elem, grpc_transport_op *op)
 
size_t sizeof_call_data
 
void(* init_call_elem )(grpc_call_element *elem, const void *server_transport_data, grpc_transport_stream_op *initial_op)
 
void(* destroy_call_elem )(grpc_call_element *elem)
 
size_t sizeof_channel_data
 
void(* init_channel_elem )(grpc_channel_element *elem, grpc_channel *master, const grpc_channel_args *args, grpc_mdctx *metadata_context, int is_first, int is_last)
 
void(* destroy_channel_elem )(grpc_channel_element *elem)
 
char *(* get_peer )(grpc_call_element *elem)
 
const char * name
 
+

Field Documentation

+ +
+
+ + + + +
void(* grpc_channel_filter::destroy_call_elem)(grpc_call_element *elem)
+
+ +
+
+ +
+
+ + + + +
void(* grpc_channel_filter::destroy_channel_elem)(grpc_channel_element *elem)
+
+ +
+
+ +
+
+ + + + +
char*(* grpc_channel_filter::get_peer)(grpc_call_element *elem)
+
+ +
+
+ +
+
+ + + + +
void(* grpc_channel_filter::init_call_elem)(grpc_call_element *elem, const void *server_transport_data, grpc_transport_stream_op *initial_op)
+
+ +
+
+ +
+
+ + + + +
void(* grpc_channel_filter::init_channel_elem)(grpc_channel_element *elem, grpc_channel *master, const grpc_channel_args *args, grpc_mdctx *metadata_context, int is_first, int is_last)
+
+ +
+
+ +
+
+ + + + +
const char* grpc_channel_filter::name
+
+ +
+
+ +
+
+ + + + +
size_t grpc_channel_filter::sizeof_call_data
+
+ +
+
+ +
+
+ + + + +
size_t grpc_channel_filter::sizeof_channel_data
+
+ +
+
+ +
+
+ + + + +
void(* grpc_channel_filter::start_transport_op)(grpc_channel_element *elem, grpc_transport_op *op)
+
+ +
+
+ +
+
+ + + + +
void(* grpc_channel_filter::start_transport_stream_op)(grpc_call_element *elem, grpc_transport_stream_op *op)
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structgrpc__channel__security__connector.html b/doc/ref/core.internal/html/structgrpc__channel__security__connector.html new file mode 100644 index 0000000000..e957b1c06e --- /dev/null +++ b/doc/ref/core.internal/html/structgrpc__channel__security__connector.html @@ -0,0 +1,150 @@ + + + + + + +GRPC Core: grpc_channel_security_connector Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
grpc_channel_security_connector Struct Reference
+
+
+ +

#include <security_connector.h>

+ + + + + + + + +

+Data Fields

grpc_security_connector base
 
grpc_credentialsrequest_metadata_creds
 
grpc_security_status(* check_call_host )(grpc_channel_security_connector *sc, const char *host, grpc_security_check_cb cb, void *user_data)
 
+

Field Documentation

+ +
+
+ + + + +
grpc_security_connector grpc_channel_security_connector::base
+
+ +
+
+ +
+
+ + + + +
grpc_security_status(* grpc_channel_security_connector::check_call_host)(grpc_channel_security_connector *sc, const char *host, grpc_security_check_cb cb, void *user_data)
+
+ +
+
+ +
+
+ + + + +
grpc_credentials* grpc_channel_security_connector::request_metadata_creds
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structgrpc__channel__stack.html b/doc/ref/core.internal/html/structgrpc__channel__stack.html new file mode 100644 index 0000000000..e68f9366fd --- /dev/null +++ b/doc/ref/core.internal/html/structgrpc__channel__stack.html @@ -0,0 +1,136 @@ + + + + + + +GRPC Core: grpc_channel_stack Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
grpc_channel_stack Struct Reference
+
+
+ +

#include <channel_stack.h>

+ + + + + + +

+Data Fields

size_t count
 
size_t call_stack_size
 
+

Field Documentation

+ +
+
+ + + + +
size_t grpc_channel_stack::call_stack_size
+
+ +
+
+ +
+
+ + + + +
size_t grpc_channel_stack::count
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structgrpc__chttp2__data__parser.html b/doc/ref/core.internal/html/structgrpc__chttp2__data__parser.html new file mode 100644 index 0000000000..474926eb83 --- /dev/null +++ b/doc/ref/core.internal/html/structgrpc__chttp2__data__parser.html @@ -0,0 +1,192 @@ + + + + + + +GRPC Core: grpc_chttp2_data_parser Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
grpc_chttp2_data_parser Struct Reference
+
+
+ +

#include <frame_data.h>

+ + + + + + + + + + + + + + +

+Data Fields

grpc_chttp2_stream_state state
 
gpr_uint8 is_last_frame
 
gpr_uint8 frame_type
 
gpr_uint32 frame_size
 
int is_frame_compressed
 
grpc_stream_op_buffer incoming_sopb
 
+

Field Documentation

+ +
+
+ + + + +
gpr_uint32 grpc_chttp2_data_parser::frame_size
+
+ +
+
+ +
+
+ + + + +
gpr_uint8 grpc_chttp2_data_parser::frame_type
+
+ +
+
+ +
+
+ + + + +
grpc_stream_op_buffer grpc_chttp2_data_parser::incoming_sopb
+
+ +
+
+ +
+
+ + + + +
int grpc_chttp2_data_parser::is_frame_compressed
+
+ +
+
+ +
+
+ + + + +
gpr_uint8 grpc_chttp2_data_parser::is_last_frame
+
+ +
+
+ +
+
+ + + + +
grpc_chttp2_stream_state grpc_chttp2_data_parser::state
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structgrpc__chttp2__goaway__parser.html b/doc/ref/core.internal/html/structgrpc__chttp2__goaway__parser.html new file mode 100644 index 0000000000..dd9615e096 --- /dev/null +++ b/doc/ref/core.internal/html/structgrpc__chttp2__goaway__parser.html @@ -0,0 +1,192 @@ + + + + + + +GRPC Core: grpc_chttp2_goaway_parser Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
grpc_chttp2_goaway_parser Struct Reference
+
+
+ +

#include <frame_goaway.h>

+ + + + + + + + + + + + + + +

+Data Fields

grpc_chttp2_goaway_parse_state state
 
gpr_uint32 last_stream_id
 
gpr_uint32 error_code
 
char * debug_data
 
gpr_uint32 debug_length
 
gpr_uint32 debug_pos
 
+

Field Documentation

+ +
+
+ + + + +
char* grpc_chttp2_goaway_parser::debug_data
+
+ +
+
+ +
+
+ + + + +
gpr_uint32 grpc_chttp2_goaway_parser::debug_length
+
+ +
+
+ +
+
+ + + + +
gpr_uint32 grpc_chttp2_goaway_parser::debug_pos
+
+ +
+
+ +
+
+ + + + +
gpr_uint32 grpc_chttp2_goaway_parser::error_code
+
+ +
+
+ +
+
+ + + + +
gpr_uint32 grpc_chttp2_goaway_parser::last_stream_id
+
+ +
+
+ +
+
+ + + + +
grpc_chttp2_goaway_parse_state grpc_chttp2_goaway_parser::state
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structgrpc__chttp2__hpack__compressor.html b/doc/ref/core.internal/html/structgrpc__chttp2__hpack__compressor.html new file mode 100644 index 0000000000..03c1beb3c7 --- /dev/null +++ b/doc/ref/core.internal/html/structgrpc__chttp2__hpack__compressor.html @@ -0,0 +1,276 @@ + + + + + + +GRPC Core: grpc_chttp2_hpack_compressor Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
grpc_chttp2_hpack_compressor Struct Reference
+
+
+ +

#include <stream_encoder.h>

+ + + + + + + + + + + + + + + + + + + + + + + + + + +

+Data Fields

gpr_uint32 filter_elems_sum
 
gpr_uint32 tail_remote_index
 
gpr_uint16 table_size
 
gpr_uint16 table_elems
 
gpr_uint8 filter_elems [256]
 
grpc_mdctxmdctx
 
grpc_mdstrtimeout_key_str
 
grpc_mdstrentries_keys [256]
 
grpc_mdelementries_elems [256]
 
gpr_uint32 indices_keys [256]
 
gpr_uint32 indices_elems [256]
 
gpr_uint16 table_elem_size [(4096/32)]
 
+

Field Documentation

+ +
+
+ + + + +
grpc_mdelem* grpc_chttp2_hpack_compressor::entries_elems[256]
+
+ +
+
+ +
+
+ + + + +
grpc_mdstr* grpc_chttp2_hpack_compressor::entries_keys[256]
+
+ +
+
+ +
+
+ + + + +
gpr_uint8 grpc_chttp2_hpack_compressor::filter_elems[256]
+
+ +
+
+ +
+
+ + + + +
gpr_uint32 grpc_chttp2_hpack_compressor::filter_elems_sum
+
+ +
+
+ +
+
+ + + + +
gpr_uint32 grpc_chttp2_hpack_compressor::indices_elems[256]
+
+ +
+
+ +
+
+ + + + +
gpr_uint32 grpc_chttp2_hpack_compressor::indices_keys[256]
+
+ +
+
+ +
+
+ + + + +
grpc_mdctx* grpc_chttp2_hpack_compressor::mdctx
+
+ +
+
+ +
+
+ + + + +
gpr_uint16 grpc_chttp2_hpack_compressor::table_elem_size[(4096/32)]
+
+ +
+
+ +
+
+ + + + +
gpr_uint16 grpc_chttp2_hpack_compressor::table_elems
+
+ +
+
+ +
+
+ + + + +
gpr_uint16 grpc_chttp2_hpack_compressor::table_size
+
+ +
+
+ +
+
+ + + + +
gpr_uint32 grpc_chttp2_hpack_compressor::tail_remote_index
+
+ +
+
+ +
+
+ + + + +
grpc_mdstr* grpc_chttp2_hpack_compressor::timeout_key_str
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structgrpc__chttp2__hpack__parser.html b/doc/ref/core.internal/html/structgrpc__chttp2__hpack__parser.html new file mode 100644 index 0000000000..7833bad6ae --- /dev/null +++ b/doc/ref/core.internal/html/structgrpc__chttp2__hpack__parser.html @@ -0,0 +1,390 @@ + + + + + + +GRPC Core: grpc_chttp2_hpack_parser Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
grpc_chttp2_hpack_parser Struct Reference
+
+
+ +

#include <hpack_parser.h>

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Data Fields

void(* on_header )(void *user_data, grpc_mdelem *md)
 
void * on_header_user_data
 
grpc_chttp2_hpack_parser_state state
 
const
+grpc_chttp2_hpack_parser_state
next_state
 
grpc_chttp2_hpack_parser_state after_prioritization
 
union {
   gpr_uint32 *   value
 
   grpc_chttp2_hpack_parser_string *   str
 
parsing
 
grpc_chttp2_hpack_parser_string key
 
grpc_chttp2_hpack_parser_string value
 
gpr_uint32 index
 
gpr_uint32 strlen
 
gpr_uint32 strgot
 
gpr_uint16 huff_state
 
gpr_uint8 binary
 
gpr_uint8 huff
 
gpr_uint8 is_boundary
 
gpr_uint8 is_eof
 
gpr_uint32 base64_buffer
 
grpc_chttp2_hptbl table
 
+

Field Documentation

+ +
+
+ + + + +
grpc_chttp2_hpack_parser_state grpc_chttp2_hpack_parser::after_prioritization
+
+ +
+
+ +
+
+ + + + +
gpr_uint32 grpc_chttp2_hpack_parser::base64_buffer
+
+ +
+
+ +
+
+ + + + +
gpr_uint8 grpc_chttp2_hpack_parser::binary
+
+ +
+
+ +
+
+ + + + +
gpr_uint8 grpc_chttp2_hpack_parser::huff
+
+ +
+
+ +
+
+ + + + +
gpr_uint16 grpc_chttp2_hpack_parser::huff_state
+
+ +
+
+ +
+
+ + + + +
gpr_uint32 grpc_chttp2_hpack_parser::index
+
+ +
+
+ +
+
+ + + + +
gpr_uint8 grpc_chttp2_hpack_parser::is_boundary
+
+ +
+
+ +
+
+ + + + +
gpr_uint8 grpc_chttp2_hpack_parser::is_eof
+
+ +
+
+ +
+
+ + + + +
grpc_chttp2_hpack_parser_string grpc_chttp2_hpack_parser::key
+
+ +
+
+ +
+
+ + + + +
const grpc_chttp2_hpack_parser_state* grpc_chttp2_hpack_parser::next_state
+
+ +
+
+ +
+
+ + + + +
void(* grpc_chttp2_hpack_parser::on_header)(void *user_data, grpc_mdelem *md)
+
+ +
+
+ +
+
+ + + + +
void* grpc_chttp2_hpack_parser::on_header_user_data
+
+ +
+
+ +
+
+ + + + +
union { ... } grpc_chttp2_hpack_parser::parsing
+
+ +
+
+ +
+
+ + + + +
grpc_chttp2_hpack_parser_state grpc_chttp2_hpack_parser::state
+
+ +
+
+ +
+
+ + + + +
grpc_chttp2_hpack_parser_string* grpc_chttp2_hpack_parser::str
+
+ +
+
+ +
+
+ + + + +
gpr_uint32 grpc_chttp2_hpack_parser::strgot
+
+ +
+
+ +
+
+ + + + +
gpr_uint32 grpc_chttp2_hpack_parser::strlen
+
+ +
+
+ +
+
+ + + + +
grpc_chttp2_hptbl grpc_chttp2_hpack_parser::table
+
+ +
+
+ +
+
+ + + + +
gpr_uint32* grpc_chttp2_hpack_parser::value
+
+ +
+
+ +
+
+ + + + +
grpc_chttp2_hpack_parser_string grpc_chttp2_hpack_parser::value
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structgrpc__chttp2__hpack__parser__string.html b/doc/ref/core.internal/html/structgrpc__chttp2__hpack__parser__string.html new file mode 100644 index 0000000000..0c1e487939 --- /dev/null +++ b/doc/ref/core.internal/html/structgrpc__chttp2__hpack__parser__string.html @@ -0,0 +1,150 @@ + + + + + + +GRPC Core: grpc_chttp2_hpack_parser_string Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
grpc_chttp2_hpack_parser_string Struct Reference
+
+
+ +

#include <hpack_parser.h>

+ + + + + + + + +

+Data Fields

char * str
 
gpr_uint32 length
 
gpr_uint32 capacity
 
+

Field Documentation

+ +
+
+ + + + +
gpr_uint32 grpc_chttp2_hpack_parser_string::capacity
+
+ +
+
+ +
+
+ + + + +
gpr_uint32 grpc_chttp2_hpack_parser_string::length
+
+ +
+
+ +
+
+ + + + +
char* grpc_chttp2_hpack_parser_string::str
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structgrpc__chttp2__hptbl.html b/doc/ref/core.internal/html/structgrpc__chttp2__hptbl.html new file mode 100644 index 0000000000..01f6f9f697 --- /dev/null +++ b/doc/ref/core.internal/html/structgrpc__chttp2__hptbl.html @@ -0,0 +1,220 @@ + + + + + + +GRPC Core: grpc_chttp2_hptbl Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
grpc_chttp2_hptbl Struct Reference
+
+
+ +

#include <hpack_table.h>

+ + + + + + + + + + + + + + + + + + +

+Data Fields

grpc_mdctxmdctx
 
gpr_uint16 first_ent
 
gpr_uint16 last_ent
 
gpr_uint16 num_ents
 
gpr_uint16 mem_used
 
gpr_uint16 max_bytes
 
grpc_mdelements [((4096+32-1)/32)]
 
grpc_mdelemstatic_ents [61]
 
+

Field Documentation

+ +
+
+ + + + +
grpc_mdelem* grpc_chttp2_hptbl::ents[((4096+32-1)/32)]
+
+ +
+
+ +
+
+ + + + +
gpr_uint16 grpc_chttp2_hptbl::first_ent
+
+ +
+
+ +
+
+ + + + +
gpr_uint16 grpc_chttp2_hptbl::last_ent
+
+ +
+
+ +
+
+ + + + +
gpr_uint16 grpc_chttp2_hptbl::max_bytes
+
+ +
+
+ +
+
+ + + + +
grpc_mdctx* grpc_chttp2_hptbl::mdctx
+
+ +
+
+ +
+
+ + + + +
gpr_uint16 grpc_chttp2_hptbl::mem_used
+
+ +
+
+ +
+
+ + + + +
gpr_uint16 grpc_chttp2_hptbl::num_ents
+
+ +
+
+ +
+
+ + + + +
grpc_mdelem* grpc_chttp2_hptbl::static_ents[61]
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structgrpc__chttp2__hptbl__find__result.html b/doc/ref/core.internal/html/structgrpc__chttp2__hptbl__find__result.html new file mode 100644 index 0000000000..5f95ab2732 --- /dev/null +++ b/doc/ref/core.internal/html/structgrpc__chttp2__hptbl__find__result.html @@ -0,0 +1,136 @@ + + + + + + +GRPC Core: grpc_chttp2_hptbl_find_result Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
grpc_chttp2_hptbl_find_result Struct Reference
+
+
+ +

#include <hpack_table.h>

+ + + + + + +

+Data Fields

gpr_uint16 index
 
gpr_uint8 has_value
 
+

Field Documentation

+ +
+
+ + + + +
gpr_uint8 grpc_chttp2_hptbl_find_result::has_value
+
+ +
+
+ +
+
+ + + + +
gpr_uint16 grpc_chttp2_hptbl_find_result::index
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structgrpc__chttp2__huffsym.html b/doc/ref/core.internal/html/structgrpc__chttp2__huffsym.html new file mode 100644 index 0000000000..58ad5e8339 --- /dev/null +++ b/doc/ref/core.internal/html/structgrpc__chttp2__huffsym.html @@ -0,0 +1,136 @@ + + + + + + +GRPC Core: grpc_chttp2_huffsym Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
grpc_chttp2_huffsym Struct Reference
+
+
+ +

#include <huffsyms.h>

+ + + + + + +

+Data Fields

unsigned bits
 
unsigned length
 
+

Field Documentation

+ +
+
+ + + + +
unsigned grpc_chttp2_huffsym::bits
+
+ +
+
+ +
+
+ + + + +
unsigned grpc_chttp2_huffsym::length
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structgrpc__chttp2__incoming__metadata__buffer.html b/doc/ref/core.internal/html/structgrpc__chttp2__incoming__metadata__buffer.html new file mode 100644 index 0000000000..60a024ac81 --- /dev/null +++ b/doc/ref/core.internal/html/structgrpc__chttp2__incoming__metadata__buffer.html @@ -0,0 +1,164 @@ + + + + + + +GRPC Core: grpc_chttp2_incoming_metadata_buffer Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
grpc_chttp2_incoming_metadata_buffer Struct Reference
+
+
+ +

#include <incoming_metadata.h>

+ + + + + + + + + + +

+Data Fields

grpc_linked_mdelemelems
 
size_t count
 
size_t capacity
 
gpr_timespec deadline
 
+

Field Documentation

+ +
+
+ + + + +
size_t grpc_chttp2_incoming_metadata_buffer::capacity
+
+ +
+
+ +
+
+ + + + +
size_t grpc_chttp2_incoming_metadata_buffer::count
+
+ +
+
+ +
+
+ + + + +
gpr_timespec grpc_chttp2_incoming_metadata_buffer::deadline
+
+ +
+
+ +
+
+ + + + +
grpc_linked_mdelem* grpc_chttp2_incoming_metadata_buffer::elems
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structgrpc__chttp2__incoming__metadata__live__op__buffer.html b/doc/ref/core.internal/html/structgrpc__chttp2__incoming__metadata__live__op__buffer.html new file mode 100644 index 0000000000..0698bc001d --- /dev/null +++ b/doc/ref/core.internal/html/structgrpc__chttp2__incoming__metadata__live__op__buffer.html @@ -0,0 +1,122 @@ + + + + + + +GRPC Core: grpc_chttp2_incoming_metadata_live_op_buffer Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
grpc_chttp2_incoming_metadata_live_op_buffer Struct Reference
+
+
+ +

#include <incoming_metadata.h>

+ + + + +

+Data Fields

grpc_linked_mdelemelems
 
+

Field Documentation

+ +
+
+ + + + +
grpc_linked_mdelem* grpc_chttp2_incoming_metadata_live_op_buffer::elems
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structgrpc__chttp2__outstanding__ping.html b/doc/ref/core.internal/html/structgrpc__chttp2__outstanding__ping.html new file mode 100644 index 0000000000..70de6a25ce --- /dev/null +++ b/doc/ref/core.internal/html/structgrpc__chttp2__outstanding__ping.html @@ -0,0 +1,166 @@ + + + + + + +GRPC Core: grpc_chttp2_outstanding_ping Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
grpc_chttp2_outstanding_ping Struct Reference
+
+
+ +

#include <internal.h>

+ + + + + + + + + + +

+Data Fields

gpr_uint8 id [8]
 
grpc_iomgr_closureon_recv
 
struct
+grpc_chttp2_outstanding_ping
next
 
struct
+grpc_chttp2_outstanding_ping
prev
 
+

Field Documentation

+ +
+
+ + + + +
gpr_uint8 grpc_chttp2_outstanding_ping::id[8]
+
+ +
+
+ +
+
+ + + + +
struct grpc_chttp2_outstanding_ping* grpc_chttp2_outstanding_ping::next
+
+ +
+
+ +
+
+ + + + +
grpc_iomgr_closure* grpc_chttp2_outstanding_ping::on_recv
+
+ +
+
+ +
+
+ + + + +
struct grpc_chttp2_outstanding_ping* grpc_chttp2_outstanding_ping::prev
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structgrpc__chttp2__ping__parser.html b/doc/ref/core.internal/html/structgrpc__chttp2__ping__parser.html new file mode 100644 index 0000000000..91bdc6543d --- /dev/null +++ b/doc/ref/core.internal/html/structgrpc__chttp2__ping__parser.html @@ -0,0 +1,150 @@ + + + + + + +GRPC Core: grpc_chttp2_ping_parser Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
grpc_chttp2_ping_parser Struct Reference
+
+
+ +

#include <frame_ping.h>

+ + + + + + + + +

+Data Fields

gpr_uint8 byte
 
gpr_uint8 is_ack
 
gpr_uint8 opaque_8bytes [8]
 
+

Field Documentation

+ +
+
+ + + + +
gpr_uint8 grpc_chttp2_ping_parser::byte
+
+ +
+
+ +
+
+ + + + +
gpr_uint8 grpc_chttp2_ping_parser::is_ack
+
+ +
+
+ +
+
+ + + + +
gpr_uint8 grpc_chttp2_ping_parser::opaque_8bytes[8]
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structgrpc__chttp2__rst__stream__parser.html b/doc/ref/core.internal/html/structgrpc__chttp2__rst__stream__parser.html new file mode 100644 index 0000000000..86a83bfb2c --- /dev/null +++ b/doc/ref/core.internal/html/structgrpc__chttp2__rst__stream__parser.html @@ -0,0 +1,136 @@ + + + + + + +GRPC Core: grpc_chttp2_rst_stream_parser Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
grpc_chttp2_rst_stream_parser Struct Reference
+
+
+ +

#include <frame_rst_stream.h>

+ + + + + + +

+Data Fields

gpr_uint8 byte
 
gpr_uint8 reason_bytes [4]
 
+

Field Documentation

+ +
+
+ + + + +
gpr_uint8 grpc_chttp2_rst_stream_parser::byte
+
+ +
+
+ +
+
+ + + + +
gpr_uint8 grpc_chttp2_rst_stream_parser::reason_bytes[4]
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structgrpc__chttp2__setting__parameters.html b/doc/ref/core.internal/html/structgrpc__chttp2__setting__parameters.html new file mode 100644 index 0000000000..f1165e7dcf --- /dev/null +++ b/doc/ref/core.internal/html/structgrpc__chttp2__setting__parameters.html @@ -0,0 +1,178 @@ + + + + + + +GRPC Core: grpc_chttp2_setting_parameters Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
grpc_chttp2_setting_parameters Struct Reference
+
+
+ +

#include <frame_settings.h>

+ + + + + + + + + + + + +

+Data Fields

const char * name
 
gpr_uint32 default_value
 
gpr_uint32 min_value
 
gpr_uint32 max_value
 
grpc_chttp2_invalid_value_behavior invalid_value_behavior
 
+

Field Documentation

+ +
+
+ + + + +
gpr_uint32 grpc_chttp2_setting_parameters::default_value
+
+ +
+
+ +
+
+ + + + +
grpc_chttp2_invalid_value_behavior grpc_chttp2_setting_parameters::invalid_value_behavior
+
+ +
+
+ +
+
+ + + + +
gpr_uint32 grpc_chttp2_setting_parameters::max_value
+
+ +
+
+ +
+
+ + + + +
gpr_uint32 grpc_chttp2_setting_parameters::min_value
+
+ +
+
+ +
+
+ + + + +
const char* grpc_chttp2_setting_parameters::name
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structgrpc__chttp2__settings__parser.html b/doc/ref/core.internal/html/structgrpc__chttp2__settings__parser.html new file mode 100644 index 0000000000..48981d18ed --- /dev/null +++ b/doc/ref/core.internal/html/structgrpc__chttp2__settings__parser.html @@ -0,0 +1,192 @@ + + + + + + +GRPC Core: grpc_chttp2_settings_parser Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
grpc_chttp2_settings_parser Struct Reference
+
+
+ +

#include <frame_settings.h>

+ + + + + + + + + + + + + + +

+Data Fields

grpc_chttp2_settings_parse_state state
 
gpr_uint32target_settings
 
gpr_uint8 is_ack
 
gpr_uint16 id
 
gpr_uint32 value
 
gpr_uint32 incoming_settings [GRPC_CHTTP2_NUM_SETTINGS]
 
+

Field Documentation

+ +
+
+ + + + +
gpr_uint16 grpc_chttp2_settings_parser::id
+
+ +
+
+ +
+
+ + + + +
gpr_uint32 grpc_chttp2_settings_parser::incoming_settings[GRPC_CHTTP2_NUM_SETTINGS]
+
+ +
+
+ +
+
+ + + + +
gpr_uint8 grpc_chttp2_settings_parser::is_ack
+
+ +
+
+ +
+
+ + + + +
grpc_chttp2_settings_parse_state grpc_chttp2_settings_parser::state
+
+ +
+
+ +
+
+ + + + +
gpr_uint32* grpc_chttp2_settings_parser::target_settings
+
+ +
+
+ +
+
+ + + + +
gpr_uint32 grpc_chttp2_settings_parser::value
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structgrpc__chttp2__stream.html b/doc/ref/core.internal/html/structgrpc__chttp2__stream.html new file mode 100644 index 0000000000..bddc5cd8cd --- /dev/null +++ b/doc/ref/core.internal/html/structgrpc__chttp2__stream.html @@ -0,0 +1,178 @@ + + + + + + +GRPC Core: grpc_chttp2_stream Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
grpc_chttp2_stream Struct Reference
+
+
+ +

#include <internal.h>

+ + + + + + + + + + + + +

+Data Fields

grpc_chttp2_stream_global global
 
grpc_chttp2_stream_writing writing
 
grpc_chttp2_stream_parsing parsing
 
grpc_chttp2_stream_link links [STREAM_LIST_COUNT]
 
gpr_uint8 included [STREAM_LIST_COUNT]
 
+

Field Documentation

+ +
+
+ + + + +
grpc_chttp2_stream_global grpc_chttp2_stream::global
+
+ +
+
+ +
+
+ + + + +
gpr_uint8 grpc_chttp2_stream::included[STREAM_LIST_COUNT]
+
+ +
+
+ +
+
+ + + + +
grpc_chttp2_stream_link grpc_chttp2_stream::links[STREAM_LIST_COUNT]
+
+ +
+
+ +
+
+ + + + +
grpc_chttp2_stream_parsing grpc_chttp2_stream::parsing
+
+ +
+
+ +
+
+ + + + +
grpc_chttp2_stream_writing grpc_chttp2_stream::writing
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structgrpc__chttp2__stream__global.html b/doc/ref/core.internal/html/structgrpc__chttp2__stream__global.html new file mode 100644 index 0000000000..2b705c7403 --- /dev/null +++ b/doc/ref/core.internal/html/structgrpc__chttp2__stream__global.html @@ -0,0 +1,453 @@ + + + + + + +GRPC Core: grpc_chttp2_stream_global Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
grpc_chttp2_stream_global Struct Reference
+
+
+ +

#include <internal.h>

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Data Fields

gpr_uint32 id
 HTTP2 stream id for this stream, or zero if one has not been assigned. More...
 
grpc_iomgr_closuresend_done_closure
 
grpc_iomgr_closurerecv_done_closure
 
gpr_int64 outgoing_window
 window available for us to send to peer More...
 
gpr_uint32 max_recv_bytes
 The number of bytes the upper layers have offered to receive. More...
 
gpr_uint32 unannounced_incoming_window
 The number of bytes the upper layer has offered to read but we have not yet announced to HTTP2 flow control. More...
 
gpr_uint32 incoming_window
 The number of bytes of HTTP2 flow control we have advertised. More...
 
grpc_stream_op_bufferoutgoing_sopb
 stream ops the transport user would like to send More...
 
grpc_chttp2_write_state write_state
 when the application requests writes be closed, the write_closed is 'queued'; when the close is flow controlled into the send path, we are 'sending' it; when the write has been performed it is 'sent' More...
 
gpr_uint8 read_closed
 is this stream closed (boolean) More...
 
gpr_uint8 cancelled
 has this stream been cancelled? (boolean) More...
 
grpc_status_code cancelled_status
 
gpr_uint8 published_cancelled
 have we told the upper layer that this stream is cancelled? More...
 
gpr_uint8 in_stream_map
 is this stream in the stream map? (boolean) More...
 
gpr_uint8 writing_now
 is this stream actively being written? More...
 
grpc_stream_state published_state
 stream state already published to the upper layer More...
 
grpc_stream_statepublish_state
 address to publish next stream state to More...
 
grpc_stream_op_bufferpublish_sopb
 pointer to sop buffer to fill in with new stream ops More...
 
grpc_stream_op_buffer incoming_sopb
 
grpc_chttp2_incoming_metadata_buffer incoming_metadata
 incoming metadata More...
 
grpc_chttp2_incoming_metadata_live_op_buffer outstanding_metadata
 
+

Field Documentation

+ +
+
+ + + + +
gpr_uint8 grpc_chttp2_stream_global::cancelled
+
+ +

has this stream been cancelled? (boolean)

+ +
+
+ +
+
+ + + + +
grpc_status_code grpc_chttp2_stream_global::cancelled_status
+
+ +
+
+ +
+
+ + + + +
gpr_uint32 grpc_chttp2_stream_global::id
+
+ +

HTTP2 stream id for this stream, or zero if one has not been assigned.

+ +
+
+ +
+
+ + + + +
gpr_uint8 grpc_chttp2_stream_global::in_stream_map
+
+ +

is this stream in the stream map? (boolean)

+ +
+
+ +
+
+ + + + +
grpc_chttp2_incoming_metadata_buffer grpc_chttp2_stream_global::incoming_metadata
+
+ +

incoming metadata

+ +
+
+ +
+
+ + + + +
grpc_stream_op_buffer grpc_chttp2_stream_global::incoming_sopb
+
+ +
+
+ +
+
+ + + + +
gpr_uint32 grpc_chttp2_stream_global::incoming_window
+
+ +

The number of bytes of HTTP2 flow control we have advertised.

+

As we advertise incoming flow control window, this value increases. As bytes are read, this value decreases. Updated after parse.

+ +
+
+ +
+
+ + + + +
gpr_uint32 grpc_chttp2_stream_global::max_recv_bytes
+
+ +

The number of bytes the upper layers have offered to receive.

+

As the upper layer offers more bytes, this value increases. As bytes are read, this value decreases.

+ +
+
+ +
+
+ + + + +
grpc_stream_op_buffer* grpc_chttp2_stream_global::outgoing_sopb
+
+ +

stream ops the transport user would like to send

+ +
+
+ +
+
+ + + + +
gpr_int64 grpc_chttp2_stream_global::outgoing_window
+
+ +

window available for us to send to peer

+ +
+
+ +
+
+ + + + +
grpc_chttp2_incoming_metadata_live_op_buffer grpc_chttp2_stream_global::outstanding_metadata
+
+ +
+
+ +
+
+ + + + +
grpc_stream_op_buffer* grpc_chttp2_stream_global::publish_sopb
+
+ +

pointer to sop buffer to fill in with new stream ops

+ +
+
+ +
+
+ + + + +
grpc_stream_state* grpc_chttp2_stream_global::publish_state
+
+ +

address to publish next stream state to

+ +
+
+ +
+
+ + + + +
gpr_uint8 grpc_chttp2_stream_global::published_cancelled
+
+ +

have we told the upper layer that this stream is cancelled?

+ +
+
+ +
+
+ + + + +
grpc_stream_state grpc_chttp2_stream_global::published_state
+
+ +

stream state already published to the upper layer

+ +
+
+ +
+
+ + + + +
gpr_uint8 grpc_chttp2_stream_global::read_closed
+
+ +

is this stream closed (boolean)

+ +
+
+ +
+
+ + + + +
grpc_iomgr_closure* grpc_chttp2_stream_global::recv_done_closure
+
+ +
+
+ +
+
+ + + + +
grpc_iomgr_closure* grpc_chttp2_stream_global::send_done_closure
+
+ +
+
+ +
+
+ + + + +
gpr_uint32 grpc_chttp2_stream_global::unannounced_incoming_window
+
+ +

The number of bytes the upper layer has offered to read but we have not yet announced to HTTP2 flow control.

+

As the upper layers offer to read more bytes, this value increases. As we advertise incoming flow control window, this value decreases.

+ +
+
+ +
+
+ + + + +
grpc_chttp2_write_state grpc_chttp2_stream_global::write_state
+
+ +

when the application requests writes be closed, the write_closed is 'queued'; when the close is flow controlled into the send path, we are 'sending' it; when the write has been performed it is 'sent'

+ +
+
+ +
+
+ + + + +
gpr_uint8 grpc_chttp2_stream_global::writing_now
+
+ +

is this stream actively being written?

+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structgrpc__chttp2__stream__link.html b/doc/ref/core.internal/html/structgrpc__chttp2__stream__link.html new file mode 100644 index 0000000000..834a2df5bd --- /dev/null +++ b/doc/ref/core.internal/html/structgrpc__chttp2__stream__link.html @@ -0,0 +1,136 @@ + + + + + + +GRPC Core: grpc_chttp2_stream_link Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
grpc_chttp2_stream_link Struct Reference
+
+
+ +

#include <internal.h>

+ + + + + + +

+Data Fields

grpc_chttp2_streamnext
 
grpc_chttp2_streamprev
 
+

Field Documentation

+ +
+
+ + + + +
grpc_chttp2_stream* grpc_chttp2_stream_link::next
+
+ +
+
+ +
+
+ + + + +
grpc_chttp2_stream* grpc_chttp2_stream_link::prev
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structgrpc__chttp2__stream__list.html b/doc/ref/core.internal/html/structgrpc__chttp2__stream__list.html new file mode 100644 index 0000000000..953aa8049a --- /dev/null +++ b/doc/ref/core.internal/html/structgrpc__chttp2__stream__list.html @@ -0,0 +1,136 @@ + + + + + + +GRPC Core: grpc_chttp2_stream_list Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
grpc_chttp2_stream_list Struct Reference
+
+
+ +

#include <internal.h>

+ + + + + + +

+Data Fields

grpc_chttp2_streamhead
 
grpc_chttp2_streamtail
 
+

Field Documentation

+ +
+
+ + + + +
grpc_chttp2_stream* grpc_chttp2_stream_list::head
+
+ +
+
+ +
+
+ + + + +
grpc_chttp2_stream* grpc_chttp2_stream_list::tail
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structgrpc__chttp2__stream__map.html b/doc/ref/core.internal/html/structgrpc__chttp2__stream__map.html new file mode 100644 index 0000000000..03e5ea7c47 --- /dev/null +++ b/doc/ref/core.internal/html/structgrpc__chttp2__stream__map.html @@ -0,0 +1,178 @@ + + + + + + +GRPC Core: grpc_chttp2_stream_map Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
grpc_chttp2_stream_map Struct Reference
+
+
+ +

#include <stream_map.h>

+ + + + + + + + + + + + +

+Data Fields

gpr_uint32keys
 
void ** values
 
size_t count
 
size_t free
 
size_t capacity
 
+

Field Documentation

+ +
+
+ + + + +
size_t grpc_chttp2_stream_map::capacity
+
+ +
+
+ +
+
+ + + + +
size_t grpc_chttp2_stream_map::count
+
+ +
+
+ +
+
+ + + + +
size_t grpc_chttp2_stream_map::free
+
+ +
+
+ +
+
+ + + + +
gpr_uint32* grpc_chttp2_stream_map::keys
+
+ +
+
+ +
+
+ + + + +
void** grpc_chttp2_stream_map::values
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structgrpc__chttp2__stream__parsing.html b/doc/ref/core.internal/html/structgrpc__chttp2__stream__parsing.html new file mode 100644 index 0000000000..f7b027dd5d --- /dev/null +++ b/doc/ref/core.internal/html/structgrpc__chttp2__stream__parsing.html @@ -0,0 +1,258 @@ + + + + + + +GRPC Core: grpc_chttp2_stream_parsing Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
grpc_chttp2_stream_parsing Struct Reference
+
+
+ +

#include <internal.h>

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Data Fields

gpr_uint32 id
 HTTP2 stream id for this stream, or zero if one has not been assigned. More...
 
gpr_uint8 received_close
 has this stream received a close More...
 
gpr_uint8 saw_rst_stream
 saw a rst_stream More...
 
gpr_uint32 incoming_window_delta
 incoming_window has been reduced by this much during parsing More...
 
gpr_uint32 incoming_window
 window available for peer to send to us More...
 
grpc_chttp2_data_parser data_parser
 parsing state for data frames More...
 
gpr_uint32 rst_stream_reason
 reason give to rst_stream More...
 
gpr_uint64 outgoing_window_update
 
grpc_chttp2_incoming_metadata_buffer incoming_metadata
 incoming metadata More...
 
+

Field Documentation

+ +
+
+ + + + +
grpc_chttp2_data_parser grpc_chttp2_stream_parsing::data_parser
+
+ +

parsing state for data frames

+ +
+
+ +
+
+ + + + +
gpr_uint32 grpc_chttp2_stream_parsing::id
+
+ +

HTTP2 stream id for this stream, or zero if one has not been assigned.

+ +
+
+ +
+
+ + + + +
grpc_chttp2_incoming_metadata_buffer grpc_chttp2_stream_parsing::incoming_metadata
+
+ +

incoming metadata

+ +
+
+ +
+
+ + + + +
gpr_uint32 grpc_chttp2_stream_parsing::incoming_window
+
+ +

window available for peer to send to us

+ +
+
+ +
+
+ + + + +
gpr_uint32 grpc_chttp2_stream_parsing::incoming_window_delta
+
+ +

incoming_window has been reduced by this much during parsing

+ +
+
+ +
+
+ + + + +
gpr_uint64 grpc_chttp2_stream_parsing::outgoing_window_update
+
+ +
+
+ +
+
+ + + + +
gpr_uint8 grpc_chttp2_stream_parsing::received_close
+
+ +

has this stream received a close

+ +
+
+ +
+
+ + + + +
gpr_uint32 grpc_chttp2_stream_parsing::rst_stream_reason
+
+ +

reason give to rst_stream

+ +
+
+ +
+
+ + + + +
gpr_uint8 grpc_chttp2_stream_parsing::saw_rst_stream
+
+ +

saw a rst_stream

+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structgrpc__chttp2__stream__writing.html b/doc/ref/core.internal/html/structgrpc__chttp2__stream__writing.html new file mode 100644 index 0000000000..fa61f77adc --- /dev/null +++ b/doc/ref/core.internal/html/structgrpc__chttp2__stream__writing.html @@ -0,0 +1,176 @@ + + + + + + +GRPC Core: grpc_chttp2_stream_writing Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
grpc_chttp2_stream_writing Struct Reference
+
+
+ +

#include <internal.h>

+ + + + + + + + + + + + + + +

+Data Fields

gpr_uint32 id
 HTTP2 stream id for this stream, or zero if one has not been assigned. More...
 
grpc_stream_op_buffer sopb
 sops that have passed flow control to be written More...
 
grpc_chttp2_send_closed send_closed
 how strongly should we indicate closure with the next write More...
 
gpr_uint32 announce_window
 how much window should we announce? More...
 
+

Field Documentation

+ +
+
+ + + + +
gpr_uint32 grpc_chttp2_stream_writing::announce_window
+
+ +

how much window should we announce?

+ +
+
+ +
+
+ + + + +
gpr_uint32 grpc_chttp2_stream_writing::id
+
+ +

HTTP2 stream id for this stream, or zero if one has not been assigned.

+ +
+
+ +
+
+ + + + +
grpc_chttp2_send_closed grpc_chttp2_stream_writing::send_closed
+
+ +

how strongly should we indicate closure with the next write

+ +
+
+ +
+
+ + + + +
grpc_stream_op_buffer grpc_chttp2_stream_writing::sopb
+
+ +

sops that have passed flow control to be written

+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structgrpc__chttp2__transport.html b/doc/ref/core.internal/html/structgrpc__chttp2__transport.html new file mode 100644 index 0000000000..e7253a330b --- /dev/null +++ b/doc/ref/core.internal/html/structgrpc__chttp2__transport.html @@ -0,0 +1,492 @@ + + + + + + +GRPC Core: grpc_chttp2_transport Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
grpc_chttp2_transport Struct Reference
+
+
+ +

#include <internal.h>

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Data Fields

grpc_transport base
 
grpc_endpointep
 
grpc_mdctxmetadata_context
 
gpr_refcount refs
 
char * peer_string
 
gpr_mu mu
 
gpr_uint8 destroying
 is the transport destroying itself? More...
 
gpr_uint8 closed
 has the upper layer closed the transport? More...
 
gpr_uint8 writing_active
 is a thread currently writing More...
 
gpr_uint8 parsing_active
 is a thread currently parsing More...
 
gpr_uint8 endpoint_reading
 is there a read request to the endpoint outstanding? More...
 
grpc_chttp2_stream_list lists [STREAM_LIST_COUNT]
 various lists of streams More...
 
grpc_chttp2_transport_global global
 global state for reading/writing More...
 
grpc_chttp2_transport_writing writing
 state only accessible by the chain of execution that set writing_active=1 More...
 
grpc_chttp2_transport_parsing parsing
 state only accessible by the chain of execution that set parsing_active=1 More...
 
grpc_chttp2_stream_map parsing_stream_map
 maps stream id to grpc_chttp2_stream objects; owned by the parsing thread when parsing More...
 
grpc_chttp2_stream_map new_stream_map
 streams created by the client (possibly during parsing); merged with parsing_stream_map during unlock when no parsing is occurring More...
 
grpc_iomgr_closure writing_action
 closure to execute writing More...
 
grpc_iomgr_closure reading_action
 closure to start reading from the endpoint More...
 
grpc_chttp2_stream ** accepting_stream
 address to place a newly accepted stream - set and unset by grpc_chttp2_parsing_accept_stream; used by init_stream to publish the accepted server stream More...
 
struct {
   void(*   accept_stream )(void *user_data,
+      grpc_transport *transport,
+      const void *server_data)
 
   void *   accept_stream_user_data
 
   grpc_connectivity_state_tracker   state_tracker
 connectivity tracking More...
 
channel_callback
 
+

Field Documentation

+ +
+
+ + + + +
void(* grpc_chttp2_transport::accept_stream)(void *user_data, grpc_transport *transport, const void *server_data)
+
+ +
+
+ +
+
+ + + + +
void* grpc_chttp2_transport::accept_stream_user_data
+
+ +
+
+ +
+
+ + + + +
grpc_chttp2_stream** grpc_chttp2_transport::accepting_stream
+
+ +

address to place a newly accepted stream - set and unset by grpc_chttp2_parsing_accept_stream; used by init_stream to publish the accepted server stream

+ +
+
+ +
+
+ + + + +
grpc_transport grpc_chttp2_transport::base
+
+ +
+
+ +
+
+ + + + +
struct { ... } grpc_chttp2_transport::channel_callback
+
+ +
+
+ +
+
+ + + + +
gpr_uint8 grpc_chttp2_transport::closed
+
+ +

has the upper layer closed the transport?

+ +
+
+ +
+
+ + + + +
gpr_uint8 grpc_chttp2_transport::destroying
+
+ +

is the transport destroying itself?

+ +
+
+ +
+
+ + + + +
gpr_uint8 grpc_chttp2_transport::endpoint_reading
+
+ +

is there a read request to the endpoint outstanding?

+ +
+
+ +
+
+ + + + +
grpc_endpoint* grpc_chttp2_transport::ep
+
+ +
+
+ +
+
+ + + + +
grpc_chttp2_transport_global grpc_chttp2_transport::global
+
+ +

global state for reading/writing

+ +
+
+ +
+
+ + + + +
grpc_chttp2_stream_list grpc_chttp2_transport::lists[STREAM_LIST_COUNT]
+
+ +

various lists of streams

+ +
+
+ +
+
+ + + + +
grpc_mdctx* grpc_chttp2_transport::metadata_context
+
+ +
+
+ +
+
+ + + + +
gpr_mu grpc_chttp2_transport::mu
+
+ +
+
+ +
+
+ + + + +
grpc_chttp2_stream_map grpc_chttp2_transport::new_stream_map
+
+ +

streams created by the client (possibly during parsing); merged with parsing_stream_map during unlock when no parsing is occurring

+ +
+
+ +
+
+ + + + +
grpc_chttp2_transport_parsing grpc_chttp2_transport::parsing
+
+ +

state only accessible by the chain of execution that set parsing_active=1

+ +
+
+ +
+
+ + + + +
gpr_uint8 grpc_chttp2_transport::parsing_active
+
+ +

is a thread currently parsing

+ +
+
+ +
+
+ + + + +
grpc_chttp2_stream_map grpc_chttp2_transport::parsing_stream_map
+
+ +

maps stream id to grpc_chttp2_stream objects; owned by the parsing thread when parsing

+ +
+
+ +
+
+ + + + +
char* grpc_chttp2_transport::peer_string
+
+ +
+
+ +
+
+ + + + +
grpc_iomgr_closure grpc_chttp2_transport::reading_action
+
+ +

closure to start reading from the endpoint

+ +
+
+ +
+
+ + + + +
gpr_refcount grpc_chttp2_transport::refs
+
+ +
+
+ +
+
+ + + + +
grpc_connectivity_state_tracker grpc_chttp2_transport::state_tracker
+
+ +

connectivity tracking

+ +
+
+ +
+
+ + + + +
grpc_chttp2_transport_writing grpc_chttp2_transport::writing
+
+ +

state only accessible by the chain of execution that set writing_active=1

+ +
+
+ +
+
+ + + + +
grpc_iomgr_closure grpc_chttp2_transport::writing_action
+
+ +

closure to execute writing

+ +
+
+ +
+
+ + + + +
gpr_uint8 grpc_chttp2_transport::writing_active
+
+ +

is a thread currently writing

+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structgrpc__chttp2__transport__global.html b/doc/ref/core.internal/html/structgrpc__chttp2__transport__global.html new file mode 100644 index 0000000000..27dc1dc288 --- /dev/null +++ b/doc/ref/core.internal/html/structgrpc__chttp2__transport__global.html @@ -0,0 +1,411 @@ + + + + + + +GRPC Core: grpc_chttp2_transport_global Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
grpc_chttp2_transport_global Struct Reference
+
+
+ +

#include <internal.h>

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Data Fields

gpr_slice_buffer qbuf
 data to write next write More...
 
grpc_iomgr_closurepending_closures_head
 queued callbacks More...
 
grpc_iomgr_closurepending_closures_tail
 
gpr_uint32 outgoing_window
 window available for us to send to peer More...
 
gpr_uint32 incoming_window
 window available for peer to send to us - updated after parse More...
 
gpr_uint32 connection_window_target
 how much window would we like to have for incoming_window More...
 
gpr_uint8 seen_goaway
 have we seen a goaway More...
 
gpr_uint8 sent_goaway
 have we sent a goaway More...
 
gpr_uint8 is_client
 is this transport a client? More...
 
gpr_uint8 dirtied_local_settings
 are the local settings dirty and need to be sent? More...
 
gpr_uint8 sent_local_settings
 have local settings been sent? More...
 
gpr_uint32 force_send_settings
 bitmask of setting indexes to send out More...
 
gpr_uint32 settings [GRPC_NUM_SETTING_SETS][GRPC_CHTTP2_NUM_SETTINGS]
 settings values More...
 
gpr_uint32 next_stream_id
 what is the next stream id to be allocated by this peer? copied to next_stream_id in parsing when parsing commences More...
 
gpr_uint32 last_incoming_stream_id
 last received stream id More...
 
grpc_chttp2_outstanding_ping pings
 pings awaiting responses More...
 
gpr_uint64 ping_counter
 next payload for an outgoing ping More...
 
gpr_uint32 concurrent_stream_count
 concurrent stream count: updated when not parsing, so this is a strict over-estimation on the client More...
 
+

Field Documentation

+ +
+
+ + + + +
gpr_uint32 grpc_chttp2_transport_global::concurrent_stream_count
+
+ +

concurrent stream count: updated when not parsing, so this is a strict over-estimation on the client

+ +
+
+ +
+
+ + + + +
gpr_uint32 grpc_chttp2_transport_global::connection_window_target
+
+ +

how much window would we like to have for incoming_window

+ +
+
+ +
+
+ + + + +
gpr_uint8 grpc_chttp2_transport_global::dirtied_local_settings
+
+ +

are the local settings dirty and need to be sent?

+ +
+
+ +
+
+ + + + +
gpr_uint32 grpc_chttp2_transport_global::force_send_settings
+
+ +

bitmask of setting indexes to send out

+ +
+
+ +
+
+ + + + +
gpr_uint32 grpc_chttp2_transport_global::incoming_window
+
+ +

window available for peer to send to us - updated after parse

+ +
+
+ +
+
+ + + + +
gpr_uint8 grpc_chttp2_transport_global::is_client
+
+ +

is this transport a client?

+ +
+
+ +
+
+ + + + +
gpr_uint32 grpc_chttp2_transport_global::last_incoming_stream_id
+
+ +

last received stream id

+ +
+
+ +
+
+ + + + +
gpr_uint32 grpc_chttp2_transport_global::next_stream_id
+
+ +

what is the next stream id to be allocated by this peer? copied to next_stream_id in parsing when parsing commences

+ +
+
+ +
+
+ + + + +
gpr_uint32 grpc_chttp2_transport_global::outgoing_window
+
+ +

window available for us to send to peer

+ +
+
+ +
+
+ + + + +
grpc_iomgr_closure* grpc_chttp2_transport_global::pending_closures_head
+
+ +

queued callbacks

+ +
+
+ +
+
+ + + + +
grpc_iomgr_closure* grpc_chttp2_transport_global::pending_closures_tail
+
+ +
+
+ +
+
+ + + + +
gpr_uint64 grpc_chttp2_transport_global::ping_counter
+
+ +

next payload for an outgoing ping

+ +
+
+ +
+
+ + + + +
grpc_chttp2_outstanding_ping grpc_chttp2_transport_global::pings
+
+ +

pings awaiting responses

+ +
+
+ +
+
+ + + + +
gpr_slice_buffer grpc_chttp2_transport_global::qbuf
+
+ +

data to write next write

+ +
+
+ +
+
+ + + + +
gpr_uint8 grpc_chttp2_transport_global::seen_goaway
+
+ +

have we seen a goaway

+ +
+
+ +
+
+ + + + +
gpr_uint8 grpc_chttp2_transport_global::sent_goaway
+
+ +

have we sent a goaway

+ +
+
+ +
+
+ + + + +
gpr_uint8 grpc_chttp2_transport_global::sent_local_settings
+
+ +

have local settings been sent?

+ +
+
+ +
+
+ + + + +
gpr_uint32 grpc_chttp2_transport_global::settings[GRPC_NUM_SETTING_SETS][GRPC_CHTTP2_NUM_SETTINGS]
+
+ +

settings values

+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structgrpc__chttp2__transport__parsing.html b/doc/ref/core.internal/html/structgrpc__chttp2__transport__parsing.html new file mode 100644 index 0000000000..a228767189 --- /dev/null +++ b/doc/ref/core.internal/html/structgrpc__chttp2__transport__parsing.html @@ -0,0 +1,621 @@ + + + + + + +GRPC Core: grpc_chttp2_transport_parsing Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
grpc_chttp2_transport_parsing Struct Reference
+
+
+ +

#include <internal.h>

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Data Fields

gpr_uint8 is_client
 is this transport a client? (boolean) More...
 
gpr_uint8 settings_updated
 were settings updated? More...
 
gpr_uint8 settings_ack_received
 was a settings ack received? More...
 
gpr_uint8 goaway_received
 was a goaway frame received? More...
 
gpr_int64 initial_window_update
 initial window change More...
 
gpr_slice_buffer qbuf
 data to write later - after parsing More...
 
grpc_mdstrstr_grpc_timeout
 
grpc_chttp2_hpack_parser hpack_parser
 parser for headers More...
 
union {
   grpc_chttp2_window_update_parser   window_update
 
   grpc_chttp2_settings_parser   settings
 
   grpc_chttp2_ping_parser   ping
 
   grpc_chttp2_rst_stream_parser   rst_stream
 
simple
 simple one shot parsers More...
 
grpc_chttp2_goaway_parser goaway_parser
 parser for goaway frames More...
 
gpr_uint32 incoming_window
 window available for peer to send to us More...
 
gpr_uint32 incoming_window_delta
 
gpr_uint32 next_stream_id
 next stream id available at the time of beginning parsing More...
 
gpr_uint32 last_incoming_stream_id
 
grpc_chttp2_deframe_transport_state deframe_state
 
gpr_uint8 incoming_frame_type
 
gpr_uint8 incoming_frame_flags
 
gpr_uint8 header_eof
 
gpr_uint32 expect_continuation_stream_id
 
gpr_uint32 incoming_frame_size
 
gpr_uint32 incoming_stream_id
 
void * parser_data
 
grpc_chttp2_stream_parsingincoming_stream
 
grpc_chttp2_parse_error(* parser )(void *parser_user_data, grpc_chttp2_transport_parsing *transport_parsing, grpc_chttp2_stream_parsing *stream_parsing, gpr_slice slice, int is_last)
 
gpr_uint32 settings [GRPC_CHTTP2_NUM_SETTINGS]
 
grpc_status_code goaway_error
 
gpr_uint32 goaway_last_stream_index
 
gpr_slice goaway_text
 
gpr_uint64 outgoing_window_update
 
grpc_chttp2_outstanding_ping pings
 pings awaiting responses More...
 
+

Field Documentation

+ +
+
+ + + + +
grpc_chttp2_deframe_transport_state grpc_chttp2_transport_parsing::deframe_state
+
+ +
+
+ +
+
+ + + + +
gpr_uint32 grpc_chttp2_transport_parsing::expect_continuation_stream_id
+
+ +
+
+ +
+
+ + + + +
grpc_status_code grpc_chttp2_transport_parsing::goaway_error
+
+ +
+
+ +
+
+ + + + +
gpr_uint32 grpc_chttp2_transport_parsing::goaway_last_stream_index
+
+ +
+
+ +
+
+ + + + +
grpc_chttp2_goaway_parser grpc_chttp2_transport_parsing::goaway_parser
+
+ +

parser for goaway frames

+ +
+
+ +
+
+ + + + +
gpr_uint8 grpc_chttp2_transport_parsing::goaway_received
+
+ +

was a goaway frame received?

+ +
+
+ +
+
+ + + + +
gpr_slice grpc_chttp2_transport_parsing::goaway_text
+
+ +
+
+ +
+
+ + + + +
gpr_uint8 grpc_chttp2_transport_parsing::header_eof
+
+ +
+
+ +
+
+ + + + +
grpc_chttp2_hpack_parser grpc_chttp2_transport_parsing::hpack_parser
+
+ +

parser for headers

+ +
+
+ +
+
+ + + + +
gpr_uint8 grpc_chttp2_transport_parsing::incoming_frame_flags
+
+ +
+
+ +
+
+ + + + +
gpr_uint32 grpc_chttp2_transport_parsing::incoming_frame_size
+
+ +
+
+ +
+
+ + + + +
gpr_uint8 grpc_chttp2_transport_parsing::incoming_frame_type
+
+ +
+
+ +
+
+ + + + +
grpc_chttp2_stream_parsing* grpc_chttp2_transport_parsing::incoming_stream
+
+ +
+
+ +
+
+ + + + +
gpr_uint32 grpc_chttp2_transport_parsing::incoming_stream_id
+
+ +
+
+ +
+
+ + + + +
gpr_uint32 grpc_chttp2_transport_parsing::incoming_window
+
+ +

window available for peer to send to us

+ +
+
+ +
+
+ + + + +
gpr_uint32 grpc_chttp2_transport_parsing::incoming_window_delta
+
+ +
+
+ +
+
+ + + + +
gpr_int64 grpc_chttp2_transport_parsing::initial_window_update
+
+ +

initial window change

+ +
+
+ +
+
+ + + + +
gpr_uint8 grpc_chttp2_transport_parsing::is_client
+
+ +

is this transport a client? (boolean)

+ +
+
+ +
+
+ + + + +
gpr_uint32 grpc_chttp2_transport_parsing::last_incoming_stream_id
+
+ +
+
+ +
+
+ + + + +
gpr_uint32 grpc_chttp2_transport_parsing::next_stream_id
+
+ +

next stream id available at the time of beginning parsing

+ +
+
+ +
+
+ + + + +
gpr_uint64 grpc_chttp2_transport_parsing::outgoing_window_update
+
+ +
+
+ +
+
+ + + + +
grpc_chttp2_parse_error(* grpc_chttp2_transport_parsing::parser)(void *parser_user_data, grpc_chttp2_transport_parsing *transport_parsing, grpc_chttp2_stream_parsing *stream_parsing, gpr_slice slice, int is_last)
+
+ +
+
+ +
+
+ + + + +
void* grpc_chttp2_transport_parsing::parser_data
+
+ +
+
+ +
+
+ + + + +
grpc_chttp2_ping_parser grpc_chttp2_transport_parsing::ping
+
+ +
+
+ +
+
+ + + + +
grpc_chttp2_outstanding_ping grpc_chttp2_transport_parsing::pings
+
+ +

pings awaiting responses

+ +
+
+ +
+
+ + + + +
gpr_slice_buffer grpc_chttp2_transport_parsing::qbuf
+
+ +

data to write later - after parsing

+ +
+
+ +
+
+ + + + +
grpc_chttp2_rst_stream_parser grpc_chttp2_transport_parsing::rst_stream
+
+ +
+
+ +
+
+ + + + +
grpc_chttp2_settings_parser grpc_chttp2_transport_parsing::settings
+
+ +
+
+ +
+
+ + + + +
gpr_uint32 grpc_chttp2_transport_parsing::settings[GRPC_CHTTP2_NUM_SETTINGS]
+
+ +
+
+ +
+
+ + + + +
gpr_uint8 grpc_chttp2_transport_parsing::settings_ack_received
+
+ +

was a settings ack received?

+ +
+
+ +
+
+ + + + +
gpr_uint8 grpc_chttp2_transport_parsing::settings_updated
+
+ +

were settings updated?

+ +
+
+ +
+
+ + + + +
union { ... } grpc_chttp2_transport_parsing::simple
+
+ +

simple one shot parsers

+ +
+
+ +
+
+ + + + +
grpc_mdstr* grpc_chttp2_transport_parsing::str_grpc_timeout
+
+ +
+
+ +
+
+ + + + +
grpc_chttp2_window_update_parser grpc_chttp2_transport_parsing::window_update
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structgrpc__chttp2__transport__writing.html b/doc/ref/core.internal/html/structgrpc__chttp2__transport__writing.html new file mode 100644 index 0000000000..fc00096b1e --- /dev/null +++ b/doc/ref/core.internal/html/structgrpc__chttp2__transport__writing.html @@ -0,0 +1,159 @@ + + + + + + +GRPC Core: grpc_chttp2_transport_writing Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
grpc_chttp2_transport_writing Struct Reference
+
+
+ +

#include <internal.h>

+ + + + + + + + + + + +

+Data Fields

gpr_slice_buffer outbuf
 data to write now More...
 
grpc_chttp2_hpack_compressor hpack_compressor
 hpack encoding More...
 
gpr_uint8 is_client
 is this a client? More...
 
+

Field Documentation

+ +
+
+ + + + +
grpc_chttp2_hpack_compressor grpc_chttp2_transport_writing::hpack_compressor
+
+ +

hpack encoding

+ +
+
+ +
+
+ + + + +
gpr_uint8 grpc_chttp2_transport_writing::is_client
+
+ +

is this a client?

+ +
+
+ +
+
+ + + + +
gpr_slice_buffer grpc_chttp2_transport_writing::outbuf
+
+ +

data to write now

+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structgrpc__chttp2__window__update__parser.html b/doc/ref/core.internal/html/structgrpc__chttp2__window__update__parser.html new file mode 100644 index 0000000000..8fdf2ab505 --- /dev/null +++ b/doc/ref/core.internal/html/structgrpc__chttp2__window__update__parser.html @@ -0,0 +1,150 @@ + + + + + + +GRPC Core: grpc_chttp2_window_update_parser Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
grpc_chttp2_window_update_parser Struct Reference
+
+
+ +

#include <frame_window_update.h>

+ + + + + + + + +

+Data Fields

gpr_uint8 byte
 
gpr_uint8 is_connection_update
 
gpr_uint32 amount
 
+

Field Documentation

+ +
+
+ + + + +
gpr_uint32 grpc_chttp2_window_update_parser::amount
+
+ +
+
+ +
+
+ + + + +
gpr_uint8 grpc_chttp2_window_update_parser::byte
+
+ +
+
+ +
+
+ + + + +
gpr_uint8 grpc_chttp2_window_update_parser::is_connection_update
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structgrpc__client__config.html b/doc/ref/core.internal/html/structgrpc__client__config.html new file mode 100644 index 0000000000..4cf6bdd11a --- /dev/null +++ b/doc/ref/core.internal/html/structgrpc__client__config.html @@ -0,0 +1,134 @@ + + + + + + +GRPC Core: grpc_client_config Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
grpc_client_config Struct Reference
+
+
+ + + + + + +

+Data Fields

gpr_refcount refs
 
grpc_lb_policylb_policy
 
+

Field Documentation

+ +
+
+ + + + +
grpc_lb_policy* grpc_client_config::lb_policy
+
+ +
+
+ +
+
+ + + + +
gpr_refcount grpc_client_config::refs
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structgrpc__client__security__context.html b/doc/ref/core.internal/html/structgrpc__client__security__context.html new file mode 100644 index 0000000000..815108bc2f --- /dev/null +++ b/doc/ref/core.internal/html/structgrpc__client__security__context.html @@ -0,0 +1,136 @@ + + + + + + +GRPC Core: grpc_client_security_context Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
grpc_client_security_context Struct Reference
+
+
+ +

#include <security_context.h>

+ + + + + + +

+Data Fields

grpc_credentialscreds
 
grpc_auth_contextauth_context
 
+

Field Documentation

+ +
+
+ + + + +
grpc_auth_context* grpc_client_security_context::auth_context
+
+ +
+
+ +
+
+ + + + +
grpc_credentials* grpc_client_security_context::creds
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structgrpc__completion__queue.html b/doc/ref/core.internal/html/structgrpc__completion__queue.html new file mode 100644 index 0000000000..8d6351624b --- /dev/null +++ b/doc/ref/core.internal/html/structgrpc__completion__queue.html @@ -0,0 +1,233 @@ + + + + + + +GRPC Core: grpc_completion_queue Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
grpc_completion_queue Struct Reference
+
+
+ + + + + + + + + + + + + + + + + + + + + + + +

+Data Fields

grpc_cq_completion completed_head
 completed events More...
 
grpc_cq_completioncompleted_tail
 
gpr_refcount pending_events
 Number of pending events (+1 if we're not shutdown) More...
 
gpr_refcount owning_refs
 Once owning_refs drops to zero, we will destroy the cq. More...
 
grpc_pollset pollset
 the set of low level i/o things that concern this cq More...
 
int shutdown
 0 initially, 1 once we've begun shutting down More...
 
int shutdown_called
 
int is_server_cq
 
+

Field Documentation

+ +
+
+ + + + +
grpc_cq_completion grpc_completion_queue::completed_head
+
+ +

completed events

+ +
+
+ +
+
+ + + + +
grpc_cq_completion* grpc_completion_queue::completed_tail
+
+ +
+
+ +
+
+ + + + +
int grpc_completion_queue::is_server_cq
+
+ +
+
+ +
+
+ + + + +
gpr_refcount grpc_completion_queue::owning_refs
+
+ +

Once owning_refs drops to zero, we will destroy the cq.

+ +
+
+ +
+
+ + + + +
gpr_refcount grpc_completion_queue::pending_events
+
+ +

Number of pending events (+1 if we're not shutdown)

+ +
+
+ +
+
+ + + + +
grpc_pollset grpc_completion_queue::pollset
+
+ +

the set of low level i/o things that concern this cq

+ +
+
+ +
+
+ + + + +
int grpc_completion_queue::shutdown
+
+ +

0 initially, 1 once we've begun shutting down

+ +
+
+ +
+
+ + + + +
int grpc_completion_queue::shutdown_called
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structgrpc__composite__credentials.html b/doc/ref/core.internal/html/structgrpc__composite__credentials.html new file mode 100644 index 0000000000..be769840de --- /dev/null +++ b/doc/ref/core.internal/html/structgrpc__composite__credentials.html @@ -0,0 +1,150 @@ + + + + + + +GRPC Core: grpc_composite_credentials Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
grpc_composite_credentials Struct Reference
+
+
+ +

#include <credentials.h>

+ + + + + + + + +

+Data Fields

grpc_credentials base
 
grpc_credentials_array inner
 
grpc_credentialsconnector_creds
 
+

Field Documentation

+ +
+
+ + + + +
grpc_credentials grpc_composite_credentials::base
+
+ +
+
+ +
+
+ + + + +
grpc_credentials* grpc_composite_credentials::connector_creds
+
+ +
+
+ +
+
+ + + + +
grpc_credentials_array grpc_composite_credentials::inner
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structgrpc__composite__credentials__metadata__context.html b/doc/ref/core.internal/html/structgrpc__composite__credentials__metadata__context.html new file mode 100644 index 0000000000..fec53bf2ba --- /dev/null +++ b/doc/ref/core.internal/html/structgrpc__composite__credentials__metadata__context.html @@ -0,0 +1,204 @@ + + + + + + +GRPC Core: grpc_composite_credentials_metadata_context Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
grpc_composite_credentials_metadata_context Struct Reference
+
+
+ + + + + + + + + + + + + + + + +

+Data Fields

grpc_composite_credentialscomposite_creds
 
size_t creds_index
 
grpc_credentials_md_storemd_elems
 
char * service_url
 
void * user_data
 
grpc_pollsetpollset
 
grpc_credentials_metadata_cb cb
 
+

Field Documentation

+ +
+
+ + + + +
grpc_credentials_metadata_cb grpc_composite_credentials_metadata_context::cb
+
+ +
+
+ +
+
+ + + + +
grpc_composite_credentials* grpc_composite_credentials_metadata_context::composite_creds
+
+ +
+
+ +
+
+ + + + +
size_t grpc_composite_credentials_metadata_context::creds_index
+
+ +
+
+ +
+
+ + + + +
grpc_credentials_md_store* grpc_composite_credentials_metadata_context::md_elems
+
+ +
+
+ +
+
+ + + + +
grpc_pollset* grpc_composite_credentials_metadata_context::pollset
+
+ +
+
+ +
+
+ + + + +
char* grpc_composite_credentials_metadata_context::service_url
+
+ +
+
+ +
+
+ + + + +
void* grpc_composite_credentials_metadata_context::user_data
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structgrpc__connect__in__args.html b/doc/ref/core.internal/html/structgrpc__connect__in__args.html new file mode 100644 index 0000000000..533578ac15 --- /dev/null +++ b/doc/ref/core.internal/html/structgrpc__connect__in__args.html @@ -0,0 +1,207 @@ + + + + + + +GRPC Core: grpc_connect_in_args Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
grpc_connect_in_args Struct Reference
+
+
+ +

#include <connector.h>

+ + + + + + + + + + + + + + + + + + + +

+Data Fields

grpc_pollset_setinterested_parties
 set of pollsets interested in this connection More...
 
const struct sockaddr * addr
 address to connect to More...
 
int addr_len
 
gpr_timespec deadline
 deadline for connection More...
 
const grpc_channel_argschannel_args
 channel arguments (to be passed to transport) More...
 
grpc_mdctxmetadata_context
 metadata context More...
 
+

Field Documentation

+ +
+
+ + + + +
const struct sockaddr* grpc_connect_in_args::addr
+
+ +

address to connect to

+ +
+
+ +
+
+ + + + +
int grpc_connect_in_args::addr_len
+
+ +
+
+ +
+
+ + + + +
const grpc_channel_args* grpc_connect_in_args::channel_args
+
+ +

channel arguments (to be passed to transport)

+ +
+
+ +
+
+ + + + +
gpr_timespec grpc_connect_in_args::deadline
+
+ +

deadline for connection

+ +
+
+ +
+
+ + + + +
grpc_pollset_set* grpc_connect_in_args::interested_parties
+
+ +

set of pollsets interested in this connection

+ +
+
+ +
+
+ + + + +
grpc_mdctx* grpc_connect_in_args::metadata_context
+
+ +

metadata context

+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structgrpc__connect__out__args.html b/doc/ref/core.internal/html/structgrpc__connect__out__args.html new file mode 100644 index 0000000000..affe261f59 --- /dev/null +++ b/doc/ref/core.internal/html/structgrpc__connect__out__args.html @@ -0,0 +1,156 @@ + + + + + + +GRPC Core: grpc_connect_out_args Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
grpc_connect_out_args Struct Reference
+
+
+ +

#include <connector.h>

+ + + + + + + + + + +

+Data Fields

grpc_transporttransport
 the connected transport More...
 
const grpc_channel_filter ** filters
 any additional filters (owned by the caller of connect) More...
 
size_t num_filters
 
+

Field Documentation

+ +
+
+ + + + +
const grpc_channel_filter** grpc_connect_out_args::filters
+
+ +

any additional filters (owned by the caller of connect)

+ +
+
+ +
+
+ + + + +
size_t grpc_connect_out_args::num_filters
+
+ +
+
+ +
+
+ + + + +
grpc_transport* grpc_connect_out_args::transport
+
+ +

the connected transport

+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structgrpc__connectivity__state__tracker.html b/doc/ref/core.internal/html/structgrpc__connectivity__state__tracker.html new file mode 100644 index 0000000000..02a90931ed --- /dev/null +++ b/doc/ref/core.internal/html/structgrpc__connectivity__state__tracker.html @@ -0,0 +1,159 @@ + + + + + + +GRPC Core: grpc_connectivity_state_tracker Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
grpc_connectivity_state_tracker Struct Reference
+
+
+ +

#include <connectivity_state.h>

+ + + + + + + + + + + +

+Data Fields

grpc_connectivity_state current_state
 current connectivity state More...
 
grpc_connectivity_state_watcherwatchers
 all our watchers More...
 
char * name
 a name to help debugging More...
 
+

Field Documentation

+ +
+
+ + + + +
grpc_connectivity_state grpc_connectivity_state_tracker::current_state
+
+ +

current connectivity state

+ +
+
+ +
+
+ + + + +
char* grpc_connectivity_state_tracker::name
+
+ +

a name to help debugging

+ +
+
+ +
+
+ + + + +
grpc_connectivity_state_watcher* grpc_connectivity_state_tracker::watchers
+
+ +

all our watchers

+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structgrpc__connectivity__state__watcher.html b/doc/ref/core.internal/html/structgrpc__connectivity__state__watcher.html new file mode 100644 index 0000000000..2fc1a2ee81 --- /dev/null +++ b/doc/ref/core.internal/html/structgrpc__connectivity__state__watcher.html @@ -0,0 +1,160 @@ + + + + + + +GRPC Core: grpc_connectivity_state_watcher Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
grpc_connectivity_state_watcher Struct Reference
+
+
+ +

#include <connectivity_state.h>

+ + + + + + + + + + + +

+Data Fields

struct
+grpc_connectivity_state_watcher
next
 we keep watchers in a linked list More...
 
grpc_iomgr_closurenotify
 closure to notify on change More...
 
grpc_connectivity_statecurrent
 the current state as believed by the watcher More...
 
+

Field Documentation

+ +
+
+ + + + +
grpc_connectivity_state* grpc_connectivity_state_watcher::current
+
+ +

the current state as believed by the watcher

+ +
+
+ +
+
+ + + + +
struct grpc_connectivity_state_watcher* grpc_connectivity_state_watcher::next
+
+ +

we keep watchers in a linked list

+ +
+
+ +
+
+ + + + +
grpc_iomgr_closure* grpc_connectivity_state_watcher::notify
+
+ +

closure to notify on change

+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structgrpc__connector.html b/doc/ref/core.internal/html/structgrpc__connector.html new file mode 100644 index 0000000000..303a0290bc --- /dev/null +++ b/doc/ref/core.internal/html/structgrpc__connector.html @@ -0,0 +1,122 @@ + + + + + + +GRPC Core: grpc_connector Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
grpc_connector Struct Reference
+
+
+ +

#include <connector.h>

+ + + + +

+Data Fields

const grpc_connector_vtablevtable
 
+

Field Documentation

+ +
+
+ + + + +
const grpc_connector_vtable* grpc_connector::vtable
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structgrpc__connector__vtable.html b/doc/ref/core.internal/html/structgrpc__connector__vtable.html new file mode 100644 index 0000000000..2182cb17dd --- /dev/null +++ b/doc/ref/core.internal/html/structgrpc__connector__vtable.html @@ -0,0 +1,150 @@ + + + + + + +GRPC Core: grpc_connector_vtable Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
grpc_connector_vtable Struct Reference
+
+
+ +

#include <connector.h>

+ + + + + + + + +

+Data Fields

void(* ref )(grpc_connector *connector)
 
void(* unref )(grpc_connector *connector)
 
void(* connect )(grpc_connector *connector, const grpc_connect_in_args *in_args, grpc_connect_out_args *out_args, grpc_iomgr_closure *notify)
 
+

Field Documentation

+ +
+
+ + + + +
void(* grpc_connector_vtable::connect)(grpc_connector *connector, const grpc_connect_in_args *in_args, grpc_connect_out_args *out_args, grpc_iomgr_closure *notify)
+
+ +
+
+ +
+
+ + + + +
void(* grpc_connector_vtable::ref)(grpc_connector *connector)
+
+ +
+
+ +
+
+ + + + +
void(* grpc_connector_vtable::unref)(grpc_connector *connector)
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structgrpc__cq__completion.html b/doc/ref/core.internal/html/structgrpc__cq__completion.html new file mode 100644 index 0000000000..ef23b23dc2 --- /dev/null +++ b/doc/ref/core.internal/html/structgrpc__cq__completion.html @@ -0,0 +1,173 @@ + + + + + + +GRPC Core: grpc_cq_completion Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
grpc_cq_completion Struct Reference
+
+
+ +

#include <completion_queue.h>

+ + + + + + + + + + + + + +

+Data Fields

void * tag
 user supplied tag More...
 
void(* done )(void *done_arg, struct grpc_cq_completion *c)
 done callback - called when this queue element is no longer needed by the completion queue More...
 
void * done_arg
 
gpr_uintptr next
 next pointer; low bit is used to indicate success or not More...
 
+

Field Documentation

+ +
+
+ + + + +
void(* grpc_cq_completion::done)(void *done_arg, struct grpc_cq_completion *c)
+
+ +

done callback - called when this queue element is no longer needed by the completion queue

+ +
+
+ +
+
+ + + + +
void* grpc_cq_completion::done_arg
+
+ +
+
+ +
+
+ + + + +
gpr_uintptr grpc_cq_completion::next
+
+ +

next pointer; low bit is used to indicate success or not

+ +
+
+ +
+
+ + + + +
void* grpc_cq_completion::tag
+
+ +

user supplied tag

+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structgrpc__credentials.html b/doc/ref/core.internal/html/structgrpc__credentials.html new file mode 100644 index 0000000000..95102403cd --- /dev/null +++ b/doc/ref/core.internal/html/structgrpc__credentials.html @@ -0,0 +1,150 @@ + + + + + + +GRPC Core: grpc_credentials Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
grpc_credentials Struct Reference
+
+
+ +

#include <credentials.h>

+ + + + + + + + +

+Data Fields

const grpc_credentials_vtablevtable
 
const char * type
 
gpr_refcount refcount
 
+

Field Documentation

+ +
+
+ + + + +
gpr_refcount grpc_credentials::refcount
+
+ +
+
+ +
+
+ + + + +
const char* grpc_credentials::type
+
+ +
+
+ +
+
+ + + + +
const grpc_credentials_vtable* grpc_credentials::vtable
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structgrpc__credentials__array.html b/doc/ref/core.internal/html/structgrpc__credentials__array.html new file mode 100644 index 0000000000..ac6981ceea --- /dev/null +++ b/doc/ref/core.internal/html/structgrpc__credentials__array.html @@ -0,0 +1,136 @@ + + + + + + +GRPC Core: grpc_credentials_array Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
grpc_credentials_array Struct Reference
+
+
+ +

#include <credentials.h>

+ + + + + + +

+Data Fields

grpc_credentials ** creds_array
 
size_t num_creds
 
+

Field Documentation

+ +
+
+ + + + +
grpc_credentials** grpc_credentials_array::creds_array
+
+ +
+
+ +
+
+ + + + +
size_t grpc_credentials_array::num_creds
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structgrpc__credentials__md.html b/doc/ref/core.internal/html/structgrpc__credentials__md.html new file mode 100644 index 0000000000..f3c35658a7 --- /dev/null +++ b/doc/ref/core.internal/html/structgrpc__credentials__md.html @@ -0,0 +1,136 @@ + + + + + + +GRPC Core: grpc_credentials_md Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
grpc_credentials_md Struct Reference
+
+
+ +

#include <credentials.h>

+ + + + + + +

+Data Fields

gpr_slice key
 
gpr_slice value
 
+

Field Documentation

+ +
+
+ + + + +
gpr_slice grpc_credentials_md::key
+
+ +
+
+ +
+
+ + + + +
gpr_slice grpc_credentials_md::value
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structgrpc__credentials__md__store.html b/doc/ref/core.internal/html/structgrpc__credentials__md__store.html new file mode 100644 index 0000000000..eea40869d6 --- /dev/null +++ b/doc/ref/core.internal/html/structgrpc__credentials__md__store.html @@ -0,0 +1,164 @@ + + + + + + +GRPC Core: grpc_credentials_md_store Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
grpc_credentials_md_store Struct Reference
+
+
+ +

#include <credentials.h>

+ + + + + + + + + + +

+Data Fields

grpc_credentials_mdentries
 
size_t num_entries
 
size_t allocated
 
gpr_refcount refcount
 
+

Field Documentation

+ +
+
+ + + + +
size_t grpc_credentials_md_store::allocated
+
+ +
+
+ +
+
+ + + + +
grpc_credentials_md* grpc_credentials_md_store::entries
+
+ +
+
+ +
+
+ + + + +
size_t grpc_credentials_md_store::num_entries
+
+ +
+
+ +
+
+ + + + +
gpr_refcount grpc_credentials_md_store::refcount
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structgrpc__credentials__metadata__request.html b/doc/ref/core.internal/html/structgrpc__credentials__metadata__request.html new file mode 100644 index 0000000000..9664e4aede --- /dev/null +++ b/doc/ref/core.internal/html/structgrpc__credentials__metadata__request.html @@ -0,0 +1,162 @@ + + + + + + +GRPC Core: grpc_credentials_metadata_request Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
grpc_credentials_metadata_request Struct Reference
+
+
+ + + + + + + + + + +

+Data Fields

grpc_credentialscreds
 
grpc_credentials_metadata_cb cb
 
grpc_iomgr_closureon_simulated_token_fetch_done_closure
 
void * user_data
 
+

Field Documentation

+ +
+
+ + + + +
grpc_credentials_metadata_cb grpc_credentials_metadata_request::cb
+
+ +
+
+ +
+
+ + + + +
grpc_credentials* grpc_credentials_metadata_request::creds
+
+ +
+
+ +
+
+ + + + +
grpc_iomgr_closure* grpc_credentials_metadata_request::on_simulated_token_fetch_done_closure
+
+ +
+
+ +
+
+ + + + +
void* grpc_credentials_metadata_request::user_data
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structgrpc__credentials__vtable.html b/doc/ref/core.internal/html/structgrpc__credentials__vtable.html new file mode 100644 index 0000000000..0a13b63eda --- /dev/null +++ b/doc/ref/core.internal/html/structgrpc__credentials__vtable.html @@ -0,0 +1,178 @@ + + + + + + +GRPC Core: grpc_credentials_vtable Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
grpc_credentials_vtable Struct Reference
+
+
+ +

#include <credentials.h>

+ + + + + + + + + + + + +

+Data Fields

void(* destroy )(grpc_credentials *c)
 
int(* has_request_metadata )(const grpc_credentials *c)
 
int(* has_request_metadata_only )(const grpc_credentials *c)
 
void(* get_request_metadata )(grpc_credentials *c, grpc_pollset *pollset, const char *service_url, grpc_credentials_metadata_cb cb, void *user_data)
 
grpc_security_status(* create_security_connector )(grpc_credentials *c, const char *target, const grpc_channel_args *args, grpc_credentials *request_metadata_creds, grpc_channel_security_connector **sc, grpc_channel_args **new_args)
 
+

Field Documentation

+ +
+
+ + + + +
grpc_security_status(* grpc_credentials_vtable::create_security_connector)(grpc_credentials *c, const char *target, const grpc_channel_args *args, grpc_credentials *request_metadata_creds, grpc_channel_security_connector **sc, grpc_channel_args **new_args)
+
+ +
+
+ +
+
+ + + + +
void(* grpc_credentials_vtable::destroy)(grpc_credentials *c)
+
+ +
+
+ +
+
+ + + + +
void(* grpc_credentials_vtable::get_request_metadata)(grpc_credentials *c, grpc_pollset *pollset, const char *service_url, grpc_credentials_metadata_cb cb, void *user_data)
+
+ +
+
+ +
+
+ + + + +
int(* grpc_credentials_vtable::has_request_metadata)(const grpc_credentials *c)
+
+ +
+
+ +
+
+ + + + +
int(* grpc_credentials_vtable::has_request_metadata_only)(const grpc_credentials *c)
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structgrpc__endpoint.html b/doc/ref/core.internal/html/structgrpc__endpoint.html new file mode 100644 index 0000000000..ba84f83eef --- /dev/null +++ b/doc/ref/core.internal/html/structgrpc__endpoint.html @@ -0,0 +1,122 @@ + + + + + + +GRPC Core: grpc_endpoint Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
grpc_endpoint Struct Reference
+
+
+ +

#include <endpoint.h>

+ + + + +

+Data Fields

const grpc_endpoint_vtablevtable
 
+

Field Documentation

+ +
+
+ + + + +
const grpc_endpoint_vtable* grpc_endpoint::vtable
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structgrpc__endpoint__pair.html b/doc/ref/core.internal/html/structgrpc__endpoint__pair.html new file mode 100644 index 0000000000..ee0acaeb99 --- /dev/null +++ b/doc/ref/core.internal/html/structgrpc__endpoint__pair.html @@ -0,0 +1,136 @@ + + + + + + +GRPC Core: grpc_endpoint_pair Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
grpc_endpoint_pair Struct Reference
+
+
+ +

#include <endpoint_pair.h>

+ + + + + + +

+Data Fields

grpc_endpointclient
 
grpc_endpointserver
 
+

Field Documentation

+ +
+
+ + + + +
grpc_endpoint* grpc_endpoint_pair::client
+
+ +
+
+ +
+
+ + + + +
grpc_endpoint* grpc_endpoint_pair::server
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structgrpc__endpoint__vtable.html b/doc/ref/core.internal/html/structgrpc__endpoint__vtable.html new file mode 100644 index 0000000000..b5f2009896 --- /dev/null +++ b/doc/ref/core.internal/html/structgrpc__endpoint__vtable.html @@ -0,0 +1,206 @@ + + + + + + +GRPC Core: grpc_endpoint_vtable Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
grpc_endpoint_vtable Struct Reference
+
+
+ +

#include <endpoint.h>

+ + + + + + + + + + + + + + + + +

+Data Fields

void(* notify_on_read )(grpc_endpoint *ep, grpc_endpoint_read_cb cb, void *user_data)
 
grpc_endpoint_write_status(* write )(grpc_endpoint *ep, gpr_slice *slices, size_t nslices, grpc_endpoint_write_cb cb, void *user_data)
 
void(* add_to_pollset )(grpc_endpoint *ep, grpc_pollset *pollset)
 
void(* add_to_pollset_set )(grpc_endpoint *ep, grpc_pollset_set *pollset)
 
void(* shutdown )(grpc_endpoint *ep)
 
void(* destroy )(grpc_endpoint *ep)
 
char *(* get_peer )(grpc_endpoint *ep)
 
+

Field Documentation

+ +
+
+ + + + +
void(* grpc_endpoint_vtable::add_to_pollset)(grpc_endpoint *ep, grpc_pollset *pollset)
+
+ +
+
+ +
+
+ + + + +
void(* grpc_endpoint_vtable::add_to_pollset_set)(grpc_endpoint *ep, grpc_pollset_set *pollset)
+
+ +
+
+ +
+
+ + + + +
void(* grpc_endpoint_vtable::destroy)(grpc_endpoint *ep)
+
+ +
+
+ +
+
+ + + + +
char*(* grpc_endpoint_vtable::get_peer)(grpc_endpoint *ep)
+
+ +
+
+ +
+
+ + + + +
void(* grpc_endpoint_vtable::notify_on_read)(grpc_endpoint *ep, grpc_endpoint_read_cb cb, void *user_data)
+
+ +
+
+ +
+
+ + + + +
void(* grpc_endpoint_vtable::shutdown)(grpc_endpoint *ep)
+
+ +
+
+ +
+
+ + + + +
grpc_endpoint_write_status(* grpc_endpoint_vtable::write)(grpc_endpoint *ep, gpr_slice *slices, size_t nslices, grpc_endpoint_write_cb cb, void *user_data)
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structgrpc__event.html b/doc/ref/core.internal/html/structgrpc__event.html new file mode 100644 index 0000000000..172729f244 --- /dev/null +++ b/doc/ref/core.internal/html/structgrpc__event.html @@ -0,0 +1,167 @@ + + + + + + +GRPC Core: grpc_event Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
grpc_event Struct Reference
+
+
+ +

The result of an operation. + More...

+ +

#include <grpc.h>

+ + + + + + + + + + + +

+Data Fields

grpc_completion_type type
 The type of the completion. More...
 
int success
 non-zero if the operation was successful, 0 upon failure. More...
 
void * tag
 The tag passed to grpc_call_start_batch etc to start this operation. More...
 
+

Detailed Description

+

The result of an operation.

+

Returned by a completion queue when the operation started with tag.

+

Field Documentation

+ +
+
+ + + + +
int grpc_event::success
+
+ +

non-zero if the operation was successful, 0 upon failure.

+

Only GRPC_OP_COMPLETE can succeed or fail.

+ +
+
+ +
+
+ + + + +
void* grpc_event::tag
+
+ +

The tag passed to grpc_call_start_batch etc to start this operation.

+

Only GRPC_OP_COMPLETE has a tag.

+ +
+
+ +
+
+ + + + +
grpc_completion_type grpc_event::type
+
+ +

The type of the completion.

+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structgrpc__fake__channel__security__connector.html b/doc/ref/core.internal/html/structgrpc__fake__channel__security__connector.html new file mode 100644 index 0000000000..96800889bc --- /dev/null +++ b/doc/ref/core.internal/html/structgrpc__fake__channel__security__connector.html @@ -0,0 +1,134 @@ + + + + + + +GRPC Core: grpc_fake_channel_security_connector Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
grpc_fake_channel_security_connector Struct Reference
+
+
+ + + + + + +

+Data Fields

grpc_channel_security_connector base
 
int call_host_check_is_async
 
+

Field Documentation

+ +
+
+ + + + +
grpc_channel_security_connector grpc_fake_channel_security_connector::base
+
+ +
+
+ +
+
+ + + + +
int grpc_fake_channel_security_connector::call_host_check_is_async
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structgrpc__fake__oauth2__credentials.html b/doc/ref/core.internal/html/structgrpc__fake__oauth2__credentials.html new file mode 100644 index 0000000000..e2d2c3b7ac --- /dev/null +++ b/doc/ref/core.internal/html/structgrpc__fake__oauth2__credentials.html @@ -0,0 +1,150 @@ + + + + + + +GRPC Core: grpc_fake_oauth2_credentials Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
grpc_fake_oauth2_credentials Struct Reference
+
+
+ +

#include <credentials.h>

+ + + + + + + + +

+Data Fields

grpc_credentials base
 
grpc_credentials_md_storeaccess_token_md
 
int is_async
 
+

Field Documentation

+ +
+
+ + + + +
grpc_credentials_md_store* grpc_fake_oauth2_credentials::access_token_md
+
+ +
+
+ +
+
+ + + + +
grpc_credentials grpc_fake_oauth2_credentials::base
+
+ +
+
+ +
+
+ + + + +
int grpc_fake_oauth2_credentials::is_async
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structgrpc__fd.html b/doc/ref/core.internal/html/structgrpc__fd.html new file mode 100644 index 0000000000..dec964aed2 --- /dev/null +++ b/doc/ref/core.internal/html/structgrpc__fd.html @@ -0,0 +1,318 @@ + + + + + + +GRPC Core: grpc_fd Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
grpc_fd Struct Reference
+
+
+ +

#include <fd_posix.h>

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Data Fields

int fd
 
gpr_atm refst
 
gpr_mu set_state_mu
 
gpr_atm shutdown
 
int closed
 
gpr_mu watcher_mu
 
grpc_fd_watcher inactive_watcher_root
 
grpc_fd_watcherread_watcher
 
grpc_fd_watcherwrite_watcher
 
gpr_atm readst
 
gpr_atm writest
 
struct grpc_fdfreelist_next
 
grpc_iomgr_closureon_done_closure
 
grpc_iomgr_closureshutdown_closures [2]
 
grpc_iomgr_object iomgr_object
 
+

Field Documentation

+ +
+
+ + + + +
int grpc_fd::closed
+
+ +
+
+ +
+
+ + + + +
int grpc_fd::fd
+
+ +
+
+ +
+
+ + + + +
struct grpc_fd* grpc_fd::freelist_next
+
+ +
+
+ +
+
+ + + + +
grpc_fd_watcher grpc_fd::inactive_watcher_root
+
+ +
+
+ +
+
+ + + + +
grpc_iomgr_object grpc_fd::iomgr_object
+
+ +
+
+ +
+
+ + + + +
grpc_iomgr_closure* grpc_fd::on_done_closure
+
+ +
+
+ +
+
+ + + + +
grpc_fd_watcher* grpc_fd::read_watcher
+
+ +
+
+ +
+
+ + + + +
gpr_atm grpc_fd::readst
+
+ +
+
+ +
+
+ + + + +
gpr_atm grpc_fd::refst
+
+ +
+
+ +
+
+ + + + +
gpr_mu grpc_fd::set_state_mu
+
+ +
+
+ +
+
+ + + + +
gpr_atm grpc_fd::shutdown
+
+ +
+
+ +
+
+ + + + +
grpc_iomgr_closure* grpc_fd::shutdown_closures[2]
+
+ +
+
+ +
+
+ + + + +
gpr_mu grpc_fd::watcher_mu
+
+ +
+
+ +
+
+ + + + +
grpc_fd_watcher* grpc_fd::write_watcher
+
+ +
+
+ +
+
+ + + + +
gpr_atm grpc_fd::writest
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structgrpc__fd__watcher.html b/doc/ref/core.internal/html/structgrpc__fd__watcher.html new file mode 100644 index 0000000000..10611baad0 --- /dev/null +++ b/doc/ref/core.internal/html/structgrpc__fd__watcher.html @@ -0,0 +1,164 @@ + + + + + + +GRPC Core: grpc_fd_watcher Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
grpc_fd_watcher Struct Reference
+
+
+ +

#include <fd_posix.h>

+ + + + + + + + + + +

+Data Fields

struct grpc_fd_watchernext
 
struct grpc_fd_watcherprev
 
grpc_pollsetpollset
 
grpc_fdfd
 
+

Field Documentation

+ +
+
+ + + + +
grpc_fd* grpc_fd_watcher::fd
+
+ +
+
+ +
+
+ + + + +
struct grpc_fd_watcher* grpc_fd_watcher::next
+
+ +
+
+ +
+
+ + + + +
grpc_pollset* grpc_fd_watcher::pollset
+
+ +
+
+ +
+
+ + + + +
struct grpc_fd_watcher* grpc_fd_watcher::prev
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structgrpc__httpcli__context.html b/doc/ref/core.internal/html/structgrpc__httpcli__context.html new file mode 100644 index 0000000000..e33a4a7db1 --- /dev/null +++ b/doc/ref/core.internal/html/structgrpc__httpcli__context.html @@ -0,0 +1,122 @@ + + + + + + +GRPC Core: grpc_httpcli_context Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
grpc_httpcli_context Struct Reference
+
+
+ +

#include <httpcli.h>

+ + + + +

+Data Fields

grpc_pollset_set pollset_set
 
+

Field Documentation

+ +
+
+ + + + +
grpc_pollset_set grpc_httpcli_context::pollset_set
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structgrpc__httpcli__header.html b/doc/ref/core.internal/html/structgrpc__httpcli__header.html new file mode 100644 index 0000000000..e746596ae6 --- /dev/null +++ b/doc/ref/core.internal/html/structgrpc__httpcli__header.html @@ -0,0 +1,136 @@ + + + + + + +GRPC Core: grpc_httpcli_header Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
grpc_httpcli_header Struct Reference
+
+
+ +

#include <httpcli.h>

+ + + + + + +

+Data Fields

char * key
 
char * value
 
+

Field Documentation

+ +
+
+ + + + +
char* grpc_httpcli_header::key
+
+ +
+
+ +
+
+ + + + +
char* grpc_httpcli_header::value
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structgrpc__httpcli__parser.html b/doc/ref/core.internal/html/structgrpc__httpcli__parser.html new file mode 100644 index 0000000000..99be52f05a --- /dev/null +++ b/doc/ref/core.internal/html/structgrpc__httpcli__parser.html @@ -0,0 +1,192 @@ + + + + + + +GRPC Core: grpc_httpcli_parser Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
grpc_httpcli_parser Struct Reference
+
+
+ +

#include <parser.h>

+ + + + + + + + + + + + + + +

+Data Fields

grpc_httpcli_parser_state state
 
grpc_httpcli_response r
 
size_t body_capacity
 
size_t hdr_capacity
 
gpr_uint8 cur_line [GRPC_HTTPCLI_MAX_HEADER_LENGTH]
 
size_t cur_line_length
 
+

Field Documentation

+ +
+
+ + + + +
size_t grpc_httpcli_parser::body_capacity
+
+ +
+
+ +
+
+ + + + +
gpr_uint8 grpc_httpcli_parser::cur_line[GRPC_HTTPCLI_MAX_HEADER_LENGTH]
+
+ +
+
+ +
+
+ + + + +
size_t grpc_httpcli_parser::cur_line_length
+
+ +
+
+ +
+
+ + + + +
size_t grpc_httpcli_parser::hdr_capacity
+
+ +
+
+ +
+
+ + + + +
grpc_httpcli_response grpc_httpcli_parser::r
+
+ +
+
+ +
+
+ + + + +
grpc_httpcli_parser_state grpc_httpcli_parser::state
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structgrpc__httpcli__request.html b/doc/ref/core.internal/html/structgrpc__httpcli__request.html new file mode 100644 index 0000000000..db1b085dc3 --- /dev/null +++ b/doc/ref/core.internal/html/structgrpc__httpcli__request.html @@ -0,0 +1,178 @@ + + + + + + +GRPC Core: grpc_httpcli_request Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
grpc_httpcli_request Struct Reference
+
+
+ +

#include <httpcli.h>

+ + + + + + + + + + + + +

+Data Fields

char * host
 
char * path
 
size_t hdr_count
 
grpc_httpcli_headerhdrs
 
int use_ssl
 
+

Field Documentation

+ +
+
+ + + + +
size_t grpc_httpcli_request::hdr_count
+
+ +
+
+ +
+
+ + + + +
grpc_httpcli_header* grpc_httpcli_request::hdrs
+
+ +
+
+ +
+
+ + + + +
char* grpc_httpcli_request::host
+
+ +
+
+ +
+
+ + + + +
char* grpc_httpcli_request::path
+
+ +
+
+ +
+
+ + + + +
int grpc_httpcli_request::use_ssl
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structgrpc__httpcli__response.html b/doc/ref/core.internal/html/structgrpc__httpcli__response.html new file mode 100644 index 0000000000..b4aa920cf3 --- /dev/null +++ b/doc/ref/core.internal/html/structgrpc__httpcli__response.html @@ -0,0 +1,178 @@ + + + + + + +GRPC Core: grpc_httpcli_response Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
grpc_httpcli_response Struct Reference
+
+
+ +

#include <httpcli.h>

+ + + + + + + + + + + + +

+Data Fields

int status
 
size_t hdr_count
 
grpc_httpcli_headerhdrs
 
size_t body_length
 
char * body
 
+

Field Documentation

+ +
+
+ + + + +
char* grpc_httpcli_response::body
+
+ +
+
+ +
+
+ + + + +
size_t grpc_httpcli_response::body_length
+
+ +
+
+ +
+
+ + + + +
size_t grpc_httpcli_response::hdr_count
+
+ +
+
+ +
+
+ + + + +
grpc_httpcli_header* grpc_httpcli_response::hdrs
+
+ +
+
+ +
+
+ + + + +
int grpc_httpcli_response::status
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structgrpc__httpcli__ssl__channel__security__connector.html b/doc/ref/core.internal/html/structgrpc__httpcli__ssl__channel__security__connector.html new file mode 100644 index 0000000000..f23eab3c5c --- /dev/null +++ b/doc/ref/core.internal/html/structgrpc__httpcli__ssl__channel__security__connector.html @@ -0,0 +1,148 @@ + + + + + + +GRPC Core: grpc_httpcli_ssl_channel_security_connector Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
grpc_httpcli_ssl_channel_security_connector Struct Reference
+
+
+ + + + + + + + +

+Data Fields

grpc_channel_security_connector base
 
tsi_ssl_handshaker_factoryhandshaker_factory
 
char * secure_peer_name
 
+

Field Documentation

+ +
+
+ + + + +
grpc_channel_security_connector grpc_httpcli_ssl_channel_security_connector::base
+
+ +
+
+ +
+
+ + + + +
tsi_ssl_handshaker_factory* grpc_httpcli_ssl_channel_security_connector::handshaker_factory
+
+ +
+
+ +
+
+ + + + +
char* grpc_httpcli_ssl_channel_security_connector::secure_peer_name
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structgrpc__iam__credentials.html b/doc/ref/core.internal/html/structgrpc__iam__credentials.html new file mode 100644 index 0000000000..0f93f6f3b3 --- /dev/null +++ b/doc/ref/core.internal/html/structgrpc__iam__credentials.html @@ -0,0 +1,136 @@ + + + + + + +GRPC Core: grpc_iam_credentials Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
grpc_iam_credentials Struct Reference
+
+
+ +

#include <credentials.h>

+ + + + + + +

+Data Fields

grpc_credentials base
 
grpc_credentials_md_storeiam_md
 
+

Field Documentation

+ +
+
+ + + + +
grpc_credentials grpc_iam_credentials::base
+
+ +
+
+ +
+
+ + + + +
grpc_credentials_md_store* grpc_iam_credentials::iam_md
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structgrpc__iomgr__closure.html b/doc/ref/core.internal/html/structgrpc__iomgr__closure.html new file mode 100644 index 0000000000..bf1bc2e1aa --- /dev/null +++ b/doc/ref/core.internal/html/structgrpc__iomgr__closure.html @@ -0,0 +1,179 @@ + + + + + + +GRPC Core: grpc_iomgr_closure Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
grpc_iomgr_closure Struct Reference
+
+
+ +

A closure over a grpc_iomgr_cb_func. + More...

+ +

#include <iomgr.h>

+ + + + + + + + + + + + + +

+Data Fields

grpc_iomgr_cb_func cb
 Bound callback. More...
 
void * cb_arg
 Arguments to be passed to "cb". More...
 
int success
 Internal. More...
 
struct grpc_iomgr_closurenext
 
+

Detailed Description

+

A closure over a grpc_iomgr_cb_func.

+

Field Documentation

+ +
+
+ + + + +
grpc_iomgr_cb_func grpc_iomgr_closure::cb
+
+ +

Bound callback.

+ +
+
+ +
+
+ + + + +
void* grpc_iomgr_closure::cb_arg
+
+ +

Arguments to be passed to "cb".

+ +
+
+ +
+
+ + + + +
struct grpc_iomgr_closure* grpc_iomgr_closure::next
+
+ +
+
+ +
+
+ + + + +
int grpc_iomgr_closure::success
+
+ +

Internal.

+

A boolean indication to "cb" on the state of the iomgr. For instance, closures created during a shutdown would have this field set to false. Internal. Do not touch

+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structgrpc__iomgr__object.html b/doc/ref/core.internal/html/structgrpc__iomgr__object.html new file mode 100644 index 0000000000..37895b9d77 --- /dev/null +++ b/doc/ref/core.internal/html/structgrpc__iomgr__object.html @@ -0,0 +1,150 @@ + + + + + + +GRPC Core: grpc_iomgr_object Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
grpc_iomgr_object Struct Reference
+
+
+ +

#include <iomgr_internal.h>

+ + + + + + + + +

+Data Fields

char * name
 
struct grpc_iomgr_objectnext
 
struct grpc_iomgr_objectprev
 
+

Field Documentation

+ +
+
+ + + + +
char* grpc_iomgr_object::name
+
+ +
+
+ +
+
+ + + + +
struct grpc_iomgr_object* grpc_iomgr_object::next
+
+ +
+
+ +
+
+ + + + +
struct grpc_iomgr_object* grpc_iomgr_object::prev
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structgrpc__ioreq.html b/doc/ref/core.internal/html/structgrpc__ioreq.html new file mode 100644 index 0000000000..ea0d8b4e0b --- /dev/null +++ b/doc/ref/core.internal/html/structgrpc__ioreq.html @@ -0,0 +1,153 @@ + + + + + + +GRPC Core: grpc_ioreq Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
grpc_ioreq Struct Reference
+
+
+ +

#include <call.h>

+ + + + + + + + + +

+Data Fields

grpc_ioreq_op op
 
gpr_uint32 flags
 A copy of the write flags from grpc_op. More...
 
grpc_ioreq_data data
 
+

Field Documentation

+ +
+
+ + + + +
grpc_ioreq_data grpc_ioreq::data
+
+ +
+
+ +
+
+ + + + +
gpr_uint32 grpc_ioreq::flags
+
+ +

A copy of the write flags from grpc_op.

+ +
+
+ +
+
+ + + + +
grpc_ioreq_op grpc_ioreq::op
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structgrpc__json.html b/doc/ref/core.internal/html/structgrpc__json.html new file mode 100644 index 0000000000..c450814628 --- /dev/null +++ b/doc/ref/core.internal/html/structgrpc__json.html @@ -0,0 +1,206 @@ + + + + + + +GRPC Core: grpc_json Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
grpc_json Struct Reference
+
+
+ +

#include <json.h>

+ + + + + + + + + + + + + + + + +

+Data Fields

struct grpc_jsonnext
 
struct grpc_jsonprev
 
struct grpc_jsonchild
 
struct grpc_jsonparent
 
grpc_json_type type
 
const char * key
 
const char * value
 
+

Field Documentation

+ +
+
+ + + + +
struct grpc_json* grpc_json::child
+
+ +
+
+ +
+
+ + + + +
const char* grpc_json::key
+
+ +
+
+ +
+
+ + + + +
struct grpc_json* grpc_json::next
+
+ +
+
+ +
+
+ + + + +
struct grpc_json* grpc_json::parent
+
+ +
+
+ +
+
+ + + + +
struct grpc_json* grpc_json::prev
+
+ +
+
+ +
+
+ + + + +
grpc_json_type grpc_json::type
+
+ +
+
+ +
+
+ + + + +
const char* grpc_json::value
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structgrpc__json__reader.html b/doc/ref/core.internal/html/structgrpc__json__reader.html new file mode 100644 index 0000000000..f2c478cf9b --- /dev/null +++ b/doc/ref/core.internal/html/structgrpc__json__reader.html @@ -0,0 +1,248 @@ + + + + + + +GRPC Core: grpc_json_reader Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
grpc_json_reader Struct Reference
+
+
+ +

#include <json_reader.h>

+ + + + + + + + + + + + + + + + + + + + + + +

+Data Fields

void * userdata
 
grpc_json_reader_vtablevtable
 
int depth
 
int in_object
 
int in_array
 
int escaped_string_was_key
 
int container_just_begun
 
gpr_uint16 unicode_char
 
gpr_uint16 unicode_high_surrogate
 
grpc_json_reader_state state
 
+

Field Documentation

+ +
+
+ + + + +
int grpc_json_reader::container_just_begun
+
+ +
+
+ +
+
+ + + + +
int grpc_json_reader::depth
+
+ +
+
+ +
+
+ + + + +
int grpc_json_reader::escaped_string_was_key
+
+ +
+
+ +
+
+ + + + +
int grpc_json_reader::in_array
+
+ +
+
+ +
+
+ + + + +
int grpc_json_reader::in_object
+
+ +
+
+ +
+
+ + + + +
grpc_json_reader_state grpc_json_reader::state
+
+ +
+
+ +
+
+ + + + +
gpr_uint16 grpc_json_reader::unicode_char
+
+ +
+
+ +
+
+ + + + +
gpr_uint16 grpc_json_reader::unicode_high_surrogate
+
+ +
+
+ +
+
+ + + + +
void* grpc_json_reader::userdata
+
+ +
+
+ +
+
+ + + + +
grpc_json_reader_vtable* grpc_json_reader::vtable
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structgrpc__json__reader__vtable.html b/doc/ref/core.internal/html/structgrpc__json__reader__vtable.html new file mode 100644 index 0000000000..3a07412a2a --- /dev/null +++ b/doc/ref/core.internal/html/structgrpc__json__reader__vtable.html @@ -0,0 +1,276 @@ + + + + + + +GRPC Core: grpc_json_reader_vtable Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
grpc_json_reader_vtable Struct Reference
+
+
+ +

#include <json_reader.h>

+ + + + + + + + + + + + + + + + + + + + + + + + + + +

+Data Fields

void(* string_clear )(void *userdata)
 
void(* string_add_char )(void *userdata, gpr_uint32 c)
 
void(* string_add_utf32 )(void *userdata, gpr_uint32 c)
 
gpr_uint32(* read_char )(void *userdata)
 
void(* container_begins )(void *userdata, grpc_json_type type)
 
grpc_json_type(* container_ends )(void *userdata)
 
void(* set_key )(void *userdata)
 
void(* set_string )(void *userdata)
 
int(* set_number )(void *userdata)
 
void(* set_true )(void *userdata)
 
void(* set_false )(void *userdata)
 
void(* set_null )(void *userdata)
 
+

Field Documentation

+ +
+
+ + + + +
void(* grpc_json_reader_vtable::container_begins)(void *userdata, grpc_json_type type)
+
+ +
+
+ +
+
+ + + + +
grpc_json_type(* grpc_json_reader_vtable::container_ends)(void *userdata)
+
+ +
+
+ +
+
+ + + + +
gpr_uint32(* grpc_json_reader_vtable::read_char)(void *userdata)
+
+ +
+
+ +
+
+ + + + +
void(* grpc_json_reader_vtable::set_false)(void *userdata)
+
+ +
+
+ +
+
+ + + + +
void(* grpc_json_reader_vtable::set_key)(void *userdata)
+
+ +
+
+ +
+
+ + + + +
void(* grpc_json_reader_vtable::set_null)(void *userdata)
+
+ +
+
+ +
+
+ + + + +
int(* grpc_json_reader_vtable::set_number)(void *userdata)
+
+ +
+
+ +
+
+ + + + +
void(* grpc_json_reader_vtable::set_string)(void *userdata)
+
+ +
+
+ +
+
+ + + + +
void(* grpc_json_reader_vtable::set_true)(void *userdata)
+
+ +
+
+ +
+
+ + + + +
void(* grpc_json_reader_vtable::string_add_char)(void *userdata, gpr_uint32 c)
+
+ +
+
+ +
+
+ + + + +
void(* grpc_json_reader_vtable::string_add_utf32)(void *userdata, gpr_uint32 c)
+
+ +
+
+ +
+
+ + + + +
void(* grpc_json_reader_vtable::string_clear)(void *userdata)
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structgrpc__json__writer.html b/doc/ref/core.internal/html/structgrpc__json__writer.html new file mode 100644 index 0000000000..16130635f8 --- /dev/null +++ b/doc/ref/core.internal/html/structgrpc__json__writer.html @@ -0,0 +1,192 @@ + + + + + + +GRPC Core: grpc_json_writer Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
grpc_json_writer Struct Reference
+
+
+ +

#include <json_writer.h>

+ + + + + + + + + + + + + + +

+Data Fields

void * userdata
 
grpc_json_writer_vtablevtable
 
int indent
 
int depth
 
int container_empty
 
int got_key
 
+

Field Documentation

+ +
+
+ + + + +
int grpc_json_writer::container_empty
+
+ +
+
+ +
+
+ + + + +
int grpc_json_writer::depth
+
+ +
+
+ +
+
+ + + + +
int grpc_json_writer::got_key
+
+ +
+
+ +
+
+ + + + +
int grpc_json_writer::indent
+
+ +
+
+ +
+
+ + + + +
void* grpc_json_writer::userdata
+
+ +
+
+ +
+
+ + + + +
grpc_json_writer_vtable* grpc_json_writer::vtable
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structgrpc__json__writer__vtable.html b/doc/ref/core.internal/html/structgrpc__json__writer__vtable.html new file mode 100644 index 0000000000..42e9b13f55 --- /dev/null +++ b/doc/ref/core.internal/html/structgrpc__json__writer__vtable.html @@ -0,0 +1,150 @@ + + + + + + +GRPC Core: grpc_json_writer_vtable Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
grpc_json_writer_vtable Struct Reference
+
+
+ +

#include <json_writer.h>

+ + + + + + + + +

+Data Fields

void(* output_char )(void *userdata, char)
 
void(* output_string )(void *userdata, const char *str)
 
void(* output_string_with_len )(void *userdata, const char *str, size_t len)
 
+

Field Documentation

+ +
+
+ + + + +
void(* grpc_json_writer_vtable::output_char)(void *userdata, char)
+
+ +
+
+ +
+
+ + + + +
void(* grpc_json_writer_vtable::output_string)(void *userdata, const char *str)
+
+ +
+
+ +
+
+ + + + +
void(* grpc_json_writer_vtable::output_string_with_len)(void *userdata, const char *str, size_t len)
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structgrpc__jwt__claims.html b/doc/ref/core.internal/html/structgrpc__jwt__claims.html new file mode 100644 index 0000000000..e67d2a50ef --- /dev/null +++ b/doc/ref/core.internal/html/structgrpc__jwt__claims.html @@ -0,0 +1,232 @@ + + + + + + +GRPC Core: grpc_jwt_claims Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
grpc_jwt_claims Struct Reference
+
+
+ + + + + + + + + + + + + + + + + + + + +

+Data Fields

const char * sub
 
const char * iss
 
const char * aud
 
const char * jti
 
gpr_timespec iat
 
gpr_timespec exp
 
gpr_timespec nbf
 
grpc_jsonjson
 
gpr_slice buffer
 
+

Field Documentation

+ +
+
+ + + + +
const char* grpc_jwt_claims::aud
+
+ +
+
+ +
+
+ + + + +
gpr_slice grpc_jwt_claims::buffer
+
+ +
+
+ +
+
+ + + + +
gpr_timespec grpc_jwt_claims::exp
+
+ +
+
+ +
+
+ + + + +
gpr_timespec grpc_jwt_claims::iat
+
+ +
+
+ +
+
+ + + + +
const char* grpc_jwt_claims::iss
+
+ +
+
+ +
+
+ + + + +
grpc_json* grpc_jwt_claims::json
+
+ +
+
+ +
+
+ + + + +
const char* grpc_jwt_claims::jti
+
+ +
+
+ +
+
+ + + + +
gpr_timespec grpc_jwt_claims::nbf
+
+ +
+
+ +
+
+ + + + +
const char* grpc_jwt_claims::sub
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structgrpc__jwt__verifier.html b/doc/ref/core.internal/html/structgrpc__jwt__verifier.html new file mode 100644 index 0000000000..5f55916371 --- /dev/null +++ b/doc/ref/core.internal/html/structgrpc__jwt__verifier.html @@ -0,0 +1,162 @@ + + + + + + +GRPC Core: grpc_jwt_verifier Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
grpc_jwt_verifier Struct Reference
+
+
+ + + + + + + + + + +

+Data Fields

email_key_mappingmappings
 
size_t num_mappings
 
size_t allocated_mappings
 
grpc_httpcli_context http_ctx
 
+

Field Documentation

+ +
+
+ + + + +
size_t grpc_jwt_verifier::allocated_mappings
+
+ +
+
+ +
+
+ + + + +
grpc_httpcli_context grpc_jwt_verifier::http_ctx
+
+ +
+
+ +
+
+ + + + +
email_key_mapping* grpc_jwt_verifier::mappings
+
+ +
+
+ +
+
+ + + + +
size_t grpc_jwt_verifier::num_mappings
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structgrpc__jwt__verifier__email__domain__key__url__mapping.html b/doc/ref/core.internal/html/structgrpc__jwt__verifier__email__domain__key__url__mapping.html new file mode 100644 index 0000000000..9111359f8b --- /dev/null +++ b/doc/ref/core.internal/html/structgrpc__jwt__verifier__email__domain__key__url__mapping.html @@ -0,0 +1,136 @@ + + + + + + +GRPC Core: grpc_jwt_verifier_email_domain_key_url_mapping Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
grpc_jwt_verifier_email_domain_key_url_mapping Struct Reference
+
+
+ +

#include <jwt_verifier.h>

+ + + + + + +

+Data Fields

const char * email_domain
 
const char * key_url_prefix
 
+

Field Documentation

+ +
+
+ + + + +
const char* grpc_jwt_verifier_email_domain_key_url_mapping::email_domain
+
+ +
+
+ +
+
+ + + + +
const char* grpc_jwt_verifier_email_domain_key_url_mapping::key_url_prefix
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structgrpc__kick__fd__info.html b/doc/ref/core.internal/html/structgrpc__kick__fd__info.html new file mode 100644 index 0000000000..a7048a9875 --- /dev/null +++ b/doc/ref/core.internal/html/structgrpc__kick__fd__info.html @@ -0,0 +1,150 @@ + + + + + + +GRPC Core: grpc_kick_fd_info Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
grpc_kick_fd_info Struct Reference
+
+
+ +

#include <pollset_kick_posix.h>

+ + + + + + + + +

+Data Fields

grpc_wakeup_fd_info wakeup_fd
 
struct grpc_kick_fd_infonext
 
struct grpc_kick_fd_infoprev
 
+

Field Documentation

+ +
+
+ + + + +
struct grpc_kick_fd_info* grpc_kick_fd_info::next
+
+ +
+
+ +
+
+ + + + +
struct grpc_kick_fd_info* grpc_kick_fd_info::prev
+
+ +
+
+ +
+
+ + + + +
grpc_wakeup_fd_info grpc_kick_fd_info::wakeup_fd
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structgrpc__lb__policy.html b/doc/ref/core.internal/html/structgrpc__lb__policy.html new file mode 100644 index 0000000000..2dc8382bef --- /dev/null +++ b/doc/ref/core.internal/html/structgrpc__lb__policy.html @@ -0,0 +1,136 @@ + + + + + + +GRPC Core: grpc_lb_policy Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
grpc_lb_policy Struct Reference
+
+
+ +

#include <lb_policy.h>

+ + + + + + +

+Data Fields

const grpc_lb_policy_vtablevtable
 
gpr_refcount refs
 
+

Field Documentation

+ +
+
+ + + + +
gpr_refcount grpc_lb_policy::refs
+
+ +
+
+ +
+
+ + + + +
const grpc_lb_policy_vtable* grpc_lb_policy::vtable
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structgrpc__lb__policy__vtable.html b/doc/ref/core.internal/html/structgrpc__lb__policy__vtable.html new file mode 100644 index 0000000000..9d74dbface --- /dev/null +++ b/doc/ref/core.internal/html/structgrpc__lb__policy__vtable.html @@ -0,0 +1,222 @@ + + + + + + +GRPC Core: grpc_lb_policy_vtable Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
grpc_lb_policy_vtable Struct Reference
+
+
+ +

#include <lb_policy.h>

+ + + + + + + + + + + + + + + + + + + + + +

+Data Fields

void(* destroy )(grpc_lb_policy *policy)
 
void(* shutdown )(grpc_lb_policy *policy)
 
void(* pick )(grpc_lb_policy *policy, grpc_pollset *pollset, grpc_metadata_batch *initial_metadata, grpc_subchannel **target, grpc_iomgr_closure *on_complete)
 implement grpc_lb_policy_pick More...
 
void(* exit_idle )(grpc_lb_policy *policy)
 try to enter a READY connectivity state More...
 
void(* broadcast )(grpc_lb_policy *policy, grpc_transport_op *op)
 broadcast a transport op to all subchannels More...
 
grpc_connectivity_state(* check_connectivity )(grpc_lb_policy *policy)
 check the current connectivity of the lb_policy More...
 
void(* notify_on_state_change )(grpc_lb_policy *policy, grpc_connectivity_state *state, grpc_iomgr_closure *closure)
 call notify when the connectivity state of a channel changes from *state. More...
 
+

Field Documentation

+ +
+
+ + + + +
void(* grpc_lb_policy_vtable::broadcast)(grpc_lb_policy *policy, grpc_transport_op *op)
+
+ +

broadcast a transport op to all subchannels

+ +
+
+ +
+
+ + + + +
grpc_connectivity_state(* grpc_lb_policy_vtable::check_connectivity)(grpc_lb_policy *policy)
+
+ +

check the current connectivity of the lb_policy

+ +
+
+ +
+
+ + + + +
void(* grpc_lb_policy_vtable::destroy)(grpc_lb_policy *policy)
+
+ +
+
+ +
+
+ + + + +
void(* grpc_lb_policy_vtable::exit_idle)(grpc_lb_policy *policy)
+
+ +

try to enter a READY connectivity state

+ +
+
+ +
+
+ + + + +
void(* grpc_lb_policy_vtable::notify_on_state_change)(grpc_lb_policy *policy, grpc_connectivity_state *state, grpc_iomgr_closure *closure)
+
+ +

call notify when the connectivity state of a channel changes from *state.

+

Updates *state with the new state of the policy

+ +
+
+ +
+
+ + + + +
void(* grpc_lb_policy_vtable::pick)(grpc_lb_policy *policy, grpc_pollset *pollset, grpc_metadata_batch *initial_metadata, grpc_subchannel **target, grpc_iomgr_closure *on_complete)
+
+ +

implement grpc_lb_policy_pick

+ +
+
+ +
+
+ + + + +
void(* grpc_lb_policy_vtable::shutdown)(grpc_lb_policy *policy)
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structgrpc__linked__mdelem.html b/doc/ref/core.internal/html/structgrpc__linked__mdelem.html new file mode 100644 index 0000000000..2292d5f952 --- /dev/null +++ b/doc/ref/core.internal/html/structgrpc__linked__mdelem.html @@ -0,0 +1,150 @@ + + + + + + +GRPC Core: grpc_linked_mdelem Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
grpc_linked_mdelem Struct Reference
+
+
+ +

#include <stream_op.h>

+ + + + + + + + +

+Data Fields

grpc_mdelemmd
 
struct grpc_linked_mdelemnext
 
struct grpc_linked_mdelemprev
 
+

Field Documentation

+ +
+
+ + + + +
grpc_mdelem* grpc_linked_mdelem::md
+
+ +
+
+ +
+
+ + + + +
struct grpc_linked_mdelem* grpc_linked_mdelem::next
+
+ +
+
+ +
+
+ + + + +
struct grpc_linked_mdelem* grpc_linked_mdelem::prev
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structgrpc__mdctx.html b/doc/ref/core.internal/html/structgrpc__mdctx.html new file mode 100644 index 0000000000..8583441b8d --- /dev/null +++ b/doc/ref/core.internal/html/structgrpc__mdctx.html @@ -0,0 +1,246 @@ + + + + + + +GRPC Core: grpc_mdctx Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
grpc_mdctx Struct Reference
+
+
+ + + + + + + + + + + + + + + + + + + + + + +

+Data Fields

gpr_uint32 hash_seed
 
int refs
 
gpr_mu mu
 
internal_string ** strtab
 
size_t strtab_count
 
size_t strtab_capacity
 
internal_metadata ** mdtab
 
size_t mdtab_count
 
size_t mdtab_free
 
size_t mdtab_capacity
 
+

Field Documentation

+ +
+
+ + + + +
gpr_uint32 grpc_mdctx::hash_seed
+
+ +
+
+ +
+
+ + + + +
internal_metadata** grpc_mdctx::mdtab
+
+ +
+
+ +
+
+ + + + +
size_t grpc_mdctx::mdtab_capacity
+
+ +
+
+ +
+
+ + + + +
size_t grpc_mdctx::mdtab_count
+
+ +
+
+ +
+
+ + + + +
size_t grpc_mdctx::mdtab_free
+
+ +
+
+ +
+
+ + + + +
gpr_mu grpc_mdctx::mu
+
+ +
+
+ +
+
+ + + + +
int grpc_mdctx::refs
+
+ +
+
+ +
+
+ + + + +
internal_string** grpc_mdctx::strtab
+
+ +
+
+ +
+
+ + + + +
size_t grpc_mdctx::strtab_capacity
+
+ +
+
+ +
+
+ + + + +
size_t grpc_mdctx::strtab_count
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structgrpc__mdelem.html b/doc/ref/core.internal/html/structgrpc__mdelem.html new file mode 100644 index 0000000000..6052ea7167 --- /dev/null +++ b/doc/ref/core.internal/html/structgrpc__mdelem.html @@ -0,0 +1,136 @@ + + + + + + +GRPC Core: grpc_mdelem Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
grpc_mdelem Struct Reference
+
+
+ +

#include <metadata.h>

+ + + + + + +

+Data Fields

grpc_mdstr *const key
 
grpc_mdstr *const value
 
+

Field Documentation

+ +
+
+ + + + +
grpc_mdstr* const grpc_mdelem::key
+
+ +
+
+ +
+
+ + + + +
grpc_mdstr* const grpc_mdelem::value
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structgrpc__mdelem__list.html b/doc/ref/core.internal/html/structgrpc__mdelem__list.html new file mode 100644 index 0000000000..0a2d0582b9 --- /dev/null +++ b/doc/ref/core.internal/html/structgrpc__mdelem__list.html @@ -0,0 +1,136 @@ + + + + + + +GRPC Core: grpc_mdelem_list Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
grpc_mdelem_list Struct Reference
+
+
+ +

#include <stream_op.h>

+ + + + + + +

+Data Fields

grpc_linked_mdelemhead
 
grpc_linked_mdelemtail
 
+

Field Documentation

+ +
+
+ + + + +
grpc_linked_mdelem* grpc_mdelem_list::head
+
+ +
+
+ +
+
+ + + + +
grpc_linked_mdelem* grpc_mdelem_list::tail
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structgrpc__mdstr.html b/doc/ref/core.internal/html/structgrpc__mdstr.html new file mode 100644 index 0000000000..6ebf9f858d --- /dev/null +++ b/doc/ref/core.internal/html/structgrpc__mdstr.html @@ -0,0 +1,136 @@ + + + + + + +GRPC Core: grpc_mdstr Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
grpc_mdstr Struct Reference
+
+
+ +

#include <metadata.h>

+ + + + + + +

+Data Fields

const gpr_slice slice
 
const gpr_uint32 hash
 
+

Field Documentation

+ +
+
+ + + + +
const gpr_uint32 grpc_mdstr::hash
+
+ +
+
+ +
+
+ + + + +
const gpr_slice grpc_mdstr::slice
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structgrpc__metadata.html b/doc/ref/core.internal/html/structgrpc__metadata.html new file mode 100644 index 0000000000..411863c05c --- /dev/null +++ b/doc/ref/core.internal/html/structgrpc__metadata.html @@ -0,0 +1,188 @@ + + + + + + +GRPC Core: grpc_metadata Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
grpc_metadata Struct Reference
+
+
+ +

A single metadata element. + More...

+ +

#include <grpc.h>

+ + + + + + + + + + + + + + +

+Data Fields

const char * key
 
const char * value
 
size_t value_length
 
struct {
   void *   obfuscated [3]
 
internal_data
 The following fields are reserved for grpc internal use. More...
 
+

Detailed Description

+

A single metadata element.

+

Field Documentation

+ +
+
+ + + + +
struct { ... } grpc_metadata::internal_data
+
+ +

The following fields are reserved for grpc internal use.

+

There is no need to initialize them, and they will be set to garbage during calls to grpc.

+ +
+
+ +
+
+ + + + +
const char* grpc_metadata::key
+
+ +
+
+ +
+
+ + + + +
void* grpc_metadata::obfuscated[3]
+
+ +
+
+ +
+
+ + + + +
const char* grpc_metadata::value
+
+ +
+
+ +
+
+ + + + +
size_t grpc_metadata::value_length
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structgrpc__metadata__array.html b/doc/ref/core.internal/html/structgrpc__metadata__array.html new file mode 100644 index 0000000000..33d2191d10 --- /dev/null +++ b/doc/ref/core.internal/html/structgrpc__metadata__array.html @@ -0,0 +1,150 @@ + + + + + + +GRPC Core: grpc_metadata_array Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
grpc_metadata_array Struct Reference
+
+
+ +

#include <grpc.h>

+ + + + + + + + +

+Data Fields

size_t count
 
size_t capacity
 
grpc_metadatametadata
 
+

Field Documentation

+ +
+
+ + + + +
size_t grpc_metadata_array::capacity
+
+ +
+
+ +
+
+ + + + +
size_t grpc_metadata_array::count
+
+ +
+
+ +
+
+ + + + +
grpc_metadata* grpc_metadata_array::metadata
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structgrpc__metadata__batch.html b/doc/ref/core.internal/html/structgrpc__metadata__batch.html new file mode 100644 index 0000000000..404ae7b0f2 --- /dev/null +++ b/doc/ref/core.internal/html/structgrpc__metadata__batch.html @@ -0,0 +1,159 @@ + + + + + + +GRPC Core: grpc_metadata_batch Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
grpc_metadata_batch Struct Reference
+
+
+ +

#include <stream_op.h>

+ + + + + + + + + + + +

+Data Fields

grpc_mdelem_list list
 Metadata elements in this batch. More...
 
grpc_mdelem_list garbage
 Elements that have been removed from the batch, but have not yet been unreffed - used to allow collecting garbage under a single metadata context lock. More...
 
gpr_timespec deadline
 Used to calculate grpc-timeout at the point of sending, or gpr_inf_future if this batch does not need to send a grpc-timeout. More...
 
+

Field Documentation

+ +
+
+ + + + +
gpr_timespec grpc_metadata_batch::deadline
+
+ +

Used to calculate grpc-timeout at the point of sending, or gpr_inf_future if this batch does not need to send a grpc-timeout.

+ +
+
+ +
+
+ + + + +
grpc_mdelem_list grpc_metadata_batch::garbage
+
+ +

Elements that have been removed from the batch, but have not yet been unreffed - used to allow collecting garbage under a single metadata context lock.

+ +
+
+ +
+
+ + + + +
grpc_mdelem_list grpc_metadata_batch::list
+
+ +

Metadata elements in this batch.

+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structgrpc__oauth2__token__fetcher__credentials.html b/doc/ref/core.internal/html/structgrpc__oauth2__token__fetcher__credentials.html new file mode 100644 index 0000000000..fee02c9f48 --- /dev/null +++ b/doc/ref/core.internal/html/structgrpc__oauth2__token__fetcher__credentials.html @@ -0,0 +1,192 @@ + + + + + + +GRPC Core: grpc_oauth2_token_fetcher_credentials Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
grpc_oauth2_token_fetcher_credentials Struct Reference
+
+
+ +

#include <credentials.h>

+ + + + + + + + + + + + + + +

+Data Fields

grpc_credentials base
 
gpr_mu mu
 
grpc_credentials_md_storeaccess_token_md
 
gpr_timespec token_expiration
 
grpc_httpcli_context httpcli_context
 
grpc_fetch_oauth2_func fetch_func
 
+

Field Documentation

+ +
+
+ + + + +
grpc_credentials_md_store* grpc_oauth2_token_fetcher_credentials::access_token_md
+
+ +
+
+ +
+
+ + + + +
grpc_credentials grpc_oauth2_token_fetcher_credentials::base
+
+ +
+
+ +
+
+ + + + +
grpc_fetch_oauth2_func grpc_oauth2_token_fetcher_credentials::fetch_func
+
+ +
+
+ +
+
+ + + + +
grpc_httpcli_context grpc_oauth2_token_fetcher_credentials::httpcli_context
+
+ +
+
+ +
+
+ + + + +
gpr_mu grpc_oauth2_token_fetcher_credentials::mu
+
+ +
+
+ +
+
+ + + + +
gpr_timespec grpc_oauth2_token_fetcher_credentials::token_expiration
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structgrpc__op.html b/doc/ref/core.internal/html/structgrpc__op.html new file mode 100644 index 0000000000..6f2843c624 --- /dev/null +++ b/doc/ref/core.internal/html/structgrpc__op.html @@ -0,0 +1,439 @@ + + + + + + +GRPC Core: grpc_op Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
grpc_op Struct Reference
+
+
+ +

Operation data: one field for each op type (except SEND_CLOSE_FROM_CLIENT which has no arguments) + More...

+ +

#include <grpc.h>

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Data Fields

grpc_op_type op
 Operation type, as defined by grpc_op_type. More...
 
gpr_uint32 flags
 Write flags bitset for grpc_begin_messages. More...
 
union {
   struct {
      size_t   count
 
      grpc_metadata *   metadata
 
   }   send_initial_metadata
 
   grpc_byte_buffer *   send_message
 
   struct {
      size_t   trailing_metadata_count
 
      grpc_metadata *   trailing_metadata
 
      grpc_status_code   status
 
      const char *   status_details
 
   }   send_status_from_server
 
   grpc_metadata_array *   recv_initial_metadata
 ownership of the array is with the caller, but ownership of the elements stays with the call object (ie key, value members are owned by the call object, recv_initial_metadata->array is owned by the caller). More...
 
   grpc_byte_buffer **   recv_message
 ownership of the byte buffer is moved to the caller; the caller must call grpc_byte_buffer_destroy on this value, or reuse it in a future op. More...
 
   struct {
      grpc_metadata_array *   trailing_metadata
 ownership of the array is with the caller, but ownership of the elements stays with the call object (ie key, value members are owned by the call object, trailing_metadata->array is owned by the caller). More...
 
      grpc_status_code *   status
 
      char **   status_details
 status_details is a buffer owned by the application before the op completes and after the op has completed. More...
 
      size_t *   status_details_capacity
 
   }   recv_status_on_client
 
   struct {
      int *   cancelled
 out argument, set to 1 if the call failed in any way (seen as a cancellation on the server), or 0 if the call succeeded More...
 
   }   recv_close_on_server
 
data
 
+

Detailed Description

+

Operation data: one field for each op type (except SEND_CLOSE_FROM_CLIENT which has no arguments)

+

Field Documentation

+ +
+
+ + + + +
int* grpc_op::cancelled
+
+ +

out argument, set to 1 if the call failed in any way (seen as a cancellation on the server), or 0 if the call succeeded

+ +
+
+ +
+
+ + + + +
size_t grpc_op::count
+
+ +
+
+ +
+
+ + + + +
union { ... } grpc_op::data
+
+ +
+
+ +
+
+ + + + +
gpr_uint32 grpc_op::flags
+
+ +

Write flags bitset for grpc_begin_messages.

+ +
+
+ +
+
+ + + + +
grpc_metadata* grpc_op::metadata
+
+ +
+
+ +
+
+ + + + +
grpc_op_type grpc_op::op
+
+ +

Operation type, as defined by grpc_op_type.

+ +
+
+ +
+
+ + + + +
struct { ... } grpc_op::recv_close_on_server
+
+ +
+
+ +
+
+ + + + +
grpc_metadata_array* grpc_op::recv_initial_metadata
+
+ +

ownership of the array is with the caller, but ownership of the elements stays with the call object (ie key, value members are owned by the call object, recv_initial_metadata->array is owned by the caller).

+

After the operation completes, call grpc_metadata_array_destroy on this value, or reuse it in a future op.

+ +
+
+ +
+
+ + + + +
grpc_byte_buffer** grpc_op::recv_message
+
+ +

ownership of the byte buffer is moved to the caller; the caller must call grpc_byte_buffer_destroy on this value, or reuse it in a future op.

+ +
+
+ +
+
+ + + + +
struct { ... } grpc_op::recv_status_on_client
+
+ +
+
+ +
+
+ + + + +
struct { ... } grpc_op::send_initial_metadata
+
+ +
+
+ +
+
+ + + + +
grpc_byte_buffer* grpc_op::send_message
+
+ +
+
+ +
+
+ + + + +
struct { ... } grpc_op::send_status_from_server
+
+ +
+
+ +
+
+ + + + +
grpc_status_code grpc_op::status
+
+ +
+
+ +
+
+ + + + +
grpc_status_code* grpc_op::status
+
+ +
+
+ +
+
+ + + + +
const char* grpc_op::status_details
+
+ +
+
+ +
+
+ + + + +
char** grpc_op::status_details
+
+ +

status_details is a buffer owned by the application before the op completes and after the op has completed.

+

During the operation status_details may be reallocated to a size larger than status_details_capacity, in which case *status_details_capacity will be updated with the new array capacity.

+

Pre-allocating space: size_t my_capacity = 8; char *my_details = gpr_malloc(my_capacity); x.status_details = x.status_details_capacity =

+

Not pre-allocating space: size_t my_capacity = 0; char *my_details = NULL; x.status_details = x.status_details_capacity =

+

After the call: gpr_free(my_details);

+ +
+
+ +
+
+ + + + +
size_t* grpc_op::status_details_capacity
+
+ +
+
+ +
+
+ + + + +
grpc_metadata* grpc_op::trailing_metadata
+
+ +
+
+ +
+
+ + + + +
grpc_metadata_array* grpc_op::trailing_metadata
+
+ +

ownership of the array is with the caller, but ownership of the elements stays with the call object (ie key, value members are owned by the call object, trailing_metadata->array is owned by the caller).

+

After the operation completes, call grpc_metadata_array_destroy on this value, or reuse it in a future op.

+ +
+
+ +
+
+ + + + +
size_t grpc_op::trailing_metadata_count
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structgrpc__pollset.html b/doc/ref/core.internal/html/structgrpc__pollset.html new file mode 100644 index 0000000000..4555fd3a9c --- /dev/null +++ b/doc/ref/core.internal/html/structgrpc__pollset.html @@ -0,0 +1,292 @@ + + + + + + +GRPC Core: grpc_pollset Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
grpc_pollset Struct Reference
+
+
+ +

#include <pollset_posix.h>

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Data Fields

const grpc_pollset_vtablevtable
 
gpr_mu mu
 
grpc_pollset_kick_state kick_state
 
int counter
 
int in_flight_cbs
 
int shutting_down
 
int called_shutdown
 
void(* shutdown_done_cb )(void *arg)
 
void * shutdown_done_arg
 
union {
   int   fd
 
   void *   ptr
 
data
 
gpr_cv cv
 
+

Field Documentation

+ +
+
+ + + + +
int grpc_pollset::called_shutdown
+
+ +
+
+ +
+
+ + + + +
int grpc_pollset::counter
+
+ +
+
+ +
+
+ + + + +
gpr_cv grpc_pollset::cv
+
+ +
+
+ +
+
+ + + + +
union { ... } grpc_pollset::data
+
+ +
+
+ +
+
+ + + + +
int grpc_pollset::fd
+
+ +
+
+ +
+
+ + + + +
int grpc_pollset::in_flight_cbs
+
+ +
+
+ +
+
+ + + + +
grpc_pollset_kick_state grpc_pollset::kick_state
+
+ +
+
+ +
+
+ + + + +
gpr_mu grpc_pollset::mu
+
+ +
+
+ +
+
+ + + + +
void* grpc_pollset::ptr
+
+ +
+
+ +
+
+ + + + +
void* grpc_pollset::shutdown_done_arg
+
+ +
+
+ +
+
+ + + + +
void(* grpc_pollset::shutdown_done_cb)(void *arg)
+
+ +
+
+ +
+
+ + + + +
int grpc_pollset::shutting_down
+
+ +
+
+ +
+
+ + + + +
const grpc_pollset_vtable* grpc_pollset::vtable
+
+ +
+
+
The documentation for this struct was generated from the following files: +
+ + + + diff --git a/doc/ref/core.internal/html/structgrpc__pollset__kick__state.html b/doc/ref/core.internal/html/structgrpc__pollset__kick__state.html new file mode 100644 index 0000000000..e703ec0ccc --- /dev/null +++ b/doc/ref/core.internal/html/structgrpc__pollset__kick__state.html @@ -0,0 +1,150 @@ + + + + + + +GRPC Core: grpc_pollset_kick_state Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
grpc_pollset_kick_state Struct Reference
+
+
+ +

#include <pollset_kick_posix.h>

+ + + + + + + + +

+Data Fields

gpr_mu mu
 
int kicked
 
struct grpc_kick_fd_info fd_list
 
+

Field Documentation

+ +
+
+ + + + +
struct grpc_kick_fd_info grpc_pollset_kick_state::fd_list
+
+ +
+
+ +
+
+ + + + +
int grpc_pollset_kick_state::kicked
+
+ +
+
+ +
+
+ + + + +
gpr_mu grpc_pollset_kick_state::mu
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structgrpc__pollset__set.html b/doc/ref/core.internal/html/structgrpc__pollset__set.html new file mode 100644 index 0000000000..e24d603a92 --- /dev/null +++ b/doc/ref/core.internal/html/structgrpc__pollset__set.html @@ -0,0 +1,221 @@ + + + + + + +GRPC Core: grpc_pollset_set Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
grpc_pollset_set Struct Reference
+
+
+ +

#include <pollset_set_posix.h>

+ + + + + + + + + + + + + + + + + + +

+Data Fields

gpr_mu mu
 
size_t pollset_count
 
size_t pollset_capacity
 
grpc_pollset ** pollsets
 
size_t fd_count
 
size_t fd_capacity
 
grpc_fd ** fds
 
void * unused
 
+

Field Documentation

+ +
+
+ + + + +
size_t grpc_pollset_set::fd_capacity
+
+ +
+
+ +
+
+ + + + +
size_t grpc_pollset_set::fd_count
+
+ +
+
+ +
+
+ + + + +
grpc_fd** grpc_pollset_set::fds
+
+ +
+
+ +
+
+ + + + +
gpr_mu grpc_pollset_set::mu
+
+ +
+
+ +
+
+ + + + +
size_t grpc_pollset_set::pollset_capacity
+
+ +
+
+ +
+
+ + + + +
size_t grpc_pollset_set::pollset_count
+
+ +
+
+ +
+
+ + + + +
grpc_pollset** grpc_pollset_set::pollsets
+
+ +
+
+ +
+
+ + + + +
void* grpc_pollset_set::unused
+
+ +
+
+
The documentation for this struct was generated from the following files: +
+ + + + diff --git a/doc/ref/core.internal/html/structgrpc__pollset__vtable.html b/doc/ref/core.internal/html/structgrpc__pollset__vtable.html new file mode 100644 index 0000000000..a97367398e --- /dev/null +++ b/doc/ref/core.internal/html/structgrpc__pollset__vtable.html @@ -0,0 +1,192 @@ + + + + + + +GRPC Core: grpc_pollset_vtable Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
grpc_pollset_vtable Struct Reference
+
+
+ +

#include <pollset_posix.h>

+ + + + + + + + + + + + + + +

+Data Fields

void(* add_fd )(grpc_pollset *pollset, struct grpc_fd *fd, int and_unlock_pollset)
 
void(* del_fd )(grpc_pollset *pollset, struct grpc_fd *fd, int and_unlock_pollset)
 
void(* maybe_work )(grpc_pollset *pollset, gpr_timespec deadline, gpr_timespec now, int allow_synchronous_callback)
 
void(* kick )(grpc_pollset *pollset)
 
void(* finish_shutdown )(grpc_pollset *pollset)
 
void(* destroy )(grpc_pollset *pollset)
 
+

Field Documentation

+ +
+
+ + + + +
void(* grpc_pollset_vtable::add_fd)(grpc_pollset *pollset, struct grpc_fd *fd, int and_unlock_pollset)
+
+ +
+
+ +
+
+ + + + +
void(* grpc_pollset_vtable::del_fd)(grpc_pollset *pollset, struct grpc_fd *fd, int and_unlock_pollset)
+
+ +
+
+ +
+
+ + + + +
void(* grpc_pollset_vtable::destroy)(grpc_pollset *pollset)
+
+ +
+
+ +
+
+ + + + +
void(* grpc_pollset_vtable::finish_shutdown)(grpc_pollset *pollset)
+
+ +
+
+ +
+
+ + + + +
void(* grpc_pollset_vtable::kick)(grpc_pollset *pollset)
+
+ +
+
+ +
+
+ + + + +
void(* grpc_pollset_vtable::maybe_work)(grpc_pollset *pollset, gpr_timespec deadline, gpr_timespec now, int allow_synchronous_callback)
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structgrpc__precise__clock.html b/doc/ref/core.internal/html/structgrpc__precise__clock.html new file mode 100644 index 0000000000..f8575d609e --- /dev/null +++ b/doc/ref/core.internal/html/structgrpc__precise__clock.html @@ -0,0 +1,122 @@ + + + + + + +GRPC Core: grpc_precise_clock Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
grpc_precise_clock Struct Reference
+
+
+ +

#include <timers_preciseclock.h>

+ + + + +

+Data Fields

gpr_timespec clock
 
+

Field Documentation

+ +
+
+ + + + +
gpr_timespec grpc_precise_clock::clock
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structgrpc__refresh__token__credentials.html b/doc/ref/core.internal/html/structgrpc__refresh__token__credentials.html new file mode 100644 index 0000000000..ab1c0add27 --- /dev/null +++ b/doc/ref/core.internal/html/structgrpc__refresh__token__credentials.html @@ -0,0 +1,136 @@ + + + + + + +GRPC Core: grpc_refresh_token_credentials Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
grpc_refresh_token_credentials Struct Reference
+
+
+ +

#include <credentials.h>

+ + + + + + +

+Data Fields

grpc_oauth2_token_fetcher_credentials base
 
grpc_auth_refresh_token refresh_token
 
+

Field Documentation

+ +
+
+ + + + +
grpc_oauth2_token_fetcher_credentials grpc_refresh_token_credentials::base
+
+ +
+
+ +
+
+ + + + +
grpc_auth_refresh_token grpc_refresh_token_credentials::refresh_token
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structgrpc__resolved__address.html b/doc/ref/core.internal/html/structgrpc__resolved__address.html new file mode 100644 index 0000000000..9c54ef3d80 --- /dev/null +++ b/doc/ref/core.internal/html/structgrpc__resolved__address.html @@ -0,0 +1,136 @@ + + + + + + +GRPC Core: grpc_resolved_address Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
grpc_resolved_address Struct Reference
+
+
+ +

#include <resolve_address.h>

+ + + + + + +

+Data Fields

char addr [128]
 
int len
 
+

Field Documentation

+ +
+
+ + + + +
char grpc_resolved_address::addr[128]
+
+ +
+
+ +
+
+ + + + +
int grpc_resolved_address::len
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structgrpc__resolved__addresses.html b/doc/ref/core.internal/html/structgrpc__resolved__addresses.html new file mode 100644 index 0000000000..a0d3661e43 --- /dev/null +++ b/doc/ref/core.internal/html/structgrpc__resolved__addresses.html @@ -0,0 +1,136 @@ + + + + + + +GRPC Core: grpc_resolved_addresses Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
grpc_resolved_addresses Struct Reference
+
+
+ +

#include <resolve_address.h>

+ + + + + + +

+Data Fields

size_t naddrs
 
grpc_resolved_addressaddrs
 
+

Field Documentation

+ +
+
+ + + + +
grpc_resolved_address* grpc_resolved_addresses::addrs
+
+ +
+
+ +
+
+ + + + +
size_t grpc_resolved_addresses::naddrs
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structgrpc__resolver.html b/doc/ref/core.internal/html/structgrpc__resolver.html new file mode 100644 index 0000000000..d1975aec8d --- /dev/null +++ b/doc/ref/core.internal/html/structgrpc__resolver.html @@ -0,0 +1,141 @@ + + + + + + +GRPC Core: grpc_resolver Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
grpc_resolver Struct Reference
+
+
+ +

grpc_resolver provides grpc_client_config objects to grpc_channel objects + More...

+ +

#include <resolver.h>

+ + + + + + +

+Data Fields

const grpc_resolver_vtablevtable
 
gpr_refcount refs
 
+

Detailed Description

+

grpc_resolver provides grpc_client_config objects to grpc_channel objects

+

Field Documentation

+ +
+
+ + + + +
gpr_refcount grpc_resolver::refs
+
+ +
+
+ +
+
+ + + + +
const grpc_resolver_vtable* grpc_resolver::vtable
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structgrpc__resolver__factory.html b/doc/ref/core.internal/html/structgrpc__resolver__factory.html new file mode 100644 index 0000000000..8c6ef3e407 --- /dev/null +++ b/doc/ref/core.internal/html/structgrpc__resolver__factory.html @@ -0,0 +1,128 @@ + + + + + + +GRPC Core: grpc_resolver_factory Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
grpc_resolver_factory Struct Reference
+
+
+ +

grpc_resolver provides grpc_client_config objects to grpc_channel objects + More...

+ +

#include <resolver_factory.h>

+ + + + +

+Data Fields

const
+grpc_resolver_factory_vtable
vtable
 
+

Detailed Description

+

grpc_resolver provides grpc_client_config objects to grpc_channel objects

+

Field Documentation

+ +
+
+ + + + +
const grpc_resolver_factory_vtable* grpc_resolver_factory::vtable
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structgrpc__resolver__factory__vtable.html b/doc/ref/core.internal/html/structgrpc__resolver__factory__vtable.html new file mode 100644 index 0000000000..8183e82cb8 --- /dev/null +++ b/doc/ref/core.internal/html/structgrpc__resolver__factory__vtable.html @@ -0,0 +1,150 @@ + + + + + + +GRPC Core: grpc_resolver_factory_vtable Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
grpc_resolver_factory_vtable Struct Reference
+
+
+ +

#include <resolver_factory.h>

+ + + + + + + + +

+Data Fields

void(* ref )(grpc_resolver_factory *factory)
 
void(* unref )(grpc_resolver_factory *factory)
 
grpc_resolver *(* create_resolver )(grpc_resolver_factory *factory, grpc_uri *uri, grpc_subchannel_factory *subchannel_factory)
 
+

Field Documentation

+ +
+
+ + + + +
grpc_resolver*(* grpc_resolver_factory_vtable::create_resolver)(grpc_resolver_factory *factory, grpc_uri *uri, grpc_subchannel_factory *subchannel_factory)
+
+ +
+
+ +
+
+ + + + +
void(* grpc_resolver_factory_vtable::ref)(grpc_resolver_factory *factory)
+
+ +
+
+ +
+
+ + + + +
void(* grpc_resolver_factory_vtable::unref)(grpc_resolver_factory *factory)
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structgrpc__resolver__vtable.html b/doc/ref/core.internal/html/structgrpc__resolver__vtable.html new file mode 100644 index 0000000000..fcb682ccc9 --- /dev/null +++ b/doc/ref/core.internal/html/structgrpc__resolver__vtable.html @@ -0,0 +1,164 @@ + + + + + + +GRPC Core: grpc_resolver_vtable Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
grpc_resolver_vtable Struct Reference
+
+
+ +

#include <resolver.h>

+ + + + + + + + + + +

+Data Fields

void(* destroy )(grpc_resolver *resolver)
 
void(* shutdown )(grpc_resolver *resolver)
 
void(* channel_saw_error )(grpc_resolver *resolver, struct sockaddr *failing_address, int failing_address_len)
 
void(* next )(grpc_resolver *resolver, grpc_client_config **target_config, grpc_iomgr_closure *on_complete)
 
+

Field Documentation

+ +
+
+ + + + +
void(* grpc_resolver_vtable::channel_saw_error)(grpc_resolver *resolver, struct sockaddr *failing_address, int failing_address_len)
+
+ +
+
+ +
+
+ + + + +
void(* grpc_resolver_vtable::destroy)(grpc_resolver *resolver)
+
+ +
+
+ +
+
+ + + + +
void(* grpc_resolver_vtable::next)(grpc_resolver *resolver, grpc_client_config **target_config, grpc_iomgr_closure *on_complete)
+
+ +
+
+ +
+
+ + + + +
void(* grpc_resolver_vtable::shutdown)(grpc_resolver *resolver)
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structgrpc__secure__transport__setup.html b/doc/ref/core.internal/html/structgrpc__secure__transport__setup.html new file mode 100644 index 0000000000..2b2bfca398 --- /dev/null +++ b/doc/ref/core.internal/html/structgrpc__secure__transport__setup.html @@ -0,0 +1,232 @@ + + + + + + +GRPC Core: grpc_secure_transport_setup Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
grpc_secure_transport_setup Struct Reference
+
+
+ + + + + + + + + + + + + + + + + + + + +

+Data Fields

grpc_security_connectorconnector
 
tsi_handshakerhandshaker
 
unsigned char * handshake_buffer
 
size_t handshake_buffer_size
 
grpc_endpointwrapped_endpoint
 
grpc_endpointsecure_endpoint
 
gpr_slice_buffer left_overs
 
grpc_secure_transport_setup_done_cb cb
 
void * user_data
 
+

Field Documentation

+ +
+
+ + + + +
grpc_secure_transport_setup_done_cb grpc_secure_transport_setup::cb
+
+ +
+
+ +
+
+ + + + +
grpc_security_connector* grpc_secure_transport_setup::connector
+
+ +
+
+ +
+
+ + + + +
unsigned char* grpc_secure_transport_setup::handshake_buffer
+
+ +
+
+ +
+
+ + + + +
size_t grpc_secure_transport_setup::handshake_buffer_size
+
+ +
+
+ +
+
+ + + + +
tsi_handshaker* grpc_secure_transport_setup::handshaker
+
+ +
+
+ +
+
+ + + + +
gpr_slice_buffer grpc_secure_transport_setup::left_overs
+
+ +
+
+ +
+
+ + + + +
grpc_endpoint* grpc_secure_transport_setup::secure_endpoint
+
+ +
+
+ +
+
+ + + + +
void* grpc_secure_transport_setup::user_data
+
+ +
+
+ +
+
+ + + + +
grpc_endpoint* grpc_secure_transport_setup::wrapped_endpoint
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structgrpc__security__connector.html b/doc/ref/core.internal/html/structgrpc__security__connector.html new file mode 100644 index 0000000000..5d726b838b --- /dev/null +++ b/doc/ref/core.internal/html/structgrpc__security__connector.html @@ -0,0 +1,179 @@ + + + + + + +GRPC Core: grpc_security_connector Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
grpc_security_connector Struct Reference
+
+
+ +

#include <security_connector.h>

+ + + + + + + + + + + + +

+Data Fields

const
+grpc_security_connector_vtable
vtable
 
gpr_refcount refcount
 
int is_client_side
 
const char * url_scheme
 
grpc_auth_contextauth_context
 
+

Field Documentation

+ +
+
+ + + + +
grpc_auth_context* grpc_security_connector::auth_context
+
+ +
+
+ +
+
+ + + + +
int grpc_security_connector::is_client_side
+
+ +
+
+ +
+
+ + + + +
gpr_refcount grpc_security_connector::refcount
+
+ +
+
+ +
+
+ + + + +
const char* grpc_security_connector::url_scheme
+
+ +
+
+ +
+
+ + + + +
const grpc_security_connector_vtable* grpc_security_connector::vtable
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structgrpc__security__connector__vtable.html b/doc/ref/core.internal/html/structgrpc__security__connector__vtable.html new file mode 100644 index 0000000000..f555ab42fe --- /dev/null +++ b/doc/ref/core.internal/html/structgrpc__security__connector__vtable.html @@ -0,0 +1,150 @@ + + + + + + +GRPC Core: grpc_security_connector_vtable Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
grpc_security_connector_vtable Struct Reference
+
+
+ +

#include <security_connector.h>

+ + + + + + + + +

+Data Fields

void(* destroy )(grpc_security_connector *sc)
 
grpc_security_status(* create_handshaker )(grpc_security_connector *sc, tsi_handshaker **handshaker)
 
grpc_security_status(* check_peer )(grpc_security_connector *sc, tsi_peer peer, grpc_security_check_cb cb, void *user_data)
 
+

Field Documentation

+ +
+
+ + + + +
grpc_security_status(* grpc_security_connector_vtable::check_peer)(grpc_security_connector *sc, tsi_peer peer, grpc_security_check_cb cb, void *user_data)
+
+ +
+
+ +
+
+ + + + +
grpc_security_status(* grpc_security_connector_vtable::create_handshaker)(grpc_security_connector *sc, tsi_handshaker **handshaker)
+
+ +
+
+ +
+
+ + + + +
void(* grpc_security_connector_vtable::destroy)(grpc_security_connector *sc)
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structgrpc__server.html b/doc/ref/core.internal/html/structgrpc__server.html new file mode 100644 index 0000000000..a5d23ae6c5 --- /dev/null +++ b/doc/ref/core.internal/html/structgrpc__server.html @@ -0,0 +1,423 @@ + + + + + + +GRPC Core: grpc_server Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
grpc_server Struct Reference
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Data Fields

size_t channel_filter_count
 
const grpc_channel_filter ** channel_filters
 
grpc_channel_argschannel_args
 
grpc_completion_queue ** cqs
 
grpc_pollset ** pollsets
 
size_t cq_count
 
gpr_mu mu_global
 
gpr_mu mu_call
 
registered_methodregistered_methods
 
request_matcher unregistered_request_matcher
 
gpr_stack_lockfreerequest_freelist
 free list of available requested_calls indices More...
 
requested_callrequested_calls
 requested call backing data More...
 
int max_requested_calls
 
gpr_atm shutdown_flag
 
gpr_uint8 shutdown_published
 
size_t num_shutdown_tags
 
shutdown_tagshutdown_tags
 
channel_data root_channel_data
 
listenerlisteners
 
int listeners_destroyed
 
gpr_refcount internal_refcount
 
gpr_timespec last_shutdown_message_time
 when did we print the last shutdown progress message More...
 
+

Field Documentation

+ +
+
+ + + + +
grpc_channel_args* grpc_server::channel_args
+
+ +
+
+ +
+
+ + + + +
size_t grpc_server::channel_filter_count
+
+ +
+
+ +
+
+ + + + +
const grpc_channel_filter** grpc_server::channel_filters
+
+ +
+
+ +
+
+ + + + +
size_t grpc_server::cq_count
+
+ +
+
+ +
+
+ + + + +
grpc_completion_queue** grpc_server::cqs
+
+ +
+
+ +
+
+ + + + +
gpr_refcount grpc_server::internal_refcount
+
+ +
+
+ +
+
+ + + + +
gpr_timespec grpc_server::last_shutdown_message_time
+
+ +

when did we print the last shutdown progress message

+ +
+
+ +
+
+ + + + +
listener* grpc_server::listeners
+
+ +
+
+ +
+
+ + + + +
int grpc_server::listeners_destroyed
+
+ +
+
+ +
+
+ + + + +
int grpc_server::max_requested_calls
+
+ +
+
+ +
+
+ + + + +
gpr_mu grpc_server::mu_call
+
+ +
+
+ +
+
+ + + + +
gpr_mu grpc_server::mu_global
+
+ +
+
+ +
+
+ + + + +
size_t grpc_server::num_shutdown_tags
+
+ +
+
+ +
+
+ + + + +
grpc_pollset** grpc_server::pollsets
+
+ +
+
+ +
+
+ + + + +
registered_method* grpc_server::registered_methods
+
+ +
+
+ +
+
+ + + + +
gpr_stack_lockfree* grpc_server::request_freelist
+
+ +

free list of available requested_calls indices

+ +
+
+ +
+
+ + + + +
requested_call* grpc_server::requested_calls
+
+ +

requested call backing data

+ +
+
+ +
+
+ + + + +
channel_data grpc_server::root_channel_data
+
+ +
+
+ +
+
+ + + + +
gpr_atm grpc_server::shutdown_flag
+
+ +
+
+ +
+
+ + + + +
gpr_uint8 grpc_server::shutdown_published
+
+ +
+
+ +
+
+ + + + +
shutdown_tag* grpc_server::shutdown_tags
+
+ +
+
+ +
+
+ + + + +
request_matcher grpc_server::unregistered_request_matcher
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structgrpc__server__credentials.html b/doc/ref/core.internal/html/structgrpc__server__credentials.html new file mode 100644 index 0000000000..d11fde8713 --- /dev/null +++ b/doc/ref/core.internal/html/structgrpc__server__credentials.html @@ -0,0 +1,137 @@ + + + + + + +GRPC Core: grpc_server_credentials Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
grpc_server_credentials Struct Reference
+
+
+ +

#include <credentials.h>

+ + + + + + +

+Data Fields

const
+grpc_server_credentials_vtable
vtable
 
const char * type
 
+

Field Documentation

+ +
+
+ + + + +
const char* grpc_server_credentials::type
+
+ +
+
+ +
+
+ + + + +
const grpc_server_credentials_vtable* grpc_server_credentials::vtable
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structgrpc__server__credentials__vtable.html b/doc/ref/core.internal/html/structgrpc__server__credentials__vtable.html new file mode 100644 index 0000000000..0820ffcb9b --- /dev/null +++ b/doc/ref/core.internal/html/structgrpc__server__credentials__vtable.html @@ -0,0 +1,136 @@ + + + + + + +GRPC Core: grpc_server_credentials_vtable Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
grpc_server_credentials_vtable Struct Reference
+
+
+ +

#include <credentials.h>

+ + + + + + +

+Data Fields

void(* destroy )(grpc_server_credentials *c)
 
grpc_security_status(* create_security_connector )(grpc_server_credentials *c, grpc_security_connector **sc)
 
+

Field Documentation

+ +
+
+ + + + +
grpc_security_status(* grpc_server_credentials_vtable::create_security_connector)(grpc_server_credentials *c, grpc_security_connector **sc)
+
+ +
+
+ +
+
+ + + + +
void(* grpc_server_credentials_vtable::destroy)(grpc_server_credentials *c)
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structgrpc__server__secure__state.html b/doc/ref/core.internal/html/structgrpc__server__secure__state.html new file mode 100644 index 0000000000..dbf8ec895d --- /dev/null +++ b/doc/ref/core.internal/html/structgrpc__server__secure__state.html @@ -0,0 +1,204 @@ + + + + + + +GRPC Core: grpc_server_secure_state Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
grpc_server_secure_state Struct Reference
+
+
+ + + + + + + + + + + + + + + + +

+Data Fields

grpc_serverserver
 
grpc_tcp_servertcp
 
grpc_security_connectorsc
 
tcp_endpoint_listhandshaking_tcp_endpoints
 
int is_shutdown
 
gpr_mu mu
 
gpr_refcount refcount
 
+

Field Documentation

+ +
+
+ + + + +
tcp_endpoint_list* grpc_server_secure_state::handshaking_tcp_endpoints
+
+ +
+
+ +
+
+ + + + +
int grpc_server_secure_state::is_shutdown
+
+ +
+
+ +
+
+ + + + +
gpr_mu grpc_server_secure_state::mu
+
+ +
+
+ +
+
+ + + + +
gpr_refcount grpc_server_secure_state::refcount
+
+ +
+
+ +
+
+ + + + +
grpc_security_connector* grpc_server_secure_state::sc
+
+ +
+
+ +
+
+ + + + +
grpc_server* grpc_server_secure_state::server
+
+ +
+
+ +
+
+ + + + +
grpc_tcp_server* grpc_server_secure_state::tcp
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structgrpc__server__security__context.html b/doc/ref/core.internal/html/structgrpc__server__security__context.html new file mode 100644 index 0000000000..645fe55c10 --- /dev/null +++ b/doc/ref/core.internal/html/structgrpc__server__security__context.html @@ -0,0 +1,122 @@ + + + + + + +GRPC Core: grpc_server_security_context Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
grpc_server_security_context Struct Reference
+
+
+ +

#include <security_context.h>

+ + + + +

+Data Fields

grpc_auth_contextauth_context
 
+

Field Documentation

+ +
+
+ + + + +
grpc_auth_context* grpc_server_security_context::auth_context
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structgrpc__service__account__credentials.html b/doc/ref/core.internal/html/structgrpc__service__account__credentials.html new file mode 100644 index 0000000000..c7143aa3fe --- /dev/null +++ b/doc/ref/core.internal/html/structgrpc__service__account__credentials.html @@ -0,0 +1,164 @@ + + + + + + +GRPC Core: grpc_service_account_credentials Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
grpc_service_account_credentials Struct Reference
+
+
+ +

#include <credentials.h>

+ + + + + + + + + + +

+Data Fields

grpc_oauth2_token_fetcher_credentials base
 
grpc_auth_json_key key
 
char * scope
 
gpr_timespec token_lifetime
 
+

Field Documentation

+ +
+
+ + + + +
grpc_oauth2_token_fetcher_credentials grpc_service_account_credentials::base
+
+ +
+
+ +
+
+ + + + +
grpc_auth_json_key grpc_service_account_credentials::key
+
+ +
+
+ +
+
+ + + + +
char* grpc_service_account_credentials::scope
+
+ +
+
+ +
+
+ + + + +
gpr_timespec grpc_service_account_credentials::token_lifetime
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structgrpc__service__account__jwt__access__credentials.html b/doc/ref/core.internal/html/structgrpc__service__account__jwt__access__credentials.html new file mode 100644 index 0000000000..5ffe194f98 --- /dev/null +++ b/doc/ref/core.internal/html/structgrpc__service__account__jwt__access__credentials.html @@ -0,0 +1,221 @@ + + + + + + +GRPC Core: grpc_service_account_jwt_access_credentials Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
grpc_service_account_jwt_access_credentials Struct Reference
+
+
+ +

#include <credentials.h>

+ + + + + + + + + + + + + + + + + + + +

+Data Fields

grpc_credentials base
 
gpr_mu cache_mu
 
struct {
   grpc_credentials_md_store *   jwt_md
 
   char *   service_url
 
   gpr_timespec   jwt_expiration
 
cached
 
grpc_auth_json_key key
 
gpr_timespec jwt_lifetime
 
+

Field Documentation

+ +
+
+ + + + +
grpc_credentials grpc_service_account_jwt_access_credentials::base
+
+ +
+
+ +
+
+ + + + +
gpr_mu grpc_service_account_jwt_access_credentials::cache_mu
+
+ +
+
+ +
+
+ + + + +
struct { ... } grpc_service_account_jwt_access_credentials::cached
+
+ +
+
+ +
+
+ + + + +
gpr_timespec grpc_service_account_jwt_access_credentials::jwt_expiration
+
+ +
+
+ +
+
+ + + + +
gpr_timespec grpc_service_account_jwt_access_credentials::jwt_lifetime
+
+ +
+
+ +
+
+ + + + +
grpc_credentials_md_store* grpc_service_account_jwt_access_credentials::jwt_md
+
+ +
+
+ +
+
+ + + + +
grpc_auth_json_key grpc_service_account_jwt_access_credentials::key
+
+ +
+
+ +
+
+ + + + +
char* grpc_service_account_jwt_access_credentials::service_url
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structgrpc__ssl__channel__security__connector.html b/doc/ref/core.internal/html/structgrpc__ssl__channel__security__connector.html new file mode 100644 index 0000000000..4705eef976 --- /dev/null +++ b/doc/ref/core.internal/html/structgrpc__ssl__channel__security__connector.html @@ -0,0 +1,176 @@ + + + + + + +GRPC Core: grpc_ssl_channel_security_connector Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
grpc_ssl_channel_security_connector Struct Reference
+
+
+ + + + + + + + + + + + +

+Data Fields

grpc_channel_security_connector base
 
tsi_ssl_handshaker_factoryhandshaker_factory
 
char * target_name
 
char * overridden_target_name
 
tsi_peer peer
 
+

Field Documentation

+ +
+
+ + + + +
grpc_channel_security_connector grpc_ssl_channel_security_connector::base
+
+ +
+
+ +
+
+ + + + +
tsi_ssl_handshaker_factory* grpc_ssl_channel_security_connector::handshaker_factory
+
+ +
+
+ +
+
+ + + + +
char* grpc_ssl_channel_security_connector::overridden_target_name
+
+ +
+
+ +
+
+ + + + +
tsi_peer grpc_ssl_channel_security_connector::peer
+
+ +
+
+ +
+
+ + + + +
char* grpc_ssl_channel_security_connector::target_name
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structgrpc__ssl__config.html b/doc/ref/core.internal/html/structgrpc__ssl__config.html new file mode 100644 index 0000000000..c4b05452f7 --- /dev/null +++ b/doc/ref/core.internal/html/structgrpc__ssl__config.html @@ -0,0 +1,192 @@ + + + + + + +GRPC Core: grpc_ssl_config Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
grpc_ssl_config Struct Reference
+
+
+ +

#include <security_connector.h>

+ + + + + + + + + + + + + + +

+Data Fields

unsigned char * pem_private_key
 
size_t pem_private_key_size
 
unsigned char * pem_cert_chain
 
size_t pem_cert_chain_size
 
unsigned char * pem_root_certs
 
size_t pem_root_certs_size
 
+

Field Documentation

+ +
+
+ + + + +
unsigned char* grpc_ssl_config::pem_cert_chain
+
+ +
+
+ +
+
+ + + + +
size_t grpc_ssl_config::pem_cert_chain_size
+
+ +
+
+ +
+
+ + + + +
unsigned char* grpc_ssl_config::pem_private_key
+
+ +
+
+ +
+
+ + + + +
size_t grpc_ssl_config::pem_private_key_size
+
+ +
+
+ +
+
+ + + + +
unsigned char* grpc_ssl_config::pem_root_certs
+
+ +
+
+ +
+
+ + + + +
size_t grpc_ssl_config::pem_root_certs_size
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structgrpc__ssl__credentials.html b/doc/ref/core.internal/html/structgrpc__ssl__credentials.html new file mode 100644 index 0000000000..dcaf74eaf8 --- /dev/null +++ b/doc/ref/core.internal/html/structgrpc__ssl__credentials.html @@ -0,0 +1,136 @@ + + + + + + +GRPC Core: grpc_ssl_credentials Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
grpc_ssl_credentials Struct Reference
+
+
+ +

#include <credentials.h>

+ + + + + + +

+Data Fields

grpc_credentials base
 
grpc_ssl_config config
 
+

Field Documentation

+ +
+
+ + + + +
grpc_credentials grpc_ssl_credentials::base
+
+ +
+
+ +
+
+ + + + +
grpc_ssl_config grpc_ssl_credentials::config
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structgrpc__ssl__pem__key__cert__pair.html b/doc/ref/core.internal/html/structgrpc__ssl__pem__key__cert__pair.html new file mode 100644 index 0000000000..7ec4275b5f --- /dev/null +++ b/doc/ref/core.internal/html/structgrpc__ssl__pem__key__cert__pair.html @@ -0,0 +1,136 @@ + + + + + + +GRPC Core: grpc_ssl_pem_key_cert_pair Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
grpc_ssl_pem_key_cert_pair Struct Reference
+
+
+ +

#include <grpc_security.h>

+ + + + + + +

+Data Fields

const char * private_key
 
const char * cert_chain
 
+

Field Documentation

+ +
+
+ + + + +
const char* grpc_ssl_pem_key_cert_pair::cert_chain
+
+ +
+
+ +
+
+ + + + +
const char* grpc_ssl_pem_key_cert_pair::private_key
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structgrpc__ssl__server__config.html b/doc/ref/core.internal/html/structgrpc__ssl__server__config.html new file mode 100644 index 0000000000..a894ee6104 --- /dev/null +++ b/doc/ref/core.internal/html/structgrpc__ssl__server__config.html @@ -0,0 +1,220 @@ + + + + + + +GRPC Core: grpc_ssl_server_config Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
grpc_ssl_server_config Struct Reference
+
+
+ +

#include <security_connector.h>

+ + + + + + + + + + + + + + + + + + +

+Data Fields

unsigned char ** pem_private_keys
 
size_t * pem_private_keys_sizes
 
unsigned char ** pem_cert_chains
 
size_t * pem_cert_chains_sizes
 
size_t num_key_cert_pairs
 
unsigned char * pem_root_certs
 
size_t pem_root_certs_size
 
int force_client_auth
 
+

Field Documentation

+ +
+
+ + + + +
int grpc_ssl_server_config::force_client_auth
+
+ +
+
+ +
+
+ + + + +
size_t grpc_ssl_server_config::num_key_cert_pairs
+
+ +
+
+ +
+
+ + + + +
unsigned char** grpc_ssl_server_config::pem_cert_chains
+
+ +
+
+ +
+
+ + + + +
size_t* grpc_ssl_server_config::pem_cert_chains_sizes
+
+ +
+
+ +
+
+ + + + +
unsigned char** grpc_ssl_server_config::pem_private_keys
+
+ +
+
+ +
+
+ + + + +
size_t* grpc_ssl_server_config::pem_private_keys_sizes
+
+ +
+
+ +
+
+ + + + +
unsigned char* grpc_ssl_server_config::pem_root_certs
+
+ +
+
+ +
+
+ + + + +
size_t grpc_ssl_server_config::pem_root_certs_size
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structgrpc__ssl__server__credentials.html b/doc/ref/core.internal/html/structgrpc__ssl__server__credentials.html new file mode 100644 index 0000000000..f4dc5855a5 --- /dev/null +++ b/doc/ref/core.internal/html/structgrpc__ssl__server__credentials.html @@ -0,0 +1,136 @@ + + + + + + +GRPC Core: grpc_ssl_server_credentials Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
grpc_ssl_server_credentials Struct Reference
+
+
+ +

#include <credentials.h>

+ + + + + + +

+Data Fields

grpc_server_credentials base
 
grpc_ssl_server_config config
 
+

Field Documentation

+ +
+
+ + + + +
grpc_server_credentials grpc_ssl_server_credentials::base
+
+ +
+
+ +
+
+ + + + +
grpc_ssl_server_config grpc_ssl_server_credentials::config
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structgrpc__ssl__server__security__connector.html b/doc/ref/core.internal/html/structgrpc__ssl__server__security__connector.html new file mode 100644 index 0000000000..9b87cc0522 --- /dev/null +++ b/doc/ref/core.internal/html/structgrpc__ssl__server__security__connector.html @@ -0,0 +1,134 @@ + + + + + + +GRPC Core: grpc_ssl_server_security_connector Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
grpc_ssl_server_security_connector Struct Reference
+
+
+ + + + + + +

+Data Fields

grpc_security_connector base
 
tsi_ssl_handshaker_factoryhandshaker_factory
 
+

Field Documentation

+ +
+
+ + + + +
grpc_security_connector grpc_ssl_server_security_connector::base
+
+ +
+
+ +
+
+ + + + +
tsi_ssl_handshaker_factory* grpc_ssl_server_security_connector::handshaker_factory
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structgrpc__stream__op.html b/doc/ref/core.internal/html/structgrpc__stream__op.html new file mode 100644 index 0000000000..0c44969902 --- /dev/null +++ b/doc/ref/core.internal/html/structgrpc__stream__op.html @@ -0,0 +1,179 @@ + + + + + + +GRPC Core: grpc_stream_op Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
grpc_stream_op Struct Reference
+
+
+ +

#include <stream_op.h>

+ + + + + + + + + + + + + +

+Data Fields

enum grpc_stream_op_code type
 
union {
   grpc_begin_message   begin_message
 
   grpc_metadata_batch   metadata
 
   gpr_slice   slice
 
data
 
+

Field Documentation

+ +
+
+ + + + +
grpc_begin_message grpc_stream_op::begin_message
+
+ +
+
+ +
+
+ + + + +
union { ... } grpc_stream_op::data
+
+ +
+
+ +
+
+ + + + +
grpc_metadata_batch grpc_stream_op::metadata
+
+ +
+
+ +
+
+ + + + +
gpr_slice grpc_stream_op::slice
+
+ +
+
+ +
+
+ + + + +
enum grpc_stream_op_code grpc_stream_op::type
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structgrpc__stream__op__buffer.html b/doc/ref/core.internal/html/structgrpc__stream__op__buffer.html new file mode 100644 index 0000000000..e4a5ba9891 --- /dev/null +++ b/doc/ref/core.internal/html/structgrpc__stream__op__buffer.html @@ -0,0 +1,169 @@ + + + + + + +GRPC Core: grpc_stream_op_buffer Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
grpc_stream_op_buffer Struct Reference
+
+
+ +

A stream op buffer is a wrapper around stream operations that is dynamically extendable. + More...

+ +

#include <stream_op.h>

+ + + + + + + + + + +

+Data Fields

grpc_stream_opops
 
size_t nops
 
size_t capacity
 
grpc_stream_op inlined_ops [4]
 
+

Detailed Description

+

A stream op buffer is a wrapper around stream operations that is dynamically extendable.

+

Field Documentation

+ +
+
+ + + + +
size_t grpc_stream_op_buffer::capacity
+
+ +
+
+ +
+
+ + + + +
grpc_stream_op grpc_stream_op_buffer::inlined_ops[4]
+
+ +
+
+ +
+
+ + + + +
size_t grpc_stream_op_buffer::nops
+
+ +
+
+ +
+
+ + + + +
grpc_stream_op* grpc_stream_op_buffer::ops
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structgrpc__subchannel.html b/doc/ref/core.internal/html/structgrpc__subchannel.html new file mode 100644 index 0000000000..5409b81e9d --- /dev/null +++ b/doc/ref/core.internal/html/structgrpc__subchannel.html @@ -0,0 +1,506 @@ + + + + + + +GRPC Core: grpc_subchannel Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
grpc_subchannel Struct Reference
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Data Fields

grpc_connectorconnector
 
const grpc_channel_filter ** filters
 non-transport related channel filters More...
 
size_t num_filters
 
grpc_channel_argsargs
 channel arguments More...
 
struct sockaddr * addr
 address to connect to More...
 
size_t addr_len
 
grpc_mdctxmdctx
 metadata context More...
 
grpc_channelmaster
 master channel - the grpc_channel instance that ultimately owns this channel_data via its channel stack. More...
 
int disconnected
 have we seen a disconnection? More...
 
grpc_connect_out_args connecting_result
 set during connection More...
 
grpc_iomgr_closure connected
 callback for connection finishing More...
 
grpc_pollset_setpollset_set
 pollset_set tracking who's interested in a connection being setup - owned by the master channel (in particular the client_channel filter there-in) More...
 
gpr_mu mu
 mutex protecting remaining elements More...
 
connectionactive
 active connection More...
 
size_t active_version
 version number for the active connection More...
 
int refs
 refcount More...
 
int connecting
 are we connecting More...
 
waiting_for_connectwaiting
 things waiting for a connection More...
 
grpc_connectivity_state_tracker state_tracker
 connectivity state tracking More...
 
gpr_timespec next_attempt
 next connect attempt time More...
 
gpr_timespec backoff_delta
 amount to backoff each failure More...
 
int have_alarm
 do we have an active alarm? More...
 
grpc_alarm alarm
 our alarm More...
 
gpr_uint32 random
 current random value More...
 
+

Field Documentation

+ +
+
+ + + + +
connection* grpc_subchannel::active
+
+ +

active connection

+ +
+
+ +
+
+ + + + +
size_t grpc_subchannel::active_version
+
+ +

version number for the active connection

+ +
+
+ +
+
+ + + + +
struct sockaddr* grpc_subchannel::addr
+
+ +

address to connect to

+ +
+
+ +
+
+ + + + +
size_t grpc_subchannel::addr_len
+
+ +
+
+ +
+
+ + + + +
grpc_alarm grpc_subchannel::alarm
+
+ +

our alarm

+ +
+
+ +
+
+ + + + +
grpc_channel_args* grpc_subchannel::args
+
+ +

channel arguments

+ +
+
+ +
+
+ + + + +
gpr_timespec grpc_subchannel::backoff_delta
+
+ +

amount to backoff each failure

+ +
+
+ +
+
+ + + + +
grpc_iomgr_closure grpc_subchannel::connected
+
+ +

callback for connection finishing

+ +
+
+ +
+
+ + + + +
int grpc_subchannel::connecting
+
+ +

are we connecting

+ +
+
+ +
+
+ + + + +
grpc_connect_out_args grpc_subchannel::connecting_result
+
+ +

set during connection

+ +
+
+ +
+
+ + + + +
grpc_connector* grpc_subchannel::connector
+
+ +
+
+ +
+
+ + + + +
int grpc_subchannel::disconnected
+
+ +

have we seen a disconnection?

+ +
+
+ +
+
+ + + + +
const grpc_channel_filter** grpc_subchannel::filters
+
+ +

non-transport related channel filters

+ +
+
+ +
+
+ + + + +
int grpc_subchannel::have_alarm
+
+ +

do we have an active alarm?

+ +
+
+ +
+
+ + + + +
grpc_channel* grpc_subchannel::master
+
+ +

master channel - the grpc_channel instance that ultimately owns this channel_data via its channel stack.

+

We occasionally use this to bump the refcount on the master channel to keep ourselves alive through an asynchronous operation.

+ +
+
+ +
+
+ + + + +
grpc_mdctx* grpc_subchannel::mdctx
+
+ +

metadata context

+ +
+
+ +
+
+ + + + +
gpr_mu grpc_subchannel::mu
+
+ +

mutex protecting remaining elements

+ +
+
+ +
+
+ + + + +
gpr_timespec grpc_subchannel::next_attempt
+
+ +

next connect attempt time

+ +
+
+ +
+
+ + + + +
size_t grpc_subchannel::num_filters
+
+ +
+
+ +
+
+ + + + +
grpc_pollset_set* grpc_subchannel::pollset_set
+
+ +

pollset_set tracking who's interested in a connection being setup - owned by the master channel (in particular the client_channel filter there-in)

+ +
+
+ +
+
+ + + + +
gpr_uint32 grpc_subchannel::random
+
+ +

current random value

+ +
+
+ +
+
+ + + + +
int grpc_subchannel::refs
+
+ +

refcount

+ +
+
+ +
+
+ + + + +
grpc_connectivity_state_tracker grpc_subchannel::state_tracker
+
+ +

connectivity state tracking

+ +
+
+ +
+
+ + + + +
waiting_for_connect* grpc_subchannel::waiting
+
+ +

things waiting for a connection

+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structgrpc__subchannel__args.html b/doc/ref/core.internal/html/structgrpc__subchannel__args.html new file mode 100644 index 0000000000..0e40995598 --- /dev/null +++ b/doc/ref/core.internal/html/structgrpc__subchannel__args.html @@ -0,0 +1,224 @@ + + + + + + +GRPC Core: grpc_subchannel_args Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
grpc_subchannel_args Struct Reference
+
+
+ +

#include <subchannel.h>

+ + + + + + + + + + + + + + + + + + + + + + +

+Data Fields

const grpc_channel_filter ** filters
 Channel filters for this channel - wrapped factories will likely want to mutate this. More...
 
size_t filter_count
 The number of filters in the above array. More...
 
const grpc_channel_argsargs
 Channel arguments to be supplied to the newly created channel. More...
 
struct sockaddr * addr
 Address to connect to. More...
 
size_t addr_len
 
grpc_mdctxmdctx
 metadata context to use More...
 
grpc_channelmaster
 master channel More...
 
+

Field Documentation

+ +
+
+ + + + +
struct sockaddr* grpc_subchannel_args::addr
+
+ +

Address to connect to.

+ +
+
+ +
+
+ + + + +
size_t grpc_subchannel_args::addr_len
+
+ +
+
+ +
+
+ + + + +
const grpc_channel_args* grpc_subchannel_args::args
+
+ +

Channel arguments to be supplied to the newly created channel.

+ +
+
+ +
+
+ + + + +
size_t grpc_subchannel_args::filter_count
+
+ +

The number of filters in the above array.

+ +
+
+ +
+
+ + + + +
const grpc_channel_filter** grpc_subchannel_args::filters
+
+ +

Channel filters for this channel - wrapped factories will likely want to mutate this.

+ +
+
+ +
+
+ + + + +
grpc_channel* grpc_subchannel_args::master
+
+ +

master channel

+ +
+
+ +
+
+ + + + +
grpc_mdctx* grpc_subchannel_args::mdctx
+
+ +

metadata context to use

+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structgrpc__subchannel__call.html b/doc/ref/core.internal/html/structgrpc__subchannel__call.html new file mode 100644 index 0000000000..a9500abe79 --- /dev/null +++ b/doc/ref/core.internal/html/structgrpc__subchannel__call.html @@ -0,0 +1,134 @@ + + + + + + +GRPC Core: grpc_subchannel_call Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
grpc_subchannel_call Struct Reference
+
+
+ + + + + + +

+Data Fields

connectionconnection
 
gpr_refcount refs
 
+

Field Documentation

+ +
+
+ + + + +
connection* grpc_subchannel_call::connection
+
+ +
+
+ +
+
+ + + + +
gpr_refcount grpc_subchannel_call::refs
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structgrpc__subchannel__factory.html b/doc/ref/core.internal/html/structgrpc__subchannel__factory.html new file mode 100644 index 0000000000..2c7a36bb51 --- /dev/null +++ b/doc/ref/core.internal/html/structgrpc__subchannel__factory.html @@ -0,0 +1,129 @@ + + + + + + +GRPC Core: grpc_subchannel_factory Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
grpc_subchannel_factory Struct Reference
+
+
+ +

Constructor for new configured channels. + More...

+ +

#include <subchannel_factory.h>

+ + + + +

+Data Fields

const
+grpc_subchannel_factory_vtable
vtable
 
+

Detailed Description

+

Constructor for new configured channels.

+

Creating decorators around this type is encouraged to adapt behavior.

+

Field Documentation

+ +
+
+ + + + +
const grpc_subchannel_factory_vtable* grpc_subchannel_factory::vtable
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structgrpc__subchannel__factory__vtable.html b/doc/ref/core.internal/html/structgrpc__subchannel__factory__vtable.html new file mode 100644 index 0000000000..09bdfb0a47 --- /dev/null +++ b/doc/ref/core.internal/html/structgrpc__subchannel__factory__vtable.html @@ -0,0 +1,150 @@ + + + + + + +GRPC Core: grpc_subchannel_factory_vtable Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
grpc_subchannel_factory_vtable Struct Reference
+
+
+ +

#include <subchannel_factory.h>

+ + + + + + + + +

+Data Fields

void(* ref )(grpc_subchannel_factory *factory)
 
void(* unref )(grpc_subchannel_factory *factory)
 
grpc_subchannel *(* create_subchannel )(grpc_subchannel_factory *factory, grpc_subchannel_args *args)
 
+

Field Documentation

+ +
+
+ + + + +
grpc_subchannel*(* grpc_subchannel_factory_vtable::create_subchannel)(grpc_subchannel_factory *factory, grpc_subchannel_args *args)
+
+ +
+
+ +
+
+ + + + +
void(* grpc_subchannel_factory_vtable::ref)(grpc_subchannel_factory *factory)
+
+ +
+
+ +
+
+ + + + +
void(* grpc_subchannel_factory_vtable::unref)(grpc_subchannel_factory *factory)
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structgrpc__time__averaged__stats.html b/doc/ref/core.internal/html/structgrpc__time__averaged__stats.html new file mode 100644 index 0000000000..561d3f886d --- /dev/null +++ b/doc/ref/core.internal/html/structgrpc__time__averaged__stats.html @@ -0,0 +1,206 @@ + + + + + + +GRPC Core: grpc_time_averaged_stats Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
grpc_time_averaged_stats Struct Reference
+
+
+ +

#include <time_averaged_stats.h>

+ + + + + + + + + + + + + + + + +

+Data Fields

double init_avg
 
double regress_weight
 
double persistence_factor
 
double batch_total_value
 
double batch_num_samples
 
double aggregate_total_weight
 
double aggregate_weighted_avg
 
+

Field Documentation

+ +
+
+ + + + +
double grpc_time_averaged_stats::aggregate_total_weight
+
+ +
+
+ +
+
+ + + + +
double grpc_time_averaged_stats::aggregate_weighted_avg
+
+ +
+
+ +
+
+ + + + +
double grpc_time_averaged_stats::batch_num_samples
+
+ +
+
+ +
+
+ + + + +
double grpc_time_averaged_stats::batch_total_value
+
+ +
+
+ +
+
+ + + + +
double grpc_time_averaged_stats::init_avg
+
+ +
+
+ +
+
+ + + + +
double grpc_time_averaged_stats::persistence_factor
+
+ +
+
+ +
+
+ + + + +
double grpc_time_averaged_stats::regress_weight
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structgrpc__transport.html b/doc/ref/core.internal/html/structgrpc__transport.html new file mode 100644 index 0000000000..5004ba1c46 --- /dev/null +++ b/doc/ref/core.internal/html/structgrpc__transport.html @@ -0,0 +1,122 @@ + + + + + + +GRPC Core: grpc_transport Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
grpc_transport Struct Reference
+
+
+ +

#include <transport_impl.h>

+ + + + +

+Data Fields

const grpc_transport_vtablevtable
 
+

Field Documentation

+ +
+
+ + + + +
const grpc_transport_vtable* grpc_transport::vtable
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structgrpc__transport__op.html b/doc/ref/core.internal/html/structgrpc__transport__op.html new file mode 100644 index 0000000000..9f10beac66 --- /dev/null +++ b/doc/ref/core.internal/html/structgrpc__transport__op.html @@ -0,0 +1,308 @@ + + + + + + +GRPC Core: grpc_transport_op Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
grpc_transport_op Struct Reference
+
+
+ +

Transport op: a set of operations to perform on a transport as a whole. + More...

+ +

#include <transport.h>

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Data Fields

grpc_iomgr_closureon_consumed
 called when processing of this op is done More...
 
grpc_iomgr_closureon_connectivity_state_change
 connectivity monitoring More...
 
grpc_connectivity_stateconnectivity_state
 
int disconnect
 should the transport be disconnected More...
 
int send_goaway
 should we send a goaway? after a goaway is sent, once there are no more active calls on the transport, the transport should disconnect More...
 
grpc_status_code goaway_status
 what should the goaway contain? More...
 
gpr_slicegoaway_message
 
void(* set_accept_stream )(void *user_data, grpc_transport *transport, const void *server_data)
 set the callback for accepting new streams; this is a permanent callback, unlike the other one-shot closures More...
 
void * set_accept_stream_user_data
 
grpc_pollsetbind_pollset
 add this transport to a pollset More...
 
grpc_pollset_setbind_pollset_set
 add this transport to a pollset_set More...
 
grpc_iomgr_closuresend_ping
 send a ping, call this back if not NULL More...
 
+

Detailed Description

+

Transport op: a set of operations to perform on a transport as a whole.

+

Field Documentation

+ +
+
+ + + + +
grpc_pollset* grpc_transport_op::bind_pollset
+
+ +

add this transport to a pollset

+ +
+
+ +
+
+ + + + +
grpc_pollset_set* grpc_transport_op::bind_pollset_set
+
+ +

add this transport to a pollset_set

+ +
+
+ +
+
+ + + + +
grpc_connectivity_state* grpc_transport_op::connectivity_state
+
+ +
+
+ +
+
+ + + + +
int grpc_transport_op::disconnect
+
+ +

should the transport be disconnected

+ +
+
+ +
+
+ + + + +
gpr_slice* grpc_transport_op::goaway_message
+
+ +
+
+ +
+
+ + + + +
grpc_status_code grpc_transport_op::goaway_status
+
+ +

what should the goaway contain?

+ +
+
+ +
+
+ + + + +
grpc_iomgr_closure* grpc_transport_op::on_connectivity_state_change
+
+ +

connectivity monitoring

+ +
+
+ +
+
+ + + + +
grpc_iomgr_closure* grpc_transport_op::on_consumed
+
+ +

called when processing of this op is done

+ +
+
+ +
+
+ + + + +
int grpc_transport_op::send_goaway
+
+ +

should we send a goaway? after a goaway is sent, once there are no more active calls on the transport, the transport should disconnect

+ +
+
+ +
+
+ + + + +
grpc_iomgr_closure* grpc_transport_op::send_ping
+
+ +

send a ping, call this back if not NULL

+ +
+
+ +
+
+ + + + +
void(* grpc_transport_op::set_accept_stream)(void *user_data, grpc_transport *transport, const void *server_data)
+
+ +

set the callback for accepting new streams; this is a permanent callback, unlike the other one-shot closures

+ +
+
+ +
+
+ + + + +
void* grpc_transport_op::set_accept_stream_user_data
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structgrpc__transport__stream__op.html b/doc/ref/core.internal/html/structgrpc__transport__stream__op.html new file mode 100644 index 0000000000..434a740f37 --- /dev/null +++ b/doc/ref/core.internal/html/structgrpc__transport__stream__op.html @@ -0,0 +1,266 @@ + + + + + + +GRPC Core: grpc_transport_stream_op Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
grpc_transport_stream_op Struct Reference
+
+
+ +

#include <transport.h>

+ + + + + + + + + + + + + + + + + + + + + + + + + +

+Data Fields

grpc_iomgr_closureon_consumed
 
grpc_stream_op_buffersend_ops
 
int is_last_send
 
grpc_iomgr_closureon_done_send
 
grpc_stream_op_bufferrecv_ops
 
grpc_stream_staterecv_state
 
gpr_uint32 max_recv_bytes
 The number of bytes this peer is currently prepared to receive. More...
 
grpc_iomgr_closureon_done_recv
 
grpc_pollsetbind_pollset
 
grpc_status_code cancel_with_status
 
grpc_call_context_elementcontext
 
+

Field Documentation

+ +
+
+ + + + +
grpc_pollset* grpc_transport_stream_op::bind_pollset
+
+ +
+
+ +
+
+ + + + +
grpc_status_code grpc_transport_stream_op::cancel_with_status
+
+ +
+
+ +
+
+ + + + +
grpc_call_context_element* grpc_transport_stream_op::context
+
+ +
+
+ +
+
+ + + + +
int grpc_transport_stream_op::is_last_send
+
+ +
+
+ +
+
+ + + + +
gpr_uint32 grpc_transport_stream_op::max_recv_bytes
+
+ +

The number of bytes this peer is currently prepared to receive.

+

These bytes will be eventually used to replenish per-stream flow control windows.

+ +
+
+ +
+
+ + + + +
grpc_iomgr_closure* grpc_transport_stream_op::on_consumed
+
+ +
+
+ +
+
+ + + + +
grpc_iomgr_closure* grpc_transport_stream_op::on_done_recv
+
+ +
+
+ +
+
+ + + + +
grpc_iomgr_closure* grpc_transport_stream_op::on_done_send
+
+ +
+
+ +
+
+ + + + +
grpc_stream_op_buffer* grpc_transport_stream_op::recv_ops
+
+ +
+
+ +
+
+ + + + +
grpc_stream_state* grpc_transport_stream_op::recv_state
+
+ +
+
+ +
+
+ + + + +
grpc_stream_op_buffer* grpc_transport_stream_op::send_ops
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structgrpc__transport__vtable.html b/doc/ref/core.internal/html/structgrpc__transport__vtable.html new file mode 100644 index 0000000000..be4377b44c --- /dev/null +++ b/doc/ref/core.internal/html/structgrpc__transport__vtable.html @@ -0,0 +1,206 @@ + + + + + + +GRPC Core: grpc_transport_vtable Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
grpc_transport_vtable Struct Reference
+
+
+ +

#include <transport_impl.h>

+ + + + + + + + + + + + + + + + +

+Data Fields

size_t sizeof_stream
 
int(* init_stream )(grpc_transport *self, grpc_stream *stream, const void *server_data, grpc_transport_stream_op *initial_op)
 
void(* perform_stream_op )(grpc_transport *self, grpc_stream *stream, grpc_transport_stream_op *op)
 
void(* perform_op )(grpc_transport *self, grpc_transport_op *op)
 
void(* destroy_stream )(grpc_transport *self, grpc_stream *stream)
 
void(* destroy )(grpc_transport *self)
 
char *(* get_peer )(grpc_transport *self)
 
+

Field Documentation

+ +
+
+ + + + +
void(* grpc_transport_vtable::destroy)(grpc_transport *self)
+
+ +
+
+ +
+
+ + + + +
void(* grpc_transport_vtable::destroy_stream)(grpc_transport *self, grpc_stream *stream)
+
+ +
+
+ +
+
+ + + + +
char*(* grpc_transport_vtable::get_peer)(grpc_transport *self)
+
+ +
+
+ +
+
+ + + + +
int(* grpc_transport_vtable::init_stream)(grpc_transport *self, grpc_stream *stream, const void *server_data, grpc_transport_stream_op *initial_op)
+
+ +
+
+ +
+
+ + + + +
void(* grpc_transport_vtable::perform_op)(grpc_transport *self, grpc_transport_op *op)
+
+ +
+
+ +
+
+ + + + +
void(* grpc_transport_vtable::perform_stream_op)(grpc_transport *self, grpc_stream *stream, grpc_transport_stream_op *op)
+
+ +
+
+ +
+
+ + + + +
size_t grpc_transport_vtable::sizeof_stream
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structgrpc__uri.html b/doc/ref/core.internal/html/structgrpc__uri.html new file mode 100644 index 0000000000..7448d6363d --- /dev/null +++ b/doc/ref/core.internal/html/structgrpc__uri.html @@ -0,0 +1,150 @@ + + + + + + +GRPC Core: grpc_uri Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
grpc_uri Struct Reference
+
+
+ +

#include <uri_parser.h>

+ + + + + + + + +

+Data Fields

char * scheme
 
char * authority
 
char * path
 
+

Field Documentation

+ +
+
+ + + + +
char* grpc_uri::authority
+
+ +
+
+ +
+
+ + + + +
char* grpc_uri::path
+
+ +
+
+ +
+
+ + + + +
char* grpc_uri::scheme
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structgrpc__wakeup__fd__info.html b/doc/ref/core.internal/html/structgrpc__wakeup__fd__info.html new file mode 100644 index 0000000000..7cc9508425 --- /dev/null +++ b/doc/ref/core.internal/html/structgrpc__wakeup__fd__info.html @@ -0,0 +1,136 @@ + + + + + + +GRPC Core: grpc_wakeup_fd_info Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
grpc_wakeup_fd_info Struct Reference
+
+
+ +

#include <wakeup_fd_posix.h>

+ + + + + + +

+Data Fields

int read_fd
 
int write_fd
 
+

Field Documentation

+ +
+
+ + + + +
int grpc_wakeup_fd_info::read_fd
+
+ +
+
+ +
+
+ + + + +
int grpc_wakeup_fd_info::write_fd
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structgrpc__wakeup__fd__vtable.html b/doc/ref/core.internal/html/structgrpc__wakeup__fd__vtable.html new file mode 100644 index 0000000000..0581fc37fa --- /dev/null +++ b/doc/ref/core.internal/html/structgrpc__wakeup__fd__vtable.html @@ -0,0 +1,178 @@ + + + + + + +GRPC Core: grpc_wakeup_fd_vtable Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
grpc_wakeup_fd_vtable Struct Reference
+
+
+ +

#include <wakeup_fd_posix.h>

+ + + + + + + + + + + + +

+Data Fields

void(* create )(grpc_wakeup_fd_info *fd_info)
 
void(* consume )(grpc_wakeup_fd_info *fd_info)
 
void(* wakeup )(grpc_wakeup_fd_info *fd_info)
 
void(* destroy )(grpc_wakeup_fd_info *fd_info)
 
int(* check_availability )(void)
 
+

Field Documentation

+ +
+
+ + + + +
int(* grpc_wakeup_fd_vtable::check_availability)(void)
+
+ +
+
+ +
+
+ + + + +
void(* grpc_wakeup_fd_vtable::consume)(grpc_wakeup_fd_info *fd_info)
+
+ +
+
+ +
+
+ + + + +
void(* grpc_wakeup_fd_vtable::create)(grpc_wakeup_fd_info *fd_info)
+
+ +
+
+ +
+
+ + + + +
void(* grpc_wakeup_fd_vtable::destroy)(grpc_wakeup_fd_info *fd_info)
+
+ +
+
+ +
+
+ + + + +
void(* grpc_wakeup_fd_vtable::wakeup)(grpc_wakeup_fd_info *fd_info)
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structgrpc__winsocket.html b/doc/ref/core.internal/html/structgrpc__winsocket.html new file mode 100644 index 0000000000..9893ee6f4c --- /dev/null +++ b/doc/ref/core.internal/html/structgrpc__winsocket.html @@ -0,0 +1,220 @@ + + + + + + +GRPC Core: grpc_winsocket Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
grpc_winsocket Struct Reference
+
+
+ +

#include <socket_windows.h>

+ + + + + + + + + + + + + + + + + + +

+Data Fields

SOCKET socket
 
grpc_winsocket_callback_info write_info
 
grpc_winsocket_callback_info read_info
 
gpr_mu state_mu
 
int added_to_iocp
 
int orphan
 
grpc_iomgr_closure shutdown_closure
 
grpc_iomgr_object iomgr_object
 
+

Field Documentation

+ +
+
+ + + + +
int grpc_winsocket::added_to_iocp
+
+ +
+
+ +
+
+ + + + +
grpc_iomgr_object grpc_winsocket::iomgr_object
+
+ +
+
+ +
+
+ + + + +
int grpc_winsocket::orphan
+
+ +
+
+ +
+
+ + + + +
grpc_winsocket_callback_info grpc_winsocket::read_info
+
+ +
+
+ +
+
+ + + + +
grpc_iomgr_closure grpc_winsocket::shutdown_closure
+
+ +
+
+ +
+
+ + + + +
SOCKET grpc_winsocket::socket
+
+ +
+
+ +
+
+ + + + +
gpr_mu grpc_winsocket::state_mu
+
+ +
+
+ +
+
+ + + + +
grpc_winsocket_callback_info grpc_winsocket::write_info
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structgrpc__winsocket__callback__info.html b/doc/ref/core.internal/html/structgrpc__winsocket__callback__info.html new file mode 100644 index 0000000000..37d596964f --- /dev/null +++ b/doc/ref/core.internal/html/structgrpc__winsocket__callback__info.html @@ -0,0 +1,206 @@ + + + + + + +GRPC Core: grpc_winsocket_callback_info Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
grpc_winsocket_callback_info Struct Reference
+
+
+ +

#include <socket_windows.h>

+ + + + + + + + + + + + + + + + +

+Data Fields

OVERLAPPED overlapped
 
void(* cb )(void *opaque, int success)
 
void * opaque
 
int has_pending_iocp
 
DWORD bytes_transfered
 
int wsa_error
 
int outstanding
 
+

Field Documentation

+ +
+
+ + + + +
DWORD grpc_winsocket_callback_info::bytes_transfered
+
+ +
+
+ +
+
+ + + + +
void(* grpc_winsocket_callback_info::cb)(void *opaque, int success)
+
+ +
+
+ +
+
+ + + + +
int grpc_winsocket_callback_info::has_pending_iocp
+
+ +
+
+ +
+
+ + + + +
void* grpc_winsocket_callback_info::opaque
+
+ +
+
+ +
+
+ + + + +
int grpc_winsocket_callback_info::outstanding
+
+ +
+
+ +
+
+ + + + +
OVERLAPPED grpc_winsocket_callback_info::overlapped
+
+ +
+
+ +
+
+ + + + +
int grpc_winsocket_callback_info::wsa_error
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structhuff__out.html b/doc/ref/core.internal/html/structhuff__out.html new file mode 100644 index 0000000000..3db848fde3 --- /dev/null +++ b/doc/ref/core.internal/html/structhuff__out.html @@ -0,0 +1,148 @@ + + + + + + +GRPC Core: huff_out Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
huff_out Struct Reference
+
+
+ + + + + + + + +

+Data Fields

gpr_uint32 temp
 
gpr_uint32 temp_length
 
gpr_uint8out
 
+

Field Documentation

+ +
+
+ + + + +
gpr_uint8* huff_out::out
+
+ +
+
+ +
+
+ + + + +
gpr_uint32 huff_out::temp
+
+ +
+
+ +
+
+ + + + +
gpr_uint32 huff_out::temp_length
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structinternal__metadata.html b/doc/ref/core.internal/html/structinternal__metadata.html new file mode 100644 index 0000000000..12fb76c37c --- /dev/null +++ b/doc/ref/core.internal/html/structinternal__metadata.html @@ -0,0 +1,218 @@ + + + + + + +GRPC Core: internal_metadata Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
internal_metadata Struct Reference
+
+
+ + + + + + + + + + + + + + + + + + +

+Data Fields

internal_stringkey
 
internal_stringvalue
 
gpr_atm refcnt
 
gpr_mu mu_user_data
 
void * user_data
 
void(* destroy_user_data )(void *user_data)
 
grpc_mdctxcontext
 
struct internal_metadatabucket_next
 
+

Field Documentation

+ +
+
+ + + + +
struct internal_metadata* internal_metadata::bucket_next
+
+ +
+
+ +
+
+ + + + +
grpc_mdctx* internal_metadata::context
+
+ +
+
+ +
+
+ + + + +
void(* internal_metadata::destroy_user_data)(void *user_data)
+
+ +
+
+ +
+
+ + + + +
internal_string* internal_metadata::key
+
+ +
+
+ +
+
+ + + + +
gpr_mu internal_metadata::mu_user_data
+
+ +
+
+ +
+
+ + + + +
gpr_atm internal_metadata::refcnt
+
+ +
+
+ +
+
+ + + + +
void* internal_metadata::user_data
+
+ +
+
+ +
+
+ + + + +
internal_string* internal_metadata::value
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structinternal__request.html b/doc/ref/core.internal/html/structinternal__request.html new file mode 100644 index 0000000000..d5d417ca74 --- /dev/null +++ b/doc/ref/core.internal/html/structinternal__request.html @@ -0,0 +1,302 @@ + + + + + + +GRPC Core: internal_request Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
internal_request Struct Reference
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Data Fields

gpr_slice request_text
 
grpc_httpcli_parser parser
 
grpc_resolved_addressesaddresses
 
size_t next_address
 
grpc_endpointep
 
char * host
 
gpr_timespec deadline
 
int have_read_byte
 
int use_ssl
 
grpc_httpcli_response_cb on_response
 
void * user_data
 
grpc_httpcli_contextcontext
 
grpc_pollsetpollset
 
grpc_iomgr_object iomgr_obj
 
+

Field Documentation

+ +
+
+ + + + +
grpc_resolved_addresses* internal_request::addresses
+
+ +
+
+ +
+
+ + + + +
grpc_httpcli_context* internal_request::context
+
+ +
+
+ +
+
+ + + + +
gpr_timespec internal_request::deadline
+
+ +
+
+ +
+
+ + + + +
grpc_endpoint* internal_request::ep
+
+ +
+
+ +
+
+ + + + +
int internal_request::have_read_byte
+
+ +
+
+ +
+
+ + + + +
char* internal_request::host
+
+ +
+
+ +
+
+ + + + +
grpc_iomgr_object internal_request::iomgr_obj
+
+ +
+
+ +
+
+ + + + +
size_t internal_request::next_address
+
+ +
+
+ +
+
+ + + + +
grpc_httpcli_response_cb internal_request::on_response
+
+ +
+
+ +
+
+ + + + +
grpc_httpcli_parser internal_request::parser
+
+ +
+
+ +
+
+ + + + +
grpc_pollset* internal_request::pollset
+
+ +
+
+ +
+
+ + + + +
gpr_slice internal_request::request_text
+
+ +
+
+ +
+
+ + + + +
int internal_request::use_ssl
+
+ +
+
+ +
+
+ + + + +
void* internal_request::user_data
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structinternal__string.html b/doc/ref/core.internal/html/structinternal__string.html new file mode 100644 index 0000000000..a339d58329 --- /dev/null +++ b/doc/ref/core.internal/html/structinternal__string.html @@ -0,0 +1,218 @@ + + + + + + +GRPC Core: internal_string Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
internal_string Struct Reference
+
+
+ + + + + + + + + + + + + + + + + + +

+Data Fields

gpr_slice slice
 
gpr_uint32 hash
 
gpr_uint32 refs
 
gpr_uint8 has_base64_and_huffman_encoded
 
gpr_slice_refcount refcount
 
gpr_slice base64_and_huffman
 
grpc_mdctxcontext
 
struct internal_stringbucket_next
 
+

Field Documentation

+ +
+
+ + + + +
gpr_slice internal_string::base64_and_huffman
+
+ +
+
+ +
+
+ + + + +
struct internal_string* internal_string::bucket_next
+
+ +
+
+ +
+
+ + + + +
grpc_mdctx* internal_string::context
+
+ +
+
+ +
+
+ + + + +
gpr_uint8 internal_string::has_base64_and_huffman_encoded
+
+ +
+
+ +
+
+ + + + +
gpr_uint32 internal_string::hash
+
+ +
+
+ +
+
+ + + + +
gpr_slice_refcount internal_string::refcount
+
+ +
+
+ +
+
+ + + + +
gpr_uint32 internal_string::refs
+
+ +
+
+ +
+
+ + + + +
gpr_slice internal_string::slice
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structjose__header.html b/doc/ref/core.internal/html/structjose__header.html new file mode 100644 index 0000000000..c2919ac100 --- /dev/null +++ b/doc/ref/core.internal/html/structjose__header.html @@ -0,0 +1,162 @@ + + + + + + +GRPC Core: jose_header Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
jose_header Struct Reference
+
+
+ + + + + + + + + + +

+Data Fields

const char * alg
 
const char * kid
 
const char * typ
 
gpr_slice buffer
 
+

Field Documentation

+ +
+
+ + + + +
const char* jose_header::alg
+
+ +
+
+ +
+
+ + + + +
gpr_slice jose_header::buffer
+
+ +
+
+ +
+
+ + + + +
const char* jose_header::kid
+
+ +
+
+ +
+
+ + + + +
const char* jose_header::typ
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structjson__reader__userdata.html b/doc/ref/core.internal/html/structjson__reader__userdata.html new file mode 100644 index 0000000000..6c2f192cb7 --- /dev/null +++ b/doc/ref/core.internal/html/structjson__reader__userdata.html @@ -0,0 +1,218 @@ + + + + + + +GRPC Core: json_reader_userdata Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
json_reader_userdata Struct Reference
+
+
+ + + + + + + + + + + + + + + + + + +

+Data Fields

grpc_jsontop
 
grpc_jsoncurrent_container
 
grpc_jsoncurrent_value
 
gpr_uint8input
 
gpr_uint8key
 
gpr_uint8string
 
gpr_uint8string_ptr
 
size_t remaining_input
 
+

Field Documentation

+ +
+
+ + + + +
grpc_json* json_reader_userdata::current_container
+
+ +
+
+ +
+
+ + + + +
grpc_json* json_reader_userdata::current_value
+
+ +
+
+ +
+
+ + + + +
gpr_uint8* json_reader_userdata::input
+
+ +
+
+ +
+
+ + + + +
gpr_uint8* json_reader_userdata::key
+
+ +
+
+ +
+
+ + + + +
size_t json_reader_userdata::remaining_input
+
+ +
+
+ +
+
+ + + + +
gpr_uint8* json_reader_userdata::string
+
+ +
+
+ +
+
+ + + + +
gpr_uint8* json_reader_userdata::string_ptr
+
+ +
+
+ +
+
+ + + + +
grpc_json* json_reader_userdata::top
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structjson__writer__userdata.html b/doc/ref/core.internal/html/structjson__writer__userdata.html new file mode 100644 index 0000000000..5acdc36318 --- /dev/null +++ b/doc/ref/core.internal/html/structjson__writer__userdata.html @@ -0,0 +1,162 @@ + + + + + + +GRPC Core: json_writer_userdata Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
json_writer_userdata Struct Reference
+
+
+ + + + + + + + + + +

+Data Fields

char * output
 
size_t free_space
 
size_t string_len
 
size_t allocated
 
+

Field Documentation

+ +
+
+ + + + +
size_t json_writer_userdata::allocated
+
+ +
+
+ +
+
+ + + + +
size_t json_writer_userdata::free_space
+
+ +
+
+ +
+
+ + + + +
char* json_writer_userdata::output
+
+ +
+
+ +
+
+ + + + +
size_t json_writer_userdata::string_len
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structlb__policy__connectivity__watcher.html b/doc/ref/core.internal/html/structlb__policy__connectivity__watcher.html new file mode 100644 index 0000000000..df0f9c8c2b --- /dev/null +++ b/doc/ref/core.internal/html/structlb__policy__connectivity__watcher.html @@ -0,0 +1,168 @@ + + + + + + +GRPC Core: lb_policy_connectivity_watcher Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
lb_policy_connectivity_watcher Struct Reference
+
+
+ +

We create one watcher for each new lb_policy that is returned from a resolver, to watch for state changes from the lb_policy. + More...

+ + + + + + + + + + +

+Data Fields

channel_datachand
 
grpc_iomgr_closure on_changed
 
grpc_connectivity_state state
 
grpc_lb_policylb_policy
 
+

Detailed Description

+

We create one watcher for each new lb_policy that is returned from a resolver, to watch for state changes from the lb_policy.

+

When a state change is seen, we update the channel, and create a new watcher

+

Field Documentation

+ +
+
+ + + + +
channel_data* lb_policy_connectivity_watcher::chand
+
+ +
+
+ +
+
+ + + + +
grpc_lb_policy* lb_policy_connectivity_watcher::lb_policy
+
+ +
+
+ +
+
+ + + + +
grpc_iomgr_closure lb_policy_connectivity_watcher::on_changed
+
+ +
+
+ +
+
+ + + + +
grpc_connectivity_state lb_policy_connectivity_watcher::state
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structlistener.html b/doc/ref/core.internal/html/structlistener.html new file mode 100644 index 0000000000..95e259cca8 --- /dev/null +++ b/doc/ref/core.internal/html/structlistener.html @@ -0,0 +1,162 @@ + + + + + + +GRPC Core: listener Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
listener Struct Reference
+
+
+ + + + + + + + + + +

+Data Fields

void * arg
 
void(* start )(grpc_server *server, void *arg, grpc_pollset **pollsets, size_t pollset_count)
 
void(* destroy )(grpc_server *server, void *arg)
 
struct listenernext
 
+

Field Documentation

+ +
+
+ + + + +
void* listener::arg
+
+ +
+
+ +
+
+ + + + +
void(* listener::destroy)(grpc_server *server, void *arg)
+
+ +
+
+ +
+
+ + + + +
struct listener* listener::next
+
+ +
+
+ +
+
+ + + + +
void(* listener::start)(grpc_server *server, void *arg, grpc_pollset **pollsets, size_t pollset_count)
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structlockfree__node__contents.html b/doc/ref/core.internal/html/structlockfree__node__contents.html new file mode 100644 index 0000000000..454dba3939 --- /dev/null +++ b/doc/ref/core.internal/html/structlockfree__node__contents.html @@ -0,0 +1,120 @@ + + + + + + +GRPC Core: lockfree_node_contents Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
lockfree_node_contents Struct Reference
+
+
+ + + + +

+Data Fields

gpr_uint16 index
 
+

Field Documentation

+ +
+
+ + + + +
gpr_uint16 lockfree_node_contents::index
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structmalloc__refcount.html b/doc/ref/core.internal/html/structmalloc__refcount.html new file mode 100644 index 0000000000..1d18788f63 --- /dev/null +++ b/doc/ref/core.internal/html/structmalloc__refcount.html @@ -0,0 +1,134 @@ + + + + + + +GRPC Core: malloc_refcount Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
malloc_refcount Struct Reference
+
+
+ + + + + + +

+Data Fields

gpr_slice_refcount base
 
gpr_refcount refs
 
+

Field Documentation

+ +
+
+ + + + +
gpr_slice_refcount malloc_refcount::base
+
+ +
+
+ +
+
+ + + + +
gpr_refcount malloc_refcount::refs
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structmerge__args__factory.html b/doc/ref/core.internal/html/structmerge__args__factory.html new file mode 100644 index 0000000000..0d60cc9321 --- /dev/null +++ b/doc/ref/core.internal/html/structmerge__args__factory.html @@ -0,0 +1,162 @@ + + + + + + +GRPC Core: merge_args_factory Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
merge_args_factory Struct Reference
+
+
+ + + + + + + + + + +

+Data Fields

grpc_subchannel_factory base
 
gpr_refcount refs
 
grpc_subchannel_factorywrapped
 
grpc_channel_argsmerge_args
 
+

Field Documentation

+ +
+
+ + + + +
grpc_subchannel_factory merge_args_factory::base
+
+ +
+
+ +
+
+ + + + +
grpc_channel_args* merge_args_factory::merge_args
+
+ +
+
+ +
+
+ + + + +
gpr_refcount merge_args_factory::refs
+
+ +
+
+ +
+
+ + + + +
grpc_subchannel_factory* merge_args_factory::wrapped
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structnew__slice__refcount.html b/doc/ref/core.internal/html/structnew__slice__refcount.html new file mode 100644 index 0000000000..0d35e8644b --- /dev/null +++ b/doc/ref/core.internal/html/structnew__slice__refcount.html @@ -0,0 +1,162 @@ + + + + + + +GRPC Core: new_slice_refcount Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
new_slice_refcount Struct Reference
+
+
+ + + + + + + + + + +

+Data Fields

gpr_slice_refcount rc
 
gpr_refcount refs
 
void(* user_destroy )(void *)
 
void * user_data
 
+

Field Documentation

+ +
+
+ + + + +
gpr_slice_refcount new_slice_refcount::rc
+
+ +
+
+ +
+
+ + + + +
gpr_refcount new_slice_refcount::refs
+
+ +
+
+ +
+
+ + + + +
void* new_slice_refcount::user_data
+
+ +
+
+ +
+
+ + + + +
void(* new_slice_refcount::user_destroy)(void *)
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structnew__with__len__slice__refcount.html b/doc/ref/core.internal/html/structnew__with__len__slice__refcount.html new file mode 100644 index 0000000000..e676341e81 --- /dev/null +++ b/doc/ref/core.internal/html/structnew__with__len__slice__refcount.html @@ -0,0 +1,176 @@ + + + + + + +GRPC Core: new_with_len_slice_refcount Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
new_with_len_slice_refcount Struct Reference
+
+
+ + + + + + + + + + + + +

+Data Fields

gpr_slice_refcount rc
 
gpr_refcount refs
 
void * user_data
 
size_t user_length
 
void(* user_destroy )(void *, size_t)
 
+

Field Documentation

+ +
+
+ + + + +
gpr_slice_refcount new_with_len_slice_refcount::rc
+
+ +
+
+ +
+
+ + + + +
gpr_refcount new_with_len_slice_refcount::refs
+
+ +
+
+ +
+
+ + + + +
void* new_with_len_slice_refcount::user_data
+
+ +
+
+ +
+
+ + + + +
void(* new_with_len_slice_refcount::user_destroy)(void *, size_t)
+
+ +
+
+ +
+
+ + + + +
size_t new_with_len_slice_refcount::user_length
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structpending__pick.html b/doc/ref/core.internal/html/structpending__pick.html new file mode 100644 index 0000000000..5afddd0782 --- /dev/null +++ b/doc/ref/core.internal/html/structpending__pick.html @@ -0,0 +1,162 @@ + + + + + + +GRPC Core: pending_pick Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
pending_pick Struct Reference
+
+
+ + + + + + + + + + +

+Data Fields

struct pending_picknext
 
grpc_pollsetpollset
 
grpc_subchannel ** target
 
grpc_iomgr_closureon_complete
 
+

Field Documentation

+ +
+
+ + + + +
struct pending_pick* pending_pick::next
+
+ +
+
+ +
+
+ + + + +
grpc_iomgr_closure* pending_pick::on_complete
+
+ +
+
+ +
+
+ + + + +
grpc_pollset* pending_pick::pollset
+
+ +
+
+ +
+
+ + + + +
grpc_subchannel** pending_pick::target
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structpick__first__lb__policy.html b/doc/ref/core.internal/html/structpick__first__lb__policy.html new file mode 100644 index 0000000000..d838ab49db --- /dev/null +++ b/doc/ref/core.internal/html/structpick__first__lb__policy.html @@ -0,0 +1,304 @@ + + + + + + +GRPC Core: pick_first_lb_policy Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
pick_first_lb_policy Struct Reference
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Data Fields

grpc_lb_policy base
 base policy: must be first More...
 
grpc_subchannel ** subchannels
 all our subchannels More...
 
size_t num_subchannels
 
grpc_iomgr_closure connectivity_changed
 
gpr_mu mu
 mutex protecting remaining members More...
 
grpc_subchannelselected
 the selected channel TODO(ctiller): this should be atomically set so we don't need to take a mutex in the common case More...
 
int started_picking
 have we started picking? More...
 
int shutdown
 are we shut down? More...
 
size_t checking_subchannel
 which subchannel are we watching? More...
 
grpc_connectivity_state checking_connectivity
 what is the connectivity of that channel? More...
 
pending_pickpending_picks
 list of picks that are waiting on connectivity More...
 
grpc_connectivity_state_tracker state_tracker
 our connectivity state tracker More...
 
+

Field Documentation

+ +
+
+ + + + +
grpc_lb_policy pick_first_lb_policy::base
+
+ +

base policy: must be first

+ +
+
+ +
+
+ + + + +
grpc_connectivity_state pick_first_lb_policy::checking_connectivity
+
+ +

what is the connectivity of that channel?

+ +
+
+ +
+
+ + + + +
size_t pick_first_lb_policy::checking_subchannel
+
+ +

which subchannel are we watching?

+ +
+
+ +
+
+ + + + +
grpc_iomgr_closure pick_first_lb_policy::connectivity_changed
+
+ +
+
+ +
+
+ + + + +
gpr_mu pick_first_lb_policy::mu
+
+ +

mutex protecting remaining members

+ +
+
+ +
+
+ + + + +
size_t pick_first_lb_policy::num_subchannels
+
+ +
+
+ +
+
+ + + + +
pending_pick* pick_first_lb_policy::pending_picks
+
+ +

list of picks that are waiting on connectivity

+ +
+
+ +
+
+ + + + +
grpc_subchannel* pick_first_lb_policy::selected
+
+ +

the selected channel TODO(ctiller): this should be atomically set so we don't need to take a mutex in the common case

+ +
+
+ +
+
+ + + + +
int pick_first_lb_policy::shutdown
+
+ +

are we shut down?

+ +
+
+ +
+
+ + + + +
int pick_first_lb_policy::started_picking
+
+ +

have we started picking?

+ +
+
+ +
+
+ + + + +
grpc_connectivity_state_tracker pick_first_lb_policy::state_tracker
+
+ +

our connectivity state tracker

+ +
+
+ +
+
+ + + + +
grpc_subchannel** pick_first_lb_policy::subchannels
+
+ +

all our subchannels

+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structreceived__status.html b/doc/ref/core.internal/html/structreceived__status.html new file mode 100644 index 0000000000..cf4853e9e9 --- /dev/null +++ b/doc/ref/core.internal/html/structreceived__status.html @@ -0,0 +1,148 @@ + + + + + + +GRPC Core: received_status Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
received_status Struct Reference
+
+
+ + + + + + + + +

+Data Fields

gpr_uint8 is_set
 
grpc_status_code code
 
grpc_mdstrdetails
 
+

Field Documentation

+ +
+
+ + + + +
grpc_status_code received_status::code
+
+ +
+
+ +
+
+ + + + +
grpc_mdstr* received_status::details
+
+ +
+
+ +
+
+ + + + +
gpr_uint8 received_status::is_set
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structregistered__call.html b/doc/ref/core.internal/html/structregistered__call.html new file mode 100644 index 0000000000..b5c421dfb4 --- /dev/null +++ b/doc/ref/core.internal/html/structregistered__call.html @@ -0,0 +1,148 @@ + + + + + + +GRPC Core: registered_call Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
registered_call Struct Reference
+
+
+ + + + + + + + +

+Data Fields

grpc_mdelempath
 
grpc_mdelemauthority
 
struct registered_callnext
 
+

Field Documentation

+ +
+
+ + + + +
grpc_mdelem* registered_call::authority
+
+ +
+
+ +
+
+ + + + +
struct registered_call* registered_call::next
+
+ +
+
+ +
+
+ + + + +
grpc_mdelem* registered_call::path
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structregistered__method.html b/doc/ref/core.internal/html/structregistered__method.html new file mode 100644 index 0000000000..021c470f86 --- /dev/null +++ b/doc/ref/core.internal/html/structregistered__method.html @@ -0,0 +1,162 @@ + + + + + + +GRPC Core: registered_method Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
registered_method Struct Reference
+
+
+ + + + + + + + + + +

+Data Fields

char * method
 
char * host
 
request_matcher request_matcher
 
registered_methodnext
 
+

Field Documentation

+ +
+
+ + + + +
char* registered_method::host
+
+ +
+
+ +
+
+ + + + +
char* registered_method::method
+
+ +
+
+ +
+
+ + + + +
registered_method* registered_method::next
+
+ +
+
+ +
+
+ + + + +
request_matcher registered_method::request_matcher
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structregistered__resolver.html b/doc/ref/core.internal/html/structregistered__resolver.html new file mode 100644 index 0000000000..1a941f4225 --- /dev/null +++ b/doc/ref/core.internal/html/structregistered__resolver.html @@ -0,0 +1,134 @@ + + + + + + +GRPC Core: registered_resolver Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
registered_resolver Struct Reference
+
+
+ + + + + + +

+Data Fields

char * scheme
 
grpc_resolver_factoryfactory
 
+

Field Documentation

+ +
+
+ + + + +
grpc_resolver_factory* registered_resolver::factory
+
+ +
+
+ +
+
+ + + + +
char* registered_resolver::scheme
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structreqinfo__master.html b/doc/ref/core.internal/html/structreqinfo__master.html new file mode 100644 index 0000000000..c997555e19 --- /dev/null +++ b/doc/ref/core.internal/html/structreqinfo__master.html @@ -0,0 +1,176 @@ + + + + + + +GRPC Core: reqinfo_master Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
reqinfo_master Struct Reference
+
+
+ + + + + + + + + + + + +

+Data Fields

gpr_uint8 success
 
gpr_uint16 need_mask
 
gpr_uint16 complete_mask
 
grpc_ioreq_completion_func on_complete
 
void * user_data
 
+

Field Documentation

+ +
+
+ + + + +
gpr_uint16 reqinfo_master::complete_mask
+
+ +
+
+ +
+
+ + + + +
gpr_uint16 reqinfo_master::need_mask
+
+ +
+
+ +
+
+ + + + +
grpc_ioreq_completion_func reqinfo_master::on_complete
+
+ +
+
+ +
+
+ + + + +
gpr_uint8 reqinfo_master::success
+
+ +
+
+ +
+
+ + + + +
void* reqinfo_master::user_data
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structrequest__killer.html b/doc/ref/core.internal/html/structrequest__killer.html new file mode 100644 index 0000000000..c8a384ecb6 --- /dev/null +++ b/doc/ref/core.internal/html/structrequest__killer.html @@ -0,0 +1,148 @@ + + + + + + +GRPC Core: request_killer Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
request_killer Struct Reference
+
+
+ + + + + + + + +

+Data Fields

requested_call ** requests
 
size_t count
 
size_t capacity
 
+

Field Documentation

+ +
+
+ + + + +
size_t request_killer::capacity
+
+ +
+
+ +
+
+ + + + +
size_t request_killer::count
+
+ +
+
+ +
+
+ + + + +
requested_call** request_killer::requests
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structrequest__matcher.html b/doc/ref/core.internal/html/structrequest__matcher.html new file mode 100644 index 0000000000..6b43cf5a89 --- /dev/null +++ b/doc/ref/core.internal/html/structrequest__matcher.html @@ -0,0 +1,148 @@ + + + + + + +GRPC Core: request_matcher Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
request_matcher Struct Reference
+
+
+ + + + + + + + +

+Data Fields

call_datapending_head
 
call_datapending_tail
 
gpr_stack_lockfreerequests
 
+

Field Documentation

+ +
+
+ + + + +
call_data* request_matcher::pending_head
+
+ +
+
+ +
+
+ + + + +
call_data* request_matcher::pending_tail
+
+ +
+
+ +
+
+ + + + +
gpr_stack_lockfree* request_matcher::requests
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structrequested__call.html b/doc/ref/core.internal/html/structrequested__call.html new file mode 100644 index 0000000000..5e5a1658a4 --- /dev/null +++ b/doc/ref/core.internal/html/structrequested__call.html @@ -0,0 +1,321 @@ + + + + + + +GRPC Core: requested_call Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
requested_call Struct Reference
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Data Fields

requested_call_type type
 
void * tag
 
grpc_serverserver
 
grpc_completion_queuecq_bound_to_call
 
grpc_completion_queuecq_for_notification
 
grpc_call ** call
 
grpc_cq_completion completion
 
union {
   struct {
      grpc_call_details *   details
 
      grpc_metadata_array *   initial_metadata
 
   }   batch
 
   struct {
      registered_method *   registered_method
 
      gpr_timespec *   deadline
 
      grpc_metadata_array *   initial_metadata
 
      grpc_byte_buffer **   optional_payload
 
   }   registered
 
data
 
+

Field Documentation

+ +
+
+ + + + +
struct { ... } requested_call::batch
+
+ +
+
+ +
+
+ + + + +
grpc_call** requested_call::call
+
+ +
+
+ +
+
+ + + + +
grpc_cq_completion requested_call::completion
+
+ +
+
+ +
+
+ + + + +
grpc_completion_queue* requested_call::cq_bound_to_call
+
+ +
+
+ +
+
+ + + + +
grpc_completion_queue* requested_call::cq_for_notification
+
+ +
+
+ +
+
+ + + + +
union { ... } requested_call::data
+
+ +
+
+ +
+
+ + + + +
gpr_timespec* requested_call::deadline
+
+ +
+
+ +
+
+ + + + +
grpc_call_details* requested_call::details
+
+ +
+
+ +
+
+ + + + +
grpc_metadata_array* requested_call::initial_metadata
+
+ +
+
+ +
+
+ + + + +
grpc_byte_buffer** requested_call::optional_payload
+
+ +
+
+ +
+
+ + + + +
struct { ... } requested_call::registered
+
+ +
+
+ +
+
+ + + + +
registered_method* requested_call::registered_method
+
+ +
+
+ +
+
+ + + + +
grpc_server* requested_call::server
+
+ +
+
+ +
+
+ + + + +
void* requested_call::tag
+
+ +
+
+ +
+
+ + + + +
requested_call_type requested_call::type
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structsecure__endpoint.html b/doc/ref/core.internal/html/structsecure__endpoint.html new file mode 100644 index 0000000000..405544716c --- /dev/null +++ b/doc/ref/core.internal/html/structsecure__endpoint.html @@ -0,0 +1,302 @@ + + + + + + +GRPC Core: secure_endpoint Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
secure_endpoint Struct Reference
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Data Fields

grpc_endpoint base
 
grpc_endpointwrapped_ep
 
struct tsi_frame_protectorprotector
 
gpr_mu protector_mu
 
grpc_endpoint_read_cb read_cb
 
void * read_user_data
 
grpc_endpoint_write_cb write_cb
 
void * write_user_data
 
gpr_slice_buffer leftover_bytes
 
gpr_slice read_staging_buffer
 
gpr_slice_buffer input_buffer
 
gpr_slice write_staging_buffer
 
gpr_slice_buffer output_buffer
 
gpr_refcount ref
 
+

Field Documentation

+ +
+
+ + + + +
grpc_endpoint secure_endpoint::base
+
+ +
+
+ +
+
+ + + + +
gpr_slice_buffer secure_endpoint::input_buffer
+
+ +
+
+ +
+
+ + + + +
gpr_slice_buffer secure_endpoint::leftover_bytes
+
+ +
+
+ +
+
+ + + + +
gpr_slice_buffer secure_endpoint::output_buffer
+
+ +
+
+ +
+
+ + + + +
struct tsi_frame_protector* secure_endpoint::protector
+
+ +
+
+ +
+
+ + + + +
gpr_mu secure_endpoint::protector_mu
+
+ +
+
+ +
+
+ + + + +
grpc_endpoint_read_cb secure_endpoint::read_cb
+
+ +
+
+ +
+
+ + + + +
gpr_slice secure_endpoint::read_staging_buffer
+
+ +
+
+ +
+
+ + + + +
void* secure_endpoint::read_user_data
+
+ +
+
+ +
+
+ + + + +
gpr_refcount secure_endpoint::ref
+
+ +
+
+ +
+
+ + + + +
grpc_endpoint* secure_endpoint::wrapped_ep
+
+ +
+
+ +
+
+ + + + +
grpc_endpoint_write_cb secure_endpoint::write_cb
+
+ +
+
+ +
+
+ + + + +
gpr_slice secure_endpoint::write_staging_buffer
+
+ +
+
+ +
+
+ + + + +
void* secure_endpoint::write_user_data
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structshard__type.html b/doc/ref/core.internal/html/structshard__type.html new file mode 100644 index 0000000000..217efd40fa --- /dev/null +++ b/doc/ref/core.internal/html/structshard__type.html @@ -0,0 +1,204 @@ + + + + + + +GRPC Core: shard_type Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
shard_type Struct Reference
+
+
+ + + + + + + + + + + + + + + + +

+Data Fields

gpr_mu mu
 
grpc_time_averaged_stats stats
 
gpr_timespec queue_deadline_cap
 
gpr_timespec min_deadline
 
gpr_uint32 shard_queue_index
 
grpc_alarm_heap heap
 
grpc_alarm list
 
+

Field Documentation

+ +
+
+ + + + +
grpc_alarm_heap shard_type::heap
+
+ +
+
+ +
+
+ + + + +
grpc_alarm shard_type::list
+
+ +
+
+ +
+
+ + + + +
gpr_timespec shard_type::min_deadline
+
+ +
+
+ +
+
+ + + + +
gpr_mu shard_type::mu
+
+ +
+
+ +
+
+ + + + +
gpr_timespec shard_type::queue_deadline_cap
+
+ +
+
+ +
+
+ + + + +
gpr_uint32 shard_type::shard_queue_index
+
+ +
+
+ +
+
+ + + + +
grpc_time_averaged_stats shard_type::stats
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structshutdown__cleanup__args.html b/doc/ref/core.internal/html/structshutdown__cleanup__args.html new file mode 100644 index 0000000000..9744b4e200 --- /dev/null +++ b/doc/ref/core.internal/html/structshutdown__cleanup__args.html @@ -0,0 +1,134 @@ + + + + + + +GRPC Core: shutdown_cleanup_args Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
shutdown_cleanup_args Struct Reference
+
+
+ + + + + + +

+Data Fields

grpc_iomgr_closure closure
 
gpr_slice slice
 
+

Field Documentation

+ +
+
+ + + + +
grpc_iomgr_closure shutdown_cleanup_args::closure
+
+ +
+
+ +
+
+ + + + +
gpr_slice shutdown_cleanup_args::slice
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structshutdown__tag.html b/doc/ref/core.internal/html/structshutdown__tag.html new file mode 100644 index 0000000000..2d86728024 --- /dev/null +++ b/doc/ref/core.internal/html/structshutdown__tag.html @@ -0,0 +1,148 @@ + + + + + + +GRPC Core: shutdown_tag Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
shutdown_tag Struct Reference
+
+
+ + + + + + + + +

+Data Fields

void * tag
 
grpc_completion_queuecq
 
grpc_cq_completion completion
 
+

Field Documentation

+ +
+
+ + + + +
grpc_cq_completion shutdown_tag::completion
+
+ +
+
+ +
+
+ + + + +
grpc_completion_queue* shutdown_tag::cq
+
+ +
+
+ +
+
+ + + + +
void* shutdown_tag::tag
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structsockaddr__resolver.html b/doc/ref/core.internal/html/structsockaddr__resolver.html new file mode 100644 index 0000000000..4842c7687e --- /dev/null +++ b/doc/ref/core.internal/html/structsockaddr__resolver.html @@ -0,0 +1,273 @@ + + + + + + +GRPC Core: sockaddr_resolver Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
sockaddr_resolver Struct Reference
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Data Fields

grpc_resolver base
 base class: must be first More...
 
gpr_refcount refs
 refcount More...
 
grpc_subchannel_factorysubchannel_factory
 subchannel factory More...
 
grpc_lb_policy *(* lb_policy_factory )(grpc_subchannel **subchannels, size_t num_subchannels)
 load balancing policy factory More...
 
struct sockaddr_storage addr
 the address that we've 'resolved' More...
 
int addr_len
 
gpr_mu mu
 mutex guarding the rest of the state More...
 
int published
 have we published? More...
 
grpc_iomgr_closurenext_completion
 pending next completion, or NULL More...
 
grpc_client_config ** target_config
 target config address for next completion More...
 
+

Field Documentation

+ +
+
+ + + + +
struct sockaddr_storage sockaddr_resolver::addr
+
+ +

the address that we've 'resolved'

+ +
+
+ +
+
+ + + + +
int sockaddr_resolver::addr_len
+
+ +
+
+ +
+
+ + + + +
grpc_resolver sockaddr_resolver::base
+
+ +

base class: must be first

+ +
+
+ +
+
+ + + + +
grpc_lb_policy*(* sockaddr_resolver::lb_policy_factory)(grpc_subchannel **subchannels, size_t num_subchannels)
+
+ +

load balancing policy factory

+ +
+
+ +
+
+ + + + +
gpr_mu sockaddr_resolver::mu
+
+ +

mutex guarding the rest of the state

+ +
+
+ +
+
+ + + + +
grpc_iomgr_closure* sockaddr_resolver::next_completion
+
+ +

pending next completion, or NULL

+ +
+
+ +
+
+ + + + +
int sockaddr_resolver::published
+
+ +

have we published?

+ +
+
+ +
+
+ + + + +
gpr_refcount sockaddr_resolver::refs
+
+ +

refcount

+ +
+
+ +
+
+ + + + +
grpc_subchannel_factory* sockaddr_resolver::subchannel_factory
+
+ +

subchannel factory

+ +
+
+ +
+
+ + + + +
grpc_client_config** sockaddr_resolver::target_config
+
+ +

target config address for next completion

+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structstate__watcher.html b/doc/ref/core.internal/html/structstate__watcher.html new file mode 100644 index 0000000000..24fba1ae38 --- /dev/null +++ b/doc/ref/core.internal/html/structstate__watcher.html @@ -0,0 +1,303 @@ + + + + + + +GRPC Core: state_watcher Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
state_watcher Struct Reference
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Data Fields

grpc_iomgr_closure closure
 
size_t version
 
grpc_subchannelsubchannel
 
grpc_connectivity_state connectivity_state
 
gpr_mu mu
 
callback_phase phase
 
int success
 
grpc_iomgr_closure on_complete
 
grpc_alarm alarm
 
grpc_connectivity_state state
 
grpc_completion_queuecq
 
grpc_cq_completion completion_storage
 
grpc_channelchannel
 
void * tag
 
+

Field Documentation

+ +
+
+ + + + +
grpc_alarm state_watcher::alarm
+
+ +
+
+ +
+
+ + + + +
grpc_channel* state_watcher::channel
+
+ +
+
+ +
+
+ + + + +
grpc_iomgr_closure state_watcher::closure
+
+ +
+
+ +
+
+ + + + +
grpc_cq_completion state_watcher::completion_storage
+
+ +
+
+ +
+
+ + + + +
grpc_connectivity_state state_watcher::connectivity_state
+
+ +
+
+ +
+
+ + + + +
grpc_completion_queue* state_watcher::cq
+
+ +
+
+ +
+
+ + + + +
gpr_mu state_watcher::mu
+
+ +
+
+ +
+
+ + + + +
grpc_iomgr_closure state_watcher::on_complete
+
+ +
+
+ +
+
+ + + + +
callback_phase state_watcher::phase
+
+ +
+
+ +
+
+ + + + +
grpc_connectivity_state state_watcher::state
+
+ +
+
+ +
+
+ + + + +
grpc_subchannel* state_watcher::subchannel
+
+ +
+
+ +
+
+ + + + +
int state_watcher::success
+
+ +
+
+ +
+
+ + + + +
void* state_watcher::tag
+
+ +
+
+ +
+
+ + + + +
size_t state_watcher::version
+
+ +
+
+
The documentation for this struct was generated from the following files: +
+ + + + diff --git a/doc/ref/core.internal/html/structsubchannel__factory.html b/doc/ref/core.internal/html/structsubchannel__factory.html new file mode 100644 index 0000000000..8ba9ff328e --- /dev/null +++ b/doc/ref/core.internal/html/structsubchannel__factory.html @@ -0,0 +1,191 @@ + + + + + + +GRPC Core: subchannel_factory Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
subchannel_factory Struct Reference
+
+
+ + + + + + + + + + + + + + +

+Data Fields

grpc_subchannel_factory base
 
gpr_refcount refs
 
grpc_mdctxmdctx
 
grpc_channel_argsmerge_args
 
grpc_channel_security_connectorsecurity_connector
 
grpc_channelmaster
 
+

Field Documentation

+ +
+
+ + + + +
grpc_subchannel_factory subchannel_factory::base
+
+ +
+
+ +
+
+ + + + +
grpc_channel * subchannel_factory::master
+
+ +
+
+ +
+
+ + + + +
grpc_mdctx * subchannel_factory::mdctx
+
+ +
+
+ +
+
+ + + + +
grpc_channel_args * subchannel_factory::merge_args
+
+ +
+
+ +
+
+ + + + +
gpr_refcount subchannel_factory::refs
+
+ +
+
+ +
+
+ + + + +
grpc_channel_security_connector* subchannel_factory::security_connector
+
+ +
+
+
The documentation for this struct was generated from the following files: +
+ + + + diff --git a/doc/ref/core.internal/html/structtcp__endpoint__list.html b/doc/ref/core.internal/html/structtcp__endpoint__list.html new file mode 100644 index 0000000000..11cd0e4e7c --- /dev/null +++ b/doc/ref/core.internal/html/structtcp__endpoint__list.html @@ -0,0 +1,134 @@ + + + + + + +GRPC Core: tcp_endpoint_list Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
tcp_endpoint_list Struct Reference
+
+
+ + + + + + +

+Data Fields

grpc_endpointtcp_endpoint
 
struct tcp_endpoint_listnext
 
+

Field Documentation

+ +
+
+ + + + +
struct tcp_endpoint_list* tcp_endpoint_list::next
+
+ +
+
+ +
+
+ + + + +
grpc_endpoint* tcp_endpoint_list::tcp_endpoint
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structtracer.html b/doc/ref/core.internal/html/structtracer.html new file mode 100644 index 0000000000..dc8659d9fb --- /dev/null +++ b/doc/ref/core.internal/html/structtracer.html @@ -0,0 +1,148 @@ + + + + + + +GRPC Core: tracer Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
tracer Struct Reference
+
+
+ + + + + + + + +

+Data Fields

const char * name
 
int * flag
 
struct tracernext
 
+

Field Documentation

+ +
+
+ + + + +
int* tracer::flag
+
+ +
+
+ +
+
+ + + + +
const char* tracer::name
+
+ +
+
+ +
+
+ + + + +
struct tracer* tracer::next
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structtsi__fake__frame.html b/doc/ref/core.internal/html/structtsi__fake__frame.html new file mode 100644 index 0000000000..465e24e655 --- /dev/null +++ b/doc/ref/core.internal/html/structtsi__fake__frame.html @@ -0,0 +1,176 @@ + + + + + + +GRPC Core: tsi_fake_frame Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
tsi_fake_frame Struct Reference
+
+
+ + + + + + + + + + + + +

+Data Fields

unsigned char * data
 
size_t size
 
size_t allocated_size
 
size_t offset
 
int needs_draining
 
+

Field Documentation

+ +
+
+ + + + +
size_t tsi_fake_frame::allocated_size
+
+ +
+
+ +
+
+ + + + +
unsigned char* tsi_fake_frame::data
+
+ +
+
+ +
+
+ + + + +
int tsi_fake_frame::needs_draining
+
+ +
+
+ +
+
+ + + + +
size_t tsi_fake_frame::offset
+
+ +
+
+ +
+
+ + + + +
size_t tsi_fake_frame::size
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structtsi__fake__frame__protector.html b/doc/ref/core.internal/html/structtsi__fake__frame__protector.html new file mode 100644 index 0000000000..d3306a75c4 --- /dev/null +++ b/doc/ref/core.internal/html/structtsi__fake__frame__protector.html @@ -0,0 +1,162 @@ + + + + + + +GRPC Core: tsi_fake_frame_protector Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
tsi_fake_frame_protector Struct Reference
+
+
+ + + + + + + + + + +

+Data Fields

tsi_frame_protector base
 
tsi_fake_frame protect_frame
 
tsi_fake_frame unprotect_frame
 
size_t max_frame_size
 
+

Field Documentation

+ +
+
+ + + + +
tsi_frame_protector tsi_fake_frame_protector::base
+
+ +
+
+ +
+
+ + + + +
size_t tsi_fake_frame_protector::max_frame_size
+
+ +
+
+ +
+
+ + + + +
tsi_fake_frame tsi_fake_frame_protector::protect_frame
+
+ +
+
+ +
+
+ + + + +
tsi_fake_frame tsi_fake_frame_protector::unprotect_frame
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structtsi__fake__handshaker.html b/doc/ref/core.internal/html/structtsi__fake__handshaker.html new file mode 100644 index 0000000000..36aff4f6b8 --- /dev/null +++ b/doc/ref/core.internal/html/structtsi__fake__handshaker.html @@ -0,0 +1,204 @@ + + + + + + +GRPC Core: tsi_fake_handshaker Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
tsi_fake_handshaker Struct Reference
+
+
+ + + + + + + + + + + + + + + + +

+Data Fields

tsi_handshaker base
 
int is_client
 
tsi_fake_handshake_message next_message_to_send
 
int needs_incoming_message
 
tsi_fake_frame incoming
 
tsi_fake_frame outgoing
 
tsi_result result
 
+

Field Documentation

+ +
+
+ + + + +
tsi_handshaker tsi_fake_handshaker::base
+
+ +
+
+ +
+
+ + + + +
tsi_fake_frame tsi_fake_handshaker::incoming
+
+ +
+
+ +
+
+ + + + +
int tsi_fake_handshaker::is_client
+
+ +
+
+ +
+
+ + + + +
int tsi_fake_handshaker::needs_incoming_message
+
+ +
+
+ +
+
+ + + + +
tsi_fake_handshake_message tsi_fake_handshaker::next_message_to_send
+
+ +
+
+ +
+
+ + + + +
tsi_fake_frame tsi_fake_handshaker::outgoing
+
+ +
+
+ +
+
+ + + + +
tsi_result tsi_fake_handshaker::result
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structtsi__frame__protector.html b/doc/ref/core.internal/html/structtsi__frame__protector.html new file mode 100644 index 0000000000..967390cbf4 --- /dev/null +++ b/doc/ref/core.internal/html/structtsi__frame__protector.html @@ -0,0 +1,122 @@ + + + + + + +GRPC Core: tsi_frame_protector Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
tsi_frame_protector Struct Reference
+
+
+ +

#include <transport_security.h>

+ + + + +

+Data Fields

const tsi_frame_protector_vtablevtable
 
+

Field Documentation

+ +
+
+ + + + +
const tsi_frame_protector_vtable* tsi_frame_protector::vtable
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structtsi__frame__protector__vtable.html b/doc/ref/core.internal/html/structtsi__frame__protector__vtable.html new file mode 100644 index 0000000000..3bf7e81a14 --- /dev/null +++ b/doc/ref/core.internal/html/structtsi__frame__protector__vtable.html @@ -0,0 +1,164 @@ + + + + + + +GRPC Core: tsi_frame_protector_vtable Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
tsi_frame_protector_vtable Struct Reference
+
+
+ +

#include <transport_security.h>

+ + + + + + + + + + +

+Data Fields

tsi_result(* protect )(tsi_frame_protector *self, const unsigned char *unprotected_bytes, size_t *unprotected_bytes_size, unsigned char *protected_output_frames, size_t *protected_output_frames_size)
 
tsi_result(* protect_flush )(tsi_frame_protector *self, unsigned char *protected_output_frames, size_t *protected_output_frames_size, size_t *still_pending_size)
 
tsi_result(* unprotect )(tsi_frame_protector *self, const unsigned char *protected_frames_bytes, size_t *protected_frames_bytes_size, unsigned char *unprotected_bytes, size_t *unprotected_bytes_size)
 
void(* destroy )(tsi_frame_protector *self)
 
+

Field Documentation

+ +
+
+ + + + +
void(* tsi_frame_protector_vtable::destroy)(tsi_frame_protector *self)
+
+ +
+
+ +
+
+ + + + +
tsi_result(* tsi_frame_protector_vtable::protect)(tsi_frame_protector *self, const unsigned char *unprotected_bytes, size_t *unprotected_bytes_size, unsigned char *protected_output_frames, size_t *protected_output_frames_size)
+
+ +
+
+ +
+
+ + + + +
tsi_result(* tsi_frame_protector_vtable::protect_flush)(tsi_frame_protector *self, unsigned char *protected_output_frames, size_t *protected_output_frames_size, size_t *still_pending_size)
+
+ +
+
+ +
+
+ + + + +
tsi_result(* tsi_frame_protector_vtable::unprotect)(tsi_frame_protector *self, const unsigned char *protected_frames_bytes, size_t *protected_frames_bytes_size, unsigned char *unprotected_bytes, size_t *unprotected_bytes_size)
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structtsi__handshaker.html b/doc/ref/core.internal/html/structtsi__handshaker.html new file mode 100644 index 0000000000..7333790e22 --- /dev/null +++ b/doc/ref/core.internal/html/structtsi__handshaker.html @@ -0,0 +1,136 @@ + + + + + + +GRPC Core: tsi_handshaker Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
tsi_handshaker Struct Reference
+
+
+ +

#include <transport_security.h>

+ + + + + + +

+Data Fields

const tsi_handshaker_vtablevtable
 
int frame_protector_created
 
+

Field Documentation

+ +
+
+ + + + +
int tsi_handshaker::frame_protector_created
+
+ +
+
+ +
+
+ + + + +
const tsi_handshaker_vtable* tsi_handshaker::vtable
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structtsi__handshaker__vtable.html b/doc/ref/core.internal/html/structtsi__handshaker__vtable.html new file mode 100644 index 0000000000..deb9a2ffda --- /dev/null +++ b/doc/ref/core.internal/html/structtsi__handshaker__vtable.html @@ -0,0 +1,192 @@ + + + + + + +GRPC Core: tsi_handshaker_vtable Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
tsi_handshaker_vtable Struct Reference
+
+
+ +

#include <transport_security.h>

+ + + + + + + + + + + + + + +

+Data Fields

tsi_result(* get_bytes_to_send_to_peer )(tsi_handshaker *self, unsigned char *bytes, size_t *bytes_size)
 
tsi_result(* process_bytes_from_peer )(tsi_handshaker *self, const unsigned char *bytes, size_t *bytes_size)
 
tsi_result(* get_result )(tsi_handshaker *self)
 
tsi_result(* extract_peer )(tsi_handshaker *self, tsi_peer *peer)
 
tsi_result(* create_frame_protector )(tsi_handshaker *self, size_t *max_protected_frame_size, tsi_frame_protector **protector)
 
void(* destroy )(tsi_handshaker *self)
 
+

Field Documentation

+ +
+
+ + + + +
tsi_result(* tsi_handshaker_vtable::create_frame_protector)(tsi_handshaker *self, size_t *max_protected_frame_size, tsi_frame_protector **protector)
+
+ +
+
+ +
+
+ + + + +
void(* tsi_handshaker_vtable::destroy)(tsi_handshaker *self)
+
+ +
+
+ +
+
+ + + + +
tsi_result(* tsi_handshaker_vtable::extract_peer)(tsi_handshaker *self, tsi_peer *peer)
+
+ +
+
+ +
+
+ + + + +
tsi_result(* tsi_handshaker_vtable::get_bytes_to_send_to_peer)(tsi_handshaker *self, unsigned char *bytes, size_t *bytes_size)
+
+ +
+
+ +
+
+ + + + +
tsi_result(* tsi_handshaker_vtable::get_result)(tsi_handshaker *self)
+
+ +
+
+ +
+
+ + + + +
tsi_result(* tsi_handshaker_vtable::process_bytes_from_peer)(tsi_handshaker *self, const unsigned char *bytes, size_t *bytes_size)
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structtsi__peer.html b/doc/ref/core.internal/html/structtsi__peer.html new file mode 100644 index 0000000000..1d01cd42f7 --- /dev/null +++ b/doc/ref/core.internal/html/structtsi__peer.html @@ -0,0 +1,136 @@ + + + + + + +GRPC Core: tsi_peer Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
tsi_peer Struct Reference
+
+
+ +

#include <transport_security_interface.h>

+ + + + + + +

+Data Fields

tsi_peer_propertyproperties
 
size_t property_count
 
+

Field Documentation

+ +
+
+ + + + +
tsi_peer_property* tsi_peer::properties
+
+ +
+
+ +
+
+ + + + +
size_t tsi_peer::property_count
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structtsi__peer__property.html b/doc/ref/core.internal/html/structtsi__peer__property.html new file mode 100644 index 0000000000..9c87f1292c --- /dev/null +++ b/doc/ref/core.internal/html/structtsi__peer__property.html @@ -0,0 +1,165 @@ + + + + + + +GRPC Core: tsi_peer_property Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
tsi_peer_property Struct Reference
+
+
+ +

#include <transport_security_interface.h>

+ + + + + + + + + + + +

+Data Fields

char * name
 
struct {
   char *   data
 
   size_t   length
 
value
 
+

Field Documentation

+ +
+
+ + + + +
char* tsi_peer_property::data
+
+ +
+
+ +
+
+ + + + +
size_t tsi_peer_property::length
+
+ +
+
+ +
+
+ + + + +
char* tsi_peer_property::name
+
+ +
+
+ +
+
+ + + + +
struct { ... } tsi_peer_property::value
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structtsi__ssl__client__handshaker__factory.html b/doc/ref/core.internal/html/structtsi__ssl__client__handshaker__factory.html new file mode 100644 index 0000000000..68376e1dba --- /dev/null +++ b/doc/ref/core.internal/html/structtsi__ssl__client__handshaker__factory.html @@ -0,0 +1,162 @@ + + + + + + +GRPC Core: tsi_ssl_client_handshaker_factory Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
tsi_ssl_client_handshaker_factory Struct Reference
+
+
+ + + + + + + + + + +

+Data Fields

tsi_ssl_handshaker_factory base
 
SSL_CTX * ssl_context
 
unsigned char * alpn_protocol_list
 
size_t alpn_protocol_list_length
 
+

Field Documentation

+ +
+
+ + + + +
unsigned char* tsi_ssl_client_handshaker_factory::alpn_protocol_list
+
+ +
+
+ +
+
+ + + + +
size_t tsi_ssl_client_handshaker_factory::alpn_protocol_list_length
+
+ +
+
+ +
+
+ + + + +
tsi_ssl_handshaker_factory tsi_ssl_client_handshaker_factory::base
+
+ +
+
+ +
+
+ + + + +
SSL_CTX* tsi_ssl_client_handshaker_factory::ssl_context
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structtsi__ssl__frame__protector.html b/doc/ref/core.internal/html/structtsi__ssl__frame__protector.html new file mode 100644 index 0000000000..e39838fa06 --- /dev/null +++ b/doc/ref/core.internal/html/structtsi__ssl__frame__protector.html @@ -0,0 +1,204 @@ + + + + + + +GRPC Core: tsi_ssl_frame_protector Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
tsi_ssl_frame_protector Struct Reference
+
+
+ + + + + + + + + + + + + + + + +

+Data Fields

tsi_frame_protector base
 
SSL * ssl
 
BIO * into_ssl
 
BIO * from_ssl
 
unsigned char * buffer
 
size_t buffer_size
 
size_t buffer_offset
 
+

Field Documentation

+ +
+
+ + + + +
tsi_frame_protector tsi_ssl_frame_protector::base
+
+ +
+
+ +
+
+ + + + +
unsigned char* tsi_ssl_frame_protector::buffer
+
+ +
+
+ +
+
+ + + + +
size_t tsi_ssl_frame_protector::buffer_offset
+
+ +
+
+ +
+
+ + + + +
size_t tsi_ssl_frame_protector::buffer_size
+
+ +
+
+ +
+
+ + + + +
BIO* tsi_ssl_frame_protector::from_ssl
+
+ +
+
+ +
+
+ + + + +
BIO* tsi_ssl_frame_protector::into_ssl
+
+ +
+
+ +
+
+ + + + +
SSL* tsi_ssl_frame_protector::ssl
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structtsi__ssl__handshaker.html b/doc/ref/core.internal/html/structtsi__ssl__handshaker.html new file mode 100644 index 0000000000..cc8c19f75f --- /dev/null +++ b/doc/ref/core.internal/html/structtsi__ssl__handshaker.html @@ -0,0 +1,176 @@ + + + + + + +GRPC Core: tsi_ssl_handshaker Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
tsi_ssl_handshaker Struct Reference
+
+
+ + + + + + + + + + + + +

+Data Fields

tsi_handshaker base
 
SSL * ssl
 
BIO * into_ssl
 
BIO * from_ssl
 
tsi_result result
 
+

Field Documentation

+ +
+
+ + + + +
tsi_handshaker tsi_ssl_handshaker::base
+
+ +
+
+ +
+
+ + + + +
BIO* tsi_ssl_handshaker::from_ssl
+
+ +
+
+ +
+
+ + + + +
BIO* tsi_ssl_handshaker::into_ssl
+
+ +
+
+ +
+
+ + + + +
tsi_result tsi_ssl_handshaker::result
+
+ +
+
+ +
+
+ + + + +
SSL* tsi_ssl_handshaker::ssl
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structtsi__ssl__handshaker__factory.html b/doc/ref/core.internal/html/structtsi__ssl__handshaker__factory.html new file mode 100644 index 0000000000..c79dfa13a6 --- /dev/null +++ b/doc/ref/core.internal/html/structtsi__ssl__handshaker__factory.html @@ -0,0 +1,134 @@ + + + + + + +GRPC Core: tsi_ssl_handshaker_factory Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
tsi_ssl_handshaker_factory Struct Reference
+
+
+ + + + + + +

+Data Fields

tsi_result(* create_handshaker )(tsi_ssl_handshaker_factory *self, const char *server_name_indication, tsi_handshaker **handshaker)
 
void(* destroy )(tsi_ssl_handshaker_factory *self)
 
+

Field Documentation

+ +
+
+ + + + +
tsi_result(* tsi_ssl_handshaker_factory::create_handshaker)(tsi_ssl_handshaker_factory *self, const char *server_name_indication, tsi_handshaker **handshaker)
+
+ +
+
+ +
+
+ + + + +
void(* tsi_ssl_handshaker_factory::destroy)(tsi_ssl_handshaker_factory *self)
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structtsi__ssl__server__handshaker__factory.html b/doc/ref/core.internal/html/structtsi__ssl__server__handshaker__factory.html new file mode 100644 index 0000000000..334306c4b5 --- /dev/null +++ b/doc/ref/core.internal/html/structtsi__ssl__server__handshaker__factory.html @@ -0,0 +1,190 @@ + + + + + + +GRPC Core: tsi_ssl_server_handshaker_factory Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
tsi_ssl_server_handshaker_factory Struct Reference
+
+
+ + + + + + + + + + + + + + +

+Data Fields

tsi_ssl_handshaker_factory base
 
SSL_CTX ** ssl_contexts
 
tsi_peerssl_context_x509_subject_names
 
size_t ssl_context_count
 
unsigned char * alpn_protocol_list
 
size_t alpn_protocol_list_length
 
+

Field Documentation

+ +
+
+ + + + +
unsigned char* tsi_ssl_server_handshaker_factory::alpn_protocol_list
+
+ +
+
+ +
+
+ + + + +
size_t tsi_ssl_server_handshaker_factory::alpn_protocol_list_length
+
+ +
+
+ +
+
+ + + + +
tsi_ssl_handshaker_factory tsi_ssl_server_handshaker_factory::base
+
+ +
+
+ +
+
+ + + + +
size_t tsi_ssl_server_handshaker_factory::ssl_context_count
+
+ +
+
+ +
+
+ + + + +
tsi_peer* tsi_ssl_server_handshaker_factory::ssl_context_x509_subject_names
+
+ +
+
+ +
+
+ + + + +
SSL_CTX** tsi_ssl_server_handshaker_factory::ssl_contexts
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structverifier__cb__ctx.html b/doc/ref/core.internal/html/structverifier__cb__ctx.html new file mode 100644 index 0000000000..7df7062a83 --- /dev/null +++ b/doc/ref/core.internal/html/structverifier__cb__ctx.html @@ -0,0 +1,232 @@ + + + + + + +GRPC Core: verifier_cb_ctx Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
verifier_cb_ctx Struct Reference
+
+
+ + + + + + + + + + + + + + + + + + + + +

+Data Fields

grpc_jwt_verifierverifier
 
grpc_pollsetpollset
 
jose_headerheader
 
grpc_jwt_claimsclaims
 
char * audience
 
gpr_slice signature
 
gpr_slice signed_data
 
void * user_data
 
grpc_jwt_verification_done_cb user_cb
 
+

Field Documentation

+ +
+
+ + + + +
char* verifier_cb_ctx::audience
+
+ +
+
+ +
+
+ + + + +
grpc_jwt_claims* verifier_cb_ctx::claims
+
+ +
+
+ +
+
+ + + + +
jose_header* verifier_cb_ctx::header
+
+ +
+
+ +
+
+ + + + +
grpc_pollset* verifier_cb_ctx::pollset
+
+ +
+
+ +
+
+ + + + +
gpr_slice verifier_cb_ctx::signature
+
+ +
+
+ +
+
+ + + + +
gpr_slice verifier_cb_ctx::signed_data
+
+ +
+
+ +
+
+ + + + +
grpc_jwt_verification_done_cb verifier_cb_ctx::user_cb
+
+ +
+
+ +
+
+ + + + +
void* verifier_cb_ctx::user_data
+
+ +
+
+ +
+
+ + + + +
grpc_jwt_verifier* verifier_cb_ctx::verifier
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structwaiting__call.html b/doc/ref/core.internal/html/structwaiting__call.html new file mode 100644 index 0000000000..2205ae7ac7 --- /dev/null +++ b/doc/ref/core.internal/html/structwaiting__call.html @@ -0,0 +1,134 @@ + + + + + + +GRPC Core: waiting_call Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
waiting_call Struct Reference
+
+
+ + + + + + +

+Data Fields

grpc_iomgr_closure closure
 
grpc_call_elementelem
 
+

Field Documentation

+ +
+
+ + + + +
grpc_iomgr_closure waiting_call::closure
+
+ +
+
+ +
+
+ + + + +
grpc_call_element* waiting_call::elem
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/structwaiting__for__connect.html b/doc/ref/core.internal/html/structwaiting__for__connect.html new file mode 100644 index 0000000000..57f9501cd8 --- /dev/null +++ b/doc/ref/core.internal/html/structwaiting__for__connect.html @@ -0,0 +1,190 @@ + + + + + + +GRPC Core: waiting_for_connect Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
waiting_for_connect Struct Reference
+
+
+ + + + + + + + + + + + + + +

+Data Fields

struct waiting_for_connectnext
 
grpc_iomgr_closurenotify
 
grpc_pollsetpollset
 
grpc_subchannel_call ** target
 
grpc_subchannelsubchannel
 
grpc_iomgr_closure continuation
 
+

Field Documentation

+ +
+
+ + + + +
grpc_iomgr_closure waiting_for_connect::continuation
+
+ +
+
+ +
+
+ + + + +
struct waiting_for_connect* waiting_for_connect::next
+
+ +
+
+ +
+
+ + + + +
grpc_iomgr_closure* waiting_for_connect::notify
+
+ +
+
+ +
+
+ + + + +
grpc_pollset* waiting_for_connect::pollset
+
+ +
+
+ +
+
+ + + + +
grpc_subchannel* waiting_for_connect::subchannel
+
+ +
+
+ +
+
+ + + + +
grpc_subchannel_call** waiting_for_connect::target
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/subchannel_8c.html b/doc/ref/core.internal/html/subchannel_8c.html new file mode 100644 index 0000000000..67e1432e13 --- /dev/null +++ b/doc/ref/core.internal/html/subchannel_8c.html @@ -0,0 +1,789 @@ + + + + + + +GRPC Core: src/core/client_config/subchannel.c File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
subchannel.c File Reference
+
+
+ + + + + + + + + + + + +

+Data Structures

struct  connection
 
struct  state_watcher
 
struct  waiting_for_connect
 
struct  grpc_subchannel
 
struct  grpc_subchannel_call
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Macros

#define GRPC_SUBCHANNEL_MIN_CONNECT_TIMEOUT_SECONDS   20
 
#define GRPC_SUBCHANNEL_INITIAL_CONNECT_BACKOFF_SECONDS   1
 
#define GRPC_SUBCHANNEL_RECONNECT_BACKOFF_MULTIPLIER   1.6
 
#define GRPC_SUBCHANNEL_RECONNECT_MAX_BACKOFF_SECONDS   120
 
#define GRPC_SUBCHANNEL_RECONNECT_JITTER   0.2
 
#define SUBCHANNEL_CALL_TO_CALL_STACK(call)   ((grpc_call_stack *)((call) + 1))
 
#define CHANNEL_STACK_FROM_CONNECTION(con)   ((grpc_channel_stack *)((con) + 1))
 
#define SUBCHANNEL_REF_LOCKED(p, r)   subchannel_ref_locked((p))
 
#define SUBCHANNEL_UNREF_LOCKED(p, r)   subchannel_unref_locked((p))
 
#define CONNECTION_REF_LOCKED(p, r)   connection_ref_locked((p))
 
#define CONNECTION_UNREF_LOCKED(p, r)   connection_unref_locked((p))
 
#define REF_PASS_ARGS
 
#define REF_LOG(name, p)
 
#define UNREF_LOG(name, p)
 
+ + + +

+Typedefs

typedef struct waiting_for_connect waiting_for_connect
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

void grpc_subchannel_ref (grpc_subchannel *c GRPC_SUBCHANNEL_REF_EXTRA_ARGS)
 
void grpc_subchannel_unref (grpc_subchannel *c GRPC_SUBCHANNEL_REF_EXTRA_ARGS)
 
void grpc_subchannel_add_interested_party (grpc_subchannel *c, grpc_pollset *pollset)
 
void grpc_subchannel_del_interested_party (grpc_subchannel *c, grpc_pollset *pollset)
 
grpc_subchannelgrpc_subchannel_create (grpc_connector *connector, grpc_subchannel_args *args)
 create a subchannel given a connector More...
 
void grpc_subchannel_create_call (grpc_subchannel *c, grpc_pollset *pollset, grpc_subchannel_call **target, grpc_iomgr_closure *notify)
 construct a call (possibly asynchronously) More...
 
grpc_connectivity_state grpc_subchannel_check_connectivity (grpc_subchannel *c)
 poll the current connectivity state of a channel More...
 
void grpc_subchannel_notify_on_state_change (grpc_subchannel *c, grpc_connectivity_state *state, grpc_iomgr_closure *notify)
 call notify when the connectivity state of a channel changes from *state. More...
 
void grpc_subchannel_process_transport_op (grpc_subchannel *c, grpc_transport_op *op)
 process a transport level op More...
 
void grpc_subchannel_call_ref (grpc_subchannel_call *c GRPC_SUBCHANNEL_REF_EXTRA_ARGS)
 
void grpc_subchannel_call_unref (grpc_subchannel_call *c GRPC_SUBCHANNEL_REF_EXTRA_ARGS)
 
char * grpc_subchannel_call_get_peer (grpc_subchannel_call *call)
 continue querying for peer More...
 
void grpc_subchannel_call_process_op (grpc_subchannel_call *call, grpc_transport_stream_op *op)
 continue processing a transport op More...
 
+

Macro Definition Documentation

+ +
+
+ + + + + + + + +
#define CHANNEL_STACK_FROM_CONNECTION( con)   ((grpc_channel_stack *)((con) + 1))
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
#define CONNECTION_REF_LOCKED( p,
 
)   connection_ref_locked((p))
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
#define CONNECTION_UNREF_LOCKED( p,
 
)   connection_unref_locked((p))
+
+ +
+
+ +
+
+ + + + +
#define GRPC_SUBCHANNEL_INITIAL_CONNECT_BACKOFF_SECONDS   1
+
+ +
+
+ +
+
+ + + + +
#define GRPC_SUBCHANNEL_MIN_CONNECT_TIMEOUT_SECONDS   20
+
+ +
+
+ +
+
+ + + + +
#define GRPC_SUBCHANNEL_RECONNECT_BACKOFF_MULTIPLIER   1.6
+
+ +
+
+ +
+
+ + + + +
#define GRPC_SUBCHANNEL_RECONNECT_JITTER   0.2
+
+ +
+
+ +
+
+ + + + +
#define GRPC_SUBCHANNEL_RECONNECT_MAX_BACKOFF_SECONDS   120
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
#define REF_LOG( name,
 
)
+
+Value:
do { \
+
} while (0)
+
+
+
+ +
+
+ + + + +
#define REF_PASS_ARGS
+
+ +
+
+ +
+
+ + + + + + + + +
#define SUBCHANNEL_CALL_TO_CALL_STACK( call)   ((grpc_call_stack *)((call) + 1))
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
#define SUBCHANNEL_REF_LOCKED( p,
 
)   subchannel_ref_locked((p))
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
#define SUBCHANNEL_UNREF_LOCKED( p,
 
)   subchannel_unref_locked((p))
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
#define UNREF_LOG( name,
 
)
+
+Value:
do { \
+
} while (0)
+
+
+
+

Typedef Documentation

+ +
+
+ + + + +
typedef struct waiting_for_connect waiting_for_connect
+
+ +
+
+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
void grpc_subchannel_add_interested_party (grpc_subchannelc,
grpc_pollsetpollset 
)
+
+ +
+
+ +
+
+ + + + + + + + +
char* grpc_subchannel_call_get_peer (grpc_subchannel_callcall)
+
+ +

continue querying for peer

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void grpc_subchannel_call_process_op (grpc_subchannel_callcall,
grpc_transport_stream_opop 
)
+
+ +

continue processing a transport op

+ +
+
+ +
+
+ + + + + + + + +
void grpc_subchannel_call_ref (grpc_subchannel_call *c GRPC_SUBCHANNEL_REF_EXTRA_ARGS)
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_subchannel_call_unref (grpc_subchannel_call *c GRPC_SUBCHANNEL_REF_EXTRA_ARGS)
+
+ +
+
+ +
+
+ + + + + + + + +
grpc_connectivity_state grpc_subchannel_check_connectivity (grpc_subchannelc)
+
+ +

poll the current connectivity state of a channel

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
grpc_subchannel* grpc_subchannel_create (grpc_connectorconnector,
grpc_subchannel_argsargs 
)
+
+ +

create a subchannel given a connector

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void grpc_subchannel_create_call (grpc_subchannelc,
grpc_pollsetpollset,
grpc_subchannel_call ** target,
grpc_iomgr_closurenotify 
)
+
+ +

construct a call (possibly asynchronously)

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void grpc_subchannel_del_interested_party (grpc_subchannelc,
grpc_pollsetpollset 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void grpc_subchannel_notify_on_state_change (grpc_subchannelchannel,
grpc_connectivity_statestate,
grpc_iomgr_closurenotify 
)
+
+ +

call notify when the connectivity state of a channel changes from *state.

+

Updates *state with the new state of the channel

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void grpc_subchannel_process_transport_op (grpc_subchannelc,
grpc_transport_opop 
)
+
+ +

process a transport level op

+ +
+
+ +
+
+ + + + + + + + +
void grpc_subchannel_ref (grpc_subchannel *c GRPC_SUBCHANNEL_REF_EXTRA_ARGS)
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_subchannel_unref (grpc_subchannel *c GRPC_SUBCHANNEL_REF_EXTRA_ARGS)
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/subchannel_8h.html b/doc/ref/core.internal/html/subchannel_8h.html new file mode 100644 index 0000000000..2ca9553605 --- /dev/null +++ b/doc/ref/core.internal/html/subchannel_8h.html @@ -0,0 +1,642 @@ + + + + + + +GRPC Core: src/core/client_config/subchannel.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
subchannel.h File Reference
+
+
+ +

Go to the source code of this file.

+ + + + +

+Data Structures

struct  grpc_subchannel_args
 
+ + + + + + + + + + + +

+Macros

#define GRPC_SUBCHANNEL_REF(p, r)   grpc_subchannel_ref((p))
 
#define GRPC_SUBCHANNEL_UNREF(p, r)   grpc_subchannel_unref((p))
 
#define GRPC_SUBCHANNEL_CALL_REF(p, r)   grpc_subchannel_call_ref((p))
 
#define GRPC_SUBCHANNEL_CALL_UNREF(p, r)   grpc_subchannel_call_unref((p))
 
#define GRPC_SUBCHANNEL_REF_EXTRA_ARGS
 
+ + + + + + + + +

+Typedefs

typedef struct grpc_subchannel grpc_subchannel
 A (sub-)channel that knows how to connect to exactly one target address. More...
 
typedef struct grpc_subchannel_call grpc_subchannel_call
 
typedef struct grpc_subchannel_args grpc_subchannel_args
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

void grpc_subchannel_ref (grpc_subchannel *channel)
 
void grpc_subchannel_unref (grpc_subchannel *channel)
 
void grpc_subchannel_call_ref (grpc_subchannel_call *call)
 
void grpc_subchannel_call_unref (grpc_subchannel_call *call)
 
void grpc_subchannel_create_call (grpc_subchannel *subchannel, grpc_pollset *pollset, grpc_subchannel_call **target, grpc_iomgr_closure *notify)
 construct a call (possibly asynchronously) More...
 
void grpc_subchannel_process_transport_op (grpc_subchannel *subchannel, grpc_transport_op *op)
 process a transport level op More...
 
grpc_connectivity_state grpc_subchannel_check_connectivity (grpc_subchannel *channel)
 poll the current connectivity state of a channel More...
 
void grpc_subchannel_notify_on_state_change (grpc_subchannel *channel, grpc_connectivity_state *state, grpc_iomgr_closure *notify)
 call notify when the connectivity state of a channel changes from *state. More...
 
void grpc_subchannel_add_interested_party (grpc_subchannel *channel, grpc_pollset *pollset)
 
void grpc_subchannel_del_interested_party (grpc_subchannel *channel, grpc_pollset *pollset)
 
void grpc_subchannel_call_process_op (grpc_subchannel_call *subchannel_call, grpc_transport_stream_op *op)
 continue processing a transport op More...
 
char * grpc_subchannel_call_get_peer (grpc_subchannel_call *subchannel_call)
 continue querying for peer More...
 
grpc_subchannelgrpc_subchannel_create (grpc_connector *connector, grpc_subchannel_args *args)
 create a subchannel given a connector More...
 
+

Macro Definition Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
#define GRPC_SUBCHANNEL_CALL_REF( p,
 
)   grpc_subchannel_call_ref((p))
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
#define GRPC_SUBCHANNEL_CALL_UNREF( p,
 
)   grpc_subchannel_call_unref((p))
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
#define GRPC_SUBCHANNEL_REF( p,
 
)   grpc_subchannel_ref((p))
+
+ +
+
+ +
+
+ + + + +
#define GRPC_SUBCHANNEL_REF_EXTRA_ARGS
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
#define GRPC_SUBCHANNEL_UNREF( p,
 
)   grpc_subchannel_unref((p))
+
+ +
+
+

Typedef Documentation

+ +
+
+ + + + +
typedef struct grpc_subchannel grpc_subchannel
+
+ +

A (sub-)channel that knows how to connect to exactly one target address.

+

Provides a target for load balancing.

+ +
+
+ +
+
+ + + + +
typedef struct grpc_subchannel_args grpc_subchannel_args
+
+ +
+
+ +
+
+ + + + +
typedef struct grpc_subchannel_call grpc_subchannel_call
+
+ +
+
+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
void grpc_subchannel_add_interested_party (grpc_subchannelchannel,
grpc_pollsetpollset 
)
+
+ +
+
+ +
+
+ + + + + + + + +
char* grpc_subchannel_call_get_peer (grpc_subchannel_callsubchannel_call)
+
+ +

continue querying for peer

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void grpc_subchannel_call_process_op (grpc_subchannel_callsubchannel_call,
grpc_transport_stream_opop 
)
+
+ +

continue processing a transport op

+ +
+
+ +
+
+ + + + + + + + +
void grpc_subchannel_call_ref (grpc_subchannel_callcall)
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_subchannel_call_unref (grpc_subchannel_callcall)
+
+ +
+
+ +
+
+ + + + + + + + +
grpc_connectivity_state grpc_subchannel_check_connectivity (grpc_subchannelchannel)
+
+ +

poll the current connectivity state of a channel

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
grpc_subchannel* grpc_subchannel_create (grpc_connectorconnector,
grpc_subchannel_argsargs 
)
+
+ +

create a subchannel given a connector

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void grpc_subchannel_create_call (grpc_subchannelsubchannel,
grpc_pollsetpollset,
grpc_subchannel_call ** target,
grpc_iomgr_closurenotify 
)
+
+ +

construct a call (possibly asynchronously)

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void grpc_subchannel_del_interested_party (grpc_subchannelchannel,
grpc_pollsetpollset 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void grpc_subchannel_notify_on_state_change (grpc_subchannelchannel,
grpc_connectivity_statestate,
grpc_iomgr_closurenotify 
)
+
+ +

call notify when the connectivity state of a channel changes from *state.

+

Updates *state with the new state of the channel

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void grpc_subchannel_process_transport_op (grpc_subchannelsubchannel,
grpc_transport_opop 
)
+
+ +

process a transport level op

+ +
+
+ +
+
+ + + + + + + + +
void grpc_subchannel_ref (grpc_subchannelchannel)
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_subchannel_unref (grpc_subchannelchannel)
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/subchannel_8h_source.html b/doc/ref/core.internal/html/subchannel_8h_source.html new file mode 100644 index 0000000000..1367ac1b2b --- /dev/null +++ b/doc/ref/core.internal/html/subchannel_8h_source.html @@ -0,0 +1,246 @@ + + + + + + +GRPC Core: src/core/client_config/subchannel.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
subchannel.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPC_INTERNAL_CORE_CLIENT_CONFIG_SUBCHANNEL_H
+
35 #define GRPC_INTERNAL_CORE_CLIENT_CONFIG_SUBCHANNEL_H
+
36 
+ + +
39 
+ + + +
45 
+
46 #ifdef GRPC_SUBCHANNEL_REFCOUNT_DEBUG
+
47 #define GRPC_SUBCHANNEL_REF(p, r) \
+
48  grpc_subchannel_ref((p), __FILE__, __LINE__, (r))
+
49 #define GRPC_SUBCHANNEL_UNREF(p, r) \
+
50  grpc_subchannel_unref((p), __FILE__, __LINE__, (r))
+
51 #define GRPC_SUBCHANNEL_CALL_REF(p, r) \
+
52  grpc_subchannel_call_ref((p), __FILE__, __LINE__, (r))
+
53 #define GRPC_SUBCHANNEL_CALL_UNREF(p, r) \
+
54  grpc_subchannel_call_unref((p), __FILE__, __LINE__, (r))
+
55 #define GRPC_SUBCHANNEL_REF_EXTRA_ARGS \
+
56  , const char *file, int line, const char *reason
+
57 #else
+
58 #define GRPC_SUBCHANNEL_REF(p, r) grpc_subchannel_ref((p))
+
59 #define GRPC_SUBCHANNEL_UNREF(p, r) grpc_subchannel_unref((p))
+
60 #define GRPC_SUBCHANNEL_CALL_REF(p, r) grpc_subchannel_call_ref((p))
+
61 #define GRPC_SUBCHANNEL_CALL_UNREF(p, r) grpc_subchannel_call_unref((p))
+
62 #define GRPC_SUBCHANNEL_REF_EXTRA_ARGS
+
63 #endif
+
64 
+ + + + + + + + +
73 
+ +
76  grpc_pollset *pollset,
+
77  grpc_subchannel_call **target,
+
78  grpc_iomgr_closure *notify);
+
79 
+ +
82  grpc_transport_op *op);
+
83 
+ +
86  grpc_subchannel *channel);
+
87 
+ + +
92  grpc_iomgr_closure *notify);
+
93 
+ +
95  grpc_pollset *pollset);
+ +
97  grpc_pollset *pollset);
+
98 
+ + +
102 
+ +
105 
+ + +
111  size_t filter_count;
+ +
115  struct sockaddr *addr;
+
116  size_t addr_len;
+ + +
121 };
+
122 
+ +
125  grpc_subchannel_args *args);
+
126 
+
127 #endif /* GRPC_INTERNAL_CORE_CLIENT_CONFIG_SUBCHANNEL_H */
+
Definition: channel_stack.h:64
+
grpc_connectivity_state
Connectivity state of a channel.
Definition: grpc.h:139
+
void grpc_subchannel_process_transport_op(grpc_subchannel *subchannel, grpc_transport_op *op)
process a transport level op
Definition: subchannel.c:406
+
const grpc_channel_args * args
Channel arguments to be supplied to the newly created channel.
Definition: subchannel.h:113
+
grpc_channel * master
master channel
Definition: subchannel.h:120
+
size_t filter_count
The number of filters in the above array.
Definition: subchannel.h:111
+
void grpc_subchannel_unref(grpc_subchannel *channel)
+
const grpc_channel_filter ** filters
Channel filters for this channel - wrapped factories will likely want to mutate this.
Definition: subchannel.h:109
+
Definition: channel.c:61
+
An array of arguments that can be passed around.
Definition: grpc.h:113
+
#define GRPC_SUBCHANNEL_REF_EXTRA_ARGS
Definition: subchannel.h:62
+
Definition: subchannel.h:106
+
void grpc_subchannel_del_interested_party(grpc_subchannel *channel, grpc_pollset *pollset)
Definition: subchannel.c:270
+
Definition: transport.h:66
+
void grpc_subchannel_add_interested_party(grpc_subchannel *channel, grpc_pollset *pollset)
Definition: subchannel.c:265
+ +
Definition: secure_channel_create.c:54
+
Definition: pollset_posix.h:48
+
Definition: subchannel.c:77
+
void grpc_subchannel_notify_on_state_change(grpc_subchannel *channel, grpc_connectivity_state *state, grpc_iomgr_closure *notify)
call notify when the connectivity state of a channel changes from *state.
Definition: subchannel.c:386
+
grpc_connectivity_state grpc_subchannel_check_connectivity(grpc_subchannel *channel)
poll the current connectivity state of a channel
Definition: subchannel.c:378
+
Definition: metadata.c:98
+
Definition: connector.h:44
+
size_t addr_len
Definition: subchannel.h:116
+
A closure over a grpc_iomgr_cb_func.
Definition: iomgr.h:45
+
void grpc_subchannel_call_ref(grpc_subchannel_call *call)
+
struct sockaddr * addr
Address to connect to.
Definition: subchannel.h:115
+
char * grpc_subchannel_call_get_peer(grpc_subchannel_call *subchannel_call)
continue querying for peer
Definition: subchannel.c:712
+
void grpc_subchannel_ref(grpc_subchannel *channel)
+
grpc_subchannel * grpc_subchannel_create(grpc_connector *connector, grpc_subchannel_args *args)
create a subchannel given a connector
Definition: subchannel.c:279
+
grpc_mdctx * mdctx
metadata context to use
Definition: subchannel.h:118
+
void grpc_subchannel_call_unref(grpc_subchannel_call *call)
+
void grpc_subchannel_create_call(grpc_subchannel *subchannel, grpc_pollset *pollset, grpc_subchannel_call **target, grpc_iomgr_closure *notify)
construct a call (possibly asynchronously)
Definition: subchannel.c:339
+ +
void grpc_subchannel_call_process_op(grpc_subchannel_call *subchannel_call, grpc_transport_stream_op *op)
continue processing a transport op
Definition: subchannel.c:718
+
Transport op: a set of operations to perform on a transport as a whole.
Definition: transport.h:90
+
Definition: subchannel.c:138
+
+ + + + diff --git a/doc/ref/core.internal/html/subchannel__factory_8c.html b/doc/ref/core.internal/html/subchannel__factory_8c.html new file mode 100644 index 0000000000..aae8e8af3e --- /dev/null +++ b/doc/ref/core.internal/html/subchannel__factory_8c.html @@ -0,0 +1,174 @@ + + + + + + +GRPC Core: src/core/client_config/subchannel_factory.c File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
subchannel_factory.c File Reference
+
+
+ + + + + + + + + +

+Functions

void grpc_subchannel_factory_ref (grpc_subchannel_factory *factory)
 
void grpc_subchannel_factory_unref (grpc_subchannel_factory *factory)
 
grpc_subchannelgrpc_subchannel_factory_create_subchannel (grpc_subchannel_factory *factory, grpc_subchannel_args *args)
 Create a new grpc_subchannel. More...
 
+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
grpc_subchannel* grpc_subchannel_factory_create_subchannel (grpc_subchannel_factoryfactory,
grpc_subchannel_argsargs 
)
+
+ +

Create a new grpc_subchannel.

+ +
+
+ +
+
+ + + + + + + + +
void grpc_subchannel_factory_ref (grpc_subchannel_factoryfactory)
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_subchannel_factory_unref (grpc_subchannel_factoryfactory)
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/subchannel__factory_8h.html b/doc/ref/core.internal/html/subchannel__factory_8h.html new file mode 100644 index 0000000000..774eaad845 --- /dev/null +++ b/doc/ref/core.internal/html/subchannel__factory_8h.html @@ -0,0 +1,221 @@ + + + + + + +GRPC Core: src/core/client_config/subchannel_factory.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
subchannel_factory.h File Reference
+
+
+ +

Go to the source code of this file.

+ + + + + + + +

+Data Structures

struct  grpc_subchannel_factory
 Constructor for new configured channels. More...
 
struct  grpc_subchannel_factory_vtable
 
+ + + + + +

+Typedefs

typedef struct
+grpc_subchannel_factory 
grpc_subchannel_factory
 
typedef struct
+grpc_subchannel_factory_vtable 
grpc_subchannel_factory_vtable
 
+ + + + + + + + +

+Functions

void grpc_subchannel_factory_ref (grpc_subchannel_factory *factory)
 
void grpc_subchannel_factory_unref (grpc_subchannel_factory *factory)
 
grpc_subchannelgrpc_subchannel_factory_create_subchannel (grpc_subchannel_factory *factory, grpc_subchannel_args *args)
 Create a new grpc_subchannel. More...
 
+

Typedef Documentation

+ +
+
+ +
+
+ + +

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
grpc_subchannel* grpc_subchannel_factory_create_subchannel (grpc_subchannel_factoryfactory,
grpc_subchannel_argsargs 
)
+
+ +

Create a new grpc_subchannel.

+ +
+
+ +
+
+ + + + + + + + +
void grpc_subchannel_factory_ref (grpc_subchannel_factoryfactory)
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_subchannel_factory_unref (grpc_subchannel_factoryfactory)
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/subchannel__factory_8h_source.html b/doc/ref/core.internal/html/subchannel__factory_8h_source.html new file mode 100644 index 0000000000..5f77bab5e6 --- /dev/null +++ b/doc/ref/core.internal/html/subchannel__factory_8h_source.html @@ -0,0 +1,171 @@ + + + + + + +GRPC Core: src/core/client_config/subchannel_factory.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
subchannel_factory.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPC_INTERNAL_CORE_CLIENT_CONFIG_SUBCHANNEL_FACTORY_H
+
35 #define GRPC_INTERNAL_CORE_CLIENT_CONFIG_SUBCHANNEL_FACTORY_H
+
36 
+ + +
39 
+ + +
42 
+ + +
47 };
+
48 
+ +
50  void (*ref)(grpc_subchannel_factory *factory);
+
51  void (*unref)(grpc_subchannel_factory *factory);
+
52  grpc_subchannel *(*create_subchannel)(grpc_subchannel_factory *factory,
+
53  grpc_subchannel_args *args);
+
54 };
+
55 
+ + +
58 
+ + +
62 
+
63 #endif /* GRPC_INTERNAL_CORE_CLIENT_CONFIG_SUBCHANNEL_FACTORY_H */
+
Definition: subchannel.h:106
+ +
grpc_subchannel * grpc_subchannel_factory_create_subchannel(grpc_subchannel_factory *factory, grpc_subchannel_args *args)
Create a new grpc_subchannel.
Definition: subchannel_factory.c:43
+
Definition: subchannel.c:77
+
const grpc_subchannel_factory_vtable * vtable
Definition: subchannel_factory.h:46
+
void(* ref)(grpc_subchannel_factory *factory)
Definition: subchannel_factory.h:50
+
void grpc_subchannel_factory_ref(grpc_subchannel_factory *factory)
Definition: subchannel_factory.c:36
+ +
Definition: subchannel_factory.h:49
+
void grpc_subchannel_factory_unref(grpc_subchannel_factory *factory)
Definition: subchannel_factory.c:39
+
void(* unref)(grpc_subchannel_factory *factory)
Definition: subchannel_factory.h:51
+
Constructor for new configured channels.
Definition: subchannel_factory.h:45
+
+ + + + diff --git a/doc/ref/core.internal/html/subprocess_8h.html b/doc/ref/core.internal/html/subprocess_8h.html new file mode 100644 index 0000000000..aca04fc61a --- /dev/null +++ b/doc/ref/core.internal/html/subprocess_8h.html @@ -0,0 +1,226 @@ + + + + + + +GRPC Core: include/grpc/support/subprocess.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
subprocess.h File Reference
+
+
+ +

Go to the source code of this file.

+ + + + +

+Typedefs

typedef struct gpr_subprocess gpr_subprocess
 
+ + + + + + + + + + + +

+Functions

const char * gpr_subprocess_binary_extension ()
 
gpr_subprocessgpr_subprocess_create (int argc, const char **argv)
 
void gpr_subprocess_destroy (gpr_subprocess *p)
 
int gpr_subprocess_join (gpr_subprocess *p)
 
void gpr_subprocess_interrupt (gpr_subprocess *p)
 
+

Typedef Documentation

+ +
+
+ + + + +
typedef struct gpr_subprocess gpr_subprocess
+
+ +
+
+

Function Documentation

+ +
+
+ + + + + + + +
const char* gpr_subprocess_binary_extension ()
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
gpr_subprocess* gpr_subprocess_create (int argc,
const char ** argv 
)
+
+ +
+
+ +
+
+ + + + + + + + +
void gpr_subprocess_destroy (gpr_subprocessp)
+
+ +
+
+ +
+
+ + + + + + + + +
void gpr_subprocess_interrupt (gpr_subprocessp)
+
+ +
+
+ +
+
+ + + + + + + + +
int gpr_subprocess_join (gpr_subprocessp)
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/subprocess_8h_source.html b/doc/ref/core.internal/html/subprocess_8h_source.html new file mode 100644 index 0000000000..9d01479f5b --- /dev/null +++ b/doc/ref/core.internal/html/subprocess_8h_source.html @@ -0,0 +1,162 @@ + + + + + + +GRPC Core: include/grpc/support/subprocess.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
subprocess.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPC_SUPPORT_SUBPROCESS_H
+
35 #define GRPC_SUPPORT_SUBPROCESS_H
+
36 
+
37 #ifdef __cplusplus
+
38 extern "C" {
+
39 #endif
+
40 
+ +
42 
+
43 /* .exe on windows, empty on unices */
+ +
45 
+
46 gpr_subprocess *gpr_subprocess_create(int argc, const char **argv);
+
47 /* if subprocess has not been joined, kill it */
+ +
49 /* returns exit status; can be called at most once */
+ + +
52 
+
53 #ifdef __cplusplus
+
54 } // extern "C"
+
55 #endif
+
56 
+
57 #endif
+
int gpr_subprocess_join(gpr_subprocess *p)
+
void gpr_subprocess_interrupt(gpr_subprocess *p)
+
gpr_subprocess * gpr_subprocess_create(int argc, const char **argv)
+
const char * gpr_subprocess_binary_extension()
+
void gpr_subprocess_destroy(gpr_subprocess *p)
+
struct gpr_subprocess gpr_subprocess
Definition: subprocess.h:41
+
+ + + + diff --git a/doc/ref/core.internal/html/subprocess__posix_8c.html b/doc/ref/core.internal/html/subprocess__posix_8c.html new file mode 100644 index 0000000000..940350afa1 --- /dev/null +++ b/doc/ref/core.internal/html/subprocess__posix_8c.html @@ -0,0 +1,100 @@ + + + + + + +GRPC Core: src/core/support/subprocess_posix.c File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
subprocess_posix.c File Reference
+
+ + + + + diff --git a/doc/ref/core.internal/html/surface__trace_8c.html b/doc/ref/core.internal/html/surface__trace_8c.html new file mode 100644 index 0000000000..8d8db36838 --- /dev/null +++ b/doc/ref/core.internal/html/surface__trace_8c.html @@ -0,0 +1,121 @@ + + + + + + +GRPC Core: src/core/surface/surface_trace.c File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
surface_trace.c File Reference
+
+
+ + + + +

+Variables

int grpc_surface_trace = 0
 
+

Variable Documentation

+ +
+
+ + + + +
int grpc_surface_trace = 0
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/surface__trace_8h.html b/doc/ref/core.internal/html/surface__trace_8h.html new file mode 100644 index 0000000000..224b7baff0 --- /dev/null +++ b/doc/ref/core.internal/html/surface__trace_8h.html @@ -0,0 +1,167 @@ + + + + + + +GRPC Core: src/core/surface/surface_trace.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
surface_trace.h File Reference
+
+
+ +

Go to the source code of this file.

+ + + + +

+Macros

#define GRPC_SURFACE_TRACE_RETURNED_EVENT(cq, event)
 
+ + + +

+Variables

int grpc_surface_trace
 
+

Macro Definition Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
#define GRPC_SURFACE_TRACE_RETURNED_EVENT( cq,
 event 
)
+
+Value:
+
char *_ev = grpc_event_string(event); \
+
gpr_log(GPR_INFO, "RETURN_EVENT[%p]: %s", cq, _ev); \
+
gpr_free(_ev); \
+
}
+
#define GPR_INFO
Definition: log.h:67
+
void gpr_free(void *ptr)
Definition: alloc.c:47
+
void gpr_log(const char *file, int line, gpr_log_severity severity, const char *format,...)
+
char * grpc_event_string(grpc_event *ev)
Definition: event_string.c:56
+
int grpc_surface_trace
Definition: surface_trace.c:36
+
+
+
+

Variable Documentation

+ +
+
+ + + + +
int grpc_surface_trace
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/surface__trace_8h_source.html b/doc/ref/core.internal/html/surface__trace_8h_source.html new file mode 100644 index 0000000000..ed2b0d3784 --- /dev/null +++ b/doc/ref/core.internal/html/surface__trace_8h_source.html @@ -0,0 +1,151 @@ + + + + + + +GRPC Core: src/core/surface/surface_trace.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
surface_trace.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPC_INTERNAL_CORE_SURFACE_SURFACE_TRACE_H
+
35 #define GRPC_INTERNAL_CORE_SURFACE_SURFACE_TRACE_H
+
36 
+
37 #include "src/core/debug/trace.h"
+
38 #include <grpc/support/log.h>
+
39 
+
40 extern int grpc_surface_trace;
+
41 
+
42 #define GRPC_SURFACE_TRACE_RETURNED_EVENT(cq, event) \
+
43  if (grpc_surface_trace) { \
+
44  char *_ev = grpc_event_string(event); \
+
45  gpr_log(GPR_INFO, "RETURN_EVENT[%p]: %s", cq, _ev); \
+
46  gpr_free(_ev); \
+
47  }
+
48 
+
49 #endif /* GRPC_INTERNAL_CORE_SURFACE_SURFACE_TRACE_H */
+ + +
int grpc_surface_trace
Definition: surface_trace.c:36
+
+ + + + diff --git a/doc/ref/core.internal/html/sync_8c.html b/doc/ref/core.internal/html/sync_8c.html new file mode 100644 index 0000000000..ae34d0bbbe --- /dev/null +++ b/doc/ref/core.internal/html/sync_8c.html @@ -0,0 +1,431 @@ + + + + + + +GRPC Core: src/core/support/sync.c File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
sync.c File Reference
+
+
+
#include <grpc/support/log.h>
+#include <grpc/support/sync.h>
+#include <grpc/support/atm.h>
+
+ + + +

+Data Structures

struct  sync_array_s
 
+ + + +

+Enumerations

enum  { event_sync_partitions = 31 + }
 
+ + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

void gpr_event_init (gpr_event *ev)
 
void gpr_event_set (gpr_event *ev, void *value)
 
void * gpr_event_get (gpr_event *ev)
 
void * gpr_event_wait (gpr_event *ev, gpr_timespec abs_deadline)
 
void * gpr_event_cancellable_wait (gpr_event *ev, gpr_timespec abs_deadline, gpr_cancellable *c)
 
void gpr_ref_init (gpr_refcount *r, int n)
 
void gpr_ref (gpr_refcount *r)
 
void gpr_refn (gpr_refcount *r, int n)
 
int gpr_unref (gpr_refcount *r)
 
void gpr_stats_init (gpr_stats_counter *c, gpr_intptr n)
 
void gpr_stats_inc (gpr_stats_counter *c, gpr_intptr inc)
 
gpr_intptr gpr_stats_read (const gpr_stats_counter *c)
 
+

Enumeration Type Documentation

+ +
+
+ + + + +
anonymous enum
+
+ + +
Enumerator
event_sync_partitions  +
+ +
+
+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void* gpr_event_cancellable_wait (gpr_eventev,
gpr_timespec abs_deadline,
gpr_cancellablec 
)
+
+ +
+
+ +
+
+ + + + + + + + +
void* gpr_event_get (gpr_eventev)
+
+ +
+
+ +
+
+ + + + + + + + +
void gpr_event_init (gpr_eventev)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void gpr_event_set (gpr_eventev,
void * value 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void* gpr_event_wait (gpr_eventev,
gpr_timespec abs_deadline 
)
+
+ +
+
+ +
+
+ + + + + + + + +
void gpr_ref (gpr_refcountr)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void gpr_ref_init (gpr_refcountr,
int n 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void gpr_refn (gpr_refcountr,
int n 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void gpr_stats_inc (gpr_stats_counterc,
gpr_intptr inc 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void gpr_stats_init (gpr_stats_counterc,
gpr_intptr n 
)
+
+ +
+
+ +
+
+ + + + + + + + +
gpr_intptr gpr_stats_read (const gpr_stats_counterc)
+
+ +
+
+ +
+
+ + + + + + + + +
int gpr_unref (gpr_refcountr)
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/sync_8h.html b/doc/ref/core.internal/html/sync_8h.html new file mode 100644 index 0000000000..1575b648c9 --- /dev/null +++ b/doc/ref/core.internal/html/sync_8h.html @@ -0,0 +1,740 @@ + + + + + + +GRPC Core: include/grpc/support/sync.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
sync.h File Reference
+
+
+ +

Go to the source code of this file.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

void gpr_mu_init (gpr_mu *mu)
 
void gpr_mu_destroy (gpr_mu *mu)
 
void gpr_mu_lock (gpr_mu *mu)
 
void gpr_mu_unlock (gpr_mu *mu)
 
int gpr_mu_trylock (gpr_mu *mu)
 
void gpr_cv_init (gpr_cv *cv)
 
void gpr_cv_destroy (gpr_cv *cv)
 
int gpr_cv_wait (gpr_cv *cv, gpr_mu *mu, gpr_timespec abs_deadline)
 
int gpr_cv_cancellable_wait (gpr_cv *cv, gpr_mu *mu, gpr_timespec abs_deadline, gpr_cancellable *c)
 
void gpr_cv_signal (gpr_cv *cv)
 
void gpr_cv_broadcast (gpr_cv *cv)
 
void gpr_cancellable_init (gpr_cancellable *c)
 
void gpr_cancellable_destroy (gpr_cancellable *c)
 
int gpr_cancellable_is_cancelled (gpr_cancellable *c)
 
void gpr_cancellable_cancel (gpr_cancellable *c)
 
void gpr_once_init (gpr_once *once, void(*init_routine)(void))
 
void gpr_event_init (gpr_event *ev)
 
void gpr_event_set (gpr_event *ev, void *value)
 
void * gpr_event_get (gpr_event *ev)
 
void * gpr_event_wait (gpr_event *ev, gpr_timespec abs_deadline)
 
void * gpr_event_cancellable_wait (gpr_event *ev, gpr_timespec abs_deadline, gpr_cancellable *c)
 
void gpr_ref_init (gpr_refcount *r, int n)
 
void gpr_ref (gpr_refcount *r)
 
void gpr_refn (gpr_refcount *r, int n)
 
int gpr_unref (gpr_refcount *r)
 
void gpr_stats_init (gpr_stats_counter *c, gpr_intptr n)
 
void gpr_stats_inc (gpr_stats_counter *c, gpr_intptr inc)
 
gpr_intptr gpr_stats_read (const gpr_stats_counter *c)
 
+

Function Documentation

+ +
+
+ + + + + + + + +
void gpr_cancellable_cancel (gpr_cancellablec)
+
+ +
+
+ +
+
+ + + + + + + + +
void gpr_cancellable_destroy (gpr_cancellablec)
+
+ +
+
+ +
+
+ + + + + + + + +
void gpr_cancellable_init (gpr_cancellablec)
+
+ +
+
+ +
+
+ + + + + + + + +
int gpr_cancellable_is_cancelled (gpr_cancellablec)
+
+ +
+
+ +
+
+ + + + + + + + +
void gpr_cv_broadcast (gpr_cvcv)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
int gpr_cv_cancellable_wait (gpr_cvcv,
gpr_mumu,
gpr_timespec abs_deadline,
gpr_cancellablec 
)
+
+ +
+
+ +
+
+ + + + + + + + +
void gpr_cv_destroy (gpr_cvcv)
+
+ +
+
+ +
+
+ + + + + + + + +
void gpr_cv_init (gpr_cvcv)
+
+ +
+
+ +
+
+ + + + + + + + +
void gpr_cv_signal (gpr_cvcv)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
int gpr_cv_wait (gpr_cvcv,
gpr_mumu,
gpr_timespec abs_deadline 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void* gpr_event_cancellable_wait (gpr_eventev,
gpr_timespec abs_deadline,
gpr_cancellablec 
)
+
+ +
+
+ +
+
+ + + + + + + + +
void* gpr_event_get (gpr_eventev)
+
+ +
+
+ +
+
+ + + + + + + + +
void gpr_event_init (gpr_eventev)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void gpr_event_set (gpr_eventev,
void * value 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void* gpr_event_wait (gpr_eventev,
gpr_timespec abs_deadline 
)
+
+ +
+
+ +
+
+ + + + + + + + +
void gpr_mu_destroy (gpr_mumu)
+
+ +
+
+ +
+
+ + + + + + + + +
void gpr_mu_init (gpr_mumu)
+
+ +
+
+ +
+
+ + + + + + + + +
void gpr_mu_lock (gpr_mumu)
+
+ +
+
+ +
+
+ + + + + + + + +
int gpr_mu_trylock (gpr_mumu)
+
+ +
+
+ +
+
+ + + + + + + + +
void gpr_mu_unlock (gpr_mumu)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void gpr_once_init (gpr_onceonce,
void(*)(void) init_routine 
)
+
+ +
+
+ +
+
+ + + + + + + + +
void gpr_ref (gpr_refcountr)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void gpr_ref_init (gpr_refcountr,
int n 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void gpr_refn (gpr_refcountr,
int n 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void gpr_stats_inc (gpr_stats_counterc,
gpr_intptr inc 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void gpr_stats_init (gpr_stats_counterc,
gpr_intptr n 
)
+
+ +
+
+ +
+
+ + + + + + + + +
gpr_intptr gpr_stats_read (const gpr_stats_counterc)
+
+ +
+
+ +
+
+ + + + + + + + +
int gpr_unref (gpr_refcountr)
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/sync_8h_source.html b/doc/ref/core.internal/html/sync_8h_source.html new file mode 100644 index 0000000000..1c76b5acd3 --- /dev/null +++ b/doc/ref/core.internal/html/sync_8h_source.html @@ -0,0 +1,492 @@ + + + + + + +GRPC Core: include/grpc/support/sync.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
sync.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPC_SUPPORT_SYNC_H
+
35 #define GRPC_SUPPORT_SYNC_H
+
36 /* Synchronization primitives for GPR.
+
37 
+
38  The type gpr_mu provides a non-reentrant mutex (lock).
+
39 
+
40  The type gpr_cv provides a condition variable.
+
41 
+
42  The type gpr_once provides for one-time initialization.
+
43 
+
44  The type gpr_event provides one-time-setting, reading, and
+
45  waiting of a void*, with memory barriers.
+
46 
+
47  The type gpr_refcount provides an object reference counter,
+
48  with memory barriers suitable to control
+
49  object lifetimes.
+
50 
+
51  The type gpr_stats_counter provides an atomic statistics counter. It
+
52  provides no memory barriers.
+
53  */
+
54 
+
55 /* Platform-specific type declarations of gpr_mu and gpr_cv. */
+ + +
58 
+
59 #if defined(GPR_POSIX_SYNC)
+ +
61 #elif defined(GPR_WIN32)
+ +
63 #elif !defined(GPR_CUSTOM_SYNC)
+
64 #error Unable to determine platform for sync
+
65 #endif
+
66 
+
67 #include <grpc/support/time.h> /* for gpr_timespec */
+ +
69 
+
70 #ifdef __cplusplus
+
71 extern "C" {
+
72 #endif
+
73 
+
74 /* --- Mutex interface ---
+
75 
+
76  At most one thread may hold an exclusive lock on a mutex at any given time.
+
77  Actions taken by a thread that holds a mutex exclusively happen after
+
78  actions taken by all previous holders of the mutex. Variables of type
+
79  gpr_mu are uninitialized when first declared. */
+
80 
+
81 /* Initialize *mu. Requires: *mu uninitialized. */
+
82 void gpr_mu_init(gpr_mu *mu);
+
83 
+
84 /* Cause *mu no longer to be initialized, freeing any memory in use. Requires:
+
85  *mu initialized; no other concurrent operation on *mu. */
+
86 void gpr_mu_destroy(gpr_mu *mu);
+
87 
+
88 /* Wait until no thread has a lock on *mu, cause the calling thread to own an
+
89  exclusive lock on *mu, then return. May block indefinitely or crash if the
+
90  calling thread has a lock on *mu. Requires: *mu initialized. */
+
91 void gpr_mu_lock(gpr_mu *mu);
+
92 
+
93 /* Release an exclusive lock on *mu held by the calling thread. Requires: *mu
+
94  initialized; the calling thread holds an exclusive lock on *mu. */
+
95 void gpr_mu_unlock(gpr_mu *mu);
+
96 
+
97 /* Without blocking, attempt to acquire an exclusive lock on *mu for the
+
98  calling thread, then return non-zero iff success. Fail, if any thread holds
+
99  the lock; succeeds with high probability if no thread holds the lock.
+
100  Requires: *mu initialized. */
+
101 int gpr_mu_trylock(gpr_mu *mu);
+
102 
+
103 /* --- Condition variable interface ---
+
104 
+
105  A while-loop should be used with gpr_cv_wait() when waiting for conditions
+
106  to become true. See the example below. Variables of type gpr_cv are
+
107  uninitialized when first declared. */
+
108 
+
109 /* Initialize *cv. Requires: *cv uninitialized. */
+
110 void gpr_cv_init(gpr_cv *cv);
+
111 
+
112 /* Cause *cv no longer to be initialized, freeing any memory in use. Requires:
+
113  *cv initialized; no other concurrent operation on *cv.*/
+
114 void gpr_cv_destroy(gpr_cv *cv);
+
115 
+
116 /* Atomically release *mu and wait on *cv. When the calling thread is woken
+
117  from *cv or the deadline abs_deadline is exceeded, execute gpr_mu_lock(mu)
+
118  and return whether the deadline was exceeded. Use
+
119  abs_deadline==gpr_inf_future for no deadline. May return even when not
+
120  woken explicitly. Requires: *mu and *cv initialized; the calling thread
+
121  holds an exclusive lock on *mu. */
+
122 int gpr_cv_wait(gpr_cv *cv, gpr_mu *mu, gpr_timespec abs_deadline);
+
123 
+
124 /* Behave like gpr_cv_wait(cv, mu, abs_deadline), except behave as though
+
125  the deadline has expired if *c is cancelled. */
+
126 int gpr_cv_cancellable_wait(gpr_cv *cv, gpr_mu *mu, gpr_timespec abs_deadline,
+
127  gpr_cancellable *c);
+
128 
+
129 /* If any threads are waiting on *cv, wake at least one.
+
130  Clients may treat this as an optimization of gpr_cv_broadcast()
+
131  for use in the case where waking more than one waiter is not useful.
+
132  Requires: *cv initialized. */
+
133 void gpr_cv_signal(gpr_cv *cv);
+
134 
+
135 /* Wake all threads waiting on *cv. Requires: *cv initialized. */
+
136 void gpr_cv_broadcast(gpr_cv *cv);
+
137 
+
138 /* --- Cancellation ---
+
139  A gpr_cancellable can be used with gpr_cv_cancellable_wait()
+
140  or gpr_event_cancellable_wait() cancel pending waits. */
+
141 
+
142 /* Initialize *c. */
+ +
144 
+
145 /* Cause *c no longer to be initialized, freeing any memory in use. Requires:
+
146  *c initialized; no other concurrent operation on *c. */
+ +
148 
+
149 /* Return non-zero iff *c has been cancelled. Requires *c initialized.
+
150  This call is faster than acquiring a mutex on most platforms. */
+ +
152 
+
153 /* Cancel *c. If *c was not previously cancelled, cause
+
154  gpr_cancellable_init() to return non-zero, and outstanding and future
+
155  calls to gpr_cv_cancellable_wait() and gpr_event_cancellable_wait() to
+
156  return immediately indicating a timeout has occurred; otherwise do nothing.
+
157  Requires *c initialized.*/
+ +
159 
+
160 /* --- One-time initialization ---
+
161 
+
162  gpr_once must be declared with static storage class, and initialized with
+
163  GPR_ONCE_INIT. e.g.,
+
164  static gpr_once once_var = GPR_ONCE_INIT; */
+
165 
+
166 /* Ensure that (*init_routine)() has been called exactly once (for the
+
167  specified gpr_once instance) and then return.
+
168  If multiple threads call gpr_once() on the same gpr_once instance, one of
+
169  them will call (*init_routine)(), and the others will block until that call
+
170  finishes.*/
+
171 void gpr_once_init(gpr_once *once, void (*init_routine)(void));
+
172 
+
173 /* --- One-time event notification ---
+
174 
+
175  These operations act on a gpr_event, which should be initialized with
+
176  gpr_ev_init(), or with GPR_EVENT_INIT if static, e.g.,
+
177  static gpr_event event_var = GPR_EVENT_INIT;
+
178  It requires no destruction. */
+
179 
+
180 /* Initialize *ev. */
+
181 void gpr_event_init(gpr_event *ev);
+
182 
+
183 /* Set *ev so that gpr_event_get() and gpr_event_wait() will return value.
+
184  Requires: *ev initialized; value != NULL; no prior or concurrent calls to
+
185  gpr_event_set(ev, ...) since initialization. */
+
186 void gpr_event_set(gpr_event *ev, void *value);
+
187 
+
188 /* Return the value set by gpr_event_set(ev, ...), or NULL if no such call has
+
189  completed. If the result is non-NULL, all operations that occurred prior to
+
190  the gpr_event_set(ev, ...) set will be visible after this call returns.
+
191  Requires: *ev initialized. This operation is faster than acquiring a mutex
+
192  on most platforms. */
+
193 void *gpr_event_get(gpr_event *ev);
+
194 
+
195 /* Wait until *ev is set by gpr_event_set(ev, ...), or abs_deadline is
+
196  exceeded, then return gpr_event_get(ev). Requires: *ev initialized. Use
+
197  abs_deadline==gpr_inf_future for no deadline. When the event has been
+
198  signalled before the call, this operation is faster than acquiring a mutex
+
199  on most platforms. */
+
200 void *gpr_event_wait(gpr_event *ev, gpr_timespec abs_deadline);
+
201 
+
202 /* Behave like gpr_event_wait(ev, abs_deadline), except behave as though
+
203  the deadline has expired if *c is cancelled. */
+
204 void *gpr_event_cancellable_wait(gpr_event *ev, gpr_timespec abs_deadline,
+
205  gpr_cancellable *c);
+
206 
+
207 /* --- Reference counting ---
+
208 
+
209  These calls act on the type gpr_refcount. It requires no destruction. */
+
210 
+
211 /* Initialize *r to value n. */
+
212 void gpr_ref_init(gpr_refcount *r, int n);
+
213 
+
214 /* Increment the reference count *r. Requires *r initialized. */
+
215 void gpr_ref(gpr_refcount *r);
+
216 
+
217 /* Increment the reference count *r by n. Requires *r initialized, n > 0. */
+
218 void gpr_refn(gpr_refcount *r, int n);
+
219 
+
220 /* Decrement the reference count *r and return non-zero iff it has reached
+
221  zero. . Requires *r initialized. */
+
222 int gpr_unref(gpr_refcount *r);
+
223 
+
224 /* --- Stats counters ---
+
225 
+
226  These calls act on the integral type gpr_stats_counter. It requires no
+
227  destruction. Static instances may be initialized with
+
228  gpr_stats_counter c = GPR_STATS_INIT;
+
229  Beware: These operations do not imply memory barriers. Do not use them to
+
230  synchronize other events. */
+
231 
+
232 /* Initialize *c to the value n. */
+ +
234 
+
235 /* *c += inc. Requires: *c initialized. */
+ +
237 
+
238 /* Return *c. Requires: *c initialized. */
+ +
240 
+
241 /* ==================Example use of interface===================
+
242  A producer-consumer queue of up to N integers,
+
243  illustrating the use of the calls in this interface. */
+
244 #if 0
+
245 
+
246 #define N 4
+
247 
+
248  typedef struct queue {
+
249  gpr_cv non_empty; /* Signalled when length becomes non-zero. */
+
250  gpr_cv non_full; /* Signalled when length becomes non-N. */
+
251  gpr_mu mu; /* Protects all fields below.
+
252  (That is, except during initialization or
+
253  destruction, the fields below should be accessed
+
254  only by a thread that holds mu.) */
+
255  int head; /* Index of head of queue 0..N-1. */
+
256  int length; /* Number of valid elements in queue 0..N. */
+
257  int elem[N]; /* elem[head .. head+length-1] are queue elements. */
+
258  } queue;
+
259 
+
260  /* Initialize *q. */
+
261  void queue_init(queue *q) {
+
262  gpr_mu_init(&q->mu);
+
263  gpr_cv_init(&q->non_empty);
+
264  gpr_cv_init(&q->non_full);
+
265  q->head = 0;
+
266  q->length = 0;
+
267  }
+
268 
+
269  /* Free storage associated with *q. */
+
270  void queue_destroy(queue *q) {
+
271  gpr_mu_destroy(&q->mu);
+
272  gpr_cv_destroy(&q->non_empty);
+
273  gpr_cv_destroy(&q->non_full);
+
274  }
+
275 
+
276  /* Wait until there is room in *q, then append x to *q. */
+
277  void queue_append(queue *q, int x) {
+
278  gpr_mu_lock(&q->mu);
+
279  /* To wait for a predicate without a deadline, loop on the negation of the
+
280  predicate, and use gpr_cv_wait(..., gpr_inf_future) inside the loop
+
281  to release the lock, wait, and reacquire on each iteration. Code that
+
282  makes the condition true should use gpr_cv_broadcast() on the
+
283  corresponding condition variable. The predicate must be on state
+
284  protected by the lock. */
+
285  while (q->length == N) {
+
286  gpr_cv_wait(&q->non_full, &q->mu, gpr_inf_future);
+
287  }
+
288  if (q->length == 0) { /* Wake threads blocked in queue_remove(). */
+
289  /* It's normal to use gpr_cv_broadcast() or gpr_signal() while
+
290  holding the lock. */
+
291  gpr_cv_broadcast(&q->non_empty);
+
292  }
+
293  q->elem[(q->head + q->length) % N] = x;
+
294  q->length++;
+
295  gpr_mu_unlock(&q->mu);
+
296  }
+
297 
+
298  /* If it can be done without blocking, append x to *q and return non-zero.
+
299  Otherwise return 0. */
+
300  int queue_try_append(queue *q, int x) {
+
301  int result = 0;
+
302  if (gpr_mu_trylock(&q->mu)) {
+
303  if (q->length != N) {
+
304  if (q->length == 0) { /* Wake threads blocked in queue_remove(). */
+
305  gpr_cv_broadcast(&q->non_empty);
+
306  }
+
307  q->elem[(q->head + q->length) % N] = x;
+
308  q->length++;
+
309  result = 1;
+
310  }
+
311  gpr_mu_unlock(&q->mu);
+
312  }
+
313  return result;
+
314  }
+
315 
+
316  /* Wait until the *q is non-empty or deadline abs_deadline passes. If the
+
317  queue is non-empty, remove its head entry, place it in *head, and return
+
318  non-zero. Otherwise return 0. */
+
319  int queue_remove(queue *q, int *head, gpr_timespec abs_deadline) {
+
320  int result = 0;
+
321  gpr_mu_lock(&q->mu);
+
322  /* To wait for a predicate with a deadline, loop on the negation of the
+
323  predicate or until gpr_cv_wait() returns true. Code that makes
+
324  the condition true should use gpr_cv_broadcast() on the corresponding
+
325  condition variable. The predicate must be on state protected by the
+
326  lock. */
+
327  while (q->length == 0 &&
+
328  !gpr_cv_wait(&q->non_empty, &q->mu, abs_deadline)) {
+
329  }
+
330  if (q->length != 0) { /* Queue is non-empty. */
+
331  result = 1;
+
332  if (q->length == N) { /* Wake threads blocked in queue_append(). */
+
333  gpr_cv_broadcast(&q->non_full);
+
334  }
+
335  *head = q->elem[q->head];
+
336  q->head = (q->head + 1) % N;
+
337  q->length--;
+
338  } /* else deadline exceeded */
+
339  gpr_mu_unlock(&q->mu);
+
340  return result;
+
341  }
+
342 #endif /* 0 */
+
343 
+
344 #ifdef __cplusplus
+
345 }
+
346 #endif
+
347 
+
348 #endif /* GRPC_SUPPORT_SYNC_H */
+ +
const char * value
Definition: hpack_table.c:44
+
void gpr_mu_lock(gpr_mu *mu)
+
void gpr_ref(gpr_refcount *r)
Definition: sync.c:114
+
void gpr_stats_inc(gpr_stats_counter *c, gpr_intptr inc)
Definition: sync.c:130
+
void * gpr_event_get(gpr_event *ev)
Definition: sync.c:80
+ +
int gpr_cancellable_is_cancelled(gpr_cancellable *c)
Definition: cancellable.c:51
+
intptr_t gpr_intptr
Definition: port_platform.h:312
+
void gpr_refn(gpr_refcount *r, int n)
Definition: sync.c:116
+
Definition: sync_generic.h:49
+
void gpr_once_init(gpr_once *once, void(*init_routine)(void))
+ +
gpr_intptr gpr_stats_read(const gpr_stats_counter *c)
Definition: sync.c:134
+
void gpr_cv_destroy(gpr_cv *cv)
+ +
int gpr_cv_cancellable_wait(gpr_cv *cv, gpr_mu *mu, gpr_timespec abs_deadline, gpr_cancellable *c)
Definition: cancellable.c:133
+ +
int gpr_mu_trylock(gpr_mu *mu)
+
int gpr_cv_wait(gpr_cv *cv, gpr_mu *mu, gpr_timespec abs_deadline)
+
void * gpr_event_wait(gpr_event *ev, gpr_timespec abs_deadline)
Definition: sync.c:84
+
gpr_timespec gpr_inf_future(gpr_clock_type type)
Definition: time.c:83
+
void gpr_event_set(gpr_event *ev, void *value)
Definition: sync.c:70
+
pthread_once_t gpr_once
Definition: sync_posix.h:43
+
Definition: sync_generic.h:54
+
pthread_cond_t gpr_cv
Definition: sync_posix.h:42
+
void gpr_mu_init(gpr_mu *mu)
+
Definition: cancellable_platform.h:50
+
int gpr_unref(gpr_refcount *r)
Definition: sync.c:120
+
Definition: sync_win32.h:39
+
void gpr_cancellable_destroy(gpr_cancellable *c)
Definition: cancellable.c:49
+
void gpr_mu_unlock(gpr_mu *mu)
+
void gpr_cv_signal(gpr_cv *cv)
+
void gpr_cancellable_init(gpr_cancellable *c)
Definition: cancellable.c:40
+
void gpr_cancellable_cancel(gpr_cancellable *c)
Definition: cancellable.c:81
+ +
void gpr_cv_init(gpr_cv *cv)
+
void gpr_stats_init(gpr_stats_counter *c, gpr_intptr n)
Definition: sync.c:126
+
void * gpr_event_cancellable_wait(gpr_event *ev, gpr_timespec abs_deadline, gpr_cancellable *c)
Definition: sync.c:97
+
void gpr_event_init(gpr_event *ev)
Definition: sync.c:65
+
void gpr_mu_destroy(gpr_mu *mu)
+
Definition: time.h:60
+
Definition: sync_generic.h:41
+
void gpr_cv_broadcast(gpr_cv *cv)
+
void gpr_ref_init(gpr_refcount *r, int n)
Definition: sync.c:112
+
+ + + + diff --git a/doc/ref/core.internal/html/sync__generic_8h.html b/doc/ref/core.internal/html/sync__generic_8h.html new file mode 100644 index 0000000000..3095f80885 --- /dev/null +++ b/doc/ref/core.internal/html/sync__generic_8h.html @@ -0,0 +1,147 @@ + + + + + + +GRPC Core: include/grpc/support/sync_generic.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
sync_generic.h File Reference
+
+
+
#include <grpc/support/atm.h>
+
+

Go to the source code of this file.

+ + + + + + + + +

+Data Structures

struct  gpr_event
 
struct  gpr_refcount
 
struct  gpr_stats_counter
 
+ + + + + +

+Macros

#define GPR_EVENT_INIT   { 0 }
 
#define GPR_STATS_INIT   { 0 }
 
+

Macro Definition Documentation

+ +
+
+ + + + +
#define GPR_EVENT_INIT   { 0 }
+
+ +
+
+ +
+
+ + + + +
#define GPR_STATS_INIT   { 0 }
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/sync__generic_8h_source.html b/doc/ref/core.internal/html/sync__generic_8h_source.html new file mode 100644 index 0000000000..f4c6cfb83e --- /dev/null +++ b/doc/ref/core.internal/html/sync__generic_8h_source.html @@ -0,0 +1,168 @@ + + + + + + +GRPC Core: include/grpc/support/sync_generic.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
sync_generic.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPC_SUPPORT_SYNC_GENERIC_H
+
35 #define GRPC_SUPPORT_SYNC_GENERIC_H
+
36 /* Generic type defintions for gpr_sync. */
+
37 
+
38 #include <grpc/support/atm.h>
+
39 
+
40 /* gpr_event */
+
41 typedef struct {
+ +
43 } gpr_event;
+
44 
+
45 #define GPR_EVENT_INIT \
+
46  { 0 }
+
47 
+
48 /* gpr_refcount */
+
49 typedef struct {
+ +
51 } gpr_refcount;
+
52 
+
53 /* gpr_stats_counter */
+
54 typedef struct {
+ + +
57 
+
58 #define GPR_STATS_INIT \
+
59  { 0 }
+
60 
+
61 #endif /* GRPC_SUPPORT_SYNC_GENERIC_H */
+
Definition: sync_generic.h:49
+ +
gpr_atm count
Definition: sync_generic.h:50
+
gpr_atm state
Definition: sync_generic.h:42
+
Definition: sync_generic.h:54
+
gpr_atm value
Definition: sync_generic.h:55
+
Definition: sync_generic.h:41
+
gpr_intptr gpr_atm
Definition: atm_gcc_atomic.h:41
+
+ + + + diff --git a/doc/ref/core.internal/html/sync__posix_8c.html b/doc/ref/core.internal/html/sync__posix_8c.html new file mode 100644 index 0000000000..0134159016 --- /dev/null +++ b/doc/ref/core.internal/html/sync__posix_8c.html @@ -0,0 +1,100 @@ + + + + + + +GRPC Core: src/core/support/sync_posix.c File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
sync_posix.c File Reference
+
+ + + + + diff --git a/doc/ref/core.internal/html/sync__posix_8h.html b/doc/ref/core.internal/html/sync__posix_8h.html new file mode 100644 index 0000000000..d663bafc8d --- /dev/null +++ b/doc/ref/core.internal/html/sync__posix_8h.html @@ -0,0 +1,171 @@ + + + + + + +GRPC Core: include/grpc/support/sync_posix.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
sync_posix.h File Reference
+
+
+
#include <grpc/support/sync_generic.h>
+#include <pthread.h>
+
+

Go to the source code of this file.

+ + + + +

+Macros

#define GPR_ONCE_INIT   PTHREAD_ONCE_INIT
 
+ + + + + + + +

+Typedefs

typedef pthread_mutex_t gpr_mu
 
typedef pthread_cond_t gpr_cv
 
typedef pthread_once_t gpr_once
 
+

Macro Definition Documentation

+ +
+
+ + + + +
#define GPR_ONCE_INIT   PTHREAD_ONCE_INIT
+
+ +
+
+

Typedef Documentation

+ +
+
+ + + + +
typedef pthread_cond_t gpr_cv
+
+ +
+
+ +
+
+ + + + +
typedef pthread_mutex_t gpr_mu
+
+ +
+
+ +
+
+ + + + +
typedef pthread_once_t gpr_once
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/sync__posix_8h_source.html b/doc/ref/core.internal/html/sync__posix_8h_source.html new file mode 100644 index 0000000000..8ba372c999 --- /dev/null +++ b/doc/ref/core.internal/html/sync__posix_8h_source.html @@ -0,0 +1,150 @@ + + + + + + +GRPC Core: include/grpc/support/sync_posix.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
sync_posix.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPC_SUPPORT_SYNC_POSIX_H
+
35 #define GRPC_SUPPORT_SYNC_POSIX_H
+
36 
+ +
38 
+
39 #include <pthread.h>
+
40 
+
41 typedef pthread_mutex_t gpr_mu;
+
42 typedef pthread_cond_t gpr_cv;
+
43 typedef pthread_once_t gpr_once;
+
44 
+
45 #define GPR_ONCE_INIT PTHREAD_ONCE_INIT
+
46 
+
47 #endif /* GRPC_SUPPORT_SYNC_POSIX_H */
+ +
pthread_mutex_t gpr_mu
Definition: sync_posix.h:41
+
pthread_once_t gpr_once
Definition: sync_posix.h:43
+
pthread_cond_t gpr_cv
Definition: sync_posix.h:42
+
+ + + + diff --git a/doc/ref/core.internal/html/sync__win32_8c.html b/doc/ref/core.internal/html/sync__win32_8c.html new file mode 100644 index 0000000000..e36709efa8 --- /dev/null +++ b/doc/ref/core.internal/html/sync__win32_8c.html @@ -0,0 +1,100 @@ + + + + + + +GRPC Core: src/core/support/sync_win32.c File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
sync_win32.c File Reference
+
+ + + + + diff --git a/doc/ref/core.internal/html/sync__win32_8h.html b/doc/ref/core.internal/html/sync__win32_8h.html new file mode 100644 index 0000000000..b39723891b --- /dev/null +++ b/doc/ref/core.internal/html/sync__win32_8h.html @@ -0,0 +1,162 @@ + + + + + + +GRPC Core: include/grpc/support/sync_win32.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
sync_win32.h File Reference
+
+
+ +

Go to the source code of this file.

+ + + + +

+Data Structures

struct  gpr_mu
 
+ + + +

+Macros

#define GPR_ONCE_INIT   INIT_ONCE_STATIC_INIT
 
+ + + + + +

+Typedefs

typedef CONDITION_VARIABLE gpr_cv
 
typedef INIT_ONCE gpr_once
 
+

Macro Definition Documentation

+ +
+
+ + + + +
#define GPR_ONCE_INIT   INIT_ONCE_STATIC_INIT
+
+ +
+
+

Typedef Documentation

+ +
+
+ + + + +
typedef CONDITION_VARIABLE gpr_cv
+
+ +
+
+ +
+
+ + + + +
typedef INIT_ONCE gpr_once
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/sync__win32_8h_source.html b/doc/ref/core.internal/html/sync__win32_8h_source.html new file mode 100644 index 0000000000..b70f3aca69 --- /dev/null +++ b/doc/ref/core.internal/html/sync__win32_8h_source.html @@ -0,0 +1,154 @@ + + + + + + +GRPC Core: include/grpc/support/sync_win32.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
sync_win32.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPC_SUPPORT_SYNC_WIN32_H
+
35 #define GRPC_SUPPORT_SYNC_WIN32_H
+
36 
+ +
38 
+
39 typedef struct {
+
40  CRITICAL_SECTION cs; /* Not an SRWLock until Vista is unsupported */
+
41  int locked;
+
42 } gpr_mu;
+
43 
+
44 typedef CONDITION_VARIABLE gpr_cv;
+
45 
+
46 typedef INIT_ONCE gpr_once;
+
47 #define GPR_ONCE_INIT INIT_ONCE_STATIC_INIT
+
48 
+
49 #endif /* GRPC_SUPPORT_SYNC_WIN32_H */
+ +
pthread_mutex_t gpr_mu
Definition: sync_posix.h:41
+
CONDITION_VARIABLE gpr_cv
Definition: sync_win32.h:44
+
int locked
Definition: sync_win32.h:41
+
INIT_ONCE gpr_once
Definition: sync_win32.h:46
+
CRITICAL_SECTION cs
Definition: sync_win32.h:40
+
+ + + + diff --git a/doc/ref/core.internal/html/sync_off.png b/doc/ref/core.internal/html/sync_off.png new file mode 100644 index 0000000000..3b443fc628 Binary files /dev/null and b/doc/ref/core.internal/html/sync_off.png differ diff --git a/doc/ref/core.internal/html/sync_on.png b/doc/ref/core.internal/html/sync_on.png new file mode 100644 index 0000000000..e08320fb64 Binary files /dev/null and b/doc/ref/core.internal/html/sync_on.png differ diff --git a/doc/ref/core.internal/html/tab_a.png b/doc/ref/core.internal/html/tab_a.png new file mode 100644 index 0000000000..3b725c41c5 Binary files /dev/null and b/doc/ref/core.internal/html/tab_a.png differ diff --git a/doc/ref/core.internal/html/tab_b.png b/doc/ref/core.internal/html/tab_b.png new file mode 100644 index 0000000000..e2b4a8638c Binary files /dev/null and b/doc/ref/core.internal/html/tab_b.png differ diff --git a/doc/ref/core.internal/html/tab_h.png b/doc/ref/core.internal/html/tab_h.png new file mode 100644 index 0000000000..fd5cb70548 Binary files /dev/null and b/doc/ref/core.internal/html/tab_h.png differ diff --git a/doc/ref/core.internal/html/tab_s.png b/doc/ref/core.internal/html/tab_s.png new file mode 100644 index 0000000000..ab478c95b6 Binary files /dev/null and b/doc/ref/core.internal/html/tab_s.png differ diff --git a/doc/ref/core.internal/html/tabs.css b/doc/ref/core.internal/html/tabs.css new file mode 100644 index 0000000000..9cf578f23a --- /dev/null +++ b/doc/ref/core.internal/html/tabs.css @@ -0,0 +1,60 @@ +.tabs, .tabs2, .tabs3 { + background-image: url('tab_b.png'); + width: 100%; + z-index: 101; + font-size: 13px; + font-family: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif; +} + +.tabs2 { + font-size: 10px; +} +.tabs3 { + font-size: 9px; +} + +.tablist { + margin: 0; + padding: 0; + display: table; +} + +.tablist li { + float: left; + display: table-cell; + background-image: url('tab_b.png'); + line-height: 36px; + list-style: none; +} + +.tablist a { + display: block; + padding: 0 20px; + font-weight: bold; + background-image:url('tab_s.png'); + background-repeat:no-repeat; + background-position:right; + color: #283A5D; + text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); + text-decoration: none; + outline: none; +} + +.tabs3 .tablist a { + padding: 0 10px; +} + +.tablist a:hover { + background-image: url('tab_h.png'); + background-repeat:repeat-x; + color: #fff; + text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0); + text-decoration: none; +} + +.tablist li.current a { + background-image: url('tab_a.png'); + background-repeat:repeat-x; + color: #fff; + text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0); +} diff --git a/doc/ref/core.internal/html/tcp__client_8h.html b/doc/ref/core.internal/html/tcp__client_8h.html new file mode 100644 index 0000000000..95fb2a096b --- /dev/null +++ b/doc/ref/core.internal/html/tcp__client_8h.html @@ -0,0 +1,164 @@ + + + + + + +GRPC Core: src/core/iomgr/tcp_client.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
tcp_client.h File Reference
+
+
+ +

Go to the source code of this file.

+ + + + +

+Functions

void grpc_tcp_client_connect (void(*cb)(void *arg, grpc_endpoint *tcp), void *arg, grpc_pollset_set *interested_parties, const struct sockaddr *addr, int addr_len, gpr_timespec deadline)
 
+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void grpc_tcp_client_connect (void(*)(void *arg, grpc_endpoint *tcp) cb,
void * arg,
grpc_pollset_setinterested_parties,
const struct sockaddr * addr,
int addr_len,
gpr_timespec deadline 
)
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/tcp__client_8h_source.html b/doc/ref/core.internal/html/tcp__client_8h_source.html new file mode 100644 index 0000000000..ef429d924a --- /dev/null +++ b/doc/ref/core.internal/html/tcp__client_8h_source.html @@ -0,0 +1,160 @@ + + + + + + +GRPC Core: src/core/iomgr/tcp_client.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
tcp_client.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPC_INTERNAL_CORE_IOMGR_TCP_CLIENT_H
+
35 #define GRPC_INTERNAL_CORE_IOMGR_TCP_CLIENT_H
+
36 
+ + + +
40 #include <grpc/support/time.h>
+
41 
+
42 /* Asynchronously connect to an address (specified as (addr, len)), and call
+
43  cb with arg and the completed connection when done (or call cb with arg and
+
44  NULL on failure).
+
45  interested_parties points to a set of pollsets that would be interested
+
46  in this connection being established (in order to continue their work) */
+
47 void grpc_tcp_client_connect(void (*cb)(void *arg, grpc_endpoint *tcp),
+
48  void *arg, grpc_pollset_set *interested_parties,
+
49  const struct sockaddr *addr, int addr_len,
+
50  gpr_timespec deadline);
+
51 
+
52 #endif /* GRPC_INTERNAL_CORE_IOMGR_TCP_CLIENT_H */
+ + +
void grpc_tcp_client_connect(void(*cb)(void *arg, grpc_endpoint *tcp), void *arg, grpc_pollset_set *interested_parties, const struct sockaddr *addr, int addr_len, gpr_timespec deadline)
+
Definition: cmdline.c:47
+
Definition: endpoint.h:108
+ +
Definition: time.h:60
+ +
Definition: pollset_set_posix.h:40
+
+ + + + diff --git a/doc/ref/core.internal/html/tcp__client__posix_8c.html b/doc/ref/core.internal/html/tcp__client__posix_8c.html new file mode 100644 index 0000000000..15b89745ee --- /dev/null +++ b/doc/ref/core.internal/html/tcp__client__posix_8c.html @@ -0,0 +1,100 @@ + + + + + + +GRPC Core: src/core/iomgr/tcp_client_posix.c File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
tcp_client_posix.c File Reference
+
+ + + + + diff --git a/doc/ref/core.internal/html/tcp__client__windows_8c.html b/doc/ref/core.internal/html/tcp__client__windows_8c.html new file mode 100644 index 0000000000..25c6c1252f --- /dev/null +++ b/doc/ref/core.internal/html/tcp__client__windows_8c.html @@ -0,0 +1,100 @@ + + + + + + +GRPC Core: src/core/iomgr/tcp_client_windows.c File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
tcp_client_windows.c File Reference
+
+ + + + + diff --git a/doc/ref/core.internal/html/tcp__posix_8c.html b/doc/ref/core.internal/html/tcp__posix_8c.html new file mode 100644 index 0000000000..7f1e8acfee --- /dev/null +++ b/doc/ref/core.internal/html/tcp__posix_8c.html @@ -0,0 +1,100 @@ + + + + + + +GRPC Core: src/core/iomgr/tcp_posix.c File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
tcp_posix.c File Reference
+
+ + + + + diff --git a/doc/ref/core.internal/html/tcp__posix_8h.html b/doc/ref/core.internal/html/tcp__posix_8h.html new file mode 100644 index 0000000000..f42d23e9d2 --- /dev/null +++ b/doc/ref/core.internal/html/tcp__posix_8h.html @@ -0,0 +1,182 @@ + + + + + + +GRPC Core: src/core/iomgr/tcp_posix.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
tcp_posix.h File Reference
+
+
+ +

Go to the source code of this file.

+ + + + +

+Macros

#define GRPC_TCP_DEFAULT_READ_SLICE_SIZE   8192
 
+ + + +

+Functions

grpc_endpointgrpc_tcp_create (grpc_fd *fd, size_t read_slice_size, const char *peer_string)
 
+ + + +

+Variables

int grpc_tcp_trace
 
+

Macro Definition Documentation

+ +
+
+ + + + +
#define GRPC_TCP_DEFAULT_READ_SLICE_SIZE   8192
+
+ +
+
+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
grpc_endpoint* grpc_tcp_create (grpc_fdfd,
size_t read_slice_size,
const char * peer_string 
)
+
+ +
+
+

Variable Documentation

+ +
+
+ + + + +
int grpc_tcp_trace
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/tcp__posix_8h_source.html b/doc/ref/core.internal/html/tcp__posix_8h_source.html new file mode 100644 index 0000000000..a6c952f1d3 --- /dev/null +++ b/doc/ref/core.internal/html/tcp__posix_8h_source.html @@ -0,0 +1,164 @@ + + + + + + +GRPC Core: src/core/iomgr/tcp_posix.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
tcp_posix.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPC_INTERNAL_CORE_IOMGR_TCP_POSIX_H
+
35 #define GRPC_INTERNAL_CORE_IOMGR_TCP_POSIX_H
+
36 /*
+
37  Low level TCP "bottom half" implementation, for use by transports built on
+
38  top of a TCP connection.
+
39 
+
40  Note that this file does not (yet) include APIs for creating the socket in
+
41  the first place.
+
42 
+
43  All calls passing slice transfer ownership of a slice refcount unless
+
44  otherwise specified.
+
45 */
+
46 
+ + +
49 
+
50 #define GRPC_TCP_DEFAULT_READ_SLICE_SIZE 8192
+
51 
+
52 extern int grpc_tcp_trace;
+
53 
+
54 /* Create a tcp endpoint given a file desciptor and a read slice size.
+
55  Takes ownership of fd. */
+
56 grpc_endpoint *grpc_tcp_create(grpc_fd *fd, size_t read_slice_size,
+
57  const char *peer_string);
+
58 
+
59 #endif /* GRPC_INTERNAL_CORE_IOMGR_TCP_POSIX_H */
+
int grpc_tcp_trace
+
grpc_endpoint * grpc_tcp_create(grpc_fd *fd, size_t read_slice_size, const char *peer_string)
+ +
Definition: endpoint.h:108
+ +
Definition: fd_posix.h:52
+
+ + + + diff --git a/doc/ref/core.internal/html/tcp__server_8h.html b/doc/ref/core.internal/html/tcp__server_8h.html new file mode 100644 index 0000000000..3e08f1aea8 --- /dev/null +++ b/doc/ref/core.internal/html/tcp__server_8h.html @@ -0,0 +1,302 @@ + + + + + + +GRPC Core: src/core/iomgr/tcp_server.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
tcp_server.h File Reference
+
+
+ +

Go to the source code of this file.

+ + + + + + +

+Typedefs

typedef struct grpc_tcp_server grpc_tcp_server
 
typedef void(* grpc_tcp_server_cb )(void *arg, grpc_endpoint *ep)
 
+ + + + + + + + + + + +

+Functions

grpc_tcp_servergrpc_tcp_server_create (void)
 
void grpc_tcp_server_start (grpc_tcp_server *server, grpc_pollset **pollsets, size_t pollset_count, grpc_tcp_server_cb cb, void *cb_arg)
 
int grpc_tcp_server_add_port (grpc_tcp_server *s, const void *addr, int addr_len)
 
int grpc_tcp_server_get_fd (grpc_tcp_server *s, unsigned index)
 
void grpc_tcp_server_destroy (grpc_tcp_server *server, void(*shutdown_done)(void *shutdown_done_arg), void *shutdown_done_arg)
 
+

Typedef Documentation

+ +
+
+ + + + +
typedef struct grpc_tcp_server grpc_tcp_server
+
+ +
+
+ +
+
+ + + + +
typedef void(* grpc_tcp_server_cb)(void *arg, grpc_endpoint *ep)
+
+ +
+
+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
int grpc_tcp_server_add_port (grpc_tcp_servers,
const void * addr,
int addr_len 
)
+
+ +
+
+ +
+
+ + + + + + + + +
grpc_tcp_server* grpc_tcp_server_create (void )
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void grpc_tcp_server_destroy (grpc_tcp_serverserver,
void(*)(void *shutdown_done_arg) shutdown_done,
void * shutdown_done_arg 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
int grpc_tcp_server_get_fd (grpc_tcp_servers,
unsigned index 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void grpc_tcp_server_start (grpc_tcp_serverserver,
grpc_pollset ** pollsets,
size_t pollset_count,
grpc_tcp_server_cb cb,
void * cb_arg 
)
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/tcp__server_8h_source.html b/doc/ref/core.internal/html/tcp__server_8h_source.html new file mode 100644 index 0000000000..f74364d4c7 --- /dev/null +++ b/doc/ref/core.internal/html/tcp__server_8h_source.html @@ -0,0 +1,188 @@ + + + + + + +GRPC Core: src/core/iomgr/tcp_server.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
tcp_server.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPC_INTERNAL_CORE_IOMGR_TCP_SERVER_H
+
35 #define GRPC_INTERNAL_CORE_IOMGR_TCP_SERVER_H
+
36 
+ +
38 
+
39 /* Forward decl of grpc_tcp_server */
+ +
41 
+
42 /* New server callback: tcp is the newly connected tcp connection */
+
43 typedef void (*grpc_tcp_server_cb)(void *arg, grpc_endpoint *ep);
+
44 
+
45 /* Create a server, initially not bound to any ports */
+ +
47 
+
48 /* Start listening to bound ports */
+
49 void grpc_tcp_server_start(grpc_tcp_server *server, grpc_pollset **pollsets,
+
50  size_t pollset_count, grpc_tcp_server_cb cb,
+
51  void *cb_arg);
+
52 
+
53 /* Add a port to the server, returning port number on success, or negative
+
54  on failure.
+
55 
+
56  The :: and 0.0.0.0 wildcard addresses are treated identically, accepting
+
57  both IPv4 and IPv6 connections, but :: is the preferred style. This usually
+
58  creates one socket, but possibly two on systems which support IPv6,
+
59  but not dualstack sockets.
+
60 
+
61  For raw access to the underlying sockets, see grpc_tcp_server_get_fd(). */
+
62 /* TODO(ctiller): deprecate this, and make grpc_tcp_server_add_ports to handle
+
63  all of the multiple socket port matching logic in one place */
+
64 int grpc_tcp_server_add_port(grpc_tcp_server *s, const void *addr,
+
65  int addr_len);
+
66 
+
67 /* Returns the file descriptor of the Nth listening socket on this server,
+
68  or -1 if the index is out of bounds.
+
69 
+
70  The file descriptor remains owned by the server, and will be cleaned
+
71  up when grpc_tcp_server_destroy is called. */
+
72 int grpc_tcp_server_get_fd(grpc_tcp_server *s, unsigned index);
+
73 
+ +
75  void (*shutdown_done)(void *shutdown_done_arg),
+
76  void *shutdown_done_arg);
+
77 
+
78 #endif /* GRPC_INTERNAL_CORE_IOMGR_TCP_SERVER_H */
+
void grpc_tcp_server_destroy(grpc_tcp_server *server, void(*shutdown_done)(void *shutdown_done_arg), void *shutdown_done_arg)
+
grpc_tcp_server * grpc_tcp_server_create(void)
+
Definition: pollset_posix.h:48
+
void(* grpc_tcp_server_cb)(void *arg, grpc_endpoint *ep)
Definition: tcp_server.h:43
+
void grpc_tcp_server_start(grpc_tcp_server *server, grpc_pollset **pollsets, size_t pollset_count, grpc_tcp_server_cb cb, void *cb_arg)
+
struct arg arg
+
Definition: endpoint.h:108
+ +
struct grpc_tcp_server grpc_tcp_server
Definition: tcp_server.h:40
+
int grpc_tcp_server_get_fd(grpc_tcp_server *s, unsigned index)
+
int grpc_tcp_server_add_port(grpc_tcp_server *s, const void *addr, int addr_len)
+
+ + + + diff --git a/doc/ref/core.internal/html/tcp__server__posix_8c.html b/doc/ref/core.internal/html/tcp__server__posix_8c.html new file mode 100644 index 0000000000..c9bee9af23 --- /dev/null +++ b/doc/ref/core.internal/html/tcp__server__posix_8c.html @@ -0,0 +1,121 @@ + + + + + + +GRPC Core: src/core/iomgr/tcp_server_posix.c File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
tcp_server_posix.c File Reference
+
+
+ + + + +

+Macros

#define _GNU_SOURCE
 
+

Macro Definition Documentation

+ +
+
+ + + + +
#define _GNU_SOURCE
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/tcp__server__windows_8c.html b/doc/ref/core.internal/html/tcp__server__windows_8c.html new file mode 100644 index 0000000000..8c1fd05e89 --- /dev/null +++ b/doc/ref/core.internal/html/tcp__server__windows_8c.html @@ -0,0 +1,100 @@ + + + + + + +GRPC Core: src/core/iomgr/tcp_server_windows.c File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
tcp_server_windows.c File Reference
+
+ + + + + diff --git a/doc/ref/core.internal/html/tcp__windows_8c.html b/doc/ref/core.internal/html/tcp__windows_8c.html new file mode 100644 index 0000000000..9272e07580 --- /dev/null +++ b/doc/ref/core.internal/html/tcp__windows_8c.html @@ -0,0 +1,100 @@ + + + + + + +GRPC Core: src/core/iomgr/tcp_windows.c File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
tcp_windows.c File Reference
+
+ + + + + diff --git a/doc/ref/core.internal/html/tcp__windows_8h.html b/doc/ref/core.internal/html/tcp__windows_8h.html new file mode 100644 index 0000000000..4e42957a74 --- /dev/null +++ b/doc/ref/core.internal/html/tcp__windows_8h.html @@ -0,0 +1,156 @@ + + + + + + +GRPC Core: src/core/iomgr/tcp_windows.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
tcp_windows.h File Reference
+
+
+ +

Go to the source code of this file.

+ + + + + + +

+Functions

grpc_endpointgrpc_tcp_create (grpc_winsocket *socket, char *peer_string)
 
int grpc_tcp_prepare_socket (SOCKET sock)
 
+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
grpc_endpoint* grpc_tcp_create (grpc_winsocketsocket,
char * peer_string 
)
+
+ +
+
+ +
+
+ + + + + + + + +
int grpc_tcp_prepare_socket (SOCKET sock)
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/tcp__windows_8h_source.html b/doc/ref/core.internal/html/tcp__windows_8h_source.html new file mode 100644 index 0000000000..9b40339812 --- /dev/null +++ b/doc/ref/core.internal/html/tcp__windows_8h_source.html @@ -0,0 +1,162 @@ + + + + + + +GRPC Core: src/core/iomgr/tcp_windows.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
tcp_windows.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPC_INTERNAL_CORE_IOMGR_TCP_WINDOWS_H
+
35 #define GRPC_INTERNAL_CORE_IOMGR_TCP_WINDOWS_H
+
36 /*
+
37  Low level TCP "bottom half" implementation, for use by transports built on
+
38  top of a TCP connection.
+
39 
+
40  Note that this file does not (yet) include APIs for creating the socket in
+
41  the first place.
+
42 
+
43  All calls passing slice transfer ownership of a slice refcount unless
+
44  otherwise specified.
+
45 */
+
46 
+ + +
49 
+
50 /* Create a tcp endpoint given a winsock handle.
+
51  * Takes ownership of the handle.
+
52  */
+
53 grpc_endpoint *grpc_tcp_create(grpc_winsocket *socket, char *peer_string);
+
54 
+
55 int grpc_tcp_prepare_socket(SOCKET sock);
+
56 
+
57 #endif /* GRPC_INTERNAL_CORE_IOMGR_TCP_WINDOWS_H */
+ +
int grpc_tcp_prepare_socket(SOCKET sock)
+
Definition: socket_windows.h:84
+
Definition: endpoint.h:108
+ +
grpc_endpoint * grpc_tcp_create(grpc_winsocket *socket, char *peer_string)
+
+ + + + diff --git a/doc/ref/core.internal/html/thd_8c.html b/doc/ref/core.internal/html/thd_8c.html new file mode 100644 index 0000000000..7380287144 --- /dev/null +++ b/doc/ref/core.internal/html/thd_8c.html @@ -0,0 +1,222 @@ + + + + + + +GRPC Core: src/core/support/thd.c File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
thd.c File Reference
+
+
+
#include <memory.h>
+#include <grpc/support/thd.h>
+
+ + + +

+Enumerations

enum  { GPR_THD_JOINABLE = 1 + }
 
+ + + + + + + + + + + +

+Functions

gpr_thd_options gpr_thd_options_default (void)
 
void gpr_thd_options_set_detached (gpr_thd_options *options)
 
void gpr_thd_options_set_joinable (gpr_thd_options *options)
 
int gpr_thd_options_is_detached (const gpr_thd_options *options)
 
int gpr_thd_options_is_joinable (const gpr_thd_options *options)
 
+

Enumeration Type Documentation

+ +
+
+ + + + +
anonymous enum
+
+ + +
Enumerator
GPR_THD_JOINABLE  +
+ +
+
+

Function Documentation

+ +
+
+ + + + + + + + +
gpr_thd_options gpr_thd_options_default (void )
+
+ +
+
+ +
+
+ + + + + + + + +
int gpr_thd_options_is_detached (const gpr_thd_optionsoptions)
+
+ +
+
+ +
+
+ + + + + + + + +
int gpr_thd_options_is_joinable (const gpr_thd_optionsoptions)
+
+ +
+
+ +
+
+ + + + + + + + +
void gpr_thd_options_set_detached (gpr_thd_optionsoptions)
+
+ +
+
+ +
+
+ + + + + + + + +
void gpr_thd_options_set_joinable (gpr_thd_optionsoptions)
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/thd_8h.html b/doc/ref/core.internal/html/thd_8h.html new file mode 100644 index 0000000000..4b67f0b9b5 --- /dev/null +++ b/doc/ref/core.internal/html/thd_8h.html @@ -0,0 +1,300 @@ + + + + + + +GRPC Core: include/grpc/support/thd.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
thd.h File Reference
+
+
+ +

Go to the source code of this file.

+ + + + +

+Data Structures

struct  gpr_thd_options
 
+ + + +

+Typedefs

typedef gpr_uint64 gpr_thd_id
 
+ + + + + + + + + + + + + + + + + +

+Functions

int gpr_thd_new (gpr_thd_id *t, void(*thd_body)(void *arg), void *arg, const gpr_thd_options *options)
 
gpr_thd_options gpr_thd_options_default (void)
 
void gpr_thd_options_set_detached (gpr_thd_options *options)
 
void gpr_thd_options_set_joinable (gpr_thd_options *options)
 
int gpr_thd_options_is_detached (const gpr_thd_options *options)
 
int gpr_thd_options_is_joinable (const gpr_thd_options *options)
 
gpr_thd_id gpr_thd_currentid (void)
 
void gpr_thd_join (gpr_thd_id t)
 
+

Typedef Documentation

+ +
+
+ + + + +
typedef gpr_uint64 gpr_thd_id
+
+ +
+
+

Function Documentation

+ +
+
+ + + + + + + + +
gpr_thd_id gpr_thd_currentid (void )
+
+ +
+
+ +
+
+ + + + + + + + +
void gpr_thd_join (gpr_thd_id t)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
int gpr_thd_new (gpr_thd_idt,
void(*)(void *argthd_body,
void * arg,
const gpr_thd_optionsoptions 
)
+
+ +
+
+ +
+
+ + + + + + + + +
gpr_thd_options gpr_thd_options_default (void )
+
+ +
+
+ +
+
+ + + + + + + + +
int gpr_thd_options_is_detached (const gpr_thd_optionsoptions)
+
+ +
+
+ +
+
+ + + + + + + + +
int gpr_thd_options_is_joinable (const gpr_thd_optionsoptions)
+
+ +
+
+ +
+
+ + + + + + + + +
void gpr_thd_options_set_detached (gpr_thd_optionsoptions)
+
+ +
+
+ +
+
+ + + + + + + + +
void gpr_thd_options_set_joinable (gpr_thd_optionsoptions)
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/thd_8h_source.html b/doc/ref/core.internal/html/thd_8h_source.html new file mode 100644 index 0000000000..95a40ddf1d --- /dev/null +++ b/doc/ref/core.internal/html/thd_8h_source.html @@ -0,0 +1,204 @@ + + + + + + +GRPC Core: include/grpc/support/thd.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
thd.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPC_SUPPORT_THD_H
+
35 #define GRPC_SUPPORT_THD_H
+
36 /* Thread interface for GPR.
+
37 
+
38  Types
+
39  gpr_thd_id a thread identifier.
+
40  (Currently no calls take a thread identifier.
+
41  It exists for future extensibility.)
+
42  gpr_thd_options options used when creating a thread
+
43  */
+
44 
+ +
46 
+
47 #ifdef __cplusplus
+
48 extern "C" {
+
49 #endif
+
50 
+ +
52 
+
53 /* Thread creation options. */
+
54 typedef struct {
+
55  int flags; /* Opaque field. Get and set with accessors below. */
+ +
57 
+
58 /* Create a new thread running (*thd_body)(arg) and place its thread identifier
+
59  in *t, and return true. If there are insufficient resources, return false.
+
60  If options==NULL, default options are used.
+
61  The thread is immediately runnable, and exits when (*thd_body)() returns. */
+
62 int gpr_thd_new(gpr_thd_id *t, void (*thd_body)(void *arg), void *arg,
+
63  const gpr_thd_options *options);
+
64 
+
65 /* Return a gpr_thd_options struct with all fields set to defaults. */
+ +
67 
+
68 /* Set the thread to become detached on startup - this is the default. */
+ +
70 
+
71 /* Set the thread to become joinable - mutually exclusive with detached. */
+ +
73 
+
74 /* Returns non-zero if the option detached is set. */
+ +
76 
+
77 /* Returns non-zero if the option joinable is set. */
+ +
79 
+
80 /* Returns the identifier of the current thread. */
+
81 gpr_thd_id gpr_thd_currentid(void);
+
82 
+
83 /* Blocks until the specified thread properly terminates.
+
84  Calling this on a detached thread has unpredictable results. */
+
85 void gpr_thd_join(gpr_thd_id t);
+
86 
+
87 #ifdef __cplusplus
+
88 }
+
89 #endif
+
90 
+
91 #endif /* GRPC_SUPPORT_THD_H */
+
void gpr_thd_options_set_joinable(gpr_thd_options *options)
Definition: thd.c:54
+ +
int gpr_thd_new(gpr_thd_id *t, void(*thd_body)(void *arg), void *arg, const gpr_thd_options *options)
+
Definition: cmdline.c:47
+
int flags
Definition: thd.h:55
+
void gpr_thd_join(gpr_thd_id t)
+
int gpr_thd_options_is_joinable(const gpr_thd_options *options)
Definition: thd.c:63
+
gpr_thd_id gpr_thd_currentid(void)
+
uint64_t gpr_uint64
Definition: port_platform.h:310
+
gpr_thd_options gpr_thd_options_default(void)
Definition: thd.c:44
+
int gpr_thd_options_is_detached(const gpr_thd_options *options)
Definition: thd.c:58
+
Definition: thd.h:54
+
void gpr_thd_options_set_detached(gpr_thd_options *options)
Definition: thd.c:50
+
gpr_uint64 gpr_thd_id
Definition: thd.h:51
+
+ + + + diff --git a/doc/ref/core.internal/html/thd__internal_8h.html b/doc/ref/core.internal/html/thd__internal_8h.html new file mode 100644 index 0000000000..2b8d5ed697 --- /dev/null +++ b/doc/ref/core.internal/html/thd__internal_8h.html @@ -0,0 +1,101 @@ + + + + + + +GRPC Core: src/core/support/thd_internal.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
thd_internal.h File Reference
+
+ + + + + diff --git a/doc/ref/core.internal/html/thd__internal_8h_source.html b/doc/ref/core.internal/html/thd__internal_8h_source.html new file mode 100644 index 0000000000..cbb564597b --- /dev/null +++ b/doc/ref/core.internal/html/thd__internal_8h_source.html @@ -0,0 +1,138 @@ + + + + + + +GRPC Core: src/core/support/thd_internal.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
thd_internal.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPC_INTERNAL_CORE_SUPPORT_THD_INTERNAL_H
+
35 #define GRPC_INTERNAL_CORE_SUPPORT_THD_INTERNAL_H
+
36 
+
37 /* Internal interfaces between modules within the gpr support library. */
+
38 
+
39 #endif /* GRPC_INTERNAL_CORE_SUPPORT_THD_INTERNAL_H */
+
+ + + + diff --git a/doc/ref/core.internal/html/thd__posix_8c.html b/doc/ref/core.internal/html/thd__posix_8c.html new file mode 100644 index 0000000000..9dea761e52 --- /dev/null +++ b/doc/ref/core.internal/html/thd__posix_8c.html @@ -0,0 +1,100 @@ + + + + + + +GRPC Core: src/core/support/thd_posix.c File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
thd_posix.c File Reference
+
+ + + + + diff --git a/doc/ref/core.internal/html/thd__win32_8c.html b/doc/ref/core.internal/html/thd__win32_8c.html new file mode 100644 index 0000000000..8ee0adbea3 --- /dev/null +++ b/doc/ref/core.internal/html/thd__win32_8c.html @@ -0,0 +1,100 @@ + + + + + + +GRPC Core: src/core/support/thd_win32.c File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
thd_win32.c File Reference
+
+ + + + + diff --git a/doc/ref/core.internal/html/time_8c.html b/doc/ref/core.internal/html/time_8c.html new file mode 100644 index 0000000000..53ca835661 --- /dev/null +++ b/doc/ref/core.internal/html/time_8c.html @@ -0,0 +1,652 @@ + + + + + + +GRPC Core: src/core/support/time.c File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
time.c File Reference
+
+
+
#include <grpc/support/time.h>
+#include <limits.h>
+#include <stdio.h>
+#include <string.h>
+#include <grpc/support/log.h>
+
+ + + + + + + + + +

+Macros

#define TOP_BIT_OF_TYPE(t)   (((gpr_uintmax)1) << ((8 * sizeof(t)) - 1))
 
#define TYPE_IS_SIGNED(t)   (((t)1) > (t) ~(t)0)
 
#define TYPE_MIN(t)   ((t)(TYPE_IS_SIGNED(t) ? TOP_BIT_OF_TYPE(t) : 0))
 
#define TYPE_MAX(t)
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

int gpr_time_cmp (gpr_timespec a, gpr_timespec b)
 
gpr_timespec gpr_time_min (gpr_timespec a, gpr_timespec b)
 
gpr_timespec gpr_time_max (gpr_timespec a, gpr_timespec b)
 
gpr_timespec gpr_time_0 (gpr_clock_type type)
 
gpr_timespec gpr_inf_future (gpr_clock_type type)
 
gpr_timespec gpr_inf_past (gpr_clock_type type)
 
gpr_timespec gpr_time_from_nanos (long ns, gpr_clock_type type)
 
gpr_timespec gpr_time_from_micros (long us, gpr_clock_type type)
 
gpr_timespec gpr_time_from_millis (long ms, gpr_clock_type type)
 
gpr_timespec gpr_time_from_seconds (long s, gpr_clock_type type)
 
gpr_timespec gpr_time_from_minutes (long m, gpr_clock_type type)
 
gpr_timespec gpr_time_from_hours (long h, gpr_clock_type type)
 
gpr_timespec gpr_time_add (gpr_timespec a, gpr_timespec b)
 
gpr_timespec gpr_time_sub (gpr_timespec a, gpr_timespec b)
 
int gpr_time_similar (gpr_timespec a, gpr_timespec b, gpr_timespec threshold)
 
gpr_int32 gpr_time_to_millis (gpr_timespec t)
 
double gpr_timespec_to_micros (gpr_timespec t)
 
gpr_timespec gpr_convert_clock_type (gpr_timespec t, gpr_clock_type clock_type)
 
+

Macro Definition Documentation

+ +
+
+ + + + + + + + +
#define TOP_BIT_OF_TYPE( t)   (((gpr_uintmax)1) << ((8 * sizeof(t)) - 1))
+
+ +
+
+ +
+
+ + + + + + + + +
#define TYPE_IS_SIGNED( t)   (((t)1) > (t) ~(t)0)
+
+ +
+
+ +
+
+ + + + + + + + +
#define TYPE_MAX( t)
+
+Value:
((t)(TYPE_IS_SIGNED(t) ? (TOP_BIT_OF_TYPE(t) - 1) \
+
: ((TOP_BIT_OF_TYPE(t) - 1) << 1) + 1))
+
#define TOP_BIT_OF_TYPE(t)
Definition: time.c:64
+
#define TYPE_IS_SIGNED(t)
Definition: time.c:67
+
+
+
+ +
+
+ + + + + + + + +
#define TYPE_MIN( t)   ((t)(TYPE_IS_SIGNED(t) ? TOP_BIT_OF_TYPE(t) : 0))
+
+ +
+
+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
gpr_timespec gpr_convert_clock_type (gpr_timespec t,
gpr_clock_type clock_type 
)
+
+ +
+
+ +
+
+ + + + + + + + +
gpr_timespec gpr_inf_future (gpr_clock_type type)
+
+ +
+
+ +
+
+ + + + + + + + +
gpr_timespec gpr_inf_past (gpr_clock_type type)
+
+ +
+
+ +
+
+ + + + + + + + +
gpr_timespec gpr_time_0 (gpr_clock_type type)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
gpr_timespec gpr_time_add (gpr_timespec a,
gpr_timespec b 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
int gpr_time_cmp (gpr_timespec a,
gpr_timespec b 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
gpr_timespec gpr_time_from_hours (long h,
gpr_clock_type type 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
gpr_timespec gpr_time_from_micros (long us,
gpr_clock_type type 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
gpr_timespec gpr_time_from_millis (long ms,
gpr_clock_type type 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
gpr_timespec gpr_time_from_minutes (long m,
gpr_clock_type type 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
gpr_timespec gpr_time_from_nanos (long ns,
gpr_clock_type type 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
gpr_timespec gpr_time_from_seconds (long s,
gpr_clock_type type 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
gpr_timespec gpr_time_max (gpr_timespec a,
gpr_timespec b 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
gpr_timespec gpr_time_min (gpr_timespec a,
gpr_timespec b 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
int gpr_time_similar (gpr_timespec a,
gpr_timespec b,
gpr_timespec threshold 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
gpr_timespec gpr_time_sub (gpr_timespec a,
gpr_timespec b 
)
+
+ +
+
+ +
+
+ + + + + + + + +
gpr_int32 gpr_time_to_millis (gpr_timespec t)
+
+ +
+
+ +
+
+ + + + + + + + +
double gpr_timespec_to_micros (gpr_timespec t)
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/time_8h.html b/doc/ref/core.internal/html/time_8h.html new file mode 100644 index 0000000000..97df4f284c --- /dev/null +++ b/doc/ref/core.internal/html/time_8h.html @@ -0,0 +1,769 @@ + + + + + + +GRPC Core: include/grpc/support/time.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
time.h File Reference
+
+
+
#include <grpc/support/port_platform.h>
+#include <stddef.h>
+#include <time.h>
+
+

Go to the source code of this file.

+ + + + +

+Data Structures

struct  gpr_timespec
 
+ + + + + + + + + + + + + +

+Macros

#define GPR_MS_PER_SEC   1000
 
#define GPR_US_PER_SEC   1000000
 
#define GPR_NS_PER_SEC   1000000000
 
#define GPR_NS_PER_MS   1000000
 
#define GPR_NS_PER_US   1000
 
#define GPR_US_PER_MS   1000
 
+ + + +

+Typedefs

typedef struct gpr_timespec gpr_timespec
 
+ + + +

+Enumerations

enum  gpr_clock_type { GPR_CLOCK_MONOTONIC = 0, +GPR_CLOCK_REALTIME, +GPR_TIMESPAN + }
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

gpr_timespec gpr_time_0 (gpr_clock_type type)
 
gpr_timespec gpr_inf_future (gpr_clock_type type)
 
gpr_timespec gpr_inf_past (gpr_clock_type type)
 
void gpr_time_init (void)
 
gpr_timespec gpr_now (gpr_clock_type clock)
 
gpr_timespec gpr_convert_clock_type (gpr_timespec t, gpr_clock_type target_clock)
 
int gpr_time_cmp (gpr_timespec a, gpr_timespec b)
 
gpr_timespec gpr_time_max (gpr_timespec a, gpr_timespec b)
 
gpr_timespec gpr_time_min (gpr_timespec a, gpr_timespec b)
 
gpr_timespec gpr_time_add (gpr_timespec a, gpr_timespec b)
 
gpr_timespec gpr_time_sub (gpr_timespec a, gpr_timespec b)
 
gpr_timespec gpr_time_from_micros (long x, gpr_clock_type clock_type)
 
gpr_timespec gpr_time_from_nanos (long x, gpr_clock_type clock_type)
 
gpr_timespec gpr_time_from_millis (long x, gpr_clock_type clock_type)
 
gpr_timespec gpr_time_from_seconds (long x, gpr_clock_type clock_type)
 
gpr_timespec gpr_time_from_minutes (long x, gpr_clock_type clock_type)
 
gpr_timespec gpr_time_from_hours (long x, gpr_clock_type clock_type)
 
gpr_int32 gpr_time_to_millis (gpr_timespec timespec)
 
int gpr_time_similar (gpr_timespec a, gpr_timespec b, gpr_timespec threshold)
 
void gpr_sleep_until (gpr_timespec until)
 
double gpr_timespec_to_micros (gpr_timespec t)
 
+

Macro Definition Documentation

+ +
+
+ + + + +
#define GPR_MS_PER_SEC   1000
+
+ +
+
+ +
+
+ + + + +
#define GPR_NS_PER_MS   1000000
+
+ +
+
+ +
+
+ + + + +
#define GPR_NS_PER_SEC   1000000000
+
+ +
+
+ +
+
+ + + + +
#define GPR_NS_PER_US   1000
+
+ +
+
+ +
+
+ + + + +
#define GPR_US_PER_MS   1000
+
+ +
+
+ +
+
+ + + + +
#define GPR_US_PER_SEC   1000000
+
+ +
+
+

Typedef Documentation

+ +
+
+ + + + +
typedef struct gpr_timespec gpr_timespec
+
+ +
+
+

Enumeration Type Documentation

+ +
+
+ + + + +
enum gpr_clock_type
+
+ + + + +
Enumerator
GPR_CLOCK_MONOTONIC  +
GPR_CLOCK_REALTIME  +
GPR_TIMESPAN  +
+ +
+
+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
gpr_timespec gpr_convert_clock_type (gpr_timespec t,
gpr_clock_type target_clock 
)
+
+ +
+
+ +
+
+ + + + + + + + +
gpr_timespec gpr_inf_future (gpr_clock_type type)
+
+ +
+
+ +
+
+ + + + + + + + +
gpr_timespec gpr_inf_past (gpr_clock_type type)
+
+ +
+
+ +
+
+ + + + + + + + +
gpr_timespec gpr_now (gpr_clock_type clock)
+
+ +
+
+ +
+
+ + + + + + + + +
void gpr_sleep_until (gpr_timespec until)
+
+ +
+
+ +
+
+ + + + + + + + +
gpr_timespec gpr_time_0 (gpr_clock_type type)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
gpr_timespec gpr_time_add (gpr_timespec a,
gpr_timespec b 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
int gpr_time_cmp (gpr_timespec a,
gpr_timespec b 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
gpr_timespec gpr_time_from_hours (long x,
gpr_clock_type clock_type 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
gpr_timespec gpr_time_from_micros (long x,
gpr_clock_type clock_type 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
gpr_timespec gpr_time_from_millis (long x,
gpr_clock_type clock_type 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
gpr_timespec gpr_time_from_minutes (long x,
gpr_clock_type clock_type 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
gpr_timespec gpr_time_from_nanos (long x,
gpr_clock_type clock_type 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
gpr_timespec gpr_time_from_seconds (long x,
gpr_clock_type clock_type 
)
+
+ +
+
+ +
+
+ + + + + + + + +
void gpr_time_init (void )
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
gpr_timespec gpr_time_max (gpr_timespec a,
gpr_timespec b 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
gpr_timespec gpr_time_min (gpr_timespec a,
gpr_timespec b 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
int gpr_time_similar (gpr_timespec a,
gpr_timespec b,
gpr_timespec threshold 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
gpr_timespec gpr_time_sub (gpr_timespec a,
gpr_timespec b 
)
+
+ +
+
+ +
+
+ + + + + + + + +
gpr_int32 gpr_time_to_millis (gpr_timespec timespec)
+
+ +
+
+ +
+
+ + + + + + + + +
double gpr_timespec_to_micros (gpr_timespec t)
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/time_8h_source.html b/doc/ref/core.internal/html/time_8h_source.html new file mode 100644 index 0000000000..b24859db27 --- /dev/null +++ b/doc/ref/core.internal/html/time_8h_source.html @@ -0,0 +1,254 @@ + + + + + + +GRPC Core: include/grpc/support/time.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
time.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPC_SUPPORT_TIME_H
+
35 #define GRPC_SUPPORT_TIME_H
+
36 /* Time support.
+
37  We use gpr_timespec, which is analogous to struct timespec. On some
+
38  machines, absolute times may be in local time. */
+
39 
+ +
41 #include <stddef.h>
+
42 #include <time.h>
+
43 
+
44 #ifdef __cplusplus
+
45 extern "C" {
+
46 #endif
+
47 
+
48 /* The clocks we support. */
+
49 typedef enum {
+
50  /* Monotonic clock. Epoch undefined. Always moves forwards. */
+ +
52  /* Realtime clock. May jump forwards or backwards. Settable by
+
53  the system administrator. Has its epoch at 0:00:00 UTC 1 Jan 1970. */
+ +
55  /* Unmeasurable clock type: no base, created by taking the difference
+
56  between two times */
+ + +
59 
+
60 typedef struct gpr_timespec {
+
61  time_t tv_sec;
+
62  int tv_nsec;
+ +
66 } gpr_timespec;
+
67 
+
68 /* Time constants. */
+
69 gpr_timespec gpr_time_0(gpr_clock_type type); /* The zero time interval. */
+
70 gpr_timespec gpr_inf_future(gpr_clock_type type); /* The far future */
+
71 gpr_timespec gpr_inf_past(gpr_clock_type type); /* The far past. */
+
72 
+
73 #define GPR_MS_PER_SEC 1000
+
74 #define GPR_US_PER_SEC 1000000
+
75 #define GPR_NS_PER_SEC 1000000000
+
76 #define GPR_NS_PER_MS 1000000
+
77 #define GPR_NS_PER_US 1000
+
78 #define GPR_US_PER_MS 1000
+
79 
+
80 /* initialize time subsystem */
+
81 void gpr_time_init(void);
+
82 
+
83 /* Return the current time measured from the given clocks epoch. */
+ +
85 
+
86 /* Convert a timespec from one clock to another */
+ +
88 
+
89 /* Return -ve, 0, or +ve according to whether a < b, a == b, or a > b
+
90  respectively. */
+ +
92 
+ + +
95 
+
96 /* Add and subtract times. Calculations saturate at infinities. */
+ + +
99 
+
100 /* Return a timespec representing a given number of time units. LONG_MIN is
+
101  interpreted as gpr_inf_past, and LONG_MAX as gpr_inf_future. */
+ + + + + + +
108 
+ +
110 
+
111 /* Return 1 if two times are equal or within threshold of each other,
+
112  0 otherwise */
+ +
114 
+
115 /* Sleep until at least 'until' - an absolute timeout */
+
116 void gpr_sleep_until(gpr_timespec until);
+
117 
+ +
119 
+
120 #ifdef __cplusplus
+
121 }
+
122 #endif
+
123 
+
124 #endif /* GRPC_SUPPORT_TIME_H */
+ +
gpr_timespec gpr_time_max(gpr_timespec a, gpr_timespec b)
Definition: time.c:55
+
time_t tv_sec
Definition: time.h:61
+
Definition: time.h:54
+ +
gpr_timespec gpr_time_from_millis(long x, gpr_clock_type clock_type)
Definition: time.c:138
+
gpr_timespec gpr_inf_future(gpr_clock_type type)
Definition: time.c:83
+
gpr_timespec gpr_inf_past(gpr_clock_type type)
Definition: time.c:91
+
gpr_timespec gpr_time_from_hours(long x, gpr_clock_type clock_type)
Definition: time.c:184
+
gpr_timespec gpr_time_min(gpr_timespec a, gpr_timespec b)
Definition: time.c:51
+
gpr_clock_type clock_type
Against which clock was this time measured? (or GPR_TIMESPAN if this is a relative time meaure) ...
Definition: time.h:65
+
gpr_timespec gpr_time_from_nanos(long x, gpr_clock_type clock_type)
Definition: time.c:102
+
Definition: time.h:51
+
gpr_timespec gpr_convert_clock_type(gpr_timespec t, gpr_clock_type target_clock)
Definition: time.c:294
+
gpr_timespec gpr_time_sub(gpr_timespec a, gpr_timespec b)
Definition: time.c:227
+
int gpr_time_cmp(gpr_timespec a, gpr_timespec b)
Definition: time.c:42
+
int tv_nsec
Definition: time.h:62
+
void gpr_time_init(void)
+
gpr_timespec gpr_time_0(gpr_clock_type type)
Definition: time.c:75
+
int gpr_time_similar(gpr_timespec a, gpr_timespec b, gpr_timespec threshold)
Definition: time.c:260
+
gpr_timespec gpr_time_add(gpr_timespec a, gpr_timespec b)
Definition: time.c:198
+
Definition: time.h:57
+
gpr_int32 gpr_time_to_millis(gpr_timespec timespec)
Definition: time.c:275
+
gpr_timespec gpr_time_from_minutes(long x, gpr_clock_type clock_type)
Definition: time.c:170
+
int32_t gpr_int32
Definition: port_platform.h:305
+
struct gpr_timespec gpr_timespec
+
gpr_clock_type
Definition: time.h:49
+
gpr_timespec gpr_now(gpr_clock_type clock)
+
Definition: time.h:60
+
double gpr_timespec_to_micros(gpr_timespec t)
Definition: time.c:290
+
gpr_timespec gpr_time_from_micros(long x, gpr_clock_type clock_type)
Definition: time.c:120
+
void gpr_sleep_until(gpr_timespec until)
+
gpr_timespec gpr_time_from_seconds(long x, gpr_clock_type clock_type)
Definition: time.c:156
+
+ + + + diff --git a/doc/ref/core.internal/html/time__averaged__stats_8c.html b/doc/ref/core.internal/html/time__averaged__stats_8c.html new file mode 100644 index 0000000000..1c974a4323 --- /dev/null +++ b/doc/ref/core.internal/html/time__averaged__stats_8c.html @@ -0,0 +1,193 @@ + + + + + + +GRPC Core: src/core/iomgr/time_averaged_stats.c File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
time_averaged_stats.c File Reference
+
+
+ + + + + + + + +

+Functions

void grpc_time_averaged_stats_init (grpc_time_averaged_stats *stats, double init_avg, double regress_weight, double persistence_factor)
 
void grpc_time_averaged_stats_add_sample (grpc_time_averaged_stats *stats, double value)
 
double grpc_time_averaged_stats_update_average (grpc_time_averaged_stats *stats)
 
+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
void grpc_time_averaged_stats_add_sample (grpc_time_averaged_statsstats,
double value 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void grpc_time_averaged_stats_init (grpc_time_averaged_statsstats,
double init_avg,
double regress_weight,
double persistence_factor 
)
+
+ +
+
+ +
+
+ + + + + + + + +
double grpc_time_averaged_stats_update_average (grpc_time_averaged_statsstats)
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/time__averaged__stats_8h.html b/doc/ref/core.internal/html/time__averaged__stats_8h.html new file mode 100644 index 0000000000..6cf02c2c71 --- /dev/null +++ b/doc/ref/core.internal/html/time__averaged__stats_8h.html @@ -0,0 +1,200 @@ + + + + + + +GRPC Core: src/core/iomgr/time_averaged_stats.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
time_averaged_stats.h File Reference
+
+
+ +

Go to the source code of this file.

+ + + + +

+Data Structures

struct  grpc_time_averaged_stats
 
+ + + + + + + +

+Functions

void grpc_time_averaged_stats_init (grpc_time_averaged_stats *stats, double init_avg, double regress_weight, double persistence_factor)
 
void grpc_time_averaged_stats_add_sample (grpc_time_averaged_stats *stats, double value)
 
double grpc_time_averaged_stats_update_average (grpc_time_averaged_stats *stats)
 
+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
void grpc_time_averaged_stats_add_sample (grpc_time_averaged_statsstats,
double value 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void grpc_time_averaged_stats_init (grpc_time_averaged_statsstats,
double init_avg,
double regress_weight,
double persistence_factor 
)
+
+ +
+
+ +
+
+ + + + + + + + +
double grpc_time_averaged_stats_update_average (grpc_time_averaged_statsstats)
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/time__averaged__stats_8h_source.html b/doc/ref/core.internal/html/time__averaged__stats_8h_source.html new file mode 100644 index 0000000000..43ba9ebb31 --- /dev/null +++ b/doc/ref/core.internal/html/time__averaged__stats_8h_source.html @@ -0,0 +1,199 @@ + + + + + + +GRPC Core: src/core/iomgr/time_averaged_stats.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
time_averaged_stats.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPC_INTERNAL_CORE_IOMGR_TIME_AVERAGED_STATS_H
+
35 #define GRPC_INTERNAL_CORE_IOMGR_TIME_AVERAGED_STATS_H
+
36 
+
37 /* This tracks a time-decaying weighted average. It works by collecting
+
38  batches of samples and then mixing their average into a time-decaying
+
39  weighted mean. It is designed for batch operations where we do many adds
+
40  before updating the average. */
+
41 
+
42 typedef struct {
+
43  /* The initial average value. This is the reported average until the first
+
44  grpc_time_averaged_stats_update_average call. If a positive regress_weight
+
45  is used, we also regress towards this value on each update. */
+
46  double init_avg;
+
47  /* The sample weight of "init_avg" that is mixed in with each call to
+
48  grpc_time_averaged_stats_update_average. If the calls to
+
49  grpc_time_averaged_stats_add_sample stop, this will cause the average to
+
50  regress back to the mean. This should be non-negative. Set it to 0 to
+
51  disable the bias. A value of 1 has the effect of adding in 1 bonus sample
+
52  with value init_avg to each sample period. */
+ +
54  /* This determines the rate of decay of the time-averaging from one period
+
55  to the next by scaling the aggregate_total_weight of samples from prior
+
56  periods when combining with the latest period. It should be in the range
+
57  [0,1]. A higher value adapts more slowly. With a value of 0.5, if the
+
58  batches each have k samples, the samples_in_avg_ will grow to 2 k, so the
+
59  weighting of the time average will eventually be 1/3 new batch and 2/3
+
60  old average. */
+ +
62 
+
63  /* The total value of samples since the last UpdateAverage(). */
+ +
65  /* The number of samples since the last UpdateAverage(). */
+ +
67  /* The time-decayed sum of batch_num_samples_ over previous batches. This is
+
68  the "weight" of the old aggregate_weighted_avg_ when updating the
+
69  average. */
+ +
71  /* A time-decayed average of the (batch_total_value_ / batch_num_samples_),
+
72  computed by decaying the samples_in_avg_ weight in the weighted average. */
+ + +
75 
+
76 /* See the comments on the members above for an explanation of init_avg,
+
77  regress_weight, and persistence_factor. */
+ +
79  double init_avg, double regress_weight,
+
80  double persistence_factor);
+
81 /* Add a sample to the current batch. */
+ +
83  double value);
+
84 /* Complete a batch and compute the new estimate of the average sample
+
85  value. */
+ +
87 
+
88 #endif /* GRPC_INTERNAL_CORE_IOMGR_TIME_AVERAGED_STATS_H */
+
const char * value
Definition: hpack_table.c:44
+
double persistence_factor
Definition: time_averaged_stats.h:61
+
double regress_weight
Definition: time_averaged_stats.h:53
+
double batch_num_samples
Definition: time_averaged_stats.h:66
+
void grpc_time_averaged_stats_init(grpc_time_averaged_stats *stats, double init_avg, double regress_weight, double persistence_factor)
Definition: time_averaged_stats.c:36
+
double aggregate_total_weight
Definition: time_averaged_stats.h:70
+
double init_avg
Definition: time_averaged_stats.h:46
+
double batch_total_value
Definition: time_averaged_stats.h:64
+
void grpc_time_averaged_stats_add_sample(grpc_time_averaged_stats *stats, double value)
Definition: time_averaged_stats.c:48
+
Definition: time_averaged_stats.h:42
+
double grpc_time_averaged_stats_update_average(grpc_time_averaged_stats *stats)
Definition: time_averaged_stats.c:54
+
double aggregate_weighted_avg
Definition: time_averaged_stats.h:73
+
+ + + + diff --git a/doc/ref/core.internal/html/time__posix_8c.html b/doc/ref/core.internal/html/time__posix_8c.html new file mode 100644 index 0000000000..01ebaff0d6 --- /dev/null +++ b/doc/ref/core.internal/html/time__posix_8c.html @@ -0,0 +1,100 @@ + + + + + + +GRPC Core: src/core/support/time_posix.c File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
time_posix.c File Reference
+
+ + + + + diff --git a/doc/ref/core.internal/html/time__win32_8c.html b/doc/ref/core.internal/html/time__win32_8c.html new file mode 100644 index 0000000000..87049d5480 --- /dev/null +++ b/doc/ref/core.internal/html/time__win32_8c.html @@ -0,0 +1,100 @@ + + + + + + +GRPC Core: src/core/support/time_win32.c File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
time_win32.c File Reference
+
+ + + + + diff --git a/doc/ref/core.internal/html/timeout__encoding_8c.html b/doc/ref/core.internal/html/timeout__encoding_8c.html new file mode 100644 index 0000000000..f3e42abb7c --- /dev/null +++ b/doc/ref/core.internal/html/timeout__encoding_8c.html @@ -0,0 +1,165 @@ + + + + + + +GRPC Core: src/core/transport/chttp2/timeout_encoding.c File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
timeout_encoding.c File Reference
+
+
+
#include "src/core/transport/chttp2/timeout_encoding.h"
+#include <stdio.h>
+#include <string.h>
+
+ + + + + +

+Functions

void grpc_chttp2_encode_timeout (gpr_timespec timeout, char *buffer)
 
int grpc_chttp2_decode_timeout (const char *buffer, gpr_timespec *timeout)
 
+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
int grpc_chttp2_decode_timeout (const char * buffer,
gpr_timespectimeout 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void grpc_chttp2_encode_timeout (gpr_timespec timeout,
char * buffer 
)
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/timeout__encoding_8h.html b/doc/ref/core.internal/html/timeout__encoding_8h.html new file mode 100644 index 0000000000..032367540a --- /dev/null +++ b/doc/ref/core.internal/html/timeout__encoding_8h.html @@ -0,0 +1,185 @@ + + + + + + +GRPC Core: src/core/transport/chttp2/timeout_encoding.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
timeout_encoding.h File Reference
+
+
+ +

Go to the source code of this file.

+ + + + +

+Macros

#define GRPC_CHTTP2_TIMEOUT_ENCODE_MIN_BUFSIZE   (GPR_LTOA_MIN_BUFSIZE + 1)
 
+ + + + + +

+Functions

void grpc_chttp2_encode_timeout (gpr_timespec timeout, char *buffer)
 
int grpc_chttp2_decode_timeout (const char *buffer, gpr_timespec *timeout)
 
+

Macro Definition Documentation

+ +
+
+ + + + +
#define GRPC_CHTTP2_TIMEOUT_ENCODE_MIN_BUFSIZE   (GPR_LTOA_MIN_BUFSIZE + 1)
+
+ +
+
+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
int grpc_chttp2_decode_timeout (const char * buffer,
gpr_timespectimeout 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void grpc_chttp2_encode_timeout (gpr_timespec timeout,
char * buffer 
)
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/timeout__encoding_8h_source.html b/doc/ref/core.internal/html/timeout__encoding_8h_source.html new file mode 100644 index 0000000000..29d325181f --- /dev/null +++ b/doc/ref/core.internal/html/timeout__encoding_8h_source.html @@ -0,0 +1,151 @@ + + + + + + +GRPC Core: src/core/transport/chttp2/timeout_encoding.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
timeout_encoding.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPC_INTERNAL_CORE_TRANSPORT_CHTTP2_TIMEOUT_ENCODING_H
+
35 #define GRPC_INTERNAL_CORE_TRANSPORT_CHTTP2_TIMEOUT_ENCODING_H
+
36 
+ +
38 #include <grpc/support/time.h>
+
39 
+
40 #define GRPC_CHTTP2_TIMEOUT_ENCODE_MIN_BUFSIZE (GPR_LTOA_MIN_BUFSIZE + 1)
+
41 
+
42 /* Encode/decode timeouts to the GRPC over HTTP2 format;
+
43  encoding may round up arbitrarily */
+
44 void grpc_chttp2_encode_timeout(gpr_timespec timeout, char *buffer);
+
45 int grpc_chttp2_decode_timeout(const char *buffer, gpr_timespec *timeout);
+
46 
+
47 #endif /* GRPC_INTERNAL_CORE_TRANSPORT_CHTTP2_TIMEOUT_ENCODING_H */
+ + +
void grpc_chttp2_encode_timeout(gpr_timespec timeout, char *buffer)
Definition: timeout_encoding.c:119
+
int grpc_chttp2_decode_timeout(const char *buffer, gpr_timespec *timeout)
Definition: timeout_encoding.c:138
+
Definition: time.h:60
+
+ + + + diff --git a/doc/ref/core.internal/html/timers_8h.html b/doc/ref/core.internal/html/timers_8h.html new file mode 100644 index 0000000000..6e0b1ee737 --- /dev/null +++ b/doc/ref/core.internal/html/timers_8h.html @@ -0,0 +1,524 @@ + + + + + + +GRPC Core: src/core/profiling/timers.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
timers.h File Reference
+
+
+ +

Go to the source code of this file.

+ + + + + + + + + + +

+Macros

#define GRPC_TIMER_MARK(tag, id)
 
#define GRPC_TIMER_IMPORTANT_MARK(tag, id)
 
#define GRPC_TIMER_BEGIN(tag, id)
 
#define GRPC_TIMER_END(tag, id)
 
+ + + +

+Enumerations

enum  grpc_profiling_tags {
+  GRPC_PTAG_IGNORE_THRESHOLD = 1000000, +GRPC_PTAG_PROTO_SERIALIZE = 100 + GRPC_PTAG_IGNORE_THRESHOLD, +GRPC_PTAG_PROTO_DESERIALIZE = 101 + GRPC_PTAG_IGNORE_THRESHOLD, +GRPC_PTAG_HANDLE_READ = 200 + GRPC_PTAG_IGNORE_THRESHOLD, +
+  GRPC_PTAG_SENDMSG = 201 + GRPC_PTAG_IGNORE_THRESHOLD, +GRPC_PTAG_RECVMSG = 202 + GRPC_PTAG_IGNORE_THRESHOLD, +GRPC_PTAG_POLL_FINISHED = 203 + GRPC_PTAG_IGNORE_THRESHOLD, +GRPC_PTAG_TCP_CB_WRITE = 204 + GRPC_PTAG_IGNORE_THRESHOLD, +
+  GRPC_PTAG_TCP_WRITE = 205 + GRPC_PTAG_IGNORE_THRESHOLD, +GRPC_PTAG_CALL_ON_DONE_RECV = 206 + GRPC_PTAG_IGNORE_THRESHOLD, +GRPC_PTAG_CPP_CALL_CREATED = 300 + GRPC_PTAG_IGNORE_THRESHOLD, +GRPC_PTAG_CPP_PERFORM_OPS = 301 + GRPC_PTAG_IGNORE_THRESHOLD, +
+  GRPC_PTAG_HTTP2_UNLOCK = 401 + GRPC_PTAG_IGNORE_THRESHOLD, +GRPC_PTAG_HTTP2_UNLOCK_CLEANUP = 402 + GRPC_PTAG_IGNORE_THRESHOLD, +GRPC_PTAG_OTHER_BASE = 1024 +
+ }
 
+ + + + + + + + + + + + + +

+Functions

void grpc_timers_global_init (void)
 
void grpc_timers_global_destroy (void)
 
void grpc_timer_add_mark (int tag, const char *tagstr, void *id, const char *file, int line)
 
void grpc_timer_add_important_mark (int tag, const char *tagstr, void *id, const char *file, int line)
 
void grpc_timer_begin (int tag, const char *tagstr, void *id, const char *file, int line)
 
void grpc_timer_end (int tag, const char *tagstr, void *id, const char *file, int line)
 
+

Macro Definition Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
#define GRPC_TIMER_BEGIN( tag,
 id 
)
+
+Value:
do { \
+
} while (0)
+
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
#define GRPC_TIMER_END( tag,
 id 
)
+
+Value:
do { \
+
} while (0)
+
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
#define GRPC_TIMER_IMPORTANT_MARK( tag,
 id 
)
+
+Value:
do { \
+
} while (0)
+
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
#define GRPC_TIMER_MARK( tag,
 id 
)
+
+Value:
do { \
+
} while (0)
+
+
+
+

Enumeration Type Documentation

+ +
+
+ + + + +
enum grpc_profiling_tags
+
+ + + + + + + + + + + + + + + + +
Enumerator
GRPC_PTAG_IGNORE_THRESHOLD  +
GRPC_PTAG_PROTO_SERIALIZE  +
GRPC_PTAG_PROTO_DESERIALIZE  +
GRPC_PTAG_HANDLE_READ  +
GRPC_PTAG_SENDMSG  +
GRPC_PTAG_RECVMSG  +
GRPC_PTAG_POLL_FINISHED  +
GRPC_PTAG_TCP_CB_WRITE  +
GRPC_PTAG_TCP_WRITE  +
GRPC_PTAG_CALL_ON_DONE_RECV  +
GRPC_PTAG_CPP_CALL_CREATED  +
GRPC_PTAG_CPP_PERFORM_OPS  +
GRPC_PTAG_HTTP2_UNLOCK  +
GRPC_PTAG_HTTP2_UNLOCK_CLEANUP  +
GRPC_PTAG_OTHER_BASE  +
+ +
+
+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void grpc_timer_add_important_mark (int tag,
const char * tagstr,
void * id,
const char * file,
int line 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void grpc_timer_add_mark (int tag,
const char * tagstr,
void * id,
const char * file,
int line 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void grpc_timer_begin (int tag,
const char * tagstr,
void * id,
const char * file,
int line 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void grpc_timer_end (int tag,
const char * tagstr,
void * id,
const char * file,
int line 
)
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_timers_global_destroy (void )
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_timers_global_init (void )
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/timers_8h_source.html b/doc/ref/core.internal/html/timers_8h_source.html new file mode 100644 index 0000000000..a3e72942d6 --- /dev/null +++ b/doc/ref/core.internal/html/timers_8h_source.html @@ -0,0 +1,267 @@ + + + + + + +GRPC Core: src/core/profiling/timers.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
timers.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPC_CORE_PROFILING_TIMERS_H
+
35 #define GRPC_CORE_PROFILING_TIMERS_H
+
36 
+
37 #ifdef __cplusplus
+
38 extern "C" {
+
39 #endif
+
40 
+
41 void grpc_timers_global_init(void);
+ +
43 
+
44 void grpc_timer_add_mark(int tag, const char *tagstr, void *id,
+
45  const char *file, int line);
+
46 void grpc_timer_add_important_mark(int tag, const char *tagstr, void *id,
+
47  const char *file, int line);
+
48 void grpc_timer_begin(int tag, const char *tagstr, void *id, const char *file,
+
49  int line);
+
50 void grpc_timer_end(int tag, const char *tagstr, void *id, const char *file,
+
51  int line);
+
52 
+ +
54  /* Any GRPC_PTAG_* >= than the threshold won't generate any profiling mark. */
+ +
56 
+
57  /* Re. Protos. */
+ + +
60 
+
61  /* Re. sockets. */
+ + + + + + + +
69 
+
70  /* C++ */
+ + +
73 
+
74  /* Transports */
+ + +
77 
+
78  /* > 1024 Unassigned reserved. For any miscellaneous use.
+
79  * Use addition to generate tags from this base or take advantage of the 10
+
80  * zero'd bits for OR-ing. */
+ +
82 };
+
83 
+
84 #if !(defined(GRPC_STAP_PROFILER) + defined(GRPC_BASIC_PROFILER))
+
85 /* No profiling. No-op all the things. */
+
86 #define GRPC_TIMER_MARK(tag, id) \
+
87  do { \
+
88  } while (0)
+
89 
+
90 #define GRPC_TIMER_IMPORTANT_MARK(tag, id) \
+
91  do { \
+
92  } while (0)
+
93 
+
94 #define GRPC_TIMER_BEGIN(tag, id) \
+
95  do { \
+
96  } while (0)
+
97 
+
98 #define GRPC_TIMER_END(tag, id) \
+
99  do { \
+
100  } while (0)
+
101 
+
102 #else /* at least one profiler requested... */
+
103 /* ... hopefully only one. */
+
104 #if defined(GRPC_STAP_PROFILER) && defined(GRPC_BASIC_PROFILER)
+
105 #error "GRPC_STAP_PROFILER and GRPC_BASIC_PROFILER are mutually exclusive."
+
106 #endif
+
107 
+
108 /* Generic profiling interface. */
+
109 #define GRPC_TIMER_MARK(tag, id) \
+
110  if (tag < GRPC_PTAG_IGNORE_THRESHOLD) { \
+
111  grpc_timer_add_mark(tag, #tag, ((void *)(gpr_intptr)(id)), __FILE__, \
+
112  __LINE__); \
+
113  }
+
114 
+
115 #define GRPC_TIMER_IMPORTANT_MARK(tag, id) \
+
116  if (tag < GRPC_PTAG_IGNORE_THRESHOLD) { \
+
117  grpc_timer_add_important_mark(tag, #tag, ((void *)(gpr_intptr)(id)), \
+
118  __FILE__, __LINE__); \
+
119  }
+
120 
+
121 #define GRPC_TIMER_BEGIN(tag, id) \
+
122  if (tag < GRPC_PTAG_IGNORE_THRESHOLD) { \
+
123  grpc_timer_begin(tag, #tag, ((void *)(gpr_intptr)(id)), __FILE__, \
+
124  __LINE__); \
+
125  }
+
126 
+
127 #define GRPC_TIMER_END(tag, id) \
+
128  if (tag < GRPC_PTAG_IGNORE_THRESHOLD) { \
+
129  grpc_timer_end(tag, #tag, ((void *)(gpr_intptr)(id)), __FILE__, __LINE__); \
+
130  }
+
131 
+
132 #ifdef GRPC_STAP_PROFILER
+
133 /* Empty placeholder for now. */
+
134 #endif /* GRPC_STAP_PROFILER */
+
135 
+
136 #ifdef GRPC_BASIC_PROFILER
+
137 /* Empty placeholder for now. */
+
138 #endif /* GRPC_BASIC_PROFILER */
+
139 
+
140 #endif /* at least one profiler requested. */
+
141 
+
142 #ifdef __cplusplus
+
143 }
+
144 #endif
+
145 
+
146 #endif /* GRPC_CORE_PROFILING_TIMERS_H */
+
void grpc_timer_add_mark(int tag, const char *tagstr, void *id, const char *file, int line)
+
Definition: timers.h:72
+
Definition: timers.h:62
+
void grpc_timer_begin(int tag, const char *tagstr, void *id, const char *file, int line)
+
void grpc_timer_add_important_mark(int tag, const char *tagstr, void *id, const char *file, int line)
+
Definition: timers.h:55
+
Definition: timers.h:64
+
Definition: timers.h:71
+
Definition: timers.h:68
+
Definition: timers.h:66
+
Definition: timers.h:65
+
Definition: timers.h:75
+
void grpc_timers_global_destroy(void)
Definition: basic_timers.c:141
+
void grpc_timer_end(int tag, const char *tagstr, void *id, const char *file, int line)
+
Definition: timers.h:63
+
Definition: timers.h:58
+
Definition: timers.h:81
+
Definition: timers.h:59
+
Definition: timers.h:76
+
void grpc_timers_global_init(void)
Definition: basic_timers.c:140
+
grpc_profiling_tags
Definition: timers.h:53
+
Definition: timers.h:67
+
+ + + + diff --git a/doc/ref/core.internal/html/timers__preciseclock_8h.html b/doc/ref/core.internal/html/timers__preciseclock_8h.html new file mode 100644 index 0000000000..40c8cb6d1e --- /dev/null +++ b/doc/ref/core.internal/html/timers__preciseclock_8h.html @@ -0,0 +1,168 @@ + + + + + + +GRPC Core: src/core/profiling/timers_preciseclock.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
timers_preciseclock.h File Reference
+
+
+
#include <grpc/support/sync.h>
+#include <grpc/support/time.h>
+#include <stdio.h>
+
+

Go to the source code of this file.

+ + + + +

+Data Structures

struct  grpc_precise_clock
 
+ + + + + +

+Macros

#define GRPC_PRECISE_CLOCK_FORMAT   "%ld.%09d"
 
#define GRPC_PRECISE_CLOCK_PRINTF_ARGS(clk)   (clk)->clock.tv_sec, (clk)->clock.tv_nsec
 
+ + + +

+Typedefs

typedef struct grpc_precise_clock grpc_precise_clock
 
+

Macro Definition Documentation

+ +
+
+ + + + +
#define GRPC_PRECISE_CLOCK_FORMAT   "%ld.%09d"
+
+ +
+
+ +
+
+ + + + + + + + +
#define GRPC_PRECISE_CLOCK_PRINTF_ARGS( clk)   (clk)->clock.tv_sec, (clk)->clock.tv_nsec
+
+ +
+
+

Typedef Documentation

+ +
+
+ + + + +
typedef struct grpc_precise_clock grpc_precise_clock
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/timers__preciseclock_8h_source.html b/doc/ref/core.internal/html/timers__preciseclock_8h_source.html new file mode 100644 index 0000000000..b9cd95606d --- /dev/null +++ b/doc/ref/core.internal/html/timers__preciseclock_8h_source.html @@ -0,0 +1,207 @@ + + + + + + +GRPC Core: src/core/profiling/timers_preciseclock.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
timers_preciseclock.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPC_CORE_PROFILING_TIMERS_PRECISECLOCK_H
+
35 #define GRPC_CORE_PROFILING_TIMERS_PRECISECLOCK_H
+
36 
+
37 #include <grpc/support/sync.h>
+
38 #include <grpc/support/time.h>
+
39 #include <stdio.h>
+
40 
+
41 #ifdef GRPC_TIMERS_RDTSC
+
42 typedef long long int grpc_precise_clock;
+
43 #if defined(__i386__)
+
44 static void grpc_precise_clock_now(grpc_precise_clock *clk) {
+ +
46  __asm__ volatile("rdtsc" : "=A"(ret));
+
47  *clk = ret;
+
48 }
+
49 
+
50 // ----------------------------------------------------------------
+
51 #elif defined(__x86_64__) || defined(__amd64__)
+
52 static void grpc_precise_clock_now(grpc_precise_clock *clk) {
+
53  unsigned long long low, high;
+
54  __asm__ volatile("rdtsc" : "=a"(low), "=d"(high));
+
55  *clk = (high << 32) | low;
+
56 }
+
57 #endif
+
58 static gpr_once precise_clock_init = GPR_ONCE_INIT;
+
59 static double cycles_per_second = 0.0;
+
60 static void grpc_precise_clock_init() {
+
61  time_t start = time(NULL);
+
62  grpc_precise_clock start_time;
+
63  grpc_precise_clock end_time;
+
64  while (time(NULL) == start)
+
65  ;
+
66  grpc_precise_clock_now(&start_time);
+
67  while (time(NULL) == start + 1)
+
68  ;
+
69  grpc_precise_clock_now(&end_time);
+
70  cycles_per_second = end_time - start_time;
+
71 }
+
72 static double grpc_precise_clock_scaling_factor() {
+
73  gpr_once_init(&precise_clock_init, grpc_precise_clock_init);
+
74  return 1e6 / cycles_per_second;
+
75 }
+
76 #define GRPC_PRECISE_CLOCK_FORMAT "%f"
+
77 #define GRPC_PRECISE_CLOCK_PRINTF_ARGS(clk) \
+
78  (*(clk)*grpc_precise_clock_scaling_factor())
+
79 #else
+ + + +
83 };
+
84 static void grpc_precise_clock_now(grpc_precise_clock* clk) {
+ +
86 }
+
87 #define GRPC_PRECISE_CLOCK_FORMAT "%ld.%09d"
+
88 #define GRPC_PRECISE_CLOCK_PRINTF_ARGS(clk) \
+
89  (clk)->clock.tv_sec, (clk)->clock.tv_nsec
+
90 static void grpc_precise_clock_print(const grpc_precise_clock* clk, FILE* fp) {
+
91  fprintf(fp, "%ld.%09d", clk->clock.tv_sec, clk->clock.tv_nsec);
+
92 }
+
93 #endif /* GRPC_TIMERS_RDTSC */
+
94 
+
95 #endif /* GRPC_CORE_PROFILING_TIMERS_PRECISECLOCK_H */
+
time_t tv_sec
Definition: time.h:61
+
void gpr_once_init(gpr_once *once, void(*init_routine)(void))
+
Definition: time.h:54
+ +
struct grpc_precise_clock grpc_precise_clock
Definition: timers_preciseclock.h:80
+
pthread_once_t gpr_once
Definition: sync_posix.h:43
+
gpr_timespec clock
Definition: timers_preciseclock.h:82
+
int tv_nsec
Definition: time.h:62
+
#define GPR_ONCE_INIT
Definition: sync_posix.h:45
+ +
gpr_timespec gpr_now(gpr_clock_type clock)
+
Definition: time.h:60
+
Definition: timers_preciseclock.h:81
+
+ + + + diff --git a/doc/ref/core.internal/html/tls_8h.html b/doc/ref/core.internal/html/tls_8h.html new file mode 100644 index 0000000000..6b42949daa --- /dev/null +++ b/doc/ref/core.internal/html/tls_8h.html @@ -0,0 +1,102 @@ + + + + + + +GRPC Core: include/grpc/support/tls.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
tls.h File Reference
+
+ + + + + diff --git a/doc/ref/core.internal/html/tls_8h_source.html b/doc/ref/core.internal/html/tls_8h_source.html new file mode 100644 index 0000000000..fbac6319c3 --- /dev/null +++ b/doc/ref/core.internal/html/tls_8h_source.html @@ -0,0 +1,180 @@ + + + + + + +GRPC Core: include/grpc/support/tls.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
tls.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPC_SUPPORT_TLS_H
+
35 #define GRPC_SUPPORT_TLS_H
+
36 
+ +
38 
+
39 /* Thread local storage.
+
40 
+
41  A minimal wrapper that should be implementable across many compilers,
+
42  and implementable efficiently across most modern compilers.
+
43 
+
44  Thread locals have type gpr_intptr.
+
45 
+
46  Declaring a thread local variable 'foo':
+
47  GPR_TLS_DECL(foo);
+
48  Thread locals always have static scope.
+
49 
+
50  Initializing a thread local (must be done at library initialization
+
51  time):
+
52  gpr_tls_init(&foo);
+
53 
+
54  Destroying a thread local:
+
55  gpr_tls_destroy(&foo);
+
56 
+
57  Setting a thread local (returns new_value):
+
58  gpr_tls_set(&foo, new_value);
+
59 
+
60  Accessing a thread local:
+
61  current_value = gpr_tls_get(&foo, value);
+
62 
+
63  ALL functions here may be implemented as macros. */
+
64 
+
65 #ifdef GPR_GCC_TLS
+
66 #include <grpc/support/tls_gcc.h>
+
67 #endif
+
68 
+
69 #ifdef GPR_MSVC_TLS
+
70 #include <grpc/support/tls_msvc.h>
+
71 #endif
+
72 
+
73 #ifdef GPR_PTHREAD_TLS
+ +
75 #endif
+
76 
+
77 #endif
+ + + + +
+ + + + diff --git a/doc/ref/core.internal/html/tls__gcc_8h.html b/doc/ref/core.internal/html/tls__gcc_8h.html new file mode 100644 index 0000000000..d63b581770 --- /dev/null +++ b/doc/ref/core.internal/html/tls__gcc_8h.html @@ -0,0 +1,214 @@ + + + + + + +GRPC Core: include/grpc/support/tls_gcc.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
tls_gcc.h File Reference
+
+
+ +

Go to the source code of this file.

+ + + + +

+Data Structures

struct  gpr_gcc_thread_local
 
+ + + + + + + + + + + +

+Macros

#define GPR_TLS_DECL(name)   static __thread struct gpr_gcc_thread_local name = {0}
 
#define gpr_tls_init(tls)   do {} while (0)
 
#define gpr_tls_destroy(tls)   do {} while (0)
 
#define gpr_tls_set(tls, new_value)   (((tls)->value) = (new_value))
 
#define gpr_tls_get(tls)   ((tls)->value)
 
+

Macro Definition Documentation

+ +
+
+ + + + + + + + +
#define GPR_TLS_DECL( name)   static __thread struct gpr_gcc_thread_local name = {0}
+
+ +
+
+ +
+
+ + + + + + + + +
#define gpr_tls_destroy( tls)   do {} while (0)
+
+ +
+
+ +
+
+ + + + + + + + +
#define gpr_tls_get( tls)   ((tls)->value)
+
+ +
+
+ +
+
+ + + + + + + + +
#define gpr_tls_init( tls)   do {} while (0)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
#define gpr_tls_set( tls,
 new_value 
)   (((tls)->value) = (new_value))
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/tls__gcc_8h_source.html b/doc/ref/core.internal/html/tls__gcc_8h_source.html new file mode 100644 index 0000000000..4840e5535a --- /dev/null +++ b/doc/ref/core.internal/html/tls__gcc_8h_source.html @@ -0,0 +1,154 @@ + + + + + + +GRPC Core: include/grpc/support/tls_gcc.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
tls_gcc.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPC_SUPPORT_TLS_GCC_H
+
35 #define GRPC_SUPPORT_TLS_GCC_H
+
36 
+
37 /* Thread local storage based on gcc compiler primitives.
+
38  #include tls.h to use this - and see that file for documentation */
+
39 
+ + +
42 };
+
43 
+
44 #define GPR_TLS_DECL(name) \
+
45  static __thread struct gpr_gcc_thread_local name = {0}
+
46 
+
47 #define gpr_tls_init(tls) do {} while (0)
+
48 #define gpr_tls_destroy(tls) do {} while (0)
+
49 #define gpr_tls_set(tls, new_value) (((tls)->value) = (new_value))
+
50 #define gpr_tls_get(tls) ((tls)->value)
+
51 
+
52 #endif
+
intptr_t gpr_intptr
Definition: port_platform.h:312
+
Definition: tls_gcc.h:40
+
gpr_intptr value
Definition: tls_gcc.h:41
+
+ + + + diff --git a/doc/ref/core.internal/html/tls__msvc_8h.html b/doc/ref/core.internal/html/tls__msvc_8h.html new file mode 100644 index 0000000000..66367553a1 --- /dev/null +++ b/doc/ref/core.internal/html/tls__msvc_8h.html @@ -0,0 +1,214 @@ + + + + + + +GRPC Core: include/grpc/support/tls_msvc.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
tls_msvc.h File Reference
+
+
+ +

Go to the source code of this file.

+ + + + +

+Data Structures

struct  gpr_msvc_thread_local
 
+ + + + + + + + + + + +

+Macros

#define GPR_TLS_DECL(name)   static __declspec(thread) struct gpr_msvc_thread_local name = {0}
 
#define gpr_tls_init(tls)   do {} while (0)
 
#define gpr_tls_destroy(tls)   do {} while (0)
 
#define gpr_tls_set(tls, new_value)   (((tls)->value) = (new_value))
 
#define gpr_tls_get(tls)   ((tls)->value)
 
+

Macro Definition Documentation

+ +
+
+ + + + + + + + +
#define GPR_TLS_DECL( name)   static __declspec(thread) struct gpr_msvc_thread_local name = {0}
+
+ +
+
+ +
+
+ + + + + + + + +
#define gpr_tls_destroy( tls)   do {} while (0)
+
+ +
+
+ +
+
+ + + + + + + + +
#define gpr_tls_get( tls)   ((tls)->value)
+
+ +
+
+ +
+
+ + + + + + + + +
#define gpr_tls_init( tls)   do {} while (0)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
#define gpr_tls_set( tls,
 new_value 
)   (((tls)->value) = (new_value))
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/tls__msvc_8h_source.html b/doc/ref/core.internal/html/tls__msvc_8h_source.html new file mode 100644 index 0000000000..d2eed0386e --- /dev/null +++ b/doc/ref/core.internal/html/tls__msvc_8h_source.html @@ -0,0 +1,154 @@ + + + + + + +GRPC Core: include/grpc/support/tls_msvc.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
tls_msvc.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPC_SUPPORT_TLS_GCC_H
+
35 #define GRPC_SUPPORT_TLS_GCC_H
+
36 
+
37 /* Thread local storage based on ms visual c compiler primitives.
+
38  #include tls.h to use this - and see that file for documentation */
+
39 
+ + +
42 };
+
43 
+
44 #define GPR_TLS_DECL(name) \
+
45  static __declspec(thread) struct gpr_msvc_thread_local name = {0}
+
46 
+
47 #define gpr_tls_init(tls) do {} while (0)
+
48 #define gpr_tls_destroy(tls) do {} while (0)
+
49 #define gpr_tls_set(tls, new_value) (((tls)->value) = (new_value))
+
50 #define gpr_tls_get(tls) ((tls)->value)
+
51 
+
52 #endif
+
intptr_t gpr_intptr
Definition: port_platform.h:312
+
gpr_intptr value
Definition: tls_msvc.h:41
+
Definition: tls_msvc.h:40
+
+ + + + diff --git a/doc/ref/core.internal/html/tls__pthread_8c.html b/doc/ref/core.internal/html/tls__pthread_8c.html new file mode 100644 index 0000000000..3ac823897a --- /dev/null +++ b/doc/ref/core.internal/html/tls__pthread_8c.html @@ -0,0 +1,100 @@ + + + + + + +GRPC Core: src/core/support/tls_pthread.c File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
tls_pthread.c File Reference
+
+ + + + + diff --git a/doc/ref/core.internal/html/tls__pthread_8h.html b/doc/ref/core.internal/html/tls__pthread_8h.html new file mode 100644 index 0000000000..1e770a9bb5 --- /dev/null +++ b/doc/ref/core.internal/html/tls__pthread_8h.html @@ -0,0 +1,221 @@ + + + + + + +GRPC Core: include/grpc/support/tls_pthread.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
tls_pthread.h File Reference
+
+
+
#include <grpc/support/log.h>
+#include <pthread.h>
+
+

Go to the source code of this file.

+ + + + +

+Data Structures

struct  gpr_pthread_thread_local
 
+ + + + + + + + + +

+Macros

#define GPR_TLS_DECL(name)   static struct gpr_pthread_thread_local name = {0}
 
#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)   ((gpr_intptr)pthread_getspecific((tls)->key))
 
+ + + +

+Functions

gpr_intptr gpr_tls_set (struct gpr_pthread_thread_local *tls, gpr_intptr value)
 
+

Macro Definition Documentation

+ +
+
+ + + + + + + + +
#define GPR_TLS_DECL( name)   static struct gpr_pthread_thread_local name = {0}
+
+ +
+
+ +
+
+ + + + + + + + +
#define gpr_tls_destroy( tls)   pthread_key_delete((tls)->key)
+
+ +
+
+ +
+
+ + + + + + + + +
#define gpr_tls_get( tls)   ((gpr_intptr)pthread_getspecific((tls)->key))
+
+ +
+
+ +
+
+ + + + + + + + +
#define gpr_tls_init( tls)   GPR_ASSERT(0 == pthread_key_create(&(tls)->key, NULL))
+
+ +
+
+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
gpr_intptr gpr_tls_set (struct gpr_pthread_thread_localtls,
gpr_intptr value 
)
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/tls__pthread_8h_source.html b/doc/ref/core.internal/html/tls__pthread_8h_source.html new file mode 100644 index 0000000000..9e6b259a8a --- /dev/null +++ b/doc/ref/core.internal/html/tls__pthread_8h_source.html @@ -0,0 +1,165 @@ + + + + + + +GRPC Core: include/grpc/support/tls_pthread.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
tls_pthread.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPC_SUPPORT_TLS_PTHREAD_H
+
35 #define GRPC_SUPPORT_TLS_PTHREAD_H
+
36 
+
37 #include <grpc/support/log.h> /* for GPR_ASSERT */
+
38 #include <pthread.h>
+
39 
+
40 /* Thread local storage based on pthread library calls.
+
41  #include tls.h to use this - and see that file for documentation */
+
42 
+ +
44  pthread_key_t key;
+
45 };
+
46 
+
47 #define GPR_TLS_DECL(name) static struct gpr_pthread_thread_local name = {0}
+
48 
+
49 #define gpr_tls_init(tls) GPR_ASSERT(0 == pthread_key_create(&(tls)->key, NULL))
+
50 #define gpr_tls_destroy(tls) pthread_key_delete((tls)->key)
+
51 #define gpr_tls_get(tls) ((gpr_intptr)pthread_getspecific((tls)->key))
+
52 #ifdef __cplusplus
+
53 extern "C" {
+
54 #endif
+ +
56 #ifdef __cplusplus
+
57 }
+
58 #endif
+
59 
+
60 #endif
+
const char * value
Definition: hpack_table.c:44
+
intptr_t gpr_intptr
Definition: port_platform.h:312
+
gpr_intptr gpr_tls_set(struct gpr_pthread_thread_local *tls, gpr_intptr value)
+
Definition: tls_pthread.h:43
+
pthread_key_t key
Definition: tls_pthread.h:44
+ +
+ + + + diff --git a/doc/ref/core.internal/html/trace_8c.html b/doc/ref/core.internal/html/trace_8c.html new file mode 100644 index 0000000000..a93a6be565 --- /dev/null +++ b/doc/ref/core.internal/html/trace_8c.html @@ -0,0 +1,234 @@ + + + + + + +GRPC Core: src/core/debug/trace.c File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
trace.c File Reference
+
+
+
#include "src/core/debug/trace.h"
+#include <string.h>
+#include <grpc/grpc.h>
+#include <grpc/support/alloc.h>
+#include <grpc/support/log.h>
+#include "src/core/support/env.h"
+
+ + + +

+Data Structures

struct  tracer
 
+ + + +

+Typedefs

typedef struct tracer tracer
 
+ + + + + + + + + + +

+Functions

void grpc_register_tracer (const char *name, int *flag)
 
void grpc_tracer_init (const char *env_var)
 
void grpc_tracer_shutdown (void)
 
int grpc_tracer_set_enabled (const char *name, int enabled)
 Enable or disable a tracer. More...
 
+

Typedef Documentation

+ +
+
+ + + + +
typedef struct tracer tracer
+
+ +
+
+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
void grpc_register_tracer (const char * name,
int * flag 
)
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_tracer_init (const char * env_var)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
int grpc_tracer_set_enabled (const char * name,
int enabled 
)
+
+ +

Enable or disable a tracer.

+

Tracers (usually controlled by the environment variable GRPC_TRACE) allow printf-style debugging on GRPC internals, and are useful for tracking down problems in the field.

+

Use of this function is not strictly thread-safe, but the thread-safety issues raised by it should not be of concern.

+ +
+
+ +
+
+ + + + + + + + +
void grpc_tracer_shutdown (void )
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/trace_8h.html b/doc/ref/core.internal/html/trace_8h.html new file mode 100644 index 0000000000..b9af85a30c --- /dev/null +++ b/doc/ref/core.internal/html/trace_8h.html @@ -0,0 +1,173 @@ + + + + + + +GRPC Core: src/core/debug/trace.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
trace.h File Reference
+
+
+ +

Go to the source code of this file.

+ + + + + + + + +

+Functions

void grpc_register_tracer (const char *name, int *flag)
 
void grpc_tracer_init (const char *env_var_name)
 
void grpc_tracer_shutdown (void)
 
+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
void grpc_register_tracer (const char * name,
int * flag 
)
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_tracer_init (const char * env_var_name)
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_tracer_shutdown (void )
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/trace_8h_source.html b/doc/ref/core.internal/html/trace_8h_source.html new file mode 100644 index 0000000000..2bcbe87fb6 --- /dev/null +++ b/doc/ref/core.internal/html/trace_8h_source.html @@ -0,0 +1,146 @@ + + + + + + +GRPC Core: src/core/debug/trace.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
trace.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPC_INTERNAL_CORE_DEBUG_TRACE_H
+
35 #define GRPC_INTERNAL_CORE_DEBUG_TRACE_H
+
36 
+ +
38 
+
39 void grpc_register_tracer(const char *name, int *flag);
+
40 void grpc_tracer_init(const char *env_var_name);
+
41 void grpc_tracer_shutdown(void);
+
42 
+
43 #endif /* GRPC_INTERNAL_CORE_DEBUG_TRACE_H */
+ +
void grpc_tracer_shutdown(void)
Definition: trace.c:104
+
void grpc_tracer_init(const char *env_var_name)
Definition: trace.c:96
+
void grpc_register_tracer(const char *name, int *flag)
Definition: trace.c:50
+
+ + + + diff --git a/doc/ref/core.internal/html/transport_8c.html b/doc/ref/core.internal/html/transport_8c.html new file mode 100644 index 0000000000..249cc5a19b --- /dev/null +++ b/doc/ref/core.internal/html/transport_8c.html @@ -0,0 +1,344 @@ + + + + + + +GRPC Core: src/core/transport/transport.c File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
transport.c File Reference
+
+
+ + + + + + + + + + + + + + + + + + + + +

+Functions

size_t grpc_transport_stream_size (grpc_transport *transport)
 
void grpc_transport_destroy (grpc_transport *transport)
 
int grpc_transport_init_stream (grpc_transport *transport, grpc_stream *stream, const void *server_data, grpc_transport_stream_op *initial_op)
 
void grpc_transport_perform_stream_op (grpc_transport *transport, grpc_stream *stream, grpc_transport_stream_op *op)
 
void grpc_transport_perform_op (grpc_transport *transport, grpc_transport_op *op)
 
void grpc_transport_destroy_stream (grpc_transport *transport, grpc_stream *stream)
 
char * grpc_transport_get_peer (grpc_transport *transport)
 
void grpc_transport_stream_op_finish_with_failure (grpc_transport_stream_op *op)
 
void grpc_transport_stream_op_add_cancellation (grpc_transport_stream_op *op, grpc_status_code status, grpc_mdstr *message)
 
+

Function Documentation

+ +
+
+ + + + + + + + +
void grpc_transport_destroy (grpc_transporttransport)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void grpc_transport_destroy_stream (grpc_transporttransport,
grpc_streamstream 
)
+
+ +
+
+ +
+
+ + + + + + + + +
char* grpc_transport_get_peer (grpc_transporttransport)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
int grpc_transport_init_stream (grpc_transporttransport,
grpc_streamstream,
const void * server_data,
grpc_transport_stream_opinitial_op 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void grpc_transport_perform_op (grpc_transporttransport,
grpc_transport_opop 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void grpc_transport_perform_stream_op (grpc_transporttransport,
grpc_streamstream,
grpc_transport_stream_opop 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void grpc_transport_stream_op_add_cancellation (grpc_transport_stream_opop,
grpc_status_code status,
grpc_mdstrmessage 
)
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_transport_stream_op_finish_with_failure (grpc_transport_stream_opop)
+
+ +
+
+ +
+
+ + + + + + + + +
size_t grpc_transport_stream_size (grpc_transporttransport)
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/transport_8h.html b/doc/ref/core.internal/html/transport_8h.html new file mode 100644 index 0000000000..2fd84bb376 --- /dev/null +++ b/doc/ref/core.internal/html/transport_8h.html @@ -0,0 +1,568 @@ + + + + + + +GRPC Core: src/core/transport/transport.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
transport.h File Reference
+
+
+
#include <stddef.h>
+#include "src/core/iomgr/pollset.h"
+#include "src/core/iomgr/pollset_set.h"
+#include "src/core/transport/stream_op.h"
+#include "src/core/channel/context.h"
+
+

Go to the source code of this file.

+ + + + + + + +

+Data Structures

struct  grpc_transport_stream_op
 
struct  grpc_transport_op
 Transport op: a set of operations to perform on a transport as a whole. More...
 
+ + + + + + + + + + + + +

+Typedefs

typedef struct grpc_transport grpc_transport
 
typedef struct grpc_stream grpc_stream
 
typedef enum grpc_stream_state grpc_stream_state
 
typedef struct
+grpc_transport_stream_op 
grpc_transport_stream_op
 
typedef struct grpc_transport_op grpc_transport_op
 Transport op: a set of operations to perform on a transport as a whole. More...
 
+ + + +

+Enumerations

enum  grpc_stream_state { GRPC_STREAM_OPEN, +GRPC_STREAM_SEND_CLOSED, +GRPC_STREAM_RECV_CLOSED, +GRPC_STREAM_CLOSED + }
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

size_t grpc_transport_stream_size (grpc_transport *transport)
 
int grpc_transport_init_stream (grpc_transport *transport, grpc_stream *stream, const void *server_data, grpc_transport_stream_op *initial_op)
 
void grpc_transport_destroy_stream (grpc_transport *transport, grpc_stream *stream)
 
void grpc_transport_stream_op_finish_with_failure (grpc_transport_stream_op *op)
 
void grpc_transport_stream_op_add_cancellation (grpc_transport_stream_op *op, grpc_status_code status, grpc_mdstr *message)
 
char * grpc_transport_stream_op_string (grpc_transport_stream_op *op)
 
void grpc_transport_perform_stream_op (grpc_transport *transport, grpc_stream *stream, grpc_transport_stream_op *op)
 
void grpc_transport_perform_op (grpc_transport *transport, grpc_transport_op *op)
 
void grpc_transport_ping (grpc_transport *transport, grpc_iomgr_closure *cb)
 
void grpc_transport_goaway (grpc_transport *transport, grpc_status_code status, gpr_slice debug_data)
 
void grpc_transport_close (grpc_transport *transport)
 
void grpc_transport_destroy (grpc_transport *transport)
 
char * grpc_transport_get_peer (grpc_transport *transport)
 
+

Typedef Documentation

+ +
+
+ + + + +
typedef struct grpc_stream grpc_stream
+
+ +
+
+ +
+
+ + + + +
typedef enum grpc_stream_state grpc_stream_state
+
+ +
+
+ +
+
+ + + + +
typedef struct grpc_transport grpc_transport
+
+ +
+
+ +
+
+ + + + +
typedef struct grpc_transport_op grpc_transport_op
+
+ +

Transport op: a set of operations to perform on a transport as a whole.

+ +
+
+ +
+
+ +
+
+

Enumeration Type Documentation

+ +
+
+ + + + +
enum grpc_stream_state
+
+ + + + + +
Enumerator
GRPC_STREAM_OPEN  +
GRPC_STREAM_SEND_CLOSED  +
GRPC_STREAM_RECV_CLOSED  +
GRPC_STREAM_CLOSED  +
+ +
+
+

Function Documentation

+ +
+
+ + + + + + + + +
void grpc_transport_close (grpc_transporttransport)
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_transport_destroy (grpc_transporttransport)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void grpc_transport_destroy_stream (grpc_transporttransport,
grpc_streamstream 
)
+
+ +
+
+ +
+
+ + + + + + + + +
char* grpc_transport_get_peer (grpc_transporttransport)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void grpc_transport_goaway (grpc_transporttransport,
grpc_status_code status,
gpr_slice debug_data 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
int grpc_transport_init_stream (grpc_transporttransport,
grpc_streamstream,
const void * server_data,
grpc_transport_stream_opinitial_op 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void grpc_transport_perform_op (grpc_transporttransport,
grpc_transport_opop 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void grpc_transport_perform_stream_op (grpc_transporttransport,
grpc_streamstream,
grpc_transport_stream_opop 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void grpc_transport_ping (grpc_transporttransport,
grpc_iomgr_closurecb 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void grpc_transport_stream_op_add_cancellation (grpc_transport_stream_opop,
grpc_status_code status,
grpc_mdstrmessage 
)
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_transport_stream_op_finish_with_failure (grpc_transport_stream_opop)
+
+ +
+
+ +
+
+ + + + + + + + +
char* grpc_transport_stream_op_string (grpc_transport_stream_opop)
+
+ +
+
+ +
+
+ + + + + + + + +
size_t grpc_transport_stream_size (grpc_transporttransport)
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/transport_8h_source.html b/doc/ref/core.internal/html/transport_8h_source.html new file mode 100644 index 0000000000..6a53173774 --- /dev/null +++ b/doc/ref/core.internal/html/transport_8h_source.html @@ -0,0 +1,334 @@ + + + + + + +GRPC Core: src/core/transport/transport.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
transport.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPC_INTERNAL_CORE_TRANSPORT_TRANSPORT_H
+
35 #define GRPC_INTERNAL_CORE_TRANSPORT_TRANSPORT_H
+
36 
+
37 #include <stddef.h>
+
38 
+
39 #include "src/core/iomgr/pollset.h"
+ + + +
43 
+
44 /* forward declarations */
+ +
46 
+
47 /* grpc_stream doesn't actually exist. It's used as a typesafe
+
48  opaque pointer for whatever data the transport wants to track
+
49  for a stream. */
+
50 typedef struct grpc_stream grpc_stream;
+
51 
+
52 /* Represents the send/recv closed state of a stream. */
+
53 typedef enum grpc_stream_state {
+
54  /* the stream is open for sends and receives */
+ +
56  /* the stream is closed for sends, but may still receive data */
+ +
58  /* the stream is closed for receives, but may still send data */
+ +
60  /* the stream is closed for both sends and receives */
+ + +
63 
+
64 /* Transport stream op: a set of operations to perform on a transport
+
65  against a single stream */
+
66 typedef struct grpc_transport_stream_op {
+ +
68 
+ + + +
72 
+ + + + +
80 
+ +
82 
+ +
84 
+
85  /* Indexes correspond to grpc_context_index enum values */
+ + +
88 
+
90 typedef struct grpc_transport_op {
+ + + + + + + +
107  void (*set_accept_stream)(void *user_data, grpc_transport *transport,
+
108  const void *server_data);
+ + + + + +
117 
+
118 /* Returns the amount of memory required to store a grpc_stream for this
+
119  transport */
+
120 size_t grpc_transport_stream_size(grpc_transport *transport);
+
121 
+
122 /* Initialize transport data for a stream.
+
123 
+
124  Returns 0 on success, any other (transport-defined) value for failure.
+
125 
+
126  Arguments:
+
127  transport - the transport on which to create this stream
+
128  stream - a pointer to uninitialized memory to initialize
+
129  server_data - either NULL for a client initiated stream, or a pointer
+
130  supplied from the accept_stream callback function */
+ +
132  const void *server_data,
+
133  grpc_transport_stream_op *initial_op);
+
134 
+
135 /* Destroy transport data for a stream.
+
136 
+
137  Requires: a recv_batch with final_state == GRPC_STREAM_CLOSED has been
+
138  received by the up-layer. Must not be called in the same call stack as
+
139  recv_frame.
+
140 
+
141  Arguments:
+
142  transport - the transport on which to create this stream
+
143  stream - the grpc_stream to destroy (memory is still owned by the
+
144  caller, but any child memory must be cleaned up) */
+ +
146  grpc_stream *stream);
+
147 
+ +
149 
+ +
151  grpc_status_code status,
+
152  grpc_mdstr *message);
+
153 
+ +
155 
+
156 /* Send a batch of operations on a transport
+
157 
+
158  Takes ownership of any objects contained in ops.
+
159 
+
160  Arguments:
+
161  transport - the transport on which to initiate the stream
+
162  stream - the stream on which to send the operations. This must be
+
163  non-NULL and previously initialized by the same transport.
+
164  op - a grpc_transport_stream_op specifying the op to perform */
+ +
166  grpc_stream *stream,
+ +
168 
+ +
170  grpc_transport_op *op);
+
171 
+
172 /* Send a ping on a transport
+
173 
+
174  Calls cb with user data when a response is received. */
+ +
176 
+
177 /* Advise peer of pending connection termination. */
+ +
179  gpr_slice debug_data);
+
180 
+
181 /* Close a transport. Aborts all open streams. */
+
182 void grpc_transport_close(grpc_transport *transport);
+
183 
+
184 /* Destroy the transport */
+
185 void grpc_transport_destroy(grpc_transport *transport);
+
186 
+
187 /* Get the transports peer */
+
188 char *grpc_transport_get_peer(grpc_transport *transport);
+
189 
+
190 #endif /* GRPC_INTERNAL_CORE_TRANSPORT_TRANSPORT_H */
+
Definition: transport.h:59
+
grpc_connectivity_state
Connectivity state of a channel.
Definition: grpc.h:139
+
int grpc_transport_init_stream(grpc_transport *transport, grpc_stream *stream, const void *server_data, grpc_transport_stream_op *initial_op)
Definition: transport.c:45
+
void grpc_transport_perform_op(grpc_transport *transport, grpc_transport_op *op)
Definition: transport.c:58
+
int is_last_send
Definition: transport.h:70
+
grpc_stream_op_buffer * recv_ops
Definition: transport.h:73
+
void grpc_transport_destroy_stream(grpc_transport *transport, grpc_stream *stream)
Definition: transport.c:63
+
Definition: transport.h:55
+
void grpc_transport_ping(grpc_transport *transport, grpc_iomgr_closure *cb)
+
gpr_slice * goaway_message
Definition: transport.h:104
+
struct grpc_stream grpc_stream
Definition: transport.h:50
+
size_t grpc_transport_stream_size(grpc_transport *transport)
Definition: transport.c:37
+
Definition: transport.h:66
+
Definition: metadata.h:70
+
struct grpc_transport_op grpc_transport_op
Transport op: a set of operations to perform on a transport as a whole.
+ +
uint32_t gpr_uint32
Definition: port_platform.h:309
+
void grpc_transport_destroy(grpc_transport *transport)
Definition: transport.c:41
+
grpc_stream_state * recv_state
Definition: transport.h:74
+
Definition: transport.h:61
+
Definition: pollset_posix.h:48
+
char * grpc_transport_get_peer(grpc_transport *transport)
Definition: transport.c:68
+
grpc_pollset_set * bind_pollset_set
add this transport to a pollset_set
Definition: transport.h:113
+
gpr_uint32 max_recv_bytes
The number of bytes this peer is currently prepared to receive.
Definition: transport.h:78
+
grpc_iomgr_closure * on_consumed
called when processing of this op is done
Definition: transport.h:92
+
char * grpc_transport_stream_op_string(grpc_transport_stream_op *op)
Definition: transport_op_string.c:108
+
grpc_iomgr_closure * on_connectivity_state_change
connectivity monitoring
Definition: transport.h:94
+
grpc_stream_state
Definition: transport.h:53
+
void grpc_transport_close(grpc_transport *transport)
+
void * set_accept_stream_user_data
Definition: transport.h:109
+
void grpc_transport_stream_op_add_cancellation(grpc_transport_stream_op *op, grpc_status_code status, grpc_mdstr *message)
Definition: transport.c:85
+
grpc_connectivity_state * connectivity_state
Definition: transport.h:95
+
grpc_iomgr_closure * on_consumed
Definition: transport.h:67
+
grpc_status_code goaway_status
what should the goaway contain?
Definition: transport.h:103
+
grpc_stream_op_buffer * send_ops
Definition: transport.h:69
+
grpc_status_code cancel_with_status
Definition: transport.h:83
+
Definition: transport.h:57
+
A closure over a grpc_iomgr_cb_func.
Definition: iomgr.h:45
+
void(* set_accept_stream)(void *user_data, grpc_transport *transport, const void *server_data)
set the callback for accepting new streams; this is a permanent callback, unlike the other one-shot c...
Definition: transport.h:107
+
void grpc_transport_goaway(grpc_transport *transport, grpc_status_code status, gpr_slice debug_data)
+
grpc_pollset * bind_pollset
add this transport to a pollset
Definition: transport.h:111
+
Definition: context.h:44
+
grpc_pollset * bind_pollset
Definition: transport.h:81
+
grpc_iomgr_closure * on_done_recv
Definition: transport.h:79
+ +
int send_goaway
should we send a goaway? after a goaway is sent, once there are no more active calls on the transport...
Definition: transport.h:101
+ +
grpc_iomgr_closure * on_done_send
Definition: transport.h:71
+ +
grpc_status_code
Definition: status.h:41
+
void grpc_transport_perform_stream_op(grpc_transport *transport, grpc_stream *stream, grpc_transport_stream_op *op)
Definition: transport.c:52
+
Definition: pollset_set_posix.h:40
+
Definition: transport_impl.h:67
+
int disconnect
should the transport be disconnected
Definition: transport.h:97
+
A stream op buffer is a wrapper around stream operations that is dynamically extendable.
Definition: stream_op.h:176
+
grpc_call_context_element * context
Definition: transport.h:86
+
Definition: slice.h:79
+
Transport op: a set of operations to perform on a transport as a whole.
Definition: transport.h:90
+
void grpc_transport_stream_op_finish_with_failure(grpc_transport_stream_op *op)
Definition: transport.c:72
+
struct grpc_transport_stream_op grpc_transport_stream_op
+
grpc_iomgr_closure * send_ping
send a ping, call this back if not NULL
Definition: transport.h:115
+
+ + + + diff --git a/doc/ref/core.internal/html/transport__impl_8h.html b/doc/ref/core.internal/html/transport__impl_8h.html new file mode 100644 index 0000000000..887cbed9d4 --- /dev/null +++ b/doc/ref/core.internal/html/transport__impl_8h.html @@ -0,0 +1,132 @@ + + + + + + +GRPC Core: src/core/transport/transport_impl.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
transport_impl.h File Reference
+
+
+ +

Go to the source code of this file.

+ + + + + + +

+Data Structures

struct  grpc_transport_vtable
 
struct  grpc_transport
 
+ + + +

+Typedefs

typedef struct
+grpc_transport_vtable 
grpc_transport_vtable
 
+

Typedef Documentation

+ +
+
+ + + + +
typedef struct grpc_transport_vtable grpc_transport_vtable
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/transport__impl_8h_source.html b/doc/ref/core.internal/html/transport__impl_8h_source.html new file mode 100644 index 0000000000..e5d7c8645e --- /dev/null +++ b/doc/ref/core.internal/html/transport__impl_8h_source.html @@ -0,0 +1,185 @@ + + + + + + +GRPC Core: src/core/transport/transport_impl.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
transport_impl.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPC_INTERNAL_CORE_TRANSPORT_TRANSPORT_IMPL_H
+
35 #define GRPC_INTERNAL_CORE_TRANSPORT_TRANSPORT_IMPL_H
+
36 
+ +
38 
+
39 typedef struct grpc_transport_vtable {
+
40  /* Memory required for a single stream element - this is allocated by upper
+
41  layers and initialized by the transport */
+
42  size_t sizeof_stream; /* = sizeof(transport stream) */
+
43 
+
44  /* implementation of grpc_transport_init_stream */
+
45  int (*init_stream)(grpc_transport *self, grpc_stream *stream,
+
46  const void *server_data,
+
47  grpc_transport_stream_op *initial_op);
+
48 
+
49  /* implementation of grpc_transport_perform_stream_op */
+ + +
52 
+
53  /* implementation of grpc_transport_perform_op */
+ +
55 
+
56  /* implementation of grpc_transport_destroy_stream */
+
57  void (*destroy_stream)(grpc_transport *self, grpc_stream *stream);
+
58 
+
59  /* implementation of grpc_transport_destroy */
+
60  void (*destroy)(grpc_transport *self);
+
61 
+
62  /* implementation of grpc_transport_get_peer */
+
63  char *(*get_peer)(grpc_transport *self);
+ +
65 
+
66 /* an instance of a grpc transport */
+ +
68  /* pointer to a vtable defining operations on this transport */
+ +
70 };
+
71 
+
72 #endif /* GRPC_INTERNAL_CORE_TRANSPORT_TRANSPORT_IMPL_H */
+ +
struct grpc_stream grpc_stream
Definition: transport.h:50
+
Definition: transport.h:66
+
void(* destroy)(grpc_transport *self)
Definition: transport_impl.h:60
+
void(* perform_stream_op)(grpc_transport *self, grpc_stream *stream, grpc_transport_stream_op *op)
Definition: transport_impl.h:50
+
Definition: transport_impl.h:39
+
const grpc_transport_vtable * vtable
Definition: transport_impl.h:69
+
int(* init_stream)(grpc_transport *self, grpc_stream *stream, const void *server_data, grpc_transport_stream_op *initial_op)
Definition: transport_impl.h:45
+
size_t sizeof_stream
Definition: transport_impl.h:42
+
void(* destroy_stream)(grpc_transport *self, grpc_stream *stream)
Definition: transport_impl.h:57
+
void(* perform_op)(grpc_transport *self, grpc_transport_op *op)
Definition: transport_impl.h:54
+
Definition: transport_impl.h:67
+
Transport op: a set of operations to perform on a transport as a whole.
Definition: transport.h:90
+
struct grpc_transport_vtable grpc_transport_vtable
+
+ + + + diff --git a/doc/ref/core.internal/html/transport__op__string_8c.html b/doc/ref/core.internal/html/transport__op__string_8c.html new file mode 100644 index 0000000000..83ab2b6f89 --- /dev/null +++ b/doc/ref/core.internal/html/transport__op__string_8c.html @@ -0,0 +1,195 @@ + + + + + + +GRPC Core: src/core/transport/transport_op_string.c File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
transport_op_string.c File Reference
+
+
+
#include "src/core/channel/channel_stack.h"
+#include <stdarg.h>
+#include <stdio.h>
+#include <string.h>
+#include <grpc/support/alloc.h>
+#include <grpc/support/string_util.h>
+#include <grpc/support/useful.h>
+
+ + + + + + + +

+Functions

char * grpc_sopb_string (grpc_stream_op_buffer *sopb)
 
char * grpc_transport_stream_op_string (grpc_transport_stream_op *op)
 
void grpc_call_log_op (char *file, int line, gpr_log_severity severity, grpc_call_element *elem, grpc_transport_stream_op *op)
 
+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void grpc_call_log_op (char * file,
int line,
gpr_log_severity severity,
grpc_call_elementelem,
grpc_transport_stream_opop 
)
+
+ +
+
+ +
+
+ + + + + + + + +
char* grpc_sopb_string (grpc_stream_op_buffersopb)
+
+ +
+
+ +
+
+ + + + + + + + +
char* grpc_transport_stream_op_string (grpc_transport_stream_opop)
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/transport__security_8c.html b/doc/ref/core.internal/html/transport__security_8c.html new file mode 100644 index 0000000000..186c71e03a --- /dev/null +++ b/doc/ref/core.internal/html/transport__security_8c.html @@ -0,0 +1,670 @@ + + + + + + +GRPC Core: src/core/tsi/transport_security.c File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
transport_security.c File Reference
+
+
+
#include "src/core/tsi/transport_security.h"
+#include <stdlib.h>
+#include <string.h>
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

char * tsi_strdup (const char *src)
 
const char * tsi_result_to_string (tsi_result result)
 
tsi_result tsi_frame_protector_protect (tsi_frame_protector *self, const unsigned char *unprotected_bytes, size_t *unprotected_bytes_size, unsigned char *protected_output_frames, size_t *protected_output_frames_size)
 
tsi_result tsi_frame_protector_protect_flush (tsi_frame_protector *self, unsigned char *protected_output_frames, size_t *protected_output_frames_size, size_t *still_pending_size)
 
tsi_result tsi_frame_protector_unprotect (tsi_frame_protector *self, const unsigned char *protected_frames_bytes, size_t *protected_frames_bytes_size, unsigned char *unprotected_bytes, size_t *unprotected_bytes_size)
 
void tsi_frame_protector_destroy (tsi_frame_protector *self)
 
tsi_result tsi_handshaker_get_bytes_to_send_to_peer (tsi_handshaker *self, unsigned char *bytes, size_t *bytes_size)
 
tsi_result tsi_handshaker_process_bytes_from_peer (tsi_handshaker *self, const unsigned char *bytes, size_t *bytes_size)
 
tsi_result tsi_handshaker_get_result (tsi_handshaker *self)
 
tsi_result tsi_handshaker_extract_peer (tsi_handshaker *self, tsi_peer *peer)
 
tsi_result tsi_handshaker_create_frame_protector (tsi_handshaker *self, size_t *max_protected_frame_size, tsi_frame_protector **protector)
 
void tsi_handshaker_destroy (tsi_handshaker *self)
 
tsi_peer_property tsi_init_peer_property (void)
 
void tsi_peer_property_destruct (tsi_peer_property *property)
 
void tsi_peer_destruct (tsi_peer *self)
 
tsi_result tsi_construct_allocated_string_peer_property (const char *name, size_t value_length, tsi_peer_property *property)
 
tsi_result tsi_construct_string_peer_property_from_cstring (const char *name, const char *value, tsi_peer_property *property)
 
tsi_result tsi_construct_string_peer_property (const char *name, const char *value, size_t value_length, tsi_peer_property *property)
 
tsi_result tsi_construct_peer (size_t property_count, tsi_peer *peer)
 
+ + + +

+Variables

int tsi_tracing_enabled = 0
 
+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
tsi_result tsi_construct_allocated_string_peer_property (const char * name,
size_t value_length,
tsi_peer_propertyproperty 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
tsi_result tsi_construct_peer (size_t property_count,
tsi_peerpeer 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
tsi_result tsi_construct_string_peer_property (const char * name,
const char * value,
size_t value_length,
tsi_peer_propertyproperty 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
tsi_result tsi_construct_string_peer_property_from_cstring (const char * name,
const char * value,
tsi_peer_propertyproperty 
)
+
+ +
+
+ +
+
+ + + + + + + + +
void tsi_frame_protector_destroy (tsi_frame_protectorself)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
tsi_result tsi_frame_protector_protect (tsi_frame_protectorself,
const unsigned char * unprotected_bytes,
size_t * unprotected_bytes_size,
unsigned char * protected_output_frames,
size_t * protected_output_frames_size 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
tsi_result tsi_frame_protector_protect_flush (tsi_frame_protectorself,
unsigned char * protected_output_frames,
size_t * protected_output_frames_size,
size_t * still_pending_size 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
tsi_result tsi_frame_protector_unprotect (tsi_frame_protectorself,
const unsigned char * protected_frames_bytes,
size_t * protected_frames_bytes_size,
unsigned char * unprotected_bytes,
size_t * unprotected_bytes_size 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
tsi_result tsi_handshaker_create_frame_protector (tsi_handshakerself,
size_t * max_protected_frame_size,
tsi_frame_protector ** protector 
)
+
+ +
+
+ +
+
+ + + + + + + + +
void tsi_handshaker_destroy (tsi_handshakerself)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
tsi_result tsi_handshaker_extract_peer (tsi_handshakerself,
tsi_peerpeer 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
tsi_result tsi_handshaker_get_bytes_to_send_to_peer (tsi_handshakerself,
unsigned char * bytes,
size_t * bytes_size 
)
+
+ +
+
+ +
+
+ + + + + + + + +
tsi_result tsi_handshaker_get_result (tsi_handshakerself)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
tsi_result tsi_handshaker_process_bytes_from_peer (tsi_handshakerself,
const unsigned char * bytes,
size_t * bytes_size 
)
+
+ +
+
+ +
+
+ + + + + + + + +
tsi_peer_property tsi_init_peer_property (void )
+
+ +
+
+ +
+
+ + + + + + + + +
void tsi_peer_destruct (tsi_peerself)
+
+ +
+
+ +
+
+ + + + + + + + +
void tsi_peer_property_destruct (tsi_peer_propertyproperty)
+
+ +
+
+ +
+
+ + + + + + + + +
const char* tsi_result_to_string (tsi_result result)
+
+ +
+
+ +
+
+ + + + + + + + +
char* tsi_strdup (const char * src)
+
+ +
+
+

Variable Documentation

+ +
+
+ + + + +
int tsi_tracing_enabled = 0
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/transport__security_8h.html b/doc/ref/core.internal/html/transport__security_8h.html new file mode 100644 index 0000000000..86ea232c73 --- /dev/null +++ b/doc/ref/core.internal/html/transport__security_8h.html @@ -0,0 +1,330 @@ + + + + + + +GRPC Core: src/core/tsi/transport_security.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
transport_security.h File Reference
+
+
+ +

Go to the source code of this file.

+ + + + + + + + + + +

+Data Structures

struct  tsi_frame_protector_vtable
 
struct  tsi_frame_protector
 
struct  tsi_handshaker_vtable
 
struct  tsi_handshaker
 
+ + + + + + + + + + + + + + + +

+Functions

tsi_result tsi_construct_peer (size_t property_count, tsi_peer *peer)
 
tsi_peer_property tsi_init_peer_property (void)
 
void tsi_peer_property_destruct (tsi_peer_property *property)
 
tsi_result tsi_construct_string_peer_property (const char *name, const char *value, size_t value_length, tsi_peer_property *property)
 
tsi_result tsi_construct_allocated_string_peer_property (const char *name, size_t value_length, tsi_peer_property *property)
 
tsi_result tsi_construct_string_peer_property_from_cstring (const char *name, const char *value, tsi_peer_property *property)
 
char * tsi_strdup (const char *src)
 
+ + + +

+Variables

int tsi_tracing_enabled
 
+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
tsi_result tsi_construct_allocated_string_peer_property (const char * name,
size_t value_length,
tsi_peer_propertyproperty 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
tsi_result tsi_construct_peer (size_t property_count,
tsi_peerpeer 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
tsi_result tsi_construct_string_peer_property (const char * name,
const char * value,
size_t value_length,
tsi_peer_propertyproperty 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
tsi_result tsi_construct_string_peer_property_from_cstring (const char * name,
const char * value,
tsi_peer_propertyproperty 
)
+
+ +
+
+ +
+
+ + + + + + + + +
tsi_peer_property tsi_init_peer_property (void )
+
+ +
+
+ +
+
+ + + + + + + + +
void tsi_peer_property_destruct (tsi_peer_propertyproperty)
+
+ +
+
+ +
+
+ + + + + + + + +
char* tsi_strdup (const char * src)
+
+ +
+
+

Variable Documentation

+ +
+
+ + + + +
int tsi_tracing_enabled
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/transport__security_8h_source.html b/doc/ref/core.internal/html/transport__security_8h_source.html new file mode 100644 index 0000000000..733b4095c7 --- /dev/null +++ b/doc/ref/core.internal/html/transport__security_8h_source.html @@ -0,0 +1,231 @@ + + + + + + +GRPC Core: src/core/tsi/transport_security.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
transport_security.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPC_INTERNAL_CORE_TSI_TRANSPORT_SECURITY_H
+
35 #define GRPC_INTERNAL_CORE_TSI_TRANSPORT_SECURITY_H
+
36 
+ +
38 
+
39 #ifdef __cplusplus
+
40 extern "C" {
+
41 #endif
+
42 
+
43 extern int tsi_tracing_enabled;
+
44 
+
45 /* Base for tsi_frame_protector implementations.
+
46  See transport_security_interface.h for documentation. */
+
47 typedef struct {
+
48  tsi_result (*protect)(tsi_frame_protector* self,
+
49  const unsigned char* unprotected_bytes,
+
50  size_t* unprotected_bytes_size,
+
51  unsigned char* protected_output_frames,
+
52  size_t* protected_output_frames_size);
+
53  tsi_result (*protect_flush)(tsi_frame_protector* self,
+
54  unsigned char* protected_output_frames,
+
55  size_t* protected_output_frames_size,
+
56  size_t* still_pending_size);
+
57  tsi_result (*unprotect)(tsi_frame_protector* self,
+
58  const unsigned char* protected_frames_bytes,
+
59  size_t* protected_frames_bytes_size,
+
60  unsigned char* unprotected_bytes,
+
61  size_t* unprotected_bytes_size);
+
62  void (*destroy)(tsi_frame_protector* self);
+ +
64 
+ + +
67 };
+
68 
+
69 /* Base for tsi_handshaker implementations.
+
70  See transport_security_interface.h for documentation. */
+
71 typedef struct {
+
72  tsi_result (*get_bytes_to_send_to_peer)(tsi_handshaker* self,
+
73  unsigned char* bytes,
+
74  size_t* bytes_size);
+
75  tsi_result (*process_bytes_from_peer)(tsi_handshaker* self,
+
76  const unsigned char* bytes,
+
77  size_t* bytes_size);
+
78  tsi_result (*get_result)(tsi_handshaker* self);
+
79  tsi_result (*extract_peer)(tsi_handshaker* self, tsi_peer* peer);
+
80  tsi_result (*create_frame_protector)(tsi_handshaker* self,
+
81  size_t* max_protected_frame_size,
+
82  tsi_frame_protector** protector);
+
83  void (*destroy)(tsi_handshaker* self);
+ +
85 
+ + + +
89 };
+
90 
+
91 /* Peer and property construction/destruction functions. */
+
92 tsi_result tsi_construct_peer(size_t property_count, tsi_peer* peer);
+ + + +
96  const char* value,
+
97  size_t value_length,
+
98  tsi_peer_property* property);
+ +
100  const char* name, size_t value_length, tsi_peer_property* property);
+ +
102  const char* name, const char* value, tsi_peer_property* property);
+
103 
+
104 /* Utils. */
+
105 char* tsi_strdup(const char* src); /* Sadly, no strdup in C89. */
+
106 
+
107 #ifdef __cplusplus
+
108 }
+
109 #endif
+
110 
+
111 #endif /* GRPC_INTERNAL_CORE_TSI_TRANSPORT_SECURITY_H */
+
const char * value
Definition: hpack_table.c:44
+
Definition: transport_security.h:65
+
void(* destroy)(tsi_ssl_handshaker_factory *self)
Definition: ssl_transport_security.c:75
+
int tsi_tracing_enabled
Definition: transport_security.c:41
+
tsi_result tsi_construct_string_peer_property_from_cstring(const char *name, const char *value, tsi_peer_property *property)
Definition: transport_security.c:253
+
int frame_protector_created
Definition: transport_security.h:88
+ +
const tsi_frame_protector_vtable * vtable
Definition: transport_security.h:66
+
tsi_result tsi_construct_string_peer_property(const char *name, const char *value, size_t value_length, tsi_peer_property *property)
Definition: transport_security.c:259
+
const tsi_handshaker_vtable * vtable
Definition: transport_security.h:87
+
Definition: transport_security_interface.h:192
+
void tsi_peer_property_destruct(tsi_peer_property *property)
Definition: transport_security.c:216
+
Definition: transport_security.h:47
+
tsi_peer_property tsi_init_peer_property(void)
Definition: transport_security.c:201
+
tsi_result
Definition: transport_security_interface.h:46
+
tsi_result tsi_construct_peer(size_t property_count, tsi_peer *peer)
Definition: transport_security.c:272
+
Definition: transport_security.h:71
+
tsi_result tsi_construct_allocated_string_peer_property(const char *name, size_t value_length, tsi_peer_property *property)
Definition: transport_security.c:235
+
char * tsi_strdup(const char *src)
Definition: transport_security.c:45
+
Definition: transport_security.h:86
+
Definition: transport_security_interface.h:184
+
+ + + + diff --git a/doc/ref/core.internal/html/transport__security__interface_8h.html b/doc/ref/core.internal/html/transport__security__interface_8h.html new file mode 100644 index 0000000000..d9a83a9f3f --- /dev/null +++ b/doc/ref/core.internal/html/transport__security__interface_8h.html @@ -0,0 +1,638 @@ + + + + + + +GRPC Core: src/core/tsi/transport_security_interface.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
transport_security_interface.h File Reference
+
+
+
#include <stdint.h>
+#include <stdlib.h>
+
+

Go to the source code of this file.

+ + + + + + +

+Data Structures

struct  tsi_peer_property
 
struct  tsi_peer
 
+ + + + + +

+Macros

#define TSI_CERTIFICATE_TYPE_PEER_PROPERTY   "certificate_type"
 
#define tsi_handshaker_is_in_progress(h)   (tsi_handshaker_get_result((h)) == TSI_HANDSHAKE_IN_PROGRESS)
 
+ + + + + + + +

+Typedefs

typedef struct tsi_frame_protector tsi_frame_protector
 
typedef struct tsi_peer_property tsi_peer_property
 
typedef struct tsi_handshaker tsi_handshaker
 
+ + + +

+Enumerations

enum  tsi_result {
+  TSI_OK = 0, +TSI_UNKNOWN_ERROR = 1, +TSI_INVALID_ARGUMENT = 2, +TSI_PERMISSION_DENIED = 3, +
+  TSI_INCOMPLETE_DATA = 4, +TSI_FAILED_PRECONDITION = 5, +TSI_UNIMPLEMENTED = 6, +TSI_INTERNAL_ERROR = 7, +
+  TSI_DATA_CORRUPTED = 8, +TSI_NOT_FOUND = 9, +TSI_PROTOCOL_FAILURE = 10, +TSI_HANDSHAKE_IN_PROGRESS = 11, +
+  TSI_OUT_OF_RESOURCES = 12 +
+ }
 
+ + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

const char * tsi_result_to_string (tsi_result result)
 
tsi_result tsi_frame_protector_protect (tsi_frame_protector *self, const unsigned char *unprotected_bytes, size_t *unprotected_bytes_size, unsigned char *protected_output_frames, size_t *protected_output_frames_size)
 
tsi_result tsi_frame_protector_protect_flush (tsi_frame_protector *self, unsigned char *protected_output_frames, size_t *protected_output_frames_size, size_t *still_pending_size)
 
tsi_result tsi_frame_protector_unprotect (tsi_frame_protector *self, const unsigned char *protected_frames_bytes, size_t *protected_frames_bytes_size, unsigned char *unprotected_bytes, size_t *unprotected_bytes_size)
 
void tsi_frame_protector_destroy (tsi_frame_protector *self)
 
void tsi_peer_destruct (tsi_peer *self)
 
tsi_result tsi_handshaker_get_bytes_to_send_to_peer (tsi_handshaker *self, unsigned char *bytes, size_t *bytes_size)
 
tsi_result tsi_handshaker_process_bytes_from_peer (tsi_handshaker *self, const unsigned char *bytes, size_t *bytes_size)
 
tsi_result tsi_handshaker_get_result (tsi_handshaker *self)
 
tsi_result tsi_handshaker_extract_peer (tsi_handshaker *self, tsi_peer *peer)
 
tsi_result tsi_handshaker_create_frame_protector (tsi_handshaker *self, size_t *max_output_protected_frame_size, tsi_frame_protector **protector)
 
void tsi_handshaker_destroy (tsi_handshaker *self)
 
+ + + +

+Variables

int tsi_tracing_enabled
 
+

Macro Definition Documentation

+ +
+
+ + + + +
#define TSI_CERTIFICATE_TYPE_PEER_PROPERTY   "certificate_type"
+
+ +
+
+ +
+
+ + + + + + + + +
#define tsi_handshaker_is_in_progress( h)   (tsi_handshaker_get_result((h)) == TSI_HANDSHAKE_IN_PROGRESS)
+
+ +
+
+

Typedef Documentation

+ +
+
+ + + + +
typedef struct tsi_frame_protector tsi_frame_protector
+
+ +
+
+ +
+
+ + + + +
typedef struct tsi_handshaker tsi_handshaker
+
+ +
+
+ +
+
+ + + + +
typedef struct tsi_peer_property tsi_peer_property
+
+ +
+
+

Enumeration Type Documentation

+ +
+
+ + + + +
enum tsi_result
+
+ + + + + + + + + + + + + + +
Enumerator
TSI_OK  +
TSI_UNKNOWN_ERROR  +
TSI_INVALID_ARGUMENT  +
TSI_PERMISSION_DENIED  +
TSI_INCOMPLETE_DATA  +
TSI_FAILED_PRECONDITION  +
TSI_UNIMPLEMENTED  +
TSI_INTERNAL_ERROR  +
TSI_DATA_CORRUPTED  +
TSI_NOT_FOUND  +
TSI_PROTOCOL_FAILURE  +
TSI_HANDSHAKE_IN_PROGRESS  +
TSI_OUT_OF_RESOURCES  +
+ +
+
+

Function Documentation

+ +
+
+ + + + + + + + +
void tsi_frame_protector_destroy (tsi_frame_protectorself)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
tsi_result tsi_frame_protector_protect (tsi_frame_protectorself,
const unsigned char * unprotected_bytes,
size_t * unprotected_bytes_size,
unsigned char * protected_output_frames,
size_t * protected_output_frames_size 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
tsi_result tsi_frame_protector_protect_flush (tsi_frame_protectorself,
unsigned char * protected_output_frames,
size_t * protected_output_frames_size,
size_t * still_pending_size 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
tsi_result tsi_frame_protector_unprotect (tsi_frame_protectorself,
const unsigned char * protected_frames_bytes,
size_t * protected_frames_bytes_size,
unsigned char * unprotected_bytes,
size_t * unprotected_bytes_size 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
tsi_result tsi_handshaker_create_frame_protector (tsi_handshakerself,
size_t * max_output_protected_frame_size,
tsi_frame_protector ** protector 
)
+
+ +
+
+ +
+
+ + + + + + + + +
void tsi_handshaker_destroy (tsi_handshakerself)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
tsi_result tsi_handshaker_extract_peer (tsi_handshakerself,
tsi_peerpeer 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
tsi_result tsi_handshaker_get_bytes_to_send_to_peer (tsi_handshakerself,
unsigned char * bytes,
size_t * bytes_size 
)
+
+ +
+
+ +
+
+ + + + + + + + +
tsi_result tsi_handshaker_get_result (tsi_handshakerself)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
tsi_result tsi_handshaker_process_bytes_from_peer (tsi_handshakerself,
const unsigned char * bytes,
size_t * bytes_size 
)
+
+ +
+
+ +
+
+ + + + + + + + +
void tsi_peer_destruct (tsi_peerself)
+
+ +
+
+ +
+
+ + + + + + + + +
const char* tsi_result_to_string (tsi_result result)
+
+ +
+
+

Variable Documentation

+ +
+
+ + + + +
int tsi_tracing_enabled
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/transport__security__interface_8h_source.html b/doc/ref/core.internal/html/transport__security__interface_8h_source.html new file mode 100644 index 0000000000..70d0d55e34 --- /dev/null +++ b/doc/ref/core.internal/html/transport__security__interface_8h_source.html @@ -0,0 +1,479 @@ + + + + + + +GRPC Core: src/core/tsi/transport_security_interface.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
transport_security_interface.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPC_INTERNAL_CORE_TSI_TRANSPORT_SECURITY_INTERFACE_H
+
35 #define GRPC_INTERNAL_CORE_TSI_TRANSPORT_SECURITY_INTERFACE_H
+
36 
+
37 #include <stdint.h>
+
38 #include <stdlib.h>
+
39 
+
40 #ifdef __cplusplus
+
41 extern "C" {
+
42 #endif
+
43 
+
44 /* --- tsi result --- */
+
45 
+
46 typedef enum {
+
47  TSI_OK = 0,
+ + + + + + + + + + + + +
60 } tsi_result;
+
61 
+
62 const char* tsi_result_to_string(tsi_result result);
+
63 
+
64 /* --- tsi tracing --- */
+
65 
+
66 /* Set this early to avoid races */
+
67 extern int tsi_tracing_enabled;
+
68 
+
69 /* --- tsi_frame_protector object ---
+
70 
+
71  This object protects and unprotects buffers once the handshake is done.
+
72  Implementations of this object must be thread compatible. */
+
73 
+ +
75 
+
76 /* Outputs protected frames.
+
77  - unprotected_bytes is an input only parameter and points to the data
+
78  to be protected.
+
79  - unprotected_bytes_size is an input/output parameter used by the caller to
+
80  specify how many bytes are available in unprotected_bytes. The output
+
81  value is the number of bytes consumed during the call.
+
82  - protected_output_frames points to a buffer allocated by the caller that
+
83  will be written.
+
84  - protected_output_frames_size is an input/output parameter used by the
+
85  caller to specify how many bytes are available in protected_output_frames.
+
86  As an output, this value indicates the number of bytes written.
+
87  - This method returns TSI_OK in case of success or a specific error code in
+
88  case of failure. Note that even if all the input unprotected bytes are
+
89  consumed, they may not have been processed into the returned protected
+
90  output frames. The caller should call the protect_flush method
+
91  to make sure that there are no more protected bytes buffered in the
+
92  protector.
+
93 
+
94  A typical way to call this method would be:
+
95 
+
96  ------------------------------------------------------------------------
+
97  unsigned char protected_buffer[4096];
+
98  size_t protected_buffer_size = sizeof(protected_buffer);
+
99  tsi_result result = TSI_OK;
+
100  while (message_size > 0) {
+
101  size_t protected_buffer_size_to_send = protected_buffer_size;
+
102  size_t processed_message_size = message_size;
+
103  result = tsi_frame_protector_protect(protector,
+
104  message_bytes,
+
105  &processed_message_size,
+
106  protected_buffer,
+
107  &protected_buffer_size_to_send);
+
108  if (result != TSI_OK) break;
+
109  send_bytes_to_peer(protected_buffer, protected_buffer_size_to_send);
+
110  message_bytes += processed_message_size;
+
111  message_size -= processed_message_size;
+
112 
+
113  // Don't forget to flush.
+
114  if (message_size == 0) {
+
115  size_t still_pending_size;
+
116  do {
+
117  protected_buffer_size_to_send = protected_buffer_size;
+
118  result = tsi_frame_protector_protect_flush(
+
119  protector, protected_buffer,
+
120  &protected_buffer_size_to_send, &still_pending_size);
+
121  if (result != TSI_OK) break;
+
122  send_bytes_to_peer(protected_buffer, protected_buffer_size_to_send);
+
123  } while (still_pending_size > 0);
+
124  }
+
125  }
+
126 
+
127  if (result != TSI_OK) HandleError(result);
+
128  ------------------------------------------------------------------------ */
+ +
130  const unsigned char* unprotected_bytes,
+
131  size_t* unprotected_bytes_size,
+
132  unsigned char* protected_output_frames,
+
133  size_t* protected_output_frames_size);
+
134 
+
135 /* Indicates that we need to flush the bytes buffered in the protector and get
+
136  the resulting frame.
+
137  - protected_output_frames points to a buffer allocated by the caller that
+
138  will be written.
+
139  - protected_output_frames_size is an input/output parameter used by the
+
140  caller to specify how many bytes are available in protected_output_frames.
+
141  - still_pending_bytes is an output parameter indicating the number of bytes
+
142  that still need to be flushed from the protector.*/
+ +
144  tsi_frame_protector* self, unsigned char* protected_output_frames,
+
145  size_t* protected_output_frames_size, size_t* still_pending_size);
+
146 
+
147 /* Outputs unprotected bytes.
+
148  - protected_frames_bytes is an input only parameter and points to the
+
149  protected frames to be unprotected.
+
150  - protected_frames_bytes_size is an input/output only parameter used by the
+
151  caller to specify how many bytes are available in protected_bytes. The
+
152  output value is the number of bytes consumed during the call.
+
153  Implementations will buffer up to a frame of protected data.
+
154  - unprotected_bytes points to a buffer allocated by the caller that will be
+
155  written.
+
156  - unprotected_bytes_size is an input/output parameter used by the caller to
+
157  specify how many bytes are available in unprotected_bytes. This
+
158  value is expected to be at most max_protected_frame_size minus overhead
+
159  which means that max_protected_frame_size is a safe bet. The output value
+
160  is the number of bytes actually written.
+
161 
+
162  - This method returns TSI_OK in case of success. Success includes cases where
+
163  there is not enough data to output a frame in which case
+
164  unprotected_bytes_size will be set to 0 and cases where the internal buffer
+
165  needs to be read before new protected data can be processed in which case
+
166  protected_frames_size will be set to 0. */
+ +
168  tsi_frame_protector* self, const unsigned char* protected_frames_bytes,
+
169  size_t* protected_frames_bytes_size, unsigned char* unprotected_bytes,
+
170  size_t* unprotected_bytes_size);
+
171 
+
172 /* Destroys the tsi_frame_protector object. */
+ +
174 
+
175 /* --- tsi_peer objects ---
+
176 
+
177  tsi_peer objects are a set of properties. The peer owns the properties. */
+
178 
+
179 /* This property is of type TSI_PEER_PROPERTY_STRING. */
+
180 #define TSI_CERTIFICATE_TYPE_PEER_PROPERTY "certificate_type"
+
181 
+
182 /* Property values may contain NULL characters just like C++ strings.
+
183  The length field gives the length of the string. */
+
184 typedef struct tsi_peer_property {
+
185  char* name;
+
186  struct {
+
187  char* data;
+
188  size_t length;
+
189  } value;
+ +
191 
+
192 typedef struct {
+ + +
195 } tsi_peer;
+
196 
+
197 /* Destructs the tsi_peer object. */
+
198 void tsi_peer_destruct(tsi_peer* self);
+
199 
+
200 /* --- tsi_handshaker objects ----
+
201 
+
202  Implementations of this object must be thread compatible.
+
203 
+
204  A typical usage of this object would be:
+
205 
+
206  ------------------------------------------------------------------------
+
207  tsi_result result = TSI_OK;
+
208  unsigned char buf[4096];
+
209  size_t buf_offset;
+
210  size_t buf_size;
+
211  while (1) {
+
212  // See if we need to send some bytes to the peer.
+
213  do {
+
214  size_t buf_size_to_send = sizeof(buf);
+
215  result = tsi_handshaker_get_bytes_to_send_to_peer(handshaker, buf,
+
216  &buf_size_to_send);
+
217  if (buf_size_to_send > 0) send_bytes_to_peer(buf, buf_size_to_send);
+
218  } while (result == TSI_INCOMPLETE_DATA);
+
219  if (result != TSI_OK) return result;
+
220  if (!tsi_handshaker_is_in_progress(handshaker)) break;
+
221 
+
222  do {
+
223  // Read bytes from the peer.
+
224  buf_size = sizeof(buf);
+
225  buf_offset = 0;
+
226  read_bytes_from_peer(buf, &buf_size);
+
227  if (buf_size == 0) break;
+
228 
+
229  // Process the bytes from the peer. We have to be careful as these bytes
+
230  // may contain non-handshake data (protected data). If this is the case,
+
231  // we will exit from the loop with buf_size > 0.
+
232  size_t consumed_by_handshaker = buf_size;
+
233  result = tsi_handshaker_process_bytes_from_peer(
+
234  handshaker, buf, &consumed_by_handshaker);
+
235  buf_size -= consumed_by_handshaker;
+
236  buf_offset += consumed_by_handshaker;
+
237  } while (result == TSI_INCOMPLETE_DATA);
+
238 
+
239  if (result != TSI_OK) return result;
+
240  if (!tsi_handshaker_is_in_progress(handshaker)) break;
+
241  }
+
242 
+
243  // Check the Peer.
+
244  tsi_peer peer;
+
245  do {
+
246  result = tsi_handshaker_extract_peer(handshaker, &peer);
+
247  if (result != TSI_OK) break;
+
248  result = check_peer(&peer);
+
249  } while (0);
+
250  tsi_peer_destruct(&peer);
+
251  if (result != TSI_OK) return result;
+
252 
+
253  // Create the protector.
+
254  tsi_frame_protector* protector = NULL;
+
255  result = tsi_handshaker_create_frame_protector(handshaker, NULL,
+
256  &protector);
+
257  if (result != TSI_OK) return result;
+
258 
+
259  // Do not forget to unprotect outstanding data if any.
+
260  if (buf_size > 0) {
+
261  result = tsi_frame_protector_unprotect(protector, buf + buf_offset,
+
262  buf_size, ..., ...);
+
263  ....
+
264  }
+
265  ...
+
266  ------------------------------------------------------------------------ */
+ +
268 
+
269 /* Gets bytes that need to be sent to the peer.
+
270  - bytes is the buffer that will be written with the data to be sent to the
+
271  peer.
+
272  - bytes_size is an input/output parameter specifying the capacity of the
+
273  bytes parameter as input and the number of bytes written as output.
+
274  Returns TSI_OK if all the data to send to the peer has been written or if
+
275  nothing has to be sent to the peer (in which base bytes_size outputs to 0),
+
276  otherwise returns TSI_INCOMPLETE_DATA which indicates that this method
+
277  needs to be called again to get all the bytes to send to the peer (there
+
278  was more data to write than the specified bytes_size). In case of a fatal
+
279  error in the handshake, another specific error code is returned. */
+ +
281  unsigned char* bytes,
+
282  size_t* bytes_size);
+
283 
+
284 /* Processes bytes received from the peer.
+
285  - bytes is the buffer containing the data.
+
286  - bytes_size is an input/output parameter specifying the size of the data as
+
287  input and the number of bytes consumed as output.
+
288  Return TSI_OK if the handshake has all the data it needs to process,
+
289  otherwise return TSI_INCOMPLETE_DATA which indicates that this method
+
290  needs to be called again to complete the data needed for processing. In
+
291  case of a fatal error in the handshake, another specific error code is
+
292  returned. */
+ +
294  const unsigned char* bytes,
+
295  size_t* bytes_size);
+
296 
+
297 /* Gets the result of the handshaker.
+
298  Returns TSI_OK if the hanshake completed successfully and there has been no
+
299  errors. Returns TSI_HANDSHAKE_IN_PROGRESS if the handshaker is not done yet
+
300  but no error has been encountered so far. Otherwise the handshaker failed
+
301  with the returned error. */
+ +
303 
+
304 /* Returns 1 if the handshake is in progress, 0 otherwise. */
+
305 #define tsi_handshaker_is_in_progress(h) \
+
306  (tsi_handshaker_get_result((h)) == TSI_HANDSHAKE_IN_PROGRESS)
+
307 
+
308 /* This method may return TSI_FAILED_PRECONDITION if
+
309  tsi_handshaker_is_in_progress returns 1, it returns TSI_OK otherwise
+
310  assuming the handshaker is not in a fatal error state.
+
311  The caller is responsible for destructing the peer. */
+ +
313 
+
314 /* This method creates a tsi_frame_protector object after the handshake phase
+
315  is done. After this method has been called successfully, the only method
+
316  that can be called on this object is Destroy.
+
317  - max_output_protected_frame_size is an input/output parameter specifying the
+
318  desired max output protected frame size as input and outputing the actual
+
319  max output frame size as the output. Passing NULL is OK and will result in
+
320  the implementation choosing the default maximum protected frame size. Note
+
321  that this size only applies to outgoing frames (generated with
+
322  tsi_frame_protector_protect) and not incoming frames (input of
+
323  tsi_frame_protector_unprotect).
+
324  - protector is an output parameter pointing to the newly created
+
325  tsi_frame_protector object.
+
326  This method may return TSI_FAILED_PRECONDITION if
+
327  tsi_handshaker_is_in_progress returns 1, it returns TSI_OK otherwise assuming
+
328  the handshaker is not in a fatal error state.
+
329  The caller is responsible for destroying the protector. */
+ +
331  tsi_handshaker* self, size_t* max_output_protected_frame_size,
+
332  tsi_frame_protector** protector);
+
333 
+
334 /* This method releases the tsi_handshaker object. After this method is called,
+
335  no other method can be called on the object. */
+ +
337 
+
338 #ifdef __cplusplus
+
339 }
+
340 #endif
+
341 
+
342 #endif /* GRPC_INTERNAL_CORE_TSI_TRANSPORT_SECURITY_INTERFACE_H */
+
Definition: transport_security.h:65
+
tsi_result tsi_handshaker_process_bytes_from_peer(tsi_handshaker *self, const unsigned char *bytes, size_t *bytes_size)
Definition: transport_security.c:153
+
Definition: transport_security_interface.h:57
+
Definition: transport_security_interface.h:54
+
Definition: transport_security_interface.h:59
+
tsi_result tsi_handshaker_get_bytes_to_send_to_peer(tsi_handshaker *self, unsigned char *bytes, size_t *bytes_size)
Definition: transport_security.c:145
+
void tsi_peer_destruct(tsi_peer *self)
Definition: transport_security.c:226
+
tsi_result tsi_frame_protector_protect(tsi_frame_protector *self, const unsigned char *unprotected_bytes, size_t *unprotected_bytes_size, unsigned char *protected_output_frames, size_t *protected_output_frames_size)
Definition: transport_security.c:95
+
tsi_result tsi_frame_protector_unprotect(tsi_frame_protector *self, const unsigned char *protected_frames_bytes, size_t *protected_frames_bytes_size, unsigned char *unprotected_bytes, size_t *unprotected_bytes_size)
Definition: transport_security.c:122
+
char * data
Definition: transport_security_interface.h:187
+
struct tsi_peer_property::@12 value
+
Definition: transport_security_interface.h:55
+
Definition: transport_security_interface.h:192
+
Definition: transport_security_interface.h:51
+
Definition: transport_security_interface.h:50
+
Definition: transport_security_interface.h:52
+
tsi_peer_property * properties
Definition: transport_security_interface.h:193
+
size_t property_count
Definition: transport_security_interface.h:194
+
tsi_result
Definition: transport_security_interface.h:46
+
void tsi_handshaker_destroy(tsi_handshaker *self)
Definition: transport_security.c:194
+
Definition: transport_security_interface.h:53
+
tsi_result tsi_handshaker_create_frame_protector(tsi_handshaker *self, size_t *max_output_protected_frame_size, tsi_frame_protector **protector)
Definition: transport_security.c:177
+
int tsi_tracing_enabled
Definition: transport_security.c:41
+
Definition: transport_security_interface.h:56
+
tsi_result tsi_handshaker_get_result(tsi_handshaker *self)
Definition: transport_security.c:161
+
struct tsi_peer_property tsi_peer_property
+
Definition: transport_security_interface.h:49
+
char * name
Definition: transport_security_interface.h:185
+
tsi_result tsi_handshaker_extract_peer(tsi_handshaker *self, tsi_peer *peer)
Definition: transport_security.c:167
+
void tsi_frame_protector_destroy(tsi_frame_protector *self)
Definition: transport_security.c:136
+
Definition: transport_security_interface.h:58
+
Definition: transport_security.h:86
+
tsi_result tsi_frame_protector_protect_flush(tsi_frame_protector *self, unsigned char *protected_output_frames, size_t *protected_output_frames_size, size_t *still_pending_size)
Definition: transport_security.c:110
+
const char * tsi_result_to_string(tsi_result result)
Definition: transport_security.c:58
+
size_t length
Definition: transport_security_interface.h:188
+
Definition: transport_security_interface.h:48
+
Definition: transport_security_interface.h:47
+
Definition: transport_security_interface.h:184
+
+ + + + diff --git a/doc/ref/core.internal/html/uniongrpc__ioreq__data.html b/doc/ref/core.internal/html/uniongrpc__ioreq__data.html new file mode 100644 index 0000000000..fdef531541 --- /dev/null +++ b/doc/ref/core.internal/html/uniongrpc__ioreq__data.html @@ -0,0 +1,323 @@ + + + + + + +GRPC Core: grpc_ioreq_data Union Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
grpc_ioreq_data Union Reference
+
+
+ +

#include <call.h>

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Data Fields

grpc_metadata_arrayrecv_metadata
 
grpc_byte_buffer ** recv_message
 
struct {
   void(*   set_value )(grpc_status_code status,
+      void *user_data)
 
   void *   user_data
 
recv_status
 
struct {
   char **   details
 
   size_t *   details_capacity
 
recv_status_details
 
struct {
   size_t   count
 
   grpc_metadata *   metadata
 
send_metadata
 
grpc_byte_buffersend_message
 
struct {
   grpc_status_code   code
 
   grpc_mdstr *   details
 
send_status
 
+

Field Documentation

+ +
+
+ + + + +
grpc_status_code grpc_ioreq_data::code
+
+ +
+
+ +
+
+ + + + +
size_t grpc_ioreq_data::count
+
+ +
+
+ +
+
+ + + + +
char** grpc_ioreq_data::details
+
+ +
+
+ +
+
+ + + + +
grpc_mdstr* grpc_ioreq_data::details
+
+ +
+
+ +
+
+ + + + +
size_t* grpc_ioreq_data::details_capacity
+
+ +
+
+ +
+
+ + + + +
grpc_metadata* grpc_ioreq_data::metadata
+
+ +
+
+ +
+
+ + + + +
grpc_byte_buffer** grpc_ioreq_data::recv_message
+
+ +
+
+ +
+
+ + + + +
grpc_metadata_array* grpc_ioreq_data::recv_metadata
+
+ +
+
+ +
+
+ + + + +
struct { ... } grpc_ioreq_data::recv_status
+
+ +
+
+ +
+
+ + + + +
struct { ... } grpc_ioreq_data::recv_status_details
+
+ +
+
+ +
+
+ + + + +
grpc_byte_buffer* grpc_ioreq_data::send_message
+
+ +
+
+ +
+
+ + + + +
struct { ... } grpc_ioreq_data::send_metadata
+
+ +
+
+ +
+
+ + + + +
struct { ... } grpc_ioreq_data::send_status
+
+ +
+
+ +
+
+ + + + +
void(* grpc_ioreq_data::set_value)(grpc_status_code status, void *user_data)
+
+ +
+
+ +
+
+ + + + +
void* grpc_ioreq_data::user_data
+
+ +
+
+
The documentation for this union was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/unionlockfree__node.html b/doc/ref/core.internal/html/unionlockfree__node.html new file mode 100644 index 0000000000..835e3b3221 --- /dev/null +++ b/doc/ref/core.internal/html/unionlockfree__node.html @@ -0,0 +1,134 @@ + + + + + + +GRPC Core: lockfree_node Union Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
lockfree_node Union Reference
+
+
+ + + + + + +

+Data Fields

gpr_atm atm
 
struct lockfree_node_contents contents
 
+

Field Documentation

+ +
+
+ + + + +
gpr_atm lockfree_node::atm
+
+ +
+
+ +
+
+ + + + +
struct lockfree_node_contents lockfree_node::contents
+
+ +
+
+
The documentation for this union was generated from the following file: +
+ + + + diff --git a/doc/ref/core.internal/html/uri__parser_8c.html b/doc/ref/core.internal/html/uri__parser_8c.html new file mode 100644 index 0000000000..20bc36da65 --- /dev/null +++ b/doc/ref/core.internal/html/uri__parser_8c.html @@ -0,0 +1,163 @@ + + + + + + +GRPC Core: src/core/client_config/uri_parser.c File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
uri_parser.c File Reference
+
+
+ + + + + + + + +

+Functions

grpc_urigrpc_uri_parse (const char *uri_text, int suppress_errors)
 parse a uri, return NULL on failure More...
 
void grpc_uri_destroy (grpc_uri *uri)
 destroy a uri More...
 
+

Function Documentation

+ +
+
+ + + + + + + + +
void grpc_uri_destroy (grpc_uriuri)
+
+ +

destroy a uri

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
grpc_uri* grpc_uri_parse (const char * uri_text,
int suppress_errors 
)
+
+ +

parse a uri, return NULL on failure

+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/uri__parser_8h.html b/doc/ref/core.internal/html/uri__parser_8h.html new file mode 100644 index 0000000000..a854023cb3 --- /dev/null +++ b/doc/ref/core.internal/html/uri__parser_8h.html @@ -0,0 +1,166 @@ + + + + + + +GRPC Core: src/core/client_config/uri_parser.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
uri_parser.h File Reference
+
+
+ +

Go to the source code of this file.

+ + + + +

+Data Structures

struct  grpc_uri
 
+ + + + + + + +

+Functions

grpc_urigrpc_uri_parse (const char *uri_text, int suppress_errors)
 parse a uri, return NULL on failure More...
 
void grpc_uri_destroy (grpc_uri *uri)
 destroy a uri More...
 
+

Function Documentation

+ +
+
+ + + + + + + + +
void grpc_uri_destroy (grpc_uriuri)
+
+ +

destroy a uri

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
grpc_uri* grpc_uri_parse (const char * uri_text,
int suppress_errors 
)
+
+ +

parse a uri, return NULL on failure

+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/uri__parser_8h_source.html b/doc/ref/core.internal/html/uri__parser_8h_source.html new file mode 100644 index 0000000000..806396ca40 --- /dev/null +++ b/doc/ref/core.internal/html/uri__parser_8h_source.html @@ -0,0 +1,152 @@ + + + + + + +GRPC Core: src/core/client_config/uri_parser.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
uri_parser.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPC_INTERNAL_CORE_CLIENT_CONFIG_URI_PARSER_H
+
35 #define GRPC_INTERNAL_CORE_CLIENT_CONFIG_URI_PARSER_H
+
36 
+
37 typedef struct {
+
38  char *scheme;
+
39  char *authority;
+
40  char *path;
+
41 } grpc_uri;
+
42 
+
44 grpc_uri *grpc_uri_parse(const char *uri_text, int suppress_errors);
+
45 
+
47 void grpc_uri_destroy(grpc_uri *uri);
+
48 
+
49 #endif
+
char * scheme
Definition: uri_parser.h:38
+
char * path
Definition: uri_parser.h:40
+
grpc_uri * grpc_uri_parse(const char *uri_text, int suppress_errors)
parse a uri, return NULL on failure
Definition: uri_parser.c:70
+
char * authority
Definition: uri_parser.h:39
+
void grpc_uri_destroy(grpc_uri *uri)
destroy a uri
Definition: uri_parser.c:143
+
Definition: uri_parser.h:37
+
+ + + + diff --git a/doc/ref/core.internal/html/useful_8h.html b/doc/ref/core.internal/html/useful_8h.html new file mode 100644 index 0000000000..5f99cbb09c --- /dev/null +++ b/doc/ref/core.internal/html/useful_8h.html @@ -0,0 +1,450 @@ + + + + + + +GRPC Core: include/grpc/support/useful.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
useful.h File Reference
+
+
+ +

Go to the source code of this file.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Macros

#define GPR_MIN(a, b)   ((a) < (b) ? (a) : (b))
 
#define GPR_MAX(a, b)   ((a) > (b) ? (a) : (b))
 
#define GPR_CLAMP(a, min, max)   ((a) < (min) ? (min) : (a) > (max) ? (max) : (a))
 
#define GPR_ROTL(x, n)   (((x) << (n)) | ((x) >> (sizeof(x) * 8 - (n))))
 
#define GPR_ROTR(x, n)   (((x) >> (n)) | ((x) << (sizeof(x) * 8 - (n))))
 
#define GPR_ARRAY_SIZE(array)   (sizeof(array) / sizeof(*(array)))
 
#define GPR_SWAP(type, a, b)
 
#define GPR_BITSET(i, n)   ((*(i)) |= (1u << (n)))
 Set the n-th bit of i (a mutable pointer). More...
 
#define GPR_BITCLEAR(i, n)   ((*(i)) &= ~(1u << (n)))
 Clear the n-th bit of i (a mutable pointer). More...
 
#define GPR_BITGET(i, n)   (((i) & (1u << (n))) != 0)
 Get the n-th bit of i. More...
 
#define GPR_INTERNAL_HEXDIGIT_BITCOUNT(x)
 
#define GPR_BITCOUNT(i)
 Returns number of bits set in bitset i. More...
 
+

Macro Definition Documentation

+ +
+
+ + + + + + + + +
#define GPR_ARRAY_SIZE( array)   (sizeof(array) / sizeof(*(array)))
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
#define GPR_BITCLEAR( i,
 
)   ((*(i)) &= ~(1u << (n)))
+
+ +

Clear the n-th bit of i (a mutable pointer).

+ +
+
+ +
+
+ + + + + + + + +
#define GPR_BITCOUNT( i)
+
+Value:
+ +
0x0f0f0f0f) % \
+
255)
+
#define GPR_INTERNAL_HEXDIGIT_BITCOUNT(x)
Definition: useful.h:64
+
+

Returns number of bits set in bitset i.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
#define GPR_BITGET( i,
 
)   (((i) & (1u << (n))) != 0)
+
+ +

Get the n-th bit of i.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
#define GPR_BITSET( i,
 
)   ((*(i)) |= (1u << (n)))
+
+ +

Set the n-th bit of i (a mutable pointer).

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
#define GPR_CLAMP( a,
 min,
 max 
)   ((a) < (min) ? (min) : (a) > (max) ? (max) : (a))
+
+ +
+
+ +
+
+ + + + + + + + +
#define GPR_INTERNAL_HEXDIGIT_BITCOUNT( x)
+
+Value:
((x) - (((x) >> 1) & 0x77777777) - (((x) >> 2) & 0x33333333) - \
+
(((x) >> 3) & 0x11111111))
+
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
#define GPR_MAX( a,
 
)   ((a) > (b) ? (a) : (b))
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
#define GPR_MIN( a,
 
)   ((a) < (b) ? (a) : (b))
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
#define GPR_ROTL( x,
 
)   (((x) << (n)) | ((x) >> (sizeof(x) * 8 - (n))))
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
#define GPR_ROTR( x,
 
)   (((x) >> (n)) | ((x) << (sizeof(x) * 8 - (n))))
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
#define GPR_SWAP( type,
 a,
 
)
+
+Value:
do { \
+
type x = a; \
+
a = b; \
+
b = x; \
+
} while (0)
+
+
+
+
+ + + + diff --git a/doc/ref/core.internal/html/useful_8h_source.html b/doc/ref/core.internal/html/useful_8h_source.html new file mode 100644 index 0000000000..719f8fde6d --- /dev/null +++ b/doc/ref/core.internal/html/useful_8h_source.html @@ -0,0 +1,170 @@ + + + + + + +GRPC Core: include/grpc/support/useful.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
useful.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPC_SUPPORT_USEFUL_H
+
35 #define GRPC_SUPPORT_USEFUL_H
+
36 
+
37 /* useful macros that don't belong anywhere else */
+
38 
+
39 #define GPR_MIN(a, b) ((a) < (b) ? (a) : (b))
+
40 #define GPR_MAX(a, b) ((a) > (b) ? (a) : (b))
+
41 #define GPR_CLAMP(a, min, max) ((a) < (min) ? (min) : (a) > (max) ? (max) : (a))
+
42 /* rotl, rotr assume x is unsigned */
+
43 #define GPR_ROTL(x, n) (((x) << (n)) | ((x) >> (sizeof(x) * 8 - (n))))
+
44 #define GPR_ROTR(x, n) (((x) >> (n)) | ((x) << (sizeof(x) * 8 - (n))))
+
45 
+
46 #define GPR_ARRAY_SIZE(array) (sizeof(array) / sizeof(*(array)))
+
47 
+
48 #define GPR_SWAP(type, a, b) \
+
49  do { \
+
50  type x = a; \
+
51  a = b; \
+
52  b = x; \
+
53  } while (0)
+
54 
+
56 #define GPR_BITSET(i, n) ((*(i)) |= (1u << (n)))
+
57 
+
59 #define GPR_BITCLEAR(i, n) ((*(i)) &= ~(1u << (n)))
+
60 
+
62 #define GPR_BITGET(i, n) (((i) & (1u << (n))) != 0)
+
63 
+
64 #define GPR_INTERNAL_HEXDIGIT_BITCOUNT(x) \
+
65  ((x) - (((x) >> 1) & 0x77777777) - (((x) >> 2) & 0x33333333) - \
+
66  (((x) >> 3) & 0x11111111))
+
67 
+
69 #define GPR_BITCOUNT(i) \
+
70  (((GPR_INTERNAL_HEXDIGIT_BITCOUNT(i) + \
+
71  (GPR_INTERNAL_HEXDIGIT_BITCOUNT(i) >> 4)) & \
+
72  0x0f0f0f0f) % \
+
73  255)
+
74 
+
75 #endif /* GRPC_SUPPORT_USEFUL_H */
+
+ + + + diff --git a/doc/ref/core.internal/html/varint_8c.html b/doc/ref/core.internal/html/varint_8c.html new file mode 100644 index 0000000000..229aac2d18 --- /dev/null +++ b/doc/ref/core.internal/html/varint_8c.html @@ -0,0 +1,159 @@ + + + + + + +GRPC Core: src/core/transport/chttp2/varint.c File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
varint.c File Reference
+
+
+ + + + + + +

+Functions

int grpc_chttp2_hpack_varint_length (gpr_uint32 tail_value)
 
void grpc_chttp2_hpack_write_varint_tail (gpr_uint32 tail_value, gpr_uint8 *target, int tail_length)
 
+

Function Documentation

+ +
+
+ + + + + + + + +
int grpc_chttp2_hpack_varint_length (gpr_uint32 tail_value)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void grpc_chttp2_hpack_write_varint_tail (gpr_uint32 tail_value,
gpr_uint8target,
int tail_length 
)
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/varint_8h.html b/doc/ref/core.internal/html/varint_8h.html new file mode 100644 index 0000000000..86822cb003 --- /dev/null +++ b/doc/ref/core.internal/html/varint_8h.html @@ -0,0 +1,277 @@ + + + + + + +GRPC Core: src/core/transport/chttp2/varint.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
varint.h File Reference
+
+
+ +

Go to the source code of this file.

+ + + + + + + + +

+Macros

#define GRPC_CHTTP2_MAX_IN_PREFIX(prefix_bits)   ((1 << (8 - (prefix_bits))) - 1)
 
#define GRPC_CHTTP2_VARINT_LENGTH(n, prefix_bits)
 
#define GRPC_CHTTP2_WRITE_VARINT(n, prefix_bits, prefix_or, target, length)
 
+ + + + + +

+Functions

int grpc_chttp2_hpack_varint_length (gpr_uint32 tail_value)
 
void grpc_chttp2_hpack_write_varint_tail (gpr_uint32 tail_value, gpr_uint8 *target, int tail_length)
 
+

Macro Definition Documentation

+ +
+
+ + + + + + + + +
#define GRPC_CHTTP2_MAX_IN_PREFIX( prefix_bits)   ((1 << (8 - (prefix_bits))) - 1)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
#define GRPC_CHTTP2_VARINT_LENGTH( n,
 prefix_bits 
)
+
+Value:
((n) < GRPC_CHTTP2_MAX_IN_PREFIX(prefix_bits) \
+
? 1 \
+ +
(n)-GRPC_CHTTP2_MAX_IN_PREFIX(prefix_bits)))
+
#define GRPC_CHTTP2_MAX_IN_PREFIX(prefix_bits)
Definition: varint.h:52
+
int grpc_chttp2_hpack_varint_length(gpr_uint32 tail_value)
Definition: varint.c:36
+
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
#define GRPC_CHTTP2_WRITE_VARINT( n,
 prefix_bits,
 prefix_or,
 target,
 length 
)
+
+Value:
do { \
+
gpr_uint8* tgt = target; \
+
if ((length) == 1) { \
+
(tgt)[0] = (prefix_or) | (n); \
+
} else { \
+
(tgt)[0] = (prefix_or) | GRPC_CHTTP2_MAX_IN_PREFIX(prefix_bits); \
+ +
(n)-GRPC_CHTTP2_MAX_IN_PREFIX(prefix_bits), (tgt) + 1, (length)-1); \
+
} \
+
} while (0)
+
#define GRPC_CHTTP2_MAX_IN_PREFIX(prefix_bits)
Definition: varint.h:52
+
uint8_t gpr_uint8
Definition: port_platform.h:307
+
void grpc_chttp2_hpack_write_varint_tail(gpr_uint32 tail_value, gpr_uint8 *target, int tail_length)
Definition: varint.c:50
+
+
+
+

Function Documentation

+ +
+
+ + + + + + + + +
int grpc_chttp2_hpack_varint_length (gpr_uint32 tail_value)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void grpc_chttp2_hpack_write_varint_tail (gpr_uint32 tail_value,
gpr_uint8target,
int tail_length 
)
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/varint_8h_source.html b/doc/ref/core.internal/html/varint_8h_source.html new file mode 100644 index 0000000000..44f4b0029b --- /dev/null +++ b/doc/ref/core.internal/html/varint_8h_source.html @@ -0,0 +1,177 @@ + + + + + + +GRPC Core: src/core/transport/chttp2/varint.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
varint.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPC_INTERNAL_CORE_TRANSPORT_CHTTP2_VARINT_H
+
35 #define GRPC_INTERNAL_CORE_TRANSPORT_CHTTP2_VARINT_H
+
36 
+ +
38 
+
39 /* Helpers for hpack varint encoding */
+
40 
+
41 /* length of a value that needs varint tail encoding (it's bigger than can be
+
42  bitpacked into the opcode byte) - returned value includes the length of the
+
43  opcode byte */
+ +
45 
+ +
47  gpr_uint8* target, int tail_length);
+
48 
+
49 /* maximum value that can be bitpacked with the opcode if the opcode has a
+
50  prefix
+
51  of length prefix_bits */
+
52 #define GRPC_CHTTP2_MAX_IN_PREFIX(prefix_bits) ((1 << (8 - (prefix_bits))) - 1)
+
53 
+
54 /* length required to bitpack a value */
+
55 #define GRPC_CHTTP2_VARINT_LENGTH(n, prefix_bits) \
+
56  ((n) < GRPC_CHTTP2_MAX_IN_PREFIX(prefix_bits) \
+
57  ? 1 \
+
58  : grpc_chttp2_hpack_varint_length( \
+
59  (n)-GRPC_CHTTP2_MAX_IN_PREFIX(prefix_bits)))
+
60 
+
61 #define GRPC_CHTTP2_WRITE_VARINT(n, prefix_bits, prefix_or, target, length) \
+
62  do { \
+
63  gpr_uint8* tgt = target; \
+
64  if ((length) == 1) { \
+
65  (tgt)[0] = (prefix_or) | (n); \
+
66  } else { \
+
67  (tgt)[0] = (prefix_or) | GRPC_CHTTP2_MAX_IN_PREFIX(prefix_bits); \
+
68  grpc_chttp2_hpack_write_varint_tail( \
+
69  (n)-GRPC_CHTTP2_MAX_IN_PREFIX(prefix_bits), (tgt) + 1, (length)-1); \
+
70  } \
+
71  } while (0)
+
72 
+
73 #endif /* GRPC_INTERNAL_CORE_TRANSPORT_CHTTP2_VARINT_H */
+ +
uint8_t gpr_uint8
Definition: port_platform.h:307
+
int grpc_chttp2_hpack_varint_length(gpr_uint32 tail_value)
Definition: varint.c:36
+
uint32_t gpr_uint32
Definition: port_platform.h:309
+
void grpc_chttp2_hpack_write_varint_tail(gpr_uint32 tail_value, gpr_uint8 *target, int tail_length)
Definition: varint.c:50
+
+ + + + diff --git a/doc/ref/core.internal/html/version_8c.html b/doc/ref/core.internal/html/version_8c.html new file mode 100644 index 0000000000..d824751078 --- /dev/null +++ b/doc/ref/core.internal/html/version_8c.html @@ -0,0 +1,128 @@ + + + + + + +GRPC Core: src/core/surface/version.c File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
version.c File Reference
+
+
+
#include <grpc/grpc.h>
+
+ + + + +

+Functions

const char * grpc_version_string (void)
 Return a string representing the current version of grpc. More...
 
+

Function Documentation

+ +
+
+ + + + + + + + +
const char* grpc_version_string (void )
+
+ +

Return a string representing the current version of grpc.

+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/wakeup__fd__eventfd_8c.html b/doc/ref/core.internal/html/wakeup__fd__eventfd_8c.html new file mode 100644 index 0000000000..908b696387 --- /dev/null +++ b/doc/ref/core.internal/html/wakeup__fd__eventfd_8c.html @@ -0,0 +1,100 @@ + + + + + + +GRPC Core: src/core/iomgr/wakeup_fd_eventfd.c File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
wakeup_fd_eventfd.c File Reference
+
+ + + + + diff --git a/doc/ref/core.internal/html/wakeup__fd__nospecial_8c.html b/doc/ref/core.internal/html/wakeup__fd__nospecial_8c.html new file mode 100644 index 0000000000..8aeb342e3d --- /dev/null +++ b/doc/ref/core.internal/html/wakeup__fd__nospecial_8c.html @@ -0,0 +1,100 @@ + + + + + + +GRPC Core: src/core/iomgr/wakeup_fd_nospecial.c File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
wakeup_fd_nospecial.c File Reference
+
+ + + + + diff --git a/doc/ref/core.internal/html/wakeup__fd__pipe_8c.html b/doc/ref/core.internal/html/wakeup__fd__pipe_8c.html new file mode 100644 index 0000000000..238b2ff346 --- /dev/null +++ b/doc/ref/core.internal/html/wakeup__fd__pipe_8c.html @@ -0,0 +1,100 @@ + + + + + + +GRPC Core: src/core/iomgr/wakeup_fd_pipe.c File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
wakeup_fd_pipe.c File Reference
+
+ + + + + diff --git a/doc/ref/core.internal/html/wakeup__fd__pipe_8h.html b/doc/ref/core.internal/html/wakeup__fd__pipe_8h.html new file mode 100644 index 0000000000..b40f081acc --- /dev/null +++ b/doc/ref/core.internal/html/wakeup__fd__pipe_8h.html @@ -0,0 +1,123 @@ + + + + + + +GRPC Core: src/core/iomgr/wakeup_fd_pipe.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
wakeup_fd_pipe.h File Reference
+
+
+ +

Go to the source code of this file.

+ + + + +

+Variables

grpc_wakeup_fd_vtable grpc_pipe_wakeup_fd_vtable
 
+

Variable Documentation

+ +
+
+ + + + +
grpc_wakeup_fd_vtable grpc_pipe_wakeup_fd_vtable
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/wakeup__fd__pipe_8h_source.html b/doc/ref/core.internal/html/wakeup__fd__pipe_8h_source.html new file mode 100644 index 0000000000..50acd00c8b --- /dev/null +++ b/doc/ref/core.internal/html/wakeup__fd__pipe_8h_source.html @@ -0,0 +1,143 @@ + + + + + + +GRPC Core: src/core/iomgr/wakeup_fd_pipe.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
wakeup_fd_pipe.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPC_INTERNAL_CORE_IOMGR_WAKEUP_FD_PIPE_H
+
35 #define GRPC_INTERNAL_CORE_IOMGR_WAKEUP_FD_PIPE_H
+
36 
+ +
38 
+ +
40 
+
41 #endif /* GRPC_INTERNAL_CORE_IOMGR_WAKEUP_FD_PIPE_H */
+
grpc_wakeup_fd_vtable grpc_pipe_wakeup_fd_vtable
+ +
Definition: wakeup_fd_posix.h:74
+
+ + + + diff --git a/doc/ref/core.internal/html/wakeup__fd__posix_8c.html b/doc/ref/core.internal/html/wakeup__fd__posix_8c.html new file mode 100644 index 0000000000..d20c9c8566 --- /dev/null +++ b/doc/ref/core.internal/html/wakeup__fd__posix_8c.html @@ -0,0 +1,100 @@ + + + + + + +GRPC Core: src/core/iomgr/wakeup_fd_posix.c File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
wakeup_fd_posix.c File Reference
+
+ + + + + diff --git a/doc/ref/core.internal/html/wakeup__fd__posix_8h.html b/doc/ref/core.internal/html/wakeup__fd__posix_8h.html new file mode 100644 index 0000000000..a31915cc9c --- /dev/null +++ b/doc/ref/core.internal/html/wakeup__fd__posix_8h.html @@ -0,0 +1,318 @@ + + + + + + +GRPC Core: src/core/iomgr/wakeup_fd_posix.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
wakeup_fd_posix.h File Reference
+
+
+ +

Go to the source code of this file.

+ + + + + + +

+Data Structures

struct  grpc_wakeup_fd_vtable
 
struct  grpc_wakeup_fd_info
 
+ + + +

+Macros

#define GRPC_WAKEUP_FD_GET_READ_FD(fd_info)   ((fd_info)->read_fd)
 
+ + + + + +

+Typedefs

typedef struct grpc_wakeup_fd_info grpc_wakeup_fd_info
 
typedef struct
+grpc_wakeup_fd_vtable 
grpc_wakeup_fd_vtable
 
+ + + + + + + + + + + + + + + +

+Functions

void grpc_wakeup_fd_global_init (void)
 
void grpc_wakeup_fd_global_destroy (void)
 
void grpc_wakeup_fd_global_init_force_fallback (void)
 
void grpc_wakeup_fd_create (grpc_wakeup_fd_info *fd_info)
 
void grpc_wakeup_fd_consume_wakeup (grpc_wakeup_fd_info *fd_info)
 
void grpc_wakeup_fd_wakeup (grpc_wakeup_fd_info *fd_info)
 
void grpc_wakeup_fd_destroy (grpc_wakeup_fd_info *fd_info)
 
+ + + +

+Variables

const grpc_wakeup_fd_vtable grpc_specialized_wakeup_fd_vtable
 
+

Macro Definition Documentation

+ +
+
+ + + + + + + + +
#define GRPC_WAKEUP_FD_GET_READ_FD( fd_info)   ((fd_info)->read_fd)
+
+ +
+
+

Typedef Documentation

+ +
+
+ + + + +
typedef struct grpc_wakeup_fd_info grpc_wakeup_fd_info
+
+ +
+
+ +
+
+ + + + +
typedef struct grpc_wakeup_fd_vtable grpc_wakeup_fd_vtable
+
+ +
+
+

Function Documentation

+ +
+
+ + + + + + + + +
void grpc_wakeup_fd_consume_wakeup (grpc_wakeup_fd_infofd_info)
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_wakeup_fd_create (grpc_wakeup_fd_infofd_info)
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_wakeup_fd_destroy (grpc_wakeup_fd_infofd_info)
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_wakeup_fd_global_destroy (void )
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_wakeup_fd_global_init (void )
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_wakeup_fd_global_init_force_fallback (void )
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_wakeup_fd_wakeup (grpc_wakeup_fd_infofd_info)
+
+ +
+
+

Variable Documentation

+ +
+
+ + + + +
const grpc_wakeup_fd_vtable grpc_specialized_wakeup_fd_vtable
+
+ +
+
+
+ + + + diff --git a/doc/ref/core.internal/html/wakeup__fd__posix_8h_source.html b/doc/ref/core.internal/html/wakeup__fd__posix_8h_source.html new file mode 100644 index 0000000000..5ea6ea8b5d --- /dev/null +++ b/doc/ref/core.internal/html/wakeup__fd__posix_8h_source.html @@ -0,0 +1,216 @@ + + + + + + +GRPC Core: src/core/iomgr/wakeup_fd_posix.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
wakeup_fd_posix.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 /*
+
35  * wakeup_fd abstracts the concept of a file descriptor for the purpose of
+
36  * waking up a thread in select()/poll()/epoll_wait()/etc.
+
37 
+
38  * The poll() family of system calls provide a way for a thread to block until
+
39  * there is activity on one (or more) of a set of file descriptors. An
+
40  * application may wish to wake up this thread to do non file related work. The
+
41  * typical way to do this is to add a pipe to the set of file descriptors, then
+
42  * write to the pipe to wake up the thread in poll().
+
43  *
+
44  * Linux has a lighter weight eventfd specifically designed for this purpose.
+
45  * wakeup_fd abstracts the difference between the two.
+
46  *
+
47  * Setup:
+
48  * 1. Before calling anything, call global_init() at least once.
+
49  * 1. Call grpc_wakeup_fd_create() to get a wakeup_fd.
+
50  * 2. Add the result of GRPC_WAKEUP_FD_FD to the set of monitored file
+
51  * descriptors for the poll() style API you are using. Monitor the file
+
52  * descriptor for readability.
+
53  * 3. To tear down, call grpc_wakeup_fd_destroy(). This closes the underlying
+
54  * file descriptor.
+
55  *
+
56  * Usage:
+
57  * 1. To wake up a polling thread, call grpc_wakeup_fd_wakeup() on a wakeup_fd
+
58  * it is monitoring.
+
59  * 2. If the polling thread was awakened by a wakeup_fd event, call
+
60  * grpc_wakeup_fd_consume_wakeup() on it.
+
61  */
+
62 #ifndef GRPC_INTERNAL_CORE_IOMGR_WAKEUP_FD_POSIX_H
+
63 #define GRPC_INTERNAL_CORE_IOMGR_WAKEUP_FD_POSIX_H
+
64 
+ + +
67 
+
68 /* Force using the fallback implementation. This is intended for testing
+
69  * purposes only.*/
+ +
71 
+ +
73 
+
74 typedef struct grpc_wakeup_fd_vtable {
+
75  void (*create)(grpc_wakeup_fd_info *fd_info);
+
76  void (*consume)(grpc_wakeup_fd_info *fd_info);
+
77  void (*wakeup)(grpc_wakeup_fd_info *fd_info);
+
78  void (*destroy)(grpc_wakeup_fd_info *fd_info);
+
79  /* Must be called before calling any other functions */
+
80  int (*check_availability)(void);
+ +
82 
+ +
84  int read_fd;
+
85  int write_fd;
+
86 };
+
87 
+
88 #define GRPC_WAKEUP_FD_GET_READ_FD(fd_info) ((fd_info)->read_fd)
+
89 
+ + + + +
94 
+
95 /* Defined in some specialized implementation's .c file, or by
+
96  * wakeup_fd_nospecial.c if no such implementation exists. */
+ +
98 
+
99 #endif /* GRPC_INTERNAL_CORE_IOMGR_WAKEUP_FD_POSIX_H */
+
void grpc_wakeup_fd_create(grpc_wakeup_fd_info *fd_info)
+
void(* create)(grpc_wakeup_fd_info *fd_info)
Definition: wakeup_fd_posix.h:75
+
int(* check_availability)(void)
Definition: wakeup_fd_posix.h:80
+
void grpc_wakeup_fd_wakeup(grpc_wakeup_fd_info *fd_info)
+
Definition: wakeup_fd_posix.h:83
+
void grpc_wakeup_fd_global_init_force_fallback(void)
+
void grpc_wakeup_fd_consume_wakeup(grpc_wakeup_fd_info *fd_info)
+
void(* consume)(grpc_wakeup_fd_info *fd_info)
Definition: wakeup_fd_posix.h:76
+
int write_fd
Definition: wakeup_fd_posix.h:85
+
void(* destroy)(grpc_wakeup_fd_info *fd_info)
Definition: wakeup_fd_posix.h:78
+
void grpc_wakeup_fd_global_init(void)
+
const grpc_wakeup_fd_vtable grpc_specialized_wakeup_fd_vtable
+
struct grpc_wakeup_fd_vtable grpc_wakeup_fd_vtable
+
void grpc_wakeup_fd_global_destroy(void)
+
void(* wakeup)(grpc_wakeup_fd_info *fd_info)
Definition: wakeup_fd_posix.h:77
+
Definition: wakeup_fd_posix.h:74
+
void grpc_wakeup_fd_destroy(grpc_wakeup_fd_info *fd_info)
+
int read_fd
Definition: wakeup_fd_posix.h:84
+
+ + + + diff --git a/doc/ref/core.internal/html/writing_8c.html b/doc/ref/core.internal/html/writing_8c.html new file mode 100644 index 0000000000..46d3f52a3b --- /dev/null +++ b/doc/ref/core.internal/html/writing_8c.html @@ -0,0 +1,197 @@ + + + + + + +GRPC Core: src/core/transport/chttp2/writing.c File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
writing.c File Reference
+
+
+ + + + + + + + + +

+Functions

int grpc_chttp2_unlocking_check_writes (grpc_chttp2_transport_global *transport_global, grpc_chttp2_transport_writing *transport_writing)
 Transport writing call flow: chttp2_transport.c calls grpc_chttp2_unlocking_check_writes to see if writes are required; if they are, chttp2_transport.c calls grpc_chttp2_perform_writes to do the writes. More...
 
void grpc_chttp2_perform_writes (grpc_chttp2_transport_writing *transport_writing, grpc_endpoint *endpoint)
 
void grpc_chttp2_cleanup_writing (grpc_chttp2_transport_global *transport_global, grpc_chttp2_transport_writing *transport_writing)
 
+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
void grpc_chttp2_cleanup_writing (grpc_chttp2_transport_globaltransport_global,
grpc_chttp2_transport_writingtransport_writing 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void grpc_chttp2_perform_writes (grpc_chttp2_transport_writingtransport_writing,
grpc_endpointendpoint 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
int grpc_chttp2_unlocking_check_writes (grpc_chttp2_transport_globalglobal,
grpc_chttp2_transport_writingwriting 
)
+
+ +

Transport writing call flow: chttp2_transport.c calls grpc_chttp2_unlocking_check_writes to see if writes are required; if they are, chttp2_transport.c calls grpc_chttp2_perform_writes to do the writes.

+

Once writes have been completed (meaning another write could potentially be started), grpc_chttp2_terminate_writing is called. This will call grpc_chttp2_cleanup_writing, at which point the write phase is complete. Someone is unlocking the transport mutex: check to see if writes are required, and schedule them if so

+ +
+
+
+ + + + diff --git a/doc/ref/core/html/alloc_8h.html b/doc/ref/core/html/alloc_8h.html new file mode 100644 index 0000000000..afb8be8838 --- /dev/null +++ b/doc/ref/core/html/alloc_8h.html @@ -0,0 +1,219 @@ + + + + + + +GRPC Core: include/grpc/support/alloc.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
alloc.h File Reference
+
+
+
#include <stddef.h>
+
+

Go to the source code of this file.

+ + + + + + + + + + + + +

+Functions

void * gpr_malloc (size_t size)
 
void gpr_free (void *ptr)
 
void * gpr_realloc (void *p, size_t size)
 
void * gpr_malloc_aligned (size_t size, size_t alignment_log)
 
void gpr_free_aligned (void *ptr)
 
+

Function Documentation

+ +
+
+ + + + + + + + +
void gpr_free (void * ptr)
+
+ +
+
+ +
+
+ + + + + + + + +
void gpr_free_aligned (void * ptr)
+
+ +
+
+ +
+
+ + + + + + + + +
void* gpr_malloc (size_t size)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void* gpr_malloc_aligned (size_t size,
size_t alignment_log 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void* gpr_realloc (void * p,
size_t size 
)
+
+ +
+
+
+ + + + diff --git a/doc/ref/core/html/alloc_8h_source.html b/doc/ref/core/html/alloc_8h_source.html new file mode 100644 index 0000000000..e19e55a20a --- /dev/null +++ b/doc/ref/core/html/alloc_8h_source.html @@ -0,0 +1,162 @@ + + + + + + +GRPC Core: include/grpc/support/alloc.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
alloc.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPC_SUPPORT_ALLOC_H
+
35 #define GRPC_SUPPORT_ALLOC_H
+
36 
+
37 #include <stddef.h>
+
38 
+
39 #ifdef __cplusplus
+
40 extern "C" {
+
41 #endif
+
42 
+
43 /* malloc, never returns NULL */
+
44 void *gpr_malloc(size_t size);
+
45 /* free */
+
46 void gpr_free(void *ptr);
+
47 /* realloc, never returns NULL */
+
48 void *gpr_realloc(void *p, size_t size);
+
49 /* aligned malloc, never returns NULL, will align to 1 << alignment_log */
+
50 void *gpr_malloc_aligned(size_t size, size_t alignment_log);
+
51 /* free memory allocated by gpr_malloc_aligned */
+
52 void gpr_free_aligned(void *ptr);
+
53 
+
54 #ifdef __cplusplus
+
55 }
+
56 #endif
+
57 
+
58 #endif /* GRPC_SUPPORT_ALLOC_H */
+
void gpr_free_aligned(void *ptr)
+
void * gpr_realloc(void *p, size_t size)
+
void * gpr_malloc(size_t size)
+
void * gpr_malloc_aligned(size_t size, size_t alignment_log)
+
void gpr_free(void *ptr)
+
+ + + + diff --git a/doc/ref/core/html/annotated.html b/doc/ref/core/html/annotated.html new file mode 100644 index 0000000000..54293f007f --- /dev/null +++ b/doc/ref/core/html/annotated.html @@ -0,0 +1,128 @@ + + + + + + +GRPC Core: Data Structures + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + +
+ + + + +
+ +
+ +
+
+
Data Structures
+
+
+
Here are the data structures with brief descriptions:
+
+ + + + diff --git a/doc/ref/core/html/atm_8h.html b/doc/ref/core/html/atm_8h.html new file mode 100644 index 0000000000..b0d0f392c9 --- /dev/null +++ b/doc/ref/core/html/atm_8h.html @@ -0,0 +1,102 @@ + + + + + + +GRPC Core: include/grpc/support/atm.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
atm.h File Reference
+
+ + + + + diff --git a/doc/ref/core/html/atm_8h_source.html b/doc/ref/core/html/atm_8h_source.html new file mode 100644 index 0000000000..1417328d0f --- /dev/null +++ b/doc/ref/core/html/atm_8h_source.html @@ -0,0 +1,195 @@ + + + + + + +GRPC Core: include/grpc/support/atm.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
atm.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPC_SUPPORT_ATM_H
+
35 #define GRPC_SUPPORT_ATM_H
+
36 
+
37 /* This interface provides atomic operations and barriers.
+
38  It is internal to gpr support code and should not be used outside it.
+
39 
+
40  If an operation with acquire semantics precedes another memory access by the
+
41  same thread, the operation will precede that other access as seen by other
+
42  threads.
+
43 
+
44  If an operation with release semantics follows another memory access by the
+
45  same thread, the operation will follow that other access as seen by other
+
46  threads.
+
47 
+
48  Routines with "acq" or "full" in the name have acquire semantics. Routines
+
49  with "rel" or "full" in the name have release semantics. Routines with
+
50  "no_barrier" in the name have neither acquire not release semantics.
+
51 
+
52  The routines may be implemented as macros.
+
53 
+
54  // Atomic operations act on an intergral_type gpr_atm that is guaranteed to
+
55  // be the same size as a pointer.
+
56  typedef gpr_intptr gpr_atm;
+
57 
+
58  // A memory barrier, providing both acquire and release semantics, but not
+
59  // otherwise acting on memory.
+
60  void gpr_atm_full_barrier(void);
+
61 
+
62  // Atomically return *p, with acquire semantics.
+
63  gpr_atm gpr_atm_acq_load(gpr_atm *p);
+
64 
+
65  // Atomically set *p = value, with release semantics.
+
66  void gpr_atm_rel_store(gpr_atm *p, gpr_atm value);
+
67 
+
68  // Atomically add delta to *p, and return the old value of *p, with
+
69  // the barriers specified.
+
70  gpr_atm gpr_atm_no_barrier_fetch_add(gpr_atm *p, gpr_atm delta);
+
71  gpr_atm gpr_atm_full_fetch_add(gpr_atm *p, gpr_atm delta);
+
72 
+
73  // Atomically, if *p==o, set *p=n and return non-zero otherwise return 0,
+
74  // with the barriers specified if the operation succeeds.
+
75  int gpr_atm_no_barrier_cas(gpr_atm *p, gpr_atm o, gpr_atm n);
+
76  int gpr_atm_acq_cas(gpr_atm *p, gpr_atm o, gpr_atm n);
+
77  int gpr_atm_rel_cas(gpr_atm *p, gpr_atm o, gpr_atm n);
+
78 */
+
79 
+ +
81 
+
82 #if defined(GPR_GCC_ATOMIC)
+ +
84 #elif defined(GPR_GCC_SYNC)
+ +
86 #elif defined(GPR_WIN32_ATOMIC)
+
87 #include <grpc/support/atm_win32.h>
+
88 #else
+
89 #error could not determine platform for atm
+
90 #endif
+
91 
+
92 #endif /* GRPC_SUPPORT_ATM_H */
+ + + + +
+ + + + diff --git a/doc/ref/core/html/atm__gcc__atomic_8h.html b/doc/ref/core/html/atm__gcc__atomic_8h.html new file mode 100644 index 0000000000..af3fad4bbc --- /dev/null +++ b/doc/ref/core/html/atm__gcc__atomic_8h.html @@ -0,0 +1,293 @@ + + + + + + +GRPC Core: include/grpc/support/atm_gcc_atomic.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
atm_gcc_atomic.h File Reference
+
+
+ +

Go to the source code of this file.

+ + + + + + + + + + + + + + + + +

+Macros

#define gpr_atm_full_barrier()   (__atomic_thread_fence(__ATOMIC_SEQ_CST))
 
#define gpr_atm_acq_load(p)   (__atomic_load_n((p), __ATOMIC_ACQUIRE))
 
#define gpr_atm_no_barrier_load(p)   (__atomic_load_n((p), __ATOMIC_RELAXED))
 
#define gpr_atm_rel_store(p, value)   (__atomic_store_n((p), (gpr_intptr)(value), __ATOMIC_RELEASE))
 
#define gpr_atm_no_barrier_store(p, value)   (__atomic_store_n((p), (gpr_intptr)(value), __ATOMIC_RELAXED))
 
#define gpr_atm_no_barrier_fetch_add(p, delta)   (__atomic_fetch_add((p), (gpr_intptr)(delta), __ATOMIC_RELAXED))
 
#define gpr_atm_full_fetch_add(p, delta)   (__atomic_fetch_add((p), (gpr_intptr)(delta), __ATOMIC_ACQ_REL))
 
+ + + +

+Typedefs

typedef gpr_intptr gpr_atm
 
+

Macro Definition Documentation

+ +
+
+ + + + + + + + +
#define gpr_atm_acq_load( p)   (__atomic_load_n((p), __ATOMIC_ACQUIRE))
+
+ +
+
+ +
+
+ + + + + + + +
#define gpr_atm_full_barrier()   (__atomic_thread_fence(__ATOMIC_SEQ_CST))
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
#define gpr_atm_full_fetch_add( p,
 delta 
)   (__atomic_fetch_add((p), (gpr_intptr)(delta), __ATOMIC_ACQ_REL))
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
#define gpr_atm_no_barrier_fetch_add( p,
 delta 
)   (__atomic_fetch_add((p), (gpr_intptr)(delta), __ATOMIC_RELAXED))
+
+ +
+
+ +
+
+ + + + + + + + +
#define gpr_atm_no_barrier_load( p)   (__atomic_load_n((p), __ATOMIC_RELAXED))
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
#define gpr_atm_no_barrier_store( p,
 value 
)   (__atomic_store_n((p), (gpr_intptr)(value), __ATOMIC_RELAXED))
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
#define gpr_atm_rel_store( p,
 value 
)   (__atomic_store_n((p), (gpr_intptr)(value), __ATOMIC_RELEASE))
+
+ +
+
+

Typedef Documentation

+ +
+
+ + + + +
typedef gpr_intptr gpr_atm
+
+ +
+
+
+ + + + diff --git a/doc/ref/core/html/atm__gcc__atomic_8h_source.html b/doc/ref/core/html/atm__gcc__atomic_8h_source.html new file mode 100644 index 0000000000..eee8b6054e --- /dev/null +++ b/doc/ref/core/html/atm__gcc__atomic_8h_source.html @@ -0,0 +1,177 @@ + + + + + + +GRPC Core: include/grpc/support/atm_gcc_atomic.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
atm_gcc_atomic.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPC_SUPPORT_ATM_GCC_ATOMIC_H
+
35 #define GRPC_SUPPORT_ATM_GCC_ATOMIC_H
+
36 
+
37 /* atm_platform.h for gcc and gcc-like compilers with the
+
38  __atomic_* interface. */
+ +
40 
+ +
42 
+
43 #define gpr_atm_full_barrier() (__atomic_thread_fence(__ATOMIC_SEQ_CST))
+
44 
+
45 #define gpr_atm_acq_load(p) (__atomic_load_n((p), __ATOMIC_ACQUIRE))
+
46 #define gpr_atm_no_barrier_load(p) (__atomic_load_n((p), __ATOMIC_RELAXED))
+
47 #define gpr_atm_rel_store(p, value) \
+
48  (__atomic_store_n((p), (gpr_intptr)(value), __ATOMIC_RELEASE))
+
49 #define gpr_atm_no_barrier_store(p, value) \
+
50  (__atomic_store_n((p), (gpr_intptr)(value), __ATOMIC_RELAXED))
+
51 
+
52 #define gpr_atm_no_barrier_fetch_add(p, delta) \
+
53  (__atomic_fetch_add((p), (gpr_intptr)(delta), __ATOMIC_RELAXED))
+
54 #define gpr_atm_full_fetch_add(p, delta) \
+
55  (__atomic_fetch_add((p), (gpr_intptr)(delta), __ATOMIC_ACQ_REL))
+
56 
+
57 static __inline int gpr_atm_no_barrier_cas(gpr_atm *p, gpr_atm o, gpr_atm n) {
+
58  return __atomic_compare_exchange_n(p, &o, n, 0, __ATOMIC_RELAXED,
+
59  __ATOMIC_RELAXED);
+
60 }
+
61 
+
62 static __inline int gpr_atm_acq_cas(gpr_atm *p, gpr_atm o, gpr_atm n) {
+
63  return __atomic_compare_exchange_n(p, &o, n, 0, __ATOMIC_ACQUIRE,
+
64  __ATOMIC_RELAXED);
+
65 }
+
66 
+
67 static __inline int gpr_atm_rel_cas(gpr_atm *p, gpr_atm o, gpr_atm n) {
+
68  return __atomic_compare_exchange_n(p, &o, n, 0, __ATOMIC_RELEASE,
+
69  __ATOMIC_RELAXED);
+
70 }
+
71 
+
72 #endif /* GRPC_SUPPORT_ATM_GCC_ATOMIC_H */
+ +
intptr_t gpr_intptr
Definition: port_platform.h:312
+
#define gpr_atm_acq_cas(p, o, n)
Definition: atm_gcc_sync.h:84
+
#define gpr_atm_no_barrier_cas(p, o, n)
Definition: atm_gcc_sync.h:83
+
#define gpr_atm_rel_cas(p, o, n)
Definition: atm_gcc_sync.h:85
+
gpr_intptr gpr_atm
Definition: atm_gcc_atomic.h:41
+
+ + + + diff --git a/doc/ref/core/html/atm__gcc__sync_8h.html b/doc/ref/core/html/atm__gcc__sync_8h.html new file mode 100644 index 0000000000..4345b797dd --- /dev/null +++ b/doc/ref/core/html/atm__gcc__sync_8h.html @@ -0,0 +1,337 @@ + + + + + + +GRPC Core: include/grpc/support/atm_gcc_sync.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
atm_gcc_sync.h File Reference
+
+
+ +

Go to the source code of this file.

+ + + + + + + + + + + + + + + + + + +

+Macros

#define GPR_ATM_COMPILE_BARRIER_()   __asm__ __volatile__("" : : : "memory")
 
#define GPR_ATM_LS_BARRIER_()   gpr_atm_full_barrier()
 
#define gpr_atm_full_barrier()   (__sync_synchronize())
 
#define gpr_atm_no_barrier_fetch_add(p, delta)   gpr_atm_full_fetch_add((p), (delta))
 
#define gpr_atm_full_fetch_add(p, delta)   (__sync_fetch_and_add((p), (delta)))
 
#define gpr_atm_no_barrier_cas(p, o, n)   gpr_atm_acq_cas((p), (o), (n))
 
#define gpr_atm_acq_cas(p, o, n)   (__sync_bool_compare_and_swap((p), (o), (n)))
 
#define gpr_atm_rel_cas(p, o, n)   gpr_atm_acq_cas((p), (o), (n))
 
+ + + +

+Typedefs

typedef gpr_intptr gpr_atm
 
+

Macro Definition Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
#define gpr_atm_acq_cas( p,
 o,
 
)   (__sync_bool_compare_and_swap((p), (o), (n)))
+
+ +
+
+ +
+
+ + + + + + + +
#define GPR_ATM_COMPILE_BARRIER_()   __asm__ __volatile__("" : : : "memory")
+
+ +
+
+ +
+
+ + + + + + + +
#define gpr_atm_full_barrier()   (__sync_synchronize())
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
#define gpr_atm_full_fetch_add( p,
 delta 
)   (__sync_fetch_and_add((p), (delta)))
+
+ +
+
+ +
+
+ + + + + + + +
#define GPR_ATM_LS_BARRIER_()   gpr_atm_full_barrier()
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
#define gpr_atm_no_barrier_cas( p,
 o,
 
)   gpr_atm_acq_cas((p), (o), (n))
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
#define gpr_atm_no_barrier_fetch_add( p,
 delta 
)   gpr_atm_full_fetch_add((p), (delta))
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
#define gpr_atm_rel_cas( p,
 o,
 
)   gpr_atm_acq_cas((p), (o), (n))
+
+ +
+
+

Typedef Documentation

+ +
+
+ + + + +
typedef gpr_intptr gpr_atm
+
+ +
+
+
+ + + + diff --git a/doc/ref/core/html/atm__gcc__sync_8h_source.html b/doc/ref/core/html/atm__gcc__sync_8h_source.html new file mode 100644 index 0000000000..123aacb91b --- /dev/null +++ b/doc/ref/core/html/atm__gcc__sync_8h_source.html @@ -0,0 +1,196 @@ + + + + + + +GRPC Core: include/grpc/support/atm_gcc_sync.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
atm_gcc_sync.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPC_SUPPORT_ATM_GCC_SYNC_H
+
35 #define GRPC_SUPPORT_ATM_GCC_SYNC_H
+
36 
+
37 /* variant of atm_platform.h for gcc and gcc-like compiers with __sync_*
+
38  interface */
+ +
40 
+ +
42 
+
43 #define GPR_ATM_COMPILE_BARRIER_() __asm__ __volatile__("" : : : "memory")
+
44 
+
45 #if defined(__i386) || defined(__x86_64__)
+
46 /* All loads are acquire loads and all stores are release stores. */
+
47 #define GPR_ATM_LS_BARRIER_() GPR_ATM_COMPILE_BARRIER_()
+
48 #else
+
49 #define GPR_ATM_LS_BARRIER_() gpr_atm_full_barrier()
+
50 #endif
+
51 
+
52 #define gpr_atm_full_barrier() (__sync_synchronize())
+
53 
+
54 static __inline gpr_atm gpr_atm_acq_load(const gpr_atm *p) {
+
55  gpr_atm value = *p;
+ +
57  return value;
+
58 }
+
59 
+
60 static __inline gpr_atm gpr_atm_no_barrier_load(const gpr_atm *p) {
+
61  gpr_atm value = *p;
+ +
63  return value;
+
64 }
+
65 
+
66 static __inline void gpr_atm_rel_store(gpr_atm *p, gpr_atm value) {
+ +
68  *p = value;
+
69 }
+
70 
+
71 static __inline void gpr_atm_no_barrier_store(gpr_atm *p, gpr_atm value) {
+ +
73  *p = value;
+
74 }
+
75 
+
76 #undef GPR_ATM_LS_BARRIER_
+
77 #undef GPR_ATM_COMPILE_BARRIER_
+
78 
+
79 #define gpr_atm_no_barrier_fetch_add(p, delta) \
+
80  gpr_atm_full_fetch_add((p), (delta))
+
81 #define gpr_atm_full_fetch_add(p, delta) (__sync_fetch_and_add((p), (delta)))
+
82 
+
83 #define gpr_atm_no_barrier_cas(p, o, n) gpr_atm_acq_cas((p), (o), (n))
+
84 #define gpr_atm_acq_cas(p, o, n) (__sync_bool_compare_and_swap((p), (o), (n)))
+
85 #define gpr_atm_rel_cas(p, o, n) gpr_atm_acq_cas((p), (o), (n))
+
86 
+
87 #endif /* GRPC_SUPPORT_ATM_GCC_SYNC_H */
+ +
intptr_t gpr_intptr
Definition: port_platform.h:312
+
#define GPR_ATM_LS_BARRIER_()
Definition: atm_gcc_sync.h:49
+
#define GPR_ATM_COMPILE_BARRIER_()
Definition: atm_gcc_sync.h:43
+
#define gpr_atm_acq_load(p)
Definition: atm_gcc_atomic.h:45
+
#define gpr_atm_no_barrier_load(p)
Definition: atm_gcc_atomic.h:46
+
gpr_intptr gpr_atm
Definition: atm_gcc_sync.h:41
+
#define gpr_atm_no_barrier_store(p, value)
Definition: atm_gcc_atomic.h:49
+
#define gpr_atm_rel_store(p, value)
Definition: atm_gcc_atomic.h:47
+
gpr_intptr gpr_atm
Definition: atm_gcc_atomic.h:41
+
+ + + + diff --git a/doc/ref/core/html/atm__win32_8h.html b/doc/ref/core/html/atm__win32_8h.html new file mode 100644 index 0000000000..7f49649f45 --- /dev/null +++ b/doc/ref/core/html/atm__win32_8h.html @@ -0,0 +1,142 @@ + + + + + + +GRPC Core: include/grpc/support/atm_win32.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
atm_win32.h File Reference
+
+
+ +

Go to the source code of this file.

+ + + + +

+Macros

#define gpr_atm_full_barrier   MemoryBarrier
 
+ + + +

+Typedefs

typedef gpr_intptr gpr_atm
 
+

Macro Definition Documentation

+ +
+
+ + + + +
#define gpr_atm_full_barrier   MemoryBarrier
+
+ +
+
+

Typedef Documentation

+ +
+
+ + + + +
typedef gpr_intptr gpr_atm
+
+ +
+
+
+ + + + diff --git a/doc/ref/core/html/atm__win32_8h_source.html b/doc/ref/core/html/atm__win32_8h_source.html new file mode 100644 index 0000000000..8f413ae304 --- /dev/null +++ b/doc/ref/core/html/atm__win32_8h_source.html @@ -0,0 +1,239 @@ + + + + + + +GRPC Core: include/grpc/support/atm_win32.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
atm_win32.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPC_SUPPORT_ATM_WIN32_H
+
35 #define GRPC_SUPPORT_ATM_WIN32_H
+
36 
+
37 /* Win32 variant of atm_platform.h */
+ +
39 
+ +
41 
+
42 #define gpr_atm_full_barrier MemoryBarrier
+
43 
+
44 static __inline gpr_atm gpr_atm_acq_load(const gpr_atm *p) {
+
45  gpr_atm result = *p;
+ +
47  return result;
+
48 }
+
49 
+
50 static __inline gpr_atm gpr_atm_no_barrier_load(const gpr_atm *p) {
+
51  /* TODO(dklempner): Can we implement something better here? */
+
52  return gpr_atm_acq_load(p);
+
53 }
+
54 
+
55 static __inline void gpr_atm_rel_store(gpr_atm *p, gpr_atm value) {
+ +
57  *p = value;
+
58 }
+
59 
+
60 static __inline void gpr_atm_no_barrier_store(gpr_atm *p, gpr_atm value) {
+
61  /* TODO(ctiller): Can we implement something better here? */
+
62  gpr_atm_rel_store(p, value);
+
63 }
+
64 
+
65 static __inline int gpr_atm_no_barrier_cas(gpr_atm *p, gpr_atm o, gpr_atm n) {
+
66 /* InterlockedCompareExchangePointerNoFence() not available on vista or
+
67  windows7 */
+
68 #ifdef GPR_ARCH_64
+
69  return o == (gpr_atm)InterlockedCompareExchangeAcquire64((volatile LONGLONG *) p,
+
70  (LONGLONG) n, (LONGLONG) o);
+
71 #else
+
72  return o == (gpr_atm)InterlockedCompareExchangeAcquire((volatile LONG *) p,
+
73  (LONG) n, (LONG) o);
+
74 #endif
+
75 }
+
76 
+
77 static __inline int gpr_atm_acq_cas(gpr_atm *p, gpr_atm o, gpr_atm n) {
+
78 #ifdef GPR_ARCH_64
+
79  return o == (gpr_atm)InterlockedCompareExchangeAcquire64((volatile LONGLONG *) p,
+
80  (LONGLONG) n, (LONGLONG) o);
+
81 #else
+
82  return o == (gpr_atm)InterlockedCompareExchangeAcquire((volatile LONG *) p,
+
83  (LONG) n, (LONG) o);
+
84 #endif
+
85 }
+
86 
+
87 static __inline int gpr_atm_rel_cas(gpr_atm *p, gpr_atm o, gpr_atm n) {
+
88 #ifdef GPR_ARCH_64
+
89  return o == (gpr_atm)InterlockedCompareExchangeRelease64((volatile LONGLONG *) p,
+
90  (LONGLONG) n, (LONGLONG) o);
+
91 #else
+
92  return o == (gpr_atm)InterlockedCompareExchangeRelease((volatile LONG *) p,
+
93  (LONG) n, (LONG) o);
+
94 #endif
+
95 }
+
96 
+ +
98  gpr_atm delta) {
+
99  /* Use the CAS operation to get pointer-sized fetch and add */
+
100  gpr_atm old;
+
101  do {
+
102  old = *p;
+
103  } while (!gpr_atm_no_barrier_cas(p, old, old + delta));
+
104  return old;
+
105 }
+
106 
+
107 static __inline gpr_atm gpr_atm_full_fetch_add(gpr_atm *p, gpr_atm delta) {
+
108  /* Use a CAS operation to get pointer-sized fetch and add */
+
109  gpr_atm old;
+
110 #ifdef GPR_ARCH_64
+
111  do {
+
112  old = *p;
+
113  } while (old != (gpr_atm)InterlockedCompareExchange64((volatile LONGLONG *) p,
+
114  (LONGLONG) old + delta,
+
115  (LONGLONG) old));
+
116 #else
+
117  do {
+
118  old = *p;
+
119  } while (old != (gpr_atm)InterlockedCompareExchange((volatile LONG *) p,
+
120  (LONG) old + delta,
+
121  (LONG) old));
+
122 #endif
+
123  return old;
+
124 }
+
125 
+
126 #endif /* GRPC_SUPPORT_ATM_WIN32_H */
+ +
intptr_t gpr_intptr
Definition: port_platform.h:312
+
#define gpr_atm_no_barrier_fetch_add(p, delta)
Definition: atm_gcc_atomic.h:52
+
#define gpr_atm_acq_load(p)
Definition: atm_gcc_atomic.h:45
+
#define gpr_atm_no_barrier_load(p)
Definition: atm_gcc_atomic.h:46
+
#define gpr_atm_acq_cas(p, o, n)
Definition: atm_gcc_sync.h:84
+
#define gpr_atm_full_fetch_add(p, delta)
Definition: atm_gcc_atomic.h:54
+
#define gpr_atm_no_barrier_store(p, value)
Definition: atm_gcc_atomic.h:49
+
#define gpr_atm_rel_store(p, value)
Definition: atm_gcc_atomic.h:47
+
#define gpr_atm_no_barrier_cas(p, o, n)
Definition: atm_gcc_sync.h:83
+
#define gpr_atm_rel_cas(p, o, n)
Definition: atm_gcc_sync.h:85
+
gpr_intptr gpr_atm
Definition: atm_win32.h:40
+
gpr_intptr gpr_atm
Definition: atm_gcc_atomic.h:41
+
#define gpr_atm_full_barrier
Definition: atm_win32.h:42
+
+ + + + diff --git a/doc/ref/core/html/bc_s.png b/doc/ref/core/html/bc_s.png new file mode 100644 index 0000000000..224b29aa98 Binary files /dev/null and b/doc/ref/core/html/bc_s.png differ diff --git a/doc/ref/core/html/bdwn.png b/doc/ref/core/html/bdwn.png new file mode 100644 index 0000000000..940a0b9504 Binary files /dev/null and b/doc/ref/core/html/bdwn.png differ diff --git a/doc/ref/core/html/byte__buffer_8h.html b/doc/ref/core/html/byte__buffer_8h.html new file mode 100644 index 0000000000..c943bee07f --- /dev/null +++ b/doc/ref/core/html/byte__buffer_8h.html @@ -0,0 +1,416 @@ + + + + + + +GRPC Core: include/grpc/byte_buffer.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
byte_buffer.h File Reference
+
+
+ +

Go to the source code of this file.

+ + + + +

+Data Structures

struct  grpc_byte_buffer
 
+ + + + + +

+Typedefs

typedef struct grpc_byte_buffer grpc_byte_buffer
 
typedef struct
+grpc_byte_buffer_reader 
grpc_byte_buffer_reader
 
+ + + +

+Enumerations

enum  grpc_byte_buffer_type { GRPC_BB_RAW + }
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

grpc_byte_buffergrpc_raw_byte_buffer_create (gpr_slice *slices, size_t nslices)
 Returns a RAW byte buffer instance over the given slices (up to nslices). More...
 
grpc_byte_buffergrpc_raw_compressed_byte_buffer_create (gpr_slice *slices, size_t nslices, grpc_compression_algorithm compression)
 Returns a compressed RAW byte buffer instance over the given slices (up to nslices). More...
 
grpc_byte_buffergrpc_byte_buffer_copy (grpc_byte_buffer *bb)
 Copies input byte buffer bb. More...
 
size_t grpc_byte_buffer_length (grpc_byte_buffer *bb)
 Returns the size of the given byte buffer, in bytes. More...
 
void grpc_byte_buffer_destroy (grpc_byte_buffer *byte_buffer)
 Destroys byte_buffer deallocating all its memory. More...
 
void grpc_byte_buffer_reader_init (grpc_byte_buffer_reader *reader, grpc_byte_buffer *buffer)
 Initialize reader to read over buffer. More...
 
void grpc_byte_buffer_reader_destroy (grpc_byte_buffer_reader *reader)
 Cleanup and destroy reader. More...
 
int grpc_byte_buffer_reader_next (grpc_byte_buffer_reader *reader, gpr_slice *slice)
 Updates slice with the next piece of data from from reader and returns. More...
 
grpc_byte_buffergrpc_raw_byte_buffer_from_reader (grpc_byte_buffer_reader *reader)
 Returns a RAW byte buffer instance from the output of reader. More...
 
+

Typedef Documentation

+ +
+
+ + + + +
typedef struct grpc_byte_buffer grpc_byte_buffer
+
+ +
+
+ +
+
+ +
+
+

Enumeration Type Documentation

+ +
+
+ + + + +
enum grpc_byte_buffer_type
+
+ + +
Enumerator
GRPC_BB_RAW  +
+ +
+
+

Function Documentation

+ +
+
+ + + + + + + + +
grpc_byte_buffer* grpc_byte_buffer_copy (grpc_byte_bufferbb)
+
+ +

Copies input byte buffer bb.

+

Increases the reference count of all the source slices. The user is responsible for calling grpc_byte_buffer_destroy over the returned copy.

+ +
+
+ +
+
+ + + + + + + + +
void grpc_byte_buffer_destroy (grpc_byte_bufferbyte_buffer)
+
+ +

Destroys byte_buffer deallocating all its memory.

+ +
+
+ +
+
+ + + + + + + + +
size_t grpc_byte_buffer_length (grpc_byte_bufferbb)
+
+ +

Returns the size of the given byte buffer, in bytes.

+ +
+
+ +
+
+ + + + + + + + +
void grpc_byte_buffer_reader_destroy (grpc_byte_buffer_readerreader)
+
+ +

Cleanup and destroy reader.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void grpc_byte_buffer_reader_init (grpc_byte_buffer_readerreader,
grpc_byte_bufferbuffer 
)
+
+ +

Initialize reader to read over buffer.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
int grpc_byte_buffer_reader_next (grpc_byte_buffer_readerreader,
gpr_sliceslice 
)
+
+ +

Updates slice with the next piece of data from from reader and returns.

+
    +
  1. Returns 0 at the end of the stream. Caller is responsible for calling gpr_slice_unref on the result.
  2. +
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
grpc_byte_buffer* grpc_raw_byte_buffer_create (gpr_sliceslices,
size_t nslices 
)
+
+ +

Returns a RAW byte buffer instance over the given slices (up to nslices).

+

Increases the reference count for all slices processed. The user is responsible for invoking grpc_byte_buffer_destroy on the returned instance.

+ +
+
+ +
+
+ + + + + + + + +
grpc_byte_buffer* grpc_raw_byte_buffer_from_reader (grpc_byte_buffer_readerreader)
+
+ +

Returns a RAW byte buffer instance from the output of reader.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
grpc_byte_buffer* grpc_raw_compressed_byte_buffer_create (gpr_sliceslices,
size_t nslices,
grpc_compression_algorithm compression 
)
+
+ +

Returns a compressed RAW byte buffer instance over the given slices (up to nslices).

+

The compression argument defines the compression algorithm used to generate the data in slices.

+

Increases the reference count for all slices processed. The user is responsible for invoking grpc_byte_buffer_destroy on the returned instance.

+ +
+
+
+ + + + diff --git a/doc/ref/core/html/byte__buffer_8h_source.html b/doc/ref/core/html/byte__buffer_8h_source.html new file mode 100644 index 0000000000..e9971eff4d --- /dev/null +++ b/doc/ref/core/html/byte__buffer_8h_source.html @@ -0,0 +1,212 @@ + + + + + + +GRPC Core: include/grpc/byte_buffer.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
byte_buffer.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPC_BYTE_BUFFER_H
+
35 #define GRPC_BYTE_BUFFER_H
+
36 
+
37 #include <grpc/compression.h>
+ +
39 
+
40 #ifdef __cplusplus
+
41 extern "C" {
+
42 #endif
+
43 
+
44 typedef enum {
+ +
46  /* Future types may include GRPC_BB_PROTOBUF, etc. */
+ +
48 
+ + +
51  union {
+
52  struct {
+ + +
55  } raw;
+
56  } data;
+
57 };
+ +
59 
+ +
65  size_t nslices);
+
66 
+ +
74  gpr_slice *slices, size_t nslices, grpc_compression_algorithm compression);
+
75 
+ +
81 
+ +
84 
+ +
87 
+ + +
91 
+ +
94  grpc_byte_buffer *buffer);
+
95 
+ +
98 
+ +
103  gpr_slice *slice);
+
104 
+ +
107  grpc_byte_buffer_reader *reader);
+
108 
+
109 #ifdef __cplusplus
+
110 }
+
111 #endif
+
112 
+
113 #endif /* GRPC_BYTE_BUFFER_H */
+ +
grpc_compression_algorithm
Definition: compression.h:45
+
int grpc_byte_buffer_reader_next(grpc_byte_buffer_reader *reader, gpr_slice *slice)
Updates slice with the next piece of data from from reader and returns.
+
union grpc_byte_buffer::@0 data
+
void grpc_byte_buffer_reader_init(grpc_byte_buffer_reader *reader, grpc_byte_buffer *buffer)
Initialize reader to read over buffer.
+
gpr_slice_buffer slice_buffer
Definition: byte_buffer.h:54
+
grpc_byte_buffer_type type
Definition: byte_buffer.h:50
+
Definition: byte_buffer.h:49
+
Definition: slice_buffer.h:48
+
Definition: byte_buffer.h:45
+
grpc_byte_buffer_type
Definition: byte_buffer.h:44
+
void grpc_byte_buffer_destroy(grpc_byte_buffer *byte_buffer)
Destroys byte_buffer deallocating all its memory.
+
grpc_byte_buffer * grpc_raw_compressed_byte_buffer_create(gpr_slice *slices, size_t nslices, grpc_compression_algorithm compression)
Returns a compressed RAW byte buffer instance over the given slices (up to nslices).
+
grpc_byte_buffer * grpc_raw_byte_buffer_from_reader(grpc_byte_buffer_reader *reader)
Returns a RAW byte buffer instance from the output of reader.
+
struct grpc_byte_buffer::@0::@1 raw
+
grpc_compression_algorithm compression
Definition: byte_buffer.h:53
+
void grpc_byte_buffer_reader_destroy(grpc_byte_buffer_reader *reader)
Cleanup and destroy reader.
+
size_t grpc_byte_buffer_length(grpc_byte_buffer *bb)
Returns the size of the given byte buffer, in bytes.
+ +
grpc_byte_buffer * grpc_raw_byte_buffer_create(gpr_slice *slices, size_t nslices)
Returns a RAW byte buffer instance over the given slices (up to nslices).
+
Definition: byte_buffer_reader.h:44
+
Definition: slice.h:79
+
grpc_byte_buffer * grpc_byte_buffer_copy(grpc_byte_buffer *bb)
Copies input byte buffer bb.
+
+ + + + diff --git a/doc/ref/core/html/byte__buffer__reader_8h.html b/doc/ref/core/html/byte__buffer__reader_8h.html new file mode 100644 index 0000000000..a727c001bb --- /dev/null +++ b/doc/ref/core/html/byte__buffer__reader_8h.html @@ -0,0 +1,111 @@ + + + + + + +GRPC Core: include/grpc/byte_buffer_reader.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
byte_buffer_reader.h File Reference
+
+
+
#include <grpc/grpc.h>
+#include <grpc/byte_buffer.h>
+
+

Go to the source code of this file.

+ + + + +

+Data Structures

struct  grpc_byte_buffer_reader
 
+
+ + + + diff --git a/doc/ref/core/html/byte__buffer__reader_8h_source.html b/doc/ref/core/html/byte__buffer__reader_8h_source.html new file mode 100644 index 0000000000..1d95bd096e --- /dev/null +++ b/doc/ref/core/html/byte__buffer__reader_8h_source.html @@ -0,0 +1,165 @@ + + + + + + +GRPC Core: include/grpc/byte_buffer_reader.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
byte_buffer_reader.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPC_BYTE_BUFFER_READER_H
+
35 #define GRPC_BYTE_BUFFER_READER_H
+
36 
+
37 #include <grpc/grpc.h>
+
38 #include <grpc/byte_buffer.h>
+
39 
+
40 #ifdef __cplusplus
+
41 extern "C" {
+
42 #endif
+
43 
+ + + +
47  /* Different current objects correspond to different types of byte buffers */
+
48  union {
+
49  /* Index into a slice buffer's array of slices */
+
50  unsigned index;
+
51  } current;
+
52 };
+
53 
+
54 #ifdef __cplusplus
+
55 }
+
56 #endif
+
57 
+
58 #endif /* GRPC_BYTE_BUFFER_READER_H */
+ +
grpc_byte_buffer * buffer_out
Definition: byte_buffer_reader.h:46
+
Definition: byte_buffer.h:49
+
unsigned index
Definition: byte_buffer_reader.h:50
+
union grpc_byte_buffer_reader::@2 current
+
grpc_byte_buffer * buffer_in
Definition: byte_buffer_reader.h:45
+
Definition: byte_buffer_reader.h:44
+ +
+ + + + diff --git a/doc/ref/core/html/cancellable__platform_8h.html b/doc/ref/core/html/cancellable__platform_8h.html new file mode 100644 index 0000000000..af02bbaee3 --- /dev/null +++ b/doc/ref/core/html/cancellable__platform_8h.html @@ -0,0 +1,113 @@ + + + + + + +GRPC Core: include/grpc/support/cancellable_platform.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
cancellable_platform.h File Reference
+
+
+
#include <grpc/support/atm.h>
+#include <grpc/support/sync.h>
+
+

Go to the source code of this file.

+ + + + + + +

+Data Structures

struct  gpr_cancellable_list_
 
struct  gpr_cancellable
 
+
+ + + + diff --git a/doc/ref/core/html/cancellable__platform_8h_source.html b/doc/ref/core/html/cancellable__platform_8h_source.html new file mode 100644 index 0000000000..11463080fd --- /dev/null +++ b/doc/ref/core/html/cancellable__platform_8h_source.html @@ -0,0 +1,168 @@ + + + + + + +GRPC Core: include/grpc/support/cancellable_platform.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
cancellable_platform.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPC_SUPPORT_CANCELLABLE_PLATFORM_H
+
35 #define GRPC_SUPPORT_CANCELLABLE_PLATFORM_H
+
36 
+
37 #include <grpc/support/atm.h>
+
38 #include <grpc/support/sync.h>
+
39 
+ +
41  /* a doubly-linked list on cancellable's waiters queue */
+ + +
44  /* The following two fields are arguments to gpr_cv_cancellable_wait() */
+ + +
47 };
+
48 
+
49 /* Internal definition of gpr_cancellable. */
+
50 typedef struct {
+
51  gpr_mu mu; /* protects waiters and modifications to cancelled */
+ +
53  struct gpr_cancellable_list_ waiters;
+ +
55 
+
56 #endif /* GRPC_SUPPORT_CANCELLABLE_PLATFORM_H */
+ +
struct gpr_cancellable_list_ * prev
Definition: cancellable_platform.h:43
+
Definition: cancellable_platform.h:40
+
gpr_cv * cv
Definition: cancellable_platform.h:46
+
gpr_atm cancelled
Definition: cancellable_platform.h:52
+
pthread_cond_t gpr_cv
Definition: sync_posix.h:42
+
Definition: cancellable_platform.h:50
+
Definition: sync_win32.h:39
+
gpr_mu * mu
Definition: cancellable_platform.h:45
+
gpr_mu mu
Definition: cancellable_platform.h:51
+ +
struct gpr_cancellable_list_ * next
Definition: cancellable_platform.h:42
+
gpr_intptr gpr_atm
Definition: atm_gcc_atomic.h:41
+
+ + + + diff --git a/doc/ref/core/html/census_8h.html b/doc/ref/core/html/census_8h.html new file mode 100644 index 0000000000..3be526cbc1 --- /dev/null +++ b/doc/ref/core/html/census_8h.html @@ -0,0 +1,369 @@ + + + + + + +GRPC Core: include/grpc/census.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
census.h File Reference
+
+
+
#include <grpc/grpc.h>
+
+

Go to the source code of this file.

+ + + + +

+Data Structures

struct  census_stat
 
+ + + +

+Typedefs

typedef struct census_context census_context
 
+ + + +

+Enumerations

enum  census_features {
+  CENSUS_FEATURE_NONE = 0, +CENSUS_FEATURE_TRACING = 1, +CENSUS_FEATURE_STATS = 2, +CENSUS_FEATURE_CPU = 4, +
+  CENSUS_FEATURE_ALL +
+ }
 
+ + + + + + + + + + + + + + + + + + + + +

+Functions

int census_initialize (int features)
 Shutdown and startup census subsystem. More...
 
void census_shutdown (void)
 
int census_supported (void)
 Return the features supported by the current census implementation (not all features will be available on all platforms). More...
 
int census_enabled (void)
 Return the census features currently enabled. More...
 
size_t census_context_serialize (const census_context *context, char *buffer, size_t buf_size)
 
int census_context_deserialize (const char *buffer, census_context **context)
 
void census_context_destroy (census_context *context)
 
void census_record_stat (census_context *context, census_stat *stats, size_t nstats)
 
+

Typedef Documentation

+ +
+
+ + + + +
typedef struct census_context census_context
+
+ +
+
+

Enumeration Type Documentation

+ +
+
+ + + + +
enum census_features
+
+ + + + + + +
Enumerator
CENSUS_FEATURE_NONE  +
CENSUS_FEATURE_TRACING  +
CENSUS_FEATURE_STATS  +
CENSUS_FEATURE_CPU  +
CENSUS_FEATURE_ALL  +
+ +
+
+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
int census_context_deserialize (const char * buffer,
census_context ** context 
)
+
+ +
+
+ +
+
+ + + + + + + + +
void census_context_destroy (census_contextcontext)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
size_t census_context_serialize (const census_contextcontext,
char * buffer,
size_t buf_size 
)
+
+ +
+
+ +
+
+ + + + + + + + +
int census_enabled (void )
+
+ +

Return the census features currently enabled.

+ +
+
+ +
+
+ + + + + + + + +
int census_initialize (int features)
+
+ +

Shutdown and startup census subsystem.

+

The 'features' argument should be the OR (|) of census_features values. If census fails to initialize, then census_initialize() will return a non-zero value. It is an error to call census_initialize() more than once (without an intervening census_shutdown()).

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void census_record_stat (census_contextcontext,
census_statstats,
size_t nstats 
)
+
+ +
+
+ +
+
+ + + + + + + + +
void census_shutdown (void )
+
+ +
+
+ +
+
+ + + + + + + + +
int census_supported (void )
+
+ +

Return the features supported by the current census implementation (not all features will be available on all platforms).

+ +
+
+
+ + + + diff --git a/doc/ref/core/html/census_8h_source.html b/doc/ref/core/html/census_8h_source.html new file mode 100644 index 0000000000..f7c46b0a1f --- /dev/null +++ b/doc/ref/core/html/census_8h_source.html @@ -0,0 +1,232 @@ + + + + + + +GRPC Core: include/grpc/census.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
census.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 /* RPC-internal Census API's. These are designed to be generic enough that
+
35  * they can (ultimately) be used in many different RPC systems (with differing
+
36  * implementations). */
+
37 
+
38 #ifndef CENSUS_CENSUS_H
+
39 #define CENSUS_CENSUS_H
+
40 
+
41 #include <grpc/grpc.h>
+
42 
+
43 #ifdef __cplusplus
+
44 extern "C" {
+
45 #endif
+
46 
+
47 /* Identify census features that can be enabled via census_initialize(). */
+ +
49  CENSUS_FEATURE_NONE = 0, /* Do not enable census. */
+
50  CENSUS_FEATURE_TRACING = 1, /* Enable census tracing. */
+
51  CENSUS_FEATURE_STATS = 2, /* Enable Census stats collection. */
+
52  CENSUS_FEATURE_CPU = 4, /* Enable Census CPU usage collection. */
+ + +
55 };
+
56 
+
62 int census_initialize(int features);
+
63 void census_shutdown(void);
+
64 
+
67 int census_supported(void);
+
68 
+
70 int census_enabled(void);
+
71 
+
72 /* Internally, Census relies on a context, which should be propagated across
+
73  * RPC's. From the RPC subsystems viewpoint, this is an opaque data structure.
+
74  * A context must be used as the first argument to all other census
+
75  * functions. Conceptually, contexts should be thought of as specific to
+
76  * single RPC/thread. The context can be serialized for passing across the
+
77  * wire. */
+ +
79 
+
80 /* This function is called by the RPC subsystem whenever it needs to get a
+
81  * serialized form of the current census context (presumably to pass across
+
82  * the wire). Arguments:
+
83  * 'buffer': pointer to memory into which serialized context will be placed
+
84  * 'buf_size': size of 'buffer'
+
85  *
+
86  * Returns: the number of bytes used in buffer if successful, or 0 if the
+
87  * buffer is of insufficient size.
+
88  *
+
89  * TODO(aveitch): determine how best to communicate required/max buffer size
+
90  * so caller doesn't have to guess. */
+
91 size_t census_context_serialize(const census_context *context, char *buffer,
+
92  size_t buf_size);
+
93 
+
94 /* Create a new census context, possibly from a serialized buffer. If 'buffer'
+
95  * is non-NULL, it is assumed that it is a buffer encoded by
+
96  * census_context_serialize(). If `buffer` is NULL, a new, empty context is
+
97  * created. The decoded/new contest is returned in 'context'.
+
98  *
+
99  * Returns 0 if no errors, non-zero if buffer is incorrectly formatted, in
+
100  * which case a new empty context will be returned. */
+
101 int census_context_deserialize(const char *buffer, census_context **context);
+
102 
+
103 /* The given context is destroyed. Once destroyed, using the context in
+
104  * future census calls will result in undefined behavior. */
+ +
106 
+
107 /* A census statistic to be recorded comprises two parts: an ID for the
+
108  * particular statistic and the value to be recorded against it. */
+
109 typedef struct {
+
110  int id;
+
111  double value;
+
112 } census_stat;
+
113 
+
114 /* Record new stats against the given context. */
+
115 void census_record_stat(census_context *context, census_stat *stats,
+
116  size_t nstats);
+
117 
+
118 #ifdef __cplusplus
+
119 }
+
120 #endif
+
121 
+
122 #endif /* CENSUS_CENSUS_H */
+
void census_context_destroy(census_context *context)
+
int census_context_deserialize(const char *buffer, census_context **context)
+
Definition: census.h:50
+
int census_initialize(int features)
Shutdown and startup census subsystem.
+
Definition: census.h:52
+
Definition: census.h:53
+
Definition: census.h:51
+
void census_shutdown(void)
+
int id
Definition: census.h:110
+
int census_supported(void)
Return the features supported by the current census implementation (not all features will be availabl...
+
double value
Definition: census.h:111
+
census_features
Definition: census.h:48
+
void census_record_stat(census_context *context, census_stat *stats, size_t nstats)
+
int census_enabled(void)
Return the census features currently enabled.
+ +
size_t census_context_serialize(const census_context *context, char *buffer, size_t buf_size)
+
Definition: census.h:109
+
struct census_context census_context
Definition: census.h:78
+
Definition: census.h:49
+
+ + + + diff --git a/doc/ref/core/html/classes.html b/doc/ref/core/html/classes.html new file mode 100644 index 0000000000..0ddb740673 --- /dev/null +++ b/doc/ref/core/html/classes.html @@ -0,0 +1,110 @@ + + + + + + +GRPC Core: Data Structure Index + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + +
+ + + + +
+ +
+ +
+
+
Data Structure Index
+
+ + + + + diff --git a/doc/ref/core/html/closed.png b/doc/ref/core/html/closed.png new file mode 100644 index 0000000000..98cc2c909d Binary files /dev/null and b/doc/ref/core/html/closed.png differ diff --git a/doc/ref/core/html/cmdline_8h.html b/doc/ref/core/html/cmdline_8h.html new file mode 100644 index 0000000000..b714fae0f0 --- /dev/null +++ b/doc/ref/core/html/cmdline_8h.html @@ -0,0 +1,391 @@ + + + + + + +GRPC Core: include/grpc/support/cmdline.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
cmdline.h File Reference
+
+
+ +

Go to the source code of this file.

+ + + + +

+Typedefs

typedef struct gpr_cmdline gpr_cmdline
 
+ + + + + + + + + + + + + + + + + +

+Functions

gpr_cmdlinegpr_cmdline_create (const char *description)
 
void gpr_cmdline_add_int (gpr_cmdline *cl, const char *name, const char *help, int *value)
 
void gpr_cmdline_add_flag (gpr_cmdline *cl, const char *name, const char *help, int *value)
 
void gpr_cmdline_add_string (gpr_cmdline *cl, const char *name, const char *help, char **value)
 
void gpr_cmdline_on_extra_arg (gpr_cmdline *cl, const char *name, const char *help, void(*on_extra_arg)(void *user_data, const char *arg), void *user_data)
 
void gpr_cmdline_parse (gpr_cmdline *cl, int argc, char **argv)
 
void gpr_cmdline_destroy (gpr_cmdline *cl)
 
char * gpr_cmdline_usage_string (gpr_cmdline *cl, const char *argv0)
 
+

Typedef Documentation

+ +
+
+ + + + +
typedef struct gpr_cmdline gpr_cmdline
+
+ +
+
+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void gpr_cmdline_add_flag (gpr_cmdlinecl,
const char * name,
const char * help,
int * value 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void gpr_cmdline_add_int (gpr_cmdlinecl,
const char * name,
const char * help,
int * value 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void gpr_cmdline_add_string (gpr_cmdlinecl,
const char * name,
const char * help,
char ** value 
)
+
+ +
+
+ +
+
+ + + + + + + + +
gpr_cmdline* gpr_cmdline_create (const char * description)
+
+ +
+
+ +
+
+ + + + + + + + +
void gpr_cmdline_destroy (gpr_cmdlinecl)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void gpr_cmdline_on_extra_arg (gpr_cmdlinecl,
const char * name,
const char * help,
void(*)(void *user_data, const char *arg) on_extra_arg,
void * user_data 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void gpr_cmdline_parse (gpr_cmdlinecl,
int argc,
char ** argv 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
char* gpr_cmdline_usage_string (gpr_cmdlinecl,
const char * argv0 
)
+
+ +
+
+
+ + + + diff --git a/doc/ref/core/html/cmdline_8h_source.html b/doc/ref/core/html/cmdline_8h_source.html new file mode 100644 index 0000000000..9363554b9f --- /dev/null +++ b/doc/ref/core/html/cmdline_8h_source.html @@ -0,0 +1,205 @@ + + + + + + +GRPC Core: include/grpc/support/cmdline.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
cmdline.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPC_SUPPORT_CMDLINE_H
+
35 #define GRPC_SUPPORT_CMDLINE_H
+
36 
+
37 #ifdef __cplusplus
+
38 extern "C" {
+
39 #endif
+
40 
+
41 /* Simple command line parser.
+
42 
+
43  Supports flags that can be specified as -foo, --foo, --no-foo, -no-foo, etc
+
44  And integers, strings that can be specified as -foo=4, -foo blah, etc
+
45 
+
46  No support for short command line options (but we may get that in the
+
47  future.)
+
48 
+
49  Usage (for a program with a single flag argument 'foo'):
+
50 
+
51  int main(int argc, char **argv) {
+
52  gpr_cmdline *cl;
+
53  int verbose = 0;
+
54 
+
55  cl = gpr_cmdline_create("My cool tool");
+
56  gpr_cmdline_add_int(cl, "verbose", "Produce verbose output?", &verbose);
+
57  gpr_cmdline_parse(cl, argc, argv);
+
58  gpr_cmdline_destroy(cl);
+
59 
+
60  if (verbose) {
+
61  gpr_log(GPR_INFO, "Goodbye cruel world!");
+
62  }
+
63 
+
64  return 0;
+
65  } */
+
66 
+
67 typedef struct gpr_cmdline gpr_cmdline;
+
68 
+
69 /* Construct a command line parser: takes a short description of the tool
+
70  doing the parsing */
+
71 gpr_cmdline *gpr_cmdline_create(const char *description);
+
72 /* Add an integer parameter, with a name (used on the command line) and some
+
73  helpful text (used in the command usage) */
+
74 void gpr_cmdline_add_int(gpr_cmdline *cl, const char *name, const char *help,
+
75  int *value);
+
76 /* The same, for a boolean flag */
+
77 void gpr_cmdline_add_flag(gpr_cmdline *cl, const char *name, const char *help,
+
78  int *value);
+
79 /* And for a string */
+
80 void gpr_cmdline_add_string(gpr_cmdline *cl, const char *name, const char *help,
+
81  char **value);
+
82 /* Set a callback for non-named arguments */
+ +
84  gpr_cmdline *cl, const char *name, const char *help,
+
85  void (*on_extra_arg)(void *user_data, const char *arg), void *user_data);
+
86 /* Parse the command line */
+
87 void gpr_cmdline_parse(gpr_cmdline *cl, int argc, char **argv);
+
88 /* Destroy the parser */
+ +
90 /* Get a string describing usage */
+
91 char *gpr_cmdline_usage_string(gpr_cmdline *cl, const char *argv0);
+
92 
+
93 #ifdef __cplusplus
+
94 }
+
95 #endif
+
96 
+
97 #endif /* GRPC_SUPPORT_CMDLINE_H */
+
struct gpr_cmdline gpr_cmdline
Definition: cmdline.h:67
+
void gpr_cmdline_destroy(gpr_cmdline *cl)
+
void gpr_cmdline_parse(gpr_cmdline *cl, int argc, char **argv)
+
void gpr_cmdline_add_int(gpr_cmdline *cl, const char *name, const char *help, int *value)
+
void gpr_cmdline_on_extra_arg(gpr_cmdline *cl, const char *name, const char *help, void(*on_extra_arg)(void *user_data, const char *arg), void *user_data)
+
gpr_cmdline * gpr_cmdline_create(const char *description)
+
char * gpr_cmdline_usage_string(gpr_cmdline *cl, const char *argv0)
+
void gpr_cmdline_add_flag(gpr_cmdline *cl, const char *name, const char *help, int *value)
+
void gpr_cmdline_add_string(gpr_cmdline *cl, const char *name, const char *help, char **value)
+
+ + + + diff --git a/doc/ref/core/html/compression_8h.html b/doc/ref/core/html/compression_8h.html new file mode 100644 index 0000000000..6296cb5143 --- /dev/null +++ b/doc/ref/core/html/compression_8h.html @@ -0,0 +1,305 @@ + + + + + + +GRPC Core: include/grpc/compression.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
compression.h File Reference
+
+
+ +

Go to the source code of this file.

+ + + + + +

+Macros

#define GRPC_COMPRESSION_ALGORITHM_ARG   "grpc.compression_algorithm"
 To be used in channel arguments. More...
 
+ + + + + +

+Enumerations

enum  grpc_compression_algorithm { GRPC_COMPRESS_NONE = 0, +GRPC_COMPRESS_DEFLATE, +GRPC_COMPRESS_GZIP, +GRPC_COMPRESS_ALGORITHMS_COUNT + }
 
enum  grpc_compression_level {
+  GRPC_COMPRESS_LEVEL_NONE = 0, +GRPC_COMPRESS_LEVEL_LOW, +GRPC_COMPRESS_LEVEL_MED, +GRPC_COMPRESS_LEVEL_HIGH, +
+  GRPC_COMPRESS_LEVEL_COUNT +
+ }
 
+ + + + + + + + + + + + + +

+Functions

int grpc_compression_algorithm_parse (const char *name, grpc_compression_algorithm *algorithm)
 Parses name as a grpc_compression_algorithm instance, updating algorithm. More...
 
int grpc_compression_algorithm_name (grpc_compression_algorithm algorithm, char **name)
 Updates name with the encoding name corresponding to a valid algorithm. More...
 
grpc_compression_level grpc_compression_level_for_algorithm (grpc_compression_algorithm algorithm)
 Returns the compression level corresponding to algorithm. More...
 
grpc_compression_algorithm grpc_compression_algorithm_for_level (grpc_compression_level level)
 Returns the compression algorithm corresponding to level. More...
 
+

Macro Definition Documentation

+ +
+
+ + + + +
#define GRPC_COMPRESSION_ALGORITHM_ARG   "grpc.compression_algorithm"
+
+ +

To be used in channel arguments.

+ +
+
+

Enumeration Type Documentation

+ +
+
+ + + + +
enum grpc_compression_algorithm
+
+ + + + + +
Enumerator
GRPC_COMPRESS_NONE  +
GRPC_COMPRESS_DEFLATE  +
GRPC_COMPRESS_GZIP  +
GRPC_COMPRESS_ALGORITHMS_COUNT  +
+ +
+
+ +
+
+ + + + +
enum grpc_compression_level
+
+ + + + + + +
Enumerator
GRPC_COMPRESS_LEVEL_NONE  +
GRPC_COMPRESS_LEVEL_LOW  +
GRPC_COMPRESS_LEVEL_MED  +
GRPC_COMPRESS_LEVEL_HIGH  +
GRPC_COMPRESS_LEVEL_COUNT  +
+ +
+
+

Function Documentation

+ +
+
+ + + + + + + + +
grpc_compression_algorithm grpc_compression_algorithm_for_level (grpc_compression_level level)
+
+ +

Returns the compression algorithm corresponding to level.

+

It abort()s for unknown levels .

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
int grpc_compression_algorithm_name (grpc_compression_algorithm algorithm,
char ** name 
)
+
+ +

Updates name with the encoding name corresponding to a valid algorithm.

+

Returns 1 upon success, 0 otherwise.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
int grpc_compression_algorithm_parse (const char * name,
grpc_compression_algorithmalgorithm 
)
+
+ +

Parses name as a grpc_compression_algorithm instance, updating algorithm.

+

Returns 1 upon success, 0 otherwise.

+ +
+
+ +
+
+ + + + + + + + +
grpc_compression_level grpc_compression_level_for_algorithm (grpc_compression_algorithm algorithm)
+
+ +

Returns the compression level corresponding to algorithm.

+

It abort()s for unknown algorithms.

+ +
+
+
+ + + + diff --git a/doc/ref/core/html/compression_8h_source.html b/doc/ref/core/html/compression_8h_source.html new file mode 100644 index 0000000000..7b4d0dcb30 --- /dev/null +++ b/doc/ref/core/html/compression_8h_source.html @@ -0,0 +1,190 @@ + + + + + + +GRPC Core: include/grpc/compression.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
compression.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPC_COMPRESSION_H
+
35 #define GRPC_COMPRESSION_H
+
36 
+
37 #ifdef __cplusplus
+
38 extern "C" {
+
39 #endif
+
40 
+
42 #define GRPC_COMPRESSION_ALGORITHM_ARG "grpc.compression_algorithm"
+
43 
+
44 /* The various compression algorithms supported by GRPC */
+
45 typedef enum {
+ + + +
49  /* TODO(ctiller): snappy */
+ + +
52 
+
53 typedef enum {
+ + + + + + +
60 
+
63 int grpc_compression_algorithm_parse(const char *name,
+
64  grpc_compression_algorithm *algorithm);
+
65 
+ +
69  char **name);
+
70 
+ +
75  grpc_compression_algorithm algorithm);
+
76 
+ + +
82 
+
83 #ifdef __cplusplus
+
84 }
+
85 #endif
+
86 
+
87 #endif /* GRPC_COMPRESSION_H */
+
Definition: compression.h:50
+
grpc_compression_algorithm
Definition: compression.h:45
+
Definition: compression.h:48
+
int grpc_compression_algorithm_parse(const char *name, grpc_compression_algorithm *algorithm)
Parses name as a grpc_compression_algorithm instance, updating algorithm.
+
Definition: compression.h:47
+
Definition: compression.h:54
+
Definition: compression.h:55
+
grpc_compression_level grpc_compression_level_for_algorithm(grpc_compression_algorithm algorithm)
Returns the compression level corresponding to algorithm.
+
grpc_compression_level
Definition: compression.h:53
+
Definition: compression.h:46
+
Definition: compression.h:56
+
int grpc_compression_algorithm_name(grpc_compression_algorithm algorithm, char **name)
Updates name with the encoding name corresponding to a valid algorithm.
+
Definition: compression.h:58
+
grpc_compression_algorithm grpc_compression_algorithm_for_level(grpc_compression_level level)
Returns the compression algorithm corresponding to level.
+
Definition: compression.h:57
+
+ + + + diff --git a/doc/ref/core/html/cpu_8h.html b/doc/ref/core/html/cpu_8h.html new file mode 100644 index 0000000000..52dd6375e8 --- /dev/null +++ b/doc/ref/core/html/cpu_8h.html @@ -0,0 +1,144 @@ + + + + + + +GRPC Core: include/grpc/support/cpu.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
cpu.h File Reference
+
+
+ +

Go to the source code of this file.

+ + + + + + +

+Functions

unsigned gpr_cpu_num_cores (void)
 
unsigned gpr_cpu_current_cpu (void)
 
+

Function Documentation

+ +
+
+ + + + + + + + +
unsigned gpr_cpu_current_cpu (void )
+
+ +
+
+ +
+
+ + + + + + + + +
unsigned gpr_cpu_num_cores (void )
+
+ +
+
+
+ + + + diff --git a/doc/ref/core/html/cpu_8h_source.html b/doc/ref/core/html/cpu_8h_source.html new file mode 100644 index 0000000000..8098faf38c --- /dev/null +++ b/doc/ref/core/html/cpu_8h_source.html @@ -0,0 +1,158 @@ + + + + + + +GRPC Core: include/grpc/support/cpu.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
cpu.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPC_SUPPORT_CPU_H
+
35 #define GRPC_SUPPORT_CPU_H
+
36 
+
37 #ifdef __cplusplus
+
38 extern "C" {
+
39 #endif
+
40 
+
41 /* Interface providing CPU information for currently running system */
+
42 
+
43 /* Return the number of CPU cores on the current system. Will return 0 if
+
44  the information is not available. */
+
45 unsigned gpr_cpu_num_cores(void);
+
46 
+
47 /* Return the CPU on which the current thread is executing; N.B. This should
+
48  be considered advisory only - it is possible that the thread is switched
+
49  to a different CPU at any time. Returns a value in range
+
50  [0, gpr_cpu_num_cores() - 1] */
+
51 unsigned gpr_cpu_current_cpu(void);
+
52 
+
53 #ifdef __cplusplus
+
54 } // extern "C"
+
55 #endif
+
56 
+
57 #endif /* GRPC_SUPPORT_CPU_H */
+
unsigned gpr_cpu_num_cores(void)
+
unsigned gpr_cpu_current_cpu(void)
+
+ + + + diff --git a/doc/ref/core/html/dir_9d7a14d6d9adcbe4c35dbdb88d867e2e.html b/doc/ref/core/html/dir_9d7a14d6d9adcbe4c35dbdb88d867e2e.html new file mode 100644 index 0000000000..b20e321e40 --- /dev/null +++ b/doc/ref/core/html/dir_9d7a14d6d9adcbe4c35dbdb88d867e2e.html @@ -0,0 +1,116 @@ + + + + + + +GRPC Core: include/grpc Directory Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + +
+ +
+ + +
+
+
+
grpc Directory Reference
+
+
+ + + + +

+Directories

directory  support
 
+ + + + + + + + + + + + + + + +

+Files

file  byte_buffer.h [code]
 
file  byte_buffer_reader.h [code]
 
file  census.h [code]
 
file  compression.h [code]
 
file  grpc.h [code]
 
file  grpc_security.h [code]
 
file  status.h [code]
 
+
+ + + + diff --git a/doc/ref/core/html/dir_cad3142e04109052413f2d2a2d1813b0.html b/doc/ref/core/html/dir_cad3142e04109052413f2d2a2d1813b0.html new file mode 100644 index 0000000000..8c84ca2d95 --- /dev/null +++ b/doc/ref/core/html/dir_cad3142e04109052413f2d2a2d1813b0.html @@ -0,0 +1,153 @@ + + + + + + +GRPC Core: include/grpc/support Directory Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + +
+ +
+ + +
+
+
+
support Directory Reference
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Files

file  alloc.h [code]
 
file  atm.h [code]
 
file  atm_gcc_atomic.h [code]
 
file  atm_gcc_sync.h [code]
 
file  atm_win32.h [code]
 
file  cancellable_platform.h [code]
 
file  cmdline.h [code]
 
file  cpu.h [code]
 
file  histogram.h [code]
 
file  host_port.h [code]
 
file  log.h [code]
 
file  log_win32.h [code]
 
file  port_platform.h [code]
 
file  slice.h [code]
 
file  slice_buffer.h [code]
 
file  string_util.h [code]
 
file  subprocess.h [code]
 
file  sync.h [code]
 
file  sync_generic.h [code]
 
file  sync_posix.h [code]
 
file  sync_win32.h [code]
 
file  thd.h [code]
 
file  time.h [code]
 
file  tls.h [code]
 
file  tls_gcc.h [code]
 
file  tls_msvc.h [code]
 
file  tls_pthread.h [code]
 
file  useful.h [code]
 
+
+ + + + diff --git a/doc/ref/core/html/dir_d44c64559bbebec7f509842c48db8b23.html b/doc/ref/core/html/dir_d44c64559bbebec7f509842c48db8b23.html new file mode 100644 index 0000000000..512a2188a7 --- /dev/null +++ b/doc/ref/core/html/dir_d44c64559bbebec7f509842c48db8b23.html @@ -0,0 +1,99 @@ + + + + + + +GRPC Core: include Directory Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + +
+ +
+ + +
+
+
+
include Directory Reference
+
+
+ + + + +

+Directories

directory  grpc
 
+
+ + + + diff --git a/doc/ref/core/html/doxygen.css b/doc/ref/core/html/doxygen.css new file mode 100644 index 0000000000..f0f36f89f5 --- /dev/null +++ b/doc/ref/core/html/doxygen.css @@ -0,0 +1,1366 @@ +/* The standard CSS for doxygen 1.8.6 */ + +body, table, div, p, dl { + font: 400 14px/22px Roboto,sans-serif; +} + +/* @group Heading Levels */ + +h1.groupheader { + font-size: 150%; +} + +.title { + font: 400 14px/28px Roboto,sans-serif; + font-size: 150%; + font-weight: bold; + margin: 10px 2px; +} + +h2.groupheader { + border-bottom: 1px solid #879ECB; + color: #354C7B; + font-size: 150%; + font-weight: normal; + margin-top: 1.75em; + padding-top: 8px; + padding-bottom: 4px; + width: 100%; +} + +h3.groupheader { + font-size: 100%; +} + +h1, h2, h3, h4, h5, h6 { + -webkit-transition: text-shadow 0.5s linear; + -moz-transition: text-shadow 0.5s linear; + -ms-transition: text-shadow 0.5s linear; + -o-transition: text-shadow 0.5s linear; + transition: text-shadow 0.5s linear; + margin-right: 15px; +} + +h1.glow, h2.glow, h3.glow, h4.glow, h5.glow, h6.glow { + text-shadow: 0 0 15px cyan; +} + +dt { + font-weight: bold; +} + +div.multicol { + -moz-column-gap: 1em; + -webkit-column-gap: 1em; + -moz-column-count: 3; + -webkit-column-count: 3; +} + +p.startli, p.startdd { + margin-top: 2px; +} + +p.starttd { + margin-top: 0px; +} + +p.endli { + margin-bottom: 0px; +} + +p.enddd { + margin-bottom: 4px; +} + +p.endtd { + margin-bottom: 2px; +} + +/* @end */ + +caption { + font-weight: bold; +} + +span.legend { + font-size: 70%; + text-align: center; +} + +h3.version { + font-size: 90%; + text-align: center; +} + +div.qindex, div.navtab{ + background-color: #EBEFF6; + border: 1px solid #A3B4D7; + text-align: center; +} + +div.qindex, div.navpath { + width: 100%; + line-height: 140%; +} + +div.navtab { + margin-right: 15px; +} + +/* @group Link Styling */ + +a { + color: #3D578C; + font-weight: normal; + text-decoration: none; +} + +.contents a:visited { + color: #4665A2; +} + +a:hover { + text-decoration: underline; +} + +a.qindex { + font-weight: bold; +} + +a.qindexHL { + font-weight: bold; + background-color: #9CAFD4; + color: #ffffff; + border: 1px double #869DCA; +} + +.contents a.qindexHL:visited { + color: #ffffff; +} + +a.el { + font-weight: bold; +} + +a.elRef { +} + +a.code, a.code:visited, a.line, a.line:visited { + color: #4665A2; +} + +a.codeRef, a.codeRef:visited, a.lineRef, a.lineRef:visited { + color: #4665A2; +} + +/* @end */ + +dl.el { + margin-left: -1cm; +} + +pre.fragment { + border: 1px solid #C4CFE5; + background-color: #FBFCFD; + padding: 4px 6px; + margin: 4px 8px 4px 2px; + overflow: auto; + word-wrap: break-word; + font-size: 9pt; + line-height: 125%; + font-family: monospace, fixed; + font-size: 105%; +} + +div.fragment { + padding: 4px 6px; + margin: 4px 8px 4px 2px; + background-color: #FBFCFD; + border: 1px solid #C4CFE5; +} + +div.line { + font-family: monospace, fixed; + font-size: 13px; + min-height: 13px; + line-height: 1.0; + text-wrap: unrestricted; + white-space: -moz-pre-wrap; /* Moz */ + white-space: -pre-wrap; /* Opera 4-6 */ + white-space: -o-pre-wrap; /* Opera 7 */ + white-space: pre-wrap; /* CSS3 */ + word-wrap: break-word; /* IE 5.5+ */ + text-indent: -53px; + padding-left: 53px; + padding-bottom: 0px; + margin: 0px; + -webkit-transition-property: background-color, box-shadow; + -webkit-transition-duration: 0.5s; + -moz-transition-property: background-color, box-shadow; + -moz-transition-duration: 0.5s; + -ms-transition-property: background-color, box-shadow; + -ms-transition-duration: 0.5s; + -o-transition-property: background-color, box-shadow; + -o-transition-duration: 0.5s; + transition-property: background-color, box-shadow; + transition-duration: 0.5s; +} + +div.line.glow { + background-color: cyan; + box-shadow: 0 0 10px cyan; +} + + +span.lineno { + padding-right: 4px; + text-align: right; + border-right: 2px solid #0F0; + background-color: #E8E8E8; + white-space: pre; +} +span.lineno a { + background-color: #D8D8D8; +} + +span.lineno a:hover { + background-color: #C8C8C8; +} + +div.ah { + background-color: black; + font-weight: bold; + color: #ffffff; + margin-bottom: 3px; + margin-top: 3px; + padding: 0.2em; + border: solid thin #333; + border-radius: 0.5em; + -webkit-border-radius: .5em; + -moz-border-radius: .5em; + box-shadow: 2px 2px 3px #999; + -webkit-box-shadow: 2px 2px 3px #999; + -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px; + background-image: -webkit-gradient(linear, left top, left bottom, from(#eee), to(#000),color-stop(0.3, #444)); + background-image: -moz-linear-gradient(center top, #eee 0%, #444 40%, #000); +} + +div.groupHeader { + margin-left: 16px; + margin-top: 12px; + font-weight: bold; +} + +div.groupText { + margin-left: 16px; + font-style: italic; +} + +body { + background-color: white; + color: black; + margin: 0; +} + +div.contents { + margin-top: 10px; + margin-left: 12px; + margin-right: 8px; +} + +td.indexkey { + background-color: #EBEFF6; + font-weight: bold; + border: 1px solid #C4CFE5; + margin: 2px 0px 2px 0; + padding: 2px 10px; + white-space: nowrap; + vertical-align: top; +} + +td.indexvalue { + background-color: #EBEFF6; + border: 1px solid #C4CFE5; + padding: 2px 10px; + margin: 2px 0px; +} + +tr.memlist { + background-color: #EEF1F7; +} + +p.formulaDsp { + text-align: center; +} + +img.formulaDsp { + +} + +img.formulaInl { + vertical-align: middle; +} + +div.center { + text-align: center; + margin-top: 0px; + margin-bottom: 0px; + padding: 0px; +} + +div.center img { + border: 0px; +} + +address.footer { + text-align: right; + padding-right: 12px; +} + +img.footer { + border: 0px; + vertical-align: middle; +} + +/* @group Code Colorization */ + +span.keyword { + color: #008000 +} + +span.keywordtype { + color: #604020 +} + +span.keywordflow { + color: #e08000 +} + +span.comment { + color: #800000 +} + +span.preprocessor { + color: #806020 +} + +span.stringliteral { + color: #002080 +} + +span.charliteral { + color: #008080 +} + +span.vhdldigit { + color: #ff00ff +} + +span.vhdlchar { + color: #000000 +} + +span.vhdlkeyword { + color: #700070 +} + +span.vhdllogic { + color: #ff0000 +} + +blockquote { + background-color: #F7F8FB; + border-left: 2px solid #9CAFD4; + margin: 0 24px 0 4px; + padding: 0 12px 0 16px; +} + +/* @end */ + +/* +.search { + color: #003399; + font-weight: bold; +} + +form.search { + margin-bottom: 0px; + margin-top: 0px; +} + +input.search { + font-size: 75%; + color: #000080; + font-weight: normal; + background-color: #e8eef2; +} +*/ + +td.tiny { + font-size: 75%; +} + +.dirtab { + padding: 4px; + border-collapse: collapse; + border: 1px solid #A3B4D7; +} + +th.dirtab { + background: #EBEFF6; + font-weight: bold; +} + +hr { + height: 0px; + border: none; + border-top: 1px solid #4A6AAA; +} + +hr.footer { + height: 1px; +} + +/* @group Member Descriptions */ + +table.memberdecls { + border-spacing: 0px; + padding: 0px; +} + +.memberdecls td, .fieldtable tr { + -webkit-transition-property: background-color, box-shadow; + -webkit-transition-duration: 0.5s; + -moz-transition-property: background-color, box-shadow; + -moz-transition-duration: 0.5s; + -ms-transition-property: background-color, box-shadow; + -ms-transition-duration: 0.5s; + -o-transition-property: background-color, box-shadow; + -o-transition-duration: 0.5s; + transition-property: background-color, box-shadow; + transition-duration: 0.5s; +} + +.memberdecls td.glow, .fieldtable tr.glow { + background-color: cyan; + box-shadow: 0 0 15px cyan; +} + +.mdescLeft, .mdescRight, +.memItemLeft, .memItemRight, +.memTemplItemLeft, .memTemplItemRight, .memTemplParams { + background-color: #F9FAFC; + border: none; + margin: 4px; + padding: 1px 0 0 8px; +} + +.mdescLeft, .mdescRight { + padding: 0px 8px 4px 8px; + color: #555; +} + +.memSeparator { + border-bottom: 1px solid #DEE4F0; + line-height: 1px; + margin: 0px; + padding: 0px; +} + +.memItemLeft, .memTemplItemLeft { + white-space: nowrap; +} + +.memItemRight { + width: 100%; +} + +.memTemplParams { + color: #4665A2; + white-space: nowrap; + font-size: 80%; +} + +/* @end */ + +/* @group Member Details */ + +/* Styles for detailed member documentation */ + +.memtemplate { + font-size: 80%; + color: #4665A2; + font-weight: normal; + margin-left: 9px; +} + +.memnav { + background-color: #EBEFF6; + border: 1px solid #A3B4D7; + text-align: center; + margin: 2px; + margin-right: 15px; + padding: 2px; +} + +.mempage { + width: 100%; +} + +.memitem { + padding: 0; + margin-bottom: 10px; + margin-right: 5px; + -webkit-transition: box-shadow 0.5s linear; + -moz-transition: box-shadow 0.5s linear; + -ms-transition: box-shadow 0.5s linear; + -o-transition: box-shadow 0.5s linear; + transition: box-shadow 0.5s linear; + display: table !important; + width: 100%; +} + +.memitem.glow { + box-shadow: 0 0 15px cyan; +} + +.memname { + font-weight: bold; + margin-left: 6px; +} + +.memname td { + vertical-align: bottom; +} + +.memproto, dl.reflist dt { + border-top: 1px solid #A8B8D9; + border-left: 1px solid #A8B8D9; + border-right: 1px solid #A8B8D9; + padding: 6px 0px 6px 0px; + color: #253555; + font-weight: bold; + text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); + background-image:url('nav_f.png'); + background-repeat:repeat-x; + background-color: #E2E8F2; + /* opera specific markup */ + box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); + border-top-right-radius: 4px; + border-top-left-radius: 4px; + /* firefox specific markup */ + -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px; + -moz-border-radius-topright: 4px; + -moz-border-radius-topleft: 4px; + /* webkit specific markup */ + -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); + -webkit-border-top-right-radius: 4px; + -webkit-border-top-left-radius: 4px; + +} + +.memdoc, dl.reflist dd { + border-bottom: 1px solid #A8B8D9; + border-left: 1px solid #A8B8D9; + border-right: 1px solid #A8B8D9; + padding: 6px 10px 2px 10px; + background-color: #FBFCFD; + border-top-width: 0; + background-image:url('nav_g.png'); + background-repeat:repeat-x; + background-color: #FFFFFF; + /* opera specific markup */ + border-bottom-left-radius: 4px; + border-bottom-right-radius: 4px; + box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); + /* firefox specific markup */ + -moz-border-radius-bottomleft: 4px; + -moz-border-radius-bottomright: 4px; + -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px; + /* webkit specific markup */ + -webkit-border-bottom-left-radius: 4px; + -webkit-border-bottom-right-radius: 4px; + -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); +} + +dl.reflist dt { + padding: 5px; +} + +dl.reflist dd { + margin: 0px 0px 10px 0px; + padding: 5px; +} + +.paramkey { + text-align: right; +} + +.paramtype { + white-space: nowrap; +} + +.paramname { + color: #602020; + white-space: nowrap; +} +.paramname em { + font-style: normal; +} +.paramname code { + line-height: 14px; +} + +.params, .retval, .exception, .tparams { + margin-left: 0px; + padding-left: 0px; +} + +.params .paramname, .retval .paramname { + font-weight: bold; + vertical-align: top; +} + +.params .paramtype { + font-style: italic; + vertical-align: top; +} + +.params .paramdir { + font-family: "courier new",courier,monospace; + vertical-align: top; +} + +table.mlabels { + border-spacing: 0px; +} + +td.mlabels-left { + width: 100%; + padding: 0px; +} + +td.mlabels-right { + vertical-align: bottom; + padding: 0px; + white-space: nowrap; +} + +span.mlabels { + margin-left: 8px; +} + +span.mlabel { + background-color: #728DC1; + border-top:1px solid #5373B4; + border-left:1px solid #5373B4; + border-right:1px solid #C4CFE5; + border-bottom:1px solid #C4CFE5; + text-shadow: none; + color: white; + margin-right: 4px; + padding: 2px 3px; + border-radius: 3px; + font-size: 7pt; + white-space: nowrap; + vertical-align: middle; +} + + + +/* @end */ + +/* these are for tree view when not used as main index */ + +div.directory { + margin: 10px 0px; + border-top: 1px solid #A8B8D9; + border-bottom: 1px solid #A8B8D9; + width: 100%; +} + +.directory table { + border-collapse:collapse; +} + +.directory td { + margin: 0px; + padding: 0px; + vertical-align: top; +} + +.directory td.entry { + white-space: nowrap; + padding-right: 6px; + padding-top: 3px; +} + +.directory td.entry a { + outline:none; +} + +.directory td.entry a img { + border: none; +} + +.directory td.desc { + width: 100%; + padding-left: 6px; + padding-right: 6px; + padding-top: 3px; + border-left: 1px solid rgba(0,0,0,0.05); +} + +.directory tr.even { + padding-left: 6px; + background-color: #F7F8FB; +} + +.directory img { + vertical-align: -30%; +} + +.directory .levels { + white-space: nowrap; + width: 100%; + text-align: right; + font-size: 9pt; +} + +.directory .levels span { + cursor: pointer; + padding-left: 2px; + padding-right: 2px; + color: #3D578C; +} + +div.dynheader { + margin-top: 8px; + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +address { + font-style: normal; + color: #2A3D61; +} + +table.doxtable { + border-collapse:collapse; + margin-top: 4px; + margin-bottom: 4px; +} + +table.doxtable td, table.doxtable th { + border: 1px solid #2D4068; + padding: 3px 7px 2px; +} + +table.doxtable th { + background-color: #374F7F; + color: #FFFFFF; + font-size: 110%; + padding-bottom: 4px; + padding-top: 5px; +} + +table.fieldtable { + /*width: 100%;*/ + margin-bottom: 10px; + border: 1px solid #A8B8D9; + border-spacing: 0px; + -moz-border-radius: 4px; + -webkit-border-radius: 4px; + border-radius: 4px; + -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px; + -webkit-box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15); + box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15); +} + +.fieldtable td, .fieldtable th { + padding: 3px 7px 2px; +} + +.fieldtable td.fieldtype, .fieldtable td.fieldname { + white-space: nowrap; + border-right: 1px solid #A8B8D9; + border-bottom: 1px solid #A8B8D9; + vertical-align: top; +} + +.fieldtable td.fieldname { + padding-top: 3px; +} + +.fieldtable td.fielddoc { + border-bottom: 1px solid #A8B8D9; + /*width: 100%;*/ +} + +.fieldtable td.fielddoc p:first-child { + margin-top: 0px; +} + +.fieldtable td.fielddoc p:last-child { + margin-bottom: 2px; +} + +.fieldtable tr:last-child td { + border-bottom: none; +} + +.fieldtable th { + background-image:url('nav_f.png'); + background-repeat:repeat-x; + background-color: #E2E8F2; + font-size: 90%; + color: #253555; + padding-bottom: 4px; + padding-top: 5px; + text-align:left; + -moz-border-radius-topleft: 4px; + -moz-border-radius-topright: 4px; + -webkit-border-top-left-radius: 4px; + -webkit-border-top-right-radius: 4px; + border-top-left-radius: 4px; + border-top-right-radius: 4px; + border-bottom: 1px solid #A8B8D9; +} + + +.tabsearch { + top: 0px; + left: 10px; + height: 36px; + background-image: url('tab_b.png'); + z-index: 101; + overflow: hidden; + font-size: 13px; +} + +.navpath ul +{ + font-size: 11px; + background-image:url('tab_b.png'); + background-repeat:repeat-x; + background-position: 0 -5px; + height:30px; + line-height:30px; + color:#8AA0CC; + border:solid 1px #C2CDE4; + overflow:hidden; + margin:0px; + padding:0px; +} + +.navpath li +{ + list-style-type:none; + float:left; + padding-left:10px; + padding-right:15px; + background-image:url('bc_s.png'); + background-repeat:no-repeat; + background-position:right; + color:#364D7C; +} + +.navpath li.navelem a +{ + height:32px; + display:block; + text-decoration: none; + outline: none; + color: #283A5D; + font-family: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif; + text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); + text-decoration: none; +} + +.navpath li.navelem a:hover +{ + color:#6884BD; +} + +.navpath li.footer +{ + list-style-type:none; + float:right; + padding-left:10px; + padding-right:15px; + background-image:none; + background-repeat:no-repeat; + background-position:right; + color:#364D7C; + font-size: 8pt; +} + + +div.summary +{ + float: right; + font-size: 8pt; + padding-right: 5px; + width: 50%; + text-align: right; +} + +div.summary a +{ + white-space: nowrap; +} + +div.ingroups +{ + font-size: 8pt; + width: 50%; + text-align: left; +} + +div.ingroups a +{ + white-space: nowrap; +} + +div.header +{ + background-image:url('nav_h.png'); + background-repeat:repeat-x; + background-color: #F9FAFC; + margin: 0px; + border-bottom: 1px solid #C4CFE5; +} + +div.headertitle +{ + padding: 5px 5px 5px 10px; +} + +dl +{ + padding: 0 0 0 10px; +} + +/* dl.note, dl.warning, dl.attention, dl.pre, dl.post, dl.invariant, dl.deprecated, dl.todo, dl.test, dl.bug */ +dl.section +{ + margin-left: 0px; + padding-left: 0px; +} + +dl.note +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #D0C000; +} + +dl.warning, dl.attention +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #FF0000; +} + +dl.pre, dl.post, dl.invariant +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #00D000; +} + +dl.deprecated +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #505050; +} + +dl.todo +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #00C0E0; +} + +dl.test +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #3030E0; +} + +dl.bug +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #C08050; +} + +dl.section dd { + margin-bottom: 6px; +} + + +#projectlogo +{ + text-align: center; + vertical-align: bottom; + border-collapse: separate; +} + +#projectlogo img +{ + border: 0px none; +} + +#projectname +{ + font: 300% Tahoma, Arial,sans-serif; + margin: 0px; + padding: 2px 0px; +} + +#projectbrief +{ + font: 120% Tahoma, Arial,sans-serif; + margin: 0px; + padding: 0px; +} + +#projectnumber +{ + font: 50% Tahoma, Arial,sans-serif; + margin: 0px; + padding: 0px; +} + +#titlearea +{ + padding: 0px; + margin: 0px; + width: 100%; + border-bottom: 1px solid #5373B4; +} + +.image +{ + text-align: center; +} + +.dotgraph +{ + text-align: center; +} + +.mscgraph +{ + text-align: center; +} + +.diagraph +{ + text-align: center; +} + +.caption +{ + font-weight: bold; +} + +div.zoom +{ + border: 1px solid #90A5CE; +} + +dl.citelist { + margin-bottom:50px; +} + +dl.citelist dt { + color:#334975; + float:left; + font-weight:bold; + margin-right:10px; + padding:5px; +} + +dl.citelist dd { + margin:2px 0; + padding:5px 0; +} + +div.toc { + padding: 14px 25px; + background-color: #F4F6FA; + border: 1px solid #D8DFEE; + border-radius: 7px 7px 7px 7px; + float: right; + height: auto; + margin: 0 20px 10px 10px; + width: 200px; +} + +div.toc li { + background: url("bdwn.png") no-repeat scroll 0 5px transparent; + font: 10px/1.2 Verdana,DejaVu Sans,Geneva,sans-serif; + margin-top: 5px; + padding-left: 10px; + padding-top: 2px; +} + +div.toc h3 { + font: bold 12px/1.2 Arial,FreeSans,sans-serif; + color: #4665A2; + border-bottom: 0 none; + margin: 0; +} + +div.toc ul { + list-style: none outside none; + border: medium none; + padding: 0px; +} + +div.toc li.level1 { + margin-left: 0px; +} + +div.toc li.level2 { + margin-left: 15px; +} + +div.toc li.level3 { + margin-left: 30px; +} + +div.toc li.level4 { + margin-left: 45px; +} + +.inherit_header { + font-weight: bold; + color: gray; + cursor: pointer; + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +.inherit_header td { + padding: 6px 0px 2px 5px; +} + +.inherit { + display: none; +} + +tr.heading h2 { + margin-top: 12px; + margin-bottom: 4px; +} + +/* tooltip related style info */ + +.ttc { + position: absolute; + display: none; +} + +#powerTip { + cursor: default; + white-space: nowrap; + background-color: white; + border: 1px solid gray; + border-radius: 4px 4px 4px 4px; + box-shadow: 1px 1px 7px gray; + display: none; + font-size: smaller; + max-width: 80%; + opacity: 0.9; + padding: 1ex 1em 1em; + position: absolute; + z-index: 2147483647; +} + +#powerTip div.ttdoc { + color: grey; + font-style: italic; +} + +#powerTip div.ttname a { + font-weight: bold; +} + +#powerTip div.ttname { + font-weight: bold; +} + +#powerTip div.ttdeci { + color: #006318; +} + +#powerTip div { + margin: 0px; + padding: 0px; + font: 12px/16px Roboto,sans-serif; +} + +#powerTip:before, #powerTip:after { + content: ""; + position: absolute; + margin: 0px; +} + +#powerTip.n:after, #powerTip.n:before, +#powerTip.s:after, #powerTip.s:before, +#powerTip.w:after, #powerTip.w:before, +#powerTip.e:after, #powerTip.e:before, +#powerTip.ne:after, #powerTip.ne:before, +#powerTip.se:after, #powerTip.se:before, +#powerTip.nw:after, #powerTip.nw:before, +#powerTip.sw:after, #powerTip.sw:before { + border: solid transparent; + content: " "; + height: 0; + width: 0; + position: absolute; +} + +#powerTip.n:after, #powerTip.s:after, +#powerTip.w:after, #powerTip.e:after, +#powerTip.nw:after, #powerTip.ne:after, +#powerTip.sw:after, #powerTip.se:after { + border-color: rgba(255, 255, 255, 0); +} + +#powerTip.n:before, #powerTip.s:before, +#powerTip.w:before, #powerTip.e:before, +#powerTip.nw:before, #powerTip.ne:before, +#powerTip.sw:before, #powerTip.se:before { + border-color: rgba(128, 128, 128, 0); +} + +#powerTip.n:after, #powerTip.n:before, +#powerTip.ne:after, #powerTip.ne:before, +#powerTip.nw:after, #powerTip.nw:before { + top: 100%; +} + +#powerTip.n:after, #powerTip.ne:after, #powerTip.nw:after { + border-top-color: #ffffff; + border-width: 10px; + margin: 0px -10px; +} +#powerTip.n:before { + border-top-color: #808080; + border-width: 11px; + margin: 0px -11px; +} +#powerTip.n:after, #powerTip.n:before { + left: 50%; +} + +#powerTip.nw:after, #powerTip.nw:before { + right: 14px; +} + +#powerTip.ne:after, #powerTip.ne:before { + left: 14px; +} + +#powerTip.s:after, #powerTip.s:before, +#powerTip.se:after, #powerTip.se:before, +#powerTip.sw:after, #powerTip.sw:before { + bottom: 100%; +} + +#powerTip.s:after, #powerTip.se:after, #powerTip.sw:after { + border-bottom-color: #ffffff; + border-width: 10px; + margin: 0px -10px; +} + +#powerTip.s:before, #powerTip.se:before, #powerTip.sw:before { + border-bottom-color: #808080; + border-width: 11px; + margin: 0px -11px; +} + +#powerTip.s:after, #powerTip.s:before { + left: 50%; +} + +#powerTip.sw:after, #powerTip.sw:before { + right: 14px; +} + +#powerTip.se:after, #powerTip.se:before { + left: 14px; +} + +#powerTip.e:after, #powerTip.e:before { + left: 100%; +} +#powerTip.e:after { + border-left-color: #ffffff; + border-width: 10px; + top: 50%; + margin-top: -10px; +} +#powerTip.e:before { + border-left-color: #808080; + border-width: 11px; + top: 50%; + margin-top: -11px; +} + +#powerTip.w:after, #powerTip.w:before { + right: 100%; +} +#powerTip.w:after { + border-right-color: #ffffff; + border-width: 10px; + top: 50%; + margin-top: -10px; +} +#powerTip.w:before { + border-right-color: #808080; + border-width: 11px; + top: 50%; + margin-top: -11px; +} + +@media print +{ + #top { display: none; } + #side-nav { display: none; } + #nav-path { display: none; } + body { overflow:visible; } + h1, h2, h3, h4, h5, h6 { page-break-after: avoid; } + .summary { display: none; } + .memitem { page-break-inside: avoid; } + #doc-content + { + margin-left:0 !important; + height:auto !important; + width:auto !important; + overflow:inherit; + display:inline; + } +} + diff --git a/doc/ref/core/html/doxygen.png b/doc/ref/core/html/doxygen.png new file mode 100644 index 0000000000..3ff17d807f Binary files /dev/null and b/doc/ref/core/html/doxygen.png differ diff --git a/doc/ref/core/html/dynsections.js b/doc/ref/core/html/dynsections.js new file mode 100644 index 0000000000..ed092c7f63 --- /dev/null +++ b/doc/ref/core/html/dynsections.js @@ -0,0 +1,97 @@ +function toggleVisibility(linkObj) +{ + var base = $(linkObj).attr('id'); + var summary = $('#'+base+'-summary'); + var content = $('#'+base+'-content'); + var trigger = $('#'+base+'-trigger'); + var src=$(trigger).attr('src'); + if (content.is(':visible')===true) { + content.hide(); + summary.show(); + $(linkObj).addClass('closed').removeClass('opened'); + $(trigger).attr('src',src.substring(0,src.length-8)+'closed.png'); + } else { + content.show(); + summary.hide(); + $(linkObj).removeClass('closed').addClass('opened'); + $(trigger).attr('src',src.substring(0,src.length-10)+'open.png'); + } + return false; +} + +function updateStripes() +{ + $('table.directory tr'). + removeClass('even').filter(':visible:even').addClass('even'); +} +function toggleLevel(level) +{ + $('table.directory tr').each(function(){ + var l = this.id.split('_').length-1; + var i = $('#img'+this.id.substring(3)); + var a = $('#arr'+this.id.substring(3)); + if (l + + + + + +GRPC Core: File List + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + +
+ + + + +
+ +
+ +
+
+
File List
+
+ + + + + diff --git a/doc/ref/core/html/ftv2blank.png b/doc/ref/core/html/ftv2blank.png new file mode 100644 index 0000000000..63c605bb4c Binary files /dev/null and b/doc/ref/core/html/ftv2blank.png differ diff --git a/doc/ref/core/html/ftv2cl.png b/doc/ref/core/html/ftv2cl.png new file mode 100644 index 0000000000..132f6577bf Binary files /dev/null and b/doc/ref/core/html/ftv2cl.png differ diff --git a/doc/ref/core/html/ftv2doc.png b/doc/ref/core/html/ftv2doc.png new file mode 100644 index 0000000000..17edabff95 Binary files /dev/null and b/doc/ref/core/html/ftv2doc.png differ diff --git a/doc/ref/core/html/ftv2folderclosed.png b/doc/ref/core/html/ftv2folderclosed.png new file mode 100644 index 0000000000..bb8ab35edc Binary files /dev/null and b/doc/ref/core/html/ftv2folderclosed.png differ diff --git a/doc/ref/core/html/ftv2folderopen.png b/doc/ref/core/html/ftv2folderopen.png new file mode 100644 index 0000000000..d6c7f676a3 Binary files /dev/null and b/doc/ref/core/html/ftv2folderopen.png differ diff --git a/doc/ref/core/html/ftv2lastnode.png b/doc/ref/core/html/ftv2lastnode.png new file mode 100644 index 0000000000..63c605bb4c Binary files /dev/null and b/doc/ref/core/html/ftv2lastnode.png differ diff --git a/doc/ref/core/html/ftv2link.png b/doc/ref/core/html/ftv2link.png new file mode 100644 index 0000000000..17edabff95 Binary files /dev/null and b/doc/ref/core/html/ftv2link.png differ diff --git a/doc/ref/core/html/ftv2mlastnode.png b/doc/ref/core/html/ftv2mlastnode.png new file mode 100644 index 0000000000..0b63f6d38c Binary files /dev/null and b/doc/ref/core/html/ftv2mlastnode.png differ diff --git a/doc/ref/core/html/ftv2mnode.png b/doc/ref/core/html/ftv2mnode.png new file mode 100644 index 0000000000..0b63f6d38c Binary files /dev/null and b/doc/ref/core/html/ftv2mnode.png differ diff --git a/doc/ref/core/html/ftv2mo.png b/doc/ref/core/html/ftv2mo.png new file mode 100644 index 0000000000..4bfb80f76e Binary files /dev/null and b/doc/ref/core/html/ftv2mo.png differ diff --git a/doc/ref/core/html/ftv2node.png b/doc/ref/core/html/ftv2node.png new file mode 100644 index 0000000000..63c605bb4c Binary files /dev/null and b/doc/ref/core/html/ftv2node.png differ diff --git a/doc/ref/core/html/ftv2ns.png b/doc/ref/core/html/ftv2ns.png new file mode 100644 index 0000000000..72e3d71c28 Binary files /dev/null and b/doc/ref/core/html/ftv2ns.png differ diff --git a/doc/ref/core/html/ftv2plastnode.png b/doc/ref/core/html/ftv2plastnode.png new file mode 100644 index 0000000000..c6ee22f937 Binary files /dev/null and b/doc/ref/core/html/ftv2plastnode.png differ diff --git a/doc/ref/core/html/ftv2pnode.png b/doc/ref/core/html/ftv2pnode.png new file mode 100644 index 0000000000..c6ee22f937 Binary files /dev/null and b/doc/ref/core/html/ftv2pnode.png differ diff --git a/doc/ref/core/html/ftv2splitbar.png b/doc/ref/core/html/ftv2splitbar.png new file mode 100644 index 0000000000..fe895f2c58 Binary files /dev/null and b/doc/ref/core/html/ftv2splitbar.png differ diff --git a/doc/ref/core/html/ftv2vertline.png b/doc/ref/core/html/ftv2vertline.png new file mode 100644 index 0000000000..63c605bb4c Binary files /dev/null and b/doc/ref/core/html/ftv2vertline.png differ diff --git a/doc/ref/core/html/functions.html b/doc/ref/core/html/functions.html new file mode 100644 index 0000000000..83b3ed7893 --- /dev/null +++ b/doc/ref/core/html/functions.html @@ -0,0 +1,447 @@ + + + + + + +GRPC Core: Data Fields + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+
Here is a list of all struct and union fields with links to the structures/unions they belong to:
+ +

- a -

+ + +

- b -

+ + +

- c -

+ + +

- d -

+ + +

- f -

+ + +

- h -

+ + +

- i -

+ + +

- k -

+ + +

- l -

+ + +

- m -

+ + +

- n -

+ + +

- o -

+ + +

- p -

+ + +

- r -

+ + +

- s -

+ + +

- t -

+ + +

- u -

+ + +

- v -

+ + +

- w -

+
+ + + + diff --git a/doc/ref/core/html/functions_vars.html b/doc/ref/core/html/functions_vars.html new file mode 100644 index 0000000000..f021efa83f --- /dev/null +++ b/doc/ref/core/html/functions_vars.html @@ -0,0 +1,447 @@ + + + + + + +GRPC Core: Data Fields - Variables + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+  + +

- a -

+ + +

- b -

+ + +

- c -

+ + +

- d -

+ + +

- f -

+ + +

- h -

+ + +

- i -

+ + +

- k -

+ + +

- l -

+ + +

- m -

+ + +

- n -

+ + +

- o -

+ + +

- p -

+ + +

- r -

+ + +

- s -

+ + +

- t -

+ + +

- u -

+ + +

- v -

+ + +

- w -

+
+ + + + diff --git a/doc/ref/core/html/globals.html b/doc/ref/core/html/globals.html new file mode 100644 index 0000000000..869df32f64 --- /dev/null +++ b/doc/ref/core/html/globals.html @@ -0,0 +1,157 @@ + + + + + + +GRPC Core: Globals + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+
Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:
+ +

- c -

+
+ + + + diff --git a/doc/ref/core/html/globals_defs.html b/doc/ref/core/html/globals_defs.html new file mode 100644 index 0000000000..8614f5754d --- /dev/null +++ b/doc/ref/core/html/globals_defs.html @@ -0,0 +1,344 @@ + + + + + + +GRPC Core: Globals + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+  + +

- g -

+
+ + + + diff --git a/doc/ref/core/html/globals_enum.html b/doc/ref/core/html/globals_enum.html new file mode 100644 index 0000000000..c87ad73952 --- /dev/null +++ b/doc/ref/core/html/globals_enum.html @@ -0,0 +1,140 @@ + + + + + + +GRPC Core: Globals + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + +
+ + + + +
+ +
+ +
+
+ + + + diff --git a/doc/ref/core/html/globals_eval.html b/doc/ref/core/html/globals_eval.html new file mode 100644 index 0000000000..a16beabef9 --- /dev/null +++ b/doc/ref/core/html/globals_eval.html @@ -0,0 +1,326 @@ + + + + + + +GRPC Core: Globals + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+  + +

- c -

+ + +

- g -

    +
  • GPR_CLOCK_MONOTONIC +: time.h +
  • +
  • GPR_CLOCK_REALTIME +: time.h +
  • +
  • GPR_LOG_SEVERITY_DEBUG +: log.h +
  • +
  • GPR_LOG_SEVERITY_ERROR +: log.h +
  • +
  • GPR_LOG_SEVERITY_INFO +: log.h +
  • +
  • GPR_TIMESPAN +: time.h +
  • +
  • GRPC_ARG_INTEGER +: grpc.h +
  • +
  • GRPC_ARG_POINTER +: grpc.h +
  • +
  • GRPC_ARG_STRING +: grpc.h +
  • +
  • GRPC_BB_RAW +: byte_buffer.h +
  • +
  • GRPC_CALL_ERROR +: grpc.h +
  • +
  • GRPC_CALL_ERROR_ALREADY_ACCEPTED +: grpc.h +
  • +
  • GRPC_CALL_ERROR_ALREADY_FINISHED +: grpc.h +
  • +
  • GRPC_CALL_ERROR_ALREADY_INVOKED +: grpc.h +
  • +
  • GRPC_CALL_ERROR_INVALID_FLAGS +: grpc.h +
  • +
  • GRPC_CALL_ERROR_INVALID_METADATA +: grpc.h +
  • +
  • GRPC_CALL_ERROR_NOT_INVOKED +: grpc.h +
  • +
  • GRPC_CALL_ERROR_NOT_ON_CLIENT +: grpc.h +
  • +
  • GRPC_CALL_ERROR_NOT_ON_SERVER +: grpc.h +
  • +
  • GRPC_CALL_ERROR_NOT_SERVER_COMPLETION_QUEUE +: grpc.h +
  • +
  • GRPC_CALL_ERROR_TOO_MANY_OPERATIONS +: grpc.h +
  • +
  • GRPC_CALL_OK +: grpc.h +
  • +
  • GRPC_CHANNEL_CONNECTING +: grpc.h +
  • +
  • GRPC_CHANNEL_FATAL_FAILURE +: grpc.h +
  • +
  • GRPC_CHANNEL_IDLE +: grpc.h +
  • +
  • GRPC_CHANNEL_READY +: grpc.h +
  • +
  • GRPC_CHANNEL_TRANSIENT_FAILURE +: grpc.h +
  • +
  • GRPC_COMPRESS_ALGORITHMS_COUNT +: compression.h +
  • +
  • GRPC_COMPRESS_DEFLATE +: compression.h +
  • +
  • GRPC_COMPRESS_GZIP +: compression.h +
  • +
  • GRPC_COMPRESS_LEVEL_COUNT +: compression.h +
  • +
  • GRPC_COMPRESS_LEVEL_HIGH +: compression.h +
  • +
  • GRPC_COMPRESS_LEVEL_LOW +: compression.h +
  • +
  • GRPC_COMPRESS_LEVEL_MED +: compression.h +
  • +
  • GRPC_COMPRESS_LEVEL_NONE +: compression.h +
  • +
  • GRPC_COMPRESS_NONE +: compression.h +
  • +
  • GRPC_OP_COMPLETE +: grpc.h +
  • +
  • GRPC_OP_RECV_CLOSE_ON_SERVER +: grpc.h +
  • +
  • GRPC_OP_RECV_INITIAL_METADATA +: grpc.h +
  • +
  • GRPC_OP_RECV_MESSAGE +: grpc.h +
  • +
  • GRPC_OP_RECV_STATUS_ON_CLIENT +: grpc.h +
  • +
  • GRPC_OP_SEND_CLOSE_FROM_CLIENT +: grpc.h +
  • +
  • GRPC_OP_SEND_INITIAL_METADATA +: grpc.h +
  • +
  • GRPC_OP_SEND_MESSAGE +: grpc.h +
  • +
  • GRPC_OP_SEND_STATUS_FROM_SERVER +: grpc.h +
  • +
  • GRPC_QUEUE_SHUTDOWN +: grpc.h +
  • +
  • GRPC_QUEUE_TIMEOUT +: grpc.h +
  • +
  • GRPC_STATUS__DO_NOT_USE +: status.h +
  • +
  • GRPC_STATUS_ABORTED +: status.h +
  • +
  • GRPC_STATUS_ALREADY_EXISTS +: status.h +
  • +
  • GRPC_STATUS_CANCELLED +: status.h +
  • +
  • GRPC_STATUS_DATA_LOSS +: status.h +
  • +
  • GRPC_STATUS_DEADLINE_EXCEEDED +: status.h +
  • +
  • GRPC_STATUS_FAILED_PRECONDITION +: status.h +
  • +
  • GRPC_STATUS_INTERNAL +: status.h +
  • +
  • GRPC_STATUS_INVALID_ARGUMENT +: status.h +
  • +
  • GRPC_STATUS_NOT_FOUND +: status.h +
  • +
  • GRPC_STATUS_OK +: status.h +
  • +
  • GRPC_STATUS_OUT_OF_RANGE +: status.h +
  • +
  • GRPC_STATUS_PERMISSION_DENIED +: status.h +
  • +
  • GRPC_STATUS_RESOURCE_EXHAUSTED +: status.h +
  • +
  • GRPC_STATUS_UNAUTHENTICATED +: status.h +
  • +
  • GRPC_STATUS_UNAVAILABLE +: status.h +
  • +
  • GRPC_STATUS_UNIMPLEMENTED +: status.h +
  • +
  • GRPC_STATUS_UNKNOWN +: status.h +
  • +
+
+ + + + diff --git a/doc/ref/core/html/globals_func.html b/doc/ref/core/html/globals_func.html new file mode 100644 index 0000000000..ef19c7738c --- /dev/null +++ b/doc/ref/core/html/globals_func.html @@ -0,0 +1,136 @@ + + + + + + +GRPC Core: Globals + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+  + +

- c -

+
+ + + + diff --git a/doc/ref/core/html/globals_func_g.html b/doc/ref/core/html/globals_func_g.html new file mode 100644 index 0000000000..2e6f0416df --- /dev/null +++ b/doc/ref/core/html/globals_func_g.html @@ -0,0 +1,715 @@ + + + + + + +GRPC Core: Globals + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+  + +

- g -

+
+ + + + diff --git a/doc/ref/core/html/globals_g.html b/doc/ref/core/html/globals_g.html new file mode 100644 index 0000000000..8fb98a001c --- /dev/null +++ b/doc/ref/core/html/globals_g.html @@ -0,0 +1,1292 @@ + + + + + + +GRPC Core: Globals + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+
Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:
+ +

- g -

+
+ + + + diff --git a/doc/ref/core/html/globals_type.html b/doc/ref/core/html/globals_type.html new file mode 100644 index 0000000000..92dc76fdfe --- /dev/null +++ b/doc/ref/core/html/globals_type.html @@ -0,0 +1,243 @@ + + + + + + +GRPC Core: Globals + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + +
+ + + + +
+ +
+ +
+  + +

- c -

+ + +

- g -

+
+ + + + diff --git a/doc/ref/core/html/globals_vars.html b/doc/ref/core/html/globals_vars.html new file mode 100644 index 0000000000..f7d81c0cd6 --- /dev/null +++ b/doc/ref/core/html/globals_vars.html @@ -0,0 +1,107 @@ + + + + + + +GRPC Core: Globals + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + +
+ + + + +
+ +
+ +
+
+ + + + diff --git a/doc/ref/core/html/graph_legend.html b/doc/ref/core/html/graph_legend.html new file mode 100644 index 0000000000..a480ca1f25 --- /dev/null +++ b/doc/ref/core/html/graph_legend.html @@ -0,0 +1,153 @@ + + + + + + +GRPC Core: Graph Legend + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + +
+ + + + +
+ +
+ +
+
+
Graph Legend
+
+
+

This page explains how to interpret the graphs that are generated by doxygen.

+

Consider the following example:

+
/*! Invisible class because of truncation */
+
class Invisible { };
+
+
/*! Truncated class, inheritance relation is hidden */
+
class Truncated : public Invisible { };
+
+
/* Class not documented with doxygen comments */
+
class Undocumented { };
+
+
/*! Class that is inherited using public inheritance */
+
class PublicBase : public Truncated { };
+
+
/*! A template class */
+
template<class T> class Templ { };
+
+
/*! Class that is inherited using protected inheritance */
+
class ProtectedBase { };
+
+
/*! Class that is inherited using private inheritance */
+
class PrivateBase { };
+
+
/*! Class that is used by the Inherited class */
+
class Used { };
+
+
/*! Super class that inherits a number of other classes */
+
class Inherited : public PublicBase,
+
protected ProtectedBase,
+
private PrivateBase,
+
public Undocumented,
+
public Templ<int>
+
{
+
private:
+
Used *m_usedClass;
+
};
+

This will result in the following graph:

+
+ +
+

The boxes in the above graph have the following meaning:

+
    +
  • +A filled gray box represents the struct or class for which the graph is generated.
  • +
  • +A box with a black border denotes a documented struct or class.
  • +
  • +A box with a grey border denotes an undocumented struct or class.
  • +
  • +A box with a red border denotes a documented struct or class forwhich not all inheritance/containment relations are shown. A graph is truncated if it does not fit within the specified boundaries.
  • +
+

The arrows have the following meaning:

+
    +
  • +A dark blue arrow is used to visualize a public inheritance relation between two classes.
  • +
  • +A dark green arrow is used for protected inheritance.
  • +
  • +A dark red arrow is used for private inheritance.
  • +
  • +A purple dashed arrow is used if a class is contained or used by another class. The arrow is labeled with the variable(s) through which the pointed class or struct is accessible.
  • +
  • +A yellow dashed arrow denotes a relation between a template instance and the template class it was instantiated from. The arrow is labeled with the template parameters of the instance.
  • +
+
+ + + + diff --git a/doc/ref/core/html/graph_legend.md5 b/doc/ref/core/html/graph_legend.md5 new file mode 100644 index 0000000000..a06ed050cb --- /dev/null +++ b/doc/ref/core/html/graph_legend.md5 @@ -0,0 +1 @@ +387ff8eb65306fa251338d3c9bd7bfff \ No newline at end of file diff --git a/doc/ref/core/html/graph_legend.png b/doc/ref/core/html/graph_legend.png new file mode 100644 index 0000000000..6c1d0c239c Binary files /dev/null and b/doc/ref/core/html/graph_legend.png differ diff --git a/doc/ref/core/html/grpc_8h.html b/doc/ref/core/html/grpc_8h.html new file mode 100644 index 0000000000..ddc5f6afb4 --- /dev/null +++ b/doc/ref/core/html/grpc_8h.html @@ -0,0 +1,1877 @@ + + + + + + +GRPC Core: include/grpc/grpc.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc.h File Reference
+
+
+
#include <grpc/status.h>
+#include <stddef.h>
+#include <grpc/byte_buffer.h>
+#include <grpc/support/slice.h>
+#include <grpc/support/time.h>
+
+

Go to the source code of this file.

+ + + + + + + + + + + + + + + + + + + + + +

+Data Structures

struct  grpc_arg
 A single argument... More...
 
struct  grpc_channel_args
 An array of arguments that can be passed around. More...
 
struct  grpc_metadata
 A single metadata element. More...
 
struct  grpc_event
 The result of an operation. More...
 
struct  grpc_metadata_array
 
struct  grpc_call_details
 
struct  grpc_op
 Operation data: one field for each op type (except SEND_CLOSE_FROM_CLIENT which has no arguments) More...
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Macros

#define GRPC_ARG_ENABLE_CENSUS   "grpc.census"
 Enable census for tracing and stats collection. More...
 
#define GRPC_ARG_MAX_CONCURRENT_STREAMS   "grpc.max_concurrent_streams"
 Maximum number of concurrent incoming streams to allow on a http2 connection. More...
 
#define GRPC_ARG_MAX_MESSAGE_LENGTH   "grpc.max_message_length"
 Maximum message length that the channel can receive. More...
 
#define GRPC_ARG_HTTP2_INITIAL_SEQUENCE_NUMBER   "grpc.http2.initial_sequence_number"
 Initial sequence number for http2 transports. More...
 
#define GRPC_ARG_DEFAULT_AUTHORITY   "grpc.default_authority"
 Default authority to pass if none specified on call construction. More...
 
#define GRPC_ARG_PRIMARY_USER_AGENT_STRING   "grpc.primary_user_agent"
 Primary user agent: goes at the start of the user-agent metadata sent on each request. More...
 
#define GRPC_ARG_SECONDARY_USER_AGENT_STRING   "grpc.secondary_user_agent"
 Secondary user agent: goes at the end of the user-agent metadata sent on each request. More...
 
#define GRPC_WRITE_BUFFER_HINT   (0x00000001u)
 Hint that the write may be buffered and need not go out on the wire immediately. More...
 
#define GRPC_WRITE_NO_COMPRESS   (0x00000002u)
 Force compression to be disabled for a particular write (start_write/add_metadata). More...
 
#define GRPC_WRITE_USED_MASK   (GRPC_WRITE_BUFFER_HINT | GRPC_WRITE_NO_COMPRESS)
 Mask of all valid flags. More...
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Typedefs

typedef struct
+grpc_completion_queue 
grpc_completion_queue
 Completion Queues enable notification of the completion of asynchronous actions. More...
 
typedef struct grpc_channel grpc_channel
 The Channel interface allows creation of Call objects. More...
 
typedef struct grpc_server grpc_server
 A server listens to some port and responds to request calls. More...
 
typedef struct grpc_call grpc_call
 A Call represents an RPC. More...
 
typedef enum grpc_call_error grpc_call_error
 Result of a grpc call. More...
 
typedef struct grpc_metadata grpc_metadata
 A single metadata element. More...
 
typedef enum grpc_completion_type grpc_completion_type
 The type of completion (for grpc_event) More...
 
typedef struct grpc_event grpc_event
 The result of an operation. More...
 
typedef struct grpc_op grpc_op
 Operation data: one field for each op type (except SEND_CLOSE_FROM_CLIENT which has no arguments) More...
 
+ + + + + + + + + + + + + + + +

+Enumerations

enum  grpc_arg_type { GRPC_ARG_STRING, +GRPC_ARG_INTEGER, +GRPC_ARG_POINTER + }
 Type specifier for grpc_arg. More...
 
enum  grpc_connectivity_state {
+  GRPC_CHANNEL_IDLE, +GRPC_CHANNEL_CONNECTING, +GRPC_CHANNEL_READY, +GRPC_CHANNEL_TRANSIENT_FAILURE, +
+  GRPC_CHANNEL_FATAL_FAILURE +
+ }
 Connectivity state of a channel. More...
 
enum  grpc_call_error {
+  GRPC_CALL_OK = 0, +GRPC_CALL_ERROR, +GRPC_CALL_ERROR_NOT_ON_SERVER, +GRPC_CALL_ERROR_NOT_ON_CLIENT, +
+  GRPC_CALL_ERROR_ALREADY_ACCEPTED, +GRPC_CALL_ERROR_ALREADY_INVOKED, +GRPC_CALL_ERROR_NOT_INVOKED, +GRPC_CALL_ERROR_ALREADY_FINISHED, +
+  GRPC_CALL_ERROR_TOO_MANY_OPERATIONS, +GRPC_CALL_ERROR_INVALID_FLAGS, +GRPC_CALL_ERROR_INVALID_METADATA, +GRPC_CALL_ERROR_NOT_SERVER_COMPLETION_QUEUE +
+ }
 Result of a grpc call. More...
 
enum  grpc_completion_type { GRPC_QUEUE_SHUTDOWN, +GRPC_QUEUE_TIMEOUT, +GRPC_OP_COMPLETE + }
 The type of completion (for grpc_event) More...
 
enum  grpc_op_type {
+  GRPC_OP_SEND_INITIAL_METADATA = 0, +GRPC_OP_SEND_MESSAGE, +GRPC_OP_SEND_CLOSE_FROM_CLIENT, +GRPC_OP_SEND_STATUS_FROM_SERVER, +
+  GRPC_OP_RECV_INITIAL_METADATA, +GRPC_OP_RECV_MESSAGE, +GRPC_OP_RECV_STATUS_ON_CLIENT, +GRPC_OP_RECV_CLOSE_ON_SERVER +
+ }
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

void grpc_metadata_array_init (grpc_metadata_array *array)
 
void grpc_metadata_array_destroy (grpc_metadata_array *array)
 
void grpc_call_details_init (grpc_call_details *details)
 
void grpc_call_details_destroy (grpc_call_details *details)
 
void grpc_init (void)
 Initialize the grpc library. More...
 
void grpc_shutdown (void)
 Shut down the grpc library. More...
 
const char * grpc_version_string (void)
 Return a string representing the current version of grpc. More...
 
grpc_completion_queuegrpc_completion_queue_create (void)
 Create a completion queue. More...
 
grpc_event grpc_completion_queue_next (grpc_completion_queue *cq, gpr_timespec deadline)
 Blocks until an event is available, the completion queue is being shut down, or deadline is reached. More...
 
grpc_event grpc_completion_queue_pluck (grpc_completion_queue *cq, void *tag, gpr_timespec deadline)
 Blocks until an event with tag 'tag' is available, the completion queue is being shutdown or deadline is reached. More...
 
void grpc_completion_queue_shutdown (grpc_completion_queue *cq)
 Begin destruction of a completion queue. More...
 
void grpc_completion_queue_destroy (grpc_completion_queue *cq)
 Destroy a completion queue. More...
 
grpc_connectivity_state grpc_channel_check_connectivity_state (grpc_channel *channel, int try_to_connect)
 Check the connectivity state of a channel. More...
 
void grpc_channel_watch_connectivity_state (grpc_channel *channel, grpc_connectivity_state last_observed_state, gpr_timespec deadline, grpc_completion_queue *cq, void *tag)
 Watch for a change in connectivity state. More...
 
grpc_callgrpc_channel_create_call (grpc_channel *channel, grpc_completion_queue *completion_queue, const char *method, const char *host, gpr_timespec deadline)
 Create a call given a grpc_channel, in order to call 'method'. More...
 
void * grpc_channel_register_call (grpc_channel *channel, const char *method, const char *host)
 Pre-register a method/host pair on a channel. More...
 
grpc_callgrpc_channel_create_registered_call (grpc_channel *channel, grpc_completion_queue *completion_queue, void *registered_call_handle, gpr_timespec deadline)
 Create a call given a handle returned from grpc_channel_register_call. More...
 
grpc_call_error grpc_call_start_batch (grpc_call *call, const grpc_op *ops, size_t nops, void *tag)
 Start a batch of operations defined in the array ops; when complete, post a completion of type 'tag' to the completion queue bound to the call. More...
 
char * grpc_call_get_peer (grpc_call *call)
 Returns a newly allocated string representing the endpoint to which this call is communicating with. More...
 
void grpc_census_call_set_context (grpc_call *call, struct census_context *context)
 
struct census_contextgrpc_census_call_get_context (grpc_call *call)
 
char * grpc_channel_get_target (grpc_channel *channel)
 Return a newly allocated string representing the target a channel was created for. More...
 
grpc_channelgrpc_insecure_channel_create (const char *target, const grpc_channel_args *args)
 Create a client channel to 'target'. More...
 
grpc_channelgrpc_lame_client_channel_create (const char *target)
 Create a lame client: this client fails every operation attempted on it. More...
 
void grpc_channel_destroy (grpc_channel *channel)
 Close and destroy a grpc channel. More...
 
grpc_call_error grpc_call_cancel (grpc_call *call)
 Called by clients to cancel an RPC on the server. More...
 
grpc_call_error grpc_call_cancel_with_status (grpc_call *call, grpc_status_code status, const char *description)
 Called by clients to cancel an RPC on the server. More...
 
void grpc_call_destroy (grpc_call *call)
 Destroy a call. More...
 
grpc_call_error grpc_server_request_call (grpc_server *server, grpc_call **call, grpc_call_details *details, grpc_metadata_array *request_metadata, grpc_completion_queue *cq_bound_to_call, grpc_completion_queue *cq_for_notification, void *tag_new)
 Request notification of a new call. More...
 
void * grpc_server_register_method (grpc_server *server, const char *method, const char *host)
 Registers a method in the server. More...
 
grpc_call_error grpc_server_request_registered_call (grpc_server *server, void *registered_method, grpc_call **call, gpr_timespec *deadline, grpc_metadata_array *request_metadata, grpc_byte_buffer **optional_payload, grpc_completion_queue *cq_bound_to_call, grpc_completion_queue *cq_for_notification, void *tag_new)
 Request notification of a new pre-registered call. More...
 
grpc_servergrpc_server_create (const grpc_channel_args *args)
 Create a server. More...
 
void grpc_server_register_completion_queue (grpc_server *server, grpc_completion_queue *cq)
 Register a completion queue with the server. More...
 
int grpc_server_add_http2_port (grpc_server *server, const char *addr)
 Add a HTTP2 over plaintext over tcp listener. More...
 
void grpc_server_start (grpc_server *server)
 Start a server - tells all listeners to start listening. More...
 
void grpc_server_shutdown_and_notify (grpc_server *server, grpc_completion_queue *cq, void *tag)
 Begin shutting down a server. More...
 
void grpc_server_cancel_all_calls (grpc_server *server)
 Cancel all in-progress calls. More...
 
void grpc_server_destroy (grpc_server *server)
 Destroy a server. More...
 
int grpc_tracer_set_enabled (const char *name, int enabled)
 Enable or disable a tracer. More...
 
+

Macro Definition Documentation

+ +
+
+ + + + +
#define GRPC_ARG_DEFAULT_AUTHORITY   "grpc.default_authority"
+
+ +

Default authority to pass if none specified on call construction.

+ +
+
+ +
+
+ + + + +
#define GRPC_ARG_ENABLE_CENSUS   "grpc.census"
+
+ +

Enable census for tracing and stats collection.

+ +
+
+ +
+
+ + + + +
#define GRPC_ARG_HTTP2_INITIAL_SEQUENCE_NUMBER   "grpc.http2.initial_sequence_number"
+
+ +

Initial sequence number for http2 transports.

+ +
+
+ +
+
+ + + + +
#define GRPC_ARG_MAX_CONCURRENT_STREAMS   "grpc.max_concurrent_streams"
+
+ +

Maximum number of concurrent incoming streams to allow on a http2 connection.

+ +
+
+ +
+
+ + + + +
#define GRPC_ARG_MAX_MESSAGE_LENGTH   "grpc.max_message_length"
+
+ +

Maximum message length that the channel can receive.

+ +
+
+ +
+
+ + + + +
#define GRPC_ARG_PRIMARY_USER_AGENT_STRING   "grpc.primary_user_agent"
+
+ +

Primary user agent: goes at the start of the user-agent metadata sent on each request.

+ +
+
+ +
+
+ + + + +
#define GRPC_ARG_SECONDARY_USER_AGENT_STRING   "grpc.secondary_user_agent"
+
+ +

Secondary user agent: goes at the end of the user-agent metadata sent on each request.

+ +
+
+ +
+
+ + + + +
#define GRPC_WRITE_BUFFER_HINT   (0x00000001u)
+
+ +

Hint that the write may be buffered and need not go out on the wire immediately.

+

GRPC is free to buffer the message until the next non-buffered write, or until writes_done, but it need not buffer completely or at all.

+ +
+
+ +
+
+ + + + +
#define GRPC_WRITE_NO_COMPRESS   (0x00000002u)
+
+ +

Force compression to be disabled for a particular write (start_write/add_metadata).

+

Illegal on invoke/accept.

+ +
+
+ +
+
+ + + + +
#define GRPC_WRITE_USED_MASK   (GRPC_WRITE_BUFFER_HINT | GRPC_WRITE_NO_COMPRESS)
+
+ +

Mask of all valid flags.

+ +
+
+

Typedef Documentation

+ +
+
+ + + + +
typedef struct grpc_call grpc_call
+
+ +

A Call represents an RPC.

+

When created, it is in a configuration state allowing properties to be set until it is invoked. After invoke, the Call can have messages written to it and read from it.

+ +
+
+ +
+
+ + + + +
typedef enum grpc_call_error grpc_call_error
+
+ +

Result of a grpc call.

+

If the caller satisfies the prerequisites of a particular operation, the grpc_call_error returned will be GRPC_CALL_OK. Receiving any other value listed here is an indication of a bug in the caller.

+ +
+
+ +
+
+ + + + +
typedef struct grpc_channel grpc_channel
+
+ +

The Channel interface allows creation of Call objects.

+ +
+
+ +
+
+ + + + +
typedef struct grpc_completion_queue grpc_completion_queue
+
+ +

Completion Queues enable notification of the completion of asynchronous actions.

+ +
+
+ +
+
+ + + + +
typedef enum grpc_completion_type grpc_completion_type
+
+ +

The type of completion (for grpc_event)

+ +
+
+ +
+
+ + + + +
typedef struct grpc_event grpc_event
+
+ +

The result of an operation.

+

Returned by a completion queue when the operation started with tag.

+ +
+
+ +
+
+ + + + +
typedef struct grpc_metadata grpc_metadata
+
+ +

A single metadata element.

+ +
+
+ +
+
+ + + + +
typedef struct grpc_op grpc_op
+
+ +

Operation data: one field for each op type (except SEND_CLOSE_FROM_CLIENT which has no arguments)

+ +
+
+ +
+
+ + + + +
typedef struct grpc_server grpc_server
+
+ +

A server listens to some port and responds to request calls.

+ +
+
+

Enumeration Type Documentation

+ +
+
+ + + + +
enum grpc_arg_type
+
+ +

Type specifier for grpc_arg.

+ + + + +
Enumerator
GRPC_ARG_STRING  +
GRPC_ARG_INTEGER  +
GRPC_ARG_POINTER  +
+ +
+
+ +
+
+ + + + +
enum grpc_call_error
+
+ +

Result of a grpc call.

+

If the caller satisfies the prerequisites of a particular operation, the grpc_call_error returned will be GRPC_CALL_OK. Receiving any other value listed here is an indication of a bug in the caller.

+ + + + + + + + + + + + + +
Enumerator
GRPC_CALL_OK  +

everything went ok

+
GRPC_CALL_ERROR  +

something failed, we don't know what

+
GRPC_CALL_ERROR_NOT_ON_SERVER  +

this method is not available on the server

+
GRPC_CALL_ERROR_NOT_ON_CLIENT  +

this method is not available on the client

+
GRPC_CALL_ERROR_ALREADY_ACCEPTED  +

this method must be called before server_accept

+
GRPC_CALL_ERROR_ALREADY_INVOKED  +

this method must be called before invoke

+
GRPC_CALL_ERROR_NOT_INVOKED  +

this method must be called after invoke

+
GRPC_CALL_ERROR_ALREADY_FINISHED  +

this call is already finished (writes_done or write_status has already been called)

+
GRPC_CALL_ERROR_TOO_MANY_OPERATIONS  +

there is already an outstanding read/write operation on the call

+
GRPC_CALL_ERROR_INVALID_FLAGS  +

the flags value was illegal for this call

+
GRPC_CALL_ERROR_INVALID_METADATA  +

invalid metadata was passed to this call

+
GRPC_CALL_ERROR_NOT_SERVER_COMPLETION_QUEUE  +

completion queue for notification has not been registered with the server

+
+ +
+
+ +
+
+ + + + +
enum grpc_completion_type
+
+ +

The type of completion (for grpc_event)

+ + + + +
Enumerator
GRPC_QUEUE_SHUTDOWN  +

Shutting down.

+
GRPC_QUEUE_TIMEOUT  +

No event before timeout.

+
GRPC_OP_COMPLETE  +

Operation completion.

+
+ +
+
+ +
+
+ + + + +
enum grpc_connectivity_state
+
+ +

Connectivity state of a channel.

+ + + + + + +
Enumerator
GRPC_CHANNEL_IDLE  +

channel is idle

+
GRPC_CHANNEL_CONNECTING  +

channel is connecting

+
GRPC_CHANNEL_READY  +

channel is ready for work

+
GRPC_CHANNEL_TRANSIENT_FAILURE  +

channel has seen a failure but expects to recover

+
GRPC_CHANNEL_FATAL_FAILURE  +

channel has seen a failure that it cannot recover from

+
+ +
+
+ +
+
+ + + + +
enum grpc_op_type
+
+ + + + + + + + + +
Enumerator
GRPC_OP_SEND_INITIAL_METADATA  +

Send initial metadata: one and only one instance MUST be sent for each call, unless the call was cancelled - in which case this can be skipped.

+
GRPC_OP_SEND_MESSAGE  +

Send a message: 0 or more of these operations can occur for each call.

+
GRPC_OP_SEND_CLOSE_FROM_CLIENT  +

Send a close from the client: one and only one instance MUST be sent from the client, unless the call was cancelled - in which case this can be skipped.

+
GRPC_OP_SEND_STATUS_FROM_SERVER  +

Send status from the server: one and only one instance MUST be sent from the server unless the call was cancelled - in which case this can be skipped.

+
GRPC_OP_RECV_INITIAL_METADATA  +

Receive initial metadata: one and only one MUST be made on the client, must not be made on the server.

+
GRPC_OP_RECV_MESSAGE  +

Receive a message: 0 or more of these operations can occur for each call.

+
GRPC_OP_RECV_STATUS_ON_CLIENT  +

Receive status on the client: one and only one must be made on the client.

+

This operation always succeeds, meaning ops paired with this operation will also appear to succeed, even though they may not have. In that case the status will indicate some failure.

+
GRPC_OP_RECV_CLOSE_ON_SERVER  +

Receive close on the server: one and only one must be made on the server.

+
+ +
+
+

Function Documentation

+ +
+
+ + + + + + + + +
grpc_call_error grpc_call_cancel (grpc_callcall)
+
+ +

Called by clients to cancel an RPC on the server.

+

Can be called multiple times, from any thread. THREAD-SAFETY grpc_call_cancel and grpc_call_cancel_with_status are thread-safe, and can be called at any point before grpc_call_destroy is called.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
grpc_call_error grpc_call_cancel_with_status (grpc_callcall,
grpc_status_code status,
const char * description 
)
+
+ +

Called by clients to cancel an RPC on the server.

+

Can be called multiple times, from any thread. If a status has not been received for the call, set it to the status code and description passed in. Importantly, this function does not send status nor description to the remote endpoint.

+ +
+
+ +
+
+ + + + + + + + +
void grpc_call_destroy (grpc_callcall)
+
+ +

Destroy a call.

+

THREAD SAFETY: grpc_call_destroy is thread-compatible

+ +
+
+ +
+
+ + + + + + + + +
void grpc_call_details_destroy (grpc_call_detailsdetails)
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_call_details_init (grpc_call_detailsdetails)
+
+ +
+
+ +
+
+ + + + + + + + +
char* grpc_call_get_peer (grpc_callcall)
+
+ +

Returns a newly allocated string representing the endpoint to which this call is communicating with.

+

The string is in the uri format accepted by grpc_channel_create. The returned string should be disposed of with gpr_free().

+

WARNING: this value is never authenticated or subject to any security related code. It must not be used for any authentication related functionality. Instead, use grpc_auth_context.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
grpc_call_error grpc_call_start_batch (grpc_callcall,
const grpc_opops,
size_t nops,
void * tag 
)
+
+ +

Start a batch of operations defined in the array ops; when complete, post a completion of type 'tag' to the completion queue bound to the call.

+

The order of ops specified in the batch has no significance. Only one operation of each type can be active at once in any given batch. You must call grpc_completion_queue_next or grpc_completion_queue_pluck on the completion queue associated with 'call' for work to be performed. THREAD SAFETY: access to grpc_call_start_batch in multi-threaded environment needs to be synchronized. As an optimization, you may synchronize batches containing just send operations independently from batches containing just receive operations.

+ +
+
+ +
+
+ + + + + + + + +
struct census_context* grpc_census_call_get_context (grpc_callcall)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void grpc_census_call_set_context (grpc_callcall,
struct census_contextcontext 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
grpc_connectivity_state grpc_channel_check_connectivity_state (grpc_channelchannel,
int try_to_connect 
)
+
+ +

Check the connectivity state of a channel.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
grpc_call* grpc_channel_create_call (grpc_channelchannel,
grpc_completion_queuecompletion_queue,
const char * method,
const char * host,
gpr_timespec deadline 
)
+
+ +

Create a call given a grpc_channel, in order to call 'method'.

+

All completions are sent to 'completion_queue'. 'method' and 'host' need only live through the invocation of this function.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
grpc_call* grpc_channel_create_registered_call (grpc_channelchannel,
grpc_completion_queuecompletion_queue,
void * registered_call_handle,
gpr_timespec deadline 
)
+
+ +

Create a call given a handle returned from grpc_channel_register_call.

+ +
+
+ +
+
+ + + + + + + + +
void grpc_channel_destroy (grpc_channelchannel)
+
+ +

Close and destroy a grpc channel.

+ +
+
+ +
+
+ + + + + + + + +
char* grpc_channel_get_target (grpc_channelchannel)
+
+ +

Return a newly allocated string representing the target a channel was created for.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void* grpc_channel_register_call (grpc_channelchannel,
const char * method,
const char * host 
)
+
+ +

Pre-register a method/host pair on a channel.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void grpc_channel_watch_connectivity_state (grpc_channelchannel,
grpc_connectivity_state last_observed_state,
gpr_timespec deadline,
grpc_completion_queuecq,
void * tag 
)
+
+ +

Watch for a change in connectivity state.

+

Once the channel connectivity state is different from last_observed_state, tag will be enqueued on cq with success=1. If deadline expires BEFORE the state is changed, tag will be enqueued on cq with success=0.

+ +
+
+ +
+
+ + + + + + + + +
grpc_completion_queue* grpc_completion_queue_create (void )
+
+ +

Create a completion queue.

+ +
+
+ +
+
+ + + + + + + + +
void grpc_completion_queue_destroy (grpc_completion_queuecq)
+
+ +

Destroy a completion queue.

+

The caller must ensure that the queue is drained and no threads are executing grpc_completion_queue_next

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
grpc_event grpc_completion_queue_next (grpc_completion_queuecq,
gpr_timespec deadline 
)
+
+ +

Blocks until an event is available, the completion queue is being shut down, or deadline is reached.

+

Returns a grpc_event with type GRPC_QUEUE_TIMEOUT on timeout, otherwise a grpc_event describing the event that occurred.

+

Callers must not call grpc_completion_queue_next and grpc_completion_queue_pluck simultaneously on the same completion queue.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
grpc_event grpc_completion_queue_pluck (grpc_completion_queuecq,
void * tag,
gpr_timespec deadline 
)
+
+ +

Blocks until an event with tag 'tag' is available, the completion queue is being shutdown or deadline is reached.

+

Returns a grpc_event with type GRPC_QUEUE_TIMEOUT on timeout, otherwise a grpc_event describing the event that occurred.

+

Callers must not call grpc_completion_queue_next and grpc_completion_queue_pluck simultaneously on the same completion queue.

+ +
+
+ +
+
+ + + + + + + + +
void grpc_completion_queue_shutdown (grpc_completion_queuecq)
+
+ +

Begin destruction of a completion queue.

+

Once all possible events are drained then grpc_completion_queue_next will start to produce GRPC_QUEUE_SHUTDOWN events only. At that point it's safe to call grpc_completion_queue_destroy.

+

After calling this function applications should ensure that no NEW work is added to be published on this completion queue.

+ +
+
+ +
+
+ + + + + + + + +
void grpc_init (void )
+
+ +

Initialize the grpc library.

+

It is not safe to call any other grpc functions before calling this. (To avoid overhead, little checking is done, and some things may work. We do not warrant that they will continue to do so in future revisions of this library).

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
grpc_channel* grpc_insecure_channel_create (const char * target,
const grpc_channel_argsargs 
)
+
+ +

Create a client channel to 'target'.

+

Additional channel level configuration MAY be provided by grpc_channel_args, though the expectation is that most clients will want to simply pass NULL. See grpc_channel_args definition for more on this. The data in 'args' need only live through the invocation of this function.

+ +
+
+ +
+
+ + + + + + + + +
grpc_channel* grpc_lame_client_channel_create (const char * target)
+
+ +

Create a lame client: this client fails every operation attempted on it.

+ +
+
+ +
+
+ + + + + + + + +
void grpc_metadata_array_destroy (grpc_metadata_arrayarray)
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_metadata_array_init (grpc_metadata_arrayarray)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
int grpc_server_add_http2_port (grpc_serverserver,
const char * addr 
)
+
+ +

Add a HTTP2 over plaintext over tcp listener.

+

Returns bound port number on success, 0 on failure. REQUIRES: server not started

+ +
+
+ +
+
+ + + + + + + + +
void grpc_server_cancel_all_calls (grpc_serverserver)
+
+ +

Cancel all in-progress calls.

+

Only usable after shutdown.

+ +
+
+ +
+
+ + + + + + + + +
grpc_server* grpc_server_create (const grpc_channel_argsargs)
+
+ +

Create a server.

+

Additional configuration for each incoming channel can be specified with args. If no additional configuration is needed, args can be NULL. See grpc_channel_args for more. The data in 'args' need only live through the invocation of this function.

+ +
+
+ +
+
+ + + + + + + + +
void grpc_server_destroy (grpc_serverserver)
+
+ +

Destroy a server.

+

Shutdown must have completed beforehand (i.e. all tags generated by grpc_server_shutdown_and_notify must have been received, and at least one call to grpc_server_shutdown_and_notify must have been made).

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void grpc_server_register_completion_queue (grpc_serverserver,
grpc_completion_queuecq 
)
+
+ +

Register a completion queue with the server.

+

Must be done for any notification completion queue that is passed to grpc_server_request_*_call and to grpc_server_shutdown_and_notify. Must be performed prior to grpc_server_start.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void* grpc_server_register_method (grpc_serverserver,
const char * method,
const char * host 
)
+
+ +

Registers a method in the server.

+

Methods to this (host, method) pair will not be reported by grpc_server_request_call, but instead be reported by grpc_server_request_registered_call when passed the appropriate registered_method (as returned by this function). Must be called before grpc_server_start. Returns NULL on failure.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
grpc_call_error grpc_server_request_call (grpc_serverserver,
grpc_call ** call,
grpc_call_detailsdetails,
grpc_metadata_arrayrequest_metadata,
grpc_completion_queuecq_bound_to_call,
grpc_completion_queuecq_for_notification,
void * tag_new 
)
+
+ +

Request notification of a new call.

+

'cq_for_notification' must have been registered to the server via grpc_server_register_completion_queue.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
grpc_call_error grpc_server_request_registered_call (grpc_serverserver,
void * registered_method,
grpc_call ** call,
gpr_timespecdeadline,
grpc_metadata_arrayrequest_metadata,
grpc_byte_buffer ** optional_payload,
grpc_completion_queuecq_bound_to_call,
grpc_completion_queuecq_for_notification,
void * tag_new 
)
+
+ +

Request notification of a new pre-registered call.

+

'cq_for_notification' must have been registered to the server via grpc_server_register_completion_queue.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void grpc_server_shutdown_and_notify (grpc_serverserver,
grpc_completion_queuecq,
void * tag 
)
+
+ +

Begin shutting down a server.

+

After completion, no new calls or connections will be admitted. Existing calls will be allowed to complete. Send a GRPC_OP_COMPLETE event when there are no more calls being serviced. Shutdown is idempotent, and all tags will be notified at once if multiple grpc_server_shutdown_and_notify calls are made. 'cq' must have been registered to this server via grpc_server_register_completion_queue.

+ +
+
+ +
+
+ + + + + + + + +
void grpc_server_start (grpc_serverserver)
+
+ +

Start a server - tells all listeners to start listening.

+ +
+
+ +
+
+ + + + + + + + +
void grpc_shutdown (void )
+
+ +

Shut down the grpc library.

+

No memory is used by grpc after this call returns, nor are any instructions executing within the grpc library. Prior to calling, all application owned grpc objects must have been destroyed.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
int grpc_tracer_set_enabled (const char * name,
int enabled 
)
+
+ +

Enable or disable a tracer.

+

Tracers (usually controlled by the environment variable GRPC_TRACE) allow printf-style debugging on GRPC internals, and are useful for tracking down problems in the field.

+

Use of this function is not strictly thread-safe, but the thread-safety issues raised by it should not be of concern.

+ +
+
+ +
+
+ + + + + + + + +
const char* grpc_version_string (void )
+
+ +

Return a string representing the current version of grpc.

+ +
+
+
+ + + + diff --git a/doc/ref/core/html/grpc_8h_source.html b/doc/ref/core/html/grpc_8h_source.html new file mode 100644 index 0000000000..8967dc9fa2 --- /dev/null +++ b/doc/ref/core/html/grpc_8h_source.html @@ -0,0 +1,563 @@ + + + + + + +GRPC Core: include/grpc/grpc.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
grpc.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPC_GRPC_H
+
35 #define GRPC_GRPC_H
+
36 
+
37 #include <grpc/status.h>
+
38 
+
39 #include <stddef.h>
+
40 #include <grpc/byte_buffer.h>
+
41 #include <grpc/support/slice.h>
+
42 #include <grpc/support/time.h>
+
43 
+
44 #ifdef __cplusplus
+
45 extern "C" {
+
46 #endif
+
47 
+ +
60 
+
62 typedef struct grpc_channel grpc_channel;
+
63 
+
65 typedef struct grpc_server grpc_server;
+
66 
+
70 typedef struct grpc_call grpc_call;
+
71 
+
73 typedef enum {
+ + + + +
78 
+
91 typedef struct {
+ +
93  char *key;
+
94  union {
+
95  char *string;
+
96  int integer;
+
97  struct {
+
98  void *p;
+
99  void *(*copy)(void *p);
+
100  void (*destroy)(void *p);
+
101  } pointer;
+
102  } value;
+
103 } grpc_arg;
+
104 
+
113 typedef struct {
+
114  size_t num_args;
+ + +
117 
+
118 /* Channel argument keys: */
+
120 #define GRPC_ARG_ENABLE_CENSUS "grpc.census"
+
121 
+
123 #define GRPC_ARG_MAX_CONCURRENT_STREAMS "grpc.max_concurrent_streams"
+
124 
+
125 #define GRPC_ARG_MAX_MESSAGE_LENGTH "grpc.max_message_length"
+
126 
+
127 #define GRPC_ARG_HTTP2_INITIAL_SEQUENCE_NUMBER \
+
128  "grpc.http2.initial_sequence_number"
+
129 
+
130 #define GRPC_ARG_DEFAULT_AUTHORITY "grpc.default_authority"
+
131 
+
133 #define GRPC_ARG_PRIMARY_USER_AGENT_STRING "grpc.primary_user_agent"
+
134 
+
136 #define GRPC_ARG_SECONDARY_USER_AGENT_STRING "grpc.secondary_user_agent"
+
137 
+
139 typedef enum {
+ + + + + + +
151 
+
156 typedef enum grpc_call_error {
+ + + + + + + + + + + + + +
184 
+
185 /* Write Flags: */
+
189 #define GRPC_WRITE_BUFFER_HINT (0x00000001u)
+
190 
+
192 #define GRPC_WRITE_NO_COMPRESS (0x00000002u)
+
193 
+
194 #define GRPC_WRITE_USED_MASK (GRPC_WRITE_BUFFER_HINT | GRPC_WRITE_NO_COMPRESS)
+
195 
+
197 typedef struct grpc_metadata {
+
198  const char *key;
+
199  const char *value;
+
200  size_t value_length;
+
201 
+
206  struct {
+
207  void *obfuscated[3];
+
208  } internal_data;
+
209 } grpc_metadata;
+
210 
+
212 typedef enum grpc_completion_type {
+ + + + +
220 
+
224 typedef struct grpc_event {
+ +
229  int success;
+
232  void *tag;
+
233 } grpc_event;
+
234 
+
235 typedef struct {
+
236  size_t count;
+
237  size_t capacity;
+ + +
240 
+ + +
243 
+
244 typedef struct {
+
245  char *method;
+ +
247  char *host;
+ + + +
251 
+ + +
254 
+
255 typedef enum {
+ + + + + + + + +
283 } grpc_op_type;
+
284 
+
287 typedef struct grpc_op {
+ + +
292  union {
+
293  struct {
+
294  size_t count;
+ + + +
298  struct {
+ + + +
302  const char *status_details;
+ + + +
314  struct {
+ + + + + +
346  struct {
+
349  int *cancelled;
+ +
351  } data;
+
352 } grpc_op;
+
353 
+
360 void grpc_init(void);
+
361 
+
368 void grpc_shutdown(void);
+
369 
+
371 const char *grpc_version_string(void);
+
372 
+ +
375 
+ +
385  gpr_timespec deadline);
+
386 
+ +
396  gpr_timespec deadline);
+
397 
+ +
406 
+ +
410 
+ +
413  grpc_channel *channel, int try_to_connect);
+
414 
+ +
421  grpc_channel *channel, grpc_connectivity_state last_observed_state,
+
422  gpr_timespec deadline, grpc_completion_queue *cq, void *tag);
+
423 
+ +
428  grpc_completion_queue *completion_queue,
+
429  const char *method, const char *host,
+
430  gpr_timespec deadline);
+
431 
+
433 void *grpc_channel_register_call(grpc_channel *channel, const char *method,
+
434  const char *host);
+
435 
+ +
438  grpc_channel *channel, grpc_completion_queue *completion_queue,
+
439  void *registered_call_handle, gpr_timespec deadline);
+
440 
+ +
453  size_t nops, void *tag);
+
454 
+
463 char *grpc_call_get_peer(grpc_call *call);
+
464 
+
465 struct census_context;
+
466 
+
467 /* Set census context for a call; Must be called before first call to
+
468  grpc_call_start_batch(). */
+ +
470  struct census_context *context);
+
471 
+
472 /* Retrieve the calls current census context. */
+ +
474 
+
477 char *grpc_channel_get_target(grpc_channel *channel);
+
478 
+
484 grpc_channel *grpc_insecure_channel_create(const char *target,
+
485  const grpc_channel_args *args);
+
486 
+
488 grpc_channel *grpc_lame_client_channel_create(const char *target);
+
489 
+
491 void grpc_channel_destroy(grpc_channel *channel);
+
492 
+
493 /* Error handling for grpc_call
+
494  Most grpc_call functions return a grpc_error. If the error is not GRPC_OK
+
495  then the operation failed due to some unsatisfied precondition.
+
496  If a grpc_call fails, it's guaranteed that no change to the call state
+
497  has been made. */
+
498 
+ +
505 
+ +
513  grpc_status_code status,
+
514  const char *description);
+
515 
+
518 void grpc_call_destroy(grpc_call *call);
+
519 
+ +
524  grpc_server *server, grpc_call **call, grpc_call_details *details,
+
525  grpc_metadata_array *request_metadata,
+
526  grpc_completion_queue *cq_bound_to_call,
+
527  grpc_completion_queue *cq_for_notification, void *tag_new);
+
528 
+
536 void *grpc_server_register_method(grpc_server *server, const char *method,
+
537  const char *host);
+
538 
+ +
543  grpc_server *server, void *registered_method, grpc_call **call,
+
544  gpr_timespec *deadline, grpc_metadata_array *request_metadata,
+
545  grpc_byte_buffer **optional_payload,
+
546  grpc_completion_queue *cq_bound_to_call,
+
547  grpc_completion_queue *cq_for_notification, void *tag_new);
+
548 
+ +
554 
+ + +
561 
+
565 int grpc_server_add_http2_port(grpc_server *server, const char *addr);
+
566 
+
568 void grpc_server_start(grpc_server *server);
+
569 
+ +
578  grpc_completion_queue *cq, void *tag);
+
579 
+ +
583 
+
588 void grpc_server_destroy(grpc_server *server);
+
589 
+
598 int grpc_tracer_set_enabled(const char *name, int enabled);
+
599 
+
600 #ifdef __cplusplus
+
601 }
+
602 #endif
+
603 
+
604 #endif /* GRPC_GRPC_H */
+
completion queue for notification has not been registered with the server
Definition: grpc.h:182
+
Operation completion.
Definition: grpc.h:218
+
void * tag
The tag passed to grpc_call_start_batch etc to start this operation.
Definition: grpc.h:232
+
grpc_op_type op
Operation type, as defined by grpc_op_type.
Definition: grpc.h:289
+
grpc_connectivity_state
Connectivity state of a channel.
Definition: grpc.h:139
+
Send a close from the client: one and only one instance MUST be sent from the client, unless the call was cancelled - in which case this can be skipped.
Definition: grpc.h:264
+
void grpc_server_destroy(grpc_server *server)
Destroy a server.
+
char ** status_details
status_details is a buffer owned by the application before the op completes and after the op has comp...
Definition: grpc.h:343
+
grpc_op_type
Definition: grpc.h:255
+
gpr_uint32 flags
Write flags bitset for grpc_begin_messages.
Definition: grpc.h:291
+
struct grpc_op grpc_op
Operation data: one field for each op type (except SEND_CLOSE_FROM_CLIENT which has no arguments) ...
+
void grpc_server_register_completion_queue(grpc_server *server, grpc_completion_queue *cq)
Register a completion queue with the server.
+
grpc_metadata_array * recv_initial_metadata
ownership of the array is with the caller, but ownership of the elements stays with the call object (...
Definition: grpc.h:309
+
grpc_event grpc_completion_queue_pluck(grpc_completion_queue *cq, void *tag, gpr_timespec deadline)
Blocks until an event with tag 'tag' is available, the completion queue is being shutdown or deadline...
+
struct grpc_completion_queue grpc_completion_queue
Completion Queues enable notification of the completion of asynchronous actions.
Definition: grpc.h:59
+
void grpc_call_details_destroy(grpc_call_details *details)
+
An array of arguments that can be passed around.
Definition: grpc.h:113
+
grpc_arg * args
Definition: grpc.h:115
+ +
struct grpc_server grpc_server
A server listens to some port and responds to request calls.
Definition: grpc.h:65
+ +
grpc_arg_type
Type specifier for grpc_arg.
Definition: grpc.h:73
+
the flags value was illegal for this call
Definition: grpc.h:177
+
grpc_status_code status
Definition: grpc.h:301
+
gpr_timespec deadline
Definition: grpc.h:249
+
Definition: grpc.h:76
+
The result of an operation.
Definition: grpc.h:224
+
grpc_channel * grpc_lame_client_channel_create(const char *target)
Create a lame client: this client fails every operation attempted on it.
+
int integer
Definition: grpc.h:96
+
grpc_channel * grpc_insecure_channel_create(const char *target, const grpc_channel_args *args)
Create a client channel to 'target'.
+
Send status from the server: one and only one instance MUST be sent from the server unless the call w...
Definition: grpc.h:268
+
char * string
Definition: grpc.h:95
+
void grpc_call_details_init(grpc_call_details *details)
+
char * host
Definition: grpc.h:247
+
int success
non-zero if the operation was successful, 0 upon failure.
Definition: grpc.h:229
+
void grpc_call_destroy(grpc_call *call)
Destroy a call.
+
union grpc_op::@6 data
+
size_t count
Definition: grpc.h:294
+
A single argument...
Definition: grpc.h:91
+
Definition: grpc.h:244
+
something failed, we don't know what
Definition: grpc.h:160
+
struct grpc_call grpc_call
A Call represents an RPC.
Definition: grpc.h:70
+
Definition: byte_buffer.h:49
+
grpc_byte_buffer ** recv_message
ownership of the byte buffer is moved to the caller; the caller must call grpc_byte_buffer_destroy on...
Definition: grpc.h:313
+
void grpc_server_start(grpc_server *server)
Start a server - tells all listeners to start listening.
+
Definition: grpc.h:235
+
uint32_t gpr_uint32
Definition: port_platform.h:309
+
void * p
Definition: grpc.h:98
+
size_t * status_details_capacity
Definition: grpc.h:344
+
Receive a message: 0 or more of these operations can occur for each call.
Definition: grpc.h:274
+
size_t method_capacity
Definition: grpc.h:246
+
grpc_connectivity_state grpc_channel_check_connectivity_state(grpc_channel *channel, int try_to_connect)
Check the connectivity state of a channel.
+
grpc_status_code * status
Definition: grpc.h:322
+
struct grpc_op::@6::@9 recv_status_on_client
+
void grpc_server_shutdown_and_notify(grpc_server *server, grpc_completion_queue *cq, void *tag)
Begin shutting down a server.
+
void grpc_channel_watch_connectivity_state(grpc_channel *channel, grpc_connectivity_state last_observed_state, gpr_timespec deadline, grpc_completion_queue *cq, void *tag)
Watch for a change in connectivity state.
+
grpc_metadata * metadata
Definition: grpc.h:238
+
this method must be called before invoke
Definition: grpc.h:168
+
void * grpc_channel_register_call(grpc_channel *channel, const char *method, const char *host)
Pre-register a method/host pair on a channel.
+
Send initial metadata: one and only one instance MUST be sent for each call, unless the call was canc...
Definition: grpc.h:258
+
Definition: grpc.h:75
+
grpc_call_error
Result of a grpc call.
Definition: grpc.h:156
+
grpc_metadata * trailing_metadata
Definition: grpc.h:300
+
grpc_server * grpc_server_create(const grpc_channel_args *args)
Create a server.
+
size_t capacity
Definition: grpc.h:237
+
const char * key
Definition: grpc.h:198
+
void grpc_server_cancel_all_calls(grpc_server *server)
Cancel all in-progress calls.
+
invalid metadata was passed to this call
Definition: grpc.h:179
+
const char * status_details
Definition: grpc.h:302
+
grpc_call_error grpc_call_cancel(grpc_call *call)
Called by clients to cancel an RPC on the server.
+
struct grpc_channel grpc_channel
The Channel interface allows creation of Call objects.
Definition: grpc.h:62
+
A single metadata element.
Definition: grpc.h:197
+
this method is not available on the server
Definition: grpc.h:162
+
Shutting down.
Definition: grpc.h:214
+
Receive initial metadata: one and only one MUST be made on the client, must not be made on the server...
Definition: grpc.h:271
+
Operation data: one field for each op type (except SEND_CLOSE_FROM_CLIENT which has no arguments) ...
Definition: grpc.h:287
+
grpc_call_error grpc_server_request_call(grpc_server *server, grpc_call **call, grpc_call_details *details, grpc_metadata_array *request_metadata, grpc_completion_queue *cq_bound_to_call, grpc_completion_queue *cq_for_notification, void *tag_new)
Request notification of a new call.
+
void * obfuscated[3]
Definition: grpc.h:207
+
Send a message: 0 or more of these operations can occur for each call.
Definition: grpc.h:260
+
everything went ok
Definition: grpc.h:158
+
grpc_event grpc_completion_queue_next(grpc_completion_queue *cq, gpr_timespec deadline)
Blocks until an event is available, the completion queue is being shut down, or deadline is reached...
+
this call is already finished (writes_done or write_status has already been called) ...
Definition: grpc.h:173
+
struct grpc_event grpc_event
The result of an operation.
+
grpc_completion_type
The type of completion (for grpc_event)
Definition: grpc.h:212
+
size_t trailing_metadata_count
Definition: grpc.h:299
+
size_t host_capacity
Definition: grpc.h:248
+
void * grpc_server_register_method(grpc_server *server, const char *method, const char *host)
Registers a method in the server.
+
char * grpc_channel_get_target(grpc_channel *channel)
Return a newly allocated string representing the target a channel was created for.
+
void grpc_channel_destroy(grpc_channel *channel)
Close and destroy a grpc channel.
+
struct grpc_op::@6::@7 send_initial_metadata
+
const char * grpc_version_string(void)
Return a string representing the current version of grpc.
+
struct grpc_metadata::@5 internal_data
The following fields are reserved for grpc internal use.
+
size_t num_args
Definition: grpc.h:114
+
size_t count
Definition: grpc.h:236
+
Receive status on the client: one and only one must be made on the client.
Definition: grpc.h:279
+
channel is ready for work
Definition: grpc.h:145
+
char * key
Definition: grpc.h:93
+
int grpc_server_add_http2_port(grpc_server *server, const char *addr)
Add a HTTP2 over plaintext over tcp listener.
+ +
char * grpc_call_get_peer(grpc_call *call)
Returns a newly allocated string representing the endpoint to which this call is communicating with...
+
channel has seen a failure but expects to recover
Definition: grpc.h:147
+
struct grpc_metadata grpc_metadata
A single metadata element.
+
const char * value
Definition: grpc.h:199
+ +
this method is not available on the client
Definition: grpc.h:164
+
grpc_call_error grpc_call_start_batch(grpc_call *call, const grpc_op *ops, size_t nops, void *tag)
Start a batch of operations defined in the array ops; when complete, post a completion of type 'tag' ...
+
channel is idle
Definition: grpc.h:141
+
channel has seen a failure that it cannot recover from
Definition: grpc.h:149
+
struct grpc_op::@6::@10 recv_close_on_server
+
Definition: time.h:60
+
grpc_status_code
Definition: status.h:41
+
grpc_call * grpc_channel_create_call(grpc_channel *channel, grpc_completion_queue *completion_queue, const char *method, const char *host, gpr_timespec deadline)
Create a call given a grpc_channel, in order to call 'method'.
+
struct census_context * grpc_census_call_get_context(grpc_call *call)
+
void grpc_metadata_array_destroy(grpc_metadata_array *array)
+
No event before timeout.
Definition: grpc.h:216
+
void grpc_init(void)
Initialize the grpc library.
+
channel is connecting
Definition: grpc.h:143
+
struct grpc_op::@6::@8 send_status_from_server
+
grpc_byte_buffer * send_message
Definition: grpc.h:297
+
grpc_metadata_array * trailing_metadata
ownership of the array is with the caller, but ownership of the elements stays with the call object (...
Definition: grpc.h:321
+
grpc_call_error grpc_server_request_registered_call(grpc_server *server, void *registered_method, grpc_call **call, gpr_timespec *deadline, grpc_metadata_array *request_metadata, grpc_byte_buffer **optional_payload, grpc_completion_queue *cq_bound_to_call, grpc_completion_queue *cq_for_notification, void *tag_new)
Request notification of a new pre-registered call.
+
void grpc_shutdown(void)
Shut down the grpc library.
+
void grpc_metadata_array_init(grpc_metadata_array *array)
+
void grpc_completion_queue_destroy(grpc_completion_queue *cq)
Destroy a completion queue.
+
grpc_call * grpc_channel_create_registered_call(grpc_channel *channel, grpc_completion_queue *completion_queue, void *registered_call_handle, gpr_timespec deadline)
Create a call given a handle returned from grpc_channel_register_call.
+
size_t value_length
Definition: grpc.h:200
+
there is already an outstanding read/write operation on the call
Definition: grpc.h:175
+
Receive close on the server: one and only one must be made on the server.
Definition: grpc.h:282
+
grpc_completion_type type
The type of the completion.
Definition: grpc.h:226
+
this method must be called before server_accept
Definition: grpc.h:166
+
grpc_arg_type type
Definition: grpc.h:92
+
void grpc_completion_queue_shutdown(grpc_completion_queue *cq)
Begin destruction of a completion queue.
+
Definition: grpc.h:74
+
grpc_metadata * metadata
Definition: grpc.h:295
+
grpc_call_error grpc_call_cancel_with_status(grpc_call *call, grpc_status_code status, const char *description)
Called by clients to cancel an RPC on the server.
+
int * cancelled
out argument, set to 1 if the call failed in any way (seen as a cancellation on the server)...
Definition: grpc.h:349
+
grpc_completion_queue * grpc_completion_queue_create(void)
Create a completion queue.
+
this method must be called after invoke
Definition: grpc.h:170
+
char * method
Definition: grpc.h:245
+
struct census_context census_context
Definition: census.h:78
+
int grpc_tracer_set_enabled(const char *name, int enabled)
Enable or disable a tracer.
+
void grpc_census_call_set_context(grpc_call *call, struct census_context *context)
+
+ + + + diff --git a/doc/ref/core/html/grpc__security_8h.html b/doc/ref/core/html/grpc__security_8h.html new file mode 100644 index 0000000000..9127f345db --- /dev/null +++ b/doc/ref/core/html/grpc__security_8h.html @@ -0,0 +1,863 @@ + + + + + + +GRPC Core: include/grpc/grpc_security.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
grpc_security.h File Reference
+
+
+
#include <grpc/grpc.h>
+#include <grpc/status.h>
+
+

Go to the source code of this file.

+ + + + + + + + +

+Data Structures

struct  grpc_ssl_pem_key_cert_pair
 
struct  grpc_auth_property_iterator
 
struct  grpc_auth_property
 
+ + + + + + + + + + + + + + + +

+Macros

#define GRPC_GOOGLE_CREDENTIALS_ENV_VAR   "GOOGLE_APPLICATION_CREDENTIALS"
 
#define GRPC_DEFAULT_SSL_ROOTS_FILE_PATH_ENV_VAR   "GRPC_DEFAULT_SSL_ROOTS_FILE_PATH"
 
#define GRPC_SSL_TARGET_NAME_OVERRIDE_ARG   "grpc.ssl_target_name_override"
 
#define GRPC_TRANSPORT_SECURITY_TYPE_PROPERTY_NAME   "transport_security_type"
 
#define GRPC_SSL_TRANSPORT_SECURITY_TYPE   "ssl"
 
#define GRPC_X509_CN_PROPERTY_NAME   "x509_common_name"
 
#define GRPC_X509_SAN_PROPERTY_NAME   "x509_subject_alternative_name"
 
+ + + + + + + + + + + +

+Typedefs

typedef struct grpc_credentials grpc_credentials
 
typedef struct
+grpc_server_credentials 
grpc_server_credentials
 
typedef struct grpc_auth_context grpc_auth_context
 
typedef struct
+grpc_auth_property_iterator 
grpc_auth_property_iterator
 
typedef struct grpc_auth_property grpc_auth_property
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

void grpc_credentials_release (grpc_credentials *creds)
 
grpc_credentialsgrpc_google_default_credentials_create (void)
 
grpc_credentialsgrpc_ssl_credentials_create (const char *pem_root_certs, grpc_ssl_pem_key_cert_pair *pem_key_cert_pair)
 
grpc_credentialsgrpc_composite_credentials_create (grpc_credentials *creds1, grpc_credentials *creds2)
 
grpc_credentialsgrpc_compute_engine_credentials_create (void)
 
grpc_credentialsgrpc_service_account_credentials_create (const char *json_key, const char *scope, gpr_timespec token_lifetime)
 
grpc_credentialsgrpc_service_account_jwt_access_credentials_create (const char *json_key, gpr_timespec token_lifetime)
 
grpc_credentialsgrpc_refresh_token_credentials_create (const char *json_refresh_token)
 
grpc_credentialsgrpc_access_token_credentials_create (const char *access_token)
 
grpc_credentialsgrpc_iam_credentials_create (const char *authorization_token, const char *authority_selector)
 
grpc_channelgrpc_secure_channel_create (grpc_credentials *creds, const char *target, const grpc_channel_args *args)
 
void grpc_server_credentials_release (grpc_server_credentials *creds)
 
grpc_server_credentialsgrpc_ssl_server_credentials_create (const char *pem_root_certs, grpc_ssl_pem_key_cert_pair *pem_key_cert_pairs, size_t num_key_cert_pairs, int force_client_auth)
 
int grpc_server_add_secure_http2_port (grpc_server *server, const char *addr, grpc_server_credentials *creds)
 
grpc_call_error grpc_call_set_credentials (grpc_call *call, grpc_credentials *creds)
 
const grpc_auth_propertygrpc_auth_property_iterator_next (grpc_auth_property_iterator *it)
 
grpc_auth_property_iterator grpc_auth_context_property_iterator (const grpc_auth_context *ctx)
 
grpc_auth_property_iterator grpc_auth_context_peer_identity (const grpc_auth_context *ctx)
 
grpc_auth_property_iterator grpc_auth_context_find_properties_by_name (const grpc_auth_context *ctx, const char *name)
 
const char * grpc_auth_context_peer_identity_property_name (const grpc_auth_context *ctx)
 
int grpc_auth_context_peer_is_authenticated (const grpc_auth_context *ctx)
 
grpc_auth_contextgrpc_call_auth_context (grpc_call *call)
 
void grpc_auth_context_release (grpc_auth_context *context)
 
+ + + +

+Variables

const gpr_timespec grpc_max_auth_token_lifetime
 
+

Macro Definition Documentation

+ +
+
+ + + + +
#define GRPC_DEFAULT_SSL_ROOTS_FILE_PATH_ENV_VAR   "GRPC_DEFAULT_SSL_ROOTS_FILE_PATH"
+
+ +
+
+ +
+
+ + + + +
#define GRPC_GOOGLE_CREDENTIALS_ENV_VAR   "GOOGLE_APPLICATION_CREDENTIALS"
+
+ +
+
+ +
+
+ + + + +
#define GRPC_SSL_TARGET_NAME_OVERRIDE_ARG   "grpc.ssl_target_name_override"
+
+ +
+
+ +
+
+ + + + +
#define GRPC_SSL_TRANSPORT_SECURITY_TYPE   "ssl"
+
+ +
+
+ +
+
+ + + + +
#define GRPC_TRANSPORT_SECURITY_TYPE_PROPERTY_NAME   "transport_security_type"
+
+ +
+
+ +
+
+ + + + +
#define GRPC_X509_CN_PROPERTY_NAME   "x509_common_name"
+
+ +
+
+ +
+
+ + + + +
#define GRPC_X509_SAN_PROPERTY_NAME   "x509_subject_alternative_name"
+
+ +
+
+

Typedef Documentation

+ +
+
+ + + + +
typedef struct grpc_auth_context grpc_auth_context
+
+ +
+
+ +
+
+ + + + +
typedef struct grpc_auth_property grpc_auth_property
+
+ +
+
+ +
+
+ +
+
+ +
+
+ + + + +
typedef struct grpc_credentials grpc_credentials
+
+ +
+
+ +
+
+ +
+
+

Function Documentation

+ +
+
+ + + + + + + + +
grpc_credentials* grpc_access_token_credentials_create (const char * access_token)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
grpc_auth_property_iterator grpc_auth_context_find_properties_by_name (const grpc_auth_contextctx,
const char * name 
)
+
+ +
+
+ +
+
+ + + + + + + + +
grpc_auth_property_iterator grpc_auth_context_peer_identity (const grpc_auth_contextctx)
+
+ +
+
+ +
+
+ + + + + + + + +
const char* grpc_auth_context_peer_identity_property_name (const grpc_auth_contextctx)
+
+ +
+
+ +
+
+ + + + + + + + +
int grpc_auth_context_peer_is_authenticated (const grpc_auth_contextctx)
+
+ +
+
+ +
+
+ + + + + + + + +
grpc_auth_property_iterator grpc_auth_context_property_iterator (const grpc_auth_contextctx)
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_auth_context_release (grpc_auth_contextcontext)
+
+ +
+
+ +
+
+ + + + + + + + +
const grpc_auth_property* grpc_auth_property_iterator_next (grpc_auth_property_iteratorit)
+
+ +
+
+ +
+
+ + + + + + + + +
grpc_auth_context* grpc_call_auth_context (grpc_callcall)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
grpc_call_error grpc_call_set_credentials (grpc_callcall,
grpc_credentialscreds 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
grpc_credentials* grpc_composite_credentials_create (grpc_credentialscreds1,
grpc_credentialscreds2 
)
+
+ +
+
+ +
+
+ + + + + + + + +
grpc_credentials* grpc_compute_engine_credentials_create (void )
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_credentials_release (grpc_credentialscreds)
+
+ +
+
+ +
+
+ + + + + + + + +
grpc_credentials* grpc_google_default_credentials_create (void )
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
grpc_credentials* grpc_iam_credentials_create (const char * authorization_token,
const char * authority_selector 
)
+
+ +
+
+ +
+
+ + + + + + + + +
grpc_credentials* grpc_refresh_token_credentials_create (const char * json_refresh_token)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
grpc_channel* grpc_secure_channel_create (grpc_credentialscreds,
const char * target,
const grpc_channel_argsargs 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
int grpc_server_add_secure_http2_port (grpc_serverserver,
const char * addr,
grpc_server_credentialscreds 
)
+
+ +
+
+ +
+
+ + + + + + + + +
void grpc_server_credentials_release (grpc_server_credentialscreds)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
grpc_credentials* grpc_service_account_credentials_create (const char * json_key,
const char * scope,
gpr_timespec token_lifetime 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
grpc_credentials* grpc_service_account_jwt_access_credentials_create (const char * json_key,
gpr_timespec token_lifetime 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
grpc_credentials* grpc_ssl_credentials_create (const char * pem_root_certs,
grpc_ssl_pem_key_cert_pairpem_key_cert_pair 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
grpc_server_credentials* grpc_ssl_server_credentials_create (const char * pem_root_certs,
grpc_ssl_pem_key_cert_pairpem_key_cert_pairs,
size_t num_key_cert_pairs,
int force_client_auth 
)
+
+ +
+
+

Variable Documentation

+ +
+
+ + + + +
const gpr_timespec grpc_max_auth_token_lifetime
+
+ +
+
+
+ + + + diff --git a/doc/ref/core/html/grpc__security_8h_source.html b/doc/ref/core/html/grpc__security_8h_source.html new file mode 100644 index 0000000000..31c70b5a01 --- /dev/null +++ b/doc/ref/core/html/grpc__security_8h_source.html @@ -0,0 +1,409 @@ + + + + + + +GRPC Core: include/grpc/grpc_security.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
grpc_security.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPC_GRPC_SECURITY_H
+
35 #define GRPC_GRPC_SECURITY_H
+
36 
+
37 #include <grpc/grpc.h>
+
38 #include <grpc/status.h>
+
39 
+
40 #ifdef __cplusplus
+
41 extern "C" {
+
42 #endif
+
43 
+
44 /* --- grpc_credentials object. ---
+
45 
+
46  A credentials object represents a way to authenticate a client. */
+
47 
+ +
49 
+
50 /* Releases a credentials object.
+
51  The creator of the credentials object is responsible for its release. */
+ +
53 
+
54 /* Environment variable that points to the google default application
+
55  credentials json key or refresh token. Used in the
+
56  grpc_google_default_credentials_create function. */
+
57 #define GRPC_GOOGLE_CREDENTIALS_ENV_VAR "GOOGLE_APPLICATION_CREDENTIALS"
+
58 
+
59 /* Creates default credentials to connect to a google gRPC service.
+
60  WARNING: Do NOT use this credentials to connect to a non-google service as
+
61  this could result in an oauth2 token leak. */
+ +
63 
+
64 /* Environment variable that points to the default SSL roots file. This file
+
65  must be a PEM encoded file with all the roots such as the one that can be
+
66  downloaded from https://pki.google.com/roots.pem. */
+
67 #define GRPC_DEFAULT_SSL_ROOTS_FILE_PATH_ENV_VAR \
+
68  "GRPC_DEFAULT_SSL_ROOTS_FILE_PATH"
+
69 
+
70 /* Object that holds a private key / certificate chain pair in PEM format. */
+
71 typedef struct {
+
72  /* private_key is the NULL-terminated string containing the PEM encoding of
+
73  the client's private key. */
+
74  const char *private_key;
+
75 
+
76  /* cert_chain is the NULL-terminated string containing the PEM encoding of
+
77  the client's certificate chain. */
+
78  const char *cert_chain;
+ +
80 
+
81 /* Creates an SSL credentials object.
+
82  - pem_roots_cert is the NULL-terminated string containing the PEM encoding
+
83  of the server root certificates. If this parameter is NULL, the
+
84  implementation will first try to dereference the file pointed by the
+
85  GRPC_DEFAULT_SSL_ROOTS_FILE_PATH environment variable, and if that fails,
+
86  get the roots from a well-known place on disk (in the grpc install
+
87  directory).
+
88  - pem_key_cert_pair is a pointer on the object containing client's private
+
89  key and certificate chain. This parameter can be NULL if the client does
+
90  not have such a key/cert pair. */
+ +
92  const char *pem_root_certs, grpc_ssl_pem_key_cert_pair *pem_key_cert_pair);
+
93 
+
94 /* Creates a composite credentials object. */
+ +
96  grpc_credentials *creds2);
+
97 
+
98 /* Creates a compute engine credentials object.
+
99  WARNING: Do NOT use this credentials to connect to a non-google service as
+
100  this could result in an oauth2 token leak. */
+ +
102 
+ +
104 
+
105 /* Creates a service account credentials object. May return NULL if the input is
+
106  invalid.
+
107  WARNING: Do NOT use this credentials to connect to a non-google service as
+
108  this could result in an oauth2 token leak.
+
109  - json_key is the JSON key string containing the client's private key.
+
110  - scope is a space-delimited list of the requested permissions.
+
111  - token_lifetime is the lifetime of each token acquired through this service
+
112  account credentials. It should not exceed grpc_max_auth_token_lifetime
+
113  or will be cropped to this value. */
+ +
115  const char *json_key, const char *scope, gpr_timespec token_lifetime);
+
116 
+
117 /* Creates a JWT credentials object. May return NULL if the input is invalid.
+
118  - json_key is the JSON key string containing the client's private key.
+
119  - token_lifetime is the lifetime of each Json Web Token (JWT) created with
+
120  this credentials. It should not exceed grpc_max_auth_token_lifetime or
+
121  will be cropped to this value. */
+ +
123  const char *json_key, gpr_timespec token_lifetime);
+
124 
+
125 /* Creates an Oauth2 Refresh Token credentials object. May return NULL if the
+
126  input is invalid.
+
127  WARNING: Do NOT use this credentials to connect to a non-google service as
+
128  this could result in an oauth2 token leak.
+
129  - json_refresh_token is the JSON string containing the refresh token itself
+
130  along with a client_id and client_secret. */
+ +
132  const char *json_refresh_token);
+
133 
+
134 /* Creates an Oauth2 Access Token credentials with an access token that was
+
135  aquired by an out of band mechanism. */
+ +
137  const char *access_token);
+
138 
+
139 /* Creates an IAM credentials object. */
+
140 grpc_credentials *grpc_iam_credentials_create(const char *authorization_token,
+
141  const char *authority_selector);
+
142 
+
143 /* --- Secure channel creation. --- */
+
144 
+
145 /* The caller of the secure_channel_create functions may override the target
+
146  name used for SSL host name checking using this channel argument which is of
+
147  type GRPC_ARG_STRING. This *should* be used for testing only.
+
148  If this argument is not specified, the name used for SSL host name checking
+
149  will be the target parameter (assuming that the secure channel is an SSL
+
150  channel). If this parameter is specified and the underlying is not an SSL
+
151  channel, it will just be ignored. */
+
152 #define GRPC_SSL_TARGET_NAME_OVERRIDE_ARG "grpc.ssl_target_name_override"
+
153 
+
154 /* Creates a secure channel using the passed-in credentials. */
+ +
156  const char *target,
+
157  const grpc_channel_args *args);
+
158 
+
159 /* --- grpc_server_credentials object. ---
+
160 
+
161  A server credentials object represents a way to authenticate a server. */
+
162 
+ +
164 
+
165 /* Releases a server_credentials object.
+
166  The creator of the server_credentials object is responsible for its release.
+
167  */
+ +
169 
+
170 /* Creates an SSL server_credentials object.
+
171  - pem_roots_cert is the NULL-terminated string containing the PEM encoding of
+
172  the client root certificates. This parameter may be NULL if the server does
+
173  not want the client to be authenticated with SSL.
+
174  - pem_key_cert_pairs is an array private key / certificate chains of the
+
175  server. This parameter cannot be NULL.
+
176  - num_key_cert_pairs indicates the number of items in the private_key_files
+
177  and cert_chain_files parameters. It should be at least 1.
+
178  - force_client_auth, if set to non-zero will force the client to authenticate
+
179  with an SSL cert. Note that this option is ignored if pem_root_certs is
+
180  NULL. */
+ +
182  const char *pem_root_certs, grpc_ssl_pem_key_cert_pair *pem_key_cert_pairs,
+
183  size_t num_key_cert_pairs, int force_client_auth);
+
184 
+
185 /* --- Server-side secure ports. --- */
+
186 
+
187 /* Add a HTTP2 over an encrypted link over tcp listener.
+
188  Returns bound port number on success, 0 on failure.
+
189  REQUIRES: server not started */
+
190 int grpc_server_add_secure_http2_port(grpc_server *server, const char *addr,
+
191  grpc_server_credentials *creds);
+
192 
+
193 /* --- Call specific credentials. --- */
+
194 
+
195 /* Sets a credentials to a call. Can only be called on the client side before
+
196  grpc_call_start_batch. */
+ +
198  grpc_credentials *creds);
+
199 
+
200 /* --- Authentication Context. --- */
+
201 
+
202 /* TODO(jboeuf): Define some well-known property names. */
+
203 
+
204 #define GRPC_TRANSPORT_SECURITY_TYPE_PROPERTY_NAME "transport_security_type"
+
205 #define GRPC_SSL_TRANSPORT_SECURITY_TYPE "ssl"
+
206 
+
207 #define GRPC_X509_CN_PROPERTY_NAME "x509_common_name"
+
208 #define GRPC_X509_SAN_PROPERTY_NAME "x509_subject_alternative_name"
+
209 
+ +
211 
+ + +
214  size_t index;
+
215  const char *name;
+ +
217 
+
218 /* value, if not NULL, is guaranteed to be NULL terminated. */
+
219 typedef struct grpc_auth_property {
+
220  char *name;
+
221  char *value;
+
222  size_t value_length;
+ +
224 
+
225 /* Returns NULL when the iterator is at the end. */
+ + +
228 
+
229 /* Iterates over the auth context. */
+ +
231  const grpc_auth_context *ctx);
+
232 
+
233 /* Gets the peer identity. Returns an empty iterator (first _next will return
+
234  NULL) if the peer is not authenticated. */
+ +
236  const grpc_auth_context *ctx);
+
237 
+
238 /* Finds a property in the context. May return an empty iterator (first _next
+
239  will return NULL) if no property with this name was found in the context. */
+ +
241  const grpc_auth_context *ctx, const char *name);
+
242 
+
243 /* Gets the name of the property that indicates the peer identity. Will return
+
244  NULL if the peer is not authenticated. */
+ +
246  const grpc_auth_context *ctx);
+
247 
+
248 /* Returns 1 if the peer is authenticated, 0 otherwise. */
+ +
250 
+
251 /* Gets the auth context from the call. Caller needs to call
+
252  grpc_auth_context_release on the returned context. */
+ +
254 
+
255 /* Releases the auth context returned from grpc_call_auth_context. */
+ +
257 
+
258 #ifdef __cplusplus
+
259 }
+
260 #endif
+
261 
+
262 #endif /* GRPC_GRPC_SECURITY_H */
+
int grpc_server_add_secure_http2_port(grpc_server *server, const char *addr, grpc_server_credentials *creds)
+
size_t value_length
Definition: grpc_security.h:222
+
struct grpc_server_credentials grpc_server_credentials
Definition: grpc_security.h:163
+
grpc_call_error grpc_call_set_credentials(grpc_call *call, grpc_credentials *creds)
+
grpc_channel * grpc_secure_channel_create(grpc_credentials *creds, const char *target, const grpc_channel_args *args)
+
void grpc_credentials_release(grpc_credentials *creds)
+
An array of arguments that can be passed around.
Definition: grpc.h:113
+
char * value
Definition: grpc_security.h:221
+
grpc_credentials * grpc_composite_credentials_create(grpc_credentials *creds1, grpc_credentials *creds2)
+
struct grpc_server grpc_server
A server listens to some port and responds to request calls.
Definition: grpc.h:65
+
const gpr_timespec grpc_max_auth_token_lifetime
+
grpc_credentials * grpc_google_default_credentials_create(void)
+
const char * private_key
Definition: grpc_security.h:74
+
const grpc_auth_property * grpc_auth_property_iterator_next(grpc_auth_property_iterator *it)
+
struct grpc_call grpc_call
A Call represents an RPC.
Definition: grpc.h:70
+
char * name
Definition: grpc_security.h:220
+
struct grpc_credentials grpc_credentials
Definition: grpc_security.h:48
+
const grpc_auth_context * ctx
Definition: grpc_security.h:213
+
const char * grpc_auth_context_peer_identity_property_name(const grpc_auth_context *ctx)
+
int grpc_auth_context_peer_is_authenticated(const grpc_auth_context *ctx)
+
grpc_credentials * grpc_ssl_credentials_create(const char *pem_root_certs, grpc_ssl_pem_key_cert_pair *pem_key_cert_pair)
+
const char * name
Definition: grpc_security.h:215
+
grpc_call_error
Result of a grpc call.
Definition: grpc.h:156
+
size_t index
Definition: grpc_security.h:214
+
grpc_credentials * grpc_access_token_credentials_create(const char *access_token)
+
grpc_credentials * grpc_iam_credentials_create(const char *authorization_token, const char *authority_selector)
+
Definition: grpc_security.h:212
+
struct grpc_channel grpc_channel
The Channel interface allows creation of Call objects.
Definition: grpc.h:62
+
Definition: grpc_security.h:71
+
struct grpc_auth_context grpc_auth_context
Definition: grpc_security.h:210
+
struct grpc_auth_property_iterator grpc_auth_property_iterator
+
grpc_credentials * grpc_refresh_token_credentials_create(const char *json_refresh_token)
+
const char * cert_chain
Definition: grpc_security.h:78
+
grpc_credentials * grpc_service_account_credentials_create(const char *json_key, const char *scope, gpr_timespec token_lifetime)
+
grpc_auth_property_iterator grpc_auth_context_peer_identity(const grpc_auth_context *ctx)
+
Definition: grpc_security.h:219
+
grpc_credentials * grpc_compute_engine_credentials_create(void)
+
struct grpc_auth_property grpc_auth_property
+ +
grpc_auth_property_iterator grpc_auth_context_property_iterator(const grpc_auth_context *ctx)
+
grpc_credentials * grpc_service_account_jwt_access_credentials_create(const char *json_key, gpr_timespec token_lifetime)
+
grpc_auth_context * grpc_call_auth_context(grpc_call *call)
+
Definition: time.h:60
+
void grpc_server_credentials_release(grpc_server_credentials *creds)
+
grpc_auth_property_iterator grpc_auth_context_find_properties_by_name(const grpc_auth_context *ctx, const char *name)
+
void grpc_auth_context_release(grpc_auth_context *context)
+ +
grpc_server_credentials * grpc_ssl_server_credentials_create(const char *pem_root_certs, grpc_ssl_pem_key_cert_pair *pem_key_cert_pairs, size_t num_key_cert_pairs, int force_client_auth)
+
+ + + + diff --git a/doc/ref/core/html/histogram_8h.html b/doc/ref/core/html/histogram_8h.html new file mode 100644 index 0000000000..7e27679e6b --- /dev/null +++ b/doc/ref/core/html/histogram_8h.html @@ -0,0 +1,495 @@ + + + + + + +GRPC Core: include/grpc/support/histogram.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
histogram.h File Reference
+
+
+
#include <grpc/support/port_platform.h>
+#include <stddef.h>
+
+

Go to the source code of this file.

+ + + + +

+Typedefs

typedef struct gpr_histogram gpr_histogram
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

gpr_histogramgpr_histogram_create (double resolution, double max_bucket_start)
 
void gpr_histogram_destroy (gpr_histogram *h)
 
void gpr_histogram_add (gpr_histogram *h, double x)
 
int gpr_histogram_merge (gpr_histogram *dst, gpr_histogram *src)
 
double gpr_histogram_percentile (gpr_histogram *histogram, double percentile)
 
double gpr_histogram_mean (gpr_histogram *histogram)
 
double gpr_histogram_stddev (gpr_histogram *histogram)
 
double gpr_histogram_variance (gpr_histogram *histogram)
 
double gpr_histogram_maximum (gpr_histogram *histogram)
 
double gpr_histogram_minimum (gpr_histogram *histogram)
 
double gpr_histogram_count (gpr_histogram *histogram)
 
double gpr_histogram_sum (gpr_histogram *histogram)
 
double gpr_histogram_sum_of_squares (gpr_histogram *histogram)
 
const gpr_uint32gpr_histogram_get_contents (gpr_histogram *histogram, size_t *count)
 
void gpr_histogram_merge_contents (gpr_histogram *histogram, const gpr_uint32 *data, size_t data_count, double min_seen, double max_seen, double sum, double sum_of_squares, double count)
 
+

Typedef Documentation

+ +
+
+ + + + +
typedef struct gpr_histogram gpr_histogram
+
+ +
+
+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
void gpr_histogram_add (gpr_histogramh,
double x 
)
+
+ +
+
+ +
+
+ + + + + + + + +
double gpr_histogram_count (gpr_histogramhistogram)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
gpr_histogram* gpr_histogram_create (double resolution,
double max_bucket_start 
)
+
+ +
+
+ +
+
+ + + + + + + + +
void gpr_histogram_destroy (gpr_histogramh)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
const gpr_uint32* gpr_histogram_get_contents (gpr_histogramhistogram,
size_t * count 
)
+
+ +
+
+ +
+
+ + + + + + + + +
double gpr_histogram_maximum (gpr_histogramhistogram)
+
+ +
+
+ +
+
+ + + + + + + + +
double gpr_histogram_mean (gpr_histogramhistogram)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
int gpr_histogram_merge (gpr_histogramdst,
gpr_histogramsrc 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void gpr_histogram_merge_contents (gpr_histogramhistogram,
const gpr_uint32data,
size_t data_count,
double min_seen,
double max_seen,
double sum,
double sum_of_squares,
double count 
)
+
+ +
+
+ +
+
+ + + + + + + + +
double gpr_histogram_minimum (gpr_histogramhistogram)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
double gpr_histogram_percentile (gpr_histogramhistogram,
double percentile 
)
+
+ +
+
+ +
+
+ + + + + + + + +
double gpr_histogram_stddev (gpr_histogramhistogram)
+
+ +
+
+ +
+
+ + + + + + + + +
double gpr_histogram_sum (gpr_histogramhistogram)
+
+ +
+
+ +
+
+ + + + + + + + +
double gpr_histogram_sum_of_squares (gpr_histogramhistogram)
+
+ +
+
+ +
+
+ + + + + + + + +
double gpr_histogram_variance (gpr_histogramhistogram)
+
+ +
+
+
+ + + + diff --git a/doc/ref/core/html/histogram_8h_source.html b/doc/ref/core/html/histogram_8h_source.html new file mode 100644 index 0000000000..345b5e7aff --- /dev/null +++ b/doc/ref/core/html/histogram_8h_source.html @@ -0,0 +1,193 @@ + + + + + + +GRPC Core: include/grpc/support/histogram.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
histogram.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPC_SUPPORT_HISTOGRAM_H
+
35 #define GRPC_SUPPORT_HISTOGRAM_H
+
36 
+ +
38 #include <stddef.h>
+
39 
+
40 #ifdef __cplusplus
+
41 extern "C" {
+
42 #endif
+
43 
+ +
45 
+
46 gpr_histogram *gpr_histogram_create(double resolution, double max_bucket_start);
+ +
48 void gpr_histogram_add(gpr_histogram *h, double x);
+
49 
+
50 /* The following merges the second histogram into the first. It only works
+
51  if they have the same buckets and resolution. Returns 0 on failure, 1
+
52  on success */
+ +
54 
+
55 double gpr_histogram_percentile(gpr_histogram *histogram, double percentile);
+
56 double gpr_histogram_mean(gpr_histogram *histogram);
+
57 double gpr_histogram_stddev(gpr_histogram *histogram);
+
58 double gpr_histogram_variance(gpr_histogram *histogram);
+
59 double gpr_histogram_maximum(gpr_histogram *histogram);
+
60 double gpr_histogram_minimum(gpr_histogram *histogram);
+
61 double gpr_histogram_count(gpr_histogram *histogram);
+
62 double gpr_histogram_sum(gpr_histogram *histogram);
+ +
64 
+ +
66  size_t *count);
+ +
68  const gpr_uint32 *data, size_t data_count,
+
69  double min_seen, double max_seen, double sum,
+
70  double sum_of_squares, double count);
+
71 
+
72 #ifdef __cplusplus
+
73 }
+
74 #endif
+
75 
+
76 #endif /* GRPC_SUPPORT_HISTOGRAM_H */
+ +
double gpr_histogram_sum(gpr_histogram *histogram)
+
double gpr_histogram_minimum(gpr_histogram *histogram)
+
double gpr_histogram_variance(gpr_histogram *histogram)
+
uint32_t gpr_uint32
Definition: port_platform.h:309
+
int gpr_histogram_merge(gpr_histogram *dst, gpr_histogram *src)
+
void gpr_histogram_merge_contents(gpr_histogram *histogram, const gpr_uint32 *data, size_t data_count, double min_seen, double max_seen, double sum, double sum_of_squares, double count)
+
double gpr_histogram_maximum(gpr_histogram *histogram)
+
double gpr_histogram_mean(gpr_histogram *histogram)
+
gpr_histogram * gpr_histogram_create(double resolution, double max_bucket_start)
+
double gpr_histogram_sum_of_squares(gpr_histogram *histogram)
+
double gpr_histogram_count(gpr_histogram *histogram)
+
struct gpr_histogram gpr_histogram
Definition: histogram.h:44
+
void gpr_histogram_add(gpr_histogram *h, double x)
+
void gpr_histogram_destroy(gpr_histogram *h)
+
double gpr_histogram_stddev(gpr_histogram *histogram)
+
double gpr_histogram_percentile(gpr_histogram *histogram, double percentile)
+
const gpr_uint32 * gpr_histogram_get_contents(gpr_histogram *histogram, size_t *count)
+
+ + + + diff --git a/doc/ref/core/html/host__port_8h.html b/doc/ref/core/html/host__port_8h.html new file mode 100644 index 0000000000..b3f891c97f --- /dev/null +++ b/doc/ref/core/html/host__port_8h.html @@ -0,0 +1,176 @@ + + + + + + +GRPC Core: include/grpc/support/host_port.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
host_port.h File Reference
+
+
+ +

Go to the source code of this file.

+ + + + + + +

+Functions

int gpr_join_host_port (char **out, const char *host, int port)
 
int gpr_split_host_port (const char *name, char **host, char **port)
 
+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
int gpr_join_host_port (char ** out,
const char * host,
int port 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
int gpr_split_host_port (const char * name,
char ** host,
char ** port 
)
+
+ +
+
+
+ + + + diff --git a/doc/ref/core/html/host__port_8h_source.html b/doc/ref/core/html/host__port_8h_source.html new file mode 100644 index 0000000000..dd07722879 --- /dev/null +++ b/doc/ref/core/html/host__port_8h_source.html @@ -0,0 +1,165 @@ + + + + + + +GRPC Core: include/grpc/support/host_port.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
host_port.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPC_SUPPORT_HOST_PORT_H
+
35 #define GRPC_SUPPORT_HOST_PORT_H
+
36 
+
37 #ifdef __cplusplus
+
38 extern "C" {
+
39 #endif
+
40 
+
41 /* Given a host and port, creates a newly-allocated string of the form
+
42  "host:port" or "[ho:st]:port", depending on whether the host contains colons
+
43  like an IPv6 literal. If the host is already bracketed, then additional
+
44  brackets will not be added.
+
45 
+
46  Usage is similar to gpr_asprintf: returns the number of bytes written
+
47  (excluding the final '\0'), and *out points to a string which must later be
+
48  destroyed using gpr_free().
+
49 
+
50  In the unlikely event of an error, returns -1 and sets *out to NULL. */
+
51 int gpr_join_host_port(char **out, const char *host, int port);
+
52 
+
53 /* Given a name in the form "host:port" or "[ho:st]:port", split into hostname
+
54  and port number, into newly allocated strings, which must later be
+
55  destroyed using gpr_free().
+
56  Return 1 on success, 0 on failure. Guarantees *host and *port == NULL on
+
57  failure. */
+
58 int gpr_split_host_port(const char *name, char **host, char **port);
+
59 
+
60 #ifdef __cplusplus
+
61 }
+
62 #endif
+
63 
+
64 #endif /* GRPC_SUPPORT_HOST_PORT_H */
+
int gpr_split_host_port(const char *name, char **host, char **port)
+
int gpr_join_host_port(char **out, const char *host, int port)
+
+ + + + diff --git a/doc/ref/core/html/index.html b/doc/ref/core/html/index.html new file mode 100644 index 0000000000..1b7cbefbbf --- /dev/null +++ b/doc/ref/core/html/index.html @@ -0,0 +1,93 @@ + + + + + + +GRPC Core: GRPC Core + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + +
+ + + + +
+ +
+ +
+
+
GRPC Core
+
+
+

+The GRPC Core library is a low-level library designed

+

to be wrapped by higher level libraries.

+

The top-level API is provided in grpc.h. Security related functionality lives in grpc_security.h.

+
+ + + + diff --git a/doc/ref/core/html/jquery.js b/doc/ref/core/html/jquery.js new file mode 100644 index 0000000000..c197801c5d --- /dev/null +++ b/doc/ref/core/html/jquery.js @@ -0,0 +1,31 @@ +/*! + * jQuery JavaScript Library v1.7.1 + * http://jquery.com/ + * + * Copyright 2011, John Resig + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * Includes Sizzle.js + * http://sizzlejs.com/ + * Copyright 2011, The Dojo Foundation + * Released under the MIT, BSD, and GPL Licenses. + * + * Date: Mon Nov 21 21:11:03 2011 -0500 + */ +(function(bb,L){var av=bb.document,bu=bb.navigator,bl=bb.location;var b=(function(){var bF=function(b0,b1){return new bF.fn.init(b0,b1,bD)},bU=bb.jQuery,bH=bb.$,bD,bY=/^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,bM=/\S/,bI=/^\s+/,bE=/\s+$/,bA=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,bN=/^[\],:{}\s]*$/,bW=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,bP=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,bJ=/(?:^|:|,)(?:\s*\[)+/g,by=/(webkit)[ \/]([\w.]+)/,bR=/(opera)(?:.*version)?[ \/]([\w.]+)/,bQ=/(msie) ([\w.]+)/,bS=/(mozilla)(?:.*? rv:([\w.]+))?/,bB=/-([a-z]|[0-9])/ig,bZ=/^-ms-/,bT=function(b0,b1){return(b1+"").toUpperCase()},bX=bu.userAgent,bV,bC,e,bL=Object.prototype.toString,bG=Object.prototype.hasOwnProperty,bz=Array.prototype.push,bK=Array.prototype.slice,bO=String.prototype.trim,bv=Array.prototype.indexOf,bx={};bF.fn=bF.prototype={constructor:bF,init:function(b0,b4,b3){var b2,b5,b1,b6;if(!b0){return this}if(b0.nodeType){this.context=this[0]=b0;this.length=1;return this}if(b0==="body"&&!b4&&av.body){this.context=av;this[0]=av.body;this.selector=b0;this.length=1;return this}if(typeof b0==="string"){if(b0.charAt(0)==="<"&&b0.charAt(b0.length-1)===">"&&b0.length>=3){b2=[null,b0,null]}else{b2=bY.exec(b0)}if(b2&&(b2[1]||!b4)){if(b2[1]){b4=b4 instanceof bF?b4[0]:b4;b6=(b4?b4.ownerDocument||b4:av);b1=bA.exec(b0);if(b1){if(bF.isPlainObject(b4)){b0=[av.createElement(b1[1])];bF.fn.attr.call(b0,b4,true)}else{b0=[b6.createElement(b1[1])]}}else{b1=bF.buildFragment([b2[1]],[b6]);b0=(b1.cacheable?bF.clone(b1.fragment):b1.fragment).childNodes}return bF.merge(this,b0)}else{b5=av.getElementById(b2[2]);if(b5&&b5.parentNode){if(b5.id!==b2[2]){return b3.find(b0)}this.length=1;this[0]=b5}this.context=av;this.selector=b0;return this}}else{if(!b4||b4.jquery){return(b4||b3).find(b0)}else{return this.constructor(b4).find(b0)}}}else{if(bF.isFunction(b0)){return b3.ready(b0)}}if(b0.selector!==L){this.selector=b0.selector;this.context=b0.context}return bF.makeArray(b0,this)},selector:"",jquery:"1.7.1",length:0,size:function(){return this.length},toArray:function(){return bK.call(this,0)},get:function(b0){return b0==null?this.toArray():(b0<0?this[this.length+b0]:this[b0])},pushStack:function(b1,b3,b0){var b2=this.constructor();if(bF.isArray(b1)){bz.apply(b2,b1)}else{bF.merge(b2,b1)}b2.prevObject=this;b2.context=this.context;if(b3==="find"){b2.selector=this.selector+(this.selector?" ":"")+b0}else{if(b3){b2.selector=this.selector+"."+b3+"("+b0+")"}}return b2},each:function(b1,b0){return bF.each(this,b1,b0)},ready:function(b0){bF.bindReady();bC.add(b0);return this},eq:function(b0){b0=+b0;return b0===-1?this.slice(b0):this.slice(b0,b0+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(bK.apply(this,arguments),"slice",bK.call(arguments).join(","))},map:function(b0){return this.pushStack(bF.map(this,function(b2,b1){return b0.call(b2,b1,b2)}))},end:function(){return this.prevObject||this.constructor(null)},push:bz,sort:[].sort,splice:[].splice};bF.fn.init.prototype=bF.fn;bF.extend=bF.fn.extend=function(){var b9,b2,b0,b1,b6,b7,b5=arguments[0]||{},b4=1,b3=arguments.length,b8=false;if(typeof b5==="boolean"){b8=b5;b5=arguments[1]||{};b4=2}if(typeof b5!=="object"&&!bF.isFunction(b5)){b5={}}if(b3===b4){b5=this;--b4}for(;b40){return}bC.fireWith(av,[bF]);if(bF.fn.trigger){bF(av).trigger("ready").off("ready")}}},bindReady:function(){if(bC){return}bC=bF.Callbacks("once memory");if(av.readyState==="complete"){return setTimeout(bF.ready,1)}if(av.addEventListener){av.addEventListener("DOMContentLoaded",e,false);bb.addEventListener("load",bF.ready,false)}else{if(av.attachEvent){av.attachEvent("onreadystatechange",e);bb.attachEvent("onload",bF.ready);var b0=false;try{b0=bb.frameElement==null}catch(b1){}if(av.documentElement.doScroll&&b0){bw()}}}},isFunction:function(b0){return bF.type(b0)==="function"},isArray:Array.isArray||function(b0){return bF.type(b0)==="array"},isWindow:function(b0){return b0&&typeof b0==="object"&&"setInterval" in b0},isNumeric:function(b0){return !isNaN(parseFloat(b0))&&isFinite(b0)},type:function(b0){return b0==null?String(b0):bx[bL.call(b0)]||"object"},isPlainObject:function(b2){if(!b2||bF.type(b2)!=="object"||b2.nodeType||bF.isWindow(b2)){return false}try{if(b2.constructor&&!bG.call(b2,"constructor")&&!bG.call(b2.constructor.prototype,"isPrototypeOf")){return false}}catch(b1){return false}var b0;for(b0 in b2){}return b0===L||bG.call(b2,b0)},isEmptyObject:function(b1){for(var b0 in b1){return false}return true},error:function(b0){throw new Error(b0)},parseJSON:function(b0){if(typeof b0!=="string"||!b0){return null}b0=bF.trim(b0);if(bb.JSON&&bb.JSON.parse){return bb.JSON.parse(b0)}if(bN.test(b0.replace(bW,"@").replace(bP,"]").replace(bJ,""))){return(new Function("return "+b0))()}bF.error("Invalid JSON: "+b0)},parseXML:function(b2){var b0,b1;try{if(bb.DOMParser){b1=new DOMParser();b0=b1.parseFromString(b2,"text/xml")}else{b0=new ActiveXObject("Microsoft.XMLDOM");b0.async="false";b0.loadXML(b2)}}catch(b3){b0=L}if(!b0||!b0.documentElement||b0.getElementsByTagName("parsererror").length){bF.error("Invalid XML: "+b2)}return b0},noop:function(){},globalEval:function(b0){if(b0&&bM.test(b0)){(bb.execScript||function(b1){bb["eval"].call(bb,b1)})(b0)}},camelCase:function(b0){return b0.replace(bZ,"ms-").replace(bB,bT)},nodeName:function(b1,b0){return b1.nodeName&&b1.nodeName.toUpperCase()===b0.toUpperCase()},each:function(b3,b6,b2){var b1,b4=0,b5=b3.length,b0=b5===L||bF.isFunction(b3);if(b2){if(b0){for(b1 in b3){if(b6.apply(b3[b1],b2)===false){break}}}else{for(;b40&&b0[0]&&b0[b1-1])||b1===0||bF.isArray(b0));if(b3){for(;b21?aJ.call(arguments,0):bG;if(!(--bw)){bC.resolveWith(bC,bx)}}}function bz(bF){return function(bG){bB[bF]=arguments.length>1?aJ.call(arguments,0):bG;bC.notifyWith(bE,bB)}}if(e>1){for(;bv
a";bI=bv.getElementsByTagName("*");bF=bv.getElementsByTagName("a")[0];if(!bI||!bI.length||!bF){return{}}bG=av.createElement("select");bx=bG.appendChild(av.createElement("option"));bE=bv.getElementsByTagName("input")[0];bJ={leadingWhitespace:(bv.firstChild.nodeType===3),tbody:!bv.getElementsByTagName("tbody").length,htmlSerialize:!!bv.getElementsByTagName("link").length,style:/top/.test(bF.getAttribute("style")),hrefNormalized:(bF.getAttribute("href")==="/a"),opacity:/^0.55/.test(bF.style.opacity),cssFloat:!!bF.style.cssFloat,checkOn:(bE.value==="on"),optSelected:bx.selected,getSetAttribute:bv.className!=="t",enctype:!!av.createElement("form").enctype,html5Clone:av.createElement("nav").cloneNode(true).outerHTML!=="<:nav>",submitBubbles:true,changeBubbles:true,focusinBubbles:false,deleteExpando:true,noCloneEvent:true,inlineBlockNeedsLayout:false,shrinkWrapBlocks:false,reliableMarginRight:true};bE.checked=true;bJ.noCloneChecked=bE.cloneNode(true).checked;bG.disabled=true;bJ.optDisabled=!bx.disabled;try{delete bv.test}catch(bC){bJ.deleteExpando=false}if(!bv.addEventListener&&bv.attachEvent&&bv.fireEvent){bv.attachEvent("onclick",function(){bJ.noCloneEvent=false});bv.cloneNode(true).fireEvent("onclick")}bE=av.createElement("input");bE.value="t";bE.setAttribute("type","radio");bJ.radioValue=bE.value==="t";bE.setAttribute("checked","checked");bv.appendChild(bE);bD=av.createDocumentFragment();bD.appendChild(bv.lastChild);bJ.checkClone=bD.cloneNode(true).cloneNode(true).lastChild.checked;bJ.appendChecked=bE.checked;bD.removeChild(bE);bD.appendChild(bv);bv.innerHTML="";if(bb.getComputedStyle){bA=av.createElement("div");bA.style.width="0";bA.style.marginRight="0";bv.style.width="2px";bv.appendChild(bA);bJ.reliableMarginRight=(parseInt((bb.getComputedStyle(bA,null)||{marginRight:0}).marginRight,10)||0)===0}if(bv.attachEvent){for(by in {submit:1,change:1,focusin:1}){bB="on"+by;bw=(bB in bv);if(!bw){bv.setAttribute(bB,"return;");bw=(typeof bv[bB]==="function")}bJ[by+"Bubbles"]=bw}}bD.removeChild(bv);bD=bG=bx=bA=bv=bE=null;b(function(){var bM,bU,bV,bT,bN,bO,bL,bS,bR,e,bP,bQ=av.getElementsByTagName("body")[0];if(!bQ){return}bL=1;bS="position:absolute;top:0;left:0;width:1px;height:1px;margin:0;";bR="visibility:hidden;border:0;";e="style='"+bS+"border:5px solid #000;padding:0;'";bP="
";bM=av.createElement("div");bM.style.cssText=bR+"width:0;height:0;position:static;top:0;margin-top:"+bL+"px";bQ.insertBefore(bM,bQ.firstChild);bv=av.createElement("div");bM.appendChild(bv);bv.innerHTML="
t
";bz=bv.getElementsByTagName("td");bw=(bz[0].offsetHeight===0);bz[0].style.display="";bz[1].style.display="none";bJ.reliableHiddenOffsets=bw&&(bz[0].offsetHeight===0);bv.innerHTML="";bv.style.width=bv.style.paddingLeft="1px";b.boxModel=bJ.boxModel=bv.offsetWidth===2;if(typeof bv.style.zoom!=="undefined"){bv.style.display="inline";bv.style.zoom=1;bJ.inlineBlockNeedsLayout=(bv.offsetWidth===2);bv.style.display="";bv.innerHTML="
";bJ.shrinkWrapBlocks=(bv.offsetWidth!==2)}bv.style.cssText=bS+bR;bv.innerHTML=bP;bU=bv.firstChild;bV=bU.firstChild;bN=bU.nextSibling.firstChild.firstChild;bO={doesNotAddBorder:(bV.offsetTop!==5),doesAddBorderForTableAndCells:(bN.offsetTop===5)};bV.style.position="fixed";bV.style.top="20px";bO.fixedPosition=(bV.offsetTop===20||bV.offsetTop===15);bV.style.position=bV.style.top="";bU.style.overflow="hidden";bU.style.position="relative";bO.subtractsBorderForOverflowNotVisible=(bV.offsetTop===-5);bO.doesNotIncludeMarginInBodyOffset=(bQ.offsetTop!==bL);bQ.removeChild(bM);bv=bM=null;b.extend(bJ,bO)});return bJ})();var aS=/^(?:\{.*\}|\[.*\])$/,aA=/([A-Z])/g;b.extend({cache:{},uuid:0,expando:"jQuery"+(b.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:true,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:true},hasData:function(e){e=e.nodeType?b.cache[e[b.expando]]:e[b.expando];return !!e&&!S(e)},data:function(bx,bv,bz,by){if(!b.acceptData(bx)){return}var bG,bA,bD,bE=b.expando,bC=typeof bv==="string",bF=bx.nodeType,e=bF?b.cache:bx,bw=bF?bx[bE]:bx[bE]&&bE,bB=bv==="events";if((!bw||!e[bw]||(!bB&&!by&&!e[bw].data))&&bC&&bz===L){return}if(!bw){if(bF){bx[bE]=bw=++b.uuid}else{bw=bE}}if(!e[bw]){e[bw]={};if(!bF){e[bw].toJSON=b.noop}}if(typeof bv==="object"||typeof bv==="function"){if(by){e[bw]=b.extend(e[bw],bv)}else{e[bw].data=b.extend(e[bw].data,bv)}}bG=bA=e[bw];if(!by){if(!bA.data){bA.data={}}bA=bA.data}if(bz!==L){bA[b.camelCase(bv)]=bz}if(bB&&!bA[bv]){return bG.events}if(bC){bD=bA[bv];if(bD==null){bD=bA[b.camelCase(bv)]}}else{bD=bA}return bD},removeData:function(bx,bv,by){if(!b.acceptData(bx)){return}var bB,bA,bz,bC=b.expando,bD=bx.nodeType,e=bD?b.cache:bx,bw=bD?bx[bC]:bC;if(!e[bw]){return}if(bv){bB=by?e[bw]:e[bw].data;if(bB){if(!b.isArray(bv)){if(bv in bB){bv=[bv]}else{bv=b.camelCase(bv);if(bv in bB){bv=[bv]}else{bv=bv.split(" ")}}}for(bA=0,bz=bv.length;bA-1){return true}}return false},val:function(bx){var e,bv,by,bw=this[0];if(!arguments.length){if(bw){e=b.valHooks[bw.nodeName.toLowerCase()]||b.valHooks[bw.type];if(e&&"get" in e&&(bv=e.get(bw,"value"))!==L){return bv}bv=bw.value;return typeof bv==="string"?bv.replace(aU,""):bv==null?"":bv}return}by=b.isFunction(bx);return this.each(function(bA){var bz=b(this),bB;if(this.nodeType!==1){return}if(by){bB=bx.call(this,bA,bz.val())}else{bB=bx}if(bB==null){bB=""}else{if(typeof bB==="number"){bB+=""}else{if(b.isArray(bB)){bB=b.map(bB,function(bC){return bC==null?"":bC+""})}}}e=b.valHooks[this.nodeName.toLowerCase()]||b.valHooks[this.type];if(!e||!("set" in e)||e.set(this,bB,"value")===L){this.value=bB}})}});b.extend({valHooks:{option:{get:function(e){var bv=e.attributes.value;return !bv||bv.specified?e.value:e.text}},select:{get:function(e){var bA,bv,bz,bx,by=e.selectedIndex,bB=[],bC=e.options,bw=e.type==="select-one";if(by<0){return null}bv=bw?by:0;bz=bw?by+1:bC.length;for(;bv=0});if(!e.length){bv.selectedIndex=-1}return e}}},attrFn:{val:true,css:true,html:true,text:true,data:true,width:true,height:true,offset:true},attr:function(bA,bx,bB,bz){var bw,e,by,bv=bA.nodeType; +if(!bA||bv===3||bv===8||bv===2){return}if(bz&&bx in b.attrFn){return b(bA)[bx](bB)}if(typeof bA.getAttribute==="undefined"){return b.prop(bA,bx,bB)}by=bv!==1||!b.isXMLDoc(bA);if(by){bx=bx.toLowerCase();e=b.attrHooks[bx]||(ao.test(bx)?aY:be)}if(bB!==L){if(bB===null){b.removeAttr(bA,bx);return}else{if(e&&"set" in e&&by&&(bw=e.set(bA,bB,bx))!==L){return bw}else{bA.setAttribute(bx,""+bB);return bB}}}else{if(e&&"get" in e&&by&&(bw=e.get(bA,bx))!==null){return bw}else{bw=bA.getAttribute(bx);return bw===null?L:bw}}},removeAttr:function(bx,bz){var by,bA,bv,e,bw=0;if(bz&&bx.nodeType===1){bA=bz.toLowerCase().split(af);e=bA.length;for(;bw=0)}}})});var bd=/^(?:textarea|input|select)$/i,n=/^([^\.]*)?(?:\.(.+))?$/,J=/\bhover(\.\S+)?\b/,aO=/^key/,bf=/^(?:mouse|contextmenu)|click/,T=/^(?:focusinfocus|focusoutblur)$/,U=/^(\w*)(?:#([\w\-]+))?(?:\.([\w\-]+))?$/,Y=function(e){var bv=U.exec(e);if(bv){bv[1]=(bv[1]||"").toLowerCase();bv[3]=bv[3]&&new RegExp("(?:^|\\s)"+bv[3]+"(?:\\s|$)")}return bv},j=function(bw,e){var bv=bw.attributes||{};return((!e[1]||bw.nodeName.toLowerCase()===e[1])&&(!e[2]||(bv.id||{}).value===e[2])&&(!e[3]||e[3].test((bv["class"]||{}).value)))},bt=function(e){return b.event.special.hover?e:e.replace(J,"mouseenter$1 mouseleave$1")};b.event={add:function(bx,bC,bJ,bA,by){var bD,bB,bK,bI,bH,bF,e,bG,bv,bz,bw,bE;if(bx.nodeType===3||bx.nodeType===8||!bC||!bJ||!(bD=b._data(bx))){return}if(bJ.handler){bv=bJ;bJ=bv.handler}if(!bJ.guid){bJ.guid=b.guid++}bK=bD.events;if(!bK){bD.events=bK={}}bB=bD.handle;if(!bB){bD.handle=bB=function(bL){return typeof b!=="undefined"&&(!bL||b.event.triggered!==bL.type)?b.event.dispatch.apply(bB.elem,arguments):L};bB.elem=bx}bC=b.trim(bt(bC)).split(" ");for(bI=0;bI=0){bG=bG.slice(0,-1);bw=true}if(bG.indexOf(".")>=0){bx=bG.split(".");bG=bx.shift();bx.sort()}if((!bA||b.event.customEvent[bG])&&!b.event.global[bG]){return}bv=typeof bv==="object"?bv[b.expando]?bv:new b.Event(bG,bv):new b.Event(bG);bv.type=bG;bv.isTrigger=true;bv.exclusive=bw;bv.namespace=bx.join(".");bv.namespace_re=bv.namespace?new RegExp("(^|\\.)"+bx.join("\\.(?:.*\\.)?")+"(\\.|$)"):null;by=bG.indexOf(":")<0?"on"+bG:"";if(!bA){e=b.cache;for(bC in e){if(e[bC].events&&e[bC].events[bG]){b.event.trigger(bv,bD,e[bC].handle.elem,true)}}return}bv.result=L;if(!bv.target){bv.target=bA}bD=bD!=null?b.makeArray(bD):[];bD.unshift(bv);bF=b.event.special[bG]||{};if(bF.trigger&&bF.trigger.apply(bA,bD)===false){return}bB=[[bA,bF.bindType||bG]];if(!bJ&&!bF.noBubble&&!b.isWindow(bA)){bI=bF.delegateType||bG;bH=T.test(bI+bG)?bA:bA.parentNode;bz=null;for(;bH;bH=bH.parentNode){bB.push([bH,bI]);bz=bH}if(bz&&bz===bA.ownerDocument){bB.push([bz.defaultView||bz.parentWindow||bb,bI])}}for(bC=0;bCbA){bH.push({elem:this,matches:bz.slice(bA)})}for(bC=0;bC0?this.on(e,null,bx,bw):this.trigger(e)};if(b.attrFn){b.attrFn[e]=true}if(aO.test(e)){b.event.fixHooks[e]=b.event.keyHooks}if(bf.test(e)){b.event.fixHooks[e]=b.event.mouseHooks}}); +/*! + * Sizzle CSS Selector Engine + * Copyright 2011, The Dojo Foundation + * Released under the MIT, BSD, and GPL Licenses. + * More information: http://sizzlejs.com/ + */ +(function(){var bH=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,bC="sizcache"+(Math.random()+"").replace(".",""),bI=0,bL=Object.prototype.toString,bB=false,bA=true,bK=/\\/g,bO=/\r\n/g,bQ=/\W/;[0,0].sort(function(){bA=false;return 0});var by=function(bV,e,bY,bZ){bY=bY||[];e=e||av;var b1=e;if(e.nodeType!==1&&e.nodeType!==9){return[]}if(!bV||typeof bV!=="string"){return bY}var bS,b3,b6,bR,b2,b5,b4,bX,bU=true,bT=by.isXML(e),bW=[],b0=bV;do{bH.exec("");bS=bH.exec(b0);if(bS){b0=bS[3];bW.push(bS[1]);if(bS[2]){bR=bS[3];break}}}while(bS);if(bW.length>1&&bD.exec(bV)){if(bW.length===2&&bE.relative[bW[0]]){b3=bM(bW[0]+bW[1],e,bZ)}else{b3=bE.relative[bW[0]]?[e]:by(bW.shift(),e);while(bW.length){bV=bW.shift();if(bE.relative[bV]){bV+=bW.shift()}b3=bM(bV,b3,bZ)}}}else{if(!bZ&&bW.length>1&&e.nodeType===9&&!bT&&bE.match.ID.test(bW[0])&&!bE.match.ID.test(bW[bW.length-1])){b2=by.find(bW.shift(),e,bT);e=b2.expr?by.filter(b2.expr,b2.set)[0]:b2.set[0]}if(e){b2=bZ?{expr:bW.pop(),set:bF(bZ)}:by.find(bW.pop(),bW.length===1&&(bW[0]==="~"||bW[0]==="+")&&e.parentNode?e.parentNode:e,bT);b3=b2.expr?by.filter(b2.expr,b2.set):b2.set;if(bW.length>0){b6=bF(b3)}else{bU=false}while(bW.length){b5=bW.pop();b4=b5;if(!bE.relative[b5]){b5=""}else{b4=bW.pop()}if(b4==null){b4=e}bE.relative[b5](b6,b4,bT)}}else{b6=bW=[]}}if(!b6){b6=b3}if(!b6){by.error(b5||bV)}if(bL.call(b6)==="[object Array]"){if(!bU){bY.push.apply(bY,b6)}else{if(e&&e.nodeType===1){for(bX=0;b6[bX]!=null;bX++){if(b6[bX]&&(b6[bX]===true||b6[bX].nodeType===1&&by.contains(e,b6[bX]))){bY.push(b3[bX])}}}else{for(bX=0;b6[bX]!=null;bX++){if(b6[bX]&&b6[bX].nodeType===1){bY.push(b3[bX])}}}}}else{bF(b6,bY)}if(bR){by(bR,b1,bY,bZ);by.uniqueSort(bY)}return bY};by.uniqueSort=function(bR){if(bJ){bB=bA;bR.sort(bJ);if(bB){for(var e=1;e0};by.find=function(bX,e,bY){var bW,bS,bU,bT,bV,bR;if(!bX){return[]}for(bS=0,bU=bE.order.length;bS":function(bW,bR){var bV,bU=typeof bR==="string",bS=0,e=bW.length;if(bU&&!bQ.test(bR)){bR=bR.toLowerCase();for(;bS=0)){if(!bS){e.push(bV)}}else{if(bS){bR[bU]=false}}}}return false},ID:function(e){return e[1].replace(bK,"")},TAG:function(bR,e){return bR[1].replace(bK,"").toLowerCase()},CHILD:function(e){if(e[1]==="nth"){if(!e[2]){by.error(e[0])}e[2]=e[2].replace(/^\+|\s*/g,"");var bR=/(-?)(\d*)(?:n([+\-]?\d*))?/.exec(e[2]==="even"&&"2n"||e[2]==="odd"&&"2n+1"||!/\D/.test(e[2])&&"0n+"+e[2]||e[2]);e[2]=(bR[1]+(bR[2]||1))-0;e[3]=bR[3]-0}else{if(e[2]){by.error(e[0])}}e[0]=bI++;return e},ATTR:function(bU,bR,bS,e,bV,bW){var bT=bU[1]=bU[1].replace(bK,"");if(!bW&&bE.attrMap[bT]){bU[1]=bE.attrMap[bT]}bU[4]=(bU[4]||bU[5]||"").replace(bK,"");if(bU[2]==="~="){bU[4]=" "+bU[4]+" "}return bU},PSEUDO:function(bU,bR,bS,e,bV){if(bU[1]==="not"){if((bH.exec(bU[3])||"").length>1||/^\w/.test(bU[3])){bU[3]=by(bU[3],null,null,bR)}else{var bT=by.filter(bU[3],bR,bS,true^bV);if(!bS){e.push.apply(e,bT)}return false}}else{if(bE.match.POS.test(bU[0])||bE.match.CHILD.test(bU[0])){return true}}return bU},POS:function(e){e.unshift(true);return e}},filters:{enabled:function(e){return e.disabled===false&&e.type!=="hidden"},disabled:function(e){return e.disabled===true},checked:function(e){return e.checked===true},selected:function(e){if(e.parentNode){e.parentNode.selectedIndex}return e.selected===true},parent:function(e){return !!e.firstChild},empty:function(e){return !e.firstChild},has:function(bS,bR,e){return !!by(e[3],bS).length},header:function(e){return(/h\d/i).test(e.nodeName)},text:function(bS){var e=bS.getAttribute("type"),bR=bS.type;return bS.nodeName.toLowerCase()==="input"&&"text"===bR&&(e===bR||e===null)},radio:function(e){return e.nodeName.toLowerCase()==="input"&&"radio"===e.type},checkbox:function(e){return e.nodeName.toLowerCase()==="input"&&"checkbox"===e.type},file:function(e){return e.nodeName.toLowerCase()==="input"&&"file"===e.type},password:function(e){return e.nodeName.toLowerCase()==="input"&&"password"===e.type},submit:function(bR){var e=bR.nodeName.toLowerCase();return(e==="input"||e==="button")&&"submit"===bR.type},image:function(e){return e.nodeName.toLowerCase()==="input"&&"image"===e.type},reset:function(bR){var e=bR.nodeName.toLowerCase();return(e==="input"||e==="button")&&"reset"===bR.type},button:function(bR){var e=bR.nodeName.toLowerCase();return e==="input"&&"button"===bR.type||e==="button"},input:function(e){return(/input|select|textarea|button/i).test(e.nodeName)},focus:function(e){return e===e.ownerDocument.activeElement}},setFilters:{first:function(bR,e){return e===0},last:function(bS,bR,e,bT){return bR===bT.length-1},even:function(bR,e){return e%2===0},odd:function(bR,e){return e%2===1 +},lt:function(bS,bR,e){return bRe[3]-0},nth:function(bS,bR,e){return e[3]-0===bR},eq:function(bS,bR,e){return e[3]-0===bR}},filter:{PSEUDO:function(bS,bX,bW,bY){var e=bX[1],bR=bE.filters[e];if(bR){return bR(bS,bW,bX,bY)}else{if(e==="contains"){return(bS.textContent||bS.innerText||bw([bS])||"").indexOf(bX[3])>=0}else{if(e==="not"){var bT=bX[3];for(var bV=0,bU=bT.length;bV=0)}}},ID:function(bR,e){return bR.nodeType===1&&bR.getAttribute("id")===e},TAG:function(bR,e){return(e==="*"&&bR.nodeType===1)||!!bR.nodeName&&bR.nodeName.toLowerCase()===e},CLASS:function(bR,e){return(" "+(bR.className||bR.getAttribute("class"))+" ").indexOf(e)>-1},ATTR:function(bV,bT){var bS=bT[1],e=by.attr?by.attr(bV,bS):bE.attrHandle[bS]?bE.attrHandle[bS](bV):bV[bS]!=null?bV[bS]:bV.getAttribute(bS),bW=e+"",bU=bT[2],bR=bT[4];return e==null?bU==="!=":!bU&&by.attr?e!=null:bU==="="?bW===bR:bU==="*="?bW.indexOf(bR)>=0:bU==="~="?(" "+bW+" ").indexOf(bR)>=0:!bR?bW&&e!==false:bU==="!="?bW!==bR:bU==="^="?bW.indexOf(bR)===0:bU==="$="?bW.substr(bW.length-bR.length)===bR:bU==="|="?bW===bR||bW.substr(0,bR.length+1)===bR+"-":false},POS:function(bU,bR,bS,bV){var e=bR[2],bT=bE.setFilters[e];if(bT){return bT(bU,bS,bR,bV)}}}};var bD=bE.match.POS,bx=function(bR,e){return"\\"+(e-0+1)};for(var bz in bE.match){bE.match[bz]=new RegExp(bE.match[bz].source+(/(?![^\[]*\])(?![^\(]*\))/.source));bE.leftMatch[bz]=new RegExp(/(^(?:.|\r|\n)*?)/.source+bE.match[bz].source.replace(/\\(\d+)/g,bx))}var bF=function(bR,e){bR=Array.prototype.slice.call(bR,0);if(e){e.push.apply(e,bR);return e}return bR};try{Array.prototype.slice.call(av.documentElement.childNodes,0)[0].nodeType}catch(bP){bF=function(bU,bT){var bS=0,bR=bT||[];if(bL.call(bU)==="[object Array]"){Array.prototype.push.apply(bR,bU)}else{if(typeof bU.length==="number"){for(var e=bU.length;bS";e.insertBefore(bR,e.firstChild);if(av.getElementById(bS)){bE.find.ID=function(bU,bV,bW){if(typeof bV.getElementById!=="undefined"&&!bW){var bT=bV.getElementById(bU[1]);return bT?bT.id===bU[1]||typeof bT.getAttributeNode!=="undefined"&&bT.getAttributeNode("id").nodeValue===bU[1]?[bT]:L:[]}};bE.filter.ID=function(bV,bT){var bU=typeof bV.getAttributeNode!=="undefined"&&bV.getAttributeNode("id");return bV.nodeType===1&&bU&&bU.nodeValue===bT}}e.removeChild(bR);e=bR=null})();(function(){var e=av.createElement("div");e.appendChild(av.createComment(""));if(e.getElementsByTagName("*").length>0){bE.find.TAG=function(bR,bV){var bU=bV.getElementsByTagName(bR[1]);if(bR[1]==="*"){var bT=[];for(var bS=0;bU[bS];bS++){if(bU[bS].nodeType===1){bT.push(bU[bS])}}bU=bT}return bU}}e.innerHTML="";if(e.firstChild&&typeof e.firstChild.getAttribute!=="undefined"&&e.firstChild.getAttribute("href")!=="#"){bE.attrHandle.href=function(bR){return bR.getAttribute("href",2)}}e=null})();if(av.querySelectorAll){(function(){var e=by,bT=av.createElement("div"),bS="__sizzle__";bT.innerHTML="

";if(bT.querySelectorAll&&bT.querySelectorAll(".TEST").length===0){return}by=function(b4,bV,bZ,b3){bV=bV||av;if(!b3&&!by.isXML(bV)){var b2=/^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(b4);if(b2&&(bV.nodeType===1||bV.nodeType===9)){if(b2[1]){return bF(bV.getElementsByTagName(b4),bZ)}else{if(b2[2]&&bE.find.CLASS&&bV.getElementsByClassName){return bF(bV.getElementsByClassName(b2[2]),bZ)}}}if(bV.nodeType===9){if(b4==="body"&&bV.body){return bF([bV.body],bZ)}else{if(b2&&b2[3]){var bY=bV.getElementById(b2[3]);if(bY&&bY.parentNode){if(bY.id===b2[3]){return bF([bY],bZ)}}else{return bF([],bZ)}}}try{return bF(bV.querySelectorAll(b4),bZ)}catch(b0){}}else{if(bV.nodeType===1&&bV.nodeName.toLowerCase()!=="object"){var bW=bV,bX=bV.getAttribute("id"),bU=bX||bS,b6=bV.parentNode,b5=/^\s*[+~]/.test(b4);if(!bX){bV.setAttribute("id",bU)}else{bU=bU.replace(/'/g,"\\$&")}if(b5&&b6){bV=bV.parentNode}try{if(!b5||b6){return bF(bV.querySelectorAll("[id='"+bU+"'] "+b4),bZ)}}catch(b1){}finally{if(!bX){bW.removeAttribute("id")}}}}}return e(b4,bV,bZ,b3)};for(var bR in e){by[bR]=e[bR]}bT=null})()}(function(){var e=av.documentElement,bS=e.matchesSelector||e.mozMatchesSelector||e.webkitMatchesSelector||e.msMatchesSelector;if(bS){var bU=!bS.call(av.createElement("div"),"div"),bR=false;try{bS.call(av.documentElement,"[test!='']:sizzle")}catch(bT){bR=true}by.matchesSelector=function(bW,bY){bY=bY.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!by.isXML(bW)){try{if(bR||!bE.match.PSEUDO.test(bY)&&!/!=/.test(bY)){var bV=bS.call(bW,bY);if(bV||!bU||bW.document&&bW.document.nodeType!==11){return bV}}}catch(bX){}}return by(bY,null,null,[bW]).length>0}}})();(function(){var e=av.createElement("div");e.innerHTML="
";if(!e.getElementsByClassName||e.getElementsByClassName("e").length===0){return}e.lastChild.className="e";if(e.getElementsByClassName("e").length===1){return}bE.order.splice(1,0,"CLASS");bE.find.CLASS=function(bR,bS,bT){if(typeof bS.getElementsByClassName!=="undefined"&&!bT){return bS.getElementsByClassName(bR[1])}};e=null})();function bv(bR,bW,bV,bZ,bX,bY){for(var bT=0,bS=bZ.length;bT0){bU=e;break}}}e=e[bR]}bZ[bT]=bU}}}if(av.documentElement.contains){by.contains=function(bR,e){return bR!==e&&(bR.contains?bR.contains(e):true)}}else{if(av.documentElement.compareDocumentPosition){by.contains=function(bR,e){return !!(bR.compareDocumentPosition(e)&16)}}else{by.contains=function(){return false}}}by.isXML=function(e){var bR=(e?e.ownerDocument||e:0).documentElement;return bR?bR.nodeName!=="HTML":false};var bM=function(bS,e,bW){var bV,bX=[],bU="",bY=e.nodeType?[e]:e;while((bV=bE.match.PSEUDO.exec(bS))){bU+=bV[0];bS=bS.replace(bE.match.PSEUDO,"")}bS=bE.relative[bS]?bS+"*":bS;for(var bT=0,bR=bY.length;bT0){for(bB=bA;bB=0:b.filter(e,this).length>0:this.filter(e).length>0)},closest:function(by,bx){var bv=[],bw,e,bz=this[0];if(b.isArray(by)){var bB=1;while(bz&&bz.ownerDocument&&bz!==bx){for(bw=0;bw-1:b.find.matchesSelector(bz,by)){bv.push(bz);break}else{bz=bz.parentNode;if(!bz||!bz.ownerDocument||bz===bx||bz.nodeType===11){break}}}}bv=bv.length>1?b.unique(bv):bv;return this.pushStack(bv,"closest",by)},index:function(e){if(!e){return(this[0]&&this[0].parentNode)?this.prevAll().length:-1}if(typeof e==="string"){return b.inArray(this[0],b(e))}return b.inArray(e.jquery?e[0]:e,this)},add:function(e,bv){var bx=typeof e==="string"?b(e,bv):b.makeArray(e&&e.nodeType?[e]:e),bw=b.merge(this.get(),bx);return this.pushStack(C(bx[0])||C(bw[0])?bw:b.unique(bw))},andSelf:function(){return this.add(this.prevObject)}});function C(e){return !e||!e.parentNode||e.parentNode.nodeType===11}b.each({parent:function(bv){var e=bv.parentNode;return e&&e.nodeType!==11?e:null},parents:function(e){return b.dir(e,"parentNode")},parentsUntil:function(bv,e,bw){return b.dir(bv,"parentNode",bw)},next:function(e){return b.nth(e,2,"nextSibling")},prev:function(e){return b.nth(e,2,"previousSibling")},nextAll:function(e){return b.dir(e,"nextSibling")},prevAll:function(e){return b.dir(e,"previousSibling")},nextUntil:function(bv,e,bw){return b.dir(bv,"nextSibling",bw)},prevUntil:function(bv,e,bw){return b.dir(bv,"previousSibling",bw)},siblings:function(e){return b.sibling(e.parentNode.firstChild,e)},children:function(e){return b.sibling(e.firstChild)},contents:function(e){return b.nodeName(e,"iframe")?e.contentDocument||e.contentWindow.document:b.makeArray(e.childNodes)}},function(e,bv){b.fn[e]=function(by,bw){var bx=b.map(this,bv,by);if(!ab.test(e)){bw=by}if(bw&&typeof bw==="string"){bx=b.filter(bw,bx)}bx=this.length>1&&!ay[e]?b.unique(bx):bx;if((this.length>1||a9.test(bw))&&aq.test(e)){bx=bx.reverse()}return this.pushStack(bx,e,P.call(arguments).join(","))}});b.extend({filter:function(bw,e,bv){if(bv){bw=":not("+bw+")"}return e.length===1?b.find.matchesSelector(e[0],bw)?[e[0]]:[]:b.find.matches(bw,e)},dir:function(bw,bv,by){var e=[],bx=bw[bv];while(bx&&bx.nodeType!==9&&(by===L||bx.nodeType!==1||!b(bx).is(by))){if(bx.nodeType===1){e.push(bx)}bx=bx[bv]}return e},nth:function(by,e,bw,bx){e=e||1;var bv=0;for(;by;by=by[bw]){if(by.nodeType===1&&++bv===e){break}}return by},sibling:function(bw,bv){var e=[];for(;bw;bw=bw.nextSibling){if(bw.nodeType===1&&bw!==bv){e.push(bw)}}return e}});function aG(bx,bw,e){bw=bw||0;if(b.isFunction(bw)){return b.grep(bx,function(bz,by){var bA=!!bw.call(bz,by,bz);return bA===e})}else{if(bw.nodeType){return b.grep(bx,function(bz,by){return(bz===bw)===e})}else{if(typeof bw==="string"){var bv=b.grep(bx,function(by){return by.nodeType===1});if(bp.test(bw)){return b.filter(bw,bv,!e)}else{bw=b.filter(bw,bv)}}}}return b.grep(bx,function(bz,by){return(b.inArray(bz,bw)>=0)===e})}function a(e){var bw=aR.split("|"),bv=e.createDocumentFragment();if(bv.createElement){while(bw.length){bv.createElement(bw.pop())}}return bv}var aR="abbr|article|aside|audio|canvas|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",ag=/ jQuery\d+="(?:\d+|null)"/g,ar=/^\s+/,R=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,d=/<([\w:]+)/,w=/",""],legend:[1,"
","
"],thead:[1,"","
"],tr:[2,"","
"],td:[3,"","
"],col:[2,"","
"],area:[1,"",""],_default:[0,"",""]},ac=a(av); +ax.optgroup=ax.option;ax.tbody=ax.tfoot=ax.colgroup=ax.caption=ax.thead;ax.th=ax.td;if(!b.support.htmlSerialize){ax._default=[1,"div
","
"]}b.fn.extend({text:function(e){if(b.isFunction(e)){return this.each(function(bw){var bv=b(this);bv.text(e.call(this,bw,bv.text()))})}if(typeof e!=="object"&&e!==L){return this.empty().append((this[0]&&this[0].ownerDocument||av).createTextNode(e))}return b.text(this)},wrapAll:function(e){if(b.isFunction(e)){return this.each(function(bw){b(this).wrapAll(e.call(this,bw))})}if(this[0]){var bv=b(e,this[0].ownerDocument).eq(0).clone(true);if(this[0].parentNode){bv.insertBefore(this[0])}bv.map(function(){var bw=this;while(bw.firstChild&&bw.firstChild.nodeType===1){bw=bw.firstChild}return bw}).append(this)}return this},wrapInner:function(e){if(b.isFunction(e)){return this.each(function(bv){b(this).wrapInner(e.call(this,bv))})}return this.each(function(){var bv=b(this),bw=bv.contents();if(bw.length){bw.wrapAll(e)}else{bv.append(e)}})},wrap:function(e){var bv=b.isFunction(e);return this.each(function(bw){b(this).wrapAll(bv?e.call(this,bw):e)})},unwrap:function(){return this.parent().each(function(){if(!b.nodeName(this,"body")){b(this).replaceWith(this.childNodes)}}).end()},append:function(){return this.domManip(arguments,true,function(e){if(this.nodeType===1){this.appendChild(e)}})},prepend:function(){return this.domManip(arguments,true,function(e){if(this.nodeType===1){this.insertBefore(e,this.firstChild)}})},before:function(){if(this[0]&&this[0].parentNode){return this.domManip(arguments,false,function(bv){this.parentNode.insertBefore(bv,this)})}else{if(arguments.length){var e=b.clean(arguments);e.push.apply(e,this.toArray());return this.pushStack(e,"before",arguments)}}},after:function(){if(this[0]&&this[0].parentNode){return this.domManip(arguments,false,function(bv){this.parentNode.insertBefore(bv,this.nextSibling)})}else{if(arguments.length){var e=this.pushStack(this,"after",arguments);e.push.apply(e,b.clean(arguments));return e}}},remove:function(e,bx){for(var bv=0,bw;(bw=this[bv])!=null;bv++){if(!e||b.filter(e,[bw]).length){if(!bx&&bw.nodeType===1){b.cleanData(bw.getElementsByTagName("*"));b.cleanData([bw])}if(bw.parentNode){bw.parentNode.removeChild(bw)}}}return this},empty:function(){for(var e=0,bv;(bv=this[e])!=null;e++){if(bv.nodeType===1){b.cleanData(bv.getElementsByTagName("*"))}while(bv.firstChild){bv.removeChild(bv.firstChild)}}return this},clone:function(bv,e){bv=bv==null?false:bv;e=e==null?bv:e;return this.map(function(){return b.clone(this,bv,e)})},html:function(bx){if(bx===L){return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(ag,""):null}else{if(typeof bx==="string"&&!ae.test(bx)&&(b.support.leadingWhitespace||!ar.test(bx))&&!ax[(d.exec(bx)||["",""])[1].toLowerCase()]){bx=bx.replace(R,"<$1>");try{for(var bw=0,bv=this.length;bw1&&bw0?this.clone(true):this).get();b(bC[bA])[bv](by);bz=bz.concat(by)}return this.pushStack(bz,e,bC.selector)}}});function bg(e){if(typeof e.getElementsByTagName!=="undefined"){return e.getElementsByTagName("*")}else{if(typeof e.querySelectorAll!=="undefined"){return e.querySelectorAll("*")}else{return[]}}}function az(e){if(e.type==="checkbox"||e.type==="radio"){e.defaultChecked=e.checked}}function E(e){var bv=(e.nodeName||"").toLowerCase();if(bv==="input"){az(e)}else{if(bv!=="script"&&typeof e.getElementsByTagName!=="undefined"){b.grep(e.getElementsByTagName("input"),az)}}}function al(e){var bv=av.createElement("div");ac.appendChild(bv);bv.innerHTML=e.outerHTML;return bv.firstChild}b.extend({clone:function(by,bA,bw){var e,bv,bx,bz=b.support.html5Clone||!ah.test("<"+by.nodeName)?by.cloneNode(true):al(by);if((!b.support.noCloneEvent||!b.support.noCloneChecked)&&(by.nodeType===1||by.nodeType===11)&&!b.isXMLDoc(by)){ai(by,bz);e=bg(by);bv=bg(bz);for(bx=0;e[bx];++bx){if(bv[bx]){ai(e[bx],bv[bx])}}}if(bA){t(by,bz);if(bw){e=bg(by);bv=bg(bz);for(bx=0;e[bx];++bx){t(e[bx],bv[bx])}}}e=bv=null;return bz},clean:function(bw,by,bH,bA){var bF;by=by||av;if(typeof by.createElement==="undefined"){by=by.ownerDocument||by[0]&&by[0].ownerDocument||av}var bI=[],bB;for(var bE=0,bz;(bz=bw[bE])!=null;bE++){if(typeof bz==="number"){bz+=""}if(!bz){continue}if(typeof bz==="string"){if(!W.test(bz)){bz=by.createTextNode(bz)}else{bz=bz.replace(R,"<$1>");var bK=(d.exec(bz)||["",""])[1].toLowerCase(),bx=ax[bK]||ax._default,bD=bx[0],bv=by.createElement("div");if(by===av){ac.appendChild(bv)}else{a(by).appendChild(bv)}bv.innerHTML=bx[1]+bz+bx[2];while(bD--){bv=bv.lastChild}if(!b.support.tbody){var e=w.test(bz),bC=bK==="table"&&!e?bv.firstChild&&bv.firstChild.childNodes:bx[1]===""&&!e?bv.childNodes:[];for(bB=bC.length-1;bB>=0;--bB){if(b.nodeName(bC[bB],"tbody")&&!bC[bB].childNodes.length){bC[bB].parentNode.removeChild(bC[bB])}}}if(!b.support.leadingWhitespace&&ar.test(bz)){bv.insertBefore(by.createTextNode(ar.exec(bz)[0]),bv.firstChild)}bz=bv.childNodes}}var bG;if(!b.support.appendChecked){if(bz[0]&&typeof(bG=bz.length)==="number"){for(bB=0;bB=0){return bx+"px"}}else{return bx}}}});if(!b.support.opacity){b.cssHooks.opacity={get:function(bv,e){return au.test((e&&bv.currentStyle?bv.currentStyle.filter:bv.style.filter)||"")?(parseFloat(RegExp.$1)/100)+"":e?"1":""},set:function(by,bz){var bx=by.style,bv=by.currentStyle,e=b.isNumeric(bz)?"alpha(opacity="+bz*100+")":"",bw=bv&&bv.filter||bx.filter||"";bx.zoom=1;if(bz>=1&&b.trim(bw.replace(ak,""))===""){bx.removeAttribute("filter");if(bv&&!bv.filter){return}}bx.filter=ak.test(bw)?bw.replace(ak,e):bw+" "+e}}}b(function(){if(!b.support.reliableMarginRight){b.cssHooks.marginRight={get:function(bw,bv){var e;b.swap(bw,{display:"inline-block"},function(){if(bv){e=Z(bw,"margin-right","marginRight")}else{e=bw.style.marginRight}});return e}}}});if(av.defaultView&&av.defaultView.getComputedStyle){aI=function(by,bw){var bv,bx,e;bw=bw.replace(z,"-$1").toLowerCase();if((bx=by.ownerDocument.defaultView)&&(e=bx.getComputedStyle(by,null))){bv=e.getPropertyValue(bw);if(bv===""&&!b.contains(by.ownerDocument.documentElement,by)){bv=b.style(by,bw)}}return bv}}if(av.documentElement.currentStyle){aX=function(bz,bw){var bA,e,by,bv=bz.currentStyle&&bz.currentStyle[bw],bx=bz.style;if(bv===null&&bx&&(by=bx[bw])){bv=by}if(!bc.test(bv)&&bn.test(bv)){bA=bx.left;e=bz.runtimeStyle&&bz.runtimeStyle.left;if(e){bz.runtimeStyle.left=bz.currentStyle.left}bx.left=bw==="fontSize"?"1em":(bv||0);bv=bx.pixelLeft+"px";bx.left=bA;if(e){bz.runtimeStyle.left=e}}return bv===""?"auto":bv}}Z=aI||aX;function p(by,bw,bv){var bA=bw==="width"?by.offsetWidth:by.offsetHeight,bz=bw==="width"?an:a1,bx=0,e=bz.length; +if(bA>0){if(bv!=="border"){for(;bx)<[^<]*)*<\/script>/gi,q=/^(?:select|textarea)/i,h=/\s+/,br=/([?&])_=[^&]*/,K=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+))?)?/,A=b.fn.load,aa={},r={},aE,s,aV=["*/"]+["*"];try{aE=bl.href}catch(aw){aE=av.createElement("a");aE.href="";aE=aE.href}s=K.exec(aE.toLowerCase())||[];function f(e){return function(by,bA){if(typeof by!=="string"){bA=by;by="*"}if(b.isFunction(bA)){var bx=by.toLowerCase().split(h),bw=0,bz=bx.length,bv,bB,bC;for(;bw=0){var e=bw.slice(by,bw.length);bw=bw.slice(0,by)}var bx="GET";if(bz){if(b.isFunction(bz)){bA=bz;bz=L}else{if(typeof bz==="object"){bz=b.param(bz,b.ajaxSettings.traditional);bx="POST"}}}var bv=this;b.ajax({url:bw,type:bx,dataType:"html",data:bz,complete:function(bC,bB,bD){bD=bC.responseText;if(bC.isResolved()){bC.done(function(bE){bD=bE});bv.html(e?b("
").append(bD.replace(a6,"")).find(e):bD)}if(bA){bv.each(bA,[bD,bB,bC])}}});return this},serialize:function(){return b.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?b.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||q.test(this.nodeName)||aZ.test(this.type))}).map(function(e,bv){var bw=b(this).val();return bw==null?null:b.isArray(bw)?b.map(bw,function(by,bx){return{name:bv.name,value:by.replace(bs,"\r\n")}}):{name:bv.name,value:bw.replace(bs,"\r\n")}}).get()}});b.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(e,bv){b.fn[bv]=function(bw){return this.on(bv,bw)}});b.each(["get","post"],function(e,bv){b[bv]=function(bw,by,bz,bx){if(b.isFunction(by)){bx=bx||bz;bz=by;by=L}return b.ajax({type:bv,url:bw,data:by,success:bz,dataType:bx})}});b.extend({getScript:function(e,bv){return b.get(e,L,bv,"script")},getJSON:function(e,bv,bw){return b.get(e,bv,bw,"json")},ajaxSetup:function(bv,e){if(e){am(bv,b.ajaxSettings)}else{e=bv;bv=b.ajaxSettings}am(bv,e);return bv},ajaxSettings:{url:aE,isLocal:aM.test(s[1]),global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":aV},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":bb.String,"text html":true,"text json":b.parseJSON,"text xml":b.parseXML},flatOptions:{context:true,url:true}},ajaxPrefilter:f(aa),ajaxTransport:f(r),ajax:function(bz,bx){if(typeof bz==="object"){bx=bz;bz=L}bx=bx||{};var bD=b.ajaxSetup({},bx),bS=bD.context||bD,bG=bS!==bD&&(bS.nodeType||bS instanceof b)?b(bS):b.event,bR=b.Deferred(),bN=b.Callbacks("once memory"),bB=bD.statusCode||{},bC,bH={},bO={},bQ,by,bL,bE,bI,bA=0,bw,bK,bJ={readyState:0,setRequestHeader:function(bT,bU){if(!bA){var e=bT.toLowerCase();bT=bO[e]=bO[e]||bT;bH[bT]=bU}return this},getAllResponseHeaders:function(){return bA===2?bQ:null},getResponseHeader:function(bT){var e;if(bA===2){if(!by){by={};while((e=aD.exec(bQ))){by[e[1].toLowerCase()]=e[2]}}e=by[bT.toLowerCase()]}return e===L?null:e},overrideMimeType:function(e){if(!bA){bD.mimeType=e}return this},abort:function(e){e=e||"abort";if(bL){bL.abort(e)}bF(0,e);return this}};function bF(bZ,bU,b0,bW){if(bA===2){return}bA=2;if(bE){clearTimeout(bE)}bL=L;bQ=bW||"";bJ.readyState=bZ>0?4:0;var bT,b4,b3,bX=bU,bY=b0?bj(bD,bJ,b0):L,bV,b2;if(bZ>=200&&bZ<300||bZ===304){if(bD.ifModified){if((bV=bJ.getResponseHeader("Last-Modified"))){b.lastModified[bC]=bV}if((b2=bJ.getResponseHeader("Etag"))){b.etag[bC]=b2}}if(bZ===304){bX="notmodified";bT=true}else{try{b4=G(bD,bY);bX="success";bT=true}catch(b1){bX="parsererror";b3=b1}}}else{b3=bX;if(!bX||bZ){bX="error";if(bZ<0){bZ=0}}}bJ.status=bZ;bJ.statusText=""+(bU||bX);if(bT){bR.resolveWith(bS,[b4,bX,bJ])}else{bR.rejectWith(bS,[bJ,bX,b3])}bJ.statusCode(bB);bB=L;if(bw){bG.trigger("ajax"+(bT?"Success":"Error"),[bJ,bD,bT?b4:b3])}bN.fireWith(bS,[bJ,bX]);if(bw){bG.trigger("ajaxComplete",[bJ,bD]);if(!(--b.active)){b.event.trigger("ajaxStop")}}}bR.promise(bJ);bJ.success=bJ.done;bJ.error=bJ.fail;bJ.complete=bN.add;bJ.statusCode=function(bT){if(bT){var e;if(bA<2){for(e in bT){bB[e]=[bB[e],bT[e]]}}else{e=bT[bJ.status];bJ.then(e,e)}}return this};bD.url=((bz||bD.url)+"").replace(bq,"").replace(c,s[1]+"//");bD.dataTypes=b.trim(bD.dataType||"*").toLowerCase().split(h);if(bD.crossDomain==null){bI=K.exec(bD.url.toLowerCase());bD.crossDomain=!!(bI&&(bI[1]!=s[1]||bI[2]!=s[2]||(bI[3]||(bI[1]==="http:"?80:443))!=(s[3]||(s[1]==="http:"?80:443))))}if(bD.data&&bD.processData&&typeof bD.data!=="string"){bD.data=b.param(bD.data,bD.traditional)}aW(aa,bD,bx,bJ);if(bA===2){return false}bw=bD.global;bD.type=bD.type.toUpperCase();bD.hasContent=!aQ.test(bD.type);if(bw&&b.active++===0){b.event.trigger("ajaxStart")}if(!bD.hasContent){if(bD.data){bD.url+=(M.test(bD.url)?"&":"?")+bD.data;delete bD.data}bC=bD.url;if(bD.cache===false){var bv=b.now(),bP=bD.url.replace(br,"$1_="+bv);bD.url=bP+((bP===bD.url)?(M.test(bD.url)?"&":"?")+"_="+bv:"")}}if(bD.data&&bD.hasContent&&bD.contentType!==false||bx.contentType){bJ.setRequestHeader("Content-Type",bD.contentType)}if(bD.ifModified){bC=bC||bD.url;if(b.lastModified[bC]){bJ.setRequestHeader("If-Modified-Since",b.lastModified[bC])}if(b.etag[bC]){bJ.setRequestHeader("If-None-Match",b.etag[bC])}}bJ.setRequestHeader("Accept",bD.dataTypes[0]&&bD.accepts[bD.dataTypes[0]]?bD.accepts[bD.dataTypes[0]]+(bD.dataTypes[0]!=="*"?", "+aV+"; q=0.01":""):bD.accepts["*"]);for(bK in bD.headers){bJ.setRequestHeader(bK,bD.headers[bK])}if(bD.beforeSend&&(bD.beforeSend.call(bS,bJ,bD)===false||bA===2)){bJ.abort();return false}for(bK in {success:1,error:1,complete:1}){bJ[bK](bD[bK])}bL=aW(r,bD,bx,bJ);if(!bL){bF(-1,"No Transport")}else{bJ.readyState=1;if(bw){bG.trigger("ajaxSend",[bJ,bD])}if(bD.async&&bD.timeout>0){bE=setTimeout(function(){bJ.abort("timeout")},bD.timeout)}try{bA=1;bL.send(bH,bF)}catch(bM){if(bA<2){bF(-1,bM)}else{throw bM}}}return bJ},param:function(e,bw){var bv=[],by=function(bz,bA){bA=b.isFunction(bA)?bA():bA;bv[bv.length]=encodeURIComponent(bz)+"="+encodeURIComponent(bA)};if(bw===L){bw=b.ajaxSettings.traditional}if(b.isArray(e)||(e.jquery&&!b.isPlainObject(e))){b.each(e,function(){by(this.name,this.value)})}else{for(var bx in e){v(bx,e[bx],bw,by)}}return bv.join("&").replace(k,"+")}});function v(bw,by,bv,bx){if(b.isArray(by)){b.each(by,function(bA,bz){if(bv||ap.test(bw)){bx(bw,bz)}else{v(bw+"["+(typeof bz==="object"||b.isArray(bz)?bA:"")+"]",bz,bv,bx)}})}else{if(!bv&&by!=null&&typeof by==="object"){for(var e in by){v(bw+"["+e+"]",by[e],bv,bx)}}else{bx(bw,by)}}}b.extend({active:0,lastModified:{},etag:{}});function bj(bD,bC,bz){var bv=bD.contents,bB=bD.dataTypes,bw=bD.responseFields,by,bA,bx,e;for(bA in bw){if(bA in bz){bC[bw[bA]]=bz[bA]}}while(bB[0]==="*"){bB.shift();if(by===L){by=bD.mimeType||bC.getResponseHeader("content-type")}}if(by){for(bA in bv){if(bv[bA]&&bv[bA].test(by)){bB.unshift(bA);break}}}if(bB[0] in bz){bx=bB[0]}else{for(bA in bz){if(!bB[0]||bD.converters[bA+" "+bB[0]]){bx=bA;break}if(!e){e=bA}}bx=bx||e}if(bx){if(bx!==bB[0]){bB.unshift(bx)}return bz[bx]}}function G(bH,bz){if(bH.dataFilter){bz=bH.dataFilter(bz,bH.dataType)}var bD=bH.dataTypes,bG={},bA,bE,bw=bD.length,bB,bC=bD[0],bx,by,bF,bv,e;for(bA=1;bA=bw.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();bw.animatedProperties[this.prop]=true;for(bA in bw.animatedProperties){if(bw.animatedProperties[bA]!==true){e=false}}if(e){if(bw.overflow!=null&&!b.support.shrinkWrapBlocks){b.each(["","X","Y"],function(bC,bD){bz.style["overflow"+bD]=bw.overflow[bC]})}if(bw.hide){b(bz).hide()}if(bw.hide||bw.show){for(bA in bw.animatedProperties){b.style(bz,bA,bw.orig[bA]);b.removeData(bz,"fxshow"+bA,true);b.removeData(bz,"toggle"+bA,true)}}bv=bw.complete;if(bv){bw.complete=false;bv.call(bz)}}return false}else{if(bw.duration==Infinity){this.now=bx}else{bB=bx-this.startTime;this.state=bB/bw.duration;this.pos=b.easing[bw.animatedProperties[this.prop]](this.state,bB,0,1,bw.duration);this.now=this.start+((this.end-this.start)*this.pos)}this.update()}return true}};b.extend(b.fx,{tick:function(){var bw,bv=b.timers,e=0;for(;e").appendTo(e),bw=bv.css("display");bv.remove();if(bw==="none"||bw===""){if(!a8){a8=av.createElement("iframe");a8.frameBorder=a8.width=a8.height=0}e.appendChild(a8);if(!m||!a8.createElement){m=(a8.contentWindow||a8.contentDocument).document;m.write((av.compatMode==="CSS1Compat"?"":"")+"");m.close()}bv=m.createElement(bx);m.body.appendChild(bv);bw=b.css(bv,"display");e.removeChild(a8)}Q[bx]=bw}return Q[bx]}var V=/^t(?:able|d|h)$/i,ad=/^(?:body|html)$/i;if("getBoundingClientRect" in av.documentElement){b.fn.offset=function(bI){var by=this[0],bB;if(bI){return this.each(function(e){b.offset.setOffset(this,bI,e)})}if(!by||!by.ownerDocument){return null}if(by===by.ownerDocument.body){return b.offset.bodyOffset(by)}try{bB=by.getBoundingClientRect()}catch(bF){}var bH=by.ownerDocument,bw=bH.documentElement;if(!bB||!b.contains(bw,by)){return bB?{top:bB.top,left:bB.left}:{top:0,left:0}}var bC=bH.body,bD=aK(bH),bA=bw.clientTop||bC.clientTop||0,bE=bw.clientLeft||bC.clientLeft||0,bv=bD.pageYOffset||b.support.boxModel&&bw.scrollTop||bC.scrollTop,bz=bD.pageXOffset||b.support.boxModel&&bw.scrollLeft||bC.scrollLeft,bG=bB.top+bv-bA,bx=bB.left+bz-bE;return{top:bG,left:bx}}}else{b.fn.offset=function(bF){var bz=this[0];if(bF){return this.each(function(bG){b.offset.setOffset(this,bF,bG)})}if(!bz||!bz.ownerDocument){return null}if(bz===bz.ownerDocument.body){return b.offset.bodyOffset(bz)}var bC,bw=bz.offsetParent,bv=bz,bE=bz.ownerDocument,bx=bE.documentElement,bA=bE.body,bB=bE.defaultView,e=bB?bB.getComputedStyle(bz,null):bz.currentStyle,bD=bz.offsetTop,by=bz.offsetLeft;while((bz=bz.parentNode)&&bz!==bA&&bz!==bx){if(b.support.fixedPosition&&e.position==="fixed"){break}bC=bB?bB.getComputedStyle(bz,null):bz.currentStyle;bD-=bz.scrollTop;by-=bz.scrollLeft;if(bz===bw){bD+=bz.offsetTop;by+=bz.offsetLeft;if(b.support.doesNotAddBorder&&!(b.support.doesAddBorderForTableAndCells&&V.test(bz.nodeName))){bD+=parseFloat(bC.borderTopWidth)||0;by+=parseFloat(bC.borderLeftWidth)||0}bv=bw;bw=bz.offsetParent}if(b.support.subtractsBorderForOverflowNotVisible&&bC.overflow!=="visible"){bD+=parseFloat(bC.borderTopWidth)||0;by+=parseFloat(bC.borderLeftWidth)||0}e=bC}if(e.position==="relative"||e.position==="static"){bD+=bA.offsetTop;by+=bA.offsetLeft}if(b.support.fixedPosition&&e.position==="fixed"){bD+=Math.max(bx.scrollTop,bA.scrollTop);by+=Math.max(bx.scrollLeft,bA.scrollLeft)}return{top:bD,left:by}}}b.offset={bodyOffset:function(e){var bw=e.offsetTop,bv=e.offsetLeft;if(b.support.doesNotIncludeMarginInBodyOffset){bw+=parseFloat(b.css(e,"marginTop"))||0;bv+=parseFloat(b.css(e,"marginLeft"))||0}return{top:bw,left:bv}},setOffset:function(bx,bG,bA){var bB=b.css(bx,"position");if(bB==="static"){bx.style.position="relative"}var bz=b(bx),bv=bz.offset(),e=b.css(bx,"top"),bE=b.css(bx,"left"),bF=(bB==="absolute"||bB==="fixed")&&b.inArray("auto",[e,bE])>-1,bD={},bC={},bw,by;if(bF){bC=bz.position();bw=bC.top;by=bC.left}else{bw=parseFloat(e)||0;by=parseFloat(bE)||0}if(b.isFunction(bG)){bG=bG.call(bx,bA,bv)}if(bG.top!=null){bD.top=(bG.top-bv.top)+bw}if(bG.left!=null){bD.left=(bG.left-bv.left)+by}if("using" in bG){bG.using.call(bx,bD)}else{bz.css(bD)}}};b.fn.extend({position:function(){if(!this[0]){return null}var bw=this[0],bv=this.offsetParent(),bx=this.offset(),e=ad.test(bv[0].nodeName)?{top:0,left:0}:bv.offset();bx.top-=parseFloat(b.css(bw,"marginTop"))||0;bx.left-=parseFloat(b.css(bw,"marginLeft"))||0;e.top+=parseFloat(b.css(bv[0],"borderTopWidth"))||0;e.left+=parseFloat(b.css(bv[0],"borderLeftWidth"))||0;return{top:bx.top-e.top,left:bx.left-e.left}},offsetParent:function(){return this.map(function(){var e=this.offsetParent||av.body;while(e&&(!ad.test(e.nodeName)&&b.css(e,"position")==="static")){e=e.offsetParent}return e})}});b.each(["Left","Top"],function(bv,e){var bw="scroll"+e;b.fn[bw]=function(bz){var bx,by;if(bz===L){bx=this[0];if(!bx){return null}by=aK(bx);return by?("pageXOffset" in by)?by[bv?"pageYOffset":"pageXOffset"]:b.support.boxModel&&by.document.documentElement[bw]||by.document.body[bw]:bx[bw]}return this.each(function(){by=aK(this);if(by){by.scrollTo(!bv?bz:b(by).scrollLeft(),bv?bz:b(by).scrollTop())}else{this[bw]=bz}})}});function aK(e){return b.isWindow(e)?e:e.nodeType===9?e.defaultView||e.parentWindow:false}b.each(["Height","Width"],function(bv,e){var bw=e.toLowerCase();b.fn["inner"+e]=function(){var bx=this[0];return bx?bx.style?parseFloat(b.css(bx,bw,"padding")):this[bw]():null};b.fn["outer"+e]=function(by){var bx=this[0];return bx?bx.style?parseFloat(b.css(bx,bw,by?"margin":"border")):this[bw]():null};b.fn[bw]=function(bz){var bA=this[0];if(!bA){return bz==null?null:this}if(b.isFunction(bz)){return this.each(function(bE){var bD=b(this);bD[bw](bz.call(this,bE,bD[bw]()))})}if(b.isWindow(bA)){var bB=bA.document.documentElement["client"+e],bx=bA.document.body;return bA.document.compatMode==="CSS1Compat"&&bB||bx&&bx["client"+e]||bB}else{if(bA.nodeType===9){return Math.max(bA.documentElement["client"+e],bA.body["scroll"+e],bA.documentElement["scroll"+e],bA.body["offset"+e],bA.documentElement["offset"+e])}else{if(bz===L){var bC=b.css(bA,bw),by=parseFloat(bC);return b.isNumeric(by)?by:bC}else{return this.css(bw,typeof bz==="string"?bz:bz+"px")}}}}});bb.jQuery=bb.$=b;if(typeof define==="function"&&define.amd&&define.amd.jQuery){define("jquery",[],function(){return b +})}})(window); diff --git a/doc/ref/core/html/log_8h.html b/doc/ref/core/html/log_8h.html new file mode 100644 index 0000000000..4df14d59db --- /dev/null +++ b/doc/ref/core/html/log_8h.html @@ -0,0 +1,374 @@ + + + + + + +GRPC Core: include/grpc/support/log.h File Reference + + + + + + + + + +
+
+
+ + + + + +
+
GRPC Core +  0.10.0.0 +
+
+ + + + + + + + + + +
+ +
+ + + +
+ +
+
log.h File Reference
+
+
+
#include <stdlib.h>
+#include <stdarg.h>
+
+

Go to the source code of this file.

+ + + + +

+Data Structures

struct  gpr_log_func_args
 
+ + + + + + + + + +

+Macros

#define GPR_DEBUG   __FILE__, __LINE__, GPR_LOG_SEVERITY_DEBUG
 
#define GPR_INFO   __FILE__, __LINE__, GPR_LOG_SEVERITY_INFO
 
#define GPR_ERROR   __FILE__, __LINE__, GPR_LOG_SEVERITY_ERROR
 
#define GPR_ASSERT(x)
 
+ + + + + +

+Typedefs

typedef enum gpr_log_severity gpr_log_severity
 
typedef void(* gpr_log_func )(gpr_log_func_args *args)
 
+ + + +

+Enumerations

enum  gpr_log_severity { GPR_LOG_SEVERITY_DEBUG, +GPR_LOG_SEVERITY_INFO, +GPR_LOG_SEVERITY_ERROR + }
 
+ + + + + + + + + +

+Functions

const char * gpr_log_severity_string (gpr_log_severity severity)
 
void gpr_log (const char *file, int line, gpr_log_severity severity, const char *format,...)
 
void gpr_log_message (const char *file, int line, gpr_log_severity severity, const char *message)
 
void gpr_set_log_function (gpr_log_func func)
 
+

Macro Definition Documentation

+ +
+
+ + + + + + + + +
#define GPR_ASSERT( x)
+
+Value:
do { \
+
if (!(x)) { \
+
gpr_log(GPR_ERROR, "assertion failed: %s", #x); \
+
abort(); \
+
} \
+
} while (0)
+
#define GPR_ERROR
Definition: log.h:68
+
void gpr_log(const char *file, int line, gpr_log_severity severity, const char *format,...)
+
+
+
+ +
+
+ + + + +
#define GPR_DEBUG   __FILE__, __LINE__, GPR_LOG_SEVERITY_DEBUG
+
+ +
+
+ +
+
+ + + + +
#define GPR_ERROR   __FILE__, __LINE__, GPR_LOG_SEVERITY_ERROR
+
+ +
+
+ +
+
+ + + + +
#define GPR_INFO   __FILE__, __LINE__, GPR_LOG_SEVERITY_INFO
+
+ +
+
+

Typedef Documentation

+ +
+
+ + + + +
typedef void(* gpr_log_func)(gpr_log_func_args *args)
+
+ +
+
+ +
+
+ + + + +
typedef enum gpr_log_severity gpr_log_severity
+
+ +
+
+

Enumeration Type Documentation

+ +
+
+ + + + +
enum gpr_log_severity
+
+ + + + +
Enumerator
GPR_LOG_SEVERITY_DEBUG  +
GPR_LOG_SEVERITY_INFO  +
GPR_LOG_SEVERITY_ERROR  +
+ +
+
+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void gpr_log (const char * file,
int line,
gpr_log_severity severity,
const char * format,
 ... 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void gpr_log_message (const char * file,
int line,
gpr_log_severity severity,
const char * message 
)
+
+ +
+
+ +
+
+ + + + + + + + +
const char* gpr_log_severity_string (gpr_log_severity severity)
+
+ +
+
+ +
+
+ + + + + + + + +
void gpr_set_log_function (gpr_log_func func)
+
+ +
+
+
+ + + + diff --git a/doc/ref/core/html/log_8h_source.html b/doc/ref/core/html/log_8h_source.html new file mode 100644 index 0000000000..aacf1f96fc --- /dev/null +++ b/doc/ref/core/html/log_8h_source.html @@ -0,0 +1,221 @@ + + + + + + +GRPC Core: include/grpc/support/log.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
log.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPC_SUPPORT_LOG_H
+
35 #define GRPC_SUPPORT_LOG_H
+
36 
+
37 #include <stdlib.h> /* for abort() */
+
38 #include <stdarg.h>
+
39 
+
40 #ifdef __cplusplus
+
41 extern "C" {
+
42 #endif
+
43 
+
44 /* GPR log API.
+
45 
+
46  Usage (within grpc):
+
47 
+
48  int argument1 = 3;
+
49  char* argument2 = "hello";
+
50  gpr_log(GPR_DEBUG, "format string %d", argument1);
+
51  gpr_log(GPR_INFO, "hello world");
+
52  gpr_log(GPR_ERROR, "%d %s!!", argument1, argument2); */
+
53 
+
54 /* The severity of a log message - use the #defines below when calling into
+
55  gpr_log to additionally supply file and line data */
+
56 typedef enum gpr_log_severity {
+ + + + +
61 
+
62 /* Returns a string representation of the log severity */
+
63 const char *gpr_log_severity_string(gpr_log_severity severity);
+
64 
+
65 /* Macros to build log contexts at various severity levels */
+
66 #define GPR_DEBUG __FILE__, __LINE__, GPR_LOG_SEVERITY_DEBUG
+
67 #define GPR_INFO __FILE__, __LINE__, GPR_LOG_SEVERITY_INFO
+
68 #define GPR_ERROR __FILE__, __LINE__, GPR_LOG_SEVERITY_ERROR
+
69 
+
70 /* Log a message. It's advised to use GPR_xxx above to generate the context
+
71  * for each message */
+
72 void gpr_log(const char *file, int line, gpr_log_severity severity,
+
73  const char *format, ...);
+
74 
+
75 void gpr_log_message(const char *file, int line, gpr_log_severity severity,
+
76  const char *message);
+
77 
+
78 /* Log overrides: applications can use this API to intercept logging calls
+
79  and use their own implementations */
+
80 
+
81 typedef struct {
+
82  const char *file;
+
83  int line;
+ +
85  const char *message;
+ +
87 
+
88 typedef void (*gpr_log_func)(gpr_log_func_args *args);
+ +
90 
+
91 /* abort() the process if x is zero, having written a line to the log.
+
92 
+
93  Intended for internal invariants. If the error can be recovered from,
+
94  without the possibility of corruption, or might best be reflected via
+
95  an exception in a higher-level language, consider returning error code. */
+
96 #define GPR_ASSERT(x) \
+
97  do { \
+
98  if (!(x)) { \
+
99  gpr_log(GPR_ERROR, "assertion failed: %s", #x); \
+
100  abort(); \
+
101  } \
+
102  } while (0)
+
103 
+
104 #ifdef __cplusplus
+
105 }
+
106 #endif
+
107 
+
108 #endif /* GRPC_SUPPORT_LOG_H */
+
Definition: log.h:58
+
int line
Definition: log.h:83
+
Definition: log.h:81
+
gpr_log_severity
Definition: log.h:56
+
const char * gpr_log_severity_string(gpr_log_severity severity)
+
const char * message
Definition: log.h:85
+
const char * file
Definition: log.h:82
+
void(* gpr_log_func)(gpr_log_func_args *args)
Definition: log.h:88
+
void gpr_log(const char *file, int line, gpr_log_severity severity, const char *format,...)
+
void gpr_log_message(const char *file, int line, gpr_log_severity severity, const char *message)
+
void gpr_set_log_function(gpr_log_func func)
+
gpr_log_severity severity
Definition: log.h:84
+
Definition: log.h:59
+
Definition: log.h:57
+
+ + + + diff --git a/doc/ref/core/html/log__win32_8h.html b/doc/ref/core/html/log__win32_8h.html new file mode 100644 index 0000000000..3a42681346 --- /dev/null +++ b/doc/ref/core/html/log__win32_8h.html @@ -0,0 +1,126 @@ + + + + + + +GRPC Core: include/grpc/support/log_win32.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
log_win32.h File Reference
+
+
+ +

Go to the source code of this file.

+ + + + +

+Functions

char * gpr_format_message (DWORD messageid)
 
+

Function Documentation

+ +
+
+ + + + + + + + +
char* gpr_format_message (DWORD messageid)
+
+ +
+
+
+ + + + diff --git a/doc/ref/core/html/log__win32_8h_source.html b/doc/ref/core/html/log__win32_8h_source.html new file mode 100644 index 0000000000..dd42237923 --- /dev/null +++ b/doc/ref/core/html/log__win32_8h_source.html @@ -0,0 +1,151 @@ + + + + + + +GRPC Core: include/grpc/support/log_win32.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
log_win32.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPC_SUPPORT_LOG_WIN32_H
+
35 #define GRPC_SUPPORT_LOG_WIN32_H
+
36 
+
37 #ifdef __cplusplus
+
38 extern "C" {
+
39 #endif
+
40 
+
41 /* Returns a string allocated with gpr_malloc that contains a UTF-8
+
42  * formatted error message, corresponding to the error messageid.
+
43  * Use in conjunction with GetLastError() et al.
+
44  */
+
45 char *gpr_format_message(DWORD messageid);
+
46 
+
47 #ifdef __cplusplus
+
48 }
+
49 #endif
+
50 
+
51 #endif /* GRPC_SUPPORT_LOG_WIN32_H */
+
char * gpr_format_message(DWORD messageid)
+
+ + + + diff --git a/doc/ref/core/html/nav_f.png b/doc/ref/core/html/nav_f.png new file mode 100644 index 0000000000..72a58a529e Binary files /dev/null and b/doc/ref/core/html/nav_f.png differ diff --git a/doc/ref/core/html/nav_g.png b/doc/ref/core/html/nav_g.png new file mode 100644 index 0000000000..2093a237a9 Binary files /dev/null and b/doc/ref/core/html/nav_g.png differ diff --git a/doc/ref/core/html/nav_h.png b/doc/ref/core/html/nav_h.png new file mode 100644 index 0000000000..33389b101d Binary files /dev/null and b/doc/ref/core/html/nav_h.png differ diff --git a/doc/ref/core/html/open.png b/doc/ref/core/html/open.png new file mode 100644 index 0000000000..30f75c7efe Binary files /dev/null and b/doc/ref/core/html/open.png differ diff --git a/doc/ref/core/html/port__platform_8h.html b/doc/ref/core/html/port__platform_8h.html new file mode 100644 index 0000000000..9000b7cd1c --- /dev/null +++ b/doc/ref/core/html/port__platform_8h.html @@ -0,0 +1,352 @@ + + + + + + +GRPC Core: include/grpc/support/port_platform.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
port_platform.h File Reference
+
+
+
#include <stdint.h>
+
+

Go to the source code of this file.

+ + + + + + + + + + + + + + +

+Macros

#define GPR_PLATFORM_STRING   "unknown"
 
#define GPR_CACHELINE_SIZE_LOG   6
 
#define GPR_CACHELINE_SIZE   (1 << GPR_CACHELINE_SIZE_LOG)
 
#define GPR_INT64_MAX   (gpr_int64)(~(gpr_uint64)0 >> 1)
 
#define GPR_MAX_ALIGNMENT   16
 
#define GRPC_MUST_USE_RESULT
 
+ + + + + + + + + + + + + + + + + + + + + + + +

+Typedefs

typedef int16_t gpr_int16
 
typedef int32_t gpr_int32
 
typedef int64_t gpr_int64
 
typedef uint8_t gpr_uint8
 
typedef uint16_t gpr_uint16
 
typedef uint32_t gpr_uint32
 
typedef uint64_t gpr_uint64
 
typedef intmax_t gpr_intmax
 
typedef intptr_t gpr_intptr
 
typedef uintmax_t gpr_uintmax
 
typedef uintptr_t gpr_uintptr
 
+

Macro Definition Documentation

+ +
+
+ + + + +
#define GPR_CACHELINE_SIZE   (1 << GPR_CACHELINE_SIZE_LOG)
+
+ +
+
+ +
+
+ + + + +
#define GPR_CACHELINE_SIZE_LOG   6
+
+ +
+
+ +
+
+ + + + +
#define GPR_INT64_MAX   (gpr_int64)(~(gpr_uint64)0 >> 1)
+
+ +
+
+ +
+
+ + + + +
#define GPR_MAX_ALIGNMENT   16
+
+ +
+
+ +
+
+ + + + +
#define GPR_PLATFORM_STRING   "unknown"
+
+ +
+
+ +
+
+ + + + +
#define GRPC_MUST_USE_RESULT
+
+ +
+
+

Typedef Documentation

+ +
+
+ + + + +
typedef int16_t gpr_int16
+
+ +
+
+ +
+
+ + + + +
typedef int32_t gpr_int32
+
+ +
+
+ +
+
+ + + + +
typedef int64_t gpr_int64
+
+ +
+
+ +
+
+ + + + +
typedef intmax_t gpr_intmax
+
+ +
+
+ +
+
+ + + + +
typedef intptr_t gpr_intptr
+
+ +
+
+ +
+
+ + + + +
typedef uint16_t gpr_uint16
+
+ +
+
+ +
+
+ + + + +
typedef uint32_t gpr_uint32
+
+ +
+
+ +
+
+ + + + +
typedef uint64_t gpr_uint64
+
+ +
+
+ +
+
+ + + + +
typedef uint8_t gpr_uint8
+
+ +
+
+ +
+
+ + + + +
typedef uintmax_t gpr_uintmax
+
+ +
+
+ +
+
+ + + + +
typedef uintptr_t gpr_uintptr
+
+ +
+
+
+ + + + diff --git a/doc/ref/core/html/port__platform_8h_source.html b/doc/ref/core/html/port__platform_8h_source.html new file mode 100644 index 0000000000..6ad4e657d8 --- /dev/null +++ b/doc/ref/core/html/port__platform_8h_source.html @@ -0,0 +1,441 @@ + + + + + + +GRPC Core: include/grpc/support/port_platform.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
port_platform.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPC_SUPPORT_PORT_PLATFORM_H
+
35 #define GRPC_SUPPORT_PORT_PLATFORM_H
+
36 
+
37 /* Get windows.h included everywhere (we need it) */
+
38 #if defined(_WIN64) || defined(WIN64) || defined(_WIN32) || defined(WIN32)
+
39 #ifndef WIN32_LEAN_AND_MEAN
+
40 #define GRPC_WIN32_LEAN_AND_MEAN_WAS_NOT_DEFINED
+
41 #define WIN32_LEAN_AND_MEAN
+
42 #endif /* WIN32_LEAN_AND_MEAN */
+
43 
+
44 #ifndef NOMINMAX
+
45 #define GRPC_NOMINMX_WAS_NOT_DEFINED
+
46 #define NOMINMAX
+
47 #endif /* NOMINMAX */
+
48 
+
49 #if defined(_WIN32_WINNT)
+
50 #if _WIN32_WINNT < 0x0600
+
51 #undef _WIN32_WINNT
+
52 #define _WIN32_WINNT 0x0600
+
53 #endif /* _WIN32_WINNT < 0x0600 */
+
54 #endif /* defined(_WIN32_WINNT) */
+
55 
+
56 #include <windows.h>
+
57 
+
58 #ifdef GRPC_WIN32_LEAN_AND_MEAN_WAS_NOT_DEFINED
+
59 #undef GRPC_WIN32_LEAN_AND_MEAN_WAS_NOT_DEFINED
+
60 #undef WIN32_LEAN_AND_MEAN
+
61 #endif /* GRPC_WIN32_LEAN_AND_MEAN_WAS_NOT_DEFINED */
+
62 
+
63 #ifdef GRPC_NOMINMAX_WAS_NOT_DEFINED
+
64 #undef GRPC_NOMINMAX_WAS_NOT_DEFINED
+
65 #undef NOMINMAX
+
66 #endif /* GRPC_WIN32_LEAN_AND_MEAN_WAS_NOT_DEFINED */
+
67 #endif /* defined(_WIN64) || defined(WIN64) || defined(_WIN32) || defined(WIN32) */
+
68 
+
69 /* Override this file with one for your platform if you need to redefine
+
70  things. */
+
71 
+
72 #if !defined(GPR_NO_AUTODETECT_PLATFORM)
+
73 #if defined(_WIN64) || defined(WIN64)
+
74 #define GPR_PLATFORM_STRING "windows"
+
75 #define GPR_WIN32 1
+
76 #define GPR_ARCH_64 1
+
77 #define GPR_GETPID_IN_PROCESS_H 1
+
78 #define GPR_WINSOCK_SOCKET 1
+
79 #ifdef __GNUC__
+
80 #define GPR_GCC_ATOMIC 1
+
81 #define GPR_GCC_TLS 1
+
82 #else
+
83 #define GPR_WIN32_ATOMIC 1
+
84 #define GPR_MSVC_TLS 1
+
85 #endif
+
86 #define GPR_WINDOWS_CRASH_HANDLER 1
+
87 #elif defined(_WIN32) || defined(WIN32)
+
88 #define GPR_PLATFORM_STRING "windows"
+
89 #define GPR_ARCH_32 1
+
90 #define GPR_WIN32 1
+
91 #define GPR_GETPID_IN_PROCESS_H 1
+
92 #define GPR_WINSOCK_SOCKET 1
+
93 #ifdef __GNUC__
+
94 #define GPR_GCC_ATOMIC 1
+
95 #define GPR_GCC_TLS 1
+
96 #else
+
97 #define GPR_WIN32_ATOMIC 1
+
98 #define GPR_MSVC_TLS 1
+
99 #endif
+
100 #define GPR_WINDOWS_CRASH_HANDLER 1
+
101 #elif defined(ANDROID) || defined(__ANDROID__)
+
102 #define GPR_PLATFORM_STRING "android"
+
103 #define GPR_ANDROID 1
+
104 #define GPR_ARCH_32 1
+
105 #define GPR_CPU_LINUX 1
+
106 #define GPR_GCC_SYNC 1
+
107 #define GPR_GCC_TLS 1
+
108 #define GPR_POSIX_MULTIPOLL_WITH_POLL 1
+
109 #define GPR_POSIX_WAKEUP_FD 1
+
110 #define GPR_LINUX_EVENTFD 1
+
111 #define GPR_POSIX_SOCKET 1
+
112 #define GPR_POSIX_SOCKETADDR 1
+
113 #define GPR_POSIX_SOCKETUTILS 1
+
114 #define GPR_POSIX_ENV 1
+
115 #define GPR_POSIX_FILE 1
+
116 #define GPR_POSIX_STRING 1
+
117 #define GPR_POSIX_SUBPROCESS 1
+
118 #define GPR_POSIX_SYNC 1
+
119 #define GPR_POSIX_TIME 1
+
120 #define GPR_GETPID_IN_UNISTD_H 1
+
121 #define GPR_HAVE_MSG_NOSIGNAL 1
+
122 #elif defined(__linux__)
+
123 #define GPR_PLATFORM_STRING "linux"
+
124 #ifndef _BSD_SOURCE
+
125 #define _BSD_SOURCE
+
126 #endif
+
127 #ifndef _DEFAULT_SOURCE
+
128 #define _DEFAULT_SOURCE
+
129 #endif
+
130 #ifndef _GNU_SOURCE
+
131 #define _GNU_SOURCE
+
132 #endif
+
133 #include <features.h>
+
134 #define GPR_CPU_LINUX 1
+
135 #define GPR_GCC_ATOMIC 1
+
136 #define GPR_GCC_TLS 1
+
137 #define GPR_LINUX 1
+
138 #define GPR_LINUX_MULTIPOLL_WITH_EPOLL 1
+
139 #define GPR_POSIX_WAKEUP_FD 1
+
140 #define GPR_POSIX_SOCKET 1
+
141 #define GPR_POSIX_SOCKETADDR 1
+
142 #ifdef __GLIBC_PREREQ
+
143 #if __GLIBC_PREREQ(2, 9)
+
144 #define GPR_LINUX_EVENTFD 1
+
145 #endif
+
146 #if __GLIBC_PREREQ(2, 10)
+
147 #define GPR_LINUX_SOCKETUTILS 1
+
148 #endif
+
149 #if __GLIBC_PREREQ(2, 17)
+
150 #define GPR_LINUX_ENV 1
+
151 #endif
+
152 #endif
+
153 #ifndef GPR_LINUX_EVENTFD
+
154 #define GPR_POSIX_NO_SPECIAL_WAKEUP_FD 1
+
155 #endif
+
156 #ifndef GPR_LINUX_SOCKETUTILS
+
157 #define GPR_POSIX_SOCKETUTILS
+
158 #endif
+
159 #ifndef GPR_LINUX_ENV
+
160 #define GPR_POSIX_ENV 1
+
161 #endif
+
162 #define GPR_POSIX_FILE 1
+
163 #define GPR_POSIX_STRING 1
+
164 #define GPR_POSIX_SUBPROCESS 1
+
165 #define GPR_POSIX_SYNC 1
+
166 #define GPR_POSIX_TIME 1
+
167 #define GPR_GETPID_IN_UNISTD_H 1
+
168 #define GPR_HAVE_MSG_NOSIGNAL 1
+
169 #ifdef _LP64
+
170 #define GPR_ARCH_64 1
+
171 #else /* _LP64 */
+
172 #define GPR_ARCH_32 1
+
173 #endif /* _LP64 */
+
174 #elif defined(__APPLE__)
+
175 #include <TargetConditionals.h>
+
176 #ifndef _BSD_SOURCE
+
177 #define _BSD_SOURCE
+
178 #endif
+
179 #if TARGET_OS_IPHONE
+
180 #define GPR_PLATFORM_STRING "ios"
+
181 #define GPR_CPU_IPHONE 1
+
182 #define GPR_PTHREAD_TLS 1
+
183 #else /* TARGET_OS_IPHONE */
+
184 #define GPR_PLATFORM_STRING "osx"
+
185 #define GPR_CPU_POSIX 1
+
186 #define GPR_GCC_TLS 1
+
187 #endif
+
188 #define GPR_GCC_ATOMIC 1
+
189 #define GPR_POSIX_LOG 1
+
190 #define GPR_POSIX_MULTIPOLL_WITH_POLL 1
+
191 #define GPR_POSIX_WAKEUP_FD 1
+
192 #define GPR_POSIX_NO_SPECIAL_WAKEUP_FD 1
+
193 #define GPR_POSIX_SOCKET 1
+
194 #define GPR_POSIX_SOCKETADDR 1
+
195 #define GPR_POSIX_SOCKETUTILS 1
+
196 #define GPR_POSIX_ENV 1
+
197 #define GPR_POSIX_FILE 1
+
198 #define GPR_POSIX_STRING 1
+
199 #define GPR_POSIX_SUBPROCESS 1
+
200 #define GPR_POSIX_SYNC 1
+
201 #define GPR_POSIX_TIME 1
+
202 #define GPR_GETPID_IN_UNISTD_H 1
+
203 #define GPR_HAVE_SO_NOSIGPIPE 1
+
204 #ifdef _LP64
+
205 #define GPR_ARCH_64 1
+
206 #else /* _LP64 */
+
207 #define GPR_ARCH_32 1
+
208 #endif /* _LP64 */
+
209 #elif defined(__FreeBSD__)
+
210 #define GPR_PLATFORM_STRING "freebsd"
+
211 #ifndef _BSD_SOURCE
+
212 #define _BSD_SOURCE
+
213 #endif
+
214 #define GPR_CPU_POSIX 1
+
215 #define GPR_GCC_ATOMIC 1
+
216 #define GPR_GCC_TLS 1
+
217 #define GPR_POSIX_LOG 1
+
218 #define GPR_POSIX_MULTIPOLL_WITH_POLL 1
+
219 #define GPR_POSIX_WAKEUP_FD 1
+
220 #define GPR_POSIX_NO_SPECIAL_WAKEUP_FD 1
+
221 #define GPR_POSIX_SOCKET 1
+
222 #define GPR_POSIX_SOCKETADDR 1
+
223 #define GPR_POSIX_SOCKETUTILS 1
+
224 #define GPR_POSIX_ENV 1
+
225 #define GPR_POSIX_FILE 1
+
226 #define GPR_POSIX_STRING 1
+
227 #define GPR_POSIX_SUBPROCESS 1
+
228 #define GPR_POSIX_SYNC 1
+
229 #define GPR_POSIX_TIME 1
+
230 #define GPR_GETPID_IN_UNISTD_H 1
+
231 #define GPR_HAVE_SO_NOSIGPIPE 1
+
232 #ifdef _LP64
+
233 #define GPR_ARCH_64 1
+
234 #else /* _LP64 */
+
235 #define GPR_ARCH_32 1
+
236 #endif /* _LP64 */
+
237 #else
+
238 #error Could not auto-detect platform
+
239 #endif
+
240 #endif /* GPR_NO_AUTODETECT_PLATFORM */
+
241 
+
242 #ifndef GPR_PLATFORM_STRING
+
243 #warning "GPR_PLATFORM_STRING not auto-detected"
+
244 #define GPR_PLATFORM_STRING "unknown"
+
245 #endif
+
246 
+
247 /* For a common case, assume that the platform has a C99-like stdint.h */
+
248 
+
249 #include <stdint.h>
+
250 
+
251 /* Cache line alignment */
+
252 #ifndef GPR_CACHELINE_SIZE_LOG
+
253 #if defined(__i386__) || defined(__x86_64__)
+
254 #define GPR_CACHELINE_SIZE_LOG 6
+
255 #endif
+
256 #ifndef GPR_CACHELINE_SIZE_LOG
+
257 /* A reasonable default guess. Note that overestimates tend to waste more
+
258  space, while underestimates tend to waste more time. */
+
259 #define GPR_CACHELINE_SIZE_LOG 6
+
260 #endif /* GPR_CACHELINE_SIZE_LOG */
+
261 #endif /* GPR_CACHELINE_SIZE_LOG */
+
262 
+
263 #define GPR_CACHELINE_SIZE (1 << GPR_CACHELINE_SIZE_LOG)
+
264 
+
265 /* scrub GCC_ATOMIC if it's not available on this compiler */
+
266 #if defined(GPR_GCC_ATOMIC) && !defined(__ATOMIC_RELAXED)
+
267 #undef GPR_GCC_ATOMIC
+
268 #define GPR_GCC_SYNC 1
+
269 #endif
+
270 
+
271 /* Validate platform combinations */
+
272 #if defined(GPR_GCC_ATOMIC) + defined(GPR_GCC_SYNC) + \
+
273  defined(GPR_WIN32_ATOMIC) != \
+
274  1
+
275 #error Must define exactly one of GPR_GCC_ATOMIC, GPR_GCC_SYNC, GPR_WIN32_ATOMIC
+
276 #endif
+
277 
+
278 #if defined(GPR_ARCH_32) + defined(GPR_ARCH_64) != 1
+
279 #error Must define exactly one of GPR_ARCH_32, GPR_ARCH_64
+
280 #endif
+
281 
+
282 #if defined(GPR_CPU_LINUX) + defined(GPR_CPU_POSIX) + defined(GPR_WIN32) + \
+
283  defined(GPR_CPU_IPHONE) + defined(GPR_CPU_CUSTOM) != \
+
284  1
+
285 #error Must define exactly one of GPR_CPU_LINUX, GPR_CPU_POSIX, GPR_WIN32, GPR_CPU_IPHONE, GPR_CPU_CUSTOM
+
286 #endif
+
287 
+
288 #if defined(GPR_POSIX_MULTIPOLL_WITH_POLL) && !defined(GPR_POSIX_SOCKET)
+
289 #error Must define GPR_POSIX_SOCKET to use GPR_POSIX_MULTIPOLL_WITH_POLL
+
290 #endif
+
291 
+
292 #if defined(GPR_POSIX_SOCKET) + defined(GPR_WINSOCK_SOCKET) + \
+
293  defined(GPR_CUSTOM_SOCKET) != \
+
294  1
+
295 #error Must define exactly one of GPR_POSIX_SOCKET, GPR_WINSOCK_SOCKET, GPR_CUSTOM_SOCKET
+
296 #endif
+
297 
+
298 #if defined(GPR_MSVC_TLS) + defined(GPR_GCC_TLS) + defined(GPR_PTHREAD_TLS) + \
+
299  defined(GPR_CUSTOM_TLS) != \
+
300  1
+
301 #error Must define exactly one of GPR_MSVC_TLS, GPR_GCC_TLS, GPR_PTHREAD_TLS, GPR_CUSTOM_TLS
+
302 #endif
+
303 
+
304 typedef int16_t gpr_int16;
+
305 typedef int32_t gpr_int32;
+
306 typedef int64_t gpr_int64;
+
307 typedef uint8_t gpr_uint8;
+
308 typedef uint16_t gpr_uint16;
+
309 typedef uint32_t gpr_uint32;
+
310 typedef uint64_t gpr_uint64;
+
311 typedef intmax_t gpr_intmax;
+
312 typedef intptr_t gpr_intptr;
+
313 typedef uintmax_t gpr_uintmax;
+
314 typedef uintptr_t gpr_uintptr;
+
315 
+
316 /* INT64_MAX is unavailable on some platforms. */
+
317 #define GPR_INT64_MAX (gpr_int64)(~(gpr_uint64)0 >> 1)
+
318 
+
319 /* maximum alignment needed for any type on this platform, rounded up to a
+
320  power of two */
+
321 #define GPR_MAX_ALIGNMENT 16
+
322 
+
323 #ifndef GRPC_MUST_USE_RESULT
+
324 #ifdef __GNUC__
+
325 #define GRPC_MUST_USE_RESULT __attribute__((warn_unused_result))
+
326 #else
+
327 #define GRPC_MUST_USE_RESULT
+
328 #endif
+
329 #endif
+
330 
+
331 #endif /* GRPC_SUPPORT_PORT_PLATFORM_H */
+
intptr_t gpr_intptr
Definition: port_platform.h:312
+
uint8_t gpr_uint8
Definition: port_platform.h:307
+
uintptr_t gpr_uintptr
Definition: port_platform.h:314
+
uint32_t gpr_uint32
Definition: port_platform.h:309
+
uintmax_t gpr_uintmax
Definition: port_platform.h:313
+
int64_t gpr_int64
Definition: port_platform.h:306
+
uint16_t gpr_uint16
Definition: port_platform.h:308
+
int32_t gpr_int32
Definition: port_platform.h:305
+
uint64_t gpr_uint64
Definition: port_platform.h:310
+
intmax_t gpr_intmax
Definition: port_platform.h:311
+
int16_t gpr_int16
Definition: port_platform.h:304
+
+ + + + diff --git a/doc/ref/core/html/search/all_0.html b/doc/ref/core/html/search/all_0.html new file mode 100644 index 0000000000..17b6da85df --- /dev/null +++ b/doc/ref/core/html/search/all_0.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core/html/search/all_0.js b/doc/ref/core/html/search/all_0.js new file mode 100644 index 0000000000..8867f6faa0 --- /dev/null +++ b/doc/ref/core/html/search/all_0.js @@ -0,0 +1,9 @@ +var searchData= +[ + ['alloc_2eh',['alloc.h',['../alloc_8h.html',1,'']]], + ['args',['args',['../structgrpc__channel__args.html#a05aa7aeb14aa9ae5f4d6a34f5c222b76',1,'grpc_channel_args']]], + ['atm_2eh',['atm.h',['../atm_8h.html',1,'']]], + ['atm_5fgcc_5fatomic_2eh',['atm_gcc_atomic.h',['../atm__gcc__atomic_8h.html',1,'']]], + ['atm_5fgcc_5fsync_2eh',['atm_gcc_sync.h',['../atm__gcc__sync_8h.html',1,'']]], + ['atm_5fwin32_2eh',['atm_win32.h',['../atm__win32_8h.html',1,'']]] +]; diff --git a/doc/ref/core/html/search/all_1.html b/doc/ref/core/html/search/all_1.html new file mode 100644 index 0000000000..e2906449f2 --- /dev/null +++ b/doc/ref/core/html/search/all_1.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core/html/search/all_1.js b/doc/ref/core/html/search/all_1.js new file mode 100644 index 0000000000..58e1eafa62 --- /dev/null +++ b/doc/ref/core/html/search/all_1.js @@ -0,0 +1,8 @@ +var searchData= +[ + ['buffer_5fin',['buffer_in',['../structgrpc__byte__buffer__reader.html#a8856d955b045dab1a425fac372e0be22',1,'grpc_byte_buffer_reader']]], + ['buffer_5fout',['buffer_out',['../structgrpc__byte__buffer__reader.html#aa947e8d51e0b4333e2b68f0ac55f4e47',1,'grpc_byte_buffer_reader']]], + ['byte_5fbuffer_2eh',['byte_buffer.h',['../byte__buffer_8h.html',1,'']]], + ['byte_5fbuffer_5freader_2eh',['byte_buffer_reader.h',['../byte__buffer__reader_8h.html',1,'']]], + ['bytes',['bytes',['../structgpr__slice.html#a16646e1a137851f2b031cf2c431b2864',1,'gpr_slice::bytes()'],['../structgpr__slice.html#a39592633c4ad594a15b3a52aadff398d',1,'gpr_slice::bytes()']]] +]; diff --git a/doc/ref/core/html/search/all_10.html b/doc/ref/core/html/search/all_10.html new file mode 100644 index 0000000000..c55c8367e4 --- /dev/null +++ b/doc/ref/core/html/search/all_10.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core/html/search/all_10.js b/doc/ref/core/html/search/all_10.js new file mode 100644 index 0000000000..45975c5dba --- /dev/null +++ b/doc/ref/core/html/search/all_10.js @@ -0,0 +1,15 @@ +var searchData= +[ + ['tag',['tag',['../structgrpc__event.html#a883ab15e862db582116c72cdcdc4c201',1,'grpc_event']]], + ['thd_2eh',['thd.h',['../thd_8h.html',1,'']]], + ['time_2eh',['time.h',['../time_8h.html',1,'']]], + ['tls_2eh',['tls.h',['../tls_8h.html',1,'']]], + ['tls_5fgcc_2eh',['tls_gcc.h',['../tls__gcc_8h.html',1,'']]], + ['tls_5fmsvc_2eh',['tls_msvc.h',['../tls__msvc_8h.html',1,'']]], + ['tls_5fpthread_2eh',['tls_pthread.h',['../tls__pthread_8h.html',1,'']]], + ['trailing_5fmetadata',['trailing_metadata',['../structgrpc__op.html#a521b48faec3b3f7646a877055f118d47',1,'grpc_op::trailing_metadata()'],['../structgrpc__op.html#abb4d84434a0b74283c8b5d8d6501baf1',1,'grpc_op::trailing_metadata()']]], + ['trailing_5fmetadata_5fcount',['trailing_metadata_count',['../structgrpc__op.html#a4b9454278c105e08d54142adff37b5ab',1,'grpc_op']]], + ['tv_5fnsec',['tv_nsec',['../structgpr__timespec.html#ac326c2133cd003cb206715cf5f500268',1,'gpr_timespec']]], + ['tv_5fsec',['tv_sec',['../structgpr__timespec.html#af9294cf0049fd33c76ad2da925d9051e',1,'gpr_timespec']]], + ['type',['type',['../structgrpc__byte__buffer.html#aa7357d67e401d5bc9d10d8fed008dec8',1,'grpc_byte_buffer::type()'],['../structgrpc__arg.html#aa26f2d3c4b1649c9eb061d24a8c10fd4',1,'grpc_arg::type()'],['../structgrpc__event.html#a8e7f571b759f55db4f6bebc2a4f56ad7',1,'grpc_event::type()']]] +]; diff --git a/doc/ref/core/html/search/all_11.html b/doc/ref/core/html/search/all_11.html new file mode 100644 index 0000000000..6f3943a941 --- /dev/null +++ b/doc/ref/core/html/search/all_11.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core/html/search/all_11.js b/doc/ref/core/html/search/all_11.js new file mode 100644 index 0000000000..eb07e7277b --- /dev/null +++ b/doc/ref/core/html/search/all_11.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['unref',['unref',['../structgpr__slice__refcount.html#ae31a3f84f0032dd388418eee26aa9c00',1,'gpr_slice_refcount']]], + ['useful_2eh',['useful.h',['../useful_8h.html',1,'']]] +]; diff --git a/doc/ref/core/html/search/all_12.html b/doc/ref/core/html/search/all_12.html new file mode 100644 index 0000000000..3c7c89ef60 --- /dev/null +++ b/doc/ref/core/html/search/all_12.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core/html/search/all_12.js b/doc/ref/core/html/search/all_12.js new file mode 100644 index 0000000000..be3c4d4bff --- /dev/null +++ b/doc/ref/core/html/search/all_12.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['value',['value',['../structgrpc__auth__property.html#af44f45ac4673a0298d00354c47d0907e',1,'grpc_auth_property::value()'],['../structgrpc__arg.html#ad2be4ee606c82fc084af1661d30f6f7f',1,'grpc_arg::value()'],['../structgrpc__metadata.html#a57b63d7b7a3e4720a0cc0d20bb2ecf36',1,'grpc_metadata::value()'],['../structcensus__stat.html#a3daa951eaf025870b0ab4b63343fe179',1,'census_stat::value()'],['../structgpr__stats__counter.html#ab9338ff7b5fd9f0c0830a8a788aab04a',1,'gpr_stats_counter::value()'],['../structgpr__gcc__thread__local.html#a057ec2885013c01ce37fffc6d9afece1',1,'gpr_gcc_thread_local::value()'],['../structgpr__msvc__thread__local.html#a0187c953da78c5a0620d75aaaaaa5798',1,'gpr_msvc_thread_local::value()']]], + ['value_5flength',['value_length',['../structgrpc__auth__property.html#a07359a178c29240cab42a89ef047b101',1,'grpc_auth_property::value_length()'],['../structgrpc__metadata.html#a2084add9ffe64cf337576114d189af3f',1,'grpc_metadata::value_length()']]] +]; diff --git a/doc/ref/core/html/search/all_13.html b/doc/ref/core/html/search/all_13.html new file mode 100644 index 0000000000..0bd629b86b --- /dev/null +++ b/doc/ref/core/html/search/all_13.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core/html/search/all_13.js b/doc/ref/core/html/search/all_13.js new file mode 100644 index 0000000000..35d8747177 --- /dev/null +++ b/doc/ref/core/html/search/all_13.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['waiters',['waiters',['../structgpr__cancellable.html#a99dfebf899cae60307fb8b83e8cfdb43',1,'gpr_cancellable']]] +]; diff --git a/doc/ref/core/html/search/all_2.html b/doc/ref/core/html/search/all_2.html new file mode 100644 index 0000000000..95ded1222d --- /dev/null +++ b/doc/ref/core/html/search/all_2.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core/html/search/all_2.js b/doc/ref/core/html/search/all_2.js new file mode 100644 index 0000000000..3b3951bad9 --- /dev/null +++ b/doc/ref/core/html/search/all_2.js @@ -0,0 +1,35 @@ +var searchData= +[ + ['cancellable_5fplatform_2eh',['cancellable_platform.h',['../cancellable__platform_8h.html',1,'']]], + ['cancelled',['cancelled',['../structgrpc__op.html#ae5a9717d4a69c46f343381596e223874',1,'grpc_op::cancelled()'],['../structgpr__cancellable.html#a1729b5836bf4181d092f3636368d17b2',1,'gpr_cancellable::cancelled()']]], + ['capacity',['capacity',['../structgrpc__metadata__array.html#a5b293b4f8e734b032b80741abf538a97',1,'grpc_metadata_array::capacity()'],['../structgpr__slice__buffer.html#a48b6efc57238e7abd0bcbb579219456e',1,'gpr_slice_buffer::capacity()']]], + ['census_2eh',['census.h',['../census_8h.html',1,'']]], + ['census_5fcontext',['census_context',['../census_8h.html#a27fc8788690179599713226f1f054736',1,'census.h']]], + ['census_5fcontext_5fdeserialize',['census_context_deserialize',['../census_8h.html#ad9daab242b41571299ac5b3bca71fc0d',1,'census.h']]], + ['census_5fcontext_5fdestroy',['census_context_destroy',['../census_8h.html#a5bfcd1edc546eeacf111c3316ae7785d',1,'census.h']]], + ['census_5fcontext_5fserialize',['census_context_serialize',['../census_8h.html#ad9a7d3170ecf720e1b22a4f255605748',1,'census.h']]], + ['census_5fenabled',['census_enabled',['../census_8h.html#a742616973e78aaf969389cea20feea9f',1,'census.h']]], + ['census_5ffeature_5fall',['CENSUS_FEATURE_ALL',['../census_8h.html#abe92e59c22481b0de3742673cbbb1bf8aba96a94fb7af8cf1144ca14edc0b1f0c',1,'census.h']]], + ['census_5ffeature_5fcpu',['CENSUS_FEATURE_CPU',['../census_8h.html#abe92e59c22481b0de3742673cbbb1bf8a4808bff624e2377596b86a6f58ab04b5',1,'census.h']]], + ['census_5ffeature_5fnone',['CENSUS_FEATURE_NONE',['../census_8h.html#abe92e59c22481b0de3742673cbbb1bf8aac1986834f37851b8d899c4a08c8e3ab',1,'census.h']]], + ['census_5ffeature_5fstats',['CENSUS_FEATURE_STATS',['../census_8h.html#abe92e59c22481b0de3742673cbbb1bf8a84c772b868e53ee3487c7bfc8e8b2f1a',1,'census.h']]], + ['census_5ffeature_5ftracing',['CENSUS_FEATURE_TRACING',['../census_8h.html#abe92e59c22481b0de3742673cbbb1bf8ab0722326e730113d5be97f643c3e6718',1,'census.h']]], + ['census_5ffeatures',['census_features',['../census_8h.html#abe92e59c22481b0de3742673cbbb1bf8',1,'census.h']]], + ['census_5finitialize',['census_initialize',['../census_8h.html#a4cea92157f3de215724f6bf4aeaee1b6',1,'census.h']]], + ['census_5frecord_5fstat',['census_record_stat',['../census_8h.html#a0cdd5ba86b080e6b5a4b47cfaa5b51cb',1,'census.h']]], + ['census_5fshutdown',['census_shutdown',['../census_8h.html#aa792b067548ecdd987d560b492c83d85',1,'census.h']]], + ['census_5fstat',['census_stat',['../structcensus__stat.html',1,'']]], + ['census_5fsupported',['census_supported',['../census_8h.html#ad5f627a64ac4febbc61d2b89801d40e9',1,'census.h']]], + ['cert_5fchain',['cert_chain',['../structgrpc__ssl__pem__key__cert__pair.html#a483c3601705853f48dfbc8ee66d5e656',1,'grpc_ssl_pem_key_cert_pair']]], + ['clock_5ftype',['clock_type',['../structgpr__timespec.html#a6dd26976820fa71a7c5a710d4c1845ff',1,'gpr_timespec']]], + ['cmdline_2eh',['cmdline.h',['../cmdline_8h.html',1,'']]], + ['compression',['compression',['../structgrpc__byte__buffer.html#a3663648016e1076b82c5e731dc5b2399',1,'grpc_byte_buffer']]], + ['compression_2eh',['compression.h',['../compression_8h.html',1,'']]], + ['copy',['copy',['../structgrpc__arg.html#abef4f8be0109b19fcbe7f614f1243303',1,'grpc_arg']]], + ['count',['count',['../structgrpc__metadata__array.html#a314ce51b22a5934cc672f3736d44b9e4',1,'grpc_metadata_array::count()'],['../structgrpc__op.html#ac5983d0a5d60c26ca2d1b37d31ba2e2a',1,'grpc_op::count()'],['../structgpr__slice__buffer.html#a3adc77c3ef399ae0aa1ce1377e0e9fff',1,'gpr_slice_buffer::count()'],['../structgpr__refcount.html#ae1e2d58344b59ff6c0db0dc4f2953470',1,'gpr_refcount::count()']]], + ['cpu_2eh',['cpu.h',['../cpu_8h.html',1,'']]], + ['cs',['cs',['../structgpr__mu.html#abab5a72a693be27488fb7a9b2cb23e5c',1,'gpr_mu']]], + ['ctx',['ctx',['../structgrpc__auth__property__iterator.html#a971904d29fa6f6ca6a853d078cae2f58',1,'grpc_auth_property_iterator']]], + ['current',['current',['../structgrpc__byte__buffer__reader.html#aaa53ee469c319cbdd72d44548d1f981f',1,'grpc_byte_buffer_reader']]], + ['cv',['cv',['../structgpr__cancellable__list__.html#ae47b7ccae73001ae1539dfe3bcc8a459',1,'gpr_cancellable_list_']]] +]; diff --git a/doc/ref/core/html/search/all_3.html b/doc/ref/core/html/search/all_3.html new file mode 100644 index 0000000000..4d312d03dd --- /dev/null +++ b/doc/ref/core/html/search/all_3.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core/html/search/all_3.js b/doc/ref/core/html/search/all_3.js new file mode 100644 index 0000000000..aaa6cde625 --- /dev/null +++ b/doc/ref/core/html/search/all_3.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['data',['data',['../structgrpc__byte__buffer.html#a9bee8905a97b4972f9ec1d18e5fe513f',1,'grpc_byte_buffer::data()'],['../structgrpc__op.html#a39a29ba59e6482692adfcdef46ec66ad',1,'grpc_op::data()'],['../structgpr__slice.html#ad2cc3f68d4be2fc4d359722060ba4b29',1,'gpr_slice::data()']]], + ['deadline',['deadline',['../structgrpc__call__details.html#a6b72caadcf800d975987de18012f0f15',1,'grpc_call_details']]], + ['destroy',['destroy',['../structgrpc__arg.html#a15c9a748974a6ac525074f3ed1e04eb4',1,'grpc_arg']]] +]; diff --git a/doc/ref/core/html/search/all_4.html b/doc/ref/core/html/search/all_4.html new file mode 100644 index 0000000000..d72a9104cd --- /dev/null +++ b/doc/ref/core/html/search/all_4.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core/html/search/all_4.js b/doc/ref/core/html/search/all_4.js new file mode 100644 index 0000000000..550267a561 --- /dev/null +++ b/doc/ref/core/html/search/all_4.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['file',['file',['../structgpr__log__func__args.html#a7961b2303b10d4f66d1aee6b5857ef89',1,'gpr_log_func_args']]], + ['flags',['flags',['../structgrpc__op.html#a9e6087665c90f146e5570f12c66d04fb',1,'grpc_op::flags()'],['../structgpr__thd__options.html#aaa966777aca6604109eb4cd6cae7984c',1,'gpr_thd_options::flags()']]] +]; diff --git a/doc/ref/core/html/search/all_5.html b/doc/ref/core/html/search/all_5.html new file mode 100644 index 0000000000..99ef726704 --- /dev/null +++ b/doc/ref/core/html/search/all_5.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core/html/search/all_5.js b/doc/ref/core/html/search/all_5.js new file mode 100644 index 0000000000..be904f1b2b --- /dev/null +++ b/doc/ref/core/html/search/all_5.js @@ -0,0 +1,405 @@ +var searchData= +[ + ['gpr_5farray_5fsize',['GPR_ARRAY_SIZE',['../useful_8h.html#a0e411d4f81a169c97c319d4e84df5747',1,'useful.h']]], + ['gpr_5fasprintf',['gpr_asprintf',['../string__util_8h.html#a0e5cc621bf7ca14112c72aa7a0ca73d0',1,'string_util.h']]], + ['gpr_5fassert',['GPR_ASSERT',['../log_8h.html#a6ccf52ff690655cc22cd9d053650876f',1,'log.h']]], + ['gpr_5fatm',['gpr_atm',['../atm__gcc__atomic_8h.html#aa9e4b16c09888debe306f14e8090b1cc',1,'gpr_atm(): atm_gcc_atomic.h'],['../atm__gcc__sync_8h.html#aa9e4b16c09888debe306f14e8090b1cc',1,'gpr_atm(): atm_gcc_sync.h'],['../atm__win32_8h.html#aa9e4b16c09888debe306f14e8090b1cc',1,'gpr_atm(): atm_win32.h']]], + ['gpr_5fatm_5facq_5fcas',['gpr_atm_acq_cas',['../atm__gcc__sync_8h.html#a1a90e5777158aaa53624822f1f87dd90',1,'atm_gcc_sync.h']]], + ['gpr_5fatm_5facq_5fload',['gpr_atm_acq_load',['../atm__gcc__atomic_8h.html#a44607f95f7ee40eba592c7fe10960a06',1,'atm_gcc_atomic.h']]], + ['gpr_5fatm_5fcompile_5fbarrier_5f',['GPR_ATM_COMPILE_BARRIER_',['../atm__gcc__sync_8h.html#a5a1f94112dcd03309d6716d43c8edf3f',1,'atm_gcc_sync.h']]], + ['gpr_5fatm_5ffull_5fbarrier',['gpr_atm_full_barrier',['../atm__gcc__atomic_8h.html#a95f86e51ae9a479026bd237cb792193e',1,'gpr_atm_full_barrier(): atm_gcc_atomic.h'],['../atm__gcc__sync_8h.html#a95f86e51ae9a479026bd237cb792193e',1,'gpr_atm_full_barrier(): atm_gcc_sync.h'],['../atm__win32_8h.html#a8e58c94aff5c7161bc3cbfde878dd03d',1,'gpr_atm_full_barrier(): atm_win32.h']]], + ['gpr_5fatm_5ffull_5ffetch_5fadd',['gpr_atm_full_fetch_add',['../atm__gcc__atomic_8h.html#abada8771b338845e4c6ef93c8392582c',1,'gpr_atm_full_fetch_add(): atm_gcc_atomic.h'],['../atm__gcc__sync_8h.html#abada8771b338845e4c6ef93c8392582c',1,'gpr_atm_full_fetch_add(): atm_gcc_sync.h']]], + ['gpr_5fatm_5fls_5fbarrier_5f',['GPR_ATM_LS_BARRIER_',['../atm__gcc__sync_8h.html#a4ceb46c9b854db0ade8cfe2f37edb878',1,'atm_gcc_sync.h']]], + ['gpr_5fatm_5fno_5fbarrier_5fcas',['gpr_atm_no_barrier_cas',['../atm__gcc__sync_8h.html#ad39536b08912ac4a0770655ed334d260',1,'atm_gcc_sync.h']]], + ['gpr_5fatm_5fno_5fbarrier_5ffetch_5fadd',['gpr_atm_no_barrier_fetch_add',['../atm__gcc__atomic_8h.html#ae337dc477a6a45ac3d91e41e8f3f2f8c',1,'gpr_atm_no_barrier_fetch_add(): atm_gcc_atomic.h'],['../atm__gcc__sync_8h.html#ae337dc477a6a45ac3d91e41e8f3f2f8c',1,'gpr_atm_no_barrier_fetch_add(): atm_gcc_sync.h']]], + ['gpr_5fatm_5fno_5fbarrier_5fload',['gpr_atm_no_barrier_load',['../atm__gcc__atomic_8h.html#aa647aa9c97294a6709bbf2ac401cd9a6',1,'atm_gcc_atomic.h']]], + ['gpr_5fatm_5fno_5fbarrier_5fstore',['gpr_atm_no_barrier_store',['../atm__gcc__atomic_8h.html#afad47d4c311c5439371fcdd4a0b6794e',1,'atm_gcc_atomic.h']]], + ['gpr_5fatm_5frel_5fcas',['gpr_atm_rel_cas',['../atm__gcc__sync_8h.html#ae7c3b215cda868ee9ee778822000c3f2',1,'atm_gcc_sync.h']]], + ['gpr_5fatm_5frel_5fstore',['gpr_atm_rel_store',['../atm__gcc__atomic_8h.html#a42e3982d45ae4cec439a12b8fcd618e9',1,'atm_gcc_atomic.h']]], + ['gpr_5fbitclear',['GPR_BITCLEAR',['../useful_8h.html#af797bf1803f9809b3ccceaa619078c89',1,'useful.h']]], + ['gpr_5fbitcount',['GPR_BITCOUNT',['../useful_8h.html#a8f51444fe97eb3f83184b98035e3357f',1,'useful.h']]], + ['gpr_5fbitget',['GPR_BITGET',['../useful_8h.html#a7c54bb2fffdaae24ba38ca5e5c53ab41',1,'useful.h']]], + ['gpr_5fbitset',['GPR_BITSET',['../useful_8h.html#a28de4ed955bfc2bff309061b7820a37a',1,'useful.h']]], + ['gpr_5fcacheline_5fsize',['GPR_CACHELINE_SIZE',['../port__platform_8h.html#ad9b7cc620233bbab0bc57cfbbe9519ad',1,'port_platform.h']]], + ['gpr_5fcacheline_5fsize_5flog',['GPR_CACHELINE_SIZE_LOG',['../port__platform_8h.html#a4e8b19add0d8d0be9464f748be985576',1,'port_platform.h']]], + ['gpr_5fcancellable',['gpr_cancellable',['../structgpr__cancellable.html',1,'']]], + ['gpr_5fcancellable_5fcancel',['gpr_cancellable_cancel',['../sync_8h.html#a895fb73161d2dd1fa19be10d5395001c',1,'sync.h']]], + ['gpr_5fcancellable_5fdestroy',['gpr_cancellable_destroy',['../sync_8h.html#aa82b7172b992bd33bd6fd4b4dc89e338',1,'sync.h']]], + ['gpr_5fcancellable_5finit',['gpr_cancellable_init',['../sync_8h.html#aec0b0e9b9f084550cdec300da1f31add',1,'sync.h']]], + ['gpr_5fcancellable_5fis_5fcancelled',['gpr_cancellable_is_cancelled',['../sync_8h.html#a1e53047443e5eb1f9895be0c90bc790b',1,'sync.h']]], + ['gpr_5fcancellable_5flist_5f',['gpr_cancellable_list_',['../structgpr__cancellable__list__.html',1,'']]], + ['gpr_5fclamp',['GPR_CLAMP',['../useful_8h.html#ac974b8c13ee716193e0ee30d9513672c',1,'useful.h']]], + ['gpr_5fclock_5fmonotonic',['GPR_CLOCK_MONOTONIC',['../time_8h.html#a2441bd1fbe80e86ff741e0757725b281a6ddd11813c5172c7b3e0e46e5ce7f01c',1,'time.h']]], + ['gpr_5fclock_5frealtime',['GPR_CLOCK_REALTIME',['../time_8h.html#a2441bd1fbe80e86ff741e0757725b281a685c67eccb0b9e3de6311b1e1330a746',1,'time.h']]], + ['gpr_5fclock_5ftype',['gpr_clock_type',['../time_8h.html#a2441bd1fbe80e86ff741e0757725b281',1,'time.h']]], + ['gpr_5fcmdline',['gpr_cmdline',['../cmdline_8h.html#aaad93cd9bfc32c54fc89f7c2f3b74eb6',1,'cmdline.h']]], + ['gpr_5fcmdline_5fadd_5fflag',['gpr_cmdline_add_flag',['../cmdline_8h.html#ac5ecfdfc605896c29df846b1e268045e',1,'cmdline.h']]], + ['gpr_5fcmdline_5fadd_5fint',['gpr_cmdline_add_int',['../cmdline_8h.html#a0fc8cd330751e9876e8635189a1bc10f',1,'cmdline.h']]], + ['gpr_5fcmdline_5fadd_5fstring',['gpr_cmdline_add_string',['../cmdline_8h.html#a34568676c089f3284dc8f7d8d706b1d3',1,'cmdline.h']]], + ['gpr_5fcmdline_5fcreate',['gpr_cmdline_create',['../cmdline_8h.html#a608f6fbc4edfb4d2c18e3c0660fd8773',1,'cmdline.h']]], + ['gpr_5fcmdline_5fdestroy',['gpr_cmdline_destroy',['../cmdline_8h.html#a018f826ce313b02d2773ef97b8df5f98',1,'cmdline.h']]], + ['gpr_5fcmdline_5fon_5fextra_5farg',['gpr_cmdline_on_extra_arg',['../cmdline_8h.html#afcf023a5eb082034a650a0f0177d1fe9',1,'cmdline.h']]], + ['gpr_5fcmdline_5fparse',['gpr_cmdline_parse',['../cmdline_8h.html#a34b66021bbbb9f6a6e8a60c0ae34f8a4',1,'cmdline.h']]], + ['gpr_5fcmdline_5fusage_5fstring',['gpr_cmdline_usage_string',['../cmdline_8h.html#a4eac81d047bdc6e679079309bf60f030',1,'cmdline.h']]], + ['gpr_5fconvert_5fclock_5ftype',['gpr_convert_clock_type',['../time_8h.html#a5da0bdd7a1b8735bf1594a2068b7ec74',1,'time.h']]], + ['gpr_5fcpu_5fcurrent_5fcpu',['gpr_cpu_current_cpu',['../cpu_8h.html#ad713326192eea685047b742f1da87c1d',1,'cpu.h']]], + ['gpr_5fcpu_5fnum_5fcores',['gpr_cpu_num_cores',['../cpu_8h.html#abfe660c6872b008de80de5b39ac2538d',1,'cpu.h']]], + ['gpr_5fcv',['gpr_cv',['../sync__posix_8h.html#a1ad613e07180c0459cda9f3f6d881885',1,'gpr_cv(): sync_posix.h'],['../sync__win32_8h.html#a81241bed6e85e9b106a1311060a04d9d',1,'gpr_cv(): sync_win32.h']]], + ['gpr_5fcv_5fbroadcast',['gpr_cv_broadcast',['../sync_8h.html#ad5a4b4a5844668d188db89dda6ad205b',1,'sync.h']]], + ['gpr_5fcv_5fcancellable_5fwait',['gpr_cv_cancellable_wait',['../sync_8h.html#a5f1df649a9885ff2354dd4ce611017d9',1,'sync.h']]], + ['gpr_5fcv_5fdestroy',['gpr_cv_destroy',['../sync_8h.html#a652900a910676d5cae9ccba052adb6b0',1,'sync.h']]], + ['gpr_5fcv_5finit',['gpr_cv_init',['../sync_8h.html#ad24aac3d86113f0fcffc6c4595da9cb2',1,'sync.h']]], + ['gpr_5fcv_5fsignal',['gpr_cv_signal',['../sync_8h.html#aba119d0b92b0bd50e6efa9e2abe07a5f',1,'sync.h']]], + ['gpr_5fcv_5fwait',['gpr_cv_wait',['../sync_8h.html#ad5d8d01509b75addc44e5a43783a826e',1,'sync.h']]], + ['gpr_5fdebug',['GPR_DEBUG',['../log_8h.html#a3e793245091f13bb7318a18b1166a773',1,'log.h']]], + ['gpr_5fempty_5fslice',['gpr_empty_slice',['../slice_8h.html#a1a8906400c956fb8c508326a072b0662',1,'slice.h']]], + ['gpr_5ferror',['GPR_ERROR',['../log_8h.html#a63faedb3eefd93d1c0e79974be80cc36',1,'log.h']]], + ['gpr_5fevent',['gpr_event',['../structgpr__event.html',1,'']]], + ['gpr_5fevent_5fcancellable_5fwait',['gpr_event_cancellable_wait',['../sync_8h.html#ae048c7e762b723821e35a07fd0d85e22',1,'sync.h']]], + ['gpr_5fevent_5fget',['gpr_event_get',['../sync_8h.html#ac0a2305d9e6575cc5a3d92bc3f12c161',1,'sync.h']]], + ['gpr_5fevent_5finit',['gpr_event_init',['../sync_8h.html#a93f37cd27964fda51acd4cd8e6737922',1,'gpr_event_init(gpr_event *ev): sync.h'],['../sync__generic_8h.html#a6f38fe7692eaa6663c1f79ff5847c050',1,'GPR_EVENT_INIT(): sync_generic.h']]], + ['gpr_5fevent_5fset',['gpr_event_set',['../sync_8h.html#a1b1d014640e00512f6789dacc4ff88bd',1,'sync.h']]], + ['gpr_5fevent_5fwait',['gpr_event_wait',['../sync_8h.html#a01d442a76ff77f64d9f898b22ea33db7',1,'sync.h']]], + ['gpr_5fformat_5fmessage',['gpr_format_message',['../log__win32_8h.html#ad8115cf8df2332d225d12cb87c21f536',1,'log_win32.h']]], + ['gpr_5ffree',['gpr_free',['../alloc_8h.html#ae0d621b472031a64c77bd2e9fea495e8',1,'alloc.h']]], + ['gpr_5ffree_5faligned',['gpr_free_aligned',['../alloc_8h.html#af9b603aefd33752e1b473856af77cbc9',1,'alloc.h']]], + ['gpr_5fgcc_5fthread_5flocal',['gpr_gcc_thread_local',['../structgpr__gcc__thread__local.html',1,'']]], + ['gpr_5fhistogram',['gpr_histogram',['../histogram_8h.html#a7125b0cef0e61a441a17f887dbc073fc',1,'histogram.h']]], + ['gpr_5fhistogram_5fadd',['gpr_histogram_add',['../histogram_8h.html#a63815a52b0236626a30480915ff51847',1,'histogram.h']]], + ['gpr_5fhistogram_5fcount',['gpr_histogram_count',['../histogram_8h.html#a242b0541ee25271812d867d8f2734255',1,'histogram.h']]], + ['gpr_5fhistogram_5fcreate',['gpr_histogram_create',['../histogram_8h.html#a5da9d3dac4262c5ae1e974a649edbd5c',1,'histogram.h']]], + ['gpr_5fhistogram_5fdestroy',['gpr_histogram_destroy',['../histogram_8h.html#a7411a760aa075c1c27eeb9249d951c6c',1,'histogram.h']]], + ['gpr_5fhistogram_5fget_5fcontents',['gpr_histogram_get_contents',['../histogram_8h.html#aa7807dc3f06172d1513498761c3ad8c4',1,'histogram.h']]], + ['gpr_5fhistogram_5fmaximum',['gpr_histogram_maximum',['../histogram_8h.html#a71e5aa88087c8595c7f5d01750f919cb',1,'histogram.h']]], + ['gpr_5fhistogram_5fmean',['gpr_histogram_mean',['../histogram_8h.html#a14d68ff71978bda93a07d019d993d83c',1,'histogram.h']]], + ['gpr_5fhistogram_5fmerge',['gpr_histogram_merge',['../histogram_8h.html#a41caac8747588e75cf5fed974fcd90f2',1,'histogram.h']]], + ['gpr_5fhistogram_5fmerge_5fcontents',['gpr_histogram_merge_contents',['../histogram_8h.html#aa1acf09b75809398b4e45729e6a3ba30',1,'histogram.h']]], + ['gpr_5fhistogram_5fminimum',['gpr_histogram_minimum',['../histogram_8h.html#ab89af54f76a690d82d1f065ceeda6a76',1,'histogram.h']]], + ['gpr_5fhistogram_5fpercentile',['gpr_histogram_percentile',['../histogram_8h.html#a1a0a1b854c2af4d29175872fe5bb4431',1,'histogram.h']]], + ['gpr_5fhistogram_5fstddev',['gpr_histogram_stddev',['../histogram_8h.html#a0979c6470e9192e5f83bcab01542dd91',1,'histogram.h']]], + ['gpr_5fhistogram_5fsum',['gpr_histogram_sum',['../histogram_8h.html#a0332c47f841d8b0607e3327d8bc9a933',1,'histogram.h']]], + ['gpr_5fhistogram_5fsum_5fof_5fsquares',['gpr_histogram_sum_of_squares',['../histogram_8h.html#a5788652eb5350afcc534f563fd0265d3',1,'histogram.h']]], + ['gpr_5fhistogram_5fvariance',['gpr_histogram_variance',['../histogram_8h.html#a4ef00ceaa619ca09da4de17fc5a5769b',1,'histogram.h']]], + ['gpr_5finf_5ffuture',['gpr_inf_future',['../time_8h.html#a9324a2b33d5d7686fb14714c59ff026d',1,'time.h']]], + ['gpr_5finf_5fpast',['gpr_inf_past',['../time_8h.html#abd2eba8066648fe0d94146d8310b4283',1,'time.h']]], + ['gpr_5finfo',['GPR_INFO',['../log_8h.html#af0d0d75690f79edc9294498c88f96703',1,'log.h']]], + ['gpr_5fint16',['gpr_int16',['../port__platform_8h.html#a6c41ac43b02ec37b1e07967a8706e709',1,'port_platform.h']]], + ['gpr_5fint32',['gpr_int32',['../port__platform_8h.html#a7c9027ffa98b5efe1767efe79903c6b7',1,'port_platform.h']]], + ['gpr_5fint64',['gpr_int64',['../port__platform_8h.html#a71edab4bc3421f129764e5cb342f7181',1,'port_platform.h']]], + ['gpr_5fint64_5fmax',['GPR_INT64_MAX',['../port__platform_8h.html#aaff7a6a2f0868f8b0648b74828ef0e4f',1,'port_platform.h']]], + ['gpr_5finternal_5fhexdigit_5fbitcount',['GPR_INTERNAL_HEXDIGIT_BITCOUNT',['../useful_8h.html#a601e1be692fe7922b52991a5d410b945',1,'useful.h']]], + ['gpr_5fintmax',['gpr_intmax',['../port__platform_8h.html#a3ecb17ae580dbde63199ac206a732139',1,'port_platform.h']]], + ['gpr_5fintptr',['gpr_intptr',['../port__platform_8h.html#a72d9d0d00bd576cfc8eab61aaea76db2',1,'port_platform.h']]], + ['gpr_5fjoin_5fhost_5fport',['gpr_join_host_port',['../host__port_8h.html#a75d6ea0faeed039dc132873afce91508',1,'host_port.h']]], + ['gpr_5flog',['gpr_log',['../log_8h.html#acf6f383ed91d9f4e2e6bd79c57539fd1',1,'log.h']]], + ['gpr_5flog_5ffunc',['gpr_log_func',['../log_8h.html#a23f29195676c33c61ff08a7f0a3e69b0',1,'log.h']]], + ['gpr_5flog_5ffunc_5fargs',['gpr_log_func_args',['../structgpr__log__func__args.html',1,'']]], + ['gpr_5flog_5fmessage',['gpr_log_message',['../log_8h.html#a7a3d59528754f8fbcfe54f6f8a72ec61',1,'log.h']]], + ['gpr_5flog_5fseverity',['gpr_log_severity',['../log_8h.html#af10334b4085ac6985a2af9c08478ad48',1,'gpr_log_severity(): log.h'],['../log_8h.html#ad49303346a78cf4881129958214fde8d',1,'gpr_log_severity(): log.h']]], + ['gpr_5flog_5fseverity_5fdebug',['GPR_LOG_SEVERITY_DEBUG',['../log_8h.html#af10334b4085ac6985a2af9c08478ad48af7d2a0ad91b0787398220ddcd91f06d6',1,'log.h']]], + ['gpr_5flog_5fseverity_5ferror',['GPR_LOG_SEVERITY_ERROR',['../log_8h.html#af10334b4085ac6985a2af9c08478ad48a52b957eb23ac2207b5e1dcf15c2b3dd4',1,'log.h']]], + ['gpr_5flog_5fseverity_5finfo',['GPR_LOG_SEVERITY_INFO',['../log_8h.html#af10334b4085ac6985a2af9c08478ad48af6c13c67f06821c1629b7e019af4aaf1',1,'log.h']]], + ['gpr_5flog_5fseverity_5fstring',['gpr_log_severity_string',['../log_8h.html#a3badccbc5ec4c725eadbc07b8e5706eb',1,'log.h']]], + ['gpr_5fmalloc',['gpr_malloc',['../alloc_8h.html#af5896bb446b6179f35651730357149bb',1,'alloc.h']]], + ['gpr_5fmalloc_5faligned',['gpr_malloc_aligned',['../alloc_8h.html#a73551a6249ae9b0a73ad75733c67ead4',1,'alloc.h']]], + ['gpr_5fmax',['GPR_MAX',['../useful_8h.html#af50c518bb1183da84adb7d8a86cd568a',1,'useful.h']]], + ['gpr_5fmax_5falignment',['GPR_MAX_ALIGNMENT',['../port__platform_8h.html#a53c934fa255faf3f8c4f028df105c8e2',1,'port_platform.h']]], + ['gpr_5fmin',['GPR_MIN',['../useful_8h.html#a298322c952526928cf8dbc7aaba7b84d',1,'useful.h']]], + ['gpr_5fms_5fper_5fsec',['GPR_MS_PER_SEC',['../time_8h.html#af2c8091db4e2a3133b93131f64db859e',1,'time.h']]], + ['gpr_5fmsvc_5fthread_5flocal',['gpr_msvc_thread_local',['../structgpr__msvc__thread__local.html',1,'']]], + ['gpr_5fmu',['gpr_mu',['../structgpr__mu.html',1,'gpr_mu'],['../sync__posix_8h.html#aa66fb6a11304ef6759d76f84a34ee28f',1,'gpr_mu(): sync_posix.h']]], + ['gpr_5fmu_5fdestroy',['gpr_mu_destroy',['../sync_8h.html#a52ae2524c7dade8cecb9f01ff4792c9e',1,'sync.h']]], + ['gpr_5fmu_5finit',['gpr_mu_init',['../sync_8h.html#a16694f755266c254390b041a0f069094',1,'sync.h']]], + ['gpr_5fmu_5flock',['gpr_mu_lock',['../sync_8h.html#a44b385455d169e6c84659adb222c1d42',1,'sync.h']]], + ['gpr_5fmu_5ftrylock',['gpr_mu_trylock',['../sync_8h.html#a65a42bb7ca9072b0e7b581d715a8e777',1,'sync.h']]], + ['gpr_5fmu_5funlock',['gpr_mu_unlock',['../sync_8h.html#a91370fd0eb76bc1323c80815ad6e9cff',1,'sync.h']]], + ['gpr_5fnow',['gpr_now',['../time_8h.html#adf5debcac2bc854e733ca2dec2a1ff19',1,'time.h']]], + ['gpr_5fns_5fper_5fms',['GPR_NS_PER_MS',['../time_8h.html#a3c63ee76f91a122abf3a0806b64318eb',1,'time.h']]], + ['gpr_5fns_5fper_5fsec',['GPR_NS_PER_SEC',['../time_8h.html#a447d0913b0cfdc943df51585f0e2785e',1,'time.h']]], + ['gpr_5fns_5fper_5fus',['GPR_NS_PER_US',['../time_8h.html#adc295bf07c72edae8a2ad49e24da2f32',1,'time.h']]], + ['gpr_5fonce',['gpr_once',['../sync__posix_8h.html#a28731dc17a4158343f58f453a4d5e37f',1,'gpr_once(): sync_posix.h'],['../sync__win32_8h.html#a6a752a459fe345c616c26b5a556ccc13',1,'gpr_once(): sync_win32.h']]], + ['gpr_5fonce_5finit',['gpr_once_init',['../sync_8h.html#ad5c88872723a129b09200b1892d2323f',1,'gpr_once_init(gpr_once *once, void(*init_routine)(void)): sync.h'],['../sync__posix_8h.html#a8edd7eb4f6860a4f79defbad49c35666',1,'GPR_ONCE_INIT(): sync_posix.h'],['../sync__win32_8h.html#a8edd7eb4f6860a4f79defbad49c35666',1,'GPR_ONCE_INIT(): sync_win32.h']]], + ['gpr_5fplatform_5fstring',['GPR_PLATFORM_STRING',['../port__platform_8h.html#a99f34e9b119908109486e91abedc933e',1,'port_platform.h']]], + ['gpr_5fpthread_5fthread_5flocal',['gpr_pthread_thread_local',['../structgpr__pthread__thread__local.html',1,'']]], + ['gpr_5frealloc',['gpr_realloc',['../alloc_8h.html#a25d9a067b093e9c76dbbd77995b1bc91',1,'alloc.h']]], + ['gpr_5fref',['gpr_ref',['../sync_8h.html#ac0e52c6bfc7a04ba8a269f3227104571',1,'sync.h']]], + ['gpr_5fref_5finit',['gpr_ref_init',['../sync_8h.html#a235584f36572b5410b042ee63cb0740b',1,'sync.h']]], + ['gpr_5frefcount',['gpr_refcount',['../structgpr__refcount.html',1,'']]], + ['gpr_5frefn',['gpr_refn',['../sync_8h.html#a516e26b66b1aa53fba8f5f52b249cb25',1,'sync.h']]], + ['gpr_5frotl',['GPR_ROTL',['../useful_8h.html#a6f7a8aba8e044f6b20fc8a7560f28f85',1,'useful.h']]], + ['gpr_5frotr',['GPR_ROTR',['../useful_8h.html#a5ff4b278972e799dc134963a0249f316',1,'useful.h']]], + ['gpr_5fset_5flog_5ffunction',['gpr_set_log_function',['../log_8h.html#a75771a41e3bb2831df8043a57de05330',1,'log.h']]], + ['gpr_5fsleep_5funtil',['gpr_sleep_until',['../time_8h.html#ad037af8b7288a3f2e5ce46d3e3ca50d7',1,'time.h']]], + ['gpr_5fslice',['gpr_slice',['../structgpr__slice.html',1,'gpr_slice'],['../slice_8h.html#a91fe16db371db7c53d6e3adc90a6678c',1,'gpr_slice(): slice.h']]], + ['gpr_5fslice_5fbuffer',['gpr_slice_buffer',['../structgpr__slice__buffer.html',1,'']]], + ['gpr_5fslice_5fbuffer_5fadd',['gpr_slice_buffer_add',['../slice__buffer_8h.html#a8fd6443c77c7602be19b9152355a8e12',1,'slice_buffer.h']]], + ['gpr_5fslice_5fbuffer_5fadd_5findexed',['gpr_slice_buffer_add_indexed',['../slice__buffer_8h.html#acd745eec745573eeace3861da3e2c045',1,'slice_buffer.h']]], + ['gpr_5fslice_5fbuffer_5faddn',['gpr_slice_buffer_addn',['../slice__buffer_8h.html#a615be732e655de9980c321eb075e4a46',1,'slice_buffer.h']]], + ['gpr_5fslice_5fbuffer_5fdestroy',['gpr_slice_buffer_destroy',['../slice__buffer_8h.html#a60c8b437918c3a81651b5f9a892f6399',1,'slice_buffer.h']]], + ['gpr_5fslice_5fbuffer_5finit',['gpr_slice_buffer_init',['../slice__buffer_8h.html#aab5ed508480703c7b856e92ef6d7e4c8',1,'slice_buffer.h']]], + ['gpr_5fslice_5fbuffer_5fmove_5finto',['gpr_slice_buffer_move_into',['../slice__buffer_8h.html#a0289912040151750bbee19ba632a88f1',1,'slice_buffer.h']]], + ['gpr_5fslice_5fbuffer_5fpop',['gpr_slice_buffer_pop',['../slice__buffer_8h.html#ae3bd1bc560aad5b69a6ef0b09286cc79',1,'slice_buffer.h']]], + ['gpr_5fslice_5fbuffer_5freset_5fand_5funref',['gpr_slice_buffer_reset_and_unref',['../slice__buffer_8h.html#aa2819a201e9dcf62e31a6dbfc6fe3010',1,'slice_buffer.h']]], + ['gpr_5fslice_5fbuffer_5fswap',['gpr_slice_buffer_swap',['../slice__buffer_8h.html#a672b80e16cdabf26c7b558a54edfcd2d',1,'slice_buffer.h']]], + ['gpr_5fslice_5fbuffer_5ftiny_5fadd',['gpr_slice_buffer_tiny_add',['../slice__buffer_8h.html#a223fc0bf1beb3866aee902dea0a599c0',1,'slice_buffer.h']]], + ['gpr_5fslice_5fcmp',['gpr_slice_cmp',['../slice_8h.html#add3c8736c46bea7517991f178c82ba3c',1,'slice.h']]], + ['gpr_5fslice_5fend_5fptr',['GPR_SLICE_END_PTR',['../slice_8h.html#a9b7e9acd0eb92039a9bc897712a62a14',1,'slice.h']]], + ['gpr_5fslice_5ffrom_5fcopied_5fbuffer',['gpr_slice_from_copied_buffer',['../slice_8h.html#a83e8110a7a98132963f01eb9c7f7418e',1,'slice.h']]], + ['gpr_5fslice_5ffrom_5fcopied_5fstring',['gpr_slice_from_copied_string',['../slice_8h.html#adf4df32e55b1b09d3f11c39447dcc68b',1,'slice.h']]], + ['gpr_5fslice_5finlined_5fsize',['GPR_SLICE_INLINED_SIZE',['../slice_8h.html#a4063c3d8d4820472a4cf2655dd662a31',1,'slice.h']]], + ['gpr_5fslice_5fis_5fempty',['GPR_SLICE_IS_EMPTY',['../slice_8h.html#ad4fe3efa7a8938045ce79271d79f79ef',1,'slice.h']]], + ['gpr_5fslice_5flength',['GPR_SLICE_LENGTH',['../slice_8h.html#ae97c2f992c1ebccaf44ceeee1f9fdabb',1,'slice.h']]], + ['gpr_5fslice_5fmalloc',['gpr_slice_malloc',['../slice_8h.html#ab57463740ccedc00b50721dce66ebd7b',1,'slice.h']]], + ['gpr_5fslice_5fnew',['gpr_slice_new',['../slice_8h.html#aea43587a11bfe2e06fb8532035229bb2',1,'slice.h']]], + ['gpr_5fslice_5fnew_5fwith_5flen',['gpr_slice_new_with_len',['../slice_8h.html#affd1fef2ffaca67e0b2e7b60923da812',1,'slice.h']]], + ['gpr_5fslice_5fref',['gpr_slice_ref',['../slice_8h.html#ad28a2bcca348046cbe660a44180e75ca',1,'slice.h']]], + ['gpr_5fslice_5frefcount',['gpr_slice_refcount',['../structgpr__slice__refcount.html',1,'gpr_slice_refcount'],['../slice_8h.html#af8841873e741f6cf38b2192147ea4f3e',1,'gpr_slice_refcount(): slice.h']]], + ['gpr_5fslice_5fset_5flength',['GPR_SLICE_SET_LENGTH',['../slice_8h.html#a1f5333a1260aef2efe086d4e2188e613',1,'slice.h']]], + ['gpr_5fslice_5fsplit_5fhead',['gpr_slice_split_head',['../slice_8h.html#a842ea6b4a9ab4d0d3becd6fda03bbc24',1,'slice.h']]], + ['gpr_5fslice_5fsplit_5ftail',['gpr_slice_split_tail',['../slice_8h.html#a51315f2a9217a1d42711f48bfec9d39e',1,'slice.h']]], + ['gpr_5fslice_5fstart_5fptr',['GPR_SLICE_START_PTR',['../slice_8h.html#ab8258afc3398c1426974b0b48dbf5a15',1,'slice.h']]], + ['gpr_5fslice_5fstr_5fcmp',['gpr_slice_str_cmp',['../slice_8h.html#aef752203db50c932010a74c6845872c2',1,'slice.h']]], + ['gpr_5fslice_5fsub',['gpr_slice_sub',['../slice_8h.html#ac9d4e6e264e22c6c6d3748f522da91eb',1,'slice.h']]], + ['gpr_5fslice_5fsub_5fno_5fref',['gpr_slice_sub_no_ref',['../slice_8h.html#accf08ddad530a5f1cca82c834dc70965',1,'slice.h']]], + ['gpr_5fslice_5funref',['gpr_slice_unref',['../slice_8h.html#a024429b0dd15e43a09e48e35ca8810d7',1,'slice.h']]], + ['gpr_5fsplit_5fhost_5fport',['gpr_split_host_port',['../host__port_8h.html#aacb0efdff2bb1b15d5e7edeb62ae4aea',1,'host_port.h']]], + ['gpr_5fstats_5fcounter',['gpr_stats_counter',['../structgpr__stats__counter.html',1,'']]], + ['gpr_5fstats_5finc',['gpr_stats_inc',['../sync_8h.html#a8e51ec3b46c7c03602e2279a802daa1c',1,'sync.h']]], + ['gpr_5fstats_5finit',['gpr_stats_init',['../sync_8h.html#a76b8e5de6e1baa4fd66c014417dc0a30',1,'gpr_stats_init(gpr_stats_counter *c, gpr_intptr n): sync.h'],['../sync__generic_8h.html#ada230498c8e2aca51e9349709e70e1ef',1,'GPR_STATS_INIT(): sync_generic.h']]], + ['gpr_5fstats_5fread',['gpr_stats_read',['../sync_8h.html#abb2c58da7d0b785887266b3b1890764d',1,'sync.h']]], + ['gpr_5fstrdup',['gpr_strdup',['../string__util_8h.html#a7a021bce444344f0a96cb022038eed93',1,'string_util.h']]], + ['gpr_5fsubprocess',['gpr_subprocess',['../subprocess_8h.html#a1c3492c3aef738e6eef6b8cb1b435095',1,'subprocess.h']]], + ['gpr_5fsubprocess_5fbinary_5fextension',['gpr_subprocess_binary_extension',['../subprocess_8h.html#a6d393aed4f99f9ba49286715c5da8fd3',1,'subprocess.h']]], + ['gpr_5fsubprocess_5fcreate',['gpr_subprocess_create',['../subprocess_8h.html#a761755433d8809a68024b03176341242',1,'subprocess.h']]], + ['gpr_5fsubprocess_5fdestroy',['gpr_subprocess_destroy',['../subprocess_8h.html#a880657b78894ae66b9c5d7416ee7839b',1,'subprocess.h']]], + ['gpr_5fsubprocess_5finterrupt',['gpr_subprocess_interrupt',['../subprocess_8h.html#aee2ddbe0e8a58271a6a9a3cf451dd67d',1,'subprocess.h']]], + ['gpr_5fsubprocess_5fjoin',['gpr_subprocess_join',['../subprocess_8h.html#ac5c4e7eccc737f473dd73a1fb502f0d5',1,'subprocess.h']]], + ['gpr_5fswap',['GPR_SWAP',['../useful_8h.html#a9f884f8218a97ed9739e2dac467f0719',1,'useful.h']]], + ['gpr_5fthd_5fcurrentid',['gpr_thd_currentid',['../thd_8h.html#a8c875ae5410d10d658cfb7b917909624',1,'thd.h']]], + ['gpr_5fthd_5fid',['gpr_thd_id',['../thd_8h.html#a04194350e2fb18edc439ab0a9d355a72',1,'thd.h']]], + ['gpr_5fthd_5fjoin',['gpr_thd_join',['../thd_8h.html#a73509f851051b4d5f02ca1982d216776',1,'thd.h']]], + ['gpr_5fthd_5fnew',['gpr_thd_new',['../thd_8h.html#a9184cf0e025d8a9b098af6c08755b8ea',1,'thd.h']]], + ['gpr_5fthd_5foptions',['gpr_thd_options',['../structgpr__thd__options.html',1,'']]], + ['gpr_5fthd_5foptions_5fdefault',['gpr_thd_options_default',['../thd_8h.html#abf8bb34ba7d26ddab0696e24b1fcc862',1,'thd.h']]], + ['gpr_5fthd_5foptions_5fis_5fdetached',['gpr_thd_options_is_detached',['../thd_8h.html#a1647c2e991d269cdaf146dc33f61ce89',1,'thd.h']]], + ['gpr_5fthd_5foptions_5fis_5fjoinable',['gpr_thd_options_is_joinable',['../thd_8h.html#afb8d6ad4dcc8ebcdb6a786e8f4ef442b',1,'thd.h']]], + ['gpr_5fthd_5foptions_5fset_5fdetached',['gpr_thd_options_set_detached',['../thd_8h.html#a704882e5c65d29c817fae9173085e5ba',1,'thd.h']]], + ['gpr_5fthd_5foptions_5fset_5fjoinable',['gpr_thd_options_set_joinable',['../thd_8h.html#a87ad3ff4d439450ae1318151c1526745',1,'thd.h']]], + ['gpr_5ftime_5f0',['gpr_time_0',['../time_8h.html#a4f552f0628cc389dfbe3674a1a978108',1,'time.h']]], + ['gpr_5ftime_5fadd',['gpr_time_add',['../time_8h.html#a6f2c6fbc9fef45d74670c446e2bad004',1,'time.h']]], + ['gpr_5ftime_5fcmp',['gpr_time_cmp',['../time_8h.html#aeb10778e9b7c1dd7e6c47099d55f0fa0',1,'time.h']]], + ['gpr_5ftime_5ffrom_5fhours',['gpr_time_from_hours',['../time_8h.html#af7a9aca2af5348cbb8dc835853dc2756',1,'time.h']]], + ['gpr_5ftime_5ffrom_5fmicros',['gpr_time_from_micros',['../time_8h.html#a79956c6fba5b660aeee24b09ae026d6c',1,'time.h']]], + ['gpr_5ftime_5ffrom_5fmillis',['gpr_time_from_millis',['../time_8h.html#a491cdb7a2d2da81c337ed4c8c6a24946',1,'time.h']]], + ['gpr_5ftime_5ffrom_5fminutes',['gpr_time_from_minutes',['../time_8h.html#ad2ae89810eabe8c224b15a4ae0991eba',1,'time.h']]], + ['gpr_5ftime_5ffrom_5fnanos',['gpr_time_from_nanos',['../time_8h.html#a16f57f7df5d09bfc38e8b8fcd323e50a',1,'time.h']]], + ['gpr_5ftime_5ffrom_5fseconds',['gpr_time_from_seconds',['../time_8h.html#a4bc0bd3df3e9537035fc2b8675f01916',1,'time.h']]], + ['gpr_5ftime_5finit',['gpr_time_init',['../time_8h.html#a2a3da26a2eb15fcd312f1b8ef00cad56',1,'time.h']]], + ['gpr_5ftime_5fmax',['gpr_time_max',['../time_8h.html#a4e1c94c1e488381e9f01d4318c2a45d8',1,'time.h']]], + ['gpr_5ftime_5fmin',['gpr_time_min',['../time_8h.html#af15f574932e56662f57bd3573e3cc469',1,'time.h']]], + ['gpr_5ftime_5fsimilar',['gpr_time_similar',['../time_8h.html#a914f666c6cfe709650d96c986600de15',1,'time.h']]], + ['gpr_5ftime_5fsub',['gpr_time_sub',['../time_8h.html#a1eaf8db9ee9e94bd4af005f1049f967a',1,'time.h']]], + ['gpr_5ftime_5fto_5fmillis',['gpr_time_to_millis',['../time_8h.html#aebea7c2faef2e16b802a5e9ae1f3b7df',1,'time.h']]], + ['gpr_5ftimespan',['GPR_TIMESPAN',['../time_8h.html#a2441bd1fbe80e86ff741e0757725b281a52f75e587240b7b44d3b8bc7fb3d5741',1,'time.h']]], + ['gpr_5ftimespec',['gpr_timespec',['../structgpr__timespec.html',1,'gpr_timespec'],['../time_8h.html#a7dd12c72fcf53ebecfdfc13632914c45',1,'gpr_timespec(): time.h']]], + ['gpr_5ftimespec_5fto_5fmicros',['gpr_timespec_to_micros',['../time_8h.html#a1704f2028070b3c92bd5420864458bac',1,'time.h']]], + ['gpr_5ftls_5fdecl',['GPR_TLS_DECL',['../tls__gcc_8h.html#ab2c3baa4e4ceb366668aaf51379340fd',1,'GPR_TLS_DECL(): tls_gcc.h'],['../tls__msvc_8h.html#ab2c3baa4e4ceb366668aaf51379340fd',1,'GPR_TLS_DECL(): tls_msvc.h'],['../tls__pthread_8h.html#ab2c3baa4e4ceb366668aaf51379340fd',1,'GPR_TLS_DECL(): tls_pthread.h']]], + ['gpr_5ftls_5fdestroy',['gpr_tls_destroy',['../tls__gcc_8h.html#a187108e1078d2ce05388cb17bc59ce74',1,'gpr_tls_destroy(): tls_gcc.h'],['../tls__msvc_8h.html#a187108e1078d2ce05388cb17bc59ce74',1,'gpr_tls_destroy(): tls_msvc.h'],['../tls__pthread_8h.html#a187108e1078d2ce05388cb17bc59ce74',1,'gpr_tls_destroy(): tls_pthread.h']]], + ['gpr_5ftls_5fget',['gpr_tls_get',['../tls__gcc_8h.html#a9aa9e55eddbe7fed424526c23e1b55a3',1,'gpr_tls_get(): tls_gcc.h'],['../tls__msvc_8h.html#a9aa9e55eddbe7fed424526c23e1b55a3',1,'gpr_tls_get(): tls_msvc.h'],['../tls__pthread_8h.html#a9aa9e55eddbe7fed424526c23e1b55a3',1,'gpr_tls_get(): tls_pthread.h']]], + ['gpr_5ftls_5finit',['gpr_tls_init',['../tls__gcc_8h.html#a43768a42ff705cc028b4a483dc3b65c5',1,'gpr_tls_init(): tls_gcc.h'],['../tls__msvc_8h.html#a43768a42ff705cc028b4a483dc3b65c5',1,'gpr_tls_init(): tls_msvc.h'],['../tls__pthread_8h.html#a43768a42ff705cc028b4a483dc3b65c5',1,'gpr_tls_init(): tls_pthread.h']]], + ['gpr_5ftls_5fset',['gpr_tls_set',['../tls__gcc_8h.html#aa8f01b3e40178b80d098650f42c529e7',1,'gpr_tls_set(): tls_gcc.h'],['../tls__msvc_8h.html#aa8f01b3e40178b80d098650f42c529e7',1,'gpr_tls_set(): tls_msvc.h'],['../tls__pthread_8h.html#a02e97731a7a6668a2cb73a7e791e93ea',1,'gpr_tls_set(struct gpr_pthread_thread_local *tls, gpr_intptr value): tls_pthread.h']]], + ['gpr_5fuint16',['gpr_uint16',['../port__platform_8h.html#abb7bceac4325643af77af51c7b6af371',1,'port_platform.h']]], + ['gpr_5fuint32',['gpr_uint32',['../port__platform_8h.html#aa6abd4df815a5498d1a04b5e691a74a9',1,'port_platform.h']]], + ['gpr_5fuint64',['gpr_uint64',['../port__platform_8h.html#a737bb95b7b58d90b4215602d36ed65b6',1,'port_platform.h']]], + ['gpr_5fuint8',['gpr_uint8',['../port__platform_8h.html#aeeb41e29e7c7a916a4e0fb6cfb9f92e0',1,'port_platform.h']]], + ['gpr_5fuintmax',['gpr_uintmax',['../port__platform_8h.html#abee5d576e1d284a7c8135df7d89af0f7',1,'port_platform.h']]], + ['gpr_5fuintptr',['gpr_uintptr',['../port__platform_8h.html#ab302f9bfe3be467072bd8c79847636d4',1,'port_platform.h']]], + ['gpr_5funref',['gpr_unref',['../sync_8h.html#a76b570c831b14070c37e708dde91b795',1,'sync.h']]], + ['gpr_5fus_5fper_5fms',['GPR_US_PER_MS',['../time_8h.html#a33dba9a222266cf2270c9b09c1f64336',1,'time.h']]], + ['gpr_5fus_5fper_5fsec',['GPR_US_PER_SEC',['../time_8h.html#a48433e202646afa00d9694585b05b9e3',1,'time.h']]], + ['grpc_2eh',['grpc.h',['../grpc_8h.html',1,'']]], + ['grpc_5faccess_5ftoken_5fcredentials_5fcreate',['grpc_access_token_credentials_create',['../grpc__security_8h.html#a7ef8e179bb5d15c81dfd363924db0041',1,'grpc_security.h']]], + ['grpc_5farg',['grpc_arg',['../structgrpc__arg.html',1,'']]], + ['grpc_5farg_5fdefault_5fauthority',['GRPC_ARG_DEFAULT_AUTHORITY',['../grpc_8h.html#add42f97666fbfc66b7dac253ac3b73ae',1,'grpc.h']]], + ['grpc_5farg_5fenable_5fcensus',['GRPC_ARG_ENABLE_CENSUS',['../grpc_8h.html#ae498934a02de89ce29cec570b02a2037',1,'grpc.h']]], + ['grpc_5farg_5fhttp2_5finitial_5fsequence_5fnumber',['GRPC_ARG_HTTP2_INITIAL_SEQUENCE_NUMBER',['../grpc_8h.html#aecc45a63163796ca1bc5453938bdfb36',1,'grpc.h']]], + ['grpc_5farg_5finteger',['GRPC_ARG_INTEGER',['../grpc_8h.html#a0b06eae05e70404aedbceaebce6de593a8d2f803b8aaf88f34dac1f887826c689',1,'grpc.h']]], + ['grpc_5farg_5fmax_5fconcurrent_5fstreams',['GRPC_ARG_MAX_CONCURRENT_STREAMS',['../grpc_8h.html#a5bb9256d0b457cab219f4d9d765148b6',1,'grpc.h']]], + ['grpc_5farg_5fmax_5fmessage_5flength',['GRPC_ARG_MAX_MESSAGE_LENGTH',['../grpc_8h.html#a50f37feb7c000a23b3b0edf4c31d4367',1,'grpc.h']]], + ['grpc_5farg_5fpointer',['GRPC_ARG_POINTER',['../grpc_8h.html#a0b06eae05e70404aedbceaebce6de593a02a823a7037e2a60b9d9a031fd42591b',1,'grpc.h']]], + ['grpc_5farg_5fprimary_5fuser_5fagent_5fstring',['GRPC_ARG_PRIMARY_USER_AGENT_STRING',['../grpc_8h.html#a0732df2d9003e9ee1c01e50e41b5a8e2',1,'grpc.h']]], + ['grpc_5farg_5fsecondary_5fuser_5fagent_5fstring',['GRPC_ARG_SECONDARY_USER_AGENT_STRING',['../grpc_8h.html#af47b4048c11e4f8f4162f12c135c2da4',1,'grpc.h']]], + ['grpc_5farg_5fstring',['GRPC_ARG_STRING',['../grpc_8h.html#a0b06eae05e70404aedbceaebce6de593a215b6b9143ba133ede0e29f79098239d',1,'grpc.h']]], + ['grpc_5farg_5ftype',['grpc_arg_type',['../grpc_8h.html#a0b06eae05e70404aedbceaebce6de593',1,'grpc.h']]], + ['grpc_5fauth_5fcontext',['grpc_auth_context',['../grpc__security_8h.html#aa13f0724cb7ff99995d7f0881c01d553',1,'grpc_security.h']]], + ['grpc_5fauth_5fcontext_5ffind_5fproperties_5fby_5fname',['grpc_auth_context_find_properties_by_name',['../grpc__security_8h.html#a5298ac64614986581fc314f63fa9afd7',1,'grpc_security.h']]], + ['grpc_5fauth_5fcontext_5fpeer_5fidentity',['grpc_auth_context_peer_identity',['../grpc__security_8h.html#a144c6f3a56c8592489b3978e0c5caced',1,'grpc_security.h']]], + ['grpc_5fauth_5fcontext_5fpeer_5fidentity_5fproperty_5fname',['grpc_auth_context_peer_identity_property_name',['../grpc__security_8h.html#ac05022ccd5b972ba089950437727ff23',1,'grpc_security.h']]], + ['grpc_5fauth_5fcontext_5fpeer_5fis_5fauthenticated',['grpc_auth_context_peer_is_authenticated',['../grpc__security_8h.html#af33fe6681dedb389edbf708020680093',1,'grpc_security.h']]], + ['grpc_5fauth_5fcontext_5fproperty_5fiterator',['grpc_auth_context_property_iterator',['../grpc__security_8h.html#aaad9fed074f7aebed63ed075bb6ff780',1,'grpc_security.h']]], + ['grpc_5fauth_5fcontext_5frelease',['grpc_auth_context_release',['../grpc__security_8h.html#a2eea99f76030b21ad58afdf615f4d2b9',1,'grpc_security.h']]], + ['grpc_5fauth_5fproperty',['grpc_auth_property',['../structgrpc__auth__property.html',1,'grpc_auth_property'],['../grpc__security_8h.html#a010fe7d27deaa2ea50b765b48dbad429',1,'grpc_auth_property(): grpc_security.h']]], + ['grpc_5fauth_5fproperty_5fiterator',['grpc_auth_property_iterator',['../structgrpc__auth__property__iterator.html',1,'grpc_auth_property_iterator'],['../grpc__security_8h.html#a26981fdcb987d885b25d34c7dc66e4cf',1,'grpc_auth_property_iterator(): grpc_security.h']]], + ['grpc_5fauth_5fproperty_5fiterator_5fnext',['grpc_auth_property_iterator_next',['../grpc__security_8h.html#ac20e3890d5e5e0de6ae6b5cb57cae1ae',1,'grpc_security.h']]], + ['grpc_5fbb_5fraw',['GRPC_BB_RAW',['../byte__buffer_8h.html#acdc94363b280bde9c82e3d9b5dc3b3e6a1918bbb8502c74288793b58f1786f636',1,'byte_buffer.h']]], + ['grpc_5fbyte_5fbuffer',['grpc_byte_buffer',['../structgrpc__byte__buffer.html',1,'grpc_byte_buffer'],['../byte__buffer_8h.html#a670951ae03b0a2dc4e50f4e25160fc2e',1,'grpc_byte_buffer(): byte_buffer.h']]], + ['grpc_5fbyte_5fbuffer_5fcopy',['grpc_byte_buffer_copy',['../byte__buffer_8h.html#aac8a5605c5de93a78da7e8ca06a80efb',1,'byte_buffer.h']]], + ['grpc_5fbyte_5fbuffer_5fdestroy',['grpc_byte_buffer_destroy',['../byte__buffer_8h.html#a5a9ccea69a6ba41d34a6985837fd88f5',1,'byte_buffer.h']]], + ['grpc_5fbyte_5fbuffer_5flength',['grpc_byte_buffer_length',['../byte__buffer_8h.html#a61b6ac03d6a50664786e45d616ba435d',1,'byte_buffer.h']]], + ['grpc_5fbyte_5fbuffer_5freader',['grpc_byte_buffer_reader',['../structgrpc__byte__buffer__reader.html',1,'grpc_byte_buffer_reader'],['../byte__buffer_8h.html#a16143f22ea46cc7fa6b53e6cb30715f1',1,'grpc_byte_buffer_reader(): byte_buffer.h']]], + ['grpc_5fbyte_5fbuffer_5freader_5fdestroy',['grpc_byte_buffer_reader_destroy',['../byte__buffer_8h.html#aed5f40a76941741b7672c14f15be0778',1,'byte_buffer.h']]], + ['grpc_5fbyte_5fbuffer_5freader_5finit',['grpc_byte_buffer_reader_init',['../byte__buffer_8h.html#a71016674849f4f57c1a4319d7964d268',1,'byte_buffer.h']]], + ['grpc_5fbyte_5fbuffer_5freader_5fnext',['grpc_byte_buffer_reader_next',['../byte__buffer_8h.html#aff713900a0177997a0be49a40781bcc9',1,'byte_buffer.h']]], + ['grpc_5fbyte_5fbuffer_5ftype',['grpc_byte_buffer_type',['../byte__buffer_8h.html#acdc94363b280bde9c82e3d9b5dc3b3e6',1,'byte_buffer.h']]], + ['grpc_5fcall',['grpc_call',['../grpc_8h.html#a122f8f4f0a585396d993d9b55848f222',1,'grpc.h']]], + ['grpc_5fcall_5fauth_5fcontext',['grpc_call_auth_context',['../grpc__security_8h.html#a0b439e6d2875c8b5e2e901a959f6a2fe',1,'grpc_security.h']]], + ['grpc_5fcall_5fcancel',['grpc_call_cancel',['../grpc_8h.html#adce32a3168cfc0048423af94a3961878',1,'grpc.h']]], + ['grpc_5fcall_5fcancel_5fwith_5fstatus',['grpc_call_cancel_with_status',['../grpc_8h.html#a8332e3ac6611ae4012ed17707d7dbcf2',1,'grpc.h']]], + ['grpc_5fcall_5fdestroy',['grpc_call_destroy',['../grpc_8h.html#a3edbb9347e32fd0152c8ed4bbbaf5125',1,'grpc.h']]], + ['grpc_5fcall_5fdetails',['grpc_call_details',['../structgrpc__call__details.html',1,'']]], + ['grpc_5fcall_5fdetails_5fdestroy',['grpc_call_details_destroy',['../grpc_8h.html#a436819189c9155a0761db7667f9078f9',1,'grpc.h']]], + ['grpc_5fcall_5fdetails_5finit',['grpc_call_details_init',['../grpc_8h.html#a29fa3bfb0a561ba465260154a4ef3bb5',1,'grpc.h']]], + ['grpc_5fcall_5ferror',['GRPC_CALL_ERROR',['../grpc_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785ba86e7b6bf1fe5dec17fc08ba2f77d1b41',1,'GRPC_CALL_ERROR(): grpc.h'],['../grpc_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785b',1,'grpc_call_error(): grpc.h'],['../grpc_8h.html#abb51216cb5ac1cfd8ca4d096e060adbb',1,'grpc_call_error(): grpc.h']]], + ['grpc_5fcall_5ferror_5falready_5faccepted',['GRPC_CALL_ERROR_ALREADY_ACCEPTED',['../grpc_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785ba2f6f332e63eb94df8abedfddb96ae63a',1,'grpc.h']]], + ['grpc_5fcall_5ferror_5falready_5ffinished',['GRPC_CALL_ERROR_ALREADY_FINISHED',['../grpc_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785ba21256301a6038a6a03fc8444ddd08c63',1,'grpc.h']]], + ['grpc_5fcall_5ferror_5falready_5finvoked',['GRPC_CALL_ERROR_ALREADY_INVOKED',['../grpc_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785ba042165aa26653c844a846d188f722857',1,'grpc.h']]], + ['grpc_5fcall_5ferror_5finvalid_5fflags',['GRPC_CALL_ERROR_INVALID_FLAGS',['../grpc_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785bae915786320e24eff4f1e05852d40f861',1,'grpc.h']]], + ['grpc_5fcall_5ferror_5finvalid_5fmetadata',['GRPC_CALL_ERROR_INVALID_METADATA',['../grpc_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785ba13f469c7761a672240ddfe29f85729bd',1,'grpc.h']]], + ['grpc_5fcall_5ferror_5fnot_5finvoked',['GRPC_CALL_ERROR_NOT_INVOKED',['../grpc_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785ba6113860606450e3a3fa40ddf46749296',1,'grpc.h']]], + ['grpc_5fcall_5ferror_5fnot_5fon_5fclient',['GRPC_CALL_ERROR_NOT_ON_CLIENT',['../grpc_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785ba7ba38ea119e00e8b4d10211f4ced9ef6',1,'grpc.h']]], + ['grpc_5fcall_5ferror_5fnot_5fon_5fserver',['GRPC_CALL_ERROR_NOT_ON_SERVER',['../grpc_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785ba1a48e861db610ae8f0b0cba7749251d8',1,'grpc.h']]], + ['grpc_5fcall_5ferror_5fnot_5fserver_5fcompletion_5fqueue',['GRPC_CALL_ERROR_NOT_SERVER_COMPLETION_QUEUE',['../grpc_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785bade52e850722f80804d90881ac125706f',1,'grpc.h']]], + ['grpc_5fcall_5ferror_5ftoo_5fmany_5foperations',['GRPC_CALL_ERROR_TOO_MANY_OPERATIONS',['../grpc_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785ba7e09791915b841c30e9d79c26a5a6454',1,'grpc.h']]], + ['grpc_5fcall_5fget_5fpeer',['grpc_call_get_peer',['../grpc_8h.html#adf4ac8b78da7b957ce05dc0f62719ada',1,'grpc.h']]], + ['grpc_5fcall_5fok',['GRPC_CALL_OK',['../grpc_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785ba32f125b97007cbdb43534e9d6e0989f8',1,'grpc.h']]], + ['grpc_5fcall_5fset_5fcredentials',['grpc_call_set_credentials',['../grpc__security_8h.html#a56de54ae2563e67e236c10e8fa419f60',1,'grpc_security.h']]], + ['grpc_5fcall_5fstart_5fbatch',['grpc_call_start_batch',['../grpc_8h.html#ae0e60993c9d6e5ceccaf2e61f690b101',1,'grpc.h']]], + ['grpc_5fcensus_5fcall_5fget_5fcontext',['grpc_census_call_get_context',['../grpc_8h.html#a0f2c6a97262a251d18b76ad470af0e66',1,'grpc.h']]], + ['grpc_5fcensus_5fcall_5fset_5fcontext',['grpc_census_call_set_context',['../grpc_8h.html#a9d5bbdac3a9068747ef3639c4e52af9a',1,'grpc.h']]], + ['grpc_5fchannel',['grpc_channel',['../grpc_8h.html#a432bfa6b9f6603643cdf9de8804c254e',1,'grpc.h']]], + ['grpc_5fchannel_5fargs',['grpc_channel_args',['../structgrpc__channel__args.html',1,'']]], + ['grpc_5fchannel_5fcheck_5fconnectivity_5fstate',['grpc_channel_check_connectivity_state',['../grpc_8h.html#a9623d8e4df1d17eb26b67d905f1d7cb3',1,'grpc.h']]], + ['grpc_5fchannel_5fconnecting',['GRPC_CHANNEL_CONNECTING',['../grpc_8h.html#a065b65f5cdd062a67d82e2b6bcf68cf2a3ac13f6c7627f15186760bfd6b7d9299',1,'grpc.h']]], + ['grpc_5fchannel_5fcreate_5fcall',['grpc_channel_create_call',['../grpc_8h.html#a368ca2e4f76495c3c4bfbb27eb88936e',1,'grpc.h']]], + ['grpc_5fchannel_5fcreate_5fregistered_5fcall',['grpc_channel_create_registered_call',['../grpc_8h.html#a38aa45cdbc3d9a9529bcb6ee8b2c68aa',1,'grpc.h']]], + ['grpc_5fchannel_5fdestroy',['grpc_channel_destroy',['../grpc_8h.html#a16e4b95581ad12e8e0af2af8d41b71b3',1,'grpc.h']]], + ['grpc_5fchannel_5ffatal_5ffailure',['GRPC_CHANNEL_FATAL_FAILURE',['../grpc_8h.html#a065b65f5cdd062a67d82e2b6bcf68cf2a8f774ebe233ee26ebd546fe4b58060b6',1,'grpc.h']]], + ['grpc_5fchannel_5fget_5ftarget',['grpc_channel_get_target',['../grpc_8h.html#a108ef86bc0e5ebcb05f744315e2a6499',1,'grpc.h']]], + ['grpc_5fchannel_5fidle',['GRPC_CHANNEL_IDLE',['../grpc_8h.html#a065b65f5cdd062a67d82e2b6bcf68cf2a304d1b81cec4357a9a6acbcb18248e77',1,'grpc.h']]], + ['grpc_5fchannel_5fready',['GRPC_CHANNEL_READY',['../grpc_8h.html#a065b65f5cdd062a67d82e2b6bcf68cf2aab01ef3f78d9236dfa3c751dc66aa7ea',1,'grpc.h']]], + ['grpc_5fchannel_5fregister_5fcall',['grpc_channel_register_call',['../grpc_8h.html#af00855f27d8b7c6b232982446371c04d',1,'grpc.h']]], + ['grpc_5fchannel_5ftransient_5ffailure',['GRPC_CHANNEL_TRANSIENT_FAILURE',['../grpc_8h.html#a065b65f5cdd062a67d82e2b6bcf68cf2af5bffd3ffb03795f551b0fa78e44b9b6',1,'grpc.h']]], + ['grpc_5fchannel_5fwatch_5fconnectivity_5fstate',['grpc_channel_watch_connectivity_state',['../grpc_8h.html#a29aa98ca6ce9f7e5116e43b0c414e96b',1,'grpc.h']]], + ['grpc_5fcompletion_5fqueue',['grpc_completion_queue',['../grpc_8h.html#a895faab0e6035445750e43482651ba2f',1,'grpc.h']]], + ['grpc_5fcompletion_5fqueue_5fcreate',['grpc_completion_queue_create',['../grpc_8h.html#a9f69c76c26125e6581491864a06ea44a',1,'grpc.h']]], + ['grpc_5fcompletion_5fqueue_5fdestroy',['grpc_completion_queue_destroy',['../grpc_8h.html#a629a77a358721f1a3bbb8fef34c3996e',1,'grpc.h']]], + ['grpc_5fcompletion_5fqueue_5fnext',['grpc_completion_queue_next',['../grpc_8h.html#a56a4ff1f046393205c3418c24f5d5587',1,'grpc.h']]], + ['grpc_5fcompletion_5fqueue_5fpluck',['grpc_completion_queue_pluck',['../grpc_8h.html#a21e38dd0146d244eb0e262fd1b6a50ee',1,'grpc.h']]], + ['grpc_5fcompletion_5fqueue_5fshutdown',['grpc_completion_queue_shutdown',['../grpc_8h.html#a4051b4036c5132f02064430f67420ecd',1,'grpc.h']]], + ['grpc_5fcompletion_5ftype',['grpc_completion_type',['../grpc_8h.html#ab6454071421a36ebc25952ed448d5b87',1,'grpc_completion_type(): grpc.h'],['../grpc_8h.html#a70454b2958c92c1cd8feeaa45f157b74',1,'grpc_completion_type(): grpc.h']]], + ['grpc_5fcomposite_5fcredentials_5fcreate',['grpc_composite_credentials_create',['../grpc__security_8h.html#a4f65f01fb23e963cc88bcdfbede70da7',1,'grpc_security.h']]], + ['grpc_5fcompress_5falgorithms_5fcount',['GRPC_COMPRESS_ALGORITHMS_COUNT',['../compression_8h.html#ab9de0f68bfb1ef8ed09bd00643db14c9a94d7fc0a8e4a05546d462d53c2b53b8d',1,'compression.h']]], + ['grpc_5fcompress_5fdeflate',['GRPC_COMPRESS_DEFLATE',['../compression_8h.html#ab9de0f68bfb1ef8ed09bd00643db14c9a50de256d5abe80daff7e1372e29dd913',1,'compression.h']]], + ['grpc_5fcompress_5fgzip',['GRPC_COMPRESS_GZIP',['../compression_8h.html#ab9de0f68bfb1ef8ed09bd00643db14c9a5a134ced82d8682b55b99b8e9386555e',1,'compression.h']]], + ['grpc_5fcompress_5flevel_5fcount',['GRPC_COMPRESS_LEVEL_COUNT',['../compression_8h.html#a14a79ed6b5ebd7e1dda7c2684f499cc7a893b24fb0986e61ebda069c713b8bd43',1,'compression.h']]], + ['grpc_5fcompress_5flevel_5fhigh',['GRPC_COMPRESS_LEVEL_HIGH',['../compression_8h.html#a14a79ed6b5ebd7e1dda7c2684f499cc7a501a0cf15300a90c09a3d8b4f7f43d22',1,'compression.h']]], + ['grpc_5fcompress_5flevel_5flow',['GRPC_COMPRESS_LEVEL_LOW',['../compression_8h.html#a14a79ed6b5ebd7e1dda7c2684f499cc7afd436e21be4f897ca939b3b4d9a44673',1,'compression.h']]], + ['grpc_5fcompress_5flevel_5fmed',['GRPC_COMPRESS_LEVEL_MED',['../compression_8h.html#a14a79ed6b5ebd7e1dda7c2684f499cc7a4319a32cdd0b59a7ecc977f8612214ce',1,'compression.h']]], + ['grpc_5fcompress_5flevel_5fnone',['GRPC_COMPRESS_LEVEL_NONE',['../compression_8h.html#a14a79ed6b5ebd7e1dda7c2684f499cc7ab67efe04f58b0939b963e51a5b8f772c',1,'compression.h']]], + ['grpc_5fcompress_5fnone',['GRPC_COMPRESS_NONE',['../compression_8h.html#ab9de0f68bfb1ef8ed09bd00643db14c9a3135cac7e854adb16358c53e97df9cd8',1,'compression.h']]], + ['grpc_5fcompression_5falgorithm',['grpc_compression_algorithm',['../compression_8h.html#ab9de0f68bfb1ef8ed09bd00643db14c9',1,'compression.h']]], + ['grpc_5fcompression_5falgorithm_5farg',['GRPC_COMPRESSION_ALGORITHM_ARG',['../compression_8h.html#a9340488e193921e62bb1f240f9016a9b',1,'compression.h']]], + ['grpc_5fcompression_5falgorithm_5ffor_5flevel',['grpc_compression_algorithm_for_level',['../compression_8h.html#a382cce802b53a6f85deb706caf1dccd6',1,'compression.h']]], + ['grpc_5fcompression_5falgorithm_5fname',['grpc_compression_algorithm_name',['../compression_8h.html#adce0341ab8fd560dc39e9e96daf7cb14',1,'compression.h']]], + ['grpc_5fcompression_5falgorithm_5fparse',['grpc_compression_algorithm_parse',['../compression_8h.html#a996f65ae42d05dd7ef9da9c6d6586397',1,'compression.h']]], + ['grpc_5fcompression_5flevel',['grpc_compression_level',['../compression_8h.html#a14a79ed6b5ebd7e1dda7c2684f499cc7',1,'compression.h']]], + ['grpc_5fcompression_5flevel_5ffor_5falgorithm',['grpc_compression_level_for_algorithm',['../compression_8h.html#ace80040d9c2a916ddd4d2f2d2ec44dba',1,'compression.h']]], + ['grpc_5fcompute_5fengine_5fcredentials_5fcreate',['grpc_compute_engine_credentials_create',['../grpc__security_8h.html#a3beb3fe683139856e1a13c27d760eb95',1,'grpc_security.h']]], + ['grpc_5fconnectivity_5fstate',['grpc_connectivity_state',['../grpc_8h.html#a065b65f5cdd062a67d82e2b6bcf68cf2',1,'grpc.h']]], + ['grpc_5fcredentials',['grpc_credentials',['../grpc__security_8h.html#a17768c857575e4500cdd12bb94d3f33e',1,'grpc_security.h']]], + ['grpc_5fcredentials_5frelease',['grpc_credentials_release',['../grpc__security_8h.html#a6c01e107d41e964458fdf701b8b81440',1,'grpc_security.h']]], + ['grpc_5fdefault_5fssl_5froots_5ffile_5fpath_5fenv_5fvar',['GRPC_DEFAULT_SSL_ROOTS_FILE_PATH_ENV_VAR',['../grpc__security_8h.html#a48565da473b7c82fa2453798f620fd59',1,'grpc_security.h']]], + ['grpc_5fevent',['grpc_event',['../structgrpc__event.html',1,'grpc_event'],['../grpc_8h.html#a07990645ca218f6965fd83edf3f421b7',1,'grpc_event(): grpc.h']]], + ['grpc_5fgoogle_5fcredentials_5fenv_5fvar',['GRPC_GOOGLE_CREDENTIALS_ENV_VAR',['../grpc__security_8h.html#a3874f70577fc9fe15fd2c4ce68a36ecd',1,'grpc_security.h']]], + ['grpc_5fgoogle_5fdefault_5fcredentials_5fcreate',['grpc_google_default_credentials_create',['../grpc__security_8h.html#a5e3fb8f208c302245a1392c7ef16d170',1,'grpc_security.h']]], + ['grpc_5fiam_5fcredentials_5fcreate',['grpc_iam_credentials_create',['../grpc__security_8h.html#ae42c358e718847c988aa690cb0fccab3',1,'grpc_security.h']]], + ['grpc_5finit',['grpc_init',['../grpc_8h.html#aa78606c93951c49eadd8d83d739798d6',1,'grpc.h']]], + ['grpc_5finsecure_5fchannel_5fcreate',['grpc_insecure_channel_create',['../grpc_8h.html#aa710e7e68b23098900f924cf69797496',1,'grpc.h']]], + ['grpc_5flame_5fclient_5fchannel_5fcreate',['grpc_lame_client_channel_create',['../grpc_8h.html#acd59697f4b8bedea662939da3668ab9b',1,'grpc.h']]], + ['grpc_5fmax_5fauth_5ftoken_5flifetime',['grpc_max_auth_token_lifetime',['../grpc__security_8h.html#a6112c5b60b1c0197531f80fdc56f7772',1,'grpc_security.h']]], + ['grpc_5fmetadata',['grpc_metadata',['../structgrpc__metadata.html',1,'grpc_metadata'],['../grpc_8h.html#a1da84eaead787d991c5a0c87aed7c30b',1,'grpc_metadata(): grpc.h']]], + ['grpc_5fmetadata_5farray',['grpc_metadata_array',['../structgrpc__metadata__array.html',1,'']]], + ['grpc_5fmetadata_5farray_5fdestroy',['grpc_metadata_array_destroy',['../grpc_8h.html#aad125726d8b689cc5fc1a0444c91ed44',1,'grpc.h']]], + ['grpc_5fmetadata_5farray_5finit',['grpc_metadata_array_init',['../grpc_8h.html#a52cfda44034115720a0e88037dedbfb5',1,'grpc.h']]], + ['grpc_5fmust_5fuse_5fresult',['GRPC_MUST_USE_RESULT',['../port__platform_8h.html#aef49047a3be38448a61332117b306686',1,'port_platform.h']]], + ['grpc_5fop',['grpc_op',['../structgrpc__op.html',1,'grpc_op'],['../grpc_8h.html#a6556a58ca45ad5132b89c770cf875215',1,'grpc_op(): grpc.h']]], + ['grpc_5fop_5fcomplete',['GRPC_OP_COMPLETE',['../grpc_8h.html#ab6454071421a36ebc25952ed448d5b87a00b42e3d4b6e6493c6e76f1adf07b297',1,'grpc.h']]], + ['grpc_5fop_5frecv_5fclose_5fon_5fserver',['GRPC_OP_RECV_CLOSE_ON_SERVER',['../grpc_8h.html#a41dc9abf9678decbfcef1a037e35939aa8fb75ed79601a4845a39a74d7505cef6',1,'grpc.h']]], + ['grpc_5fop_5frecv_5finitial_5fmetadata',['GRPC_OP_RECV_INITIAL_METADATA',['../grpc_8h.html#a41dc9abf9678decbfcef1a037e35939aaabe080072d165d1e69459abd7c742078',1,'grpc.h']]], + ['grpc_5fop_5frecv_5fmessage',['GRPC_OP_RECV_MESSAGE',['../grpc_8h.html#a41dc9abf9678decbfcef1a037e35939aafe3da4c8865af4ef5258b3790d15afc5',1,'grpc.h']]], + ['grpc_5fop_5frecv_5fstatus_5fon_5fclient',['GRPC_OP_RECV_STATUS_ON_CLIENT',['../grpc_8h.html#a41dc9abf9678decbfcef1a037e35939aa4d43b168589407554a58e91fae80ba17',1,'grpc.h']]], + ['grpc_5fop_5fsend_5fclose_5ffrom_5fclient',['GRPC_OP_SEND_CLOSE_FROM_CLIENT',['../grpc_8h.html#a41dc9abf9678decbfcef1a037e35939aa6c66420562347ff4dcf35e4b32c0d486',1,'grpc.h']]], + ['grpc_5fop_5fsend_5finitial_5fmetadata',['GRPC_OP_SEND_INITIAL_METADATA',['../grpc_8h.html#a41dc9abf9678decbfcef1a037e35939aaf5bbedf13763c180b2f1ada62769d721',1,'grpc.h']]], + ['grpc_5fop_5fsend_5fmessage',['GRPC_OP_SEND_MESSAGE',['../grpc_8h.html#a41dc9abf9678decbfcef1a037e35939aaa6447181c20e4c6d64a54fae8082ef70',1,'grpc.h']]], + ['grpc_5fop_5fsend_5fstatus_5ffrom_5fserver',['GRPC_OP_SEND_STATUS_FROM_SERVER',['../grpc_8h.html#a41dc9abf9678decbfcef1a037e35939aa3a3659314e7495b1cabed0f3a6705f64',1,'grpc.h']]], + ['grpc_5fop_5ftype',['grpc_op_type',['../grpc_8h.html#a41dc9abf9678decbfcef1a037e35939a',1,'grpc.h']]], + ['grpc_5fqueue_5fshutdown',['GRPC_QUEUE_SHUTDOWN',['../grpc_8h.html#ab6454071421a36ebc25952ed448d5b87a503dd1b2ec79457f0f810716016219d5',1,'grpc.h']]], + ['grpc_5fqueue_5ftimeout',['GRPC_QUEUE_TIMEOUT',['../grpc_8h.html#ab6454071421a36ebc25952ed448d5b87a4339ea61236e103b6555fdf9b6cffab6',1,'grpc.h']]], + ['grpc_5fraw_5fbyte_5fbuffer_5fcreate',['grpc_raw_byte_buffer_create',['../byte__buffer_8h.html#a1aaaa0d8a1609166e0b0bb2b42332618',1,'byte_buffer.h']]], + ['grpc_5fraw_5fbyte_5fbuffer_5ffrom_5freader',['grpc_raw_byte_buffer_from_reader',['../byte__buffer_8h.html#a9b4f877e32f45e0e704970e89582e0df',1,'byte_buffer.h']]], + ['grpc_5fraw_5fcompressed_5fbyte_5fbuffer_5fcreate',['grpc_raw_compressed_byte_buffer_create',['../byte__buffer_8h.html#af9801acc1dbfd02b2c51ed9d504cd12b',1,'byte_buffer.h']]], + ['grpc_5frefresh_5ftoken_5fcredentials_5fcreate',['grpc_refresh_token_credentials_create',['../grpc__security_8h.html#a7a2440ad02b6a96adbd2c6e5d66fd7d2',1,'grpc_security.h']]], + ['grpc_5fsecure_5fchannel_5fcreate',['grpc_secure_channel_create',['../grpc__security_8h.html#a4d63d4cac74652ec3fac7782acb4a2d4',1,'grpc_security.h']]], + ['grpc_5fsecurity_2eh',['grpc_security.h',['../grpc__security_8h.html',1,'']]], + ['grpc_5fserver',['grpc_server',['../grpc_8h.html#a2bbbaad8f7a806f6c834b68c5dd916d8',1,'grpc.h']]], + ['grpc_5fserver_5fadd_5fhttp2_5fport',['grpc_server_add_http2_port',['../grpc_8h.html#a48cab64480658b97a775b2c7837456f9',1,'grpc.h']]], + ['grpc_5fserver_5fadd_5fsecure_5fhttp2_5fport',['grpc_server_add_secure_http2_port',['../grpc__security_8h.html#a5d0db200d00b62b79138472dc9b1fe59',1,'grpc_security.h']]], + ['grpc_5fserver_5fcancel_5fall_5fcalls',['grpc_server_cancel_all_calls',['../grpc_8h.html#ac5c1e4f3e270a7afbc39403fff0dc803',1,'grpc.h']]], + ['grpc_5fserver_5fcreate',['grpc_server_create',['../grpc_8h.html#a4036710ea12eccabbbbf050d6bad4cd4',1,'grpc.h']]], + ['grpc_5fserver_5fcredentials',['grpc_server_credentials',['../grpc__security_8h.html#aa724192e56fdc03827846f16752deccc',1,'grpc_security.h']]], + ['grpc_5fserver_5fcredentials_5frelease',['grpc_server_credentials_release',['../grpc__security_8h.html#a6e9f9320f4f8d2d534d04ed642f032ea',1,'grpc_security.h']]], + ['grpc_5fserver_5fdestroy',['grpc_server_destroy',['../grpc_8h.html#a34cba45da7c32a21ac82305d670e4620',1,'grpc.h']]], + ['grpc_5fserver_5fregister_5fcompletion_5fqueue',['grpc_server_register_completion_queue',['../grpc_8h.html#ac174712f87fdae4b5757a1370e2a31cb',1,'grpc.h']]], + ['grpc_5fserver_5fregister_5fmethod',['grpc_server_register_method',['../grpc_8h.html#a283062a2209f464f234b0e645c6fffb2',1,'grpc.h']]], + ['grpc_5fserver_5frequest_5fcall',['grpc_server_request_call',['../grpc_8h.html#a636d8fd8c888ba0a0fefacf8dcab7257',1,'grpc.h']]], + ['grpc_5fserver_5frequest_5fregistered_5fcall',['grpc_server_request_registered_call',['../grpc_8h.html#a7207900db3bba2f1ae2e3f2dfc2822de',1,'grpc.h']]], + ['grpc_5fserver_5fshutdown_5fand_5fnotify',['grpc_server_shutdown_and_notify',['../grpc_8h.html#a56fffa23c1c4bab9a469e2ac607b6db7',1,'grpc.h']]], + ['grpc_5fserver_5fstart',['grpc_server_start',['../grpc_8h.html#ac5010d26419e14f5a9ab2fa86a4f7d1e',1,'grpc.h']]], + ['grpc_5fservice_5faccount_5fcredentials_5fcreate',['grpc_service_account_credentials_create',['../grpc__security_8h.html#a15aa83608fad085b6244de659d322b27',1,'grpc_security.h']]], + ['grpc_5fservice_5faccount_5fjwt_5faccess_5fcredentials_5fcreate',['grpc_service_account_jwt_access_credentials_create',['../grpc__security_8h.html#af26993774cc991debd61e4a84ed49187',1,'grpc_security.h']]], + ['grpc_5fshutdown',['grpc_shutdown',['../grpc_8h.html#af1130720e50ffedd0bb065c84843b032',1,'grpc.h']]], + ['grpc_5fslice_5fbuffer_5finline_5felements',['GRPC_SLICE_BUFFER_INLINE_ELEMENTS',['../slice__buffer_8h.html#a81db47a2be0a079aa797cd77f3864809',1,'slice_buffer.h']]], + ['grpc_5fssl_5fcredentials_5fcreate',['grpc_ssl_credentials_create',['../grpc__security_8h.html#a0d627ca897718091e4ceca5dce3ef10e',1,'grpc_security.h']]], + ['grpc_5fssl_5fpem_5fkey_5fcert_5fpair',['grpc_ssl_pem_key_cert_pair',['../structgrpc__ssl__pem__key__cert__pair.html',1,'']]], + ['grpc_5fssl_5fserver_5fcredentials_5fcreate',['grpc_ssl_server_credentials_create',['../grpc__security_8h.html#a3382907a4689c034a6f55bab4d5135b9',1,'grpc_security.h']]], + ['grpc_5fssl_5ftarget_5fname_5foverride_5farg',['GRPC_SSL_TARGET_NAME_OVERRIDE_ARG',['../grpc__security_8h.html#a218bf55b665134a11baf07ada5980825',1,'grpc_security.h']]], + ['grpc_5fssl_5ftransport_5fsecurity_5ftype',['GRPC_SSL_TRANSPORT_SECURITY_TYPE',['../grpc__security_8h.html#a35a35c597b7090b8ac7e2d854c9bcc7a',1,'grpc_security.h']]], + ['grpc_5fstatus_5f_5fdo_5fnot_5fuse',['GRPC_STATUS__DO_NOT_USE',['../status_8h.html#a35ab2a68917eb836de84cb23253108ebab924d4c4c646bdb3130162b8e359dd96',1,'status.h']]], + ['grpc_5fstatus_5faborted',['GRPC_STATUS_ABORTED',['../status_8h.html#a35ab2a68917eb836de84cb23253108eba3570bc43d5eb08c95a7f4c24c13010d9',1,'status.h']]], + ['grpc_5fstatus_5falready_5fexists',['GRPC_STATUS_ALREADY_EXISTS',['../status_8h.html#a35ab2a68917eb836de84cb23253108ebad357565db8655b6635fae96a11c4009b',1,'status.h']]], + ['grpc_5fstatus_5fcancelled',['GRPC_STATUS_CANCELLED',['../status_8h.html#a35ab2a68917eb836de84cb23253108eba30e6e0c37df1389dd4c460a53f831038',1,'status.h']]], + ['grpc_5fstatus_5fcode',['grpc_status_code',['../status_8h.html#a35ab2a68917eb836de84cb23253108eb',1,'status.h']]], + ['grpc_5fstatus_5fdata_5floss',['GRPC_STATUS_DATA_LOSS',['../status_8h.html#a35ab2a68917eb836de84cb23253108eba275db05856f4af884c48e86440414db7',1,'status.h']]], + ['grpc_5fstatus_5fdeadline_5fexceeded',['GRPC_STATUS_DEADLINE_EXCEEDED',['../status_8h.html#a35ab2a68917eb836de84cb23253108eba5451711361db6b8d8e80be30cbb1a208',1,'status.h']]], + ['grpc_5fstatus_5ffailed_5fprecondition',['GRPC_STATUS_FAILED_PRECONDITION',['../status_8h.html#a35ab2a68917eb836de84cb23253108eba503abd183544b43a83bc01d999adda5f',1,'status.h']]], + ['grpc_5fstatus_5finternal',['GRPC_STATUS_INTERNAL',['../status_8h.html#a35ab2a68917eb836de84cb23253108ebae648dab84c58ef5b1cfeea35867c4520',1,'status.h']]], + ['grpc_5fstatus_5finvalid_5fargument',['GRPC_STATUS_INVALID_ARGUMENT',['../status_8h.html#a35ab2a68917eb836de84cb23253108eba3dd64296110db7e7fafb1062b5587731',1,'status.h']]], + ['grpc_5fstatus_5fnot_5ffound',['GRPC_STATUS_NOT_FOUND',['../status_8h.html#a35ab2a68917eb836de84cb23253108ebafdf14cb6f2da868d76b209ac490c14e2',1,'status.h']]], + ['grpc_5fstatus_5fok',['GRPC_STATUS_OK',['../status_8h.html#a35ab2a68917eb836de84cb23253108eba9da5601150b267ab5509d151fa7df201',1,'status.h']]], + ['grpc_5fstatus_5fout_5fof_5frange',['GRPC_STATUS_OUT_OF_RANGE',['../status_8h.html#a35ab2a68917eb836de84cb23253108ebacd0d05ab2f0af48b0f535c3dd0816d9b',1,'status.h']]], + ['grpc_5fstatus_5fpermission_5fdenied',['GRPC_STATUS_PERMISSION_DENIED',['../status_8h.html#a35ab2a68917eb836de84cb23253108eba4149925007957bf1a04184d88e8293f4',1,'status.h']]], + ['grpc_5fstatus_5fresource_5fexhausted',['GRPC_STATUS_RESOURCE_EXHAUSTED',['../status_8h.html#a35ab2a68917eb836de84cb23253108ebab1a76cb91e6992f6f7a31a7fe862e0e9',1,'status.h']]], + ['grpc_5fstatus_5funauthenticated',['GRPC_STATUS_UNAUTHENTICATED',['../status_8h.html#a35ab2a68917eb836de84cb23253108eba1a6fd47361ad9298879dd8760ca1a0cb',1,'status.h']]], + ['grpc_5fstatus_5funavailable',['GRPC_STATUS_UNAVAILABLE',['../status_8h.html#a35ab2a68917eb836de84cb23253108ebaad91b67998cb5df7bc6821e362189e79',1,'status.h']]], + ['grpc_5fstatus_5funimplemented',['GRPC_STATUS_UNIMPLEMENTED',['../status_8h.html#a35ab2a68917eb836de84cb23253108eba6912537b4dfd1030f50ff2f5448f1bc2',1,'status.h']]], + ['grpc_5fstatus_5funknown',['GRPC_STATUS_UNKNOWN',['../status_8h.html#a35ab2a68917eb836de84cb23253108eba5f02c0e431162618ab422d27fd39dd08',1,'status.h']]], + ['grpc_5ftracer_5fset_5fenabled',['grpc_tracer_set_enabled',['../grpc_8h.html#ae6984d3f0c3b9bc9a47859fd4dddc350',1,'grpc.h']]], + ['grpc_5ftransport_5fsecurity_5ftype_5fproperty_5fname',['GRPC_TRANSPORT_SECURITY_TYPE_PROPERTY_NAME',['../grpc__security_8h.html#aff82fdff9e7c40c4dd4bdc650e38e25a',1,'grpc_security.h']]], + ['grpc_5fversion_5fstring',['grpc_version_string',['../grpc_8h.html#a250ca547d790874bd7b5ceec25f18c51',1,'grpc.h']]], + ['grpc_5fwrite_5fbuffer_5fhint',['GRPC_WRITE_BUFFER_HINT',['../grpc_8h.html#adf29fd8b7df2ecc47d14a7f5a3a079c0',1,'grpc.h']]], + ['grpc_5fwrite_5fno_5fcompress',['GRPC_WRITE_NO_COMPRESS',['../grpc_8h.html#ae09000181671f031ed0e319ed557da4e',1,'grpc.h']]], + ['grpc_5fwrite_5fused_5fmask',['GRPC_WRITE_USED_MASK',['../grpc_8h.html#a3317259e1098b2b6f49982d6997bbf6a',1,'grpc.h']]], + ['grpc_5fx509_5fcn_5fproperty_5fname',['GRPC_X509_CN_PROPERTY_NAME',['../grpc__security_8h.html#afee5e0fade6e0af1954529f1f08afe0c',1,'grpc_security.h']]], + ['grpc_5fx509_5fsan_5fproperty_5fname',['GRPC_X509_SAN_PROPERTY_NAME',['../grpc__security_8h.html#a1412421653b7999544296f56025a0f36',1,'grpc_security.h']]], + ['grpc_20core',['GRPC Core',['../index.html',1,'']]] +]; diff --git a/doc/ref/core/html/search/all_6.html b/doc/ref/core/html/search/all_6.html new file mode 100644 index 0000000000..6133ab3af1 --- /dev/null +++ b/doc/ref/core/html/search/all_6.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core/html/search/all_6.js b/doc/ref/core/html/search/all_6.js new file mode 100644 index 0000000000..b1632e2ce0 --- /dev/null +++ b/doc/ref/core/html/search/all_6.js @@ -0,0 +1,7 @@ +var searchData= +[ + ['histogram_2eh',['histogram.h',['../histogram_8h.html',1,'']]], + ['host',['host',['../structgrpc__call__details.html#a869b5db96e2e0fbd573381e77b859631',1,'grpc_call_details']]], + ['host_5fcapacity',['host_capacity',['../structgrpc__call__details.html#aeab0d9e754bbb1aac1a21ad4ef63d8b1',1,'grpc_call_details']]], + ['host_5fport_2eh',['host_port.h',['../host__port_8h.html',1,'']]] +]; diff --git a/doc/ref/core/html/search/all_7.html b/doc/ref/core/html/search/all_7.html new file mode 100644 index 0000000000..574812594f --- /dev/null +++ b/doc/ref/core/html/search/all_7.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core/html/search/all_7.js b/doc/ref/core/html/search/all_7.js new file mode 100644 index 0000000000..05ec79816f --- /dev/null +++ b/doc/ref/core/html/search/all_7.js @@ -0,0 +1,8 @@ +var searchData= +[ + ['id',['id',['../structcensus__stat.html#a1151cb5a250db9b70ba8fc13453abcf3',1,'census_stat']]], + ['index',['index',['../structgrpc__auth__property__iterator.html#ac2b2a0501f097562a6d8856e3da5e7e6',1,'grpc_auth_property_iterator::index()'],['../structgrpc__byte__buffer__reader.html#a948b75a404899c348fc6a52e1a6e63cb',1,'grpc_byte_buffer_reader::index()']]], + ['inlined',['inlined',['../structgpr__slice.html#acb2a3c15512987fda16bb9e243e432f6',1,'gpr_slice::inlined()'],['../structgpr__slice__buffer.html#adb678a23dc27e50c478bc48d365420e2',1,'gpr_slice_buffer::inlined()']]], + ['integer',['integer',['../structgrpc__arg.html#a6871bfca9c52e7f56abbd71c81d97554',1,'grpc_arg']]], + ['internal_5fdata',['internal_data',['../structgrpc__metadata.html#a342799d4f78fcc6dd29ee44f56a6d553',1,'grpc_metadata']]] +]; diff --git a/doc/ref/core/html/search/all_8.html b/doc/ref/core/html/search/all_8.html new file mode 100644 index 0000000000..0179bdd463 --- /dev/null +++ b/doc/ref/core/html/search/all_8.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core/html/search/all_8.js b/doc/ref/core/html/search/all_8.js new file mode 100644 index 0000000000..9fd171a6c2 --- /dev/null +++ b/doc/ref/core/html/search/all_8.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['key',['key',['../structgrpc__arg.html#aeb230fbd50daacfe654abc3500a44968',1,'grpc_arg::key()'],['../structgrpc__metadata.html#abe93a3d24cd534d9387e05ad1f0b36f7',1,'grpc_metadata::key()'],['../structgpr__pthread__thread__local.html#a006cbb5f30eb7c7c53a99a19f242fece',1,'gpr_pthread_thread_local::key()']]] +]; diff --git a/doc/ref/core/html/search/all_9.html b/doc/ref/core/html/search/all_9.html new file mode 100644 index 0000000000..cd46d44056 --- /dev/null +++ b/doc/ref/core/html/search/all_9.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core/html/search/all_9.js b/doc/ref/core/html/search/all_9.js new file mode 100644 index 0000000000..7dc8326927 --- /dev/null +++ b/doc/ref/core/html/search/all_9.js @@ -0,0 +1,8 @@ +var searchData= +[ + ['length',['length',['../structgpr__slice.html#a8867b2d660a87061534be9c8098d4fa5',1,'gpr_slice::length()'],['../structgpr__slice.html#acd3242f89b2999d12788e65337662cf3',1,'gpr_slice::length()'],['../structgpr__slice__buffer.html#a2150637602d9080cdb111d09c1d669c3',1,'gpr_slice_buffer::length()']]], + ['line',['line',['../structgpr__log__func__args.html#ae1a051bbc7e0ef6c58de0db3efda24bb',1,'gpr_log_func_args']]], + ['locked',['locked',['../structgpr__mu.html#ac16a7b74cd7175a34b776215fd357342',1,'gpr_mu']]], + ['log_2eh',['log.h',['../log_8h.html',1,'']]], + ['log_5fwin32_2eh',['log_win32.h',['../log__win32_8h.html',1,'']]] +]; diff --git a/doc/ref/core/html/search/all_a.html b/doc/ref/core/html/search/all_a.html new file mode 100644 index 0000000000..eab655301b --- /dev/null +++ b/doc/ref/core/html/search/all_a.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core/html/search/all_a.js b/doc/ref/core/html/search/all_a.js new file mode 100644 index 0000000000..837b590a7f --- /dev/null +++ b/doc/ref/core/html/search/all_a.js @@ -0,0 +1,8 @@ +var searchData= +[ + ['message',['message',['../structgpr__log__func__args.html#ad9ce882bef15e3127620a8ef47f2b74b',1,'gpr_log_func_args']]], + ['metadata',['metadata',['../structgrpc__metadata__array.html#ac930a0cc901913fafcd09ca9cca156fe',1,'grpc_metadata_array::metadata()'],['../structgrpc__op.html#a2e0f0c709658960593d5a36915c8d079',1,'grpc_op::metadata()']]], + ['method',['method',['../structgrpc__call__details.html#a97c8019d8fa7cbe2014d97c91f9ed0a5',1,'grpc_call_details']]], + ['method_5fcapacity',['method_capacity',['../structgrpc__call__details.html#a8a7da868f60a88f42918cc9bdd4d26c0',1,'grpc_call_details']]], + ['mu',['mu',['../structgpr__cancellable__list__.html#abf62ecf7376ec1e9f708e2671e494282',1,'gpr_cancellable_list_::mu()'],['../structgpr__cancellable.html#a423e728b92c8890d63490cf4b1fdc30f',1,'gpr_cancellable::mu()']]] +]; diff --git a/doc/ref/core/html/search/all_b.html b/doc/ref/core/html/search/all_b.html new file mode 100644 index 0000000000..a2c161e0bd --- /dev/null +++ b/doc/ref/core/html/search/all_b.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core/html/search/all_b.js b/doc/ref/core/html/search/all_b.js new file mode 100644 index 0000000000..c0e807fe98 --- /dev/null +++ b/doc/ref/core/html/search/all_b.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['name',['name',['../structgrpc__auth__property__iterator.html#a3838efa5eb622c7e2c071497132b1cc7',1,'grpc_auth_property_iterator::name()'],['../structgrpc__auth__property.html#a83fb830ffe7321265dc9b628e9246a27',1,'grpc_auth_property::name()']]], + ['next',['next',['../structgpr__cancellable__list__.html#a425195e5ab594a2cfdcc976e5167242a',1,'gpr_cancellable_list_']]], + ['num_5fargs',['num_args',['../structgrpc__channel__args.html#a41e5d0b22449f062b3a7798dd528afde',1,'grpc_channel_args']]] +]; diff --git a/doc/ref/core/html/search/all_c.html b/doc/ref/core/html/search/all_c.html new file mode 100644 index 0000000000..bdd3ee2c50 --- /dev/null +++ b/doc/ref/core/html/search/all_c.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core/html/search/all_c.js b/doc/ref/core/html/search/all_c.js new file mode 100644 index 0000000000..91242819c9 --- /dev/null +++ b/doc/ref/core/html/search/all_c.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['obfuscated',['obfuscated',['../structgrpc__metadata.html#ae7478a66f65862018cd89768a578ff4f',1,'grpc_metadata']]], + ['op',['op',['../structgrpc__op.html#a702bcecc2462646b6740ed7c05f42115',1,'grpc_op']]] +]; diff --git a/doc/ref/core/html/search/all_d.html b/doc/ref/core/html/search/all_d.html new file mode 100644 index 0000000000..d51093367e --- /dev/null +++ b/doc/ref/core/html/search/all_d.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core/html/search/all_d.js b/doc/ref/core/html/search/all_d.js new file mode 100644 index 0000000000..4cbbfbec54 --- /dev/null +++ b/doc/ref/core/html/search/all_d.js @@ -0,0 +1,8 @@ +var searchData= +[ + ['p',['p',['../structgrpc__arg.html#aab5d11432a11b03a53e5d959d9a5328d',1,'grpc_arg']]], + ['pointer',['pointer',['../structgrpc__arg.html#a85b5bbfbdec09ae46cff15628096137a',1,'grpc_arg']]], + ['port_5fplatform_2eh',['port_platform.h',['../port__platform_8h.html',1,'']]], + ['prev',['prev',['../structgpr__cancellable__list__.html#a58fba7e59ac49bbb9468c2669e21b8b4',1,'gpr_cancellable_list_']]], + ['private_5fkey',['private_key',['../structgrpc__ssl__pem__key__cert__pair.html#a2d4e3bdbc59d906bc9ca8b873120fd72',1,'grpc_ssl_pem_key_cert_pair']]] +]; diff --git a/doc/ref/core/html/search/all_e.html b/doc/ref/core/html/search/all_e.html new file mode 100644 index 0000000000..3cda0172ed --- /dev/null +++ b/doc/ref/core/html/search/all_e.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core/html/search/all_e.js b/doc/ref/core/html/search/all_e.js new file mode 100644 index 0000000000..c7bfe49256 --- /dev/null +++ b/doc/ref/core/html/search/all_e.js @@ -0,0 +1,11 @@ +var searchData= +[ + ['raw',['raw',['../structgrpc__byte__buffer.html#ae8231d6e62b3d7f4cfbc6a564c84bae6',1,'grpc_byte_buffer']]], + ['recv_5fclose_5fon_5fserver',['recv_close_on_server',['../structgrpc__op.html#af327bcd87b609572c39ca6bfe8dbd9f1',1,'grpc_op']]], + ['recv_5finitial_5fmetadata',['recv_initial_metadata',['../structgrpc__op.html#a81ebfcab8db61dd485b88cafc51f2749',1,'grpc_op']]], + ['recv_5fmessage',['recv_message',['../structgrpc__op.html#afca6c4cc5b0c2629bb559d2037907ac1',1,'grpc_op']]], + ['recv_5fstatus_5fon_5fclient',['recv_status_on_client',['../structgrpc__op.html#a42f88554cd082ce8c66560ea24d8a8e3',1,'grpc_op']]], + ['ref',['ref',['../structgpr__slice__refcount.html#abf3fba35fdc6a4cd2d47e5ca19107ed7',1,'gpr_slice_refcount']]], + ['refcount',['refcount',['../structgpr__slice.html#a04d0bcc8331409fa3b3af29ee0b86a24',1,'gpr_slice']]], + ['refcounted',['refcounted',['../structgpr__slice.html#a444e942bd541117b82ca32a6d2b79d67',1,'gpr_slice']]] +]; diff --git a/doc/ref/core/html/search/all_f.html b/doc/ref/core/html/search/all_f.html new file mode 100644 index 0000000000..7419b0297e --- /dev/null +++ b/doc/ref/core/html/search/all_f.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core/html/search/all_f.js b/doc/ref/core/html/search/all_f.js new file mode 100644 index 0000000000..6416255931 --- /dev/null +++ b/doc/ref/core/html/search/all_f.js @@ -0,0 +1,24 @@ +var searchData= +[ + ['send_5finitial_5fmetadata',['send_initial_metadata',['../structgrpc__op.html#a8e6202e19130ecb872de211a95dcee83',1,'grpc_op']]], + ['send_5fmessage',['send_message',['../structgrpc__op.html#a3b6c1b3456306a802f6eb0e3e8d0e434',1,'grpc_op']]], + ['send_5fstatus_5ffrom_5fserver',['send_status_from_server',['../structgrpc__op.html#afe7b3ae8f4c495a187f155a5fd6956bb',1,'grpc_op']]], + ['severity',['severity',['../structgpr__log__func__args.html#af0b4b9d8beace1cae0d1a24783d70ccc',1,'gpr_log_func_args']]], + ['slice_2eh',['slice.h',['../slice_8h.html',1,'']]], + ['slice_5fbuffer',['slice_buffer',['../structgrpc__byte__buffer.html#ae93126777b4832bc327b7e10104f0eae',1,'grpc_byte_buffer']]], + ['slice_5fbuffer_2eh',['slice_buffer.h',['../slice__buffer_8h.html',1,'']]], + ['slices',['slices',['../structgpr__slice__buffer.html#a07c0e3196f5e197af878ee94fd5df3ba',1,'gpr_slice_buffer']]], + ['state',['state',['../structgpr__event.html#a9eb43867719fcdf48f33df11cd138be9',1,'gpr_event']]], + ['status',['status',['../structgrpc__op.html#ae0d5a9db463391c0897914ef2d016b25',1,'grpc_op::status()'],['../structgrpc__op.html#a70d62415f6768533c2190e53f1c5baf4',1,'grpc_op::status()']]], + ['status_2eh',['status.h',['../status_8h.html',1,'']]], + ['status_5fdetails',['status_details',['../structgrpc__op.html#ae460836040d79eb2bd0a6d581b36c461',1,'grpc_op::status_details()'],['../structgrpc__op.html#ab993dfc7b33c61f06f26a4efc0aefca6',1,'grpc_op::status_details()']]], + ['status_5fdetails_5fcapacity',['status_details_capacity',['../structgrpc__op.html#a6cacd1d5311683ee077931c94a9dd6e9',1,'grpc_op']]], + ['string',['string',['../structgrpc__arg.html#a05bc3701718db73608ef3598480e8fa8',1,'grpc_arg']]], + ['string_5futil_2eh',['string_util.h',['../string__util_8h.html',1,'']]], + ['subprocess_2eh',['subprocess.h',['../subprocess_8h.html',1,'']]], + ['success',['success',['../structgrpc__event.html#a99d4215e5df50869af320b1cca5540db',1,'grpc_event']]], + ['sync_2eh',['sync.h',['../sync_8h.html',1,'']]], + ['sync_5fgeneric_2eh',['sync_generic.h',['../sync__generic_8h.html',1,'']]], + ['sync_5fposix_2eh',['sync_posix.h',['../sync__posix_8h.html',1,'']]], + ['sync_5fwin32_2eh',['sync_win32.h',['../sync__win32_8h.html',1,'']]] +]; diff --git a/doc/ref/core/html/search/classes_0.html b/doc/ref/core/html/search/classes_0.html new file mode 100644 index 0000000000..fabdc03679 --- /dev/null +++ b/doc/ref/core/html/search/classes_0.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core/html/search/classes_0.js b/doc/ref/core/html/search/classes_0.js new file mode 100644 index 0000000000..75348af374 --- /dev/null +++ b/doc/ref/core/html/search/classes_0.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['census_5fstat',['census_stat',['../structcensus__stat.html',1,'']]] +]; diff --git a/doc/ref/core/html/search/classes_1.html b/doc/ref/core/html/search/classes_1.html new file mode 100644 index 0000000000..800b6ae1bf --- /dev/null +++ b/doc/ref/core/html/search/classes_1.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core/html/search/classes_1.js b/doc/ref/core/html/search/classes_1.js new file mode 100644 index 0000000000..3cf88c8927 --- /dev/null +++ b/doc/ref/core/html/search/classes_1.js @@ -0,0 +1,30 @@ +var searchData= +[ + ['gpr_5fcancellable',['gpr_cancellable',['../structgpr__cancellable.html',1,'']]], + ['gpr_5fcancellable_5flist_5f',['gpr_cancellable_list_',['../structgpr__cancellable__list__.html',1,'']]], + ['gpr_5fevent',['gpr_event',['../structgpr__event.html',1,'']]], + ['gpr_5fgcc_5fthread_5flocal',['gpr_gcc_thread_local',['../structgpr__gcc__thread__local.html',1,'']]], + ['gpr_5flog_5ffunc_5fargs',['gpr_log_func_args',['../structgpr__log__func__args.html',1,'']]], + ['gpr_5fmsvc_5fthread_5flocal',['gpr_msvc_thread_local',['../structgpr__msvc__thread__local.html',1,'']]], + ['gpr_5fmu',['gpr_mu',['../structgpr__mu.html',1,'']]], + ['gpr_5fpthread_5fthread_5flocal',['gpr_pthread_thread_local',['../structgpr__pthread__thread__local.html',1,'']]], + ['gpr_5frefcount',['gpr_refcount',['../structgpr__refcount.html',1,'']]], + ['gpr_5fslice',['gpr_slice',['../structgpr__slice.html',1,'']]], + ['gpr_5fslice_5fbuffer',['gpr_slice_buffer',['../structgpr__slice__buffer.html',1,'']]], + ['gpr_5fslice_5frefcount',['gpr_slice_refcount',['../structgpr__slice__refcount.html',1,'']]], + ['gpr_5fstats_5fcounter',['gpr_stats_counter',['../structgpr__stats__counter.html',1,'']]], + ['gpr_5fthd_5foptions',['gpr_thd_options',['../structgpr__thd__options.html',1,'']]], + ['gpr_5ftimespec',['gpr_timespec',['../structgpr__timespec.html',1,'']]], + ['grpc_5farg',['grpc_arg',['../structgrpc__arg.html',1,'']]], + ['grpc_5fauth_5fproperty',['grpc_auth_property',['../structgrpc__auth__property.html',1,'']]], + ['grpc_5fauth_5fproperty_5fiterator',['grpc_auth_property_iterator',['../structgrpc__auth__property__iterator.html',1,'']]], + ['grpc_5fbyte_5fbuffer',['grpc_byte_buffer',['../structgrpc__byte__buffer.html',1,'']]], + ['grpc_5fbyte_5fbuffer_5freader',['grpc_byte_buffer_reader',['../structgrpc__byte__buffer__reader.html',1,'']]], + ['grpc_5fcall_5fdetails',['grpc_call_details',['../structgrpc__call__details.html',1,'']]], + ['grpc_5fchannel_5fargs',['grpc_channel_args',['../structgrpc__channel__args.html',1,'']]], + ['grpc_5fevent',['grpc_event',['../structgrpc__event.html',1,'']]], + ['grpc_5fmetadata',['grpc_metadata',['../structgrpc__metadata.html',1,'']]], + ['grpc_5fmetadata_5farray',['grpc_metadata_array',['../structgrpc__metadata__array.html',1,'']]], + ['grpc_5fop',['grpc_op',['../structgrpc__op.html',1,'']]], + ['grpc_5fssl_5fpem_5fkey_5fcert_5fpair',['grpc_ssl_pem_key_cert_pair',['../structgrpc__ssl__pem__key__cert__pair.html',1,'']]] +]; diff --git a/doc/ref/core/html/search/close.png b/doc/ref/core/html/search/close.png new file mode 100644 index 0000000000..9342d3dfee Binary files /dev/null and b/doc/ref/core/html/search/close.png differ diff --git a/doc/ref/core/html/search/defines_0.html b/doc/ref/core/html/search/defines_0.html new file mode 100644 index 0000000000..c2f0b46cfb --- /dev/null +++ b/doc/ref/core/html/search/defines_0.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core/html/search/defines_0.js b/doc/ref/core/html/search/defines_0.js new file mode 100644 index 0000000000..cf8242ef42 --- /dev/null +++ b/doc/ref/core/html/search/defines_0.js @@ -0,0 +1,76 @@ +var searchData= +[ + ['gpr_5farray_5fsize',['GPR_ARRAY_SIZE',['../useful_8h.html#a0e411d4f81a169c97c319d4e84df5747',1,'useful.h']]], + ['gpr_5fassert',['GPR_ASSERT',['../log_8h.html#a6ccf52ff690655cc22cd9d053650876f',1,'log.h']]], + ['gpr_5fatm_5facq_5fcas',['gpr_atm_acq_cas',['../atm__gcc__sync_8h.html#a1a90e5777158aaa53624822f1f87dd90',1,'atm_gcc_sync.h']]], + ['gpr_5fatm_5facq_5fload',['gpr_atm_acq_load',['../atm__gcc__atomic_8h.html#a44607f95f7ee40eba592c7fe10960a06',1,'atm_gcc_atomic.h']]], + ['gpr_5fatm_5fcompile_5fbarrier_5f',['GPR_ATM_COMPILE_BARRIER_',['../atm__gcc__sync_8h.html#a5a1f94112dcd03309d6716d43c8edf3f',1,'atm_gcc_sync.h']]], + ['gpr_5fatm_5ffull_5fbarrier',['gpr_atm_full_barrier',['../atm__gcc__atomic_8h.html#a95f86e51ae9a479026bd237cb792193e',1,'gpr_atm_full_barrier(): atm_gcc_atomic.h'],['../atm__gcc__sync_8h.html#a95f86e51ae9a479026bd237cb792193e',1,'gpr_atm_full_barrier(): atm_gcc_sync.h'],['../atm__win32_8h.html#a8e58c94aff5c7161bc3cbfde878dd03d',1,'gpr_atm_full_barrier(): atm_win32.h']]], + ['gpr_5fatm_5ffull_5ffetch_5fadd',['gpr_atm_full_fetch_add',['../atm__gcc__atomic_8h.html#abada8771b338845e4c6ef93c8392582c',1,'gpr_atm_full_fetch_add(): atm_gcc_atomic.h'],['../atm__gcc__sync_8h.html#abada8771b338845e4c6ef93c8392582c',1,'gpr_atm_full_fetch_add(): atm_gcc_sync.h']]], + ['gpr_5fatm_5fls_5fbarrier_5f',['GPR_ATM_LS_BARRIER_',['../atm__gcc__sync_8h.html#a4ceb46c9b854db0ade8cfe2f37edb878',1,'atm_gcc_sync.h']]], + ['gpr_5fatm_5fno_5fbarrier_5fcas',['gpr_atm_no_barrier_cas',['../atm__gcc__sync_8h.html#ad39536b08912ac4a0770655ed334d260',1,'atm_gcc_sync.h']]], + ['gpr_5fatm_5fno_5fbarrier_5ffetch_5fadd',['gpr_atm_no_barrier_fetch_add',['../atm__gcc__atomic_8h.html#ae337dc477a6a45ac3d91e41e8f3f2f8c',1,'gpr_atm_no_barrier_fetch_add(): atm_gcc_atomic.h'],['../atm__gcc__sync_8h.html#ae337dc477a6a45ac3d91e41e8f3f2f8c',1,'gpr_atm_no_barrier_fetch_add(): atm_gcc_sync.h']]], + ['gpr_5fatm_5fno_5fbarrier_5fload',['gpr_atm_no_barrier_load',['../atm__gcc__atomic_8h.html#aa647aa9c97294a6709bbf2ac401cd9a6',1,'atm_gcc_atomic.h']]], + ['gpr_5fatm_5fno_5fbarrier_5fstore',['gpr_atm_no_barrier_store',['../atm__gcc__atomic_8h.html#afad47d4c311c5439371fcdd4a0b6794e',1,'atm_gcc_atomic.h']]], + ['gpr_5fatm_5frel_5fcas',['gpr_atm_rel_cas',['../atm__gcc__sync_8h.html#ae7c3b215cda868ee9ee778822000c3f2',1,'atm_gcc_sync.h']]], + ['gpr_5fatm_5frel_5fstore',['gpr_atm_rel_store',['../atm__gcc__atomic_8h.html#a42e3982d45ae4cec439a12b8fcd618e9',1,'atm_gcc_atomic.h']]], + ['gpr_5fbitclear',['GPR_BITCLEAR',['../useful_8h.html#af797bf1803f9809b3ccceaa619078c89',1,'useful.h']]], + ['gpr_5fbitcount',['GPR_BITCOUNT',['../useful_8h.html#a8f51444fe97eb3f83184b98035e3357f',1,'useful.h']]], + ['gpr_5fbitget',['GPR_BITGET',['../useful_8h.html#a7c54bb2fffdaae24ba38ca5e5c53ab41',1,'useful.h']]], + ['gpr_5fbitset',['GPR_BITSET',['../useful_8h.html#a28de4ed955bfc2bff309061b7820a37a',1,'useful.h']]], + ['gpr_5fcacheline_5fsize',['GPR_CACHELINE_SIZE',['../port__platform_8h.html#ad9b7cc620233bbab0bc57cfbbe9519ad',1,'port_platform.h']]], + ['gpr_5fcacheline_5fsize_5flog',['GPR_CACHELINE_SIZE_LOG',['../port__platform_8h.html#a4e8b19add0d8d0be9464f748be985576',1,'port_platform.h']]], + ['gpr_5fclamp',['GPR_CLAMP',['../useful_8h.html#ac974b8c13ee716193e0ee30d9513672c',1,'useful.h']]], + ['gpr_5fdebug',['GPR_DEBUG',['../log_8h.html#a3e793245091f13bb7318a18b1166a773',1,'log.h']]], + ['gpr_5ferror',['GPR_ERROR',['../log_8h.html#a63faedb3eefd93d1c0e79974be80cc36',1,'log.h']]], + ['gpr_5fevent_5finit',['GPR_EVENT_INIT',['../sync__generic_8h.html#a6f38fe7692eaa6663c1f79ff5847c050',1,'sync_generic.h']]], + ['gpr_5finfo',['GPR_INFO',['../log_8h.html#af0d0d75690f79edc9294498c88f96703',1,'log.h']]], + ['gpr_5fint64_5fmax',['GPR_INT64_MAX',['../port__platform_8h.html#aaff7a6a2f0868f8b0648b74828ef0e4f',1,'port_platform.h']]], + ['gpr_5finternal_5fhexdigit_5fbitcount',['GPR_INTERNAL_HEXDIGIT_BITCOUNT',['../useful_8h.html#a601e1be692fe7922b52991a5d410b945',1,'useful.h']]], + ['gpr_5fmax',['GPR_MAX',['../useful_8h.html#af50c518bb1183da84adb7d8a86cd568a',1,'useful.h']]], + ['gpr_5fmax_5falignment',['GPR_MAX_ALIGNMENT',['../port__platform_8h.html#a53c934fa255faf3f8c4f028df105c8e2',1,'port_platform.h']]], + ['gpr_5fmin',['GPR_MIN',['../useful_8h.html#a298322c952526928cf8dbc7aaba7b84d',1,'useful.h']]], + ['gpr_5fms_5fper_5fsec',['GPR_MS_PER_SEC',['../time_8h.html#af2c8091db4e2a3133b93131f64db859e',1,'time.h']]], + ['gpr_5fns_5fper_5fms',['GPR_NS_PER_MS',['../time_8h.html#a3c63ee76f91a122abf3a0806b64318eb',1,'time.h']]], + ['gpr_5fns_5fper_5fsec',['GPR_NS_PER_SEC',['../time_8h.html#a447d0913b0cfdc943df51585f0e2785e',1,'time.h']]], + ['gpr_5fns_5fper_5fus',['GPR_NS_PER_US',['../time_8h.html#adc295bf07c72edae8a2ad49e24da2f32',1,'time.h']]], + ['gpr_5fonce_5finit',['GPR_ONCE_INIT',['../sync__posix_8h.html#a8edd7eb4f6860a4f79defbad49c35666',1,'GPR_ONCE_INIT(): sync_posix.h'],['../sync__win32_8h.html#a8edd7eb4f6860a4f79defbad49c35666',1,'GPR_ONCE_INIT(): sync_win32.h']]], + ['gpr_5fplatform_5fstring',['GPR_PLATFORM_STRING',['../port__platform_8h.html#a99f34e9b119908109486e91abedc933e',1,'port_platform.h']]], + ['gpr_5frotl',['GPR_ROTL',['../useful_8h.html#a6f7a8aba8e044f6b20fc8a7560f28f85',1,'useful.h']]], + ['gpr_5frotr',['GPR_ROTR',['../useful_8h.html#a5ff4b278972e799dc134963a0249f316',1,'useful.h']]], + ['gpr_5fslice_5fend_5fptr',['GPR_SLICE_END_PTR',['../slice_8h.html#a9b7e9acd0eb92039a9bc897712a62a14',1,'slice.h']]], + ['gpr_5fslice_5finlined_5fsize',['GPR_SLICE_INLINED_SIZE',['../slice_8h.html#a4063c3d8d4820472a4cf2655dd662a31',1,'slice.h']]], + ['gpr_5fslice_5fis_5fempty',['GPR_SLICE_IS_EMPTY',['../slice_8h.html#ad4fe3efa7a8938045ce79271d79f79ef',1,'slice.h']]], + ['gpr_5fslice_5flength',['GPR_SLICE_LENGTH',['../slice_8h.html#ae97c2f992c1ebccaf44ceeee1f9fdabb',1,'slice.h']]], + ['gpr_5fslice_5fset_5flength',['GPR_SLICE_SET_LENGTH',['../slice_8h.html#a1f5333a1260aef2efe086d4e2188e613',1,'slice.h']]], + ['gpr_5fslice_5fstart_5fptr',['GPR_SLICE_START_PTR',['../slice_8h.html#ab8258afc3398c1426974b0b48dbf5a15',1,'slice.h']]], + ['gpr_5fstats_5finit',['GPR_STATS_INIT',['../sync__generic_8h.html#ada230498c8e2aca51e9349709e70e1ef',1,'sync_generic.h']]], + ['gpr_5fswap',['GPR_SWAP',['../useful_8h.html#a9f884f8218a97ed9739e2dac467f0719',1,'useful.h']]], + ['gpr_5ftls_5fdecl',['GPR_TLS_DECL',['../tls__gcc_8h.html#ab2c3baa4e4ceb366668aaf51379340fd',1,'GPR_TLS_DECL(): tls_gcc.h'],['../tls__msvc_8h.html#ab2c3baa4e4ceb366668aaf51379340fd',1,'GPR_TLS_DECL(): tls_msvc.h'],['../tls__pthread_8h.html#ab2c3baa4e4ceb366668aaf51379340fd',1,'GPR_TLS_DECL(): tls_pthread.h']]], + ['gpr_5ftls_5fdestroy',['gpr_tls_destroy',['../tls__gcc_8h.html#a187108e1078d2ce05388cb17bc59ce74',1,'gpr_tls_destroy(): tls_gcc.h'],['../tls__msvc_8h.html#a187108e1078d2ce05388cb17bc59ce74',1,'gpr_tls_destroy(): tls_msvc.h'],['../tls__pthread_8h.html#a187108e1078d2ce05388cb17bc59ce74',1,'gpr_tls_destroy(): tls_pthread.h']]], + ['gpr_5ftls_5fget',['gpr_tls_get',['../tls__gcc_8h.html#a9aa9e55eddbe7fed424526c23e1b55a3',1,'gpr_tls_get(): tls_gcc.h'],['../tls__msvc_8h.html#a9aa9e55eddbe7fed424526c23e1b55a3',1,'gpr_tls_get(): tls_msvc.h'],['../tls__pthread_8h.html#a9aa9e55eddbe7fed424526c23e1b55a3',1,'gpr_tls_get(): tls_pthread.h']]], + ['gpr_5ftls_5finit',['gpr_tls_init',['../tls__gcc_8h.html#a43768a42ff705cc028b4a483dc3b65c5',1,'gpr_tls_init(): tls_gcc.h'],['../tls__msvc_8h.html#a43768a42ff705cc028b4a483dc3b65c5',1,'gpr_tls_init(): tls_msvc.h'],['../tls__pthread_8h.html#a43768a42ff705cc028b4a483dc3b65c5',1,'gpr_tls_init(): tls_pthread.h']]], + ['gpr_5ftls_5fset',['gpr_tls_set',['../tls__gcc_8h.html#aa8f01b3e40178b80d098650f42c529e7',1,'gpr_tls_set(): tls_gcc.h'],['../tls__msvc_8h.html#aa8f01b3e40178b80d098650f42c529e7',1,'gpr_tls_set(): tls_msvc.h']]], + ['gpr_5fus_5fper_5fms',['GPR_US_PER_MS',['../time_8h.html#a33dba9a222266cf2270c9b09c1f64336',1,'time.h']]], + ['gpr_5fus_5fper_5fsec',['GPR_US_PER_SEC',['../time_8h.html#a48433e202646afa00d9694585b05b9e3',1,'time.h']]], + ['grpc_5farg_5fdefault_5fauthority',['GRPC_ARG_DEFAULT_AUTHORITY',['../grpc_8h.html#add42f97666fbfc66b7dac253ac3b73ae',1,'grpc.h']]], + ['grpc_5farg_5fenable_5fcensus',['GRPC_ARG_ENABLE_CENSUS',['../grpc_8h.html#ae498934a02de89ce29cec570b02a2037',1,'grpc.h']]], + ['grpc_5farg_5fhttp2_5finitial_5fsequence_5fnumber',['GRPC_ARG_HTTP2_INITIAL_SEQUENCE_NUMBER',['../grpc_8h.html#aecc45a63163796ca1bc5453938bdfb36',1,'grpc.h']]], + ['grpc_5farg_5fmax_5fconcurrent_5fstreams',['GRPC_ARG_MAX_CONCURRENT_STREAMS',['../grpc_8h.html#a5bb9256d0b457cab219f4d9d765148b6',1,'grpc.h']]], + ['grpc_5farg_5fmax_5fmessage_5flength',['GRPC_ARG_MAX_MESSAGE_LENGTH',['../grpc_8h.html#a50f37feb7c000a23b3b0edf4c31d4367',1,'grpc.h']]], + ['grpc_5farg_5fprimary_5fuser_5fagent_5fstring',['GRPC_ARG_PRIMARY_USER_AGENT_STRING',['../grpc_8h.html#a0732df2d9003e9ee1c01e50e41b5a8e2',1,'grpc.h']]], + ['grpc_5farg_5fsecondary_5fuser_5fagent_5fstring',['GRPC_ARG_SECONDARY_USER_AGENT_STRING',['../grpc_8h.html#af47b4048c11e4f8f4162f12c135c2da4',1,'grpc.h']]], + ['grpc_5fcompression_5falgorithm_5farg',['GRPC_COMPRESSION_ALGORITHM_ARG',['../compression_8h.html#a9340488e193921e62bb1f240f9016a9b',1,'compression.h']]], + ['grpc_5fdefault_5fssl_5froots_5ffile_5fpath_5fenv_5fvar',['GRPC_DEFAULT_SSL_ROOTS_FILE_PATH_ENV_VAR',['../grpc__security_8h.html#a48565da473b7c82fa2453798f620fd59',1,'grpc_security.h']]], + ['grpc_5fgoogle_5fcredentials_5fenv_5fvar',['GRPC_GOOGLE_CREDENTIALS_ENV_VAR',['../grpc__security_8h.html#a3874f70577fc9fe15fd2c4ce68a36ecd',1,'grpc_security.h']]], + ['grpc_5fmust_5fuse_5fresult',['GRPC_MUST_USE_RESULT',['../port__platform_8h.html#aef49047a3be38448a61332117b306686',1,'port_platform.h']]], + ['grpc_5fslice_5fbuffer_5finline_5felements',['GRPC_SLICE_BUFFER_INLINE_ELEMENTS',['../slice__buffer_8h.html#a81db47a2be0a079aa797cd77f3864809',1,'slice_buffer.h']]], + ['grpc_5fssl_5ftarget_5fname_5foverride_5farg',['GRPC_SSL_TARGET_NAME_OVERRIDE_ARG',['../grpc__security_8h.html#a218bf55b665134a11baf07ada5980825',1,'grpc_security.h']]], + ['grpc_5fssl_5ftransport_5fsecurity_5ftype',['GRPC_SSL_TRANSPORT_SECURITY_TYPE',['../grpc__security_8h.html#a35a35c597b7090b8ac7e2d854c9bcc7a',1,'grpc_security.h']]], + ['grpc_5ftransport_5fsecurity_5ftype_5fproperty_5fname',['GRPC_TRANSPORT_SECURITY_TYPE_PROPERTY_NAME',['../grpc__security_8h.html#aff82fdff9e7c40c4dd4bdc650e38e25a',1,'grpc_security.h']]], + ['grpc_5fwrite_5fbuffer_5fhint',['GRPC_WRITE_BUFFER_HINT',['../grpc_8h.html#adf29fd8b7df2ecc47d14a7f5a3a079c0',1,'grpc.h']]], + ['grpc_5fwrite_5fno_5fcompress',['GRPC_WRITE_NO_COMPRESS',['../grpc_8h.html#ae09000181671f031ed0e319ed557da4e',1,'grpc.h']]], + ['grpc_5fwrite_5fused_5fmask',['GRPC_WRITE_USED_MASK',['../grpc_8h.html#a3317259e1098b2b6f49982d6997bbf6a',1,'grpc.h']]], + ['grpc_5fx509_5fcn_5fproperty_5fname',['GRPC_X509_CN_PROPERTY_NAME',['../grpc__security_8h.html#afee5e0fade6e0af1954529f1f08afe0c',1,'grpc_security.h']]], + ['grpc_5fx509_5fsan_5fproperty_5fname',['GRPC_X509_SAN_PROPERTY_NAME',['../grpc__security_8h.html#a1412421653b7999544296f56025a0f36',1,'grpc_security.h']]] +]; diff --git a/doc/ref/core/html/search/enums_0.html b/doc/ref/core/html/search/enums_0.html new file mode 100644 index 0000000000..b4cbe1e3ca --- /dev/null +++ b/doc/ref/core/html/search/enums_0.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core/html/search/enums_0.js b/doc/ref/core/html/search/enums_0.js new file mode 100644 index 0000000000..71843a3c64 --- /dev/null +++ b/doc/ref/core/html/search/enums_0.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['census_5ffeatures',['census_features',['../census_8h.html#abe92e59c22481b0de3742673cbbb1bf8',1,'census.h']]] +]; diff --git a/doc/ref/core/html/search/enums_1.html b/doc/ref/core/html/search/enums_1.html new file mode 100644 index 0000000000..2af2a03ec9 --- /dev/null +++ b/doc/ref/core/html/search/enums_1.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core/html/search/enums_1.js b/doc/ref/core/html/search/enums_1.js new file mode 100644 index 0000000000..66c8bf1e47 --- /dev/null +++ b/doc/ref/core/html/search/enums_1.js @@ -0,0 +1,14 @@ +var searchData= +[ + ['gpr_5fclock_5ftype',['gpr_clock_type',['../time_8h.html#a2441bd1fbe80e86ff741e0757725b281',1,'time.h']]], + ['gpr_5flog_5fseverity',['gpr_log_severity',['../log_8h.html#af10334b4085ac6985a2af9c08478ad48',1,'log.h']]], + ['grpc_5farg_5ftype',['grpc_arg_type',['../grpc_8h.html#a0b06eae05e70404aedbceaebce6de593',1,'grpc.h']]], + ['grpc_5fbyte_5fbuffer_5ftype',['grpc_byte_buffer_type',['../byte__buffer_8h.html#acdc94363b280bde9c82e3d9b5dc3b3e6',1,'byte_buffer.h']]], + ['grpc_5fcall_5ferror',['grpc_call_error',['../grpc_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785b',1,'grpc.h']]], + ['grpc_5fcompletion_5ftype',['grpc_completion_type',['../grpc_8h.html#ab6454071421a36ebc25952ed448d5b87',1,'grpc.h']]], + ['grpc_5fcompression_5falgorithm',['grpc_compression_algorithm',['../compression_8h.html#ab9de0f68bfb1ef8ed09bd00643db14c9',1,'compression.h']]], + ['grpc_5fcompression_5flevel',['grpc_compression_level',['../compression_8h.html#a14a79ed6b5ebd7e1dda7c2684f499cc7',1,'compression.h']]], + ['grpc_5fconnectivity_5fstate',['grpc_connectivity_state',['../grpc_8h.html#a065b65f5cdd062a67d82e2b6bcf68cf2',1,'grpc.h']]], + ['grpc_5fop_5ftype',['grpc_op_type',['../grpc_8h.html#a41dc9abf9678decbfcef1a037e35939a',1,'grpc.h']]], + ['grpc_5fstatus_5fcode',['grpc_status_code',['../status_8h.html#a35ab2a68917eb836de84cb23253108eb',1,'status.h']]] +]; diff --git a/doc/ref/core/html/search/enumvalues_0.html b/doc/ref/core/html/search/enumvalues_0.html new file mode 100644 index 0000000000..3e00fcf61a --- /dev/null +++ b/doc/ref/core/html/search/enumvalues_0.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core/html/search/enumvalues_0.js b/doc/ref/core/html/search/enumvalues_0.js new file mode 100644 index 0000000000..a7900e8795 --- /dev/null +++ b/doc/ref/core/html/search/enumvalues_0.js @@ -0,0 +1,8 @@ +var searchData= +[ + ['census_5ffeature_5fall',['CENSUS_FEATURE_ALL',['../census_8h.html#abe92e59c22481b0de3742673cbbb1bf8aba96a94fb7af8cf1144ca14edc0b1f0c',1,'census.h']]], + ['census_5ffeature_5fcpu',['CENSUS_FEATURE_CPU',['../census_8h.html#abe92e59c22481b0de3742673cbbb1bf8a4808bff624e2377596b86a6f58ab04b5',1,'census.h']]], + ['census_5ffeature_5fnone',['CENSUS_FEATURE_NONE',['../census_8h.html#abe92e59c22481b0de3742673cbbb1bf8aac1986834f37851b8d899c4a08c8e3ab',1,'census.h']]], + ['census_5ffeature_5fstats',['CENSUS_FEATURE_STATS',['../census_8h.html#abe92e59c22481b0de3742673cbbb1bf8a84c772b868e53ee3487c7bfc8e8b2f1a',1,'census.h']]], + ['census_5ffeature_5ftracing',['CENSUS_FEATURE_TRACING',['../census_8h.html#abe92e59c22481b0de3742673cbbb1bf8ab0722326e730113d5be97f643c3e6718',1,'census.h']]] +]; diff --git a/doc/ref/core/html/search/enumvalues_1.html b/doc/ref/core/html/search/enumvalues_1.html new file mode 100644 index 0000000000..0e575c969a --- /dev/null +++ b/doc/ref/core/html/search/enumvalues_1.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core/html/search/enumvalues_1.js b/doc/ref/core/html/search/enumvalues_1.js new file mode 100644 index 0000000000..86c2bc6ab5 --- /dev/null +++ b/doc/ref/core/html/search/enumvalues_1.js @@ -0,0 +1,68 @@ +var searchData= +[ + ['gpr_5fclock_5fmonotonic',['GPR_CLOCK_MONOTONIC',['../time_8h.html#a2441bd1fbe80e86ff741e0757725b281a6ddd11813c5172c7b3e0e46e5ce7f01c',1,'time.h']]], + ['gpr_5fclock_5frealtime',['GPR_CLOCK_REALTIME',['../time_8h.html#a2441bd1fbe80e86ff741e0757725b281a685c67eccb0b9e3de6311b1e1330a746',1,'time.h']]], + ['gpr_5flog_5fseverity_5fdebug',['GPR_LOG_SEVERITY_DEBUG',['../log_8h.html#af10334b4085ac6985a2af9c08478ad48af7d2a0ad91b0787398220ddcd91f06d6',1,'log.h']]], + ['gpr_5flog_5fseverity_5ferror',['GPR_LOG_SEVERITY_ERROR',['../log_8h.html#af10334b4085ac6985a2af9c08478ad48a52b957eb23ac2207b5e1dcf15c2b3dd4',1,'log.h']]], + ['gpr_5flog_5fseverity_5finfo',['GPR_LOG_SEVERITY_INFO',['../log_8h.html#af10334b4085ac6985a2af9c08478ad48af6c13c67f06821c1629b7e019af4aaf1',1,'log.h']]], + ['gpr_5ftimespan',['GPR_TIMESPAN',['../time_8h.html#a2441bd1fbe80e86ff741e0757725b281a52f75e587240b7b44d3b8bc7fb3d5741',1,'time.h']]], + ['grpc_5farg_5finteger',['GRPC_ARG_INTEGER',['../grpc_8h.html#a0b06eae05e70404aedbceaebce6de593a8d2f803b8aaf88f34dac1f887826c689',1,'grpc.h']]], + ['grpc_5farg_5fpointer',['GRPC_ARG_POINTER',['../grpc_8h.html#a0b06eae05e70404aedbceaebce6de593a02a823a7037e2a60b9d9a031fd42591b',1,'grpc.h']]], + ['grpc_5farg_5fstring',['GRPC_ARG_STRING',['../grpc_8h.html#a0b06eae05e70404aedbceaebce6de593a215b6b9143ba133ede0e29f79098239d',1,'grpc.h']]], + ['grpc_5fbb_5fraw',['GRPC_BB_RAW',['../byte__buffer_8h.html#acdc94363b280bde9c82e3d9b5dc3b3e6a1918bbb8502c74288793b58f1786f636',1,'byte_buffer.h']]], + ['grpc_5fcall_5ferror',['GRPC_CALL_ERROR',['../grpc_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785ba86e7b6bf1fe5dec17fc08ba2f77d1b41',1,'grpc.h']]], + ['grpc_5fcall_5ferror_5falready_5faccepted',['GRPC_CALL_ERROR_ALREADY_ACCEPTED',['../grpc_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785ba2f6f332e63eb94df8abedfddb96ae63a',1,'grpc.h']]], + ['grpc_5fcall_5ferror_5falready_5ffinished',['GRPC_CALL_ERROR_ALREADY_FINISHED',['../grpc_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785ba21256301a6038a6a03fc8444ddd08c63',1,'grpc.h']]], + ['grpc_5fcall_5ferror_5falready_5finvoked',['GRPC_CALL_ERROR_ALREADY_INVOKED',['../grpc_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785ba042165aa26653c844a846d188f722857',1,'grpc.h']]], + ['grpc_5fcall_5ferror_5finvalid_5fflags',['GRPC_CALL_ERROR_INVALID_FLAGS',['../grpc_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785bae915786320e24eff4f1e05852d40f861',1,'grpc.h']]], + ['grpc_5fcall_5ferror_5finvalid_5fmetadata',['GRPC_CALL_ERROR_INVALID_METADATA',['../grpc_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785ba13f469c7761a672240ddfe29f85729bd',1,'grpc.h']]], + ['grpc_5fcall_5ferror_5fnot_5finvoked',['GRPC_CALL_ERROR_NOT_INVOKED',['../grpc_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785ba6113860606450e3a3fa40ddf46749296',1,'grpc.h']]], + ['grpc_5fcall_5ferror_5fnot_5fon_5fclient',['GRPC_CALL_ERROR_NOT_ON_CLIENT',['../grpc_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785ba7ba38ea119e00e8b4d10211f4ced9ef6',1,'grpc.h']]], + ['grpc_5fcall_5ferror_5fnot_5fon_5fserver',['GRPC_CALL_ERROR_NOT_ON_SERVER',['../grpc_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785ba1a48e861db610ae8f0b0cba7749251d8',1,'grpc.h']]], + ['grpc_5fcall_5ferror_5fnot_5fserver_5fcompletion_5fqueue',['GRPC_CALL_ERROR_NOT_SERVER_COMPLETION_QUEUE',['../grpc_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785bade52e850722f80804d90881ac125706f',1,'grpc.h']]], + ['grpc_5fcall_5ferror_5ftoo_5fmany_5foperations',['GRPC_CALL_ERROR_TOO_MANY_OPERATIONS',['../grpc_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785ba7e09791915b841c30e9d79c26a5a6454',1,'grpc.h']]], + ['grpc_5fcall_5fok',['GRPC_CALL_OK',['../grpc_8h.html#a0d5a8bdd6d53d209cacea4b6fa5d785ba32f125b97007cbdb43534e9d6e0989f8',1,'grpc.h']]], + ['grpc_5fchannel_5fconnecting',['GRPC_CHANNEL_CONNECTING',['../grpc_8h.html#a065b65f5cdd062a67d82e2b6bcf68cf2a3ac13f6c7627f15186760bfd6b7d9299',1,'grpc.h']]], + ['grpc_5fchannel_5ffatal_5ffailure',['GRPC_CHANNEL_FATAL_FAILURE',['../grpc_8h.html#a065b65f5cdd062a67d82e2b6bcf68cf2a8f774ebe233ee26ebd546fe4b58060b6',1,'grpc.h']]], + ['grpc_5fchannel_5fidle',['GRPC_CHANNEL_IDLE',['../grpc_8h.html#a065b65f5cdd062a67d82e2b6bcf68cf2a304d1b81cec4357a9a6acbcb18248e77',1,'grpc.h']]], + ['grpc_5fchannel_5fready',['GRPC_CHANNEL_READY',['../grpc_8h.html#a065b65f5cdd062a67d82e2b6bcf68cf2aab01ef3f78d9236dfa3c751dc66aa7ea',1,'grpc.h']]], + ['grpc_5fchannel_5ftransient_5ffailure',['GRPC_CHANNEL_TRANSIENT_FAILURE',['../grpc_8h.html#a065b65f5cdd062a67d82e2b6bcf68cf2af5bffd3ffb03795f551b0fa78e44b9b6',1,'grpc.h']]], + ['grpc_5fcompress_5falgorithms_5fcount',['GRPC_COMPRESS_ALGORITHMS_COUNT',['../compression_8h.html#ab9de0f68bfb1ef8ed09bd00643db14c9a94d7fc0a8e4a05546d462d53c2b53b8d',1,'compression.h']]], + ['grpc_5fcompress_5fdeflate',['GRPC_COMPRESS_DEFLATE',['../compression_8h.html#ab9de0f68bfb1ef8ed09bd00643db14c9a50de256d5abe80daff7e1372e29dd913',1,'compression.h']]], + ['grpc_5fcompress_5fgzip',['GRPC_COMPRESS_GZIP',['../compression_8h.html#ab9de0f68bfb1ef8ed09bd00643db14c9a5a134ced82d8682b55b99b8e9386555e',1,'compression.h']]], + ['grpc_5fcompress_5flevel_5fcount',['GRPC_COMPRESS_LEVEL_COUNT',['../compression_8h.html#a14a79ed6b5ebd7e1dda7c2684f499cc7a893b24fb0986e61ebda069c713b8bd43',1,'compression.h']]], + ['grpc_5fcompress_5flevel_5fhigh',['GRPC_COMPRESS_LEVEL_HIGH',['../compression_8h.html#a14a79ed6b5ebd7e1dda7c2684f499cc7a501a0cf15300a90c09a3d8b4f7f43d22',1,'compression.h']]], + ['grpc_5fcompress_5flevel_5flow',['GRPC_COMPRESS_LEVEL_LOW',['../compression_8h.html#a14a79ed6b5ebd7e1dda7c2684f499cc7afd436e21be4f897ca939b3b4d9a44673',1,'compression.h']]], + ['grpc_5fcompress_5flevel_5fmed',['GRPC_COMPRESS_LEVEL_MED',['../compression_8h.html#a14a79ed6b5ebd7e1dda7c2684f499cc7a4319a32cdd0b59a7ecc977f8612214ce',1,'compression.h']]], + ['grpc_5fcompress_5flevel_5fnone',['GRPC_COMPRESS_LEVEL_NONE',['../compression_8h.html#a14a79ed6b5ebd7e1dda7c2684f499cc7ab67efe04f58b0939b963e51a5b8f772c',1,'compression.h']]], + ['grpc_5fcompress_5fnone',['GRPC_COMPRESS_NONE',['../compression_8h.html#ab9de0f68bfb1ef8ed09bd00643db14c9a3135cac7e854adb16358c53e97df9cd8',1,'compression.h']]], + ['grpc_5fop_5fcomplete',['GRPC_OP_COMPLETE',['../grpc_8h.html#ab6454071421a36ebc25952ed448d5b87a00b42e3d4b6e6493c6e76f1adf07b297',1,'grpc.h']]], + ['grpc_5fop_5frecv_5fclose_5fon_5fserver',['GRPC_OP_RECV_CLOSE_ON_SERVER',['../grpc_8h.html#a41dc9abf9678decbfcef1a037e35939aa8fb75ed79601a4845a39a74d7505cef6',1,'grpc.h']]], + ['grpc_5fop_5frecv_5finitial_5fmetadata',['GRPC_OP_RECV_INITIAL_METADATA',['../grpc_8h.html#a41dc9abf9678decbfcef1a037e35939aaabe080072d165d1e69459abd7c742078',1,'grpc.h']]], + ['grpc_5fop_5frecv_5fmessage',['GRPC_OP_RECV_MESSAGE',['../grpc_8h.html#a41dc9abf9678decbfcef1a037e35939aafe3da4c8865af4ef5258b3790d15afc5',1,'grpc.h']]], + ['grpc_5fop_5frecv_5fstatus_5fon_5fclient',['GRPC_OP_RECV_STATUS_ON_CLIENT',['../grpc_8h.html#a41dc9abf9678decbfcef1a037e35939aa4d43b168589407554a58e91fae80ba17',1,'grpc.h']]], + ['grpc_5fop_5fsend_5fclose_5ffrom_5fclient',['GRPC_OP_SEND_CLOSE_FROM_CLIENT',['../grpc_8h.html#a41dc9abf9678decbfcef1a037e35939aa6c66420562347ff4dcf35e4b32c0d486',1,'grpc.h']]], + ['grpc_5fop_5fsend_5finitial_5fmetadata',['GRPC_OP_SEND_INITIAL_METADATA',['../grpc_8h.html#a41dc9abf9678decbfcef1a037e35939aaf5bbedf13763c180b2f1ada62769d721',1,'grpc.h']]], + ['grpc_5fop_5fsend_5fmessage',['GRPC_OP_SEND_MESSAGE',['../grpc_8h.html#a41dc9abf9678decbfcef1a037e35939aaa6447181c20e4c6d64a54fae8082ef70',1,'grpc.h']]], + ['grpc_5fop_5fsend_5fstatus_5ffrom_5fserver',['GRPC_OP_SEND_STATUS_FROM_SERVER',['../grpc_8h.html#a41dc9abf9678decbfcef1a037e35939aa3a3659314e7495b1cabed0f3a6705f64',1,'grpc.h']]], + ['grpc_5fqueue_5fshutdown',['GRPC_QUEUE_SHUTDOWN',['../grpc_8h.html#ab6454071421a36ebc25952ed448d5b87a503dd1b2ec79457f0f810716016219d5',1,'grpc.h']]], + ['grpc_5fqueue_5ftimeout',['GRPC_QUEUE_TIMEOUT',['../grpc_8h.html#ab6454071421a36ebc25952ed448d5b87a4339ea61236e103b6555fdf9b6cffab6',1,'grpc.h']]], + ['grpc_5fstatus_5f_5fdo_5fnot_5fuse',['GRPC_STATUS__DO_NOT_USE',['../status_8h.html#a35ab2a68917eb836de84cb23253108ebab924d4c4c646bdb3130162b8e359dd96',1,'status.h']]], + ['grpc_5fstatus_5faborted',['GRPC_STATUS_ABORTED',['../status_8h.html#a35ab2a68917eb836de84cb23253108eba3570bc43d5eb08c95a7f4c24c13010d9',1,'status.h']]], + ['grpc_5fstatus_5falready_5fexists',['GRPC_STATUS_ALREADY_EXISTS',['../status_8h.html#a35ab2a68917eb836de84cb23253108ebad357565db8655b6635fae96a11c4009b',1,'status.h']]], + ['grpc_5fstatus_5fcancelled',['GRPC_STATUS_CANCELLED',['../status_8h.html#a35ab2a68917eb836de84cb23253108eba30e6e0c37df1389dd4c460a53f831038',1,'status.h']]], + ['grpc_5fstatus_5fdata_5floss',['GRPC_STATUS_DATA_LOSS',['../status_8h.html#a35ab2a68917eb836de84cb23253108eba275db05856f4af884c48e86440414db7',1,'status.h']]], + ['grpc_5fstatus_5fdeadline_5fexceeded',['GRPC_STATUS_DEADLINE_EXCEEDED',['../status_8h.html#a35ab2a68917eb836de84cb23253108eba5451711361db6b8d8e80be30cbb1a208',1,'status.h']]], + ['grpc_5fstatus_5ffailed_5fprecondition',['GRPC_STATUS_FAILED_PRECONDITION',['../status_8h.html#a35ab2a68917eb836de84cb23253108eba503abd183544b43a83bc01d999adda5f',1,'status.h']]], + ['grpc_5fstatus_5finternal',['GRPC_STATUS_INTERNAL',['../status_8h.html#a35ab2a68917eb836de84cb23253108ebae648dab84c58ef5b1cfeea35867c4520',1,'status.h']]], + ['grpc_5fstatus_5finvalid_5fargument',['GRPC_STATUS_INVALID_ARGUMENT',['../status_8h.html#a35ab2a68917eb836de84cb23253108eba3dd64296110db7e7fafb1062b5587731',1,'status.h']]], + ['grpc_5fstatus_5fnot_5ffound',['GRPC_STATUS_NOT_FOUND',['../status_8h.html#a35ab2a68917eb836de84cb23253108ebafdf14cb6f2da868d76b209ac490c14e2',1,'status.h']]], + ['grpc_5fstatus_5fok',['GRPC_STATUS_OK',['../status_8h.html#a35ab2a68917eb836de84cb23253108eba9da5601150b267ab5509d151fa7df201',1,'status.h']]], + ['grpc_5fstatus_5fout_5fof_5frange',['GRPC_STATUS_OUT_OF_RANGE',['../status_8h.html#a35ab2a68917eb836de84cb23253108ebacd0d05ab2f0af48b0f535c3dd0816d9b',1,'status.h']]], + ['grpc_5fstatus_5fpermission_5fdenied',['GRPC_STATUS_PERMISSION_DENIED',['../status_8h.html#a35ab2a68917eb836de84cb23253108eba4149925007957bf1a04184d88e8293f4',1,'status.h']]], + ['grpc_5fstatus_5fresource_5fexhausted',['GRPC_STATUS_RESOURCE_EXHAUSTED',['../status_8h.html#a35ab2a68917eb836de84cb23253108ebab1a76cb91e6992f6f7a31a7fe862e0e9',1,'status.h']]], + ['grpc_5fstatus_5funauthenticated',['GRPC_STATUS_UNAUTHENTICATED',['../status_8h.html#a35ab2a68917eb836de84cb23253108eba1a6fd47361ad9298879dd8760ca1a0cb',1,'status.h']]], + ['grpc_5fstatus_5funavailable',['GRPC_STATUS_UNAVAILABLE',['../status_8h.html#a35ab2a68917eb836de84cb23253108ebaad91b67998cb5df7bc6821e362189e79',1,'status.h']]], + ['grpc_5fstatus_5funimplemented',['GRPC_STATUS_UNIMPLEMENTED',['../status_8h.html#a35ab2a68917eb836de84cb23253108eba6912537b4dfd1030f50ff2f5448f1bc2',1,'status.h']]], + ['grpc_5fstatus_5funknown',['GRPC_STATUS_UNKNOWN',['../status_8h.html#a35ab2a68917eb836de84cb23253108eba5f02c0e431162618ab422d27fd39dd08',1,'status.h']]] +]; diff --git a/doc/ref/core/html/search/files_0.html b/doc/ref/core/html/search/files_0.html new file mode 100644 index 0000000000..c7aa36c96f --- /dev/null +++ b/doc/ref/core/html/search/files_0.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core/html/search/files_0.js b/doc/ref/core/html/search/files_0.js new file mode 100644 index 0000000000..ed78c25529 --- /dev/null +++ b/doc/ref/core/html/search/files_0.js @@ -0,0 +1,8 @@ +var searchData= +[ + ['alloc_2eh',['alloc.h',['../alloc_8h.html',1,'']]], + ['atm_2eh',['atm.h',['../atm_8h.html',1,'']]], + ['atm_5fgcc_5fatomic_2eh',['atm_gcc_atomic.h',['../atm__gcc__atomic_8h.html',1,'']]], + ['atm_5fgcc_5fsync_2eh',['atm_gcc_sync.h',['../atm__gcc__sync_8h.html',1,'']]], + ['atm_5fwin32_2eh',['atm_win32.h',['../atm__win32_8h.html',1,'']]] +]; diff --git a/doc/ref/core/html/search/files_1.html b/doc/ref/core/html/search/files_1.html new file mode 100644 index 0000000000..eca1c80542 --- /dev/null +++ b/doc/ref/core/html/search/files_1.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core/html/search/files_1.js b/doc/ref/core/html/search/files_1.js new file mode 100644 index 0000000000..04e73a3353 --- /dev/null +++ b/doc/ref/core/html/search/files_1.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['byte_5fbuffer_2eh',['byte_buffer.h',['../byte__buffer_8h.html',1,'']]], + ['byte_5fbuffer_5freader_2eh',['byte_buffer_reader.h',['../byte__buffer__reader_8h.html',1,'']]] +]; diff --git a/doc/ref/core/html/search/files_2.html b/doc/ref/core/html/search/files_2.html new file mode 100644 index 0000000000..04a8a46342 --- /dev/null +++ b/doc/ref/core/html/search/files_2.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core/html/search/files_2.js b/doc/ref/core/html/search/files_2.js new file mode 100644 index 0000000000..809f67283b --- /dev/null +++ b/doc/ref/core/html/search/files_2.js @@ -0,0 +1,8 @@ +var searchData= +[ + ['cancellable_5fplatform_2eh',['cancellable_platform.h',['../cancellable__platform_8h.html',1,'']]], + ['census_2eh',['census.h',['../census_8h.html',1,'']]], + ['cmdline_2eh',['cmdline.h',['../cmdline_8h.html',1,'']]], + ['compression_2eh',['compression.h',['../compression_8h.html',1,'']]], + ['cpu_2eh',['cpu.h',['../cpu_8h.html',1,'']]] +]; diff --git a/doc/ref/core/html/search/files_3.html b/doc/ref/core/html/search/files_3.html new file mode 100644 index 0000000000..0dc9a561e5 --- /dev/null +++ b/doc/ref/core/html/search/files_3.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core/html/search/files_3.js b/doc/ref/core/html/search/files_3.js new file mode 100644 index 0000000000..8b2da20266 --- /dev/null +++ b/doc/ref/core/html/search/files_3.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['grpc_2eh',['grpc.h',['../grpc_8h.html',1,'']]], + ['grpc_5fsecurity_2eh',['grpc_security.h',['../grpc__security_8h.html',1,'']]] +]; diff --git a/doc/ref/core/html/search/files_4.html b/doc/ref/core/html/search/files_4.html new file mode 100644 index 0000000000..891b5da340 --- /dev/null +++ b/doc/ref/core/html/search/files_4.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core/html/search/files_4.js b/doc/ref/core/html/search/files_4.js new file mode 100644 index 0000000000..fefec856ca --- /dev/null +++ b/doc/ref/core/html/search/files_4.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['histogram_2eh',['histogram.h',['../histogram_8h.html',1,'']]], + ['host_5fport_2eh',['host_port.h',['../host__port_8h.html',1,'']]] +]; diff --git a/doc/ref/core/html/search/files_5.html b/doc/ref/core/html/search/files_5.html new file mode 100644 index 0000000000..1741195c0f --- /dev/null +++ b/doc/ref/core/html/search/files_5.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core/html/search/files_5.js b/doc/ref/core/html/search/files_5.js new file mode 100644 index 0000000000..282fbe81fe --- /dev/null +++ b/doc/ref/core/html/search/files_5.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['log_2eh',['log.h',['../log_8h.html',1,'']]], + ['log_5fwin32_2eh',['log_win32.h',['../log__win32_8h.html',1,'']]] +]; diff --git a/doc/ref/core/html/search/files_6.html b/doc/ref/core/html/search/files_6.html new file mode 100644 index 0000000000..262d3da249 --- /dev/null +++ b/doc/ref/core/html/search/files_6.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core/html/search/files_6.js b/doc/ref/core/html/search/files_6.js new file mode 100644 index 0000000000..f8902acd7f --- /dev/null +++ b/doc/ref/core/html/search/files_6.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['port_5fplatform_2eh',['port_platform.h',['../port__platform_8h.html',1,'']]] +]; diff --git a/doc/ref/core/html/search/files_7.html b/doc/ref/core/html/search/files_7.html new file mode 100644 index 0000000000..c5355726df --- /dev/null +++ b/doc/ref/core/html/search/files_7.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core/html/search/files_7.js b/doc/ref/core/html/search/files_7.js new file mode 100644 index 0000000000..69fc342888 --- /dev/null +++ b/doc/ref/core/html/search/files_7.js @@ -0,0 +1,12 @@ +var searchData= +[ + ['slice_2eh',['slice.h',['../slice_8h.html',1,'']]], + ['slice_5fbuffer_2eh',['slice_buffer.h',['../slice__buffer_8h.html',1,'']]], + ['status_2eh',['status.h',['../status_8h.html',1,'']]], + ['string_5futil_2eh',['string_util.h',['../string__util_8h.html',1,'']]], + ['subprocess_2eh',['subprocess.h',['../subprocess_8h.html',1,'']]], + ['sync_2eh',['sync.h',['../sync_8h.html',1,'']]], + ['sync_5fgeneric_2eh',['sync_generic.h',['../sync__generic_8h.html',1,'']]], + ['sync_5fposix_2eh',['sync_posix.h',['../sync__posix_8h.html',1,'']]], + ['sync_5fwin32_2eh',['sync_win32.h',['../sync__win32_8h.html',1,'']]] +]; diff --git a/doc/ref/core/html/search/files_8.html b/doc/ref/core/html/search/files_8.html new file mode 100644 index 0000000000..21c328afad --- /dev/null +++ b/doc/ref/core/html/search/files_8.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core/html/search/files_8.js b/doc/ref/core/html/search/files_8.js new file mode 100644 index 0000000000..d1ec8bb9b8 --- /dev/null +++ b/doc/ref/core/html/search/files_8.js @@ -0,0 +1,9 @@ +var searchData= +[ + ['thd_2eh',['thd.h',['../thd_8h.html',1,'']]], + ['time_2eh',['time.h',['../time_8h.html',1,'']]], + ['tls_2eh',['tls.h',['../tls_8h.html',1,'']]], + ['tls_5fgcc_2eh',['tls_gcc.h',['../tls__gcc_8h.html',1,'']]], + ['tls_5fmsvc_2eh',['tls_msvc.h',['../tls__msvc_8h.html',1,'']]], + ['tls_5fpthread_2eh',['tls_pthread.h',['../tls__pthread_8h.html',1,'']]] +]; diff --git a/doc/ref/core/html/search/files_9.html b/doc/ref/core/html/search/files_9.html new file mode 100644 index 0000000000..00a520120c --- /dev/null +++ b/doc/ref/core/html/search/files_9.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core/html/search/files_9.js b/doc/ref/core/html/search/files_9.js new file mode 100644 index 0000000000..5135941364 --- /dev/null +++ b/doc/ref/core/html/search/files_9.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['useful_2eh',['useful.h',['../useful_8h.html',1,'']]] +]; diff --git a/doc/ref/core/html/search/functions_0.html b/doc/ref/core/html/search/functions_0.html new file mode 100644 index 0000000000..16a5a527a8 --- /dev/null +++ b/doc/ref/core/html/search/functions_0.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core/html/search/functions_0.js b/doc/ref/core/html/search/functions_0.js new file mode 100644 index 0000000000..5e00424c8f --- /dev/null +++ b/doc/ref/core/html/search/functions_0.js @@ -0,0 +1,11 @@ +var searchData= +[ + ['census_5fcontext_5fdeserialize',['census_context_deserialize',['../census_8h.html#ad9daab242b41571299ac5b3bca71fc0d',1,'census.h']]], + ['census_5fcontext_5fdestroy',['census_context_destroy',['../census_8h.html#a5bfcd1edc546eeacf111c3316ae7785d',1,'census.h']]], + ['census_5fcontext_5fserialize',['census_context_serialize',['../census_8h.html#ad9a7d3170ecf720e1b22a4f255605748',1,'census.h']]], + ['census_5fenabled',['census_enabled',['../census_8h.html#a742616973e78aaf969389cea20feea9f',1,'census.h']]], + ['census_5finitialize',['census_initialize',['../census_8h.html#a4cea92157f3de215724f6bf4aeaee1b6',1,'census.h']]], + ['census_5frecord_5fstat',['census_record_stat',['../census_8h.html#a0cdd5ba86b080e6b5a4b47cfaa5b51cb',1,'census.h']]], + ['census_5fshutdown',['census_shutdown',['../census_8h.html#aa792b067548ecdd987d560b492c83d85',1,'census.h']]], + ['census_5fsupported',['census_supported',['../census_8h.html#ad5f627a64ac4febbc61d2b89801d40e9',1,'census.h']]] +]; diff --git a/doc/ref/core/html/search/functions_1.html b/doc/ref/core/html/search/functions_1.html new file mode 100644 index 0000000000..3b4eacfebf --- /dev/null +++ b/doc/ref/core/html/search/functions_1.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core/html/search/functions_1.js b/doc/ref/core/html/search/functions_1.js new file mode 100644 index 0000000000..d438082769 --- /dev/null +++ b/doc/ref/core/html/search/functions_1.js @@ -0,0 +1,204 @@ +var searchData= +[ + ['gpr_5fasprintf',['gpr_asprintf',['../string__util_8h.html#a0e5cc621bf7ca14112c72aa7a0ca73d0',1,'string_util.h']]], + ['gpr_5fcancellable_5fcancel',['gpr_cancellable_cancel',['../sync_8h.html#a895fb73161d2dd1fa19be10d5395001c',1,'sync.h']]], + ['gpr_5fcancellable_5fdestroy',['gpr_cancellable_destroy',['../sync_8h.html#aa82b7172b992bd33bd6fd4b4dc89e338',1,'sync.h']]], + ['gpr_5fcancellable_5finit',['gpr_cancellable_init',['../sync_8h.html#aec0b0e9b9f084550cdec300da1f31add',1,'sync.h']]], + ['gpr_5fcancellable_5fis_5fcancelled',['gpr_cancellable_is_cancelled',['../sync_8h.html#a1e53047443e5eb1f9895be0c90bc790b',1,'sync.h']]], + ['gpr_5fcmdline_5fadd_5fflag',['gpr_cmdline_add_flag',['../cmdline_8h.html#ac5ecfdfc605896c29df846b1e268045e',1,'cmdline.h']]], + ['gpr_5fcmdline_5fadd_5fint',['gpr_cmdline_add_int',['../cmdline_8h.html#a0fc8cd330751e9876e8635189a1bc10f',1,'cmdline.h']]], + ['gpr_5fcmdline_5fadd_5fstring',['gpr_cmdline_add_string',['../cmdline_8h.html#a34568676c089f3284dc8f7d8d706b1d3',1,'cmdline.h']]], + ['gpr_5fcmdline_5fcreate',['gpr_cmdline_create',['../cmdline_8h.html#a608f6fbc4edfb4d2c18e3c0660fd8773',1,'cmdline.h']]], + ['gpr_5fcmdline_5fdestroy',['gpr_cmdline_destroy',['../cmdline_8h.html#a018f826ce313b02d2773ef97b8df5f98',1,'cmdline.h']]], + ['gpr_5fcmdline_5fon_5fextra_5farg',['gpr_cmdline_on_extra_arg',['../cmdline_8h.html#afcf023a5eb082034a650a0f0177d1fe9',1,'cmdline.h']]], + ['gpr_5fcmdline_5fparse',['gpr_cmdline_parse',['../cmdline_8h.html#a34b66021bbbb9f6a6e8a60c0ae34f8a4',1,'cmdline.h']]], + ['gpr_5fcmdline_5fusage_5fstring',['gpr_cmdline_usage_string',['../cmdline_8h.html#a4eac81d047bdc6e679079309bf60f030',1,'cmdline.h']]], + ['gpr_5fconvert_5fclock_5ftype',['gpr_convert_clock_type',['../time_8h.html#a5da0bdd7a1b8735bf1594a2068b7ec74',1,'time.h']]], + ['gpr_5fcpu_5fcurrent_5fcpu',['gpr_cpu_current_cpu',['../cpu_8h.html#ad713326192eea685047b742f1da87c1d',1,'cpu.h']]], + ['gpr_5fcpu_5fnum_5fcores',['gpr_cpu_num_cores',['../cpu_8h.html#abfe660c6872b008de80de5b39ac2538d',1,'cpu.h']]], + ['gpr_5fcv_5fbroadcast',['gpr_cv_broadcast',['../sync_8h.html#ad5a4b4a5844668d188db89dda6ad205b',1,'sync.h']]], + ['gpr_5fcv_5fcancellable_5fwait',['gpr_cv_cancellable_wait',['../sync_8h.html#a5f1df649a9885ff2354dd4ce611017d9',1,'sync.h']]], + ['gpr_5fcv_5fdestroy',['gpr_cv_destroy',['../sync_8h.html#a652900a910676d5cae9ccba052adb6b0',1,'sync.h']]], + ['gpr_5fcv_5finit',['gpr_cv_init',['../sync_8h.html#ad24aac3d86113f0fcffc6c4595da9cb2',1,'sync.h']]], + ['gpr_5fcv_5fsignal',['gpr_cv_signal',['../sync_8h.html#aba119d0b92b0bd50e6efa9e2abe07a5f',1,'sync.h']]], + ['gpr_5fcv_5fwait',['gpr_cv_wait',['../sync_8h.html#ad5d8d01509b75addc44e5a43783a826e',1,'sync.h']]], + ['gpr_5fempty_5fslice',['gpr_empty_slice',['../slice_8h.html#a1a8906400c956fb8c508326a072b0662',1,'slice.h']]], + ['gpr_5fevent_5fcancellable_5fwait',['gpr_event_cancellable_wait',['../sync_8h.html#ae048c7e762b723821e35a07fd0d85e22',1,'sync.h']]], + ['gpr_5fevent_5fget',['gpr_event_get',['../sync_8h.html#ac0a2305d9e6575cc5a3d92bc3f12c161',1,'sync.h']]], + ['gpr_5fevent_5finit',['gpr_event_init',['../sync_8h.html#a93f37cd27964fda51acd4cd8e6737922',1,'sync.h']]], + ['gpr_5fevent_5fset',['gpr_event_set',['../sync_8h.html#a1b1d014640e00512f6789dacc4ff88bd',1,'sync.h']]], + ['gpr_5fevent_5fwait',['gpr_event_wait',['../sync_8h.html#a01d442a76ff77f64d9f898b22ea33db7',1,'sync.h']]], + ['gpr_5fformat_5fmessage',['gpr_format_message',['../log__win32_8h.html#ad8115cf8df2332d225d12cb87c21f536',1,'log_win32.h']]], + ['gpr_5ffree',['gpr_free',['../alloc_8h.html#ae0d621b472031a64c77bd2e9fea495e8',1,'alloc.h']]], + ['gpr_5ffree_5faligned',['gpr_free_aligned',['../alloc_8h.html#af9b603aefd33752e1b473856af77cbc9',1,'alloc.h']]], + ['gpr_5fhistogram_5fadd',['gpr_histogram_add',['../histogram_8h.html#a63815a52b0236626a30480915ff51847',1,'histogram.h']]], + ['gpr_5fhistogram_5fcount',['gpr_histogram_count',['../histogram_8h.html#a242b0541ee25271812d867d8f2734255',1,'histogram.h']]], + ['gpr_5fhistogram_5fcreate',['gpr_histogram_create',['../histogram_8h.html#a5da9d3dac4262c5ae1e974a649edbd5c',1,'histogram.h']]], + ['gpr_5fhistogram_5fdestroy',['gpr_histogram_destroy',['../histogram_8h.html#a7411a760aa075c1c27eeb9249d951c6c',1,'histogram.h']]], + ['gpr_5fhistogram_5fget_5fcontents',['gpr_histogram_get_contents',['../histogram_8h.html#aa7807dc3f06172d1513498761c3ad8c4',1,'histogram.h']]], + ['gpr_5fhistogram_5fmaximum',['gpr_histogram_maximum',['../histogram_8h.html#a71e5aa88087c8595c7f5d01750f919cb',1,'histogram.h']]], + ['gpr_5fhistogram_5fmean',['gpr_histogram_mean',['../histogram_8h.html#a14d68ff71978bda93a07d019d993d83c',1,'histogram.h']]], + ['gpr_5fhistogram_5fmerge',['gpr_histogram_merge',['../histogram_8h.html#a41caac8747588e75cf5fed974fcd90f2',1,'histogram.h']]], + ['gpr_5fhistogram_5fmerge_5fcontents',['gpr_histogram_merge_contents',['../histogram_8h.html#aa1acf09b75809398b4e45729e6a3ba30',1,'histogram.h']]], + ['gpr_5fhistogram_5fminimum',['gpr_histogram_minimum',['../histogram_8h.html#ab89af54f76a690d82d1f065ceeda6a76',1,'histogram.h']]], + ['gpr_5fhistogram_5fpercentile',['gpr_histogram_percentile',['../histogram_8h.html#a1a0a1b854c2af4d29175872fe5bb4431',1,'histogram.h']]], + ['gpr_5fhistogram_5fstddev',['gpr_histogram_stddev',['../histogram_8h.html#a0979c6470e9192e5f83bcab01542dd91',1,'histogram.h']]], + ['gpr_5fhistogram_5fsum',['gpr_histogram_sum',['../histogram_8h.html#a0332c47f841d8b0607e3327d8bc9a933',1,'histogram.h']]], + ['gpr_5fhistogram_5fsum_5fof_5fsquares',['gpr_histogram_sum_of_squares',['../histogram_8h.html#a5788652eb5350afcc534f563fd0265d3',1,'histogram.h']]], + ['gpr_5fhistogram_5fvariance',['gpr_histogram_variance',['../histogram_8h.html#a4ef00ceaa619ca09da4de17fc5a5769b',1,'histogram.h']]], + ['gpr_5finf_5ffuture',['gpr_inf_future',['../time_8h.html#a9324a2b33d5d7686fb14714c59ff026d',1,'time.h']]], + ['gpr_5finf_5fpast',['gpr_inf_past',['../time_8h.html#abd2eba8066648fe0d94146d8310b4283',1,'time.h']]], + ['gpr_5fjoin_5fhost_5fport',['gpr_join_host_port',['../host__port_8h.html#a75d6ea0faeed039dc132873afce91508',1,'host_port.h']]], + ['gpr_5flog',['gpr_log',['../log_8h.html#acf6f383ed91d9f4e2e6bd79c57539fd1',1,'log.h']]], + ['gpr_5flog_5fmessage',['gpr_log_message',['../log_8h.html#a7a3d59528754f8fbcfe54f6f8a72ec61',1,'log.h']]], + ['gpr_5flog_5fseverity_5fstring',['gpr_log_severity_string',['../log_8h.html#a3badccbc5ec4c725eadbc07b8e5706eb',1,'log.h']]], + ['gpr_5fmalloc',['gpr_malloc',['../alloc_8h.html#af5896bb446b6179f35651730357149bb',1,'alloc.h']]], + ['gpr_5fmalloc_5faligned',['gpr_malloc_aligned',['../alloc_8h.html#a73551a6249ae9b0a73ad75733c67ead4',1,'alloc.h']]], + ['gpr_5fmu_5fdestroy',['gpr_mu_destroy',['../sync_8h.html#a52ae2524c7dade8cecb9f01ff4792c9e',1,'sync.h']]], + ['gpr_5fmu_5finit',['gpr_mu_init',['../sync_8h.html#a16694f755266c254390b041a0f069094',1,'sync.h']]], + ['gpr_5fmu_5flock',['gpr_mu_lock',['../sync_8h.html#a44b385455d169e6c84659adb222c1d42',1,'sync.h']]], + ['gpr_5fmu_5ftrylock',['gpr_mu_trylock',['../sync_8h.html#a65a42bb7ca9072b0e7b581d715a8e777',1,'sync.h']]], + ['gpr_5fmu_5funlock',['gpr_mu_unlock',['../sync_8h.html#a91370fd0eb76bc1323c80815ad6e9cff',1,'sync.h']]], + ['gpr_5fnow',['gpr_now',['../time_8h.html#adf5debcac2bc854e733ca2dec2a1ff19',1,'time.h']]], + ['gpr_5fonce_5finit',['gpr_once_init',['../sync_8h.html#ad5c88872723a129b09200b1892d2323f',1,'sync.h']]], + ['gpr_5frealloc',['gpr_realloc',['../alloc_8h.html#a25d9a067b093e9c76dbbd77995b1bc91',1,'alloc.h']]], + ['gpr_5fref',['gpr_ref',['../sync_8h.html#ac0e52c6bfc7a04ba8a269f3227104571',1,'sync.h']]], + ['gpr_5fref_5finit',['gpr_ref_init',['../sync_8h.html#a235584f36572b5410b042ee63cb0740b',1,'sync.h']]], + ['gpr_5frefn',['gpr_refn',['../sync_8h.html#a516e26b66b1aa53fba8f5f52b249cb25',1,'sync.h']]], + ['gpr_5fset_5flog_5ffunction',['gpr_set_log_function',['../log_8h.html#a75771a41e3bb2831df8043a57de05330',1,'log.h']]], + ['gpr_5fsleep_5funtil',['gpr_sleep_until',['../time_8h.html#ad037af8b7288a3f2e5ce46d3e3ca50d7',1,'time.h']]], + ['gpr_5fslice_5fbuffer_5fadd',['gpr_slice_buffer_add',['../slice__buffer_8h.html#a8fd6443c77c7602be19b9152355a8e12',1,'slice_buffer.h']]], + ['gpr_5fslice_5fbuffer_5fadd_5findexed',['gpr_slice_buffer_add_indexed',['../slice__buffer_8h.html#acd745eec745573eeace3861da3e2c045',1,'slice_buffer.h']]], + ['gpr_5fslice_5fbuffer_5faddn',['gpr_slice_buffer_addn',['../slice__buffer_8h.html#a615be732e655de9980c321eb075e4a46',1,'slice_buffer.h']]], + ['gpr_5fslice_5fbuffer_5fdestroy',['gpr_slice_buffer_destroy',['../slice__buffer_8h.html#a60c8b437918c3a81651b5f9a892f6399',1,'slice_buffer.h']]], + ['gpr_5fslice_5fbuffer_5finit',['gpr_slice_buffer_init',['../slice__buffer_8h.html#aab5ed508480703c7b856e92ef6d7e4c8',1,'slice_buffer.h']]], + ['gpr_5fslice_5fbuffer_5fmove_5finto',['gpr_slice_buffer_move_into',['../slice__buffer_8h.html#a0289912040151750bbee19ba632a88f1',1,'slice_buffer.h']]], + ['gpr_5fslice_5fbuffer_5fpop',['gpr_slice_buffer_pop',['../slice__buffer_8h.html#ae3bd1bc560aad5b69a6ef0b09286cc79',1,'slice_buffer.h']]], + ['gpr_5fslice_5fbuffer_5freset_5fand_5funref',['gpr_slice_buffer_reset_and_unref',['../slice__buffer_8h.html#aa2819a201e9dcf62e31a6dbfc6fe3010',1,'slice_buffer.h']]], + ['gpr_5fslice_5fbuffer_5fswap',['gpr_slice_buffer_swap',['../slice__buffer_8h.html#a672b80e16cdabf26c7b558a54edfcd2d',1,'slice_buffer.h']]], + ['gpr_5fslice_5fbuffer_5ftiny_5fadd',['gpr_slice_buffer_tiny_add',['../slice__buffer_8h.html#a223fc0bf1beb3866aee902dea0a599c0',1,'slice_buffer.h']]], + ['gpr_5fslice_5fcmp',['gpr_slice_cmp',['../slice_8h.html#add3c8736c46bea7517991f178c82ba3c',1,'slice.h']]], + ['gpr_5fslice_5ffrom_5fcopied_5fbuffer',['gpr_slice_from_copied_buffer',['../slice_8h.html#a83e8110a7a98132963f01eb9c7f7418e',1,'slice.h']]], + ['gpr_5fslice_5ffrom_5fcopied_5fstring',['gpr_slice_from_copied_string',['../slice_8h.html#adf4df32e55b1b09d3f11c39447dcc68b',1,'slice.h']]], + ['gpr_5fslice_5fmalloc',['gpr_slice_malloc',['../slice_8h.html#ab57463740ccedc00b50721dce66ebd7b',1,'slice.h']]], + ['gpr_5fslice_5fnew',['gpr_slice_new',['../slice_8h.html#aea43587a11bfe2e06fb8532035229bb2',1,'slice.h']]], + ['gpr_5fslice_5fnew_5fwith_5flen',['gpr_slice_new_with_len',['../slice_8h.html#affd1fef2ffaca67e0b2e7b60923da812',1,'slice.h']]], + ['gpr_5fslice_5fref',['gpr_slice_ref',['../slice_8h.html#ad28a2bcca348046cbe660a44180e75ca',1,'slice.h']]], + ['gpr_5fslice_5fsplit_5fhead',['gpr_slice_split_head',['../slice_8h.html#a842ea6b4a9ab4d0d3becd6fda03bbc24',1,'slice.h']]], + ['gpr_5fslice_5fsplit_5ftail',['gpr_slice_split_tail',['../slice_8h.html#a51315f2a9217a1d42711f48bfec9d39e',1,'slice.h']]], + ['gpr_5fslice_5fstr_5fcmp',['gpr_slice_str_cmp',['../slice_8h.html#aef752203db50c932010a74c6845872c2',1,'slice.h']]], + ['gpr_5fslice_5fsub',['gpr_slice_sub',['../slice_8h.html#ac9d4e6e264e22c6c6d3748f522da91eb',1,'slice.h']]], + ['gpr_5fslice_5fsub_5fno_5fref',['gpr_slice_sub_no_ref',['../slice_8h.html#accf08ddad530a5f1cca82c834dc70965',1,'slice.h']]], + ['gpr_5fslice_5funref',['gpr_slice_unref',['../slice_8h.html#a024429b0dd15e43a09e48e35ca8810d7',1,'slice.h']]], + ['gpr_5fsplit_5fhost_5fport',['gpr_split_host_port',['../host__port_8h.html#aacb0efdff2bb1b15d5e7edeb62ae4aea',1,'host_port.h']]], + ['gpr_5fstats_5finc',['gpr_stats_inc',['../sync_8h.html#a8e51ec3b46c7c03602e2279a802daa1c',1,'sync.h']]], + ['gpr_5fstats_5finit',['gpr_stats_init',['../sync_8h.html#a76b8e5de6e1baa4fd66c014417dc0a30',1,'sync.h']]], + ['gpr_5fstats_5fread',['gpr_stats_read',['../sync_8h.html#abb2c58da7d0b785887266b3b1890764d',1,'sync.h']]], + ['gpr_5fstrdup',['gpr_strdup',['../string__util_8h.html#a7a021bce444344f0a96cb022038eed93',1,'string_util.h']]], + ['gpr_5fsubprocess_5fbinary_5fextension',['gpr_subprocess_binary_extension',['../subprocess_8h.html#a6d393aed4f99f9ba49286715c5da8fd3',1,'subprocess.h']]], + ['gpr_5fsubprocess_5fcreate',['gpr_subprocess_create',['../subprocess_8h.html#a761755433d8809a68024b03176341242',1,'subprocess.h']]], + ['gpr_5fsubprocess_5fdestroy',['gpr_subprocess_destroy',['../subprocess_8h.html#a880657b78894ae66b9c5d7416ee7839b',1,'subprocess.h']]], + ['gpr_5fsubprocess_5finterrupt',['gpr_subprocess_interrupt',['../subprocess_8h.html#aee2ddbe0e8a58271a6a9a3cf451dd67d',1,'subprocess.h']]], + ['gpr_5fsubprocess_5fjoin',['gpr_subprocess_join',['../subprocess_8h.html#ac5c4e7eccc737f473dd73a1fb502f0d5',1,'subprocess.h']]], + ['gpr_5fthd_5fcurrentid',['gpr_thd_currentid',['../thd_8h.html#a8c875ae5410d10d658cfb7b917909624',1,'thd.h']]], + ['gpr_5fthd_5fjoin',['gpr_thd_join',['../thd_8h.html#a73509f851051b4d5f02ca1982d216776',1,'thd.h']]], + ['gpr_5fthd_5fnew',['gpr_thd_new',['../thd_8h.html#a9184cf0e025d8a9b098af6c08755b8ea',1,'thd.h']]], + ['gpr_5fthd_5foptions_5fdefault',['gpr_thd_options_default',['../thd_8h.html#abf8bb34ba7d26ddab0696e24b1fcc862',1,'thd.h']]], + ['gpr_5fthd_5foptions_5fis_5fdetached',['gpr_thd_options_is_detached',['../thd_8h.html#a1647c2e991d269cdaf146dc33f61ce89',1,'thd.h']]], + ['gpr_5fthd_5foptions_5fis_5fjoinable',['gpr_thd_options_is_joinable',['../thd_8h.html#afb8d6ad4dcc8ebcdb6a786e8f4ef442b',1,'thd.h']]], + ['gpr_5fthd_5foptions_5fset_5fdetached',['gpr_thd_options_set_detached',['../thd_8h.html#a704882e5c65d29c817fae9173085e5ba',1,'thd.h']]], + ['gpr_5fthd_5foptions_5fset_5fjoinable',['gpr_thd_options_set_joinable',['../thd_8h.html#a87ad3ff4d439450ae1318151c1526745',1,'thd.h']]], + ['gpr_5ftime_5f0',['gpr_time_0',['../time_8h.html#a4f552f0628cc389dfbe3674a1a978108',1,'time.h']]], + ['gpr_5ftime_5fadd',['gpr_time_add',['../time_8h.html#a6f2c6fbc9fef45d74670c446e2bad004',1,'time.h']]], + ['gpr_5ftime_5fcmp',['gpr_time_cmp',['../time_8h.html#aeb10778e9b7c1dd7e6c47099d55f0fa0',1,'time.h']]], + ['gpr_5ftime_5ffrom_5fhours',['gpr_time_from_hours',['../time_8h.html#af7a9aca2af5348cbb8dc835853dc2756',1,'time.h']]], + ['gpr_5ftime_5ffrom_5fmicros',['gpr_time_from_micros',['../time_8h.html#a79956c6fba5b660aeee24b09ae026d6c',1,'time.h']]], + ['gpr_5ftime_5ffrom_5fmillis',['gpr_time_from_millis',['../time_8h.html#a491cdb7a2d2da81c337ed4c8c6a24946',1,'time.h']]], + ['gpr_5ftime_5ffrom_5fminutes',['gpr_time_from_minutes',['../time_8h.html#ad2ae89810eabe8c224b15a4ae0991eba',1,'time.h']]], + ['gpr_5ftime_5ffrom_5fnanos',['gpr_time_from_nanos',['../time_8h.html#a16f57f7df5d09bfc38e8b8fcd323e50a',1,'time.h']]], + ['gpr_5ftime_5ffrom_5fseconds',['gpr_time_from_seconds',['../time_8h.html#a4bc0bd3df3e9537035fc2b8675f01916',1,'time.h']]], + ['gpr_5ftime_5finit',['gpr_time_init',['../time_8h.html#a2a3da26a2eb15fcd312f1b8ef00cad56',1,'time.h']]], + ['gpr_5ftime_5fmax',['gpr_time_max',['../time_8h.html#a4e1c94c1e488381e9f01d4318c2a45d8',1,'time.h']]], + ['gpr_5ftime_5fmin',['gpr_time_min',['../time_8h.html#af15f574932e56662f57bd3573e3cc469',1,'time.h']]], + ['gpr_5ftime_5fsimilar',['gpr_time_similar',['../time_8h.html#a914f666c6cfe709650d96c986600de15',1,'time.h']]], + ['gpr_5ftime_5fsub',['gpr_time_sub',['../time_8h.html#a1eaf8db9ee9e94bd4af005f1049f967a',1,'time.h']]], + ['gpr_5ftime_5fto_5fmillis',['gpr_time_to_millis',['../time_8h.html#aebea7c2faef2e16b802a5e9ae1f3b7df',1,'time.h']]], + ['gpr_5ftimespec_5fto_5fmicros',['gpr_timespec_to_micros',['../time_8h.html#a1704f2028070b3c92bd5420864458bac',1,'time.h']]], + ['gpr_5ftls_5fset',['gpr_tls_set',['../tls__pthread_8h.html#a02e97731a7a6668a2cb73a7e791e93ea',1,'tls_pthread.h']]], + ['gpr_5funref',['gpr_unref',['../sync_8h.html#a76b570c831b14070c37e708dde91b795',1,'sync.h']]], + ['grpc_5faccess_5ftoken_5fcredentials_5fcreate',['grpc_access_token_credentials_create',['../grpc__security_8h.html#a7ef8e179bb5d15c81dfd363924db0041',1,'grpc_security.h']]], + ['grpc_5fauth_5fcontext_5ffind_5fproperties_5fby_5fname',['grpc_auth_context_find_properties_by_name',['../grpc__security_8h.html#a5298ac64614986581fc314f63fa9afd7',1,'grpc_security.h']]], + ['grpc_5fauth_5fcontext_5fpeer_5fidentity',['grpc_auth_context_peer_identity',['../grpc__security_8h.html#a144c6f3a56c8592489b3978e0c5caced',1,'grpc_security.h']]], + ['grpc_5fauth_5fcontext_5fpeer_5fidentity_5fproperty_5fname',['grpc_auth_context_peer_identity_property_name',['../grpc__security_8h.html#ac05022ccd5b972ba089950437727ff23',1,'grpc_security.h']]], + ['grpc_5fauth_5fcontext_5fpeer_5fis_5fauthenticated',['grpc_auth_context_peer_is_authenticated',['../grpc__security_8h.html#af33fe6681dedb389edbf708020680093',1,'grpc_security.h']]], + ['grpc_5fauth_5fcontext_5fproperty_5fiterator',['grpc_auth_context_property_iterator',['../grpc__security_8h.html#aaad9fed074f7aebed63ed075bb6ff780',1,'grpc_security.h']]], + ['grpc_5fauth_5fcontext_5frelease',['grpc_auth_context_release',['../grpc__security_8h.html#a2eea99f76030b21ad58afdf615f4d2b9',1,'grpc_security.h']]], + ['grpc_5fauth_5fproperty_5fiterator_5fnext',['grpc_auth_property_iterator_next',['../grpc__security_8h.html#ac20e3890d5e5e0de6ae6b5cb57cae1ae',1,'grpc_security.h']]], + ['grpc_5fbyte_5fbuffer_5fcopy',['grpc_byte_buffer_copy',['../byte__buffer_8h.html#aac8a5605c5de93a78da7e8ca06a80efb',1,'byte_buffer.h']]], + ['grpc_5fbyte_5fbuffer_5fdestroy',['grpc_byte_buffer_destroy',['../byte__buffer_8h.html#a5a9ccea69a6ba41d34a6985837fd88f5',1,'byte_buffer.h']]], + ['grpc_5fbyte_5fbuffer_5flength',['grpc_byte_buffer_length',['../byte__buffer_8h.html#a61b6ac03d6a50664786e45d616ba435d',1,'byte_buffer.h']]], + ['grpc_5fbyte_5fbuffer_5freader_5fdestroy',['grpc_byte_buffer_reader_destroy',['../byte__buffer_8h.html#aed5f40a76941741b7672c14f15be0778',1,'byte_buffer.h']]], + ['grpc_5fbyte_5fbuffer_5freader_5finit',['grpc_byte_buffer_reader_init',['../byte__buffer_8h.html#a71016674849f4f57c1a4319d7964d268',1,'byte_buffer.h']]], + ['grpc_5fbyte_5fbuffer_5freader_5fnext',['grpc_byte_buffer_reader_next',['../byte__buffer_8h.html#aff713900a0177997a0be49a40781bcc9',1,'byte_buffer.h']]], + ['grpc_5fcall_5fauth_5fcontext',['grpc_call_auth_context',['../grpc__security_8h.html#a0b439e6d2875c8b5e2e901a959f6a2fe',1,'grpc_security.h']]], + ['grpc_5fcall_5fcancel',['grpc_call_cancel',['../grpc_8h.html#adce32a3168cfc0048423af94a3961878',1,'grpc.h']]], + ['grpc_5fcall_5fcancel_5fwith_5fstatus',['grpc_call_cancel_with_status',['../grpc_8h.html#a8332e3ac6611ae4012ed17707d7dbcf2',1,'grpc.h']]], + ['grpc_5fcall_5fdestroy',['grpc_call_destroy',['../grpc_8h.html#a3edbb9347e32fd0152c8ed4bbbaf5125',1,'grpc.h']]], + ['grpc_5fcall_5fdetails_5fdestroy',['grpc_call_details_destroy',['../grpc_8h.html#a436819189c9155a0761db7667f9078f9',1,'grpc.h']]], + ['grpc_5fcall_5fdetails_5finit',['grpc_call_details_init',['../grpc_8h.html#a29fa3bfb0a561ba465260154a4ef3bb5',1,'grpc.h']]], + ['grpc_5fcall_5fget_5fpeer',['grpc_call_get_peer',['../grpc_8h.html#adf4ac8b78da7b957ce05dc0f62719ada',1,'grpc.h']]], + ['grpc_5fcall_5fset_5fcredentials',['grpc_call_set_credentials',['../grpc__security_8h.html#a56de54ae2563e67e236c10e8fa419f60',1,'grpc_security.h']]], + ['grpc_5fcall_5fstart_5fbatch',['grpc_call_start_batch',['../grpc_8h.html#ae0e60993c9d6e5ceccaf2e61f690b101',1,'grpc.h']]], + ['grpc_5fcensus_5fcall_5fget_5fcontext',['grpc_census_call_get_context',['../grpc_8h.html#a0f2c6a97262a251d18b76ad470af0e66',1,'grpc.h']]], + ['grpc_5fcensus_5fcall_5fset_5fcontext',['grpc_census_call_set_context',['../grpc_8h.html#a9d5bbdac3a9068747ef3639c4e52af9a',1,'grpc.h']]], + ['grpc_5fchannel_5fcheck_5fconnectivity_5fstate',['grpc_channel_check_connectivity_state',['../grpc_8h.html#a9623d8e4df1d17eb26b67d905f1d7cb3',1,'grpc.h']]], + ['grpc_5fchannel_5fcreate_5fcall',['grpc_channel_create_call',['../grpc_8h.html#a368ca2e4f76495c3c4bfbb27eb88936e',1,'grpc.h']]], + ['grpc_5fchannel_5fcreate_5fregistered_5fcall',['grpc_channel_create_registered_call',['../grpc_8h.html#a38aa45cdbc3d9a9529bcb6ee8b2c68aa',1,'grpc.h']]], + ['grpc_5fchannel_5fdestroy',['grpc_channel_destroy',['../grpc_8h.html#a16e4b95581ad12e8e0af2af8d41b71b3',1,'grpc.h']]], + ['grpc_5fchannel_5fget_5ftarget',['grpc_channel_get_target',['../grpc_8h.html#a108ef86bc0e5ebcb05f744315e2a6499',1,'grpc.h']]], + ['grpc_5fchannel_5fregister_5fcall',['grpc_channel_register_call',['../grpc_8h.html#af00855f27d8b7c6b232982446371c04d',1,'grpc.h']]], + ['grpc_5fchannel_5fwatch_5fconnectivity_5fstate',['grpc_channel_watch_connectivity_state',['../grpc_8h.html#a29aa98ca6ce9f7e5116e43b0c414e96b',1,'grpc.h']]], + ['grpc_5fcompletion_5fqueue_5fcreate',['grpc_completion_queue_create',['../grpc_8h.html#a9f69c76c26125e6581491864a06ea44a',1,'grpc.h']]], + ['grpc_5fcompletion_5fqueue_5fdestroy',['grpc_completion_queue_destroy',['../grpc_8h.html#a629a77a358721f1a3bbb8fef34c3996e',1,'grpc.h']]], + ['grpc_5fcompletion_5fqueue_5fnext',['grpc_completion_queue_next',['../grpc_8h.html#a56a4ff1f046393205c3418c24f5d5587',1,'grpc.h']]], + ['grpc_5fcompletion_5fqueue_5fpluck',['grpc_completion_queue_pluck',['../grpc_8h.html#a21e38dd0146d244eb0e262fd1b6a50ee',1,'grpc.h']]], + ['grpc_5fcompletion_5fqueue_5fshutdown',['grpc_completion_queue_shutdown',['../grpc_8h.html#a4051b4036c5132f02064430f67420ecd',1,'grpc.h']]], + ['grpc_5fcomposite_5fcredentials_5fcreate',['grpc_composite_credentials_create',['../grpc__security_8h.html#a4f65f01fb23e963cc88bcdfbede70da7',1,'grpc_security.h']]], + ['grpc_5fcompression_5falgorithm_5ffor_5flevel',['grpc_compression_algorithm_for_level',['../compression_8h.html#a382cce802b53a6f85deb706caf1dccd6',1,'compression.h']]], + ['grpc_5fcompression_5falgorithm_5fname',['grpc_compression_algorithm_name',['../compression_8h.html#adce0341ab8fd560dc39e9e96daf7cb14',1,'compression.h']]], + ['grpc_5fcompression_5falgorithm_5fparse',['grpc_compression_algorithm_parse',['../compression_8h.html#a996f65ae42d05dd7ef9da9c6d6586397',1,'compression.h']]], + ['grpc_5fcompression_5flevel_5ffor_5falgorithm',['grpc_compression_level_for_algorithm',['../compression_8h.html#ace80040d9c2a916ddd4d2f2d2ec44dba',1,'compression.h']]], + ['grpc_5fcompute_5fengine_5fcredentials_5fcreate',['grpc_compute_engine_credentials_create',['../grpc__security_8h.html#a3beb3fe683139856e1a13c27d760eb95',1,'grpc_security.h']]], + ['grpc_5fcredentials_5frelease',['grpc_credentials_release',['../grpc__security_8h.html#a6c01e107d41e964458fdf701b8b81440',1,'grpc_security.h']]], + ['grpc_5fgoogle_5fdefault_5fcredentials_5fcreate',['grpc_google_default_credentials_create',['../grpc__security_8h.html#a5e3fb8f208c302245a1392c7ef16d170',1,'grpc_security.h']]], + ['grpc_5fiam_5fcredentials_5fcreate',['grpc_iam_credentials_create',['../grpc__security_8h.html#ae42c358e718847c988aa690cb0fccab3',1,'grpc_security.h']]], + ['grpc_5finit',['grpc_init',['../grpc_8h.html#aa78606c93951c49eadd8d83d739798d6',1,'grpc.h']]], + ['grpc_5finsecure_5fchannel_5fcreate',['grpc_insecure_channel_create',['../grpc_8h.html#aa710e7e68b23098900f924cf69797496',1,'grpc.h']]], + ['grpc_5flame_5fclient_5fchannel_5fcreate',['grpc_lame_client_channel_create',['../grpc_8h.html#acd59697f4b8bedea662939da3668ab9b',1,'grpc.h']]], + ['grpc_5fmetadata_5farray_5fdestroy',['grpc_metadata_array_destroy',['../grpc_8h.html#aad125726d8b689cc5fc1a0444c91ed44',1,'grpc.h']]], + ['grpc_5fmetadata_5farray_5finit',['grpc_metadata_array_init',['../grpc_8h.html#a52cfda44034115720a0e88037dedbfb5',1,'grpc.h']]], + ['grpc_5fraw_5fbyte_5fbuffer_5fcreate',['grpc_raw_byte_buffer_create',['../byte__buffer_8h.html#a1aaaa0d8a1609166e0b0bb2b42332618',1,'byte_buffer.h']]], + ['grpc_5fraw_5fbyte_5fbuffer_5ffrom_5freader',['grpc_raw_byte_buffer_from_reader',['../byte__buffer_8h.html#a9b4f877e32f45e0e704970e89582e0df',1,'byte_buffer.h']]], + ['grpc_5fraw_5fcompressed_5fbyte_5fbuffer_5fcreate',['grpc_raw_compressed_byte_buffer_create',['../byte__buffer_8h.html#af9801acc1dbfd02b2c51ed9d504cd12b',1,'byte_buffer.h']]], + ['grpc_5frefresh_5ftoken_5fcredentials_5fcreate',['grpc_refresh_token_credentials_create',['../grpc__security_8h.html#a7a2440ad02b6a96adbd2c6e5d66fd7d2',1,'grpc_security.h']]], + ['grpc_5fsecure_5fchannel_5fcreate',['grpc_secure_channel_create',['../grpc__security_8h.html#a4d63d4cac74652ec3fac7782acb4a2d4',1,'grpc_security.h']]], + ['grpc_5fserver_5fadd_5fhttp2_5fport',['grpc_server_add_http2_port',['../grpc_8h.html#a48cab64480658b97a775b2c7837456f9',1,'grpc.h']]], + ['grpc_5fserver_5fadd_5fsecure_5fhttp2_5fport',['grpc_server_add_secure_http2_port',['../grpc__security_8h.html#a5d0db200d00b62b79138472dc9b1fe59',1,'grpc_security.h']]], + ['grpc_5fserver_5fcancel_5fall_5fcalls',['grpc_server_cancel_all_calls',['../grpc_8h.html#ac5c1e4f3e270a7afbc39403fff0dc803',1,'grpc.h']]], + ['grpc_5fserver_5fcreate',['grpc_server_create',['../grpc_8h.html#a4036710ea12eccabbbbf050d6bad4cd4',1,'grpc.h']]], + ['grpc_5fserver_5fcredentials_5frelease',['grpc_server_credentials_release',['../grpc__security_8h.html#a6e9f9320f4f8d2d534d04ed642f032ea',1,'grpc_security.h']]], + ['grpc_5fserver_5fdestroy',['grpc_server_destroy',['../grpc_8h.html#a34cba45da7c32a21ac82305d670e4620',1,'grpc.h']]], + ['grpc_5fserver_5fregister_5fcompletion_5fqueue',['grpc_server_register_completion_queue',['../grpc_8h.html#ac174712f87fdae4b5757a1370e2a31cb',1,'grpc.h']]], + ['grpc_5fserver_5fregister_5fmethod',['grpc_server_register_method',['../grpc_8h.html#a283062a2209f464f234b0e645c6fffb2',1,'grpc.h']]], + ['grpc_5fserver_5frequest_5fcall',['grpc_server_request_call',['../grpc_8h.html#a636d8fd8c888ba0a0fefacf8dcab7257',1,'grpc.h']]], + ['grpc_5fserver_5frequest_5fregistered_5fcall',['grpc_server_request_registered_call',['../grpc_8h.html#a7207900db3bba2f1ae2e3f2dfc2822de',1,'grpc.h']]], + ['grpc_5fserver_5fshutdown_5fand_5fnotify',['grpc_server_shutdown_and_notify',['../grpc_8h.html#a56fffa23c1c4bab9a469e2ac607b6db7',1,'grpc.h']]], + ['grpc_5fserver_5fstart',['grpc_server_start',['../grpc_8h.html#ac5010d26419e14f5a9ab2fa86a4f7d1e',1,'grpc.h']]], + ['grpc_5fservice_5faccount_5fcredentials_5fcreate',['grpc_service_account_credentials_create',['../grpc__security_8h.html#a15aa83608fad085b6244de659d322b27',1,'grpc_security.h']]], + ['grpc_5fservice_5faccount_5fjwt_5faccess_5fcredentials_5fcreate',['grpc_service_account_jwt_access_credentials_create',['../grpc__security_8h.html#af26993774cc991debd61e4a84ed49187',1,'grpc_security.h']]], + ['grpc_5fshutdown',['grpc_shutdown',['../grpc_8h.html#af1130720e50ffedd0bb065c84843b032',1,'grpc.h']]], + ['grpc_5fssl_5fcredentials_5fcreate',['grpc_ssl_credentials_create',['../grpc__security_8h.html#a0d627ca897718091e4ceca5dce3ef10e',1,'grpc_security.h']]], + ['grpc_5fssl_5fserver_5fcredentials_5fcreate',['grpc_ssl_server_credentials_create',['../grpc__security_8h.html#a3382907a4689c034a6f55bab4d5135b9',1,'grpc_security.h']]], + ['grpc_5ftracer_5fset_5fenabled',['grpc_tracer_set_enabled',['../grpc_8h.html#ae6984d3f0c3b9bc9a47859fd4dddc350',1,'grpc.h']]], + ['grpc_5fversion_5fstring',['grpc_version_string',['../grpc_8h.html#a250ca547d790874bd7b5ceec25f18c51',1,'grpc.h']]] +]; diff --git a/doc/ref/core/html/search/mag_sel.png b/doc/ref/core/html/search/mag_sel.png new file mode 100644 index 0000000000..81f6040a20 Binary files /dev/null and b/doc/ref/core/html/search/mag_sel.png differ diff --git a/doc/ref/core/html/search/nomatches.html b/doc/ref/core/html/search/nomatches.html new file mode 100644 index 0000000000..b1ded27e9a --- /dev/null +++ b/doc/ref/core/html/search/nomatches.html @@ -0,0 +1,12 @@ + + + + + + + +
+
No Matches
+
+ + diff --git a/doc/ref/core/html/search/pages_0.html b/doc/ref/core/html/search/pages_0.html new file mode 100644 index 0000000000..c51c834506 --- /dev/null +++ b/doc/ref/core/html/search/pages_0.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core/html/search/pages_0.js b/doc/ref/core/html/search/pages_0.js new file mode 100644 index 0000000000..19dbe67128 --- /dev/null +++ b/doc/ref/core/html/search/pages_0.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['grpc_20core',['GRPC Core',['../index.html',1,'']]] +]; diff --git a/doc/ref/core/html/search/search.css b/doc/ref/core/html/search/search.css new file mode 100644 index 0000000000..4d7612ff63 --- /dev/null +++ b/doc/ref/core/html/search/search.css @@ -0,0 +1,271 @@ +/*---------------- Search Box */ + +#FSearchBox { + float: left; +} + +#MSearchBox { + white-space : nowrap; + position: absolute; + float: none; + display: inline; + margin-top: 8px; + right: 0px; + width: 170px; + z-index: 102; + background-color: white; +} + +#MSearchBox .left +{ + display:block; + position:absolute; + left:10px; + width:20px; + height:19px; + background:url('search_l.png') no-repeat; + background-position:right; +} + +#MSearchSelect { + display:block; + position:absolute; + width:20px; + height:19px; +} + +.left #MSearchSelect { + left:4px; +} + +.right #MSearchSelect { + right:5px; +} + +#MSearchField { + display:block; + position:absolute; + height:19px; + background:url('search_m.png') repeat-x; + border:none; + width:111px; + margin-left:20px; + padding-left:4px; + color: #909090; + outline: none; + font: 9pt Arial, Verdana, sans-serif; +} + +#FSearchBox #MSearchField { + margin-left:15px; +} + +#MSearchBox .right { + display:block; + position:absolute; + right:10px; + top:0px; + width:20px; + height:19px; + background:url('search_r.png') no-repeat; + background-position:left; +} + +#MSearchClose { + display: none; + position: absolute; + top: 4px; + background : none; + border: none; + margin: 0px 4px 0px 0px; + padding: 0px 0px; + outline: none; +} + +.left #MSearchClose { + left: 6px; +} + +.right #MSearchClose { + right: 2px; +} + +.MSearchBoxActive #MSearchField { + color: #000000; +} + +/*---------------- Search filter selection */ + +#MSearchSelectWindow { + display: none; + position: absolute; + left: 0; top: 0; + border: 1px solid #90A5CE; + background-color: #F9FAFC; + z-index: 1; + padding-top: 4px; + padding-bottom: 4px; + -moz-border-radius: 4px; + -webkit-border-top-left-radius: 4px; + -webkit-border-top-right-radius: 4px; + -webkit-border-bottom-left-radius: 4px; + -webkit-border-bottom-right-radius: 4px; + -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); +} + +.SelectItem { + font: 8pt Arial, Verdana, sans-serif; + padding-left: 2px; + padding-right: 12px; + border: 0px; +} + +span.SelectionMark { + margin-right: 4px; + font-family: monospace; + outline-style: none; + text-decoration: none; +} + +a.SelectItem { + display: block; + outline-style: none; + color: #000000; + text-decoration: none; + padding-left: 6px; + padding-right: 12px; +} + +a.SelectItem:focus, +a.SelectItem:active { + color: #000000; + outline-style: none; + text-decoration: none; +} + +a.SelectItem:hover { + color: #FFFFFF; + background-color: #3D578C; + outline-style: none; + text-decoration: none; + cursor: pointer; + display: block; +} + +/*---------------- Search results window */ + +iframe#MSearchResults { + width: 60ex; + height: 15em; +} + +#MSearchResultsWindow { + display: none; + position: absolute; + left: 0; top: 0; + border: 1px solid #000; + background-color: #EEF1F7; +} + +/* ----------------------------------- */ + + +#SRIndex { + clear:both; + padding-bottom: 15px; +} + +.SREntry { + font-size: 10pt; + padding-left: 1ex; +} + +.SRPage .SREntry { + font-size: 8pt; + padding: 1px 5px; +} + +body.SRPage { + margin: 5px 2px; +} + +.SRChildren { + padding-left: 3ex; padding-bottom: .5em +} + +.SRPage .SRChildren { + display: none; +} + +.SRSymbol { + font-weight: bold; + color: #425E97; + font-family: Arial, Verdana, sans-serif; + text-decoration: none; + outline: none; +} + +a.SRScope { + display: block; + color: #425E97; + font-family: Arial, Verdana, sans-serif; + text-decoration: none; + outline: none; +} + +a.SRSymbol:focus, a.SRSymbol:active, +a.SRScope:focus, a.SRScope:active { + text-decoration: underline; +} + +span.SRScope { + padding-left: 4px; +} + +.SRPage .SRStatus { + padding: 2px 5px; + font-size: 8pt; + font-style: italic; +} + +.SRResult { + display: none; +} + +DIV.searchresults { + margin-left: 10px; + margin-right: 10px; +} + +/*---------------- External search page results */ + +.searchresult { + background-color: #F0F3F8; +} + +.pages b { + color: white; + padding: 5px 5px 3px 5px; + background-image: url("../tab_a.png"); + background-repeat: repeat-x; + text-shadow: 0 1px 1px #000000; +} + +.pages { + line-height: 17px; + margin-left: 4px; + text-decoration: none; +} + +.hl { + font-weight: bold; +} + +#searchresults { + margin-bottom: 20px; +} + +.searchpages { + margin-top: 10px; +} + diff --git a/doc/ref/core/html/search/search.js b/doc/ref/core/html/search/search.js new file mode 100644 index 0000000000..e6fbcfe3f8 --- /dev/null +++ b/doc/ref/core/html/search/search.js @@ -0,0 +1,811 @@ +// Search script generated by doxygen +// Copyright (C) 2009 by Dimitri van Heesch. + +// The code in this file is loosly based on main.js, part of Natural Docs, +// which is Copyright (C) 2003-2008 Greg Valure +// Natural Docs is licensed under the GPL. + +var indexSectionsWithContent = +{ + 0: "abcdfghiklmnoprstuvw", + 1: "cg", + 2: "abcghlpstu", + 3: "cg", + 4: "abcdfghiklmnoprstuvw", + 5: "cg", + 6: "cg", + 7: "cg", + 8: "g", + 9: "g" +}; + +var indexSectionNames = +{ + 0: "all", + 1: "classes", + 2: "files", + 3: "functions", + 4: "variables", + 5: "typedefs", + 6: "enums", + 7: "enumvalues", + 8: "defines", + 9: "pages" +}; + +function convertToId(search) +{ + var result = ''; + for (i=0;i do a search + { + this.Search(); + } + } + + this.OnSearchSelectKey = function(evt) + { + var e = (evt) ? evt : window.event; // for IE + if (e.keyCode==40 && this.searchIndex0) // Up + { + this.searchIndex--; + this.OnSelectItem(this.searchIndex); + } + else if (e.keyCode==13 || e.keyCode==27) + { + this.OnSelectItem(this.searchIndex); + this.CloseSelectionWindow(); + this.DOMSearchField().focus(); + } + return false; + } + + // --------- Actions + + // Closes the results window. + this.CloseResultsWindow = function() + { + this.DOMPopupSearchResultsWindow().style.display = 'none'; + this.DOMSearchClose().style.display = 'none'; + this.Activate(false); + } + + this.CloseSelectionWindow = function() + { + this.DOMSearchSelectWindow().style.display = 'none'; + } + + // Performs a search. + this.Search = function() + { + this.keyTimeout = 0; + + // strip leading whitespace + var searchValue = this.DOMSearchField().value.replace(/^ +/, ""); + + var code = searchValue.toLowerCase().charCodeAt(0); + var idxChar = searchValue.substr(0, 1).toLowerCase(); + if ( 0xD800 <= code && code <= 0xDBFF && searchValue > 1) // surrogate pair + { + idxChar = searchValue.substr(0, 2); + } + + var resultsPage; + var resultsPageWithSearch; + var hasResultsPage; + + var idx = indexSectionsWithContent[this.searchIndex].indexOf(idxChar); + if (idx!=-1) + { + var hexCode=idx.toString(16); + resultsPage = this.resultsPath + '/' + indexSectionNames[this.searchIndex] + '_' + hexCode + '.html'; + resultsPageWithSearch = resultsPage+'?'+escape(searchValue); + hasResultsPage = true; + } + else // nothing available for this search term + { + resultsPage = this.resultsPath + '/nomatches.html'; + resultsPageWithSearch = resultsPage; + hasResultsPage = false; + } + + window.frames.MSearchResults.location = resultsPageWithSearch; + var domPopupSearchResultsWindow = this.DOMPopupSearchResultsWindow(); + + if (domPopupSearchResultsWindow.style.display!='block') + { + var domSearchBox = this.DOMSearchBox(); + this.DOMSearchClose().style.display = 'inline'; + if (this.insideFrame) + { + var domPopupSearchResults = this.DOMPopupSearchResults(); + domPopupSearchResultsWindow.style.position = 'relative'; + domPopupSearchResultsWindow.style.display = 'block'; + var width = document.body.clientWidth - 8; // the -8 is for IE :-( + domPopupSearchResultsWindow.style.width = width + 'px'; + domPopupSearchResults.style.width = width + 'px'; + } + else + { + var domPopupSearchResults = this.DOMPopupSearchResults(); + var left = getXPos(domSearchBox) + 150; // domSearchBox.offsetWidth; + var top = getYPos(domSearchBox) + 20; // domSearchBox.offsetHeight + 1; + domPopupSearchResultsWindow.style.display = 'block'; + left -= domPopupSearchResults.offsetWidth; + domPopupSearchResultsWindow.style.top = top + 'px'; + domPopupSearchResultsWindow.style.left = left + 'px'; + } + } + + this.lastSearchValue = searchValue; + this.lastResultsPage = resultsPage; + } + + // -------- Activation Functions + + // Activates or deactivates the search panel, resetting things to + // their default values if necessary. + this.Activate = function(isActive) + { + if (isActive || // open it + this.DOMPopupSearchResultsWindow().style.display == 'block' + ) + { + this.DOMSearchBox().className = 'MSearchBoxActive'; + + var searchField = this.DOMSearchField(); + + if (searchField.value == this.searchLabel) // clear "Search" term upon entry + { + searchField.value = ''; + this.searchActive = true; + } + } + else if (!isActive) // directly remove the panel + { + this.DOMSearchBox().className = 'MSearchBoxInactive'; + this.DOMSearchField().value = this.searchLabel; + this.searchActive = false; + this.lastSearchValue = '' + this.lastResultsPage = ''; + } + } +} + +// ----------------------------------------------------------------------- + +// The class that handles everything on the search results page. +function SearchResults(name) +{ + // The number of matches from the last run of . + this.lastMatchCount = 0; + this.lastKey = 0; + this.repeatOn = false; + + // Toggles the visibility of the passed element ID. + this.FindChildElement = function(id) + { + var parentElement = document.getElementById(id); + var element = parentElement.firstChild; + + while (element && element!=parentElement) + { + if (element.nodeName == 'DIV' && element.className == 'SRChildren') + { + return element; + } + + if (element.nodeName == 'DIV' && element.hasChildNodes()) + { + element = element.firstChild; + } + else if (element.nextSibling) + { + element = element.nextSibling; + } + else + { + do + { + element = element.parentNode; + } + while (element && element!=parentElement && !element.nextSibling); + + if (element && element!=parentElement) + { + element = element.nextSibling; + } + } + } + } + + this.Toggle = function(id) + { + var element = this.FindChildElement(id); + if (element) + { + if (element.style.display == 'block') + { + element.style.display = 'none'; + } + else + { + element.style.display = 'block'; + } + } + } + + // Searches for the passed string. If there is no parameter, + // it takes it from the URL query. + // + // Always returns true, since other documents may try to call it + // and that may or may not be possible. + this.Search = function(search) + { + if (!search) // get search word from URL + { + search = window.location.search; + search = search.substring(1); // Remove the leading '?' + search = unescape(search); + } + + search = search.replace(/^ +/, ""); // strip leading spaces + search = search.replace(/ +$/, ""); // strip trailing spaces + search = search.toLowerCase(); + search = convertToId(search); + + var resultRows = document.getElementsByTagName("div"); + var matches = 0; + + var i = 0; + while (i < resultRows.length) + { + var row = resultRows.item(i); + if (row.className == "SRResult") + { + var rowMatchName = row.id.toLowerCase(); + rowMatchName = rowMatchName.replace(/^sr\d*_/, ''); // strip 'sr123_' + + if (search.length<=rowMatchName.length && + rowMatchName.substr(0, search.length)==search) + { + row.style.display = 'block'; + matches++; + } + else + { + row.style.display = 'none'; + } + } + i++; + } + document.getElementById("Searching").style.display='none'; + if (matches == 0) // no results + { + document.getElementById("NoMatches").style.display='block'; + } + else // at least one result + { + document.getElementById("NoMatches").style.display='none'; + } + this.lastMatchCount = matches; + return true; + } + + // return the first item with index index or higher that is visible + this.NavNext = function(index) + { + var focusItem; + while (1) + { + var focusName = 'Item'+index; + focusItem = document.getElementById(focusName); + if (focusItem && focusItem.parentNode.parentNode.style.display=='block') + { + break; + } + else if (!focusItem) // last element + { + break; + } + focusItem=null; + index++; + } + return focusItem; + } + + this.NavPrev = function(index) + { + var focusItem; + while (1) + { + var focusName = 'Item'+index; + focusItem = document.getElementById(focusName); + if (focusItem && focusItem.parentNode.parentNode.style.display=='block') + { + break; + } + else if (!focusItem) // last element + { + break; + } + focusItem=null; + index--; + } + return focusItem; + } + + this.ProcessKeys = function(e) + { + if (e.type == "keydown") + { + this.repeatOn = false; + this.lastKey = e.keyCode; + } + else if (e.type == "keypress") + { + if (!this.repeatOn) + { + if (this.lastKey) this.repeatOn = true; + return false; // ignore first keypress after keydown + } + } + else if (e.type == "keyup") + { + this.lastKey = 0; + this.repeatOn = false; + } + return this.lastKey!=0; + } + + this.Nav = function(evt,itemIndex) + { + var e = (evt) ? evt : window.event; // for IE + if (e.keyCode==13) return true; + if (!this.ProcessKeys(e)) return false; + + if (this.lastKey==38) // Up + { + var newIndex = itemIndex-1; + var focusItem = this.NavPrev(newIndex); + if (focusItem) + { + var child = this.FindChildElement(focusItem.parentNode.parentNode.id); + if (child && child.style.display == 'block') // children visible + { + var n=0; + var tmpElem; + while (1) // search for last child + { + tmpElem = document.getElementById('Item'+newIndex+'_c'+n); + if (tmpElem) + { + focusItem = tmpElem; + } + else // found it! + { + break; + } + n++; + } + } + } + if (focusItem) + { + focusItem.focus(); + } + else // return focus to search field + { + parent.document.getElementById("MSearchField").focus(); + } + } + else if (this.lastKey==40) // Down + { + var newIndex = itemIndex+1; + var focusItem; + var item = document.getElementById('Item'+itemIndex); + var elem = this.FindChildElement(item.parentNode.parentNode.id); + if (elem && elem.style.display == 'block') // children visible + { + focusItem = document.getElementById('Item'+itemIndex+'_c0'); + } + if (!focusItem) focusItem = this.NavNext(newIndex); + if (focusItem) focusItem.focus(); + } + else if (this.lastKey==39) // Right + { + var item = document.getElementById('Item'+itemIndex); + var elem = this.FindChildElement(item.parentNode.parentNode.id); + if (elem) elem.style.display = 'block'; + } + else if (this.lastKey==37) // Left + { + var item = document.getElementById('Item'+itemIndex); + var elem = this.FindChildElement(item.parentNode.parentNode.id); + if (elem) elem.style.display = 'none'; + } + else if (this.lastKey==27) // Escape + { + parent.searchBox.CloseResultsWindow(); + parent.document.getElementById("MSearchField").focus(); + } + else if (this.lastKey==13) // Enter + { + return true; + } + return false; + } + + this.NavChild = function(evt,itemIndex,childIndex) + { + var e = (evt) ? evt : window.event; // for IE + if (e.keyCode==13) return true; + if (!this.ProcessKeys(e)) return false; + + if (this.lastKey==38) // Up + { + if (childIndex>0) + { + var newIndex = childIndex-1; + document.getElementById('Item'+itemIndex+'_c'+newIndex).focus(); + } + else // already at first child, jump to parent + { + document.getElementById('Item'+itemIndex).focus(); + } + } + else if (this.lastKey==40) // Down + { + var newIndex = childIndex+1; + var elem = document.getElementById('Item'+itemIndex+'_c'+newIndex); + if (!elem) // last child, jump to parent next parent + { + elem = this.NavNext(itemIndex+1); + } + if (elem) + { + elem.focus(); + } + } + else if (this.lastKey==27) // Escape + { + parent.searchBox.CloseResultsWindow(); + parent.document.getElementById("MSearchField").focus(); + } + else if (this.lastKey==13) // Enter + { + return true; + } + return false; + } +} + +function setKeyActions(elem,action) +{ + elem.setAttribute('onkeydown',action); + elem.setAttribute('onkeypress',action); + elem.setAttribute('onkeyup',action); +} + +function setClassAttr(elem,attr) +{ + elem.setAttribute('class',attr); + elem.setAttribute('className',attr); +} + +function createResults() +{ + var results = document.getElementById("SRResults"); + for (var e=0; e + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core/html/search/typedefs_0.js b/doc/ref/core/html/search/typedefs_0.js new file mode 100644 index 0000000000..41ce726151 --- /dev/null +++ b/doc/ref/core/html/search/typedefs_0.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['census_5fcontext',['census_context',['../census_8h.html#a27fc8788690179599713226f1f054736',1,'census.h']]] +]; diff --git a/doc/ref/core/html/search/typedefs_1.html b/doc/ref/core/html/search/typedefs_1.html new file mode 100644 index 0000000000..455fe2b2b9 --- /dev/null +++ b/doc/ref/core/html/search/typedefs_1.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core/html/search/typedefs_1.js b/doc/ref/core/html/search/typedefs_1.js new file mode 100644 index 0000000000..20293d92e6 --- /dev/null +++ b/doc/ref/core/html/search/typedefs_1.js @@ -0,0 +1,43 @@ +var searchData= +[ + ['gpr_5fatm',['gpr_atm',['../atm__gcc__atomic_8h.html#aa9e4b16c09888debe306f14e8090b1cc',1,'gpr_atm(): atm_gcc_atomic.h'],['../atm__gcc__sync_8h.html#aa9e4b16c09888debe306f14e8090b1cc',1,'gpr_atm(): atm_gcc_sync.h'],['../atm__win32_8h.html#aa9e4b16c09888debe306f14e8090b1cc',1,'gpr_atm(): atm_win32.h']]], + ['gpr_5fcmdline',['gpr_cmdline',['../cmdline_8h.html#aaad93cd9bfc32c54fc89f7c2f3b74eb6',1,'cmdline.h']]], + ['gpr_5fcv',['gpr_cv',['../sync__posix_8h.html#a1ad613e07180c0459cda9f3f6d881885',1,'gpr_cv(): sync_posix.h'],['../sync__win32_8h.html#a81241bed6e85e9b106a1311060a04d9d',1,'gpr_cv(): sync_win32.h']]], + ['gpr_5fhistogram',['gpr_histogram',['../histogram_8h.html#a7125b0cef0e61a441a17f887dbc073fc',1,'histogram.h']]], + ['gpr_5fint16',['gpr_int16',['../port__platform_8h.html#a6c41ac43b02ec37b1e07967a8706e709',1,'port_platform.h']]], + ['gpr_5fint32',['gpr_int32',['../port__platform_8h.html#a7c9027ffa98b5efe1767efe79903c6b7',1,'port_platform.h']]], + ['gpr_5fint64',['gpr_int64',['../port__platform_8h.html#a71edab4bc3421f129764e5cb342f7181',1,'port_platform.h']]], + ['gpr_5fintmax',['gpr_intmax',['../port__platform_8h.html#a3ecb17ae580dbde63199ac206a732139',1,'port_platform.h']]], + ['gpr_5fintptr',['gpr_intptr',['../port__platform_8h.html#a72d9d0d00bd576cfc8eab61aaea76db2',1,'port_platform.h']]], + ['gpr_5flog_5ffunc',['gpr_log_func',['../log_8h.html#a23f29195676c33c61ff08a7f0a3e69b0',1,'log.h']]], + ['gpr_5flog_5fseverity',['gpr_log_severity',['../log_8h.html#ad49303346a78cf4881129958214fde8d',1,'log.h']]], + ['gpr_5fmu',['gpr_mu',['../sync__posix_8h.html#aa66fb6a11304ef6759d76f84a34ee28f',1,'sync_posix.h']]], + ['gpr_5fonce',['gpr_once',['../sync__posix_8h.html#a28731dc17a4158343f58f453a4d5e37f',1,'gpr_once(): sync_posix.h'],['../sync__win32_8h.html#a6a752a459fe345c616c26b5a556ccc13',1,'gpr_once(): sync_win32.h']]], + ['gpr_5fslice',['gpr_slice',['../slice_8h.html#a91fe16db371db7c53d6e3adc90a6678c',1,'slice.h']]], + ['gpr_5fslice_5frefcount',['gpr_slice_refcount',['../slice_8h.html#af8841873e741f6cf38b2192147ea4f3e',1,'slice.h']]], + ['gpr_5fsubprocess',['gpr_subprocess',['../subprocess_8h.html#a1c3492c3aef738e6eef6b8cb1b435095',1,'subprocess.h']]], + ['gpr_5fthd_5fid',['gpr_thd_id',['../thd_8h.html#a04194350e2fb18edc439ab0a9d355a72',1,'thd.h']]], + ['gpr_5ftimespec',['gpr_timespec',['../time_8h.html#a7dd12c72fcf53ebecfdfc13632914c45',1,'time.h']]], + ['gpr_5fuint16',['gpr_uint16',['../port__platform_8h.html#abb7bceac4325643af77af51c7b6af371',1,'port_platform.h']]], + ['gpr_5fuint32',['gpr_uint32',['../port__platform_8h.html#aa6abd4df815a5498d1a04b5e691a74a9',1,'port_platform.h']]], + ['gpr_5fuint64',['gpr_uint64',['../port__platform_8h.html#a737bb95b7b58d90b4215602d36ed65b6',1,'port_platform.h']]], + ['gpr_5fuint8',['gpr_uint8',['../port__platform_8h.html#aeeb41e29e7c7a916a4e0fb6cfb9f92e0',1,'port_platform.h']]], + ['gpr_5fuintmax',['gpr_uintmax',['../port__platform_8h.html#abee5d576e1d284a7c8135df7d89af0f7',1,'port_platform.h']]], + ['gpr_5fuintptr',['gpr_uintptr',['../port__platform_8h.html#ab302f9bfe3be467072bd8c79847636d4',1,'port_platform.h']]], + ['grpc_5fauth_5fcontext',['grpc_auth_context',['../grpc__security_8h.html#aa13f0724cb7ff99995d7f0881c01d553',1,'grpc_security.h']]], + ['grpc_5fauth_5fproperty',['grpc_auth_property',['../grpc__security_8h.html#a010fe7d27deaa2ea50b765b48dbad429',1,'grpc_security.h']]], + ['grpc_5fauth_5fproperty_5fiterator',['grpc_auth_property_iterator',['../grpc__security_8h.html#a26981fdcb987d885b25d34c7dc66e4cf',1,'grpc_security.h']]], + ['grpc_5fbyte_5fbuffer',['grpc_byte_buffer',['../byte__buffer_8h.html#a670951ae03b0a2dc4e50f4e25160fc2e',1,'byte_buffer.h']]], + ['grpc_5fbyte_5fbuffer_5freader',['grpc_byte_buffer_reader',['../byte__buffer_8h.html#a16143f22ea46cc7fa6b53e6cb30715f1',1,'byte_buffer.h']]], + ['grpc_5fcall',['grpc_call',['../grpc_8h.html#a122f8f4f0a585396d993d9b55848f222',1,'grpc.h']]], + ['grpc_5fcall_5ferror',['grpc_call_error',['../grpc_8h.html#abb51216cb5ac1cfd8ca4d096e060adbb',1,'grpc.h']]], + ['grpc_5fchannel',['grpc_channel',['../grpc_8h.html#a432bfa6b9f6603643cdf9de8804c254e',1,'grpc.h']]], + ['grpc_5fcompletion_5fqueue',['grpc_completion_queue',['../grpc_8h.html#a895faab0e6035445750e43482651ba2f',1,'grpc.h']]], + ['grpc_5fcompletion_5ftype',['grpc_completion_type',['../grpc_8h.html#a70454b2958c92c1cd8feeaa45f157b74',1,'grpc.h']]], + ['grpc_5fcredentials',['grpc_credentials',['../grpc__security_8h.html#a17768c857575e4500cdd12bb94d3f33e',1,'grpc_security.h']]], + ['grpc_5fevent',['grpc_event',['../grpc_8h.html#a07990645ca218f6965fd83edf3f421b7',1,'grpc.h']]], + ['grpc_5fmetadata',['grpc_metadata',['../grpc_8h.html#a1da84eaead787d991c5a0c87aed7c30b',1,'grpc.h']]], + ['grpc_5fop',['grpc_op',['../grpc_8h.html#a6556a58ca45ad5132b89c770cf875215',1,'grpc.h']]], + ['grpc_5fserver',['grpc_server',['../grpc_8h.html#a2bbbaad8f7a806f6c834b68c5dd916d8',1,'grpc.h']]], + ['grpc_5fserver_5fcredentials',['grpc_server_credentials',['../grpc__security_8h.html#aa724192e56fdc03827846f16752deccc',1,'grpc_security.h']]] +]; diff --git a/doc/ref/core/html/search/variables_0.html b/doc/ref/core/html/search/variables_0.html new file mode 100644 index 0000000000..1b8adc9b33 --- /dev/null +++ b/doc/ref/core/html/search/variables_0.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core/html/search/variables_0.js b/doc/ref/core/html/search/variables_0.js new file mode 100644 index 0000000000..0f1d7330bd --- /dev/null +++ b/doc/ref/core/html/search/variables_0.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['args',['args',['../structgrpc__channel__args.html#a05aa7aeb14aa9ae5f4d6a34f5c222b76',1,'grpc_channel_args']]] +]; diff --git a/doc/ref/core/html/search/variables_1.html b/doc/ref/core/html/search/variables_1.html new file mode 100644 index 0000000000..78f63cd1eb --- /dev/null +++ b/doc/ref/core/html/search/variables_1.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core/html/search/variables_1.js b/doc/ref/core/html/search/variables_1.js new file mode 100644 index 0000000000..09de1817bf --- /dev/null +++ b/doc/ref/core/html/search/variables_1.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['buffer_5fin',['buffer_in',['../structgrpc__byte__buffer__reader.html#a8856d955b045dab1a425fac372e0be22',1,'grpc_byte_buffer_reader']]], + ['buffer_5fout',['buffer_out',['../structgrpc__byte__buffer__reader.html#aa947e8d51e0b4333e2b68f0ac55f4e47',1,'grpc_byte_buffer_reader']]], + ['bytes',['bytes',['../structgpr__slice.html#a16646e1a137851f2b031cf2c431b2864',1,'gpr_slice::bytes()'],['../structgpr__slice.html#a39592633c4ad594a15b3a52aadff398d',1,'gpr_slice::bytes()']]] +]; diff --git a/doc/ref/core/html/search/variables_10.html b/doc/ref/core/html/search/variables_10.html new file mode 100644 index 0000000000..c43ead3a78 --- /dev/null +++ b/doc/ref/core/html/search/variables_10.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core/html/search/variables_10.js b/doc/ref/core/html/search/variables_10.js new file mode 100644 index 0000000000..b0ccca6f91 --- /dev/null +++ b/doc/ref/core/html/search/variables_10.js @@ -0,0 +1,9 @@ +var searchData= +[ + ['tag',['tag',['../structgrpc__event.html#a883ab15e862db582116c72cdcdc4c201',1,'grpc_event']]], + ['trailing_5fmetadata',['trailing_metadata',['../structgrpc__op.html#a521b48faec3b3f7646a877055f118d47',1,'grpc_op::trailing_metadata()'],['../structgrpc__op.html#abb4d84434a0b74283c8b5d8d6501baf1',1,'grpc_op::trailing_metadata()']]], + ['trailing_5fmetadata_5fcount',['trailing_metadata_count',['../structgrpc__op.html#a4b9454278c105e08d54142adff37b5ab',1,'grpc_op']]], + ['tv_5fnsec',['tv_nsec',['../structgpr__timespec.html#ac326c2133cd003cb206715cf5f500268',1,'gpr_timespec']]], + ['tv_5fsec',['tv_sec',['../structgpr__timespec.html#af9294cf0049fd33c76ad2da925d9051e',1,'gpr_timespec']]], + ['type',['type',['../structgrpc__byte__buffer.html#aa7357d67e401d5bc9d10d8fed008dec8',1,'grpc_byte_buffer::type()'],['../structgrpc__arg.html#aa26f2d3c4b1649c9eb061d24a8c10fd4',1,'grpc_arg::type()'],['../structgrpc__event.html#a8e7f571b759f55db4f6bebc2a4f56ad7',1,'grpc_event::type()']]] +]; diff --git a/doc/ref/core/html/search/variables_11.html b/doc/ref/core/html/search/variables_11.html new file mode 100644 index 0000000000..d9dbba9077 --- /dev/null +++ b/doc/ref/core/html/search/variables_11.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core/html/search/variables_11.js b/doc/ref/core/html/search/variables_11.js new file mode 100644 index 0000000000..f9ce0c2bdd --- /dev/null +++ b/doc/ref/core/html/search/variables_11.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['unref',['unref',['../structgpr__slice__refcount.html#ae31a3f84f0032dd388418eee26aa9c00',1,'gpr_slice_refcount']]] +]; diff --git a/doc/ref/core/html/search/variables_12.html b/doc/ref/core/html/search/variables_12.html new file mode 100644 index 0000000000..faca26f37a --- /dev/null +++ b/doc/ref/core/html/search/variables_12.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core/html/search/variables_12.js b/doc/ref/core/html/search/variables_12.js new file mode 100644 index 0000000000..be3c4d4bff --- /dev/null +++ b/doc/ref/core/html/search/variables_12.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['value',['value',['../structgrpc__auth__property.html#af44f45ac4673a0298d00354c47d0907e',1,'grpc_auth_property::value()'],['../structgrpc__arg.html#ad2be4ee606c82fc084af1661d30f6f7f',1,'grpc_arg::value()'],['../structgrpc__metadata.html#a57b63d7b7a3e4720a0cc0d20bb2ecf36',1,'grpc_metadata::value()'],['../structcensus__stat.html#a3daa951eaf025870b0ab4b63343fe179',1,'census_stat::value()'],['../structgpr__stats__counter.html#ab9338ff7b5fd9f0c0830a8a788aab04a',1,'gpr_stats_counter::value()'],['../structgpr__gcc__thread__local.html#a057ec2885013c01ce37fffc6d9afece1',1,'gpr_gcc_thread_local::value()'],['../structgpr__msvc__thread__local.html#a0187c953da78c5a0620d75aaaaaa5798',1,'gpr_msvc_thread_local::value()']]], + ['value_5flength',['value_length',['../structgrpc__auth__property.html#a07359a178c29240cab42a89ef047b101',1,'grpc_auth_property::value_length()'],['../structgrpc__metadata.html#a2084add9ffe64cf337576114d189af3f',1,'grpc_metadata::value_length()']]] +]; diff --git a/doc/ref/core/html/search/variables_13.html b/doc/ref/core/html/search/variables_13.html new file mode 100644 index 0000000000..3e6377437e --- /dev/null +++ b/doc/ref/core/html/search/variables_13.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core/html/search/variables_13.js b/doc/ref/core/html/search/variables_13.js new file mode 100644 index 0000000000..35d8747177 --- /dev/null +++ b/doc/ref/core/html/search/variables_13.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['waiters',['waiters',['../structgpr__cancellable.html#a99dfebf899cae60307fb8b83e8cfdb43',1,'gpr_cancellable']]] +]; diff --git a/doc/ref/core/html/search/variables_2.html b/doc/ref/core/html/search/variables_2.html new file mode 100644 index 0000000000..ea80d20140 --- /dev/null +++ b/doc/ref/core/html/search/variables_2.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core/html/search/variables_2.js b/doc/ref/core/html/search/variables_2.js new file mode 100644 index 0000000000..5e15bb8c02 --- /dev/null +++ b/doc/ref/core/html/search/variables_2.js @@ -0,0 +1,14 @@ +var searchData= +[ + ['cancelled',['cancelled',['../structgrpc__op.html#ae5a9717d4a69c46f343381596e223874',1,'grpc_op::cancelled()'],['../structgpr__cancellable.html#a1729b5836bf4181d092f3636368d17b2',1,'gpr_cancellable::cancelled()']]], + ['capacity',['capacity',['../structgrpc__metadata__array.html#a5b293b4f8e734b032b80741abf538a97',1,'grpc_metadata_array::capacity()'],['../structgpr__slice__buffer.html#a48b6efc57238e7abd0bcbb579219456e',1,'gpr_slice_buffer::capacity()']]], + ['cert_5fchain',['cert_chain',['../structgrpc__ssl__pem__key__cert__pair.html#a483c3601705853f48dfbc8ee66d5e656',1,'grpc_ssl_pem_key_cert_pair']]], + ['clock_5ftype',['clock_type',['../structgpr__timespec.html#a6dd26976820fa71a7c5a710d4c1845ff',1,'gpr_timespec']]], + ['compression',['compression',['../structgrpc__byte__buffer.html#a3663648016e1076b82c5e731dc5b2399',1,'grpc_byte_buffer']]], + ['copy',['copy',['../structgrpc__arg.html#abef4f8be0109b19fcbe7f614f1243303',1,'grpc_arg']]], + ['count',['count',['../structgrpc__metadata__array.html#a314ce51b22a5934cc672f3736d44b9e4',1,'grpc_metadata_array::count()'],['../structgrpc__op.html#ac5983d0a5d60c26ca2d1b37d31ba2e2a',1,'grpc_op::count()'],['../structgpr__slice__buffer.html#a3adc77c3ef399ae0aa1ce1377e0e9fff',1,'gpr_slice_buffer::count()'],['../structgpr__refcount.html#ae1e2d58344b59ff6c0db0dc4f2953470',1,'gpr_refcount::count()']]], + ['cs',['cs',['../structgpr__mu.html#abab5a72a693be27488fb7a9b2cb23e5c',1,'gpr_mu']]], + ['ctx',['ctx',['../structgrpc__auth__property__iterator.html#a971904d29fa6f6ca6a853d078cae2f58',1,'grpc_auth_property_iterator']]], + ['current',['current',['../structgrpc__byte__buffer__reader.html#aaa53ee469c319cbdd72d44548d1f981f',1,'grpc_byte_buffer_reader']]], + ['cv',['cv',['../structgpr__cancellable__list__.html#ae47b7ccae73001ae1539dfe3bcc8a459',1,'gpr_cancellable_list_']]] +]; diff --git a/doc/ref/core/html/search/variables_3.html b/doc/ref/core/html/search/variables_3.html new file mode 100644 index 0000000000..0dca26f47b --- /dev/null +++ b/doc/ref/core/html/search/variables_3.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core/html/search/variables_3.js b/doc/ref/core/html/search/variables_3.js new file mode 100644 index 0000000000..aaa6cde625 --- /dev/null +++ b/doc/ref/core/html/search/variables_3.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['data',['data',['../structgrpc__byte__buffer.html#a9bee8905a97b4972f9ec1d18e5fe513f',1,'grpc_byte_buffer::data()'],['../structgrpc__op.html#a39a29ba59e6482692adfcdef46ec66ad',1,'grpc_op::data()'],['../structgpr__slice.html#ad2cc3f68d4be2fc4d359722060ba4b29',1,'gpr_slice::data()']]], + ['deadline',['deadline',['../structgrpc__call__details.html#a6b72caadcf800d975987de18012f0f15',1,'grpc_call_details']]], + ['destroy',['destroy',['../structgrpc__arg.html#a15c9a748974a6ac525074f3ed1e04eb4',1,'grpc_arg']]] +]; diff --git a/doc/ref/core/html/search/variables_4.html b/doc/ref/core/html/search/variables_4.html new file mode 100644 index 0000000000..400e8e9b41 --- /dev/null +++ b/doc/ref/core/html/search/variables_4.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core/html/search/variables_4.js b/doc/ref/core/html/search/variables_4.js new file mode 100644 index 0000000000..550267a561 --- /dev/null +++ b/doc/ref/core/html/search/variables_4.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['file',['file',['../structgpr__log__func__args.html#a7961b2303b10d4f66d1aee6b5857ef89',1,'gpr_log_func_args']]], + ['flags',['flags',['../structgrpc__op.html#a9e6087665c90f146e5570f12c66d04fb',1,'grpc_op::flags()'],['../structgpr__thd__options.html#aaa966777aca6604109eb4cd6cae7984c',1,'gpr_thd_options::flags()']]] +]; diff --git a/doc/ref/core/html/search/variables_5.html b/doc/ref/core/html/search/variables_5.html new file mode 100644 index 0000000000..7f1241f94b --- /dev/null +++ b/doc/ref/core/html/search/variables_5.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core/html/search/variables_5.js b/doc/ref/core/html/search/variables_5.js new file mode 100644 index 0000000000..e62080d8ed --- /dev/null +++ b/doc/ref/core/html/search/variables_5.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['grpc_5fmax_5fauth_5ftoken_5flifetime',['grpc_max_auth_token_lifetime',['../grpc__security_8h.html#a6112c5b60b1c0197531f80fdc56f7772',1,'grpc_security.h']]] +]; diff --git a/doc/ref/core/html/search/variables_6.html b/doc/ref/core/html/search/variables_6.html new file mode 100644 index 0000000000..7536df8d5a --- /dev/null +++ b/doc/ref/core/html/search/variables_6.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core/html/search/variables_6.js b/doc/ref/core/html/search/variables_6.js new file mode 100644 index 0000000000..d914eb710f --- /dev/null +++ b/doc/ref/core/html/search/variables_6.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['host',['host',['../structgrpc__call__details.html#a869b5db96e2e0fbd573381e77b859631',1,'grpc_call_details']]], + ['host_5fcapacity',['host_capacity',['../structgrpc__call__details.html#aeab0d9e754bbb1aac1a21ad4ef63d8b1',1,'grpc_call_details']]] +]; diff --git a/doc/ref/core/html/search/variables_7.html b/doc/ref/core/html/search/variables_7.html new file mode 100644 index 0000000000..66186a6994 --- /dev/null +++ b/doc/ref/core/html/search/variables_7.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core/html/search/variables_7.js b/doc/ref/core/html/search/variables_7.js new file mode 100644 index 0000000000..05ec79816f --- /dev/null +++ b/doc/ref/core/html/search/variables_7.js @@ -0,0 +1,8 @@ +var searchData= +[ + ['id',['id',['../structcensus__stat.html#a1151cb5a250db9b70ba8fc13453abcf3',1,'census_stat']]], + ['index',['index',['../structgrpc__auth__property__iterator.html#ac2b2a0501f097562a6d8856e3da5e7e6',1,'grpc_auth_property_iterator::index()'],['../structgrpc__byte__buffer__reader.html#a948b75a404899c348fc6a52e1a6e63cb',1,'grpc_byte_buffer_reader::index()']]], + ['inlined',['inlined',['../structgpr__slice.html#acb2a3c15512987fda16bb9e243e432f6',1,'gpr_slice::inlined()'],['../structgpr__slice__buffer.html#adb678a23dc27e50c478bc48d365420e2',1,'gpr_slice_buffer::inlined()']]], + ['integer',['integer',['../structgrpc__arg.html#a6871bfca9c52e7f56abbd71c81d97554',1,'grpc_arg']]], + ['internal_5fdata',['internal_data',['../structgrpc__metadata.html#a342799d4f78fcc6dd29ee44f56a6d553',1,'grpc_metadata']]] +]; diff --git a/doc/ref/core/html/search/variables_8.html b/doc/ref/core/html/search/variables_8.html new file mode 100644 index 0000000000..aa13bf24a5 --- /dev/null +++ b/doc/ref/core/html/search/variables_8.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core/html/search/variables_8.js b/doc/ref/core/html/search/variables_8.js new file mode 100644 index 0000000000..9fd171a6c2 --- /dev/null +++ b/doc/ref/core/html/search/variables_8.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['key',['key',['../structgrpc__arg.html#aeb230fbd50daacfe654abc3500a44968',1,'grpc_arg::key()'],['../structgrpc__metadata.html#abe93a3d24cd534d9387e05ad1f0b36f7',1,'grpc_metadata::key()'],['../structgpr__pthread__thread__local.html#a006cbb5f30eb7c7c53a99a19f242fece',1,'gpr_pthread_thread_local::key()']]] +]; diff --git a/doc/ref/core/html/search/variables_9.html b/doc/ref/core/html/search/variables_9.html new file mode 100644 index 0000000000..78cc249f7d --- /dev/null +++ b/doc/ref/core/html/search/variables_9.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core/html/search/variables_9.js b/doc/ref/core/html/search/variables_9.js new file mode 100644 index 0000000000..ff74586efb --- /dev/null +++ b/doc/ref/core/html/search/variables_9.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['length',['length',['../structgpr__slice.html#a8867b2d660a87061534be9c8098d4fa5',1,'gpr_slice::length()'],['../structgpr__slice.html#acd3242f89b2999d12788e65337662cf3',1,'gpr_slice::length()'],['../structgpr__slice__buffer.html#a2150637602d9080cdb111d09c1d669c3',1,'gpr_slice_buffer::length()']]], + ['line',['line',['../structgpr__log__func__args.html#ae1a051bbc7e0ef6c58de0db3efda24bb',1,'gpr_log_func_args']]], + ['locked',['locked',['../structgpr__mu.html#ac16a7b74cd7175a34b776215fd357342',1,'gpr_mu']]] +]; diff --git a/doc/ref/core/html/search/variables_a.html b/doc/ref/core/html/search/variables_a.html new file mode 100644 index 0000000000..592abaa33c --- /dev/null +++ b/doc/ref/core/html/search/variables_a.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core/html/search/variables_a.js b/doc/ref/core/html/search/variables_a.js new file mode 100644 index 0000000000..837b590a7f --- /dev/null +++ b/doc/ref/core/html/search/variables_a.js @@ -0,0 +1,8 @@ +var searchData= +[ + ['message',['message',['../structgpr__log__func__args.html#ad9ce882bef15e3127620a8ef47f2b74b',1,'gpr_log_func_args']]], + ['metadata',['metadata',['../structgrpc__metadata__array.html#ac930a0cc901913fafcd09ca9cca156fe',1,'grpc_metadata_array::metadata()'],['../structgrpc__op.html#a2e0f0c709658960593d5a36915c8d079',1,'grpc_op::metadata()']]], + ['method',['method',['../structgrpc__call__details.html#a97c8019d8fa7cbe2014d97c91f9ed0a5',1,'grpc_call_details']]], + ['method_5fcapacity',['method_capacity',['../structgrpc__call__details.html#a8a7da868f60a88f42918cc9bdd4d26c0',1,'grpc_call_details']]], + ['mu',['mu',['../structgpr__cancellable__list__.html#abf62ecf7376ec1e9f708e2671e494282',1,'gpr_cancellable_list_::mu()'],['../structgpr__cancellable.html#a423e728b92c8890d63490cf4b1fdc30f',1,'gpr_cancellable::mu()']]] +]; diff --git a/doc/ref/core/html/search/variables_b.html b/doc/ref/core/html/search/variables_b.html new file mode 100644 index 0000000000..78052a1e03 --- /dev/null +++ b/doc/ref/core/html/search/variables_b.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core/html/search/variables_b.js b/doc/ref/core/html/search/variables_b.js new file mode 100644 index 0000000000..c0e807fe98 --- /dev/null +++ b/doc/ref/core/html/search/variables_b.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['name',['name',['../structgrpc__auth__property__iterator.html#a3838efa5eb622c7e2c071497132b1cc7',1,'grpc_auth_property_iterator::name()'],['../structgrpc__auth__property.html#a83fb830ffe7321265dc9b628e9246a27',1,'grpc_auth_property::name()']]], + ['next',['next',['../structgpr__cancellable__list__.html#a425195e5ab594a2cfdcc976e5167242a',1,'gpr_cancellable_list_']]], + ['num_5fargs',['num_args',['../structgrpc__channel__args.html#a41e5d0b22449f062b3a7798dd528afde',1,'grpc_channel_args']]] +]; diff --git a/doc/ref/core/html/search/variables_c.html b/doc/ref/core/html/search/variables_c.html new file mode 100644 index 0000000000..b2260e465b --- /dev/null +++ b/doc/ref/core/html/search/variables_c.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core/html/search/variables_c.js b/doc/ref/core/html/search/variables_c.js new file mode 100644 index 0000000000..91242819c9 --- /dev/null +++ b/doc/ref/core/html/search/variables_c.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['obfuscated',['obfuscated',['../structgrpc__metadata.html#ae7478a66f65862018cd89768a578ff4f',1,'grpc_metadata']]], + ['op',['op',['../structgrpc__op.html#a702bcecc2462646b6740ed7c05f42115',1,'grpc_op']]] +]; diff --git a/doc/ref/core/html/search/variables_d.html b/doc/ref/core/html/search/variables_d.html new file mode 100644 index 0000000000..f47799968f --- /dev/null +++ b/doc/ref/core/html/search/variables_d.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core/html/search/variables_d.js b/doc/ref/core/html/search/variables_d.js new file mode 100644 index 0000000000..d299ab6e6e --- /dev/null +++ b/doc/ref/core/html/search/variables_d.js @@ -0,0 +1,7 @@ +var searchData= +[ + ['p',['p',['../structgrpc__arg.html#aab5d11432a11b03a53e5d959d9a5328d',1,'grpc_arg']]], + ['pointer',['pointer',['../structgrpc__arg.html#a85b5bbfbdec09ae46cff15628096137a',1,'grpc_arg']]], + ['prev',['prev',['../structgpr__cancellable__list__.html#a58fba7e59ac49bbb9468c2669e21b8b4',1,'gpr_cancellable_list_']]], + ['private_5fkey',['private_key',['../structgrpc__ssl__pem__key__cert__pair.html#a2d4e3bdbc59d906bc9ca8b873120fd72',1,'grpc_ssl_pem_key_cert_pair']]] +]; diff --git a/doc/ref/core/html/search/variables_e.html b/doc/ref/core/html/search/variables_e.html new file mode 100644 index 0000000000..1165006622 --- /dev/null +++ b/doc/ref/core/html/search/variables_e.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core/html/search/variables_e.js b/doc/ref/core/html/search/variables_e.js new file mode 100644 index 0000000000..c7bfe49256 --- /dev/null +++ b/doc/ref/core/html/search/variables_e.js @@ -0,0 +1,11 @@ +var searchData= +[ + ['raw',['raw',['../structgrpc__byte__buffer.html#ae8231d6e62b3d7f4cfbc6a564c84bae6',1,'grpc_byte_buffer']]], + ['recv_5fclose_5fon_5fserver',['recv_close_on_server',['../structgrpc__op.html#af327bcd87b609572c39ca6bfe8dbd9f1',1,'grpc_op']]], + ['recv_5finitial_5fmetadata',['recv_initial_metadata',['../structgrpc__op.html#a81ebfcab8db61dd485b88cafc51f2749',1,'grpc_op']]], + ['recv_5fmessage',['recv_message',['../structgrpc__op.html#afca6c4cc5b0c2629bb559d2037907ac1',1,'grpc_op']]], + ['recv_5fstatus_5fon_5fclient',['recv_status_on_client',['../structgrpc__op.html#a42f88554cd082ce8c66560ea24d8a8e3',1,'grpc_op']]], + ['ref',['ref',['../structgpr__slice__refcount.html#abf3fba35fdc6a4cd2d47e5ca19107ed7',1,'gpr_slice_refcount']]], + ['refcount',['refcount',['../structgpr__slice.html#a04d0bcc8331409fa3b3af29ee0b86a24',1,'gpr_slice']]], + ['refcounted',['refcounted',['../structgpr__slice.html#a444e942bd541117b82ca32a6d2b79d67',1,'gpr_slice']]] +]; diff --git a/doc/ref/core/html/search/variables_f.html b/doc/ref/core/html/search/variables_f.html new file mode 100644 index 0000000000..537dd7c28e --- /dev/null +++ b/doc/ref/core/html/search/variables_f.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/doc/ref/core/html/search/variables_f.js b/doc/ref/core/html/search/variables_f.js new file mode 100644 index 0000000000..6a136d74cf --- /dev/null +++ b/doc/ref/core/html/search/variables_f.js @@ -0,0 +1,15 @@ +var searchData= +[ + ['send_5finitial_5fmetadata',['send_initial_metadata',['../structgrpc__op.html#a8e6202e19130ecb872de211a95dcee83',1,'grpc_op']]], + ['send_5fmessage',['send_message',['../structgrpc__op.html#a3b6c1b3456306a802f6eb0e3e8d0e434',1,'grpc_op']]], + ['send_5fstatus_5ffrom_5fserver',['send_status_from_server',['../structgrpc__op.html#afe7b3ae8f4c495a187f155a5fd6956bb',1,'grpc_op']]], + ['severity',['severity',['../structgpr__log__func__args.html#af0b4b9d8beace1cae0d1a24783d70ccc',1,'gpr_log_func_args']]], + ['slice_5fbuffer',['slice_buffer',['../structgrpc__byte__buffer.html#ae93126777b4832bc327b7e10104f0eae',1,'grpc_byte_buffer']]], + ['slices',['slices',['../structgpr__slice__buffer.html#a07c0e3196f5e197af878ee94fd5df3ba',1,'gpr_slice_buffer']]], + ['state',['state',['../structgpr__event.html#a9eb43867719fcdf48f33df11cd138be9',1,'gpr_event']]], + ['status',['status',['../structgrpc__op.html#ae0d5a9db463391c0897914ef2d016b25',1,'grpc_op::status()'],['../structgrpc__op.html#a70d62415f6768533c2190e53f1c5baf4',1,'grpc_op::status()']]], + ['status_5fdetails',['status_details',['../structgrpc__op.html#ae460836040d79eb2bd0a6d581b36c461',1,'grpc_op::status_details()'],['../structgrpc__op.html#ab993dfc7b33c61f06f26a4efc0aefca6',1,'grpc_op::status_details()']]], + ['status_5fdetails_5fcapacity',['status_details_capacity',['../structgrpc__op.html#a6cacd1d5311683ee077931c94a9dd6e9',1,'grpc_op']]], + ['string',['string',['../structgrpc__arg.html#a05bc3701718db73608ef3598480e8fa8',1,'grpc_arg']]], + ['success',['success',['../structgrpc__event.html#a99d4215e5df50869af320b1cca5540db',1,'grpc_event']]] +]; diff --git a/doc/ref/core/html/slice_8h.html b/doc/ref/core/html/slice_8h.html new file mode 100644 index 0000000000..2799ea2da8 --- /dev/null +++ b/doc/ref/core/html/slice_8h.html @@ -0,0 +1,643 @@ + + + + + + +GRPC Core: include/grpc/support/slice.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
slice.h File Reference
+
+
+
#include <grpc/support/sync.h>
+#include <stddef.h>
+
+

Go to the source code of this file.

+ + + + + + +

+Data Structures

struct  gpr_slice_refcount
 
struct  gpr_slice
 
+ + + + + + + + + + + + + +

+Macros

#define GPR_SLICE_INLINED_SIZE   (sizeof(size_t) + sizeof(gpr_uint8 *) - 1)
 
#define GPR_SLICE_START_PTR(slice)
 
#define GPR_SLICE_LENGTH(slice)
 
#define GPR_SLICE_SET_LENGTH(slice, newlen)
 
#define GPR_SLICE_END_PTR(slice)   GPR_SLICE_START_PTR(slice) + GPR_SLICE_LENGTH(slice)
 
#define GPR_SLICE_IS_EMPTY(slice)   (GPR_SLICE_LENGTH(slice) == 0)
 
+ + + + + +

+Typedefs

typedef struct gpr_slice_refcount gpr_slice_refcount
 
typedef struct gpr_slice gpr_slice
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

gpr_slice gpr_slice_ref (gpr_slice s)
 
void gpr_slice_unref (gpr_slice s)
 
gpr_slice gpr_slice_new (void *p, size_t len, void(*destroy)(void *))
 
gpr_slice gpr_slice_new_with_len (void *p, size_t len, void(*destroy)(void *, size_t))
 
gpr_slice gpr_slice_malloc (size_t length)
 
gpr_slice gpr_slice_from_copied_string (const char *source)
 
gpr_slice gpr_slice_from_copied_buffer (const char *source, size_t len)
 
gpr_slice gpr_slice_sub (gpr_slice s, size_t begin, size_t end)
 
gpr_slice gpr_slice_sub_no_ref (gpr_slice s, size_t begin, size_t end)
 
gpr_slice gpr_slice_split_tail (gpr_slice *s, size_t split)
 
gpr_slice gpr_slice_split_head (gpr_slice *s, size_t split)
 
gpr_slice gpr_empty_slice (void)
 
int gpr_slice_cmp (gpr_slice a, gpr_slice b)
 
int gpr_slice_str_cmp (gpr_slice a, const char *b)
 
+

Macro Definition Documentation

+ +
+
+ + + + + + + + +
#define GPR_SLICE_END_PTR( slice)   GPR_SLICE_START_PTR(slice) + GPR_SLICE_LENGTH(slice)
+
+ +
+
+ +
+
+ + + + +
#define GPR_SLICE_INLINED_SIZE   (sizeof(size_t) + sizeof(gpr_uint8 *) - 1)
+
+ +
+
+ +
+
+ + + + + + + + +
#define GPR_SLICE_IS_EMPTY( slice)   (GPR_SLICE_LENGTH(slice) == 0)
+
+ +
+
+ +
+
+ + + + + + + + +
#define GPR_SLICE_LENGTH( slice)
+
+Value:
((slice).refcount ? (slice).data.refcounted.length \
+
: (slice).data.inlined.length)
+
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
#define GPR_SLICE_SET_LENGTH( slice,
 newlen 
)
+
+Value:
((slice).refcount ? ((slice).data.refcounted.length = (size_t)(newlen)) \
+
: ((slice).data.inlined.length = (gpr_uint8)(newlen)))
+
uint8_t gpr_uint8
Definition: port_platform.h:307
+
+
+
+ +
+
+ + + + + + + + +
#define GPR_SLICE_START_PTR( slice)
+
+Value:
((slice).refcount ? (slice).data.refcounted.bytes \
+
: (slice).data.inlined.bytes)
+
+
+
+

Typedef Documentation

+ +
+
+ + + + +
typedef struct gpr_slice gpr_slice
+
+ +
+
+ +
+
+ + + + +
typedef struct gpr_slice_refcount gpr_slice_refcount
+
+ +
+
+

Function Documentation

+ +
+
+ + + + + + + + +
gpr_slice gpr_empty_slice (void )
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
int gpr_slice_cmp (gpr_slice a,
gpr_slice b 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
gpr_slice gpr_slice_from_copied_buffer (const char * source,
size_t len 
)
+
+ +
+
+ +
+
+ + + + + + + + +
gpr_slice gpr_slice_from_copied_string (const char * source)
+
+ +
+
+ +
+
+ + + + + + + + +
gpr_slice gpr_slice_malloc (size_t length)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
gpr_slice gpr_slice_new (void * p,
size_t len,
void(*)(void *) destroy 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
gpr_slice gpr_slice_new_with_len (void * p,
size_t len,
void(*)(void *, size_t) destroy 
)
+
+ +
+
+ +
+
+ + + + + + + + +
gpr_slice gpr_slice_ref (gpr_slice s)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
gpr_slice gpr_slice_split_head (gpr_slices,
size_t split 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
gpr_slice gpr_slice_split_tail (gpr_slices,
size_t split 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
int gpr_slice_str_cmp (gpr_slice a,
const char * b 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
gpr_slice gpr_slice_sub (gpr_slice s,
size_t begin,
size_t end 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
gpr_slice gpr_slice_sub_no_ref (gpr_slice s,
size_t begin,
size_t end 
)
+
+ +
+
+ +
+
+ + + + + + + + +
void gpr_slice_unref (gpr_slice s)
+
+ +
+
+
+ + + + diff --git a/doc/ref/core/html/slice_8h_source.html b/doc/ref/core/html/slice_8h_source.html new file mode 100644 index 0000000000..44d06adfe0 --- /dev/null +++ b/doc/ref/core/html/slice_8h_source.html @@ -0,0 +1,308 @@ + + + + + + +GRPC Core: include/grpc/support/slice.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
slice.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPC_SUPPORT_SLICE_H
+
35 #define GRPC_SUPPORT_SLICE_H
+
36 
+
37 #include <grpc/support/sync.h>
+
38 
+
39 #include <stddef.h>
+
40 
+
41 #ifdef __cplusplus
+
42 extern "C" {
+
43 #endif
+
44 
+
45 /* Slice API
+
46 
+
47  A slice represents a contiguous reference counted array of bytes.
+
48  It is cheap to take references to a slice, and it is cheap to create a
+
49  slice pointing to a subset of another slice.
+
50 
+
51  The data-structure for slices is exposed here to allow non-gpr code to
+
52  build slices from whatever data they have available.
+
53 
+
54  When defining interfaces that handle slices, care should be taken to define
+
55  reference ownership semantics (who should call unref?) and mutability
+
56  constraints (is the callee allowed to modify the slice?) */
+
57 
+
58 /* Reference count container for gpr_slice. Contains function pointers to
+
59  increment and decrement reference counts. Implementations should cleanup
+
60  when the reference count drops to zero.
+
61  Typically client code should not touch this, and use gpr_slice_malloc,
+
62  gpr_slice_new, or gpr_slice_new_with_len instead. */
+
63 typedef struct gpr_slice_refcount {
+
64  void (*ref)(void *);
+
65  void (*unref)(void *);
+ +
67 
+
68 #define GPR_SLICE_INLINED_SIZE (sizeof(size_t) + sizeof(gpr_uint8 *) - 1)
+
69 
+
70 /* A gpr_slice s, if initialized, represents the byte range
+
71  s.bytes[0..s.length-1].
+
72 
+
73  It can have an associated ref count which has a destruction routine to be run
+
74  when the ref count reaches zero (see gpr_slice_new() and grp_slice_unref()).
+
75  Multiple gpr_slice values may share a ref count.
+
76 
+
77  If the slice does not have a refcount, it represents an inlined small piece
+
78  of data that is copied by value. */
+
79 typedef struct gpr_slice {
+ +
81  union {
+
82  struct {
+ +
84  size_t length;
+
85  } refcounted;
+
86  struct {
+ + +
89  } inlined;
+
90  } data;
+
91 } gpr_slice;
+
92 
+
93 #define GPR_SLICE_START_PTR(slice) \
+
94  ((slice).refcount ? (slice).data.refcounted.bytes \
+
95  : (slice).data.inlined.bytes)
+
96 #define GPR_SLICE_LENGTH(slice) \
+
97  ((slice).refcount ? (slice).data.refcounted.length \
+
98  : (slice).data.inlined.length)
+
99 #define GPR_SLICE_SET_LENGTH(slice, newlen) \
+
100  ((slice).refcount ? ((slice).data.refcounted.length = (size_t)(newlen)) \
+
101  : ((slice).data.inlined.length = (gpr_uint8)(newlen)))
+
102 #define GPR_SLICE_END_PTR(slice) \
+
103  GPR_SLICE_START_PTR(slice) + GPR_SLICE_LENGTH(slice)
+
104 #define GPR_SLICE_IS_EMPTY(slice) (GPR_SLICE_LENGTH(slice) == 0)
+
105 
+
106 /* Increment the refcount of s. Requires slice is initialized.
+
107  Returns s. */
+ +
109 
+
110 /* Decrement the ref count of s. If the ref count of s reaches zero, all
+
111  slices sharing the ref count are destroyed, and considered no longer
+
112  initialized. If s is ultimately derived from a call to gpr_slice_new(start,
+
113  len, dest) where dest!=NULL , then (*dest)(start) is called, else if s is
+
114  ultimately derived from a call to gpr_slice_new_with_len(start, len, dest)
+
115  where dest!=NULL , then (*dest)(start, len). Requires s initialized. */
+
116 void gpr_slice_unref(gpr_slice s);
+
117 
+
118 /* Create a slice pointing at some data. Calls malloc to allocate a refcount
+
119  for the object, and arranges that destroy will be called with the pointer
+
120  passed in at destruction. */
+
121 gpr_slice gpr_slice_new(void *p, size_t len, void (*destroy)(void *));
+
122 
+
123 /* Equivalent to gpr_slice_new, but with a two argument destroy function that
+
124  also takes the slice length. */
+
125 gpr_slice gpr_slice_new_with_len(void *p, size_t len,
+
126  void (*destroy)(void *, size_t));
+
127 
+
128 /* Equivalent to gpr_slice_new(malloc(len), len, free), but saves one malloc()
+
129  call.
+
130  Aborts if malloc() fails. */
+
131 gpr_slice gpr_slice_malloc(size_t length);
+
132 
+
133 /* Create a slice by copying a string.
+
134  Does not preserve null terminators.
+
135  Equivalent to:
+
136  size_t len = strlen(source);
+
137  gpr_slice slice = gpr_slice_malloc(len);
+
138  memcpy(slice->data, source, len); */
+
139 gpr_slice gpr_slice_from_copied_string(const char *source);
+
140 
+
141 /* Create a slice by copying a buffer.
+
142  Equivalent to:
+
143  gpr_slice slice = gpr_slice_malloc(len);
+
144  memcpy(slice->data, source, len); */
+
145 gpr_slice gpr_slice_from_copied_buffer(const char *source, size_t len);
+
146 
+
147 /* Return a result slice derived from s, which shares a ref count with s, where
+
148  result.data==s.data+begin, and result.length==end-begin.
+
149  The ref count of s is increased by one.
+
150  Requires s initialized, begin <= end, begin <= s.length, and
+
151  end <= source->length. */
+
152 gpr_slice gpr_slice_sub(gpr_slice s, size_t begin, size_t end);
+
153 
+
154 /* The same as gpr_slice_sub, but without altering the ref count */
+
155 gpr_slice gpr_slice_sub_no_ref(gpr_slice s, size_t begin, size_t end);
+
156 
+
157 /* Splits s into two: modifies s to be s[0:split], and returns a new slice,
+
158  sharing a refcount with s, that contains s[split:s.length].
+
159  Requires s intialized, split <= s.length */
+
160 gpr_slice gpr_slice_split_tail(gpr_slice *s, size_t split);
+
161 
+
162 /* Splits s into two: modifies s to be s[split:s.length], and returns a new
+
163  slice, sharing a refcount with s, that contains s[0:split].
+
164  Requires s intialized, split <= s.length */
+
165 gpr_slice gpr_slice_split_head(gpr_slice *s, size_t split);
+
166 
+ +
168 
+
169 /* Returns <0 if a < b, ==0 if a == b, >0 if a > b
+
170  The order is arbitrary, and is not guaranteed to be stable across different
+
171  versions of the API. */
+ +
173 int gpr_slice_str_cmp(gpr_slice a, const char *b);
+
174 
+
175 #ifdef __cplusplus
+
176 }
+
177 #endif
+
178 
+
179 #endif /* GRPC_SUPPORT_SLICE_H */
+
gpr_slice gpr_slice_sub(gpr_slice s, size_t begin, size_t end)
+
uint8_t gpr_uint8
Definition: port_platform.h:307
+
gpr_slice gpr_slice_new_with_len(void *p, size_t len, void(*destroy)(void *, size_t))
+
gpr_slice gpr_slice_split_head(gpr_slice *s, size_t split)
+
size_t length
Definition: slice.h:84
+
gpr_uint8 * bytes
Definition: slice.h:83
+
gpr_slice gpr_slice_from_copied_string(const char *source)
+
gpr_slice gpr_empty_slice(void)
+
int gpr_slice_str_cmp(gpr_slice a, const char *b)
+
gpr_slice gpr_slice_from_copied_buffer(const char *source, size_t len)
+
gpr_slice gpr_slice_ref(gpr_slice s)
+
struct gpr_slice::@11::@12 refcounted
+
int gpr_slice_cmp(gpr_slice a, gpr_slice b)
+
union gpr_slice::@11 data
+
gpr_slice gpr_slice_new(void *p, size_t len, void(*destroy)(void *))
+
void(* unref)(void *)
Definition: slice.h:65
+
void(* ref)(void *)
Definition: slice.h:64
+
struct gpr_slice::@11::@13 inlined
+
struct gpr_slice_refcount * refcount
Definition: slice.h:80
+
gpr_slice gpr_slice_malloc(size_t length)
+
gpr_slice gpr_slice_split_tail(gpr_slice *s, size_t split)
+ +
#define GPR_SLICE_INLINED_SIZE
Definition: slice.h:68
+
void gpr_slice_unref(gpr_slice s)
+
gpr_uint8 length
Definition: slice.h:87
+
Definition: slice.h:63
+
struct gpr_slice_refcount gpr_slice_refcount
+
struct gpr_slice gpr_slice
+
Definition: slice.h:79
+
gpr_slice gpr_slice_sub_no_ref(gpr_slice s, size_t begin, size_t end)
+
+ + + + diff --git a/doc/ref/core/html/slice__buffer_8h.html b/doc/ref/core/html/slice__buffer_8h.html new file mode 100644 index 0000000000..26f4ef6e69 --- /dev/null +++ b/doc/ref/core/html/slice__buffer_8h.html @@ -0,0 +1,380 @@ + + + + + + +GRPC Core: include/grpc/support/slice_buffer.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
slice_buffer.h File Reference
+
+
+ +

Go to the source code of this file.

+ + + + +

+Data Structures

struct  gpr_slice_buffer
 
+ + + +

+Macros

#define GRPC_SLICE_BUFFER_INLINE_ELEMENTS   8
 
+ + + + + + + + + + + + + + + + + + + + + +

+Functions

void gpr_slice_buffer_init (gpr_slice_buffer *sb)
 
void gpr_slice_buffer_destroy (gpr_slice_buffer *sb)
 
void gpr_slice_buffer_add (gpr_slice_buffer *sb, gpr_slice slice)
 
size_t gpr_slice_buffer_add_indexed (gpr_slice_buffer *sb, gpr_slice slice)
 
void gpr_slice_buffer_addn (gpr_slice_buffer *sb, gpr_slice *slices, size_t n)
 
gpr_uint8gpr_slice_buffer_tiny_add (gpr_slice_buffer *sb, unsigned len)
 
void gpr_slice_buffer_pop (gpr_slice_buffer *sb)
 
void gpr_slice_buffer_reset_and_unref (gpr_slice_buffer *sb)
 
void gpr_slice_buffer_swap (gpr_slice_buffer *a, gpr_slice_buffer *b)
 
void gpr_slice_buffer_move_into (gpr_slice_buffer *src, gpr_slice_buffer *dst)
 
+

Macro Definition Documentation

+ +
+
+ + + + +
#define GRPC_SLICE_BUFFER_INLINE_ELEMENTS   8
+
+ +
+
+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
void gpr_slice_buffer_add (gpr_slice_buffersb,
gpr_slice slice 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
size_t gpr_slice_buffer_add_indexed (gpr_slice_buffersb,
gpr_slice slice 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void gpr_slice_buffer_addn (gpr_slice_buffersb,
gpr_sliceslices,
size_t n 
)
+
+ +
+
+ +
+
+ + + + + + + + +
void gpr_slice_buffer_destroy (gpr_slice_buffersb)
+
+ +
+
+ +
+
+ + + + + + + + +
void gpr_slice_buffer_init (gpr_slice_buffersb)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void gpr_slice_buffer_move_into (gpr_slice_buffersrc,
gpr_slice_bufferdst 
)
+
+ +
+
+ +
+
+ + + + + + + + +
void gpr_slice_buffer_pop (gpr_slice_buffersb)
+
+ +
+
+ +
+
+ + + + + + + + +
void gpr_slice_buffer_reset_and_unref (gpr_slice_buffersb)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void gpr_slice_buffer_swap (gpr_slice_buffera,
gpr_slice_bufferb 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
gpr_uint8* gpr_slice_buffer_tiny_add (gpr_slice_buffersb,
unsigned len 
)
+
+ +
+
+
+ + + + diff --git a/doc/ref/core/html/slice__buffer_8h_source.html b/doc/ref/core/html/slice__buffer_8h_source.html new file mode 100644 index 0000000000..01f2b592de --- /dev/null +++ b/doc/ref/core/html/slice__buffer_8h_source.html @@ -0,0 +1,212 @@ + + + + + + +GRPC Core: include/grpc/support/slice_buffer.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
slice_buffer.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPC_SUPPORT_SLICE_BUFFER_H
+
35 #define GRPC_SUPPORT_SLICE_BUFFER_H
+
36 
+
37 #include <grpc/support/slice.h>
+
38 
+
39 #ifdef __cplusplus
+
40 extern "C" {
+
41 #endif
+
42 
+
43 #define GRPC_SLICE_BUFFER_INLINE_ELEMENTS 8
+
44 
+
45 /* Represents an expandable array of slices, to be interpreted as a single item
+
46  TODO(ctiller): inline some small number of elements into the struct, to
+
47  avoid per-call allocations */
+
48 typedef struct {
+
49  /* slices in the array */
+ +
51  /* the number of slices in the array */
+
52  size_t count;
+
53  /* the number of slices allocated in the array */
+
54  size_t capacity;
+
55  /* the combined length of all slices in the array */
+
56  size_t length;
+
57  /* inlined elements to avoid allocations */
+ + +
60 
+
61 /* initialize a slice buffer */
+ +
63 /* destroy a slice buffer - unrefs any held elements */
+ +
65 /* Add an element to a slice buffer - takes ownership of the slice.
+
66  This function is allowed to concatenate the passed in slice to the end of
+
67  some other slice if desired by the slice buffer. */
+ +
69 /* add an element to a slice buffer - takes ownership of the slice and returns
+
70  the index of the slice.
+
71  Guarantees that the slice will not be concatenated at the end of another
+
72  slice (i.e. the data for this slice will begin at the first byte of the
+
73  slice at the returned index in sb->slices)
+
74  The implementation MAY decide to concatenate data at the end of a small
+
75  slice added in this fashion. */
+ +
77 void gpr_slice_buffer_addn(gpr_slice_buffer *sb, gpr_slice *slices, size_t n);
+
78 /* add a very small (less than 8 bytes) amount of data to the end of a slice
+
79  buffer: returns a pointer into which to add the data */
+ +
81 /* pop the last buffer, but don't unref it */
+ +
83 /* clear a slice buffer, unref all elements */
+ +
85 /* swap the contents of two slice buffers */
+ +
87 /* move all of the elements of src into dst */
+ +
89 
+
90 #ifdef __cplusplus
+
91 }
+
92 #endif
+
93 
+
94 #endif /* GRPC_SUPPORT_SLICE_BUFFER_H */
+
gpr_uint8 * gpr_slice_buffer_tiny_add(gpr_slice_buffer *sb, unsigned len)
+
gpr_slice * slices
Definition: slice_buffer.h:50
+
uint8_t gpr_uint8
Definition: port_platform.h:307
+
size_t gpr_slice_buffer_add_indexed(gpr_slice_buffer *sb, gpr_slice slice)
+
size_t length
Definition: slice_buffer.h:56
+
size_t capacity
Definition: slice_buffer.h:54
+
void gpr_slice_buffer_reset_and_unref(gpr_slice_buffer *sb)
+
void gpr_slice_buffer_init(gpr_slice_buffer *sb)
+
void gpr_slice_buffer_pop(gpr_slice_buffer *sb)
+
void gpr_slice_buffer_add(gpr_slice_buffer *sb, gpr_slice slice)
+
Definition: slice_buffer.h:48
+
size_t count
Definition: slice_buffer.h:52
+
void gpr_slice_buffer_destroy(gpr_slice_buffer *sb)
+
void gpr_slice_buffer_swap(gpr_slice_buffer *a, gpr_slice_buffer *b)
+
void gpr_slice_buffer_addn(gpr_slice_buffer *sb, gpr_slice *slices, size_t n)
+
void gpr_slice_buffer_move_into(gpr_slice_buffer *src, gpr_slice_buffer *dst)
+
#define GRPC_SLICE_BUFFER_INLINE_ELEMENTS
Definition: slice_buffer.h:43
+ +
Definition: slice.h:79
+
+ + + + diff --git a/doc/ref/core/html/status_8h.html b/doc/ref/core/html/status_8h.html new file mode 100644 index 0000000000..5925269230 --- /dev/null +++ b/doc/ref/core/html/status_8h.html @@ -0,0 +1,184 @@ + + + + + + +GRPC Core: include/grpc/status.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
status.h File Reference
+
+
+ +

Go to the source code of this file.

+ + + + +

+Enumerations

enum  grpc_status_code {
+  GRPC_STATUS_OK = 0, +GRPC_STATUS_CANCELLED = 1, +GRPC_STATUS_UNKNOWN = 2, +GRPC_STATUS_INVALID_ARGUMENT = 3, +
+  GRPC_STATUS_DEADLINE_EXCEEDED = 4, +GRPC_STATUS_NOT_FOUND = 5, +GRPC_STATUS_ALREADY_EXISTS = 6, +GRPC_STATUS_PERMISSION_DENIED = 7, +
+  GRPC_STATUS_UNAUTHENTICATED = 16, +GRPC_STATUS_RESOURCE_EXHAUSTED = 8, +GRPC_STATUS_FAILED_PRECONDITION = 9, +GRPC_STATUS_ABORTED = 10, +
+  GRPC_STATUS_OUT_OF_RANGE = 11, +GRPC_STATUS_UNIMPLEMENTED = 12, +GRPC_STATUS_INTERNAL = 13, +GRPC_STATUS_UNAVAILABLE = 14, +
+  GRPC_STATUS_DATA_LOSS = 15, +GRPC_STATUS__DO_NOT_USE = -1 +
+ }
 
+

Enumeration Type Documentation

+ +
+
+ + + + +
enum grpc_status_code
+
+ + + + + + + + + + + + + + + + + + + +
Enumerator
GRPC_STATUS_OK  +
GRPC_STATUS_CANCELLED  +
GRPC_STATUS_UNKNOWN  +
GRPC_STATUS_INVALID_ARGUMENT  +
GRPC_STATUS_DEADLINE_EXCEEDED  +
GRPC_STATUS_NOT_FOUND  +
GRPC_STATUS_ALREADY_EXISTS  +
GRPC_STATUS_PERMISSION_DENIED  +
GRPC_STATUS_UNAUTHENTICATED  +
GRPC_STATUS_RESOURCE_EXHAUSTED  +
GRPC_STATUS_FAILED_PRECONDITION  +
GRPC_STATUS_ABORTED  +
GRPC_STATUS_OUT_OF_RANGE  +
GRPC_STATUS_UNIMPLEMENTED  +
GRPC_STATUS_INTERNAL  +
GRPC_STATUS_UNAVAILABLE  +
GRPC_STATUS_DATA_LOSS  +
GRPC_STATUS__DO_NOT_USE  +
+ +
+
+
+ + + + diff --git a/doc/ref/core/html/status_8h_source.html b/doc/ref/core/html/status_8h_source.html new file mode 100644 index 0000000000..a5caccc862 --- /dev/null +++ b/doc/ref/core/html/status_8h_source.html @@ -0,0 +1,281 @@ + + + + + + +GRPC Core: include/grpc/status.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
status.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPC_STATUS_H
+
35 #define GRPC_STATUS_H
+
36 
+
37 #ifdef __cplusplus
+
38 extern "C" {
+
39 #endif
+
40 
+
41 typedef enum {
+
42  /* Not an error; returned on success */
+ +
44 
+
45  /* The operation was cancelled (typically by the caller). */
+ +
47 
+
48  /* Unknown error. An example of where this error may be returned is
+
49  if a Status value received from another address space belongs to
+
50  an error-space that is not known in this address space. Also
+
51  errors raised by APIs that do not return enough error information
+
52  may be converted to this error. */
+ +
54 
+
55  /* Client specified an invalid argument. Note that this differs
+
56  from FAILED_PRECONDITION. INVALID_ARGUMENT indicates arguments
+
57  that are problematic regardless of the state of the system
+
58  (e.g., a malformed file name). */
+ +
60 
+
61  /* Deadline expired before operation could complete. For operations
+
62  that change the state of the system, this error may be returned
+
63  even if the operation has completed successfully. For example, a
+
64  successful response from a server could have been delayed long
+
65  enough for the deadline to expire. */
+ +
67 
+
68  /* Some requested entity (e.g., file or directory) was not found. */
+ +
70 
+
71  /* Some entity that we attempted to create (e.g., file or directory)
+
72  already exists. */
+ +
74 
+
75  /* The caller does not have permission to execute the specified
+
76  operation. PERMISSION_DENIED must not be used for rejections
+
77  caused by exhausting some resource (use RESOURCE_EXHAUSTED
+
78  instead for those errors). PERMISSION_DENIED must not be
+
79  used if the caller can not be identified (use UNAUTHENTICATED
+
80  instead for those errors). */
+ +
82 
+
83  /* The request does not have valid authentication credentials for the
+
84  operation. */
+ +
86 
+
87  /* Some resource has been exhausted, perhaps a per-user quota, or
+
88  perhaps the entire file system is out of space. */
+ +
90 
+
91  /* Operation was rejected because the system is not in a state
+
92  required for the operation's execution. For example, directory
+
93  to be deleted may be non-empty, an rmdir operation is applied to
+
94  a non-directory, etc.
+
95 
+
96  A litmus test that may help a service implementor in deciding
+
97  between FAILED_PRECONDITION, ABORTED, and UNAVAILABLE:
+
98  (a) Use UNAVAILABLE if the client can retry just the failing call.
+
99  (b) Use ABORTED if the client should retry at a higher-level
+
100  (e.g., restarting a read-modify-write sequence).
+
101  (c) Use FAILED_PRECONDITION if the client should not retry until
+
102  the system state has been explicitly fixed. E.g., if an "rmdir"
+
103  fails because the directory is non-empty, FAILED_PRECONDITION
+
104  should be returned since the client should not retry unless
+
105  they have first fixed up the directory by deleting files from it.
+
106  (d) Use FAILED_PRECONDITION if the client performs conditional
+
107  REST Get/Update/Delete on a resource and the resource on the
+
108  server does not match the condition. E.g., conflicting
+
109  read-modify-write on the same resource. */
+ +
111 
+
112  /* The operation was aborted, typically due to a concurrency issue
+
113  like sequencer check failures, transaction aborts, etc.
+
114 
+
115  See litmus test above for deciding between FAILED_PRECONDITION,
+
116  ABORTED, and UNAVAILABLE. */
+ +
118 
+
119  /* Operation was attempted past the valid range. E.g., seeking or
+
120  reading past end of file.
+
121 
+
122  Unlike INVALID_ARGUMENT, this error indicates a problem that may
+
123  be fixed if the system state changes. For example, a 32-bit file
+
124  system will generate INVALID_ARGUMENT if asked to read at an
+
125  offset that is not in the range [0,2^32-1], but it will generate
+
126  OUT_OF_RANGE if asked to read from an offset past the current
+
127  file size.
+
128 
+
129  There is a fair bit of overlap between FAILED_PRECONDITION and
+
130  OUT_OF_RANGE. We recommend using OUT_OF_RANGE (the more specific
+
131  error) when it applies so that callers who are iterating through
+
132  a space can easily look for an OUT_OF_RANGE error to detect when
+
133  they are done. */
+ +
135 
+
136  /* Operation is not implemented or not supported/enabled in this service. */
+ +
138 
+
139  /* Internal errors. Means some invariants expected by underlying
+
140  system has been broken. If you see one of these errors,
+
141  something is very broken. */
+ +
143 
+
144  /* The service is currently unavailable. This is a most likely a
+
145  transient condition and may be corrected by retrying with
+
146  a backoff.
+
147 
+
148  See litmus test above for deciding between FAILED_PRECONDITION,
+
149  ABORTED, and UNAVAILABLE. */
+ +
151 
+
152  /* Unrecoverable data loss or corruption. */
+ +
154 
+
155  /* Force users to include a default branch: */
+ + +
158 
+
159 #ifdef __cplusplus
+
160 }
+
161 #endif
+
162 
+
163 #endif /* GRPC_STATUS_H */
+
Definition: status.h:73
+
Definition: status.h:81
+
Definition: status.h:46
+
Definition: status.h:69
+
Definition: status.h:117
+
Definition: status.h:53
+
Definition: status.h:66
+
Definition: status.h:153
+
Definition: status.h:137
+
Definition: status.h:156
+
Definition: status.h:110
+
Definition: status.h:85
+
Definition: status.h:134
+
Definition: status.h:142
+
Definition: status.h:150
+
Definition: status.h:89
+
grpc_status_code
Definition: status.h:41
+
Definition: status.h:59
+
Definition: status.h:43
+
+ + + + diff --git a/doc/ref/core/html/string__util_8h.html b/doc/ref/core/html/string__util_8h.html new file mode 100644 index 0000000000..b52d4dc83e --- /dev/null +++ b/doc/ref/core/html/string__util_8h.html @@ -0,0 +1,160 @@ + + + + + + +GRPC Core: include/grpc/support/string_util.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
string_util.h File Reference
+
+
+ +

Go to the source code of this file.

+ + + + + + +

+Functions

char * gpr_strdup (const char *src)
 
int gpr_asprintf (char **strp, const char *format,...)
 
+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
int gpr_asprintf (char ** strp,
const char * format,
 ... 
)
+
+ +
+
+ +
+
+ + + + + + + + +
char* gpr_strdup (const char * src)
+
+ +
+
+
+ + + + diff --git a/doc/ref/core/html/string__util_8h_source.html b/doc/ref/core/html/string__util_8h_source.html new file mode 100644 index 0000000000..c04124c564 --- /dev/null +++ b/doc/ref/core/html/string__util_8h_source.html @@ -0,0 +1,162 @@ + + + + + + +GRPC Core: include/grpc/support/string_util.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
string_util.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPC_SUPPORT_STRING_UTIL_H
+
35 #define GRPC_SUPPORT_STRING_UTIL_H
+
36 
+
37 #ifdef __cplusplus
+
38 extern "C" {
+
39 #endif
+
40 
+
41 /* String utility functions */
+
42 
+
43 /* Returns a copy of src that can be passed to gpr_free().
+
44  If allocation fails or if src is NULL, returns NULL. */
+
45 char *gpr_strdup(const char *src);
+
46 
+
47 /* printf to a newly-allocated string. The set of supported formats may vary
+
48  between platforms.
+
49 
+
50  On success, returns the number of bytes printed (excluding the final '\0'),
+
51  and *strp points to a string which must later be destroyed with gpr_free().
+
52 
+
53  On error, returns -1 and sets *strp to NULL. If the format string is bad,
+
54  the result is undefined. */
+
55 int gpr_asprintf(char **strp, const char *format, ...);
+
56 
+
57 #ifdef __cplusplus
+
58 }
+
59 #endif
+
60 
+
61 #endif /* GRPC_SUPPORT_STRING_UTIL_H */
+
char * gpr_strdup(const char *src)
+
int gpr_asprintf(char **strp, const char *format,...)
+
+ + + + diff --git a/doc/ref/core/html/structcensus__stat.html b/doc/ref/core/html/structcensus__stat.html new file mode 100644 index 0000000000..a00119e2de --- /dev/null +++ b/doc/ref/core/html/structcensus__stat.html @@ -0,0 +1,136 @@ + + + + + + +GRPC Core: census_stat Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
census_stat Struct Reference
+
+
+ +

#include <census.h>

+ + + + + + +

+Data Fields

int id
 
double value
 
+

Field Documentation

+ +
+
+ + + + +
int census_stat::id
+
+ +
+
+ +
+
+ + + + +
double census_stat::value
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core/html/structgpr__cancellable.html b/doc/ref/core/html/structgpr__cancellable.html new file mode 100644 index 0000000000..722495e872 --- /dev/null +++ b/doc/ref/core/html/structgpr__cancellable.html @@ -0,0 +1,150 @@ + + + + + + +GRPC Core: gpr_cancellable Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
gpr_cancellable Struct Reference
+
+
+ +

#include <cancellable_platform.h>

+ + + + + + + + +

+Data Fields

gpr_mu mu
 
gpr_atm cancelled
 
struct gpr_cancellable_list_ waiters
 
+

Field Documentation

+ +
+
+ + + + +
gpr_atm gpr_cancellable::cancelled
+
+ +
+
+ +
+
+ + + + +
gpr_mu gpr_cancellable::mu
+
+ +
+
+ +
+
+ + + + +
struct gpr_cancellable_list_ gpr_cancellable::waiters
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core/html/structgpr__cancellable__list__.html b/doc/ref/core/html/structgpr__cancellable__list__.html new file mode 100644 index 0000000000..4bf5a99f5c --- /dev/null +++ b/doc/ref/core/html/structgpr__cancellable__list__.html @@ -0,0 +1,164 @@ + + + + + + +GRPC Core: gpr_cancellable_list_ Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
gpr_cancellable_list_ Struct Reference
+
+
+ +

#include <cancellable_platform.h>

+ + + + + + + + + + +

+Data Fields

struct gpr_cancellable_list_next
 
struct gpr_cancellable_list_prev
 
gpr_mumu
 
gpr_cvcv
 
+

Field Documentation

+ +
+
+ + + + +
gpr_cv* gpr_cancellable_list_::cv
+
+ +
+
+ +
+
+ + + + +
gpr_mu* gpr_cancellable_list_::mu
+
+ +
+
+ +
+
+ + + + +
struct gpr_cancellable_list_* gpr_cancellable_list_::next
+
+ +
+
+ +
+
+ + + + +
struct gpr_cancellable_list_* gpr_cancellable_list_::prev
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core/html/structgpr__event.html b/doc/ref/core/html/structgpr__event.html new file mode 100644 index 0000000000..471554f71d --- /dev/null +++ b/doc/ref/core/html/structgpr__event.html @@ -0,0 +1,122 @@ + + + + + + +GRPC Core: gpr_event Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
gpr_event Struct Reference
+
+
+ +

#include <sync_generic.h>

+ + + + +

+Data Fields

gpr_atm state
 
+

Field Documentation

+ +
+
+ + + + +
gpr_atm gpr_event::state
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core/html/structgpr__gcc__thread__local.html b/doc/ref/core/html/structgpr__gcc__thread__local.html new file mode 100644 index 0000000000..200345a12e --- /dev/null +++ b/doc/ref/core/html/structgpr__gcc__thread__local.html @@ -0,0 +1,122 @@ + + + + + + +GRPC Core: gpr_gcc_thread_local Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
gpr_gcc_thread_local Struct Reference
+
+
+ +

#include <tls_gcc.h>

+ + + + +

+Data Fields

gpr_intptr value
 
+

Field Documentation

+ +
+
+ + + + +
gpr_intptr gpr_gcc_thread_local::value
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core/html/structgpr__log__func__args.html b/doc/ref/core/html/structgpr__log__func__args.html new file mode 100644 index 0000000000..cb443451f7 --- /dev/null +++ b/doc/ref/core/html/structgpr__log__func__args.html @@ -0,0 +1,164 @@ + + + + + + +GRPC Core: gpr_log_func_args Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
gpr_log_func_args Struct Reference
+
+
+ +

#include <log.h>

+ + + + + + + + + + +

+Data Fields

const char * file
 
int line
 
gpr_log_severity severity
 
const char * message
 
+

Field Documentation

+ +
+
+ + + + +
const char* gpr_log_func_args::file
+
+ +
+
+ +
+
+ + + + +
int gpr_log_func_args::line
+
+ +
+
+ +
+
+ + + + +
const char* gpr_log_func_args::message
+
+ +
+
+ +
+
+ + + + +
gpr_log_severity gpr_log_func_args::severity
+
+ +
+
+
The documentation for this struct was generated from the following file:
    +
  • include/grpc/support/log.h
  • +
+
+ + + + diff --git a/doc/ref/core/html/structgpr__msvc__thread__local.html b/doc/ref/core/html/structgpr__msvc__thread__local.html new file mode 100644 index 0000000000..5854a8c950 --- /dev/null +++ b/doc/ref/core/html/structgpr__msvc__thread__local.html @@ -0,0 +1,122 @@ + + + + + + +GRPC Core: gpr_msvc_thread_local Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
gpr_msvc_thread_local Struct Reference
+
+
+ +

#include <tls_msvc.h>

+ + + + +

+Data Fields

gpr_intptr value
 
+

Field Documentation

+ +
+
+ + + + +
gpr_intptr gpr_msvc_thread_local::value
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core/html/structgpr__mu.html b/doc/ref/core/html/structgpr__mu.html new file mode 100644 index 0000000000..26925af498 --- /dev/null +++ b/doc/ref/core/html/structgpr__mu.html @@ -0,0 +1,136 @@ + + + + + + +GRPC Core: gpr_mu Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
gpr_mu Struct Reference
+
+
+ +

#include <sync_win32.h>

+ + + + + + +

+Data Fields

CRITICAL_SECTION cs
 
int locked
 
+

Field Documentation

+ +
+
+ + + + +
CRITICAL_SECTION gpr_mu::cs
+
+ +
+
+ +
+
+ + + + +
int gpr_mu::locked
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core/html/structgpr__pthread__thread__local.html b/doc/ref/core/html/structgpr__pthread__thread__local.html new file mode 100644 index 0000000000..527a86c49a --- /dev/null +++ b/doc/ref/core/html/structgpr__pthread__thread__local.html @@ -0,0 +1,122 @@ + + + + + + +GRPC Core: gpr_pthread_thread_local Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
gpr_pthread_thread_local Struct Reference
+
+
+ +

#include <tls_pthread.h>

+ + + + +

+Data Fields

pthread_key_t key
 
+

Field Documentation

+ +
+
+ + + + +
pthread_key_t gpr_pthread_thread_local::key
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core/html/structgpr__refcount.html b/doc/ref/core/html/structgpr__refcount.html new file mode 100644 index 0000000000..c033a9515f --- /dev/null +++ b/doc/ref/core/html/structgpr__refcount.html @@ -0,0 +1,122 @@ + + + + + + +GRPC Core: gpr_refcount Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
gpr_refcount Struct Reference
+
+
+ +

#include <sync_generic.h>

+ + + + +

+Data Fields

gpr_atm count
 
+

Field Documentation

+ +
+
+ + + + +
gpr_atm gpr_refcount::count
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core/html/structgpr__slice.html b/doc/ref/core/html/structgpr__slice.html new file mode 100644 index 0000000000..65edbbce28 --- /dev/null +++ b/doc/ref/core/html/structgpr__slice.html @@ -0,0 +1,223 @@ + + + + + + +GRPC Core: gpr_slice Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
gpr_slice Struct Reference
+
+
+ +

#include <slice.h>

+ + + + + + + + + + + + + + + + + + + + + +

+Data Fields

struct gpr_slice_refcountrefcount
 
union {
   struct {
      gpr_uint8 *   bytes
 
      size_t   length
 
   }   refcounted
 
   struct {
      gpr_uint8   length
 
      gpr_uint8   bytes [(sizeof(size_t)+sizeof(gpr_uint8 *)-1)]
 
   }   inlined
 
data
 
+

Field Documentation

+ +
+
+ + + + +
gpr_uint8* gpr_slice::bytes
+
+ +
+
+ +
+
+ + + + +
gpr_uint8 gpr_slice::bytes[(sizeof(size_t)+sizeof(gpr_uint8 *)-1)]
+
+ +
+
+ +
+
+ + + + +
union { ... } gpr_slice::data
+
+ +
+
+ +
+
+ + + + +
struct { ... } gpr_slice::inlined
+
+ +
+
+ +
+
+ + + + +
size_t gpr_slice::length
+
+ +
+
+ +
+
+ + + + +
gpr_uint8 gpr_slice::length
+
+ +
+
+ +
+
+ + + + +
struct gpr_slice_refcount* gpr_slice::refcount
+
+ +
+
+ +
+
+ + + + +
struct { ... } gpr_slice::refcounted
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core/html/structgpr__slice__buffer.html b/doc/ref/core/html/structgpr__slice__buffer.html new file mode 100644 index 0000000000..ddd601242b --- /dev/null +++ b/doc/ref/core/html/structgpr__slice__buffer.html @@ -0,0 +1,178 @@ + + + + + + +GRPC Core: gpr_slice_buffer Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
gpr_slice_buffer Struct Reference
+
+
+ +

#include <slice_buffer.h>

+ + + + + + + + + + + + +

+Data Fields

gpr_sliceslices
 
size_t count
 
size_t capacity
 
size_t length
 
gpr_slice inlined [8]
 
+

Field Documentation

+ +
+
+ + + + +
size_t gpr_slice_buffer::capacity
+
+ +
+
+ +
+
+ + + + +
size_t gpr_slice_buffer::count
+
+ +
+
+ +
+
+ + + + +
gpr_slice gpr_slice_buffer::inlined[8]
+
+ +
+
+ +
+
+ + + + +
size_t gpr_slice_buffer::length
+
+ +
+
+ +
+
+ + + + +
gpr_slice* gpr_slice_buffer::slices
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core/html/structgpr__slice__refcount.html b/doc/ref/core/html/structgpr__slice__refcount.html new file mode 100644 index 0000000000..3dde308553 --- /dev/null +++ b/doc/ref/core/html/structgpr__slice__refcount.html @@ -0,0 +1,136 @@ + + + + + + +GRPC Core: gpr_slice_refcount Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
gpr_slice_refcount Struct Reference
+
+
+ +

#include <slice.h>

+ + + + + + +

+Data Fields

void(* ref )(void *)
 
void(* unref )(void *)
 
+

Field Documentation

+ +
+
+ + + + +
void(* gpr_slice_refcount::ref)(void *)
+
+ +
+
+ +
+
+ + + + +
void(* gpr_slice_refcount::unref)(void *)
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core/html/structgpr__stats__counter.html b/doc/ref/core/html/structgpr__stats__counter.html new file mode 100644 index 0000000000..0ef7214eec --- /dev/null +++ b/doc/ref/core/html/structgpr__stats__counter.html @@ -0,0 +1,122 @@ + + + + + + +GRPC Core: gpr_stats_counter Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
gpr_stats_counter Struct Reference
+
+
+ +

#include <sync_generic.h>

+ + + + +

+Data Fields

gpr_atm value
 
+

Field Documentation

+ +
+
+ + + + +
gpr_atm gpr_stats_counter::value
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core/html/structgpr__thd__options.html b/doc/ref/core/html/structgpr__thd__options.html new file mode 100644 index 0000000000..1ca35ffea4 --- /dev/null +++ b/doc/ref/core/html/structgpr__thd__options.html @@ -0,0 +1,122 @@ + + + + + + +GRPC Core: gpr_thd_options Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
gpr_thd_options Struct Reference
+
+
+ +

#include <thd.h>

+ + + + +

+Data Fields

int flags
 
+

Field Documentation

+ +
+
+ + + + +
int gpr_thd_options::flags
+
+ +
+
+
The documentation for this struct was generated from the following file:
    +
  • include/grpc/support/thd.h
  • +
+
+ + + + diff --git a/doc/ref/core/html/structgpr__timespec.html b/doc/ref/core/html/structgpr__timespec.html new file mode 100644 index 0000000000..febaea1357 --- /dev/null +++ b/doc/ref/core/html/structgpr__timespec.html @@ -0,0 +1,153 @@ + + + + + + +GRPC Core: gpr_timespec Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
gpr_timespec Struct Reference
+
+
+ +

#include <time.h>

+ + + + + + + + + +

+Data Fields

time_t tv_sec
 
int tv_nsec
 
gpr_clock_type clock_type
 Against which clock was this time measured? (or GPR_TIMESPAN if this is a relative time meaure) More...
 
+

Field Documentation

+ +
+
+ + + + +
gpr_clock_type gpr_timespec::clock_type
+
+ +

Against which clock was this time measured? (or GPR_TIMESPAN if this is a relative time meaure)

+ +
+
+ +
+
+ + + + +
int gpr_timespec::tv_nsec
+
+ +
+
+ +
+
+ + + + +
time_t gpr_timespec::tv_sec
+
+ +
+
+
The documentation for this struct was generated from the following file:
    +
  • include/grpc/support/time.h
  • +
+
+ + + + diff --git a/doc/ref/core/html/structgrpc__arg.html b/doc/ref/core/html/structgrpc__arg.html new file mode 100644 index 0000000000..c46b5b8edf --- /dev/null +++ b/doc/ref/core/html/structgrpc__arg.html @@ -0,0 +1,245 @@ + + + + + + +GRPC Core: grpc_arg Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
grpc_arg Struct Reference
+
+
+ +

A single argument... + More...

+ +

#include <grpc.h>

+ + + + + + + + + + + + + + + + + + + + + + +

+Data Fields

grpc_arg_type type
 
char * key
 
union {
   char *   string
 
   int   integer
 
   struct {
      void *   p
 
      void *(*   copy )(void *p)
 
      void(*   destroy )(void *p)
 
   }   pointer
 
value
 
+

Detailed Description

+

A single argument...

+

each argument has a key and a value

+

A note on naming keys: Keys are namespaced into groups, usually grouped by library, and are keys for module XYZ are named XYZ.key1, XYZ.key2, etc. Module names must be restricted to the regex [A-Za-z][_A-Za-z0-9]{,15}. Key names must be restricted to the regex [A-Za-z][_A-Za-z0-9]{,47}.

+

GRPC core library keys are prefixed by grpc.

+

Library authors are strongly encouraged to #define symbolic constants for their keys so that it's possible to change them in the future.

+

Field Documentation

+ +
+
+ + + + +
void*(* grpc_arg::copy)(void *p)
+
+ +
+
+ +
+
+ + + + +
void(* grpc_arg::destroy)(void *p)
+
+ +
+
+ +
+
+ + + + +
int grpc_arg::integer
+
+ +
+
+ +
+
+ + + + +
char* grpc_arg::key
+
+ +
+
+ +
+
+ + + + +
void* grpc_arg::p
+
+ +
+
+ +
+
+ + + + +
struct { ... } grpc_arg::pointer
+
+ +
+
+ +
+
+ + + + +
char* grpc_arg::string
+
+ +
+
+ +
+
+ + + + +
grpc_arg_type grpc_arg::type
+
+ +
+
+ +
+
+ + + + +
union { ... } grpc_arg::value
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core/html/structgrpc__auth__property.html b/doc/ref/core/html/structgrpc__auth__property.html new file mode 100644 index 0000000000..2d3ed3ec84 --- /dev/null +++ b/doc/ref/core/html/structgrpc__auth__property.html @@ -0,0 +1,150 @@ + + + + + + +GRPC Core: grpc_auth_property Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
grpc_auth_property Struct Reference
+
+
+ +

#include <grpc_security.h>

+ + + + + + + + +

+Data Fields

char * name
 
char * value
 
size_t value_length
 
+

Field Documentation

+ +
+
+ + + + +
char* grpc_auth_property::name
+
+ +
+
+ +
+
+ + + + +
char* grpc_auth_property::value
+
+ +
+
+ +
+
+ + + + +
size_t grpc_auth_property::value_length
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core/html/structgrpc__auth__property__iterator.html b/doc/ref/core/html/structgrpc__auth__property__iterator.html new file mode 100644 index 0000000000..ec9878310a --- /dev/null +++ b/doc/ref/core/html/structgrpc__auth__property__iterator.html @@ -0,0 +1,150 @@ + + + + + + +GRPC Core: grpc_auth_property_iterator Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
grpc_auth_property_iterator Struct Reference
+
+
+ +

#include <grpc_security.h>

+ + + + + + + + +

+Data Fields

const grpc_auth_contextctx
 
size_t index
 
const char * name
 
+

Field Documentation

+ +
+
+ + + + +
const grpc_auth_context* grpc_auth_property_iterator::ctx
+
+ +
+
+ +
+
+ + + + +
size_t grpc_auth_property_iterator::index
+
+ +
+
+ +
+
+ + + + +
const char* grpc_auth_property_iterator::name
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core/html/structgrpc__byte__buffer.html b/doc/ref/core/html/structgrpc__byte__buffer.html new file mode 100644 index 0000000000..5303d47009 --- /dev/null +++ b/doc/ref/core/html/structgrpc__byte__buffer.html @@ -0,0 +1,180 @@ + + + + + + +GRPC Core: grpc_byte_buffer Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
grpc_byte_buffer Struct Reference
+
+
+ +

#include <byte_buffer.h>

+ + + + + + + + + + + + + + +

+Data Fields

grpc_byte_buffer_type type
 
union {
   struct {
      grpc_compression_algorithm   compression
 
      gpr_slice_buffer   slice_buffer
 
   }   raw
 
data
 
+

Field Documentation

+ +
+
+ + + + +
grpc_compression_algorithm grpc_byte_buffer::compression
+
+ +
+
+ +
+
+ + + + +
union { ... } grpc_byte_buffer::data
+
+ +
+
+ +
+
+ + + + +
struct { ... } grpc_byte_buffer::raw
+
+ +
+
+ +
+
+ + + + +
gpr_slice_buffer grpc_byte_buffer::slice_buffer
+
+ +
+
+ +
+
+ + + + +
grpc_byte_buffer_type grpc_byte_buffer::type
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core/html/structgrpc__byte__buffer__reader.html b/doc/ref/core/html/structgrpc__byte__buffer__reader.html new file mode 100644 index 0000000000..fe2030f211 --- /dev/null +++ b/doc/ref/core/html/structgrpc__byte__buffer__reader.html @@ -0,0 +1,165 @@ + + + + + + +GRPC Core: grpc_byte_buffer_reader Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
grpc_byte_buffer_reader Struct Reference
+
+
+ +

#include <byte_buffer_reader.h>

+ + + + + + + + + + + +

+Data Fields

grpc_byte_bufferbuffer_in
 
grpc_byte_bufferbuffer_out
 
union {
   unsigned   index
 
current
 
+

Field Documentation

+ +
+
+ + + + +
grpc_byte_buffer* grpc_byte_buffer_reader::buffer_in
+
+ +
+
+ +
+
+ + + + +
grpc_byte_buffer* grpc_byte_buffer_reader::buffer_out
+
+ +
+
+ +
+
+ + + + +
union { ... } grpc_byte_buffer_reader::current
+
+ +
+
+ +
+
+ + + + +
unsigned grpc_byte_buffer_reader::index
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core/html/structgrpc__call__details.html b/doc/ref/core/html/structgrpc__call__details.html new file mode 100644 index 0000000000..7a15a4cdf6 --- /dev/null +++ b/doc/ref/core/html/structgrpc__call__details.html @@ -0,0 +1,178 @@ + + + + + + +GRPC Core: grpc_call_details Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
grpc_call_details Struct Reference
+
+
+ +

#include <grpc.h>

+ + + + + + + + + + + + +

+Data Fields

char * method
 
size_t method_capacity
 
char * host
 
size_t host_capacity
 
gpr_timespec deadline
 
+

Field Documentation

+ +
+
+ + + + +
gpr_timespec grpc_call_details::deadline
+
+ +
+
+ +
+
+ + + + +
char* grpc_call_details::host
+
+ +
+
+ +
+
+ + + + +
size_t grpc_call_details::host_capacity
+
+ +
+
+ +
+
+ + + + +
char* grpc_call_details::method
+
+ +
+
+ +
+
+ + + + +
size_t grpc_call_details::method_capacity
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core/html/structgrpc__channel__args.html b/doc/ref/core/html/structgrpc__channel__args.html new file mode 100644 index 0000000000..fbb28c4d38 --- /dev/null +++ b/doc/ref/core/html/structgrpc__channel__args.html @@ -0,0 +1,142 @@ + + + + + + +GRPC Core: grpc_channel_args Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
grpc_channel_args Struct Reference
+
+
+ +

An array of arguments that can be passed around. + More...

+ +

#include <grpc.h>

+ + + + + + +

+Data Fields

size_t num_args
 
grpc_argargs
 
+

Detailed Description

+

An array of arguments that can be passed around.

+

Used to set optional channel-level configuration. These configuration options are modelled as key-value pairs as defined by grpc_arg; keys are strings to allow easy backwards-compatible extension by arbitrary parties. All evaluation is performed at channel creation time (i.e. the values in this structure need only live through the creation invocation).

+

Field Documentation

+ +
+
+ + + + +
grpc_arg* grpc_channel_args::args
+
+ +
+
+ +
+
+ + + + +
size_t grpc_channel_args::num_args
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core/html/structgrpc__event.html b/doc/ref/core/html/structgrpc__event.html new file mode 100644 index 0000000000..c6acc75865 --- /dev/null +++ b/doc/ref/core/html/structgrpc__event.html @@ -0,0 +1,167 @@ + + + + + + +GRPC Core: grpc_event Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
grpc_event Struct Reference
+
+
+ +

The result of an operation. + More...

+ +

#include <grpc.h>

+ + + + + + + + + + + +

+Data Fields

grpc_completion_type type
 The type of the completion. More...
 
int success
 non-zero if the operation was successful, 0 upon failure. More...
 
void * tag
 The tag passed to grpc_call_start_batch etc to start this operation. More...
 
+

Detailed Description

+

The result of an operation.

+

Returned by a completion queue when the operation started with tag.

+

Field Documentation

+ +
+
+ + + + +
int grpc_event::success
+
+ +

non-zero if the operation was successful, 0 upon failure.

+

Only GRPC_OP_COMPLETE can succeed or fail.

+ +
+
+ +
+
+ + + + +
void* grpc_event::tag
+
+ +

The tag passed to grpc_call_start_batch etc to start this operation.

+

Only GRPC_OP_COMPLETE has a tag.

+ +
+
+ +
+
+ + + + +
grpc_completion_type grpc_event::type
+
+ +

The type of the completion.

+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core/html/structgrpc__metadata.html b/doc/ref/core/html/structgrpc__metadata.html new file mode 100644 index 0000000000..f9262fb515 --- /dev/null +++ b/doc/ref/core/html/structgrpc__metadata.html @@ -0,0 +1,188 @@ + + + + + + +GRPC Core: grpc_metadata Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
grpc_metadata Struct Reference
+
+
+ +

A single metadata element. + More...

+ +

#include <grpc.h>

+ + + + + + + + + + + + + + +

+Data Fields

const char * key
 
const char * value
 
size_t value_length
 
struct {
   void *   obfuscated [3]
 
internal_data
 The following fields are reserved for grpc internal use. More...
 
+

Detailed Description

+

A single metadata element.

+

Field Documentation

+ +
+
+ + + + +
struct { ... } grpc_metadata::internal_data
+
+ +

The following fields are reserved for grpc internal use.

+

There is no need to initialize them, and they will be set to garbage during calls to grpc.

+ +
+
+ +
+
+ + + + +
const char* grpc_metadata::key
+
+ +
+
+ +
+
+ + + + +
void* grpc_metadata::obfuscated[3]
+
+ +
+
+ +
+
+ + + + +
const char* grpc_metadata::value
+
+ +
+
+ +
+
+ + + + +
size_t grpc_metadata::value_length
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core/html/structgrpc__metadata__array.html b/doc/ref/core/html/structgrpc__metadata__array.html new file mode 100644 index 0000000000..92e1496119 --- /dev/null +++ b/doc/ref/core/html/structgrpc__metadata__array.html @@ -0,0 +1,150 @@ + + + + + + +GRPC Core: grpc_metadata_array Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
grpc_metadata_array Struct Reference
+
+
+ +

#include <grpc.h>

+ + + + + + + + +

+Data Fields

size_t count
 
size_t capacity
 
grpc_metadatametadata
 
+

Field Documentation

+ +
+
+ + + + +
size_t grpc_metadata_array::capacity
+
+ +
+
+ +
+
+ + + + +
size_t grpc_metadata_array::count
+
+ +
+
+ +
+
+ + + + +
grpc_metadata* grpc_metadata_array::metadata
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core/html/structgrpc__op.html b/doc/ref/core/html/structgrpc__op.html new file mode 100644 index 0000000000..46a14a6d56 --- /dev/null +++ b/doc/ref/core/html/structgrpc__op.html @@ -0,0 +1,439 @@ + + + + + + +GRPC Core: grpc_op Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
grpc_op Struct Reference
+
+
+ +

Operation data: one field for each op type (except SEND_CLOSE_FROM_CLIENT which has no arguments) + More...

+ +

#include <grpc.h>

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Data Fields

grpc_op_type op
 Operation type, as defined by grpc_op_type. More...
 
gpr_uint32 flags
 Write flags bitset for grpc_begin_messages. More...
 
union {
   struct {
      size_t   count
 
      grpc_metadata *   metadata
 
   }   send_initial_metadata
 
   grpc_byte_buffer *   send_message
 
   struct {
      size_t   trailing_metadata_count
 
      grpc_metadata *   trailing_metadata
 
      grpc_status_code   status
 
      const char *   status_details
 
   }   send_status_from_server
 
   grpc_metadata_array *   recv_initial_metadata
 ownership of the array is with the caller, but ownership of the elements stays with the call object (ie key, value members are owned by the call object, recv_initial_metadata->array is owned by the caller). More...
 
   grpc_byte_buffer **   recv_message
 ownership of the byte buffer is moved to the caller; the caller must call grpc_byte_buffer_destroy on this value, or reuse it in a future op. More...
 
   struct {
      grpc_metadata_array *   trailing_metadata
 ownership of the array is with the caller, but ownership of the elements stays with the call object (ie key, value members are owned by the call object, trailing_metadata->array is owned by the caller). More...
 
      grpc_status_code *   status
 
      char **   status_details
 status_details is a buffer owned by the application before the op completes and after the op has completed. More...
 
      size_t *   status_details_capacity
 
   }   recv_status_on_client
 
   struct {
      int *   cancelled
 out argument, set to 1 if the call failed in any way (seen as a cancellation on the server), or 0 if the call succeeded More...
 
   }   recv_close_on_server
 
data
 
+

Detailed Description

+

Operation data: one field for each op type (except SEND_CLOSE_FROM_CLIENT which has no arguments)

+

Field Documentation

+ +
+
+ + + + +
int* grpc_op::cancelled
+
+ +

out argument, set to 1 if the call failed in any way (seen as a cancellation on the server), or 0 if the call succeeded

+ +
+
+ +
+
+ + + + +
size_t grpc_op::count
+
+ +
+
+ +
+
+ + + + +
union { ... } grpc_op::data
+
+ +
+
+ +
+
+ + + + +
gpr_uint32 grpc_op::flags
+
+ +

Write flags bitset for grpc_begin_messages.

+ +
+
+ +
+
+ + + + +
grpc_metadata* grpc_op::metadata
+
+ +
+
+ +
+
+ + + + +
grpc_op_type grpc_op::op
+
+ +

Operation type, as defined by grpc_op_type.

+ +
+
+ +
+
+ + + + +
struct { ... } grpc_op::recv_close_on_server
+
+ +
+
+ +
+
+ + + + +
grpc_metadata_array* grpc_op::recv_initial_metadata
+
+ +

ownership of the array is with the caller, but ownership of the elements stays with the call object (ie key, value members are owned by the call object, recv_initial_metadata->array is owned by the caller).

+

After the operation completes, call grpc_metadata_array_destroy on this value, or reuse it in a future op.

+ +
+
+ +
+
+ + + + +
grpc_byte_buffer** grpc_op::recv_message
+
+ +

ownership of the byte buffer is moved to the caller; the caller must call grpc_byte_buffer_destroy on this value, or reuse it in a future op.

+ +
+
+ +
+
+ + + + +
struct { ... } grpc_op::recv_status_on_client
+
+ +
+
+ +
+
+ + + + +
struct { ... } grpc_op::send_initial_metadata
+
+ +
+
+ +
+
+ + + + +
grpc_byte_buffer* grpc_op::send_message
+
+ +
+
+ +
+
+ + + + +
struct { ... } grpc_op::send_status_from_server
+
+ +
+
+ +
+
+ + + + +
grpc_status_code grpc_op::status
+
+ +
+
+ +
+
+ + + + +
grpc_status_code* grpc_op::status
+
+ +
+
+ +
+
+ + + + +
const char* grpc_op::status_details
+
+ +
+
+ +
+
+ + + + +
char** grpc_op::status_details
+
+ +

status_details is a buffer owned by the application before the op completes and after the op has completed.

+

During the operation status_details may be reallocated to a size larger than status_details_capacity, in which case *status_details_capacity will be updated with the new array capacity.

+

Pre-allocating space: size_t my_capacity = 8; char *my_details = gpr_malloc(my_capacity); x.status_details = x.status_details_capacity =

+

Not pre-allocating space: size_t my_capacity = 0; char *my_details = NULL; x.status_details = x.status_details_capacity =

+

After the call: gpr_free(my_details);

+ +
+
+ +
+
+ + + + +
size_t* grpc_op::status_details_capacity
+
+ +
+
+ +
+
+ + + + +
grpc_metadata* grpc_op::trailing_metadata
+
+ +
+
+ +
+
+ + + + +
grpc_metadata_array* grpc_op::trailing_metadata
+
+ +

ownership of the array is with the caller, but ownership of the elements stays with the call object (ie key, value members are owned by the call object, trailing_metadata->array is owned by the caller).

+

After the operation completes, call grpc_metadata_array_destroy on this value, or reuse it in a future op.

+ +
+
+ +
+
+ + + + +
size_t grpc_op::trailing_metadata_count
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core/html/structgrpc__ssl__pem__key__cert__pair.html b/doc/ref/core/html/structgrpc__ssl__pem__key__cert__pair.html new file mode 100644 index 0000000000..3b12041491 --- /dev/null +++ b/doc/ref/core/html/structgrpc__ssl__pem__key__cert__pair.html @@ -0,0 +1,136 @@ + + + + + + +GRPC Core: grpc_ssl_pem_key_cert_pair Struct Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ +
+
+ +
+
grpc_ssl_pem_key_cert_pair Struct Reference
+
+
+ +

#include <grpc_security.h>

+ + + + + + +

+Data Fields

const char * private_key
 
const char * cert_chain
 
+

Field Documentation

+ +
+
+ + + + +
const char* grpc_ssl_pem_key_cert_pair::cert_chain
+
+ +
+
+ +
+
+ + + + +
const char* grpc_ssl_pem_key_cert_pair::private_key
+
+ +
+
+
The documentation for this struct was generated from the following file: +
+ + + + diff --git a/doc/ref/core/html/subprocess_8h.html b/doc/ref/core/html/subprocess_8h.html new file mode 100644 index 0000000000..8b211dadf5 --- /dev/null +++ b/doc/ref/core/html/subprocess_8h.html @@ -0,0 +1,226 @@ + + + + + + +GRPC Core: include/grpc/support/subprocess.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
subprocess.h File Reference
+
+
+ +

Go to the source code of this file.

+ + + + +

+Typedefs

typedef struct gpr_subprocess gpr_subprocess
 
+ + + + + + + + + + + +

+Functions

const char * gpr_subprocess_binary_extension ()
 
gpr_subprocessgpr_subprocess_create (int argc, const char **argv)
 
void gpr_subprocess_destroy (gpr_subprocess *p)
 
int gpr_subprocess_join (gpr_subprocess *p)
 
void gpr_subprocess_interrupt (gpr_subprocess *p)
 
+

Typedef Documentation

+ +
+
+ + + + +
typedef struct gpr_subprocess gpr_subprocess
+
+ +
+
+

Function Documentation

+ +
+
+ + + + + + + +
const char* gpr_subprocess_binary_extension ()
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
gpr_subprocess* gpr_subprocess_create (int argc,
const char ** argv 
)
+
+ +
+
+ +
+
+ + + + + + + + +
void gpr_subprocess_destroy (gpr_subprocessp)
+
+ +
+
+ +
+
+ + + + + + + + +
void gpr_subprocess_interrupt (gpr_subprocessp)
+
+ +
+
+ +
+
+ + + + + + + + +
int gpr_subprocess_join (gpr_subprocessp)
+
+ +
+
+
+ + + + diff --git a/doc/ref/core/html/subprocess_8h_source.html b/doc/ref/core/html/subprocess_8h_source.html new file mode 100644 index 0000000000..2d4cd9d881 --- /dev/null +++ b/doc/ref/core/html/subprocess_8h_source.html @@ -0,0 +1,162 @@ + + + + + + +GRPC Core: include/grpc/support/subprocess.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
subprocess.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPC_SUPPORT_SUBPROCESS_H
+
35 #define GRPC_SUPPORT_SUBPROCESS_H
+
36 
+
37 #ifdef __cplusplus
+
38 extern "C" {
+
39 #endif
+
40 
+ +
42 
+
43 /* .exe on windows, empty on unices */
+ +
45 
+
46 gpr_subprocess *gpr_subprocess_create(int argc, const char **argv);
+
47 /* if subprocess has not been joined, kill it */
+ +
49 /* returns exit status; can be called at most once */
+ + +
52 
+
53 #ifdef __cplusplus
+
54 } // extern "C"
+
55 #endif
+
56 
+
57 #endif
+
int gpr_subprocess_join(gpr_subprocess *p)
+
void gpr_subprocess_interrupt(gpr_subprocess *p)
+
gpr_subprocess * gpr_subprocess_create(int argc, const char **argv)
+
const char * gpr_subprocess_binary_extension()
+
void gpr_subprocess_destroy(gpr_subprocess *p)
+
struct gpr_subprocess gpr_subprocess
Definition: subprocess.h:41
+
+ + + + diff --git a/doc/ref/core/html/sync_8h.html b/doc/ref/core/html/sync_8h.html new file mode 100644 index 0000000000..d55ca06cf5 --- /dev/null +++ b/doc/ref/core/html/sync_8h.html @@ -0,0 +1,740 @@ + + + + + + +GRPC Core: include/grpc/support/sync.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
sync.h File Reference
+
+
+ +

Go to the source code of this file.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

void gpr_mu_init (gpr_mu *mu)
 
void gpr_mu_destroy (gpr_mu *mu)
 
void gpr_mu_lock (gpr_mu *mu)
 
void gpr_mu_unlock (gpr_mu *mu)
 
int gpr_mu_trylock (gpr_mu *mu)
 
void gpr_cv_init (gpr_cv *cv)
 
void gpr_cv_destroy (gpr_cv *cv)
 
int gpr_cv_wait (gpr_cv *cv, gpr_mu *mu, gpr_timespec abs_deadline)
 
int gpr_cv_cancellable_wait (gpr_cv *cv, gpr_mu *mu, gpr_timespec abs_deadline, gpr_cancellable *c)
 
void gpr_cv_signal (gpr_cv *cv)
 
void gpr_cv_broadcast (gpr_cv *cv)
 
void gpr_cancellable_init (gpr_cancellable *c)
 
void gpr_cancellable_destroy (gpr_cancellable *c)
 
int gpr_cancellable_is_cancelled (gpr_cancellable *c)
 
void gpr_cancellable_cancel (gpr_cancellable *c)
 
void gpr_once_init (gpr_once *once, void(*init_routine)(void))
 
void gpr_event_init (gpr_event *ev)
 
void gpr_event_set (gpr_event *ev, void *value)
 
void * gpr_event_get (gpr_event *ev)
 
void * gpr_event_wait (gpr_event *ev, gpr_timespec abs_deadline)
 
void * gpr_event_cancellable_wait (gpr_event *ev, gpr_timespec abs_deadline, gpr_cancellable *c)
 
void gpr_ref_init (gpr_refcount *r, int n)
 
void gpr_ref (gpr_refcount *r)
 
void gpr_refn (gpr_refcount *r, int n)
 
int gpr_unref (gpr_refcount *r)
 
void gpr_stats_init (gpr_stats_counter *c, gpr_intptr n)
 
void gpr_stats_inc (gpr_stats_counter *c, gpr_intptr inc)
 
gpr_intptr gpr_stats_read (const gpr_stats_counter *c)
 
+

Function Documentation

+ +
+
+ + + + + + + + +
void gpr_cancellable_cancel (gpr_cancellablec)
+
+ +
+
+ +
+
+ + + + + + + + +
void gpr_cancellable_destroy (gpr_cancellablec)
+
+ +
+
+ +
+
+ + + + + + + + +
void gpr_cancellable_init (gpr_cancellablec)
+
+ +
+
+ +
+
+ + + + + + + + +
int gpr_cancellable_is_cancelled (gpr_cancellablec)
+
+ +
+
+ +
+
+ + + + + + + + +
void gpr_cv_broadcast (gpr_cvcv)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
int gpr_cv_cancellable_wait (gpr_cvcv,
gpr_mumu,
gpr_timespec abs_deadline,
gpr_cancellablec 
)
+
+ +
+
+ +
+
+ + + + + + + + +
void gpr_cv_destroy (gpr_cvcv)
+
+ +
+
+ +
+
+ + + + + + + + +
void gpr_cv_init (gpr_cvcv)
+
+ +
+
+ +
+
+ + + + + + + + +
void gpr_cv_signal (gpr_cvcv)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
int gpr_cv_wait (gpr_cvcv,
gpr_mumu,
gpr_timespec abs_deadline 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void* gpr_event_cancellable_wait (gpr_eventev,
gpr_timespec abs_deadline,
gpr_cancellablec 
)
+
+ +
+
+ +
+
+ + + + + + + + +
void* gpr_event_get (gpr_eventev)
+
+ +
+
+ +
+
+ + + + + + + + +
void gpr_event_init (gpr_eventev)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void gpr_event_set (gpr_eventev,
void * value 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void* gpr_event_wait (gpr_eventev,
gpr_timespec abs_deadline 
)
+
+ +
+
+ +
+
+ + + + + + + + +
void gpr_mu_destroy (gpr_mumu)
+
+ +
+
+ +
+
+ + + + + + + + +
void gpr_mu_init (gpr_mumu)
+
+ +
+
+ +
+
+ + + + + + + + +
void gpr_mu_lock (gpr_mumu)
+
+ +
+
+ +
+
+ + + + + + + + +
int gpr_mu_trylock (gpr_mumu)
+
+ +
+
+ +
+
+ + + + + + + + +
void gpr_mu_unlock (gpr_mumu)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void gpr_once_init (gpr_onceonce,
void(*)(void) init_routine 
)
+
+ +
+
+ +
+
+ + + + + + + + +
void gpr_ref (gpr_refcountr)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void gpr_ref_init (gpr_refcountr,
int n 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void gpr_refn (gpr_refcountr,
int n 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void gpr_stats_inc (gpr_stats_counterc,
gpr_intptr inc 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void gpr_stats_init (gpr_stats_counterc,
gpr_intptr n 
)
+
+ +
+
+ +
+
+ + + + + + + + +
gpr_intptr gpr_stats_read (const gpr_stats_counterc)
+
+ +
+
+ +
+
+ + + + + + + + +
int gpr_unref (gpr_refcountr)
+
+ +
+
+
+ + + + diff --git a/doc/ref/core/html/sync_8h_source.html b/doc/ref/core/html/sync_8h_source.html new file mode 100644 index 0000000000..0e4d9c13d4 --- /dev/null +++ b/doc/ref/core/html/sync_8h_source.html @@ -0,0 +1,491 @@ + + + + + + +GRPC Core: include/grpc/support/sync.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
sync.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPC_SUPPORT_SYNC_H
+
35 #define GRPC_SUPPORT_SYNC_H
+
36 /* Synchronization primitives for GPR.
+
37 
+
38  The type gpr_mu provides a non-reentrant mutex (lock).
+
39 
+
40  The type gpr_cv provides a condition variable.
+
41 
+
42  The type gpr_once provides for one-time initialization.
+
43 
+
44  The type gpr_event provides one-time-setting, reading, and
+
45  waiting of a void*, with memory barriers.
+
46 
+
47  The type gpr_refcount provides an object reference counter,
+
48  with memory barriers suitable to control
+
49  object lifetimes.
+
50 
+
51  The type gpr_stats_counter provides an atomic statistics counter. It
+
52  provides no memory barriers.
+
53  */
+
54 
+
55 /* Platform-specific type declarations of gpr_mu and gpr_cv. */
+ + +
58 
+
59 #if defined(GPR_POSIX_SYNC)
+ +
61 #elif defined(GPR_WIN32)
+ +
63 #elif !defined(GPR_CUSTOM_SYNC)
+
64 #error Unable to determine platform for sync
+
65 #endif
+
66 
+
67 #include <grpc/support/time.h> /* for gpr_timespec */
+ +
69 
+
70 #ifdef __cplusplus
+
71 extern "C" {
+
72 #endif
+
73 
+
74 /* --- Mutex interface ---
+
75 
+
76  At most one thread may hold an exclusive lock on a mutex at any given time.
+
77  Actions taken by a thread that holds a mutex exclusively happen after
+
78  actions taken by all previous holders of the mutex. Variables of type
+
79  gpr_mu are uninitialized when first declared. */
+
80 
+
81 /* Initialize *mu. Requires: *mu uninitialized. */
+
82 void gpr_mu_init(gpr_mu *mu);
+
83 
+
84 /* Cause *mu no longer to be initialized, freeing any memory in use. Requires:
+
85  *mu initialized; no other concurrent operation on *mu. */
+
86 void gpr_mu_destroy(gpr_mu *mu);
+
87 
+
88 /* Wait until no thread has a lock on *mu, cause the calling thread to own an
+
89  exclusive lock on *mu, then return. May block indefinitely or crash if the
+
90  calling thread has a lock on *mu. Requires: *mu initialized. */
+
91 void gpr_mu_lock(gpr_mu *mu);
+
92 
+
93 /* Release an exclusive lock on *mu held by the calling thread. Requires: *mu
+
94  initialized; the calling thread holds an exclusive lock on *mu. */
+
95 void gpr_mu_unlock(gpr_mu *mu);
+
96 
+
97 /* Without blocking, attempt to acquire an exclusive lock on *mu for the
+
98  calling thread, then return non-zero iff success. Fail, if any thread holds
+
99  the lock; succeeds with high probability if no thread holds the lock.
+
100  Requires: *mu initialized. */
+
101 int gpr_mu_trylock(gpr_mu *mu);
+
102 
+
103 /* --- Condition variable interface ---
+
104 
+
105  A while-loop should be used with gpr_cv_wait() when waiting for conditions
+
106  to become true. See the example below. Variables of type gpr_cv are
+
107  uninitialized when first declared. */
+
108 
+
109 /* Initialize *cv. Requires: *cv uninitialized. */
+
110 void gpr_cv_init(gpr_cv *cv);
+
111 
+
112 /* Cause *cv no longer to be initialized, freeing any memory in use. Requires:
+
113  *cv initialized; no other concurrent operation on *cv.*/
+
114 void gpr_cv_destroy(gpr_cv *cv);
+
115 
+
116 /* Atomically release *mu and wait on *cv. When the calling thread is woken
+
117  from *cv or the deadline abs_deadline is exceeded, execute gpr_mu_lock(mu)
+
118  and return whether the deadline was exceeded. Use
+
119  abs_deadline==gpr_inf_future for no deadline. May return even when not
+
120  woken explicitly. Requires: *mu and *cv initialized; the calling thread
+
121  holds an exclusive lock on *mu. */
+
122 int gpr_cv_wait(gpr_cv *cv, gpr_mu *mu, gpr_timespec abs_deadline);
+
123 
+
124 /* Behave like gpr_cv_wait(cv, mu, abs_deadline), except behave as though
+
125  the deadline has expired if *c is cancelled. */
+
126 int gpr_cv_cancellable_wait(gpr_cv *cv, gpr_mu *mu, gpr_timespec abs_deadline,
+
127  gpr_cancellable *c);
+
128 
+
129 /* If any threads are waiting on *cv, wake at least one.
+
130  Clients may treat this as an optimization of gpr_cv_broadcast()
+
131  for use in the case where waking more than one waiter is not useful.
+
132  Requires: *cv initialized. */
+
133 void gpr_cv_signal(gpr_cv *cv);
+
134 
+
135 /* Wake all threads waiting on *cv. Requires: *cv initialized. */
+
136 void gpr_cv_broadcast(gpr_cv *cv);
+
137 
+
138 /* --- Cancellation ---
+
139  A gpr_cancellable can be used with gpr_cv_cancellable_wait()
+
140  or gpr_event_cancellable_wait() cancel pending waits. */
+
141 
+
142 /* Initialize *c. */
+ +
144 
+
145 /* Cause *c no longer to be initialized, freeing any memory in use. Requires:
+
146  *c initialized; no other concurrent operation on *c. */
+ +
148 
+
149 /* Return non-zero iff *c has been cancelled. Requires *c initialized.
+
150  This call is faster than acquiring a mutex on most platforms. */
+ +
152 
+
153 /* Cancel *c. If *c was not previously cancelled, cause
+
154  gpr_cancellable_init() to return non-zero, and outstanding and future
+
155  calls to gpr_cv_cancellable_wait() and gpr_event_cancellable_wait() to
+
156  return immediately indicating a timeout has occurred; otherwise do nothing.
+
157  Requires *c initialized.*/
+ +
159 
+
160 /* --- One-time initialization ---
+
161 
+
162  gpr_once must be declared with static storage class, and initialized with
+
163  GPR_ONCE_INIT. e.g.,
+
164  static gpr_once once_var = GPR_ONCE_INIT; */
+
165 
+
166 /* Ensure that (*init_routine)() has been called exactly once (for the
+
167  specified gpr_once instance) and then return.
+
168  If multiple threads call gpr_once() on the same gpr_once instance, one of
+
169  them will call (*init_routine)(), and the others will block until that call
+
170  finishes.*/
+
171 void gpr_once_init(gpr_once *once, void (*init_routine)(void));
+
172 
+
173 /* --- One-time event notification ---
+
174 
+
175  These operations act on a gpr_event, which should be initialized with
+
176  gpr_ev_init(), or with GPR_EVENT_INIT if static, e.g.,
+
177  static gpr_event event_var = GPR_EVENT_INIT;
+
178  It requires no destruction. */
+
179 
+
180 /* Initialize *ev. */
+
181 void gpr_event_init(gpr_event *ev);
+
182 
+
183 /* Set *ev so that gpr_event_get() and gpr_event_wait() will return value.
+
184  Requires: *ev initialized; value != NULL; no prior or concurrent calls to
+
185  gpr_event_set(ev, ...) since initialization. */
+
186 void gpr_event_set(gpr_event *ev, void *value);
+
187 
+
188 /* Return the value set by gpr_event_set(ev, ...), or NULL if no such call has
+
189  completed. If the result is non-NULL, all operations that occurred prior to
+
190  the gpr_event_set(ev, ...) set will be visible after this call returns.
+
191  Requires: *ev initialized. This operation is faster than acquiring a mutex
+
192  on most platforms. */
+
193 void *gpr_event_get(gpr_event *ev);
+
194 
+
195 /* Wait until *ev is set by gpr_event_set(ev, ...), or abs_deadline is
+
196  exceeded, then return gpr_event_get(ev). Requires: *ev initialized. Use
+
197  abs_deadline==gpr_inf_future for no deadline. When the event has been
+
198  signalled before the call, this operation is faster than acquiring a mutex
+
199  on most platforms. */
+
200 void *gpr_event_wait(gpr_event *ev, gpr_timespec abs_deadline);
+
201 
+
202 /* Behave like gpr_event_wait(ev, abs_deadline), except behave as though
+
203  the deadline has expired if *c is cancelled. */
+
204 void *gpr_event_cancellable_wait(gpr_event *ev, gpr_timespec abs_deadline,
+
205  gpr_cancellable *c);
+
206 
+
207 /* --- Reference counting ---
+
208 
+
209  These calls act on the type gpr_refcount. It requires no destruction. */
+
210 
+
211 /* Initialize *r to value n. */
+
212 void gpr_ref_init(gpr_refcount *r, int n);
+
213 
+
214 /* Increment the reference count *r. Requires *r initialized. */
+
215 void gpr_ref(gpr_refcount *r);
+
216 
+
217 /* Increment the reference count *r by n. Requires *r initialized, n > 0. */
+
218 void gpr_refn(gpr_refcount *r, int n);
+
219 
+
220 /* Decrement the reference count *r and return non-zero iff it has reached
+
221  zero. . Requires *r initialized. */
+
222 int gpr_unref(gpr_refcount *r);
+
223 
+
224 /* --- Stats counters ---
+
225 
+
226  These calls act on the integral type gpr_stats_counter. It requires no
+
227  destruction. Static instances may be initialized with
+
228  gpr_stats_counter c = GPR_STATS_INIT;
+
229  Beware: These operations do not imply memory barriers. Do not use them to
+
230  synchronize other events. */
+
231 
+
232 /* Initialize *c to the value n. */
+ +
234 
+
235 /* *c += inc. Requires: *c initialized. */
+ +
237 
+
238 /* Return *c. Requires: *c initialized. */
+ +
240 
+
241 /* ==================Example use of interface===================
+
242  A producer-consumer queue of up to N integers,
+
243  illustrating the use of the calls in this interface. */
+
244 #if 0
+
245 
+
246 #define N 4
+
247 
+
248  typedef struct queue {
+
249  gpr_cv non_empty; /* Signalled when length becomes non-zero. */
+
250  gpr_cv non_full; /* Signalled when length becomes non-N. */
+
251  gpr_mu mu; /* Protects all fields below.
+
252  (That is, except during initialization or
+
253  destruction, the fields below should be accessed
+
254  only by a thread that holds mu.) */
+
255  int head; /* Index of head of queue 0..N-1. */
+
256  int length; /* Number of valid elements in queue 0..N. */
+
257  int elem[N]; /* elem[head .. head+length-1] are queue elements. */
+
258  } queue;
+
259 
+
260  /* Initialize *q. */
+
261  void queue_init(queue *q) {
+
262  gpr_mu_init(&q->mu);
+
263  gpr_cv_init(&q->non_empty);
+
264  gpr_cv_init(&q->non_full);
+
265  q->head = 0;
+
266  q->length = 0;
+
267  }
+
268 
+
269  /* Free storage associated with *q. */
+
270  void queue_destroy(queue *q) {
+
271  gpr_mu_destroy(&q->mu);
+
272  gpr_cv_destroy(&q->non_empty);
+
273  gpr_cv_destroy(&q->non_full);
+
274  }
+
275 
+
276  /* Wait until there is room in *q, then append x to *q. */
+
277  void queue_append(queue *q, int x) {
+
278  gpr_mu_lock(&q->mu);
+
279  /* To wait for a predicate without a deadline, loop on the negation of the
+
280  predicate, and use gpr_cv_wait(..., gpr_inf_future) inside the loop
+
281  to release the lock, wait, and reacquire on each iteration. Code that
+
282  makes the condition true should use gpr_cv_broadcast() on the
+
283  corresponding condition variable. The predicate must be on state
+
284  protected by the lock. */
+
285  while (q->length == N) {
+
286  gpr_cv_wait(&q->non_full, &q->mu, gpr_inf_future);
+
287  }
+
288  if (q->length == 0) { /* Wake threads blocked in queue_remove(). */
+
289  /* It's normal to use gpr_cv_broadcast() or gpr_signal() while
+
290  holding the lock. */
+
291  gpr_cv_broadcast(&q->non_empty);
+
292  }
+
293  q->elem[(q->head + q->length) % N] = x;
+
294  q->length++;
+
295  gpr_mu_unlock(&q->mu);
+
296  }
+
297 
+
298  /* If it can be done without blocking, append x to *q and return non-zero.
+
299  Otherwise return 0. */
+
300  int queue_try_append(queue *q, int x) {
+
301  int result = 0;
+
302  if (gpr_mu_trylock(&q->mu)) {
+
303  if (q->length != N) {
+
304  if (q->length == 0) { /* Wake threads blocked in queue_remove(). */
+
305  gpr_cv_broadcast(&q->non_empty);
+
306  }
+
307  q->elem[(q->head + q->length) % N] = x;
+
308  q->length++;
+
309  result = 1;
+
310  }
+
311  gpr_mu_unlock(&q->mu);
+
312  }
+
313  return result;
+
314  }
+
315 
+
316  /* Wait until the *q is non-empty or deadline abs_deadline passes. If the
+
317  queue is non-empty, remove its head entry, place it in *head, and return
+
318  non-zero. Otherwise return 0. */
+
319  int queue_remove(queue *q, int *head, gpr_timespec abs_deadline) {
+
320  int result = 0;
+
321  gpr_mu_lock(&q->mu);
+
322  /* To wait for a predicate with a deadline, loop on the negation of the
+
323  predicate or until gpr_cv_wait() returns true. Code that makes
+
324  the condition true should use gpr_cv_broadcast() on the corresponding
+
325  condition variable. The predicate must be on state protected by the
+
326  lock. */
+
327  while (q->length == 0 &&
+
328  !gpr_cv_wait(&q->non_empty, &q->mu, abs_deadline)) {
+
329  }
+
330  if (q->length != 0) { /* Queue is non-empty. */
+
331  result = 1;
+
332  if (q->length == N) { /* Wake threads blocked in queue_append(). */
+
333  gpr_cv_broadcast(&q->non_full);
+
334  }
+
335  *head = q->elem[q->head];
+
336  q->head = (q->head + 1) % N;
+
337  q->length--;
+
338  } /* else deadline exceeded */
+
339  gpr_mu_unlock(&q->mu);
+
340  return result;
+
341  }
+
342 #endif /* 0 */
+
343 
+
344 #ifdef __cplusplus
+
345 }
+
346 #endif
+
347 
+
348 #endif /* GRPC_SUPPORT_SYNC_H */
+ +
void gpr_mu_lock(gpr_mu *mu)
+
void gpr_ref(gpr_refcount *r)
+
void gpr_stats_inc(gpr_stats_counter *c, gpr_intptr inc)
+
void * gpr_event_get(gpr_event *ev)
+ +
int gpr_cancellable_is_cancelled(gpr_cancellable *c)
+
intptr_t gpr_intptr
Definition: port_platform.h:312
+
void gpr_refn(gpr_refcount *r, int n)
+
Definition: sync_generic.h:49
+
void gpr_once_init(gpr_once *once, void(*init_routine)(void))
+ +
gpr_intptr gpr_stats_read(const gpr_stats_counter *c)
+
void gpr_cv_destroy(gpr_cv *cv)
+ +
int gpr_cv_cancellable_wait(gpr_cv *cv, gpr_mu *mu, gpr_timespec abs_deadline, gpr_cancellable *c)
+ +
int gpr_mu_trylock(gpr_mu *mu)
+
int gpr_cv_wait(gpr_cv *cv, gpr_mu *mu, gpr_timespec abs_deadline)
+
void * gpr_event_wait(gpr_event *ev, gpr_timespec abs_deadline)
+
gpr_timespec gpr_inf_future(gpr_clock_type type)
+
void gpr_event_set(gpr_event *ev, void *value)
+
pthread_once_t gpr_once
Definition: sync_posix.h:43
+
Definition: sync_generic.h:54
+
pthread_cond_t gpr_cv
Definition: sync_posix.h:42
+
void gpr_mu_init(gpr_mu *mu)
+
Definition: cancellable_platform.h:50
+
int gpr_unref(gpr_refcount *r)
+
Definition: sync_win32.h:39
+
void gpr_cancellable_destroy(gpr_cancellable *c)
+
void gpr_mu_unlock(gpr_mu *mu)
+
void gpr_cv_signal(gpr_cv *cv)
+
void gpr_cancellable_init(gpr_cancellable *c)
+
void gpr_cancellable_cancel(gpr_cancellable *c)
+ +
void gpr_cv_init(gpr_cv *cv)
+
void gpr_stats_init(gpr_stats_counter *c, gpr_intptr n)
+
void * gpr_event_cancellable_wait(gpr_event *ev, gpr_timespec abs_deadline, gpr_cancellable *c)
+
void gpr_event_init(gpr_event *ev)
+
void gpr_mu_destroy(gpr_mu *mu)
+
Definition: time.h:60
+
Definition: sync_generic.h:41
+
void gpr_cv_broadcast(gpr_cv *cv)
+
void gpr_ref_init(gpr_refcount *r, int n)
+
+ + + + diff --git a/doc/ref/core/html/sync__generic_8h.html b/doc/ref/core/html/sync__generic_8h.html new file mode 100644 index 0000000000..11aba79141 --- /dev/null +++ b/doc/ref/core/html/sync__generic_8h.html @@ -0,0 +1,147 @@ + + + + + + +GRPC Core: include/grpc/support/sync_generic.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
sync_generic.h File Reference
+
+
+
#include <grpc/support/atm.h>
+
+

Go to the source code of this file.

+ + + + + + + + +

+Data Structures

struct  gpr_event
 
struct  gpr_refcount
 
struct  gpr_stats_counter
 
+ + + + + +

+Macros

#define GPR_EVENT_INIT   { 0 }
 
#define GPR_STATS_INIT   { 0 }
 
+

Macro Definition Documentation

+ +
+
+ + + + +
#define GPR_EVENT_INIT   { 0 }
+
+ +
+
+ +
+
+ + + + +
#define GPR_STATS_INIT   { 0 }
+
+ +
+
+
+ + + + diff --git a/doc/ref/core/html/sync__generic_8h_source.html b/doc/ref/core/html/sync__generic_8h_source.html new file mode 100644 index 0000000000..c57c539a8f --- /dev/null +++ b/doc/ref/core/html/sync__generic_8h_source.html @@ -0,0 +1,168 @@ + + + + + + +GRPC Core: include/grpc/support/sync_generic.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
sync_generic.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPC_SUPPORT_SYNC_GENERIC_H
+
35 #define GRPC_SUPPORT_SYNC_GENERIC_H
+
36 /* Generic type defintions for gpr_sync. */
+
37 
+
38 #include <grpc/support/atm.h>
+
39 
+
40 /* gpr_event */
+
41 typedef struct {
+ +
43 } gpr_event;
+
44 
+
45 #define GPR_EVENT_INIT \
+
46  { 0 }
+
47 
+
48 /* gpr_refcount */
+
49 typedef struct {
+ +
51 } gpr_refcount;
+
52 
+
53 /* gpr_stats_counter */
+
54 typedef struct {
+ + +
57 
+
58 #define GPR_STATS_INIT \
+
59  { 0 }
+
60 
+
61 #endif /* GRPC_SUPPORT_SYNC_GENERIC_H */
+
Definition: sync_generic.h:49
+ +
gpr_atm count
Definition: sync_generic.h:50
+
gpr_atm state
Definition: sync_generic.h:42
+
Definition: sync_generic.h:54
+
gpr_atm value
Definition: sync_generic.h:55
+
Definition: sync_generic.h:41
+
gpr_intptr gpr_atm
Definition: atm_gcc_atomic.h:41
+
+ + + + diff --git a/doc/ref/core/html/sync__posix_8h.html b/doc/ref/core/html/sync__posix_8h.html new file mode 100644 index 0000000000..de5f5a513c --- /dev/null +++ b/doc/ref/core/html/sync__posix_8h.html @@ -0,0 +1,171 @@ + + + + + + +GRPC Core: include/grpc/support/sync_posix.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
sync_posix.h File Reference
+
+
+
#include <grpc/support/sync_generic.h>
+#include <pthread.h>
+
+

Go to the source code of this file.

+ + + + +

+Macros

#define GPR_ONCE_INIT   PTHREAD_ONCE_INIT
 
+ + + + + + + +

+Typedefs

typedef pthread_mutex_t gpr_mu
 
typedef pthread_cond_t gpr_cv
 
typedef pthread_once_t gpr_once
 
+

Macro Definition Documentation

+ +
+
+ + + + +
#define GPR_ONCE_INIT   PTHREAD_ONCE_INIT
+
+ +
+
+

Typedef Documentation

+ +
+
+ + + + +
typedef pthread_cond_t gpr_cv
+
+ +
+
+ +
+
+ + + + +
typedef pthread_mutex_t gpr_mu
+
+ +
+
+ +
+
+ + + + +
typedef pthread_once_t gpr_once
+
+ +
+
+
+ + + + diff --git a/doc/ref/core/html/sync__posix_8h_source.html b/doc/ref/core/html/sync__posix_8h_source.html new file mode 100644 index 0000000000..4679c0c141 --- /dev/null +++ b/doc/ref/core/html/sync__posix_8h_source.html @@ -0,0 +1,150 @@ + + + + + + +GRPC Core: include/grpc/support/sync_posix.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
sync_posix.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPC_SUPPORT_SYNC_POSIX_H
+
35 #define GRPC_SUPPORT_SYNC_POSIX_H
+
36 
+ +
38 
+
39 #include <pthread.h>
+
40 
+
41 typedef pthread_mutex_t gpr_mu;
+
42 typedef pthread_cond_t gpr_cv;
+
43 typedef pthread_once_t gpr_once;
+
44 
+
45 #define GPR_ONCE_INIT PTHREAD_ONCE_INIT
+
46 
+
47 #endif /* GRPC_SUPPORT_SYNC_POSIX_H */
+ +
pthread_mutex_t gpr_mu
Definition: sync_posix.h:41
+
pthread_once_t gpr_once
Definition: sync_posix.h:43
+
pthread_cond_t gpr_cv
Definition: sync_posix.h:42
+
+ + + + diff --git a/doc/ref/core/html/sync__win32_8h.html b/doc/ref/core/html/sync__win32_8h.html new file mode 100644 index 0000000000..42ef3a498b --- /dev/null +++ b/doc/ref/core/html/sync__win32_8h.html @@ -0,0 +1,162 @@ + + + + + + +GRPC Core: include/grpc/support/sync_win32.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
sync_win32.h File Reference
+
+
+ +

Go to the source code of this file.

+ + + + +

+Data Structures

struct  gpr_mu
 
+ + + +

+Macros

#define GPR_ONCE_INIT   INIT_ONCE_STATIC_INIT
 
+ + + + + +

+Typedefs

typedef CONDITION_VARIABLE gpr_cv
 
typedef INIT_ONCE gpr_once
 
+

Macro Definition Documentation

+ +
+
+ + + + +
#define GPR_ONCE_INIT   INIT_ONCE_STATIC_INIT
+
+ +
+
+

Typedef Documentation

+ +
+
+ + + + +
typedef CONDITION_VARIABLE gpr_cv
+
+ +
+
+ +
+
+ + + + +
typedef INIT_ONCE gpr_once
+
+ +
+
+
+ + + + diff --git a/doc/ref/core/html/sync__win32_8h_source.html b/doc/ref/core/html/sync__win32_8h_source.html new file mode 100644 index 0000000000..30a6ad55e6 --- /dev/null +++ b/doc/ref/core/html/sync__win32_8h_source.html @@ -0,0 +1,154 @@ + + + + + + +GRPC Core: include/grpc/support/sync_win32.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
sync_win32.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPC_SUPPORT_SYNC_WIN32_H
+
35 #define GRPC_SUPPORT_SYNC_WIN32_H
+
36 
+ +
38 
+
39 typedef struct {
+
40  CRITICAL_SECTION cs; /* Not an SRWLock until Vista is unsupported */
+
41  int locked;
+
42 } gpr_mu;
+
43 
+
44 typedef CONDITION_VARIABLE gpr_cv;
+
45 
+
46 typedef INIT_ONCE gpr_once;
+
47 #define GPR_ONCE_INIT INIT_ONCE_STATIC_INIT
+
48 
+
49 #endif /* GRPC_SUPPORT_SYNC_WIN32_H */
+ +
pthread_mutex_t gpr_mu
Definition: sync_posix.h:41
+
CONDITION_VARIABLE gpr_cv
Definition: sync_win32.h:44
+
int locked
Definition: sync_win32.h:41
+
INIT_ONCE gpr_once
Definition: sync_win32.h:46
+
CRITICAL_SECTION cs
Definition: sync_win32.h:40
+
+ + + + diff --git a/doc/ref/core/html/sync_off.png b/doc/ref/core/html/sync_off.png new file mode 100644 index 0000000000..3b443fc628 Binary files /dev/null and b/doc/ref/core/html/sync_off.png differ diff --git a/doc/ref/core/html/sync_on.png b/doc/ref/core/html/sync_on.png new file mode 100644 index 0000000000..e08320fb64 Binary files /dev/null and b/doc/ref/core/html/sync_on.png differ diff --git a/doc/ref/core/html/tab_a.png b/doc/ref/core/html/tab_a.png new file mode 100644 index 0000000000..3b725c41c5 Binary files /dev/null and b/doc/ref/core/html/tab_a.png differ diff --git a/doc/ref/core/html/tab_b.png b/doc/ref/core/html/tab_b.png new file mode 100644 index 0000000000..e2b4a8638c Binary files /dev/null and b/doc/ref/core/html/tab_b.png differ diff --git a/doc/ref/core/html/tab_h.png b/doc/ref/core/html/tab_h.png new file mode 100644 index 0000000000..fd5cb70548 Binary files /dev/null and b/doc/ref/core/html/tab_h.png differ diff --git a/doc/ref/core/html/tab_s.png b/doc/ref/core/html/tab_s.png new file mode 100644 index 0000000000..ab478c95b6 Binary files /dev/null and b/doc/ref/core/html/tab_s.png differ diff --git a/doc/ref/core/html/tabs.css b/doc/ref/core/html/tabs.css new file mode 100644 index 0000000000..9cf578f23a --- /dev/null +++ b/doc/ref/core/html/tabs.css @@ -0,0 +1,60 @@ +.tabs, .tabs2, .tabs3 { + background-image: url('tab_b.png'); + width: 100%; + z-index: 101; + font-size: 13px; + font-family: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif; +} + +.tabs2 { + font-size: 10px; +} +.tabs3 { + font-size: 9px; +} + +.tablist { + margin: 0; + padding: 0; + display: table; +} + +.tablist li { + float: left; + display: table-cell; + background-image: url('tab_b.png'); + line-height: 36px; + list-style: none; +} + +.tablist a { + display: block; + padding: 0 20px; + font-weight: bold; + background-image:url('tab_s.png'); + background-repeat:no-repeat; + background-position:right; + color: #283A5D; + text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); + text-decoration: none; + outline: none; +} + +.tabs3 .tablist a { + padding: 0 10px; +} + +.tablist a:hover { + background-image: url('tab_h.png'); + background-repeat:repeat-x; + color: #fff; + text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0); + text-decoration: none; +} + +.tablist li.current a { + background-image: url('tab_a.png'); + background-repeat:repeat-x; + color: #fff; + text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0); +} diff --git a/doc/ref/core/html/thd_8h.html b/doc/ref/core/html/thd_8h.html new file mode 100644 index 0000000000..4fa08edb61 --- /dev/null +++ b/doc/ref/core/html/thd_8h.html @@ -0,0 +1,300 @@ + + + + + + +GRPC Core: include/grpc/support/thd.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
thd.h File Reference
+
+
+ +

Go to the source code of this file.

+ + + + +

+Data Structures

struct  gpr_thd_options
 
+ + + +

+Typedefs

typedef gpr_uint64 gpr_thd_id
 
+ + + + + + + + + + + + + + + + + +

+Functions

int gpr_thd_new (gpr_thd_id *t, void(*thd_body)(void *arg), void *arg, const gpr_thd_options *options)
 
gpr_thd_options gpr_thd_options_default (void)
 
void gpr_thd_options_set_detached (gpr_thd_options *options)
 
void gpr_thd_options_set_joinable (gpr_thd_options *options)
 
int gpr_thd_options_is_detached (const gpr_thd_options *options)
 
int gpr_thd_options_is_joinable (const gpr_thd_options *options)
 
gpr_thd_id gpr_thd_currentid (void)
 
void gpr_thd_join (gpr_thd_id t)
 
+

Typedef Documentation

+ +
+
+ + + + +
typedef gpr_uint64 gpr_thd_id
+
+ +
+
+

Function Documentation

+ +
+
+ + + + + + + + +
gpr_thd_id gpr_thd_currentid (void )
+
+ +
+
+ +
+
+ + + + + + + + +
void gpr_thd_join (gpr_thd_id t)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
int gpr_thd_new (gpr_thd_idt,
void(*)(void *arg) thd_body,
void * arg,
const gpr_thd_optionsoptions 
)
+
+ +
+
+ +
+
+ + + + + + + + +
gpr_thd_options gpr_thd_options_default (void )
+
+ +
+
+ +
+
+ + + + + + + + +
int gpr_thd_options_is_detached (const gpr_thd_optionsoptions)
+
+ +
+
+ +
+
+ + + + + + + + +
int gpr_thd_options_is_joinable (const gpr_thd_optionsoptions)
+
+ +
+
+ +
+
+ + + + + + + + +
void gpr_thd_options_set_detached (gpr_thd_optionsoptions)
+
+ +
+
+ +
+
+ + + + + + + + +
void gpr_thd_options_set_joinable (gpr_thd_optionsoptions)
+
+ +
+
+
+ + + + diff --git a/doc/ref/core/html/thd_8h_source.html b/doc/ref/core/html/thd_8h_source.html new file mode 100644 index 0000000000..0d6b1c9e24 --- /dev/null +++ b/doc/ref/core/html/thd_8h_source.html @@ -0,0 +1,203 @@ + + + + + + +GRPC Core: include/grpc/support/thd.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
thd.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPC_SUPPORT_THD_H
+
35 #define GRPC_SUPPORT_THD_H
+
36 /* Thread interface for GPR.
+
37 
+
38  Types
+
39  gpr_thd_id a thread identifier.
+
40  (Currently no calls take a thread identifier.
+
41  It exists for future extensibility.)
+
42  gpr_thd_options options used when creating a thread
+
43  */
+
44 
+ +
46 
+
47 #ifdef __cplusplus
+
48 extern "C" {
+
49 #endif
+
50 
+ +
52 
+
53 /* Thread creation options. */
+
54 typedef struct {
+
55  int flags; /* Opaque field. Get and set with accessors below. */
+ +
57 
+
58 /* Create a new thread running (*thd_body)(arg) and place its thread identifier
+
59  in *t, and return true. If there are insufficient resources, return false.
+
60  If options==NULL, default options are used.
+
61  The thread is immediately runnable, and exits when (*thd_body)() returns. */
+
62 int gpr_thd_new(gpr_thd_id *t, void (*thd_body)(void *arg), void *arg,
+
63  const gpr_thd_options *options);
+
64 
+
65 /* Return a gpr_thd_options struct with all fields set to defaults. */
+ +
67 
+
68 /* Set the thread to become detached on startup - this is the default. */
+ +
70 
+
71 /* Set the thread to become joinable - mutually exclusive with detached. */
+ +
73 
+
74 /* Returns non-zero if the option detached is set. */
+ +
76 
+
77 /* Returns non-zero if the option joinable is set. */
+ +
79 
+
80 /* Returns the identifier of the current thread. */
+
81 gpr_thd_id gpr_thd_currentid(void);
+
82 
+
83 /* Blocks until the specified thread properly terminates.
+
84  Calling this on a detached thread has unpredictable results. */
+
85 void gpr_thd_join(gpr_thd_id t);
+
86 
+
87 #ifdef __cplusplus
+
88 }
+
89 #endif
+
90 
+
91 #endif /* GRPC_SUPPORT_THD_H */
+
void gpr_thd_options_set_joinable(gpr_thd_options *options)
+ +
int gpr_thd_new(gpr_thd_id *t, void(*thd_body)(void *arg), void *arg, const gpr_thd_options *options)
+
int flags
Definition: thd.h:55
+
void gpr_thd_join(gpr_thd_id t)
+
int gpr_thd_options_is_joinable(const gpr_thd_options *options)
+
gpr_thd_id gpr_thd_currentid(void)
+
uint64_t gpr_uint64
Definition: port_platform.h:310
+
gpr_thd_options gpr_thd_options_default(void)
+
int gpr_thd_options_is_detached(const gpr_thd_options *options)
+
Definition: thd.h:54
+
void gpr_thd_options_set_detached(gpr_thd_options *options)
+
gpr_uint64 gpr_thd_id
Definition: thd.h:51
+
+ + + + diff --git a/doc/ref/core/html/time_8h.html b/doc/ref/core/html/time_8h.html new file mode 100644 index 0000000000..f901865700 --- /dev/null +++ b/doc/ref/core/html/time_8h.html @@ -0,0 +1,769 @@ + + + + + + +GRPC Core: include/grpc/support/time.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
time.h File Reference
+
+
+
#include <grpc/support/port_platform.h>
+#include <stddef.h>
+#include <time.h>
+
+

Go to the source code of this file.

+ + + + +

+Data Structures

struct  gpr_timespec
 
+ + + + + + + + + + + + + +

+Macros

#define GPR_MS_PER_SEC   1000
 
#define GPR_US_PER_SEC   1000000
 
#define GPR_NS_PER_SEC   1000000000
 
#define GPR_NS_PER_MS   1000000
 
#define GPR_NS_PER_US   1000
 
#define GPR_US_PER_MS   1000
 
+ + + +

+Typedefs

typedef struct gpr_timespec gpr_timespec
 
+ + + +

+Enumerations

enum  gpr_clock_type { GPR_CLOCK_MONOTONIC = 0, +GPR_CLOCK_REALTIME, +GPR_TIMESPAN + }
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

gpr_timespec gpr_time_0 (gpr_clock_type type)
 
gpr_timespec gpr_inf_future (gpr_clock_type type)
 
gpr_timespec gpr_inf_past (gpr_clock_type type)
 
void gpr_time_init (void)
 
gpr_timespec gpr_now (gpr_clock_type clock)
 
gpr_timespec gpr_convert_clock_type (gpr_timespec t, gpr_clock_type target_clock)
 
int gpr_time_cmp (gpr_timespec a, gpr_timespec b)
 
gpr_timespec gpr_time_max (gpr_timespec a, gpr_timespec b)
 
gpr_timespec gpr_time_min (gpr_timespec a, gpr_timespec b)
 
gpr_timespec gpr_time_add (gpr_timespec a, gpr_timespec b)
 
gpr_timespec gpr_time_sub (gpr_timespec a, gpr_timespec b)
 
gpr_timespec gpr_time_from_micros (long x, gpr_clock_type clock_type)
 
gpr_timespec gpr_time_from_nanos (long x, gpr_clock_type clock_type)
 
gpr_timespec gpr_time_from_millis (long x, gpr_clock_type clock_type)
 
gpr_timespec gpr_time_from_seconds (long x, gpr_clock_type clock_type)
 
gpr_timespec gpr_time_from_minutes (long x, gpr_clock_type clock_type)
 
gpr_timespec gpr_time_from_hours (long x, gpr_clock_type clock_type)
 
gpr_int32 gpr_time_to_millis (gpr_timespec timespec)
 
int gpr_time_similar (gpr_timespec a, gpr_timespec b, gpr_timespec threshold)
 
void gpr_sleep_until (gpr_timespec until)
 
double gpr_timespec_to_micros (gpr_timespec t)
 
+

Macro Definition Documentation

+ +
+
+ + + + +
#define GPR_MS_PER_SEC   1000
+
+ +
+
+ +
+
+ + + + +
#define GPR_NS_PER_MS   1000000
+
+ +
+
+ +
+
+ + + + +
#define GPR_NS_PER_SEC   1000000000
+
+ +
+
+ +
+
+ + + + +
#define GPR_NS_PER_US   1000
+
+ +
+
+ +
+
+ + + + +
#define GPR_US_PER_MS   1000
+
+ +
+
+ +
+
+ + + + +
#define GPR_US_PER_SEC   1000000
+
+ +
+
+

Typedef Documentation

+ +
+
+ + + + +
typedef struct gpr_timespec gpr_timespec
+
+ +
+
+

Enumeration Type Documentation

+ +
+
+ + + + +
enum gpr_clock_type
+
+ + + + +
Enumerator
GPR_CLOCK_MONOTONIC  +
GPR_CLOCK_REALTIME  +
GPR_TIMESPAN  +
+ +
+
+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
gpr_timespec gpr_convert_clock_type (gpr_timespec t,
gpr_clock_type target_clock 
)
+
+ +
+
+ +
+
+ + + + + + + + +
gpr_timespec gpr_inf_future (gpr_clock_type type)
+
+ +
+
+ +
+
+ + + + + + + + +
gpr_timespec gpr_inf_past (gpr_clock_type type)
+
+ +
+
+ +
+
+ + + + + + + + +
gpr_timespec gpr_now (gpr_clock_type clock)
+
+ +
+
+ +
+
+ + + + + + + + +
void gpr_sleep_until (gpr_timespec until)
+
+ +
+
+ +
+
+ + + + + + + + +
gpr_timespec gpr_time_0 (gpr_clock_type type)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
gpr_timespec gpr_time_add (gpr_timespec a,
gpr_timespec b 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
int gpr_time_cmp (gpr_timespec a,
gpr_timespec b 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
gpr_timespec gpr_time_from_hours (long x,
gpr_clock_type clock_type 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
gpr_timespec gpr_time_from_micros (long x,
gpr_clock_type clock_type 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
gpr_timespec gpr_time_from_millis (long x,
gpr_clock_type clock_type 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
gpr_timespec gpr_time_from_minutes (long x,
gpr_clock_type clock_type 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
gpr_timespec gpr_time_from_nanos (long x,
gpr_clock_type clock_type 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
gpr_timespec gpr_time_from_seconds (long x,
gpr_clock_type clock_type 
)
+
+ +
+
+ +
+
+ + + + + + + + +
void gpr_time_init (void )
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
gpr_timespec gpr_time_max (gpr_timespec a,
gpr_timespec b 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
gpr_timespec gpr_time_min (gpr_timespec a,
gpr_timespec b 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
int gpr_time_similar (gpr_timespec a,
gpr_timespec b,
gpr_timespec threshold 
)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
gpr_timespec gpr_time_sub (gpr_timespec a,
gpr_timespec b 
)
+
+ +
+
+ +
+
+ + + + + + + + +
gpr_int32 gpr_time_to_millis (gpr_timespec timespec)
+
+ +
+
+ +
+
+ + + + + + + + +
double gpr_timespec_to_micros (gpr_timespec t)
+
+ +
+
+
+ + + + diff --git a/doc/ref/core/html/time_8h_source.html b/doc/ref/core/html/time_8h_source.html new file mode 100644 index 0000000000..bf301b3c3f --- /dev/null +++ b/doc/ref/core/html/time_8h_source.html @@ -0,0 +1,254 @@ + + + + + + +GRPC Core: include/grpc/support/time.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
time.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPC_SUPPORT_TIME_H
+
35 #define GRPC_SUPPORT_TIME_H
+
36 /* Time support.
+
37  We use gpr_timespec, which is analogous to struct timespec. On some
+
38  machines, absolute times may be in local time. */
+
39 
+ +
41 #include <stddef.h>
+
42 #include <time.h>
+
43 
+
44 #ifdef __cplusplus
+
45 extern "C" {
+
46 #endif
+
47 
+
48 /* The clocks we support. */
+
49 typedef enum {
+
50  /* Monotonic clock. Epoch undefined. Always moves forwards. */
+ +
52  /* Realtime clock. May jump forwards or backwards. Settable by
+
53  the system administrator. Has its epoch at 0:00:00 UTC 1 Jan 1970. */
+ +
55  /* Unmeasurable clock type: no base, created by taking the difference
+
56  between two times */
+ + +
59 
+
60 typedef struct gpr_timespec {
+
61  time_t tv_sec;
+
62  int tv_nsec;
+ +
66 } gpr_timespec;
+
67 
+
68 /* Time constants. */
+
69 gpr_timespec gpr_time_0(gpr_clock_type type); /* The zero time interval. */
+
70 gpr_timespec gpr_inf_future(gpr_clock_type type); /* The far future */
+
71 gpr_timespec gpr_inf_past(gpr_clock_type type); /* The far past. */
+
72 
+
73 #define GPR_MS_PER_SEC 1000
+
74 #define GPR_US_PER_SEC 1000000
+
75 #define GPR_NS_PER_SEC 1000000000
+
76 #define GPR_NS_PER_MS 1000000
+
77 #define GPR_NS_PER_US 1000
+
78 #define GPR_US_PER_MS 1000
+
79 
+
80 /* initialize time subsystem */
+
81 void gpr_time_init(void);
+
82 
+
83 /* Return the current time measured from the given clocks epoch. */
+ +
85 
+
86 /* Convert a timespec from one clock to another */
+ +
88 
+
89 /* Return -ve, 0, or +ve according to whether a < b, a == b, or a > b
+
90  respectively. */
+ +
92 
+ + +
95 
+
96 /* Add and subtract times. Calculations saturate at infinities. */
+ + +
99 
+
100 /* Return a timespec representing a given number of time units. LONG_MIN is
+
101  interpreted as gpr_inf_past, and LONG_MAX as gpr_inf_future. */
+ + + + + + +
108 
+ +
110 
+
111 /* Return 1 if two times are equal or within threshold of each other,
+
112  0 otherwise */
+ +
114 
+
115 /* Sleep until at least 'until' - an absolute timeout */
+
116 void gpr_sleep_until(gpr_timespec until);
+
117 
+ +
119 
+
120 #ifdef __cplusplus
+
121 }
+
122 #endif
+
123 
+
124 #endif /* GRPC_SUPPORT_TIME_H */
+ +
gpr_timespec gpr_time_max(gpr_timespec a, gpr_timespec b)
+
time_t tv_sec
Definition: time.h:61
+
Definition: time.h:54
+ +
gpr_timespec gpr_time_from_millis(long x, gpr_clock_type clock_type)
+
gpr_timespec gpr_inf_future(gpr_clock_type type)
+
gpr_timespec gpr_inf_past(gpr_clock_type type)
+
gpr_timespec gpr_time_from_hours(long x, gpr_clock_type clock_type)
+
gpr_timespec gpr_time_min(gpr_timespec a, gpr_timespec b)
+
gpr_clock_type clock_type
Against which clock was this time measured? (or GPR_TIMESPAN if this is a relative time meaure) ...
Definition: time.h:65
+
gpr_timespec gpr_time_from_nanos(long x, gpr_clock_type clock_type)
+
Definition: time.h:51
+
gpr_timespec gpr_convert_clock_type(gpr_timespec t, gpr_clock_type target_clock)
+
gpr_timespec gpr_time_sub(gpr_timespec a, gpr_timespec b)
+
int gpr_time_cmp(gpr_timespec a, gpr_timespec b)
+
int tv_nsec
Definition: time.h:62
+
void gpr_time_init(void)
+
gpr_timespec gpr_time_0(gpr_clock_type type)
+
int gpr_time_similar(gpr_timespec a, gpr_timespec b, gpr_timespec threshold)
+
gpr_timespec gpr_time_add(gpr_timespec a, gpr_timespec b)
+
Definition: time.h:57
+
gpr_int32 gpr_time_to_millis(gpr_timespec timespec)
+
gpr_timespec gpr_time_from_minutes(long x, gpr_clock_type clock_type)
+
int32_t gpr_int32
Definition: port_platform.h:305
+
struct gpr_timespec gpr_timespec
+
gpr_clock_type
Definition: time.h:49
+
gpr_timespec gpr_now(gpr_clock_type clock)
+
Definition: time.h:60
+
double gpr_timespec_to_micros(gpr_timespec t)
+
gpr_timespec gpr_time_from_micros(long x, gpr_clock_type clock_type)
+
void gpr_sleep_until(gpr_timespec until)
+
gpr_timespec gpr_time_from_seconds(long x, gpr_clock_type clock_type)
+
+ + + + diff --git a/doc/ref/core/html/tls_8h.html b/doc/ref/core/html/tls_8h.html new file mode 100644 index 0000000000..804216cd73 --- /dev/null +++ b/doc/ref/core/html/tls_8h.html @@ -0,0 +1,102 @@ + + + + + + +GRPC Core: include/grpc/support/tls.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
tls.h File Reference
+
+ + + + + diff --git a/doc/ref/core/html/tls_8h_source.html b/doc/ref/core/html/tls_8h_source.html new file mode 100644 index 0000000000..7aa33c7220 --- /dev/null +++ b/doc/ref/core/html/tls_8h_source.html @@ -0,0 +1,180 @@ + + + + + + +GRPC Core: include/grpc/support/tls.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
tls.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPC_SUPPORT_TLS_H
+
35 #define GRPC_SUPPORT_TLS_H
+
36 
+ +
38 
+
39 /* Thread local storage.
+
40 
+
41  A minimal wrapper that should be implementable across many compilers,
+
42  and implementable efficiently across most modern compilers.
+
43 
+
44  Thread locals have type gpr_intptr.
+
45 
+
46  Declaring a thread local variable 'foo':
+
47  GPR_TLS_DECL(foo);
+
48  Thread locals always have static scope.
+
49 
+
50  Initializing a thread local (must be done at library initialization
+
51  time):
+
52  gpr_tls_init(&foo);
+
53 
+
54  Destroying a thread local:
+
55  gpr_tls_destroy(&foo);
+
56 
+
57  Setting a thread local (returns new_value):
+
58  gpr_tls_set(&foo, new_value);
+
59 
+
60  Accessing a thread local:
+
61  current_value = gpr_tls_get(&foo, value);
+
62 
+
63  ALL functions here may be implemented as macros. */
+
64 
+
65 #ifdef GPR_GCC_TLS
+
66 #include <grpc/support/tls_gcc.h>
+
67 #endif
+
68 
+
69 #ifdef GPR_MSVC_TLS
+
70 #include <grpc/support/tls_msvc.h>
+
71 #endif
+
72 
+
73 #ifdef GPR_PTHREAD_TLS
+ +
75 #endif
+
76 
+
77 #endif
+ + + + +
+ + + + diff --git a/doc/ref/core/html/tls__gcc_8h.html b/doc/ref/core/html/tls__gcc_8h.html new file mode 100644 index 0000000000..22ece66ec4 --- /dev/null +++ b/doc/ref/core/html/tls__gcc_8h.html @@ -0,0 +1,214 @@ + + + + + + +GRPC Core: include/grpc/support/tls_gcc.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
tls_gcc.h File Reference
+
+
+ +

Go to the source code of this file.

+ + + + +

+Data Structures

struct  gpr_gcc_thread_local
 
+ + + + + + + + + + + +

+Macros

#define GPR_TLS_DECL(name)   static __thread struct gpr_gcc_thread_local name = {0}
 
#define gpr_tls_init(tls)   do {} while (0)
 
#define gpr_tls_destroy(tls)   do {} while (0)
 
#define gpr_tls_set(tls, new_value)   (((tls)->value) = (new_value))
 
#define gpr_tls_get(tls)   ((tls)->value)
 
+

Macro Definition Documentation

+ +
+
+ + + + + + + + +
#define GPR_TLS_DECL( name)   static __thread struct gpr_gcc_thread_local name = {0}
+
+ +
+
+ +
+
+ + + + + + + + +
#define gpr_tls_destroy( tls)   do {} while (0)
+
+ +
+
+ +
+
+ + + + + + + + +
#define gpr_tls_get( tls)   ((tls)->value)
+
+ +
+
+ +
+
+ + + + + + + + +
#define gpr_tls_init( tls)   do {} while (0)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
#define gpr_tls_set( tls,
 new_value 
)   (((tls)->value) = (new_value))
+
+ +
+
+
+ + + + diff --git a/doc/ref/core/html/tls__gcc_8h_source.html b/doc/ref/core/html/tls__gcc_8h_source.html new file mode 100644 index 0000000000..e76a914f1f --- /dev/null +++ b/doc/ref/core/html/tls__gcc_8h_source.html @@ -0,0 +1,154 @@ + + + + + + +GRPC Core: include/grpc/support/tls_gcc.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
tls_gcc.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPC_SUPPORT_TLS_GCC_H
+
35 #define GRPC_SUPPORT_TLS_GCC_H
+
36 
+
37 /* Thread local storage based on gcc compiler primitives.
+
38  #include tls.h to use this - and see that file for documentation */
+
39 
+ + +
42 };
+
43 
+
44 #define GPR_TLS_DECL(name) \
+
45  static __thread struct gpr_gcc_thread_local name = {0}
+
46 
+
47 #define gpr_tls_init(tls) do {} while (0)
+
48 #define gpr_tls_destroy(tls) do {} while (0)
+
49 #define gpr_tls_set(tls, new_value) (((tls)->value) = (new_value))
+
50 #define gpr_tls_get(tls) ((tls)->value)
+
51 
+
52 #endif
+
intptr_t gpr_intptr
Definition: port_platform.h:312
+
Definition: tls_gcc.h:40
+
gpr_intptr value
Definition: tls_gcc.h:41
+
+ + + + diff --git a/doc/ref/core/html/tls__msvc_8h.html b/doc/ref/core/html/tls__msvc_8h.html new file mode 100644 index 0000000000..d1a26ab1ad --- /dev/null +++ b/doc/ref/core/html/tls__msvc_8h.html @@ -0,0 +1,214 @@ + + + + + + +GRPC Core: include/grpc/support/tls_msvc.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
tls_msvc.h File Reference
+
+
+ +

Go to the source code of this file.

+ + + + +

+Data Structures

struct  gpr_msvc_thread_local
 
+ + + + + + + + + + + +

+Macros

#define GPR_TLS_DECL(name)   static __declspec(thread) struct gpr_msvc_thread_local name = {0}
 
#define gpr_tls_init(tls)   do {} while (0)
 
#define gpr_tls_destroy(tls)   do {} while (0)
 
#define gpr_tls_set(tls, new_value)   (((tls)->value) = (new_value))
 
#define gpr_tls_get(tls)   ((tls)->value)
 
+

Macro Definition Documentation

+ +
+
+ + + + + + + + +
#define GPR_TLS_DECL( name)   static __declspec(thread) struct gpr_msvc_thread_local name = {0}
+
+ +
+
+ +
+
+ + + + + + + + +
#define gpr_tls_destroy( tls)   do {} while (0)
+
+ +
+
+ +
+
+ + + + + + + + +
#define gpr_tls_get( tls)   ((tls)->value)
+
+ +
+
+ +
+
+ + + + + + + + +
#define gpr_tls_init( tls)   do {} while (0)
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
#define gpr_tls_set( tls,
 new_value 
)   (((tls)->value) = (new_value))
+
+ +
+
+
+ + + + diff --git a/doc/ref/core/html/tls__msvc_8h_source.html b/doc/ref/core/html/tls__msvc_8h_source.html new file mode 100644 index 0000000000..5361f62b0f --- /dev/null +++ b/doc/ref/core/html/tls__msvc_8h_source.html @@ -0,0 +1,154 @@ + + + + + + +GRPC Core: include/grpc/support/tls_msvc.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
tls_msvc.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPC_SUPPORT_TLS_GCC_H
+
35 #define GRPC_SUPPORT_TLS_GCC_H
+
36 
+
37 /* Thread local storage based on ms visual c compiler primitives.
+
38  #include tls.h to use this - and see that file for documentation */
+
39 
+ + +
42 };
+
43 
+
44 #define GPR_TLS_DECL(name) \
+
45  static __declspec(thread) struct gpr_msvc_thread_local name = {0}
+
46 
+
47 #define gpr_tls_init(tls) do {} while (0)
+
48 #define gpr_tls_destroy(tls) do {} while (0)
+
49 #define gpr_tls_set(tls, new_value) (((tls)->value) = (new_value))
+
50 #define gpr_tls_get(tls) ((tls)->value)
+
51 
+
52 #endif
+
intptr_t gpr_intptr
Definition: port_platform.h:312
+
gpr_intptr value
Definition: tls_msvc.h:41
+
Definition: tls_msvc.h:40
+
+ + + + diff --git a/doc/ref/core/html/tls__pthread_8h.html b/doc/ref/core/html/tls__pthread_8h.html new file mode 100644 index 0000000000..db5b1f1095 --- /dev/null +++ b/doc/ref/core/html/tls__pthread_8h.html @@ -0,0 +1,221 @@ + + + + + + +GRPC Core: include/grpc/support/tls_pthread.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
tls_pthread.h File Reference
+
+
+
#include <grpc/support/log.h>
+#include <pthread.h>
+
+

Go to the source code of this file.

+ + + + +

+Data Structures

struct  gpr_pthread_thread_local
 
+ + + + + + + + + +

+Macros

#define GPR_TLS_DECL(name)   static struct gpr_pthread_thread_local name = {0}
 
#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)   ((gpr_intptr)pthread_getspecific((tls)->key))
 
+ + + +

+Functions

gpr_intptr gpr_tls_set (struct gpr_pthread_thread_local *tls, gpr_intptr value)
 
+

Macro Definition Documentation

+ +
+
+ + + + + + + + +
#define GPR_TLS_DECL( name)   static struct gpr_pthread_thread_local name = {0}
+
+ +
+
+ +
+
+ + + + + + + + +
#define gpr_tls_destroy( tls)   pthread_key_delete((tls)->key)
+
+ +
+
+ +
+
+ + + + + + + + +
#define gpr_tls_get( tls)   ((gpr_intptr)pthread_getspecific((tls)->key))
+
+ +
+
+ +
+
+ + + + + + + + +
#define gpr_tls_init( tls)   GPR_ASSERT(0 == pthread_key_create(&(tls)->key, NULL))
+
+ +
+
+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
gpr_intptr gpr_tls_set (struct gpr_pthread_thread_localtls,
gpr_intptr value 
)
+
+ +
+
+
+ + + + diff --git a/doc/ref/core/html/tls__pthread_8h_source.html b/doc/ref/core/html/tls__pthread_8h_source.html new file mode 100644 index 0000000000..93c2e3022b --- /dev/null +++ b/doc/ref/core/html/tls__pthread_8h_source.html @@ -0,0 +1,164 @@ + + + + + + +GRPC Core: include/grpc/support/tls_pthread.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
tls_pthread.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPC_SUPPORT_TLS_PTHREAD_H
+
35 #define GRPC_SUPPORT_TLS_PTHREAD_H
+
36 
+
37 #include <grpc/support/log.h> /* for GPR_ASSERT */
+
38 #include <pthread.h>
+
39 
+
40 /* Thread local storage based on pthread library calls.
+
41  #include tls.h to use this - and see that file for documentation */
+
42 
+ +
44  pthread_key_t key;
+
45 };
+
46 
+
47 #define GPR_TLS_DECL(name) static struct gpr_pthread_thread_local name = {0}
+
48 
+
49 #define gpr_tls_init(tls) GPR_ASSERT(0 == pthread_key_create(&(tls)->key, NULL))
+
50 #define gpr_tls_destroy(tls) pthread_key_delete((tls)->key)
+
51 #define gpr_tls_get(tls) ((gpr_intptr)pthread_getspecific((tls)->key))
+
52 #ifdef __cplusplus
+
53 extern "C" {
+
54 #endif
+ +
56 #ifdef __cplusplus
+
57 }
+
58 #endif
+
59 
+
60 #endif
+
intptr_t gpr_intptr
Definition: port_platform.h:312
+
gpr_intptr gpr_tls_set(struct gpr_pthread_thread_local *tls, gpr_intptr value)
+
Definition: tls_pthread.h:43
+
pthread_key_t key
Definition: tls_pthread.h:44
+ +
+ + + + diff --git a/doc/ref/core/html/useful_8h.html b/doc/ref/core/html/useful_8h.html new file mode 100644 index 0000000000..039ce1a645 --- /dev/null +++ b/doc/ref/core/html/useful_8h.html @@ -0,0 +1,450 @@ + + + + + + +GRPC Core: include/grpc/support/useful.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+ +
+
useful.h File Reference
+
+
+ +

Go to the source code of this file.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Macros

#define GPR_MIN(a, b)   ((a) < (b) ? (a) : (b))
 
#define GPR_MAX(a, b)   ((a) > (b) ? (a) : (b))
 
#define GPR_CLAMP(a, min, max)   ((a) < (min) ? (min) : (a) > (max) ? (max) : (a))
 
#define GPR_ROTL(x, n)   (((x) << (n)) | ((x) >> (sizeof(x) * 8 - (n))))
 
#define GPR_ROTR(x, n)   (((x) >> (n)) | ((x) << (sizeof(x) * 8 - (n))))
 
#define GPR_ARRAY_SIZE(array)   (sizeof(array) / sizeof(*(array)))
 
#define GPR_SWAP(type, a, b)
 
#define GPR_BITSET(i, n)   ((*(i)) |= (1u << (n)))
 Set the n-th bit of i (a mutable pointer). More...
 
#define GPR_BITCLEAR(i, n)   ((*(i)) &= ~(1u << (n)))
 Clear the n-th bit of i (a mutable pointer). More...
 
#define GPR_BITGET(i, n)   (((i) & (1u << (n))) != 0)
 Get the n-th bit of i. More...
 
#define GPR_INTERNAL_HEXDIGIT_BITCOUNT(x)
 
#define GPR_BITCOUNT(i)
 Returns number of bits set in bitset i. More...
 
+

Macro Definition Documentation

+ +
+
+ + + + + + + + +
#define GPR_ARRAY_SIZE( array)   (sizeof(array) / sizeof(*(array)))
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
#define GPR_BITCLEAR( i,
 
)   ((*(i)) &= ~(1u << (n)))
+
+ +

Clear the n-th bit of i (a mutable pointer).

+ +
+
+ +
+
+ + + + + + + + +
#define GPR_BITCOUNT( i)
+
+Value:
+ +
0x0f0f0f0f) % \
+
255)
+
#define GPR_INTERNAL_HEXDIGIT_BITCOUNT(x)
Definition: useful.h:64
+
+

Returns number of bits set in bitset i.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
#define GPR_BITGET( i,
 
)   (((i) & (1u << (n))) != 0)
+
+ +

Get the n-th bit of i.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
#define GPR_BITSET( i,
 
)   ((*(i)) |= (1u << (n)))
+
+ +

Set the n-th bit of i (a mutable pointer).

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
#define GPR_CLAMP( a,
 min,
 max 
)   ((a) < (min) ? (min) : (a) > (max) ? (max) : (a))
+
+ +
+
+ +
+
+ + + + + + + + +
#define GPR_INTERNAL_HEXDIGIT_BITCOUNT( x)
+
+Value:
((x) - (((x) >> 1) & 0x77777777) - (((x) >> 2) & 0x33333333) - \
+
(((x) >> 3) & 0x11111111))
+
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
#define GPR_MAX( a,
 
)   ((a) > (b) ? (a) : (b))
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
#define GPR_MIN( a,
 
)   ((a) < (b) ? (a) : (b))
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
#define GPR_ROTL( x,
 
)   (((x) << (n)) | ((x) >> (sizeof(x) * 8 - (n))))
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
#define GPR_ROTR( x,
 
)   (((x) >> (n)) | ((x) << (sizeof(x) * 8 - (n))))
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
#define GPR_SWAP( type,
 a,
 
)
+
+Value:
do { \
+
type x = a; \
+
a = b; \
+
b = x; \
+
} while (0)
+
+
+
+
+ + + + diff --git a/doc/ref/core/html/useful_8h_source.html b/doc/ref/core/html/useful_8h_source.html new file mode 100644 index 0000000000..9c5557f340 --- /dev/null +++ b/doc/ref/core/html/useful_8h_source.html @@ -0,0 +1,170 @@ + + + + + + +GRPC Core: include/grpc/support/useful.h Source File + + + + + + + + + +
+
+ + + + + + +
+
GRPC Core +  0.10.0.0 +
+
+
+ + + + + + + + + +
+ +
+ + +
+
+
+
useful.h
+
+
+Go to the documentation of this file.
1 /*
+
2  *
+
3  * Copyright 2015, Google Inc.
+
4  * All rights reserved.
+
5  *
+
6  * Redistribution and use in source and binary forms, with or without
+
7  * modification, are permitted provided that the following conditions are
+
8  * met:
+
9  *
+
10  * * Redistributions of source code must retain the above copyright
+
11  * notice, this list of conditions and the following disclaimer.
+
12  * * Redistributions in binary form must reproduce the above
+
13  * copyright notice, this list of conditions and the following disclaimer
+
14  * in the documentation and/or other materials provided with the
+
15  * distribution.
+
16  * * Neither the name of Google Inc. nor the names of its
+
17  * contributors may be used to endorse or promote products derived from
+
18  * this software without specific prior written permission.
+
19  *
+
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
31  *
+
32  */
+
33 
+
34 #ifndef GRPC_SUPPORT_USEFUL_H
+
35 #define GRPC_SUPPORT_USEFUL_H
+
36 
+
37 /* useful macros that don't belong anywhere else */
+
38 
+
39 #define GPR_MIN(a, b) ((a) < (b) ? (a) : (b))
+
40 #define GPR_MAX(a, b) ((a) > (b) ? (a) : (b))
+
41 #define GPR_CLAMP(a, min, max) ((a) < (min) ? (min) : (a) > (max) ? (max) : (a))
+
42 /* rotl, rotr assume x is unsigned */
+
43 #define GPR_ROTL(x, n) (((x) << (n)) | ((x) >> (sizeof(x) * 8 - (n))))
+
44 #define GPR_ROTR(x, n) (((x) >> (n)) | ((x) << (sizeof(x) * 8 - (n))))
+
45 
+
46 #define GPR_ARRAY_SIZE(array) (sizeof(array) / sizeof(*(array)))
+
47 
+
48 #define GPR_SWAP(type, a, b) \
+
49  do { \
+
50  type x = a; \
+
51  a = b; \
+
52  b = x; \
+
53  } while (0)
+
54 
+
56 #define GPR_BITSET(i, n) ((*(i)) |= (1u << (n)))
+
57 
+
59 #define GPR_BITCLEAR(i, n) ((*(i)) &= ~(1u << (n)))
+
60 
+
62 #define GPR_BITGET(i, n) (((i) & (1u << (n))) != 0)
+
63 
+
64 #define GPR_INTERNAL_HEXDIGIT_BITCOUNT(x) \
+
65  ((x) - (((x) >> 1) & 0x77777777) - (((x) >> 2) & 0x33333333) - \
+
66  (((x) >> 3) & 0x11111111))
+
67 
+
69 #define GPR_BITCOUNT(i) \
+
70  (((GPR_INTERNAL_HEXDIGIT_BITCOUNT(i) + \
+
71  (GPR_INTERNAL_HEXDIGIT_BITCOUNT(i) >> 4)) & \
+
72  0x0f0f0f0f) % \
+
73  255)
+
74 
+
75 #endif /* GRPC_SUPPORT_USEFUL_H */
+
+ + + + diff --git a/templates/tools/doxygen/Doxyfile.include b/templates/tools/doxygen/Doxyfile.include index 2934ebe7d8..21ef8a8ecd 100644 --- a/templates/tools/doxygen/Doxyfile.include +++ b/templates/tools/doxygen/Doxyfile.include @@ -2163,7 +2163,7 @@ DOT_FONTPATH = # The default value is: YES. # This tag requires that the tag HAVE_DOT is set to YES. -CLASS_GRAPH = YES +CLASS_GRAPH = NO # If the COLLABORATION_GRAPH tag is set to YES then doxygen will generate a # graph for each documented class showing the direct and indirect implementation @@ -2172,14 +2172,14 @@ CLASS_GRAPH = YES # The default value is: YES. # This tag requires that the tag HAVE_DOT is set to YES. -COLLABORATION_GRAPH = YES +COLLABORATION_GRAPH = NO # If the GROUP_GRAPHS tag is set to YES then doxygen will generate a graph for # groups, showing the direct groups dependencies. # The default value is: YES. # This tag requires that the tag HAVE_DOT is set to YES. -GROUP_GRAPHS = YES +GROUP_GRAPHS = NO # If the UML_LOOK tag is set to YES, doxygen will generate inheritance and # collaboration diagrams in a style similar to the OMG's Unified Modeling @@ -2217,7 +2217,7 @@ TEMPLATE_RELATIONS = NO # The default value is: YES. # This tag requires that the tag HAVE_DOT is set to YES. -INCLUDE_GRAPH = YES +INCLUDE_GRAPH = NO # If the INCLUDED_BY_GRAPH, ENABLE_PREPROCESSING and SEARCH_INCLUDES tags are # set to YES then doxygen will generate a graph for each documented file showing @@ -2226,7 +2226,7 @@ INCLUDE_GRAPH = YES # The default value is: YES. # This tag requires that the tag HAVE_DOT is set to YES. -INCLUDED_BY_GRAPH = YES +INCLUDED_BY_GRAPH = NO # If the CALL_GRAPH tag is set to YES then doxygen will generate a call # dependency graph for every global function or class method. @@ -2255,7 +2255,7 @@ CALLER_GRAPH = NO # The default value is: YES. # This tag requires that the tag HAVE_DOT is set to YES. -GRAPHICAL_HIERARCHY = YES +GRAPHICAL_HIERARCHY = NO # If the DIRECTORY_GRAPH tag is set to YES then doxygen will show the # dependencies a directory has on other directories in a graphical way. The @@ -2264,7 +2264,7 @@ GRAPHICAL_HIERARCHY = YES # The default value is: YES. # This tag requires that the tag HAVE_DOT is set to YES. -DIRECTORY_GRAPH = YES +DIRECTORY_GRAPH = NO # The DOT_IMAGE_FORMAT tag can be used to set the image format of the images # generated by dot. diff --git a/tools/doxygen/Doxyfile.c++ b/tools/doxygen/Doxyfile.c++ index 785779beb5..6b1302d4bd 100644 --- a/tools/doxygen/Doxyfile.c++ +++ b/tools/doxygen/Doxyfile.c++ @@ -2179,7 +2179,7 @@ DOT_FONTPATH = # The default value is: YES. # This tag requires that the tag HAVE_DOT is set to YES. -CLASS_GRAPH = YES +CLASS_GRAPH = NO # If the COLLABORATION_GRAPH tag is set to YES then doxygen will generate a # graph for each documented class showing the direct and indirect implementation @@ -2188,14 +2188,14 @@ CLASS_GRAPH = YES # The default value is: YES. # This tag requires that the tag HAVE_DOT is set to YES. -COLLABORATION_GRAPH = YES +COLLABORATION_GRAPH = NO # If the GROUP_GRAPHS tag is set to YES then doxygen will generate a graph for # groups, showing the direct groups dependencies. # The default value is: YES. # This tag requires that the tag HAVE_DOT is set to YES. -GROUP_GRAPHS = YES +GROUP_GRAPHS = NO # If the UML_LOOK tag is set to YES, doxygen will generate inheritance and # collaboration diagrams in a style similar to the OMG's Unified Modeling @@ -2233,7 +2233,7 @@ TEMPLATE_RELATIONS = NO # The default value is: YES. # This tag requires that the tag HAVE_DOT is set to YES. -INCLUDE_GRAPH = YES +INCLUDE_GRAPH = NO # If the INCLUDED_BY_GRAPH, ENABLE_PREPROCESSING and SEARCH_INCLUDES tags are # set to YES then doxygen will generate a graph for each documented file showing @@ -2242,7 +2242,7 @@ INCLUDE_GRAPH = YES # The default value is: YES. # This tag requires that the tag HAVE_DOT is set to YES. -INCLUDED_BY_GRAPH = YES +INCLUDED_BY_GRAPH = NO # If the CALL_GRAPH tag is set to YES then doxygen will generate a call # dependency graph for every global function or class method. @@ -2271,7 +2271,7 @@ CALLER_GRAPH = NO # The default value is: YES. # This tag requires that the tag HAVE_DOT is set to YES. -GRAPHICAL_HIERARCHY = YES +GRAPHICAL_HIERARCHY = NO # If the DIRECTORY_GRAPH tag is set to YES then doxygen will show the # dependencies a directory has on other directories in a graphical way. The @@ -2280,7 +2280,7 @@ GRAPHICAL_HIERARCHY = YES # The default value is: YES. # This tag requires that the tag HAVE_DOT is set to YES. -DIRECTORY_GRAPH = YES +DIRECTORY_GRAPH = NO # The DOT_IMAGE_FORMAT tag can be used to set the image format of the images # generated by dot. diff --git a/tools/doxygen/Doxyfile.c++.internal b/tools/doxygen/Doxyfile.c++.internal index 5cf6168388..9cbf23e1a7 100644 --- a/tools/doxygen/Doxyfile.c++.internal +++ b/tools/doxygen/Doxyfile.c++.internal @@ -2215,7 +2215,7 @@ DOT_FONTPATH = # The default value is: YES. # This tag requires that the tag HAVE_DOT is set to YES. -CLASS_GRAPH = YES +CLASS_GRAPH = NO # If the COLLABORATION_GRAPH tag is set to YES then doxygen will generate a # graph for each documented class showing the direct and indirect implementation @@ -2224,14 +2224,14 @@ CLASS_GRAPH = YES # The default value is: YES. # This tag requires that the tag HAVE_DOT is set to YES. -COLLABORATION_GRAPH = YES +COLLABORATION_GRAPH = NO # If the GROUP_GRAPHS tag is set to YES then doxygen will generate a graph for # groups, showing the direct groups dependencies. # The default value is: YES. # This tag requires that the tag HAVE_DOT is set to YES. -GROUP_GRAPHS = YES +GROUP_GRAPHS = NO # If the UML_LOOK tag is set to YES, doxygen will generate inheritance and # collaboration diagrams in a style similar to the OMG's Unified Modeling @@ -2269,7 +2269,7 @@ TEMPLATE_RELATIONS = NO # The default value is: YES. # This tag requires that the tag HAVE_DOT is set to YES. -INCLUDE_GRAPH = YES +INCLUDE_GRAPH = NO # If the INCLUDED_BY_GRAPH, ENABLE_PREPROCESSING and SEARCH_INCLUDES tags are # set to YES then doxygen will generate a graph for each documented file showing @@ -2278,7 +2278,7 @@ INCLUDE_GRAPH = YES # The default value is: YES. # This tag requires that the tag HAVE_DOT is set to YES. -INCLUDED_BY_GRAPH = YES +INCLUDED_BY_GRAPH = NO # If the CALL_GRAPH tag is set to YES then doxygen will generate a call # dependency graph for every global function or class method. @@ -2307,7 +2307,7 @@ CALLER_GRAPH = NO # The default value is: YES. # This tag requires that the tag HAVE_DOT is set to YES. -GRAPHICAL_HIERARCHY = YES +GRAPHICAL_HIERARCHY = NO # If the DIRECTORY_GRAPH tag is set to YES then doxygen will show the # dependencies a directory has on other directories in a graphical way. The @@ -2316,7 +2316,7 @@ GRAPHICAL_HIERARCHY = YES # The default value is: YES. # This tag requires that the tag HAVE_DOT is set to YES. -DIRECTORY_GRAPH = YES +DIRECTORY_GRAPH = NO # The DOT_IMAGE_FORMAT tag can be used to set the image format of the images # generated by dot. diff --git a/tools/doxygen/Doxyfile.core b/tools/doxygen/Doxyfile.core index 1bfd787528..2fb27efc9e 100644 --- a/tools/doxygen/Doxyfile.core +++ b/tools/doxygen/Doxyfile.core @@ -2173,7 +2173,7 @@ DOT_FONTPATH = # The default value is: YES. # This tag requires that the tag HAVE_DOT is set to YES. -CLASS_GRAPH = YES +CLASS_GRAPH = NO # If the COLLABORATION_GRAPH tag is set to YES then doxygen will generate a # graph for each documented class showing the direct and indirect implementation @@ -2182,14 +2182,14 @@ CLASS_GRAPH = YES # The default value is: YES. # This tag requires that the tag HAVE_DOT is set to YES. -COLLABORATION_GRAPH = YES +COLLABORATION_GRAPH = NO # If the GROUP_GRAPHS tag is set to YES then doxygen will generate a graph for # groups, showing the direct groups dependencies. # The default value is: YES. # This tag requires that the tag HAVE_DOT is set to YES. -GROUP_GRAPHS = YES +GROUP_GRAPHS = NO # If the UML_LOOK tag is set to YES, doxygen will generate inheritance and # collaboration diagrams in a style similar to the OMG's Unified Modeling @@ -2227,7 +2227,7 @@ TEMPLATE_RELATIONS = NO # The default value is: YES. # This tag requires that the tag HAVE_DOT is set to YES. -INCLUDE_GRAPH = YES +INCLUDE_GRAPH = NO # If the INCLUDED_BY_GRAPH, ENABLE_PREPROCESSING and SEARCH_INCLUDES tags are # set to YES then doxygen will generate a graph for each documented file showing @@ -2236,7 +2236,7 @@ INCLUDE_GRAPH = YES # The default value is: YES. # This tag requires that the tag HAVE_DOT is set to YES. -INCLUDED_BY_GRAPH = YES +INCLUDED_BY_GRAPH = NO # If the CALL_GRAPH tag is set to YES then doxygen will generate a call # dependency graph for every global function or class method. @@ -2265,7 +2265,7 @@ CALLER_GRAPH = NO # The default value is: YES. # This tag requires that the tag HAVE_DOT is set to YES. -GRAPHICAL_HIERARCHY = YES +GRAPHICAL_HIERARCHY = NO # If the DIRECTORY_GRAPH tag is set to YES then doxygen will show the # dependencies a directory has on other directories in a graphical way. The @@ -2274,7 +2274,7 @@ GRAPHICAL_HIERARCHY = YES # The default value is: YES. # This tag requires that the tag HAVE_DOT is set to YES. -DIRECTORY_GRAPH = YES +DIRECTORY_GRAPH = NO # The DOT_IMAGE_FORMAT tag can be used to set the image format of the images # generated by dot. diff --git a/tools/doxygen/Doxyfile.core.internal b/tools/doxygen/Doxyfile.core.internal index cce0b6fed0..37bf56e3bf 100644 --- a/tools/doxygen/Doxyfile.core.internal +++ b/tools/doxygen/Doxyfile.core.internal @@ -2473,7 +2473,7 @@ DOT_FONTPATH = # The default value is: YES. # This tag requires that the tag HAVE_DOT is set to YES. -CLASS_GRAPH = YES +CLASS_GRAPH = NO # If the COLLABORATION_GRAPH tag is set to YES then doxygen will generate a # graph for each documented class showing the direct and indirect implementation @@ -2482,14 +2482,14 @@ CLASS_GRAPH = YES # The default value is: YES. # This tag requires that the tag HAVE_DOT is set to YES. -COLLABORATION_GRAPH = YES +COLLABORATION_GRAPH = NO # If the GROUP_GRAPHS tag is set to YES then doxygen will generate a graph for # groups, showing the direct groups dependencies. # The default value is: YES. # This tag requires that the tag HAVE_DOT is set to YES. -GROUP_GRAPHS = YES +GROUP_GRAPHS = NO # If the UML_LOOK tag is set to YES, doxygen will generate inheritance and # collaboration diagrams in a style similar to the OMG's Unified Modeling @@ -2527,7 +2527,7 @@ TEMPLATE_RELATIONS = NO # The default value is: YES. # This tag requires that the tag HAVE_DOT is set to YES. -INCLUDE_GRAPH = YES +INCLUDE_GRAPH = NO # If the INCLUDED_BY_GRAPH, ENABLE_PREPROCESSING and SEARCH_INCLUDES tags are # set to YES then doxygen will generate a graph for each documented file showing @@ -2536,7 +2536,7 @@ INCLUDE_GRAPH = YES # The default value is: YES. # This tag requires that the tag HAVE_DOT is set to YES. -INCLUDED_BY_GRAPH = YES +INCLUDED_BY_GRAPH = NO # If the CALL_GRAPH tag is set to YES then doxygen will generate a call # dependency graph for every global function or class method. @@ -2565,7 +2565,7 @@ CALLER_GRAPH = NO # The default value is: YES. # This tag requires that the tag HAVE_DOT is set to YES. -GRAPHICAL_HIERARCHY = YES +GRAPHICAL_HIERARCHY = NO # If the DIRECTORY_GRAPH tag is set to YES then doxygen will show the # dependencies a directory has on other directories in a graphical way. The @@ -2574,7 +2574,7 @@ GRAPHICAL_HIERARCHY = YES # The default value is: YES. # This tag requires that the tag HAVE_DOT is set to YES. -DIRECTORY_GRAPH = YES +DIRECTORY_GRAPH = NO # The DOT_IMAGE_FORMAT tag can be used to set the image format of the images # generated by dot. diff --git a/tools/doxygen/run_doxygen.sh b/tools/doxygen/run_doxygen.sh index 9bc5aec592..7e222bf4eb 100755 --- a/tools/doxygen/run_doxygen.sh +++ b/tools/doxygen/run_doxygen.sh @@ -36,6 +36,7 @@ cd $(dirname $0)/../.. for i in core c++ core.internal c++.internal do + rm -rf doc/ref/$i mkdir -p doc/ref/$i doxygen tools/doxygen/Doxyfile.$i done -- cgit v1.2.3